@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,
.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
.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: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;
}

/* Share block*/
/* Ribbon style */
/*
Contact form 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: 50px;
  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;
}

.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;
}

/*
Infographics block
 */
/* Video block */
/* Half block */
/* Content block */
/* Download block*/
/* 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 .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 .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;
}

.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;
  margin-top: 50px;
}

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

.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: 260px;
  z-index: 33;
  right: 0;
}

.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: 260px;
  z-index: 33;
  right: 0;
}

.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;
}

@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: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.current {
  background-color: #79722e;
}

.page-box--subpage .page-box__subpage-children .subsection .subsection-content.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: 260px;
  z-index: 33;
  right: 0;
}

.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;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vdG9wLXB1YmxpY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvX3ZhcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvX2ludWl0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL19kZWZhdWx0cy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvZ2VuZXJpYy9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX3Jlc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX3NoYXJlZC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9iYXNlL19tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2Jhc2UvX2hlYWRpbmdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2Jhc2UvX3BhcmFncmFwaHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fc21hbGxwcmludC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9iYXNlL19xdW90ZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fY29kZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9iYXNlL19pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2Jhc2UvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL29iamVjdHMvX2dyaWRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL29iamVjdHMvX25hdi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9vYmplY3RzL19tZWRpYS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL193aWR0aHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvZ2VuZXJpYy9fcHVzaC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL19wdWxsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX2JyYW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX2hlbHBlci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL19kZWJ1Zy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2dsb2JhbHMvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL3BhcnRpYWxzL19wYWdlLWJveC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL3BhcnRpYWxzL190b3AtcHVibGljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9wYXJ0aWFscy9faWNvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9wYXJ0aWFscy9fdGlsZXMtbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvcGFydGlhbHMvX3BhcnRuZXItaW50ZXJ2aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvcGFydGlhbHMvX3RvcC1wdWJsaWNhdGlvbi1zZWN0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzt1Q0RHdUM7QUNBdkM7Ozs7Ozs7RURRRTtBQ0NGOzt1Q0RFdUM7QUNDdkM7Ozs7O0VES0U7QUMwQkY7O3VDRHZCdUM7QUMwQnZDOztFRHZCRTtBQ3dGRjtFQUFtQixhQUFhO0FEckZoQzs7QUNxRkE7RUFDVSxjQUFjO0FEbEZ4Qjs7QUVqQ0E7O3VDRnFDdUM7QUVsQ3ZDOzs7O0VGdUNFO0FFbENGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRjRFRTtBRTdCRjs7dUNGZ0N1QztBRTdCdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VGbUZFO0FFeEJGOzt1Q0YyQnVDO0FFeEJ2Qzs7Ozs7Ozs7Ozs7RUZvQ0U7QUVuQkY7O3VDRnNCdUM7QUVuQnZDOztFRnNCRTtBR2xLRjs7dUNIcUt1QztBR2xLdkM7OztFSHNLRTtBRzdKRjs7dUNIZ0t1QztBRzdKdkM7OztFSGlLRTtBR3ZKRjs7dUNIMEp1QztBR3ZKdkM7OztFSDJKRTtBR2pKRjs7dUNIb0p1QztBR2pKdkM7O0VIb0pFO0FHOUlGOztFSGlKRTtBRzVJRjs7RUgrSUU7QUd0SUY7O3VDSHlJdUM7QUd0SXZDOztFSHlJRTtBR3BJRjs7O0VId0lFO0FHbElGOzs7RUhzSUU7QUdqSUY7O0VIb0lFO0FHMUhGOztFSDZIRTtBR3BIRjs7RUh1SEU7QUczR0Y7O3VDSDhHdUM7QUczR3ZDOztFSDhHRTtBR3pGRjs7dUNINEZ1QztBR3pGdkM7O0VINEZFO0FHdkZGOzs7RUgyRkU7QUdwRkY7O0VIdUZFO0FHM0VGOzt1Q0g4RXVDO0FHM0V2Qzs7RUg4RUU7QUd4RUY7O0VIMkVFO0FHbEVGOzt1Q0hxRXVDO0FHbEV2Qzs7RUhxRUU7QUdyQ0Y7O3VDSHdDdUM7QUdyQ3ZDOzs7O0VIMENFO0FJcFFGOzt1Q0p1UXVDO0FJcFF2Qzs7Ozs7Ozs7RUo2UUU7QUkzUEY7Ozs7Ozs7Ozs7O0VKdVFFO0FJNU9GOzs7OztFSmtQRTtBSW5PRjs7Ozs7Ozs7Ozs7Ozs7RUprUEU7QUk1TUY7Ozs7OztFSm1ORTtBSXBNRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFSnVPRTtBSXZGRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFSmlIRTtBS3JYRjtBQUVBOzsrRUx1WCtFO0FLblgvRTs7RUxzWEU7QUtsWEY7Ozs7Ozs7Ozs7OztFQVlJLGNBQWM7QUxvWGxCOztBS2pYQTs7RUxxWEU7QUtqWEY7OztFQUdJLHFCQUFxQjtBTG1YekI7O0FLaFhBOzs7RUxxWEU7QUtoWEY7RUFDSSxhQUFhO0VBQ2IsU0FBUztBTGtYYjs7QUsvV0E7O0VMbVhFO0FBQ0Y7RUsvV0ksYUFBYTtBTGlYakI7O0FLOVdBOzsrRUxrWCtFO0FLOVcvRTs7OztFTG1YRTtBSzdXRjtFQUNJLHVCQUF1QjtFQUFFO0VBQ3pCLDhCQUE4QjtFQUFFO0VBQ2hDLDBCQUEwQjtFQUFFO0FMa1hoQzs7QUsvV0E7O0VMbVhFO0FLL1dGO0VBQ0ksU0FBUztBTGlYYjs7QUs5V0E7OytFTGtYK0U7QUs5Vy9FOztFTGlYRTtBSzdXRjtFQUNJLG9CQUFvQjtBTCtXeEI7O0FLNVdBOztFTGdYRTtBSzVXRjs7RUFFSSxVQUFVO0FMOFdkOztBSzNXQTs7K0VMK1crRTtBSzNXL0U7OztFTCtXRTtBSzFXRjtFQUNJLGNBQWM7RUFDZCxnQkFBZ0I7QUw0V3BCOztBS3pXQTs7RUw2V0U7QUt6V0Y7RUFDSSx5QkFBeUI7QUwyVzdCOztBS3hXQTs7RUw0V0U7QUt4V0Y7O0VBRUksZ0JBQWdCO0FMMFdwQjs7QUt2V0E7O0VMMldFO0FLdldGO0VBQ0ksa0JBQWtCO0FMeVd0Qjs7QUt0V0E7O0VMMFdFO0FLdFdGO0VBQ0ksNEJBQTRCO0VBQzVCLHVCQUF1QjtFQUN2QixTQUFTO0FMd1diOztBS3JXQTs7RUx5V0U7QUtyV0Y7RUFDSSxnQkFBZ0I7RUFDaEIsV0FBVztBTHVXZjs7QUtwV0E7O0VMd1dFO0FLcFdGOzs7O0VBSUksNkJBQTZCO0VBQzdCLGNBQWM7QUxzV2xCOztBS25XQTs7RUx1V0U7QUtuV0Y7RUFDSSxxQkFBcUI7QUxxV3pCOztBS2xXQTs7RUxzV0U7QUtsV0Y7RUFDSSx1Q0FBdUM7QUxvVzNDOztBS2pXQTs7RUxxV0U7QUtqV0Y7RUFDSSxjQUFjO0FMbVdsQjs7QUtoV0E7O0VMb1dFO0FLaFdGOztFQUVJLGNBQWM7RUFDZCxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHdCQUF3QjtBTGtXNUI7O0FLL1ZBO0VBQ0ksV0FBVztBTGtXZjs7QUsvVkE7RUFDSSxlQUFlO0FMa1duQjs7QUsvVkE7OytFTG1XK0U7QUsvVi9FOztFTGtXRTtBSzlWRjtFQUNJLFNBQVM7QUxnV2I7O0FLN1ZBOztFTGlXRTtBSzdWRjtFQUNJLGdCQUFnQjtBTCtWcEI7O0FLNVZBOzsrRUxnVytFO0FLNVYvRTs7RUwrVkU7QUszVkY7RUFDSSxTQUFTO0FMNlZiOztBSzFWQTs7K0VMOFYrRTtBSzFWL0U7O0VMNlZFO0FLelZGO0VBQ0kseUJBQXlCO0VBQ3pCLGFBQWE7RUFDYiw4QkFBOEI7QUwyVmxDOztBS3hWQTs7O0VMNlZFO0FLeFZGO0VBQ0ksU0FBUztFQUFFO0VBQ1gsVUFBVTtFQUFFO0FMNFZoQjs7QUt6VkE7Ozs7RUwrVkU7QUt6VkY7Ozs7RUFJSSxvQkFBb0I7RUFBRTtFQUN0QixlQUFlO0VBQUU7RUFDakIsU0FBUztFQUFFO0FMOFZmOztBSzNWQTs7O0VMZ1dFO0FLM1ZGOztFQUVJLG1CQUFtQjtBTDZWdkI7O0FLMVZBOzs7OztFTGlXRTtBSzFWRjs7RUFFSSxvQkFBb0I7QUw0VnhCOztBS3pWQTs7Ozs7O0VMaVdFO0FLelZGOzs7O0VBSUksMEJBQTBCO0VBQUU7RUFDNUIsZUFBZTtFQUFFO0FMNlZyQjs7QUsxVkE7O0VMOFZFO0FLMVZGOzs7RUFHSSxlQUFlO0FMNFZuQjs7QUt6VkE7OztFTDhWRTtBS3pWRjs7RUFFSSxzQkFBc0I7RUFBRTtFQUN4QixVQUFVO0VBQUU7QUw2VmhCOztBSzFWQTs7OztFTGdXRTtBSzFWRjtFQUNJLDZCQUE2QjtFQUFFO0VBQy9CLDRCQUE0QjtFQUM1QiwrQkFBK0I7RUFBRTtFQUNqQyx1QkFBdUI7QUw4VjNCOztBSzNWQTs7O0VMZ1dFO0FLM1ZGOztFQUVJLHdCQUF3QjtBTDZWNUI7O0FLMVZBOztFTDhWRTtBSzFWRjs7RUFFSSxTQUFTO0VBQ1QsVUFBVTtBTDRWZDs7QUt6VkE7OztFTDhWRTtBS3pWRjtFQUNJLGNBQWM7RUFBRTtFQUNoQixtQkFBbUI7RUFBRTtBTDZWekI7O0FLMVZBOzsrRUw4VitFO0FLMVYvRTs7RUw2VkU7QUt6VkY7RUFDSSx5QkFBeUI7RUFDekIsaUJBQWlCO0FMMlZyQjs7QU10dUJBOzt1Q04wdUJ1QztBTXZ1QnZDOzs7RU4ydUJFO0FNcnVCRTs7S053dUJDO0FNcnVCRDtFRjJDQSw4QkV2QzhDO0VGd0MzQywyQkV4QzJDO0VGeUMxQywwQkV6QzBDO0VGMEN6Qyx5QkUxQ3lDO0VGMkN0QyxzQkUzQ3NDO0FOd3VCbEQ7O0FNbnVCQTs7RU51dUJFO0FNcHVCRjs7Ozs7O0VBTUksU0FBUTtFQUNSLFVBQVM7QU5zdUJiOztBTW51QkE7O0VOdXVCRTtBTXB1QkY7RUFDSSxZQUFXO0FOc3VCZjs7QU1udUJBOztFTnV1QkU7QU1wdUJGO0VBQ0kscUJBQW9CO0FOc3VCeEI7O0FNbnVCQTs7RU51dUJFO0FNcHVCRjtFQUNJLHdCQUF1QjtBTnN1QjNCOztBTW51QkE7O0VOdXVCRTtBS2xrQkY7RUNqS0ksa0JBQWlCO0FOc3VCckI7O0FNbnVCQTs7RU51dUJFO0FNcHVCRjs7Ozs7O0VBTUksZUFBYztBTnN1QmxCOztBTXB1Qkk7Ozs7RUFJSSxZQUFXO0VBQ1gsYUFBWTtBTnV1QnBCOztBT3J6QkE7O3VDUHl6QnVDO0FPdHpCdkM7Ozs7RVAyekJFO0FPdHpCRjtFQUVRLFdBQVU7RUFDVixjQUFhO0VBQ2IsV0FBVTtBUHV6QmxCOztBUW4wQkE7O3VDUnUwQnVDO0FRcDBCdkM7Ozs7RVJ5MEJFO0FRcDBCRjs7RVJ1MEJFO0FRcDBCRjs7Ozs7Ozs7OztFQWFJLG1CUCtIbUI7RU85SG5CLHFCQUF5RDtBUm0wQjdEOztBUWowQkk7Ozs7Ozs7OztFQUNJLG1CQUFvQztFQUNwQyxzQkFBK0Q7QVI0MEJ2RTs7QVF2MEJBOztFUjIwQkU7QVF4MEJGO0VBQ0ksbUJBQW9DO0VBQ3BDLG1CQUE2RDtBUjAwQmpFOztBUXQwQkE7OztFUjIwQkU7QUt6dUJGO0VHN0ZJLG1CQUFzQztFQUN0Qyx1QkFBaUU7QVJ5MEJyRTs7QVFyMEJBOzs7RVIwMEJFO0FRdDBCRjtFQUNJLGlCQUFrQztFQUNsQyxpQkFBMkQ7QVJ3MEIvRDs7QUV6dUJBOztFRjZ1QkU7QVN2NEJGOzt1Q1QwNEJ1QztBSzMwQnZDO0VJM0RJLHdCTjhDMEI7RU03QzFCLGtCQUFpQjtFQUNqQixnQkFBZTtFQUNmLFlBQVk7RUFDWixrQkFBa0I7QVR5NEJ0Qjs7QVVqNUJBOzt1Q1ZxNUJ1QztBVWw1QnZDOzs7Ozs7RVZ5NUJFO0FVbDVCRjtFTkdJLGVENEdvQjtFQzNHcEIsa0JBQTZDO0VBRXpDLG9CQUFnQjtBSmk1QnhCOztBVXA1QkE7RU5BSSxlRDZHb0I7RUM1R3BCLG1CQUE2QztFQUV6QyxnQkFBZ0I7QUp1NUJ4Qjs7QVV2NUJBO0VOSEksZUQ4R29CO0VDN0dwQixpQkFBNkM7RUFFekMsY0FBZ0I7QUo2NUJ4Qjs7QVUxNUJBO0VOTkksZUQrR29CO0VDOUdwQixrQkFBNkM7RUFFekMsZ0JBQWdCO0FKbTZCeEI7O0FVNzVCQTtFTlRJLGVEZ0hvQjtFQy9HcEIsZUFBNkM7RUFFekMsZ0JBQWdCO0FKeTZCeEI7O0FVaDZCQTtFTlpJLGVEaUhvQjtFQ2hIcEIsbUJBQTZDO0VBRXpDLG9CQUFnQjtBSis2QnhCOztBVWo2QkE7Ozs7Ozs7OztFVjQ2QkU7QVVoNkJGO0VBQ0ksZ0JBQWU7QVZrNkJuQjs7QVU5NUJBOzs7RVZtNkJFO0FVLzVCRjtFTnRDSSxlRHdHb0I7RUN2R3BCLGVBQTZDO0VBRXpDLGNBQWdCO0FKdThCeEI7O0FVajZCQTtFTnpDSSxlRHlHb0I7RUN4R3BCLGlCQUE2QztFQUV6QyxjQUFnQjtBSjY4QnhCOztBVXA2QkE7RU41Q0ksZUQwR29CO0VDekdwQixlQUE2QztFQUV6QyxjQUFnQjtBSm05QnhCOztBV24rQkE7O3VDWHUrQnVDO0FXcCtCdkM7OztFWHcrQkU7QVdwK0JGOztFUE1JLGVPSjBDO0VQSzFDLG1CQUE2QztFQUV6QyxvQkFBZ0I7QUppK0J4Qjs7QVlqL0JBOzt1Q1pxL0J1QztBWWwvQnZDOztFWnEvQkU7QVlsL0JGOztFUk9JLGVEbUhvQjtFQ2xIcEIsa0JBQTZDO0VBRXpDLGNBQWdCO0FKOCtCeEI7O0FZcC9CQTtFUkdJLGVEb0hvQjtFQ25IcEIsbUJBQTZDO0VBRXpDLGdCQUFnQjtBSm8vQnhCOztBYXBnQ0E7O3VDYndnQ3VDO0FhcmdDdkM7O0Vid2dDRTtBYS8vQkY7O0Via2dDRTtBYTkvQkY7O0ViaWdDRTtBSzcxQkY7RVFoS0ksdUJBQXdDO0FiZ2dDNUM7O0FhamdDQTtFQUlRLGdCQUFlO0VBQ2YsbUJBQWtCO0FiaWdDMUI7O0FhdGdDQTtFQVFRLGdCQUFlO0VBQ2Ysb0JBQW1CO0Fia2dDM0I7O0FhM2dDQTtFQWFRLGdCQUFlO0VBQ2YsbUJBQWtCO0Fia2dDMUI7O0FhaGhDQTtFQWlCUSxnQkFBZTtFQUNmLG9CQUFtQjtBYm1nQzNCOztBYS8vQkE7RUFDSSxlQUF3QjtBYmtnQzVCOztBYW5nQ0E7RUFJUSxZQUFRO0VBQ1IsbUJBQWtCO0FibWdDMUI7O0FheGdDQTtFQVFRLFdBQVU7RUFDVix1QkFBc0I7QWJvZ0M5Qjs7QWE3Z0NBO0VBWVEsWUFBUTtFQUNSLG9CQUFtQjtBYnFnQzNCOztBYWxoQ0E7RUFpQlEsZ0JBQWU7RUFDZixtQkFBa0I7QWJxZ0MxQjs7QWF2aENBO0VBcUJRLGdCQUFlO0VBQ2Ysb0JBQW1CO0Fic2dDM0I7O0FhamdDQTs7Ozs7Ozs7RWIyZ0NFO0FhdGlDRjtFQXFDSTs7TWJxZ0NFO0VhbGdDRixvQkFBbUI7QWJvZ0N2Qjs7QWF4Z0NBO0VBT1EsZ0JBQWU7QWJxZ0N2Qjs7QWFqZ0NBO0VBQ0ksY0FBYTtFQUNiLGNBQWE7QWJvZ0NqQjs7QWF0Z0NBO0VBS1EsZ0JBQWU7QWJxZ0N2Qjs7QWNsbUNBOzt1Q2RzbUN1QztBY25tQ3ZDOztFZHNtQ0U7QUs3N0JGO0VTcktJLGNBQWE7QWRxbUNqQjs7QWNubUNJO0VBQ0ksZ0JBQWU7RUFDZix3QkFBdUI7RUFDdkIsY0FBYTtBZHNtQ3JCOztBY2xtQ0E7Ozs7O0VkeW1DRTtBY25tQ0Y7RUFDSTs7TWRzbUNFO0Vjbm1DRixhQUFZO0VBQ1oseUJBQXdCO0FkcW1DNUI7O0Fjam1DQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0Vkd25DRTtBY2xtQ0Y7RUFDSSw2QkFBNEI7RUFBWTtFQUN4Qyx1Q0FBc0M7RUFBRTtFQUN4QyxtQkFBa0I7RUFBc0I7RUFDeEMsY0FBYTtFQUEyQjtFQUN4QyxjQUFhO0Fkd21DakI7O0FjdG1DSTtFQUNJLGdCQUFlO0VBQXFCO0FkMG1DNUM7O0FldnFDQTs7dUNmMnFDdUM7QWV4cUN2Qzs7RWYycUNFO0FleHFDRjs7RWYycUNFO0FLcjlCRjtFVWxOSSxlQUFjO0FmMHFDbEI7O0FldHFDQTs7RWYwcUNFO0FldnFDRjs7RUFFSSxlQUFjO0FmeXFDbEI7O0FlcnFDQTs7RWZ5cUNFO0FldHFDRjtFQUFjLGtCWm9KVTtBSHFoQ3hCOztBZXRxQ0E7O0VmMHFDRTtBZXZxQ0Y7RUFDSSxZQUFXO0VBQ1gsbUJkcUhtQjtFY3BIbkIsaUJkb0htQjtBRHFqQ3ZCOztBZXZxQ0E7RUFDSSxXQUFVO0VBQ1Ysa0JkZ0htQjtFYy9HbkIsbUJkK0dtQjtBRDJqQ3ZCOztBZXhxQ0E7RUFDSSxjQUFhO0VBQ2Isa0JBQWlCO0VBQ2pCLG1CZDBHbUI7RWN6R25CLGlCQUFnQjtBZjJxQ3BCOztBZXZxQ0E7Ozs7O0VmOHFDRTtBZXhxQ0Y7RUFDSSxhQUE2QjtBZjBxQ2pDOztBZXhxQ0E7RUFDSSxhQUE4QjtBZjJxQ2xDOztBZXpxQ0E7RUFDSSxhQUE4QjtBZjRxQ2xDOztBZXhxQ0E7O0VmNHFDRTtBZXpxQ0Y7RUFDSSxjQUFhO0FmMnFDakI7O0FnQmx2Q0E7O3VDaEJzdkN1QztBZ0JudkN2Qzs7RWhCc3ZDRTtBZ0JudkNGOztFQUdTLGdCQUFlO0FoQm92Q3hCOztBZ0JodkNBOztFaEJvdkNFO0FnQmp2Q0Y7QUFBTTtFQUNGLHdCQUF1QjtBaEJvdkMzQjs7QWlCcndDQTs7dUNqQnl3Q3VDO0FpQnR3Q3ZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFakI0ekNFO0FLdDdCRjtFWS9VSSxXQUFVO0FqQnd3Q2Q7O0FpQnR3Q0E7O0VBRUksWUFBOEI7RUFJOUIsZ0JBQWU7QWpCc3dDbkI7O0FpQnp3Q0k7RUFISjs7SUFJUSxhZGdLa0M7RUg4bUN4QztBQUNGOztBaUJ6d0NBOztFakI2d0NFO0FBQ0Y7RWlCMXdDSSxrQkFBaUI7QWpCNHdDckI7O0FBRUE7RWlCM3dDSSxnQkFBZTtBakI2d0NuQjs7QUFFQTtFaUI1d0NJLHNCQUFxQjtBakI4d0N6Qjs7QUFFQTtFaUI3d0NJLG1CQUFrQjtBakIrd0N0Qjs7QWlCN3dDQTtFQUNJLGlCQUFnQjtBakJneENwQjs7QWlCN3dDQTs7Ozs7RWpCb3hDRTtBaUI5d0NGO0VBQVUsU0FBVTtBakJpeENwQjs7QWlCaHhDQTtFQUFVLFVBQVU7QWpCb3hDcEI7O0FpQm54Q0E7RUFBVSxZQUFZO0FqQnV4Q3RCOztBaUJ2eEM0QjtBQUM1QjtFQUFVLFVBQVU7QWpCMnhDcEI7O0FpQjF4Q0E7RUFBVSxVQUFVO0FqQjh4Q3BCOztBaUI3eENBO0VBQVUsVUFBVTtBakJpeUNwQjs7QWlCanlDNEI7QUFDNUI7RUFBVSxVQUFVO0FqQnF5Q3BCOztBaUJweUNBO0VBQVUsY0FBYztBakJ3eUN4Qjs7QWlCeHlDNEI7QUFDNUI7RUFBVSxVQUFVO0FqQjR5Q3BCOztBaUIzeUNBO0VBQVUsWUFBWTtBakIreUN0Qjs7QWlCL3lDNEI7QUFDNUI7RUFBVSxVQUFVO0FqQm16Q3BCOztBaUJsekNBO0VBQVUsVUFBVTtBakJzekNwQjs7QWlCcnpDQTtFQUFVLFVBQVU7QWpCeXpDcEI7O0FpQnp6QzRCO0FBQzVCO0VBQVUsVUFBVTtBakI2ekNwQjs7QWlCNXpDQTtFQUFVLFVBQVU7QWpCZzBDcEI7O0FpQi96Q0E7RUFBVSxZQUFZO0FqQm0wQ3RCOztBaUJuMEM0QjtBQUM1QjtFQUFVLFVBQVU7QWpCdTBDcEI7O0FpQnQwQ0E7RUFBVSxjQUFjO0FqQjAwQ3hCOztBaUIxMEM0QjtBQUM1QjtFQUFVLFVBQVU7QWpCODBDcEI7O0FpQjcwQ0E7RUFBVSxVQUFVO0FqQmkxQ3BCOztBaUJqMUM0QjtBQUM1QjtFQUFVLFVBQVU7QWpCcTFDcEI7O0FpQnAxQ0E7RUFBVSxVQUFVO0FqQncxQ3BCOztBaUJ2MUNBO0VBQVUsWUFBWTtBakIyMUN0Qjs7QWlCMzFDNEI7QUFDNUI7RUFBVSxVQUFVO0FqQisxQ3BCOztBaUI5MUNBO0VBQVUsVUFBVTtBakJrMkNwQjs7QWlCLzFDQTs7RWpCbTJDRTtBaUJoMkNGOztFQUlRLHNCZDFFZ0I7QUgwNkN4Qjs7QWlCcDJDQTs7RUFPWSxZQUFXO0FqQmsyQ3ZCOztBaUJ6MkNBO0VBWVEsd0JBQXVCO0FqQmkyQy9COztBaUI3MkNBO0VBZ0JRLHVCQUFzQjtBakJpMkM5Qjs7QWlCNTFDQTs7RWpCZzJDRTtBaUI3MUNGO0VBR1Esc0JBQXFCO0VBQUU7QWpCODFDL0I7O0FpQnoxQ0E7O0VqQjYxQ0U7QWlCMTFDRjtFQUNJLHlCQUF3QjtBakI0MUM1Qjs7QWtCNy9DQTs7dUNsQmlnRHVDO0FrQjkvQ3ZDOzs7O0VsQm1nREU7QUsxd0NGO0VhblBJLGFqQjhJbUI7QURrM0N2Qjs7QWtCNS9DQTs7Ozs7Ozs7O0VsQnVnREU7QWtCNy9DRjs7RUFFSTs7TWxCZ2dERTtBQUNOOztBa0IzL0NBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7RWxCK2dERTtBa0I1L0NGO0VBQ0ksZ0JBQWU7RUFDZixTQUFRO0FsQjgvQ1o7O0FrQnovQ0k7RUFDSSxnQkFBZTtBbEI0L0N2Qjs7QWtCeC9DQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFbEJtaERFO0FrQnovQ0Y7O0VBRUksY0FBYTtBbEIyL0NqQjs7QWtCei9DSTs7Ozs7TWxCZ2dERTtBa0IxL0NGO0VBQ0ksY0FBYTtFQUNiLG1CQUFrQjtBbEI0L0MxQjs7QWtCeC9DQTs7Ozs7Ozs7Ozs7Ozs7RWxCd2dERTtBa0J6L0NGO0VBQ0ksZ0JBQWU7RUFDZixTQUFRO0FsQjIvQ1o7O0FrQnovQ0k7O01sQjYvQ0U7QWtCMS9DRjs7O0VBR0kscUJBQW9CO0FsQjQvQzVCOztBa0J4L0NBOzs7Ozs7Ozs7Ozs7OztFbEJ3Z0RFO0FrQnovQ0Y7RUFDSSxxQkFBb0I7RUFDcEIsYUFBWTtBbEIyL0NoQjs7QWtCdi9DQTs7Ozs7Ozs7Ozs7RWxCb2dERTtBa0J4L0NGO0FBQVM7RUFDTCxxQkFBb0I7RUFDcEIsa0JBQWlCO0FsQjIvQ3JCOztBa0J6L0NBOztFQUVJLG1CQUFrQjtBbEI0L0N0Qjs7QUU1L0NBOztFRmdnREU7QW1CMXFERjs7dUNuQjZxRHVDO0FtQjFxRHZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFbkJ3c0RFO0FtQnhxREY7O0VuQjJxREU7QW1CeHFERjtFQUNJLGtCbEI4R21CO0VrQjdHbkIsZ0JBQWU7RUFDZixnQkFBZTtBbkIwcURuQjs7QW1CdHFESTs7TW5CMHFERTtBbUJ2cURGO0VBQ0ksY0FBYTtBbkJ5cURyQjs7QW1CcnFESTs7TW5CeXFERTtBbUJ0cURGO0VBQ0kscUJBQW9CO0VBQ3BCLFdBQVU7RUFDVixrQmxCMEZlO0VrQnpGZixtQkFBa0I7QW5Cd3FEMUI7O0FvQnB1REE7O3VDcEJ3dUR1QztBb0JydUR2Qzs7Ozs7Ozs7Ozs7Ozs7RXBCb3ZERTtBb0JydURGO0VBQ0ksZ0JBQWU7RUFDZixjQUFhO0FwQnV1RGpCOztBb0J6dURBOztFQVNZLHFCQUFvQjtHQUNyQixlQUFlO0VBQ2QsT0FBTTtBcEJxdURsQjs7QW9CL3REQTs7Ozs7Ozs7OztFcEIydURFO0FvQmh1REY7RUFHUSxrQkFBaUI7QXBCZ3VEekI7O0FvQm51REE7RUFNWSxjQUFhO0FwQml1RHpCOztBb0IzdERBOzs7Ozs7Ozs7O0VwQnV1REU7QW9CNXRERjtFQUNJLGtCQUFpQjtBcEI4dERyQjs7QW9CMXREQTs7Ozs7Ozs7OztFcEJzdURFO0FvQjN0REY7RUFDSSxjQUFhO0VBQ2I7O01wQjh0REU7RW9CM3RERix1QkFBc0I7RUFDdEIscUJBQW9CO0VBQ3BCLG1CQUFrQjtBcEI2dER0Qjs7QW9CcHVEQTtFQVVRLHNCQUFxQjtFQUNyQixvQkFBbUI7QXBCOHREM0I7O0FvQnp1REE7RUFjWSxhakIySDhCO0FIb21EMUM7O0FvQnp0REE7Ozs7Ozs7Ozs7OztFcEJ1dURFO0FvQjF0REY7RUFDSSxjQUFhO0VBQ2IsV0FBVTtBcEI0dERkOztBb0I5dERBO0VBS1EsbUJBQWtCO0FwQjZ0RDFCOztBb0JsdURBO0VBUVksY0FBYTtBcEI4dER6Qjs7QW9CeHREQTs7Ozs7RXBCK3RERTtBb0J6dERGO0VBS1ksd0JBQXVCO0FwQnV0RG5DOztBb0I1dERBO0VBU1ksYUFBWTtBcEJ1dER4Qjs7QXFCMTJEQTs7dUNyQjgyRHVDO0FxQjMyRHZDOzs7Ozs7Ozs7Ozs7O0VyQnkzREU7QXFCMzJERjtFQUNJLGNBQWE7QXJCNjJEakI7O0FxQjEyREk7RUFDSSxXQUFVO0VBQ1Ysa0JwQjhIZTtBRCt1RHZCOztBcUIzMkRJOztNckIrMkRFO0FxQjUyREY7RUFDSSxZQUFXO0VBQ1gsaUJwQnVIZTtBRHV2RHZCOztBcUIzMkRROztFQUVJLGNBQWE7QXJCODJEekI7O0FxQjMyREk7RUFDSSxnQkFBZTtBckI4MkR2Qjs7QXFCNTJEUTs7RUFFSSxnQkFBZTtBckIrMkQzQjs7QXFCMzJESTs7TXJCKzJERTtBcUI1MkRGO0VBQ0ksa0JsQjJLa0M7QUhtc0QxQzs7QXFCNTJESTtFQUNJLGlCbEJ3S2tDO0FIdXNEMUM7O0FFM3REQTs7RUYrdERFO0FzQjM2REY7O3VDdEI4NkR1QztBc0IzNkR2Qzs7Ozs7OztFdEJtN0RFO0FzQno2REU7O0t0QjQ2REM7QXNCejZERDtFQUFrQyxXQUFVO0F0QjQ2RGhEOztBc0J6NkRJOztLdEI2NkRDO0FzQjE2REQ7RUFBa0MsVUFBUztBdEI2NkQvQzs7QXNCMTZESTs7S3RCODZEQztBc0IzNkREO0VBQWtDLGNBQWE7QXRCODZEbkQ7O0FzQjc2REk7RUFBa0MsY0FBYTtBdEJpN0RuRDs7QXNCOTZESTs7S3RCazdEQztBc0IvNkREO0VBQWtDLFVBQVM7QXRCazdEL0M7O0FzQmg3REk7RUFBa0MsVUFBUztBdEJvN0QvQzs7QXNCajdESTs7S3RCcTdEQztBc0JsN0REO0VBQWtDLFVBQVM7QXRCcTdEL0M7O0FzQnA3REk7RUFBa0MsVUFBUztBdEJ3N0QvQzs7QXNCdjdESTtFQUFrQyxVQUFTO0F0QjI3RC9DOztBc0IxN0RJO0VBQWtDLFVBQVM7QXRCODdEL0M7O0FzQjM3REk7O0t0Qis3REM7QXNCNTdERDtFQUFrQyxjQUFhO0F0Qis3RG5EOztBc0IzN0RJO0VBQWtDLGNBQWE7QXRCKzdEbkQ7O0FzQjU3REk7O0t0Qmc4REM7QXNCNzdERDtFQUFrQyxZQUFXO0F0Qmc4RGpEOztBc0I5N0RJO0VBQWtDLFlBQVc7QXRCazhEakQ7O0FzQmg4REk7RUFBa0MsWUFBVztBdEJvOERqRDs7QXNCbDhESTtFQUFrQyxZQUFXO0F0QnM4RGpEOztBc0JuOERJOztLdEJ1OERDO0FzQnA4REQ7RUFBa0MsVUFBUztBdEJ1OEQvQzs7QXNCcjhESTtFQUFrQyxVQUFTO0F0Qnk4RC9DOztBc0JyOERJO0VBQWtDLFVBQVM7QXRCeThEL0M7O0FzQnY4REk7RUFBa0MsVUFBUztBdEIyOEQvQzs7QXNCeDhESTs7S3RCNDhEQztBc0J6OEREO0VBQWtDLGFBQVk7QXRCNDhEbEQ7O0FzQng4REk7RUFBa0MsY0FBYztBdEI0OERwRDs7QXNCMThESTtFQUFrQyxjQUFhO0F0Qjg4RG5EOztBc0IxOERJO0VBQWtDLGNBQWE7QXRCODhEbkQ7O0FzQnY4REE7Ozs7Ozs7Ozs7Ozs7RXRCczlERTtBSTN4RE07RWtCdlJKOztLdEJzakVDO0VzQm5qRUQ7SUFBa0MsV0FBVTtFdEJzakU5QztFc0JuakVFOztLdEJzakVDO0VzQm5qRUQ7SUFBa0MsVUFBUztFdEJzakU3QztFc0JuakVFOztLdEJzakVDO0VzQm5qRUQ7SUFBa0MsY0FBYTtFdEJzakVqRDtFc0JyakVFO0lBQWtDLGNBQWE7RXRCd2pFakQ7RXNCcmpFRTs7S3RCd2pFQztFc0JyakVEO0lBQWtDLFVBQVM7RXRCd2pFN0M7RXNCdGpFRTtJQUFrQyxVQUFTO0V0QnlqRTdDO0VzQnRqRUU7O0t0QnlqRUM7RXNCdGpFRDtJQUFrQyxVQUFTO0V0QnlqRTdDO0VzQnhqRUU7SUFBa0MsVUFBUztFdEIyakU3QztFc0IxakVFO0lBQWtDLFVBQVM7RXRCNmpFN0M7RXNCNWpFRTtJQUFrQyxVQUFTO0V0QitqRTdDO0VzQjVqRUU7O0t0QitqRUM7RXNCNWpFRDtJQUFrQyxjQUFhO0V0QitqRWpEO0VzQjNqRUU7SUFBa0MsY0FBYTtFdEI4akVqRDtFc0IzakVFOztLdEI4akVDO0VzQjNqRUQ7SUFBa0MsWUFBVztFdEI4akUvQztFc0I1akVFO0lBQWtDLFlBQVc7RXRCK2pFL0M7RXNCN2pFRTtJQUFrQyxZQUFXO0V0QmdrRS9DO0VzQjlqRUU7SUFBa0MsWUFBVztFdEJpa0UvQztFc0I5akVFOztLdEJpa0VDO0VzQjlqRUQ7SUFBa0MsVUFBUztFdEJpa0U3QztFc0IvakVFO0lBQWtDLFVBQVM7RXRCa2tFN0M7RXNCOWpFRTtJQUFrQyxVQUFTO0V0QmlrRTdDO0VzQi9qRUU7SUFBa0MsVUFBUztFdEJra0U3QztFc0IvakVFOztLdEJra0VDO0VzQi9qRUQ7SUFBa0MsYUFBWTtFdEJra0VoRDtFc0I5akVFO0lBQWtDLGNBQWM7RXRCaWtFbEQ7RXNCL2pFRTtJQUFrQyxjQUFhO0V0QmtrRWpEO0VzQjlqRUU7SUFBa0MsY0FBYTtFdEJpa0VqRDtBQUNGOztBSTEzRFE7RWtCN1JKOztLdEI0cEVDO0VzQnpwRUQ7SUFBa0MsV0FBVTtFdEI0cEU5QztFc0J6cEVFOztLdEI0cEVDO0VzQnpwRUQ7SUFBa0MsVUFBUztFdEI0cEU3QztFc0J6cEVFOztLdEI0cEVDO0VzQnpwRUQ7SUFBa0MsY0FBYTtFdEI0cEVqRDtFc0IzcEVFO0lBQWtDLGNBQWE7RXRCOHBFakQ7RXNCM3BFRTs7S3RCOHBFQztFc0IzcEVEO0lBQWtDLFVBQVM7RXRCOHBFN0M7RXNCNXBFRTtJQUFrQyxVQUFTO0V0QitwRTdDO0VzQjVwRUU7O0t0QitwRUM7RXNCNXBFRDtJQUFrQyxVQUFTO0V0QitwRTdDO0VzQjlwRUU7SUFBa0MsVUFBUztFdEJpcUU3QztFc0JocUVFO0lBQWtDLFVBQVM7RXRCbXFFN0M7RXNCbHFFRTtJQUFrQyxVQUFTO0V0QnFxRTdDO0VzQmxxRUU7O0t0QnFxRUM7RXNCbHFFRDtJQUFrQyxjQUFhO0V0QnFxRWpEO0VzQmpxRUU7SUFBa0MsY0FBYTtFdEJvcUVqRDtFc0JqcUVFOztLdEJvcUVDO0VzQmpxRUQ7SUFBa0MsWUFBVztFdEJvcUUvQztFc0JscUVFO0lBQWtDLFlBQVc7RXRCcXFFL0M7RXNCbnFFRTtJQUFrQyxZQUFXO0V0QnNxRS9DO0VzQnBxRUU7SUFBa0MsWUFBVztFdEJ1cUUvQztFc0JwcUVFOztLdEJ1cUVDO0VzQnBxRUQ7SUFBa0MsVUFBUztFdEJ1cUU3QztFc0JycUVFO0lBQWtDLFVBQVM7RXRCd3FFN0M7RXNCcHFFRTtJQUFrQyxVQUFTO0V0QnVxRTdDO0VzQnJxRUU7SUFBa0MsVUFBUztFdEJ3cUU3QztFc0JycUVFOztLdEJ3cUVDO0VzQnJxRUQ7SUFBa0MsYUFBWTtFdEJ3cUVoRDtFc0JwcUVFO0lBQWtDLGNBQWM7RXRCdXFFbEQ7RXNCcnFFRTtJQUFrQyxjQUFhO0V0QndxRWpEO0VzQnBxRUU7SUFBa0MsY0FBYTtFdEJ1cUVqRDtBQUNGOztBSTE5RFE7RWtCblNKOztLdEJrd0VDO0VzQi92RUQ7SUFBa0MsV0FBVTtFdEJrd0U5QztFc0IvdkVFOztLdEJrd0VDO0VzQi92RUQ7SUFBa0MsVUFBUztFdEJrd0U3QztFc0IvdkVFOztLdEJrd0VDO0VzQi92RUQ7SUFBa0MsY0FBYTtFdEJrd0VqRDtFc0Jqd0VFO0lBQWtDLGNBQWE7RXRCb3dFakQ7RXNCandFRTs7S3RCb3dFQztFc0Jqd0VEO0lBQWtDLFVBQVM7RXRCb3dFN0M7RXNCbHdFRTtJQUFrQyxVQUFTO0V0QnF3RTdDO0VzQmx3RUU7O0t0QnF3RUM7RXNCbHdFRDtJQUFrQyxVQUFTO0V0QnF3RTdDO0VzQnB3RUU7SUFBa0MsVUFBUztFdEJ1d0U3QztFc0J0d0VFO0lBQWtDLFVBQVM7RXRCeXdFN0M7RXNCeHdFRTtJQUFrQyxVQUFTO0V0QjJ3RTdDO0VzQnh3RUU7O0t0QjJ3RUM7RXNCeHdFRDtJQUFrQyxjQUFhO0V0QjJ3RWpEO0VzQnZ3RUU7SUFBa0MsY0FBYTtFdEIwd0VqRDtFc0J2d0VFOztLdEIwd0VDO0VzQnZ3RUQ7SUFBa0MsWUFBVztFdEIwd0UvQztFc0J4d0VFO0lBQWtDLFlBQVc7RXRCMndFL0M7RXNCendFRTtJQUFrQyxZQUFXO0V0QjR3RS9DO0VzQjF3RUU7SUFBa0MsWUFBVztFdEI2d0UvQztFc0Ixd0VFOztLdEI2d0VDO0VzQjF3RUQ7SUFBa0MsVUFBUztFdEI2d0U3QztFc0Izd0VFO0lBQWtDLFVBQVM7RXRCOHdFN0M7RXNCMXdFRTtJQUFrQyxVQUFTO0V0QjZ3RTdDO0VzQjN3RUU7SUFBa0MsVUFBUztFdEI4d0U3QztFc0Izd0VFOztLdEI4d0VDO0VzQjN3RUQ7SUFBa0MsYUFBWTtFdEI4d0VoRDtFc0Ixd0VFO0lBQWtDLGNBQWM7RXRCNndFbEQ7RXNCM3dFRTtJQUFrQyxjQUFhO0V0Qjh3RWpEO0VzQjF3RUU7SUFBa0MsY0FBYTtFdEI2d0VqRDtBQUNGOztBSTFqRVE7RWtCelNKOztLdEJ3MkVDO0VzQnIyRUQ7SUFBa0MsV0FBVTtFdEJ3MkU5QztFc0JyMkVFOztLdEJ3MkVDO0VzQnIyRUQ7SUFBa0MsVUFBUztFdEJ3MkU3QztFc0JyMkVFOztLdEJ3MkVDO0VzQnIyRUQ7SUFBa0MsY0FBYTtFdEJ3MkVqRDtFc0J2MkVFO0lBQWtDLGNBQWE7RXRCMDJFakQ7RXNCdjJFRTs7S3RCMDJFQztFc0J2MkVEO0lBQWtDLFVBQVM7RXRCMDJFN0M7RXNCeDJFRTtJQUFrQyxVQUFTO0V0QjIyRTdDO0VzQngyRUU7O0t0QjIyRUM7RXNCeDJFRDtJQUFrQyxVQUFTO0V0QjIyRTdDO0VzQjEyRUU7SUFBa0MsVUFBUztFdEI2MkU3QztFc0I1MkVFO0lBQWtDLFVBQVM7RXRCKzJFN0M7RXNCOTJFRTtJQUFrQyxVQUFTO0V0QmkzRTdDO0VzQjkyRUU7O0t0QmkzRUM7RXNCOTJFRDtJQUFrQyxjQUFhO0V0QmkzRWpEO0VzQjcyRUU7SUFBa0MsY0FBYTtFdEJnM0VqRDtFc0I3MkVFOztLdEJnM0VDO0VzQjcyRUQ7SUFBa0MsWUFBVztFdEJnM0UvQztFc0I5MkVFO0lBQWtDLFlBQVc7RXRCaTNFL0M7RXNCLzJFRTtJQUFrQyxZQUFXO0V0QmszRS9DO0VzQmgzRUU7SUFBa0MsWUFBVztFdEJtM0UvQztFc0JoM0VFOztLdEJtM0VDO0VzQmgzRUQ7SUFBa0MsVUFBUztFdEJtM0U3QztFc0JqM0VFO0lBQWtDLFVBQVM7RXRCbzNFN0M7RXNCaDNFRTtJQUFrQyxVQUFTO0V0Qm0zRTdDO0VzQmozRUU7SUFBa0MsVUFBUztFdEJvM0U3QztFc0JqM0VFOztLdEJvM0VDO0VzQmozRUQ7SUFBa0MsYUFBWTtFdEJvM0VoRDtFc0JoM0VFO0lBQWtDLGNBQWM7RXRCbTNFbEQ7RXNCajNFRTtJQUFrQyxjQUFhO0V0Qm8zRWpEO0VzQmgzRUU7SUFBa0MsY0FBYTtFdEJtM0VqRDtBQUNGOztBSTFwRVE7RWtCL1NKOztLdEI4OEVDO0VzQjM4RUQ7SUFBa0MsV0FBVTtFdEI4OEU5QztFc0IzOEVFOztLdEI4OEVDO0VzQjM4RUQ7SUFBa0MsVUFBUztFdEI4OEU3QztFc0IzOEVFOztLdEI4OEVDO0VzQjM4RUQ7SUFBa0MsY0FBYTtFdEI4OEVqRDtFc0I3OEVFO0lBQWtDLGNBQWE7RXRCZzlFakQ7RXNCNzhFRTs7S3RCZzlFQztFc0I3OEVEO0lBQWtDLFVBQVM7RXRCZzlFN0M7RXNCOThFRTtJQUFrQyxVQUFTO0V0Qmk5RTdDO0VzQjk4RUU7O0t0Qmk5RUM7RXNCOThFRDtJQUFrQyxVQUFTO0V0Qmk5RTdDO0VzQmg5RUU7SUFBa0MsVUFBUztFdEJtOUU3QztFc0JsOUVFO0lBQWtDLFVBQVM7RXRCcTlFN0M7RXNCcDlFRTtJQUFrQyxVQUFTO0V0QnU5RTdDO0VzQnA5RUU7O0t0QnU5RUM7RXNCcDlFRDtJQUFrQyxjQUFhO0V0QnU5RWpEO0VzQm45RUU7SUFBa0MsY0FBYTtFdEJzOUVqRDtFc0JuOUVFOztLdEJzOUVDO0VzQm45RUQ7SUFBa0MsWUFBVztFdEJzOUUvQztFc0JwOUVFO0lBQWtDLFlBQVc7RXRCdTlFL0M7RXNCcjlFRTtJQUFrQyxZQUFXO0V0Qnc5RS9DO0VzQnQ5RUU7SUFBa0MsWUFBVztFdEJ5OUUvQztFc0J0OUVFOztLdEJ5OUVDO0VzQnQ5RUQ7SUFBa0MsVUFBUztFdEJ5OUU3QztFc0J2OUVFO0lBQWtDLFVBQVM7RXRCMDlFN0M7RXNCdDlFRTtJQUFrQyxVQUFTO0V0Qnk5RTdDO0VzQnY5RUU7SUFBa0MsVUFBUztFdEIwOUU3QztFc0J2OUVFOztLdEIwOUVDO0VzQnY5RUQ7SUFBa0MsYUFBWTtFdEIwOUVoRDtFc0J0OUVFO0lBQWtDLGNBQWM7RXRCeTlFbEQ7RXNCdjlFRTtJQUFrQyxjQUFhO0V0QjA5RWpEO0VzQnQ5RUU7SUFBa0MsY0FBYTtFdEJ5OUVqRDtBQUNGOztBc0I3NkVBOzs7O0V0Qm03RUU7QXNCcjZFQTtBQzdKRjs7dUN2QnNrRnVDO0F1Qm5rRnZDOztFdkJza0ZFO0F3QnprRkY7O3VDeEI0a0Z1QztBd0J6a0Z2Qzs7RXhCNGtGRTtBeUIva0ZGOzt1Q3pCa2xGdUM7QXlCL2tGdkM7OztFekJtbEZFO0F5Qi9rRkY7RUFDSSxtREFBbUM7RUFDbkMsd0JBQThCO0F6QmlsRmxDOztBeUIva0ZBO0VBQ0ksbURBQW1DO0F6QmtsRnZDOztBeUJobEZBOztFQUVJLHdCQUE4QjtBekJtbEZsQzs7QTBCbm1GQTs7dUMxQnVtRnVDO0EwQnBtRnZDOzs7Ozs7OztFMUI2bUZFO0EwQmxtRkY7O0UxQnFtRkU7QTBCbG1GRjtFQUFrQix1QkFBcUI7QTFCcW1GdkM7O0EwQnBtRkE7RUFBa0Isc0JBQXFCO0ExQndtRnZDOztBMEJ2bUZBO0VBQWtCLHNCQUFxQjtBMUIybUZ2Qzs7QTBCeG1GQTs7RTFCNG1GRTtBMEJ6bUZGO0VBQWtCLDRCQUEyQjtBMUI0bUY3Qzs7QTBCM21GQTtFQUFrQiw2QkFBMkI7QTFCK21GN0M7O0EwQjltRkE7RUFBa0IsNEJBQTJCO0ExQmtuRjdDOztBMEIvbUZBOztFMUJtbkZFO0EwQmhuRkY7RUFBc0IsMkJBQXlCO0ExQm1uRi9DOztBMEJsbkZBO0VBQXNCLDJCQUF5QjtBMUJzbkYvQzs7QTBCcm5GQTtFQUFzQiwyQkFBeUI7QTFCeW5GL0M7O0EwQnRuRkE7O0UxQjBuRkU7QTBCdm5GRjtFQUFrQix1QkFBMEM7QTFCMG5GNUQ7O0EwQnpuRkE7RUFBa0IsMkJBQTBDO0ExQjZuRjVEOztBMEI1bkZBO0VBQWtCLDZCQUEwQztBMUJnb0Y1RDs7QTBCL25GQTtFQUFrQiw4QkFBMEM7QTFCbW9GNUQ7O0EwQmxvRkE7RUFBa0IsNEJBQTBDO0ExQnNvRjVEOztBMEJyb0ZBO0VBQWtCLDJCQUEwQztFQUFFLDhCQUEwQztBMUIwb0Z4Rzs7QTBCem9GQTtFQUFrQiw2QkFBMEM7RUFBRSw0QkFBMEM7QTFCOG9GeEc7O0EwQjVvRkE7RUFBc0IsdUJBQTBD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QUNGOztBNkI5b0dJO0VBMURKO0lBMkRRLGdCQUFnQjtJQUNoQix5QkFBeUI7RTdCa3BHL0I7QUFDRjs7QTZCL29HQTtFekJsTEksZXlCbUx1QjtFekJsTHZCLG1CQUE2QztFQUV6QyxvQkFBZ0I7QUpvMEd4Qjs7QTZCcnBHQTtFQUdRLGtCQUFrQjtFQUNsQixhNUI1Q2U7RTRCNkNmLGdCQUFnQjtFQUNoQixnQjVCMUllO0U0QjJJZixnQkFBZ0I7QTdCc3BHeEI7O0E2QjdwR0E7RUFXUSxTQUFhO0VBQ2IsVTVCcERlO0U0QnFEZixXNUJyRGU7RTRCc0RmLFk1QnREZTtFNEJ1RGYsbUJBQXVCO0E3QnNwRy9COztBNEIxeEdFO0VBQ0UsV0FBVTtFQUNWLGNBQWE7RUFDYixXQUFVO0E1QjZ4R2Q7O0E2QjNxR0E7RUFrQlkscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixVQUFVO0E3QjZwR3RCOztBNkJqckdBO0VBdUJnQixxQkFBcUI7RUFDckIsVUFBVTtFQUNWLFdBQVc7QTdCOHBHM0I7O0E2QjVwR2dCO0VBM0JoQjtJQTRCb0IsV0FBVztFN0JncUc3QjtBQUNGOztBNkI3ckdBO0VBZ0NvQixnQkFBZ0I7QTdCaXFHcEM7O0E2QmpzR0E7RUFzQ1EsVzVCL0tVO0U0QmdMVixtQjVCekppQjtBRHd6R3pCOztBNkJ0c0dBO0VBMkNRO0VBQ0E7QTdCK3BHUjs7QTZCM3NHQTtFQThDWTtBN0JpcUdaOztBNkIvc0dBO0VBaURZO0E3QmtxR1o7O0E2QjdwR0E7RUFDSSxnQjVCaE1jO0FEZzJHbEI7O0E2QjdwR0E7RXpCNU9JLGV5QjhPMkI7RXpCN08zQixtQkFBNkM7RUFFekMsb0JBQWdCO0V5QjRPaEIsbUJBQW1CO0VBQ25CLGdCQUFnQjtBN0JpcUd4Qjs7QTZCcnFHQTtFekI1T0ksZXlCbVAyQjtFekJsUDNCLG1CQUE2QztFQUV6QyxvQkFBZ0I7RXdCNlNwQixrQkFBa0I7QTVCd21HdEI7O0E2QjVxR0E7RXpCNU9JLGV5QnVQMkI7RXpCdFAzQixlQUE2QztFQUV6QyxnQkFBZ0I7RXdCaVN2QixnQkFBZ0I7QTVCMm5HakI7O0E2Qm5yR0E7RURnRUMsZ0JBQWdCO0VDakRMLHFCQUFxQjtBN0J5cUdqQzs7QUFFQTtFNkJ2cUdZLGFBQWE7QTdCeXFHekI7O0E2QjVyR0E7RURnRUMsZ0JBQWdCO0VDeENULGlCQUFxQjtFQUNyQixtQjVCM0hlO0FEb3lHdkI7O0E2QnZxR0k7RUEzQko7SXpCNU9JLGV5QnlRK0I7SXpCeFEvQixrQkFBNkM7SUFFekMsb0JBQWdCO0l5QnVRWixpQkFBaUI7RTdCNHFHM0I7RTZCMXNHRjtJekI1T0ksZXlCNlErQjtJekI1US9CLGlCQUE2QztJQUV6QyxjQUFnQjtFSnc3R3RCO0FBQ0Y7O0E2QjFxR0E7RUFDSSxtQjVCekltQjtBRHN6R3ZCOztBNkI5cUdBO0VBR1EsY0FBYztBN0IrcUd0Qjs7QTZCbHJHQTtFQU1RLG1CNUJ4TmlCO0U0QnlOakIsVzVCaFBVO0U0QmlQVixpQkFBMEI7QTdCZ3JHbEM7O0E2QjVxR0E7RUFFSSxnQkFBZ0I7QTdCOHFHcEI7O0E2QmhyR0E7RUFJUSxtQjVCeEplO0FEdzBHdkI7O0E2QnByR0E7RUFPUSxtQjVCM0plO0FENDBHdkI7O0E2QnhyR0E7RUFTWSxxQkFBcUI7RUFDckIsY0FBYztFQUNkLFlBQVk7RUFDWixXQUFXO0E3Qm1yR3ZCOztBNkIvckdBO0VBZ0JRLG1CNUJwS2U7QUR1MUd2Qjs7QTZCbnNHQTtFQW1CUSxtQjVCdktlO0FEMjFHdkI7O0E2QmhyR0E7RXpCclRJLGV5QnVUMkI7RXpCdFQzQixlQUE2QztFQUV6QyxnQkFBZ0I7RXlCcVRoQixtQkFBbUI7QTdCb3JHM0I7O0E2QmhyR0E7RUFDSSxnQkFBb0I7QTdCbXJHeEI7O0E2QnByR0E7RUFJUSxtQjVCdExlO0FEMDJHdkI7O0E2QnhyR0E7RUQ1U0ksVUFBVTtFQUNWLGUzQitDcUI7RTJCM0JyQixnQkFBZ0I7RUMrUlIsV0FBVztBN0J1ckd2Qjs7QTRCeCtHUTtFQUNJLGVBQWU7RUFDZixhM0IyQ2E7QURnOEd6Qjs7QTRCNytHUTtFQUNJLGVBQWU7RUFDZixhM0IyQ2E7QURxOEd6Qjs7QTRCbC9H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SUFrSVEsVUFBVTtFbEMwMkxoQjtFa0M1K0xGO0lBc0lRLFdBQVc7RWxDeTJMakI7QUFDRiIsImZpbGUiOiJjbXMtc3R5bGVzLXRvcC1wdWJsaWNhdGlvbi44ZjllOTA1My5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFZBUlMuU0NTU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQW55IHZhcmlhYmxlcyB5b3UgZmluZCBzZXQgaW4gaW51aXQuY3Nz4oCZIGBfdmFycy5zY3NzYCB0aGF0IHlvdSBkbyBub3Qgd2lzaCB0b1xuICoga2VlcCwgc2ltcGx5IHJlZGVmaW5lIGhlcmUuIFRoaXMgbWVhbnMgdGhhdCBpZiBpbnVpdC5jc3MsIGZvciBleGFtcGxlLCBzZXRzXG4gKiB5b3VyIGAkYmFzZS1mb250LXNpemVgIGF0IDE2cHggYW5kIHlvdSB3aXNoIGl0IHRvIGJlIDE0cHgsIHNpbXBseSByZWRlY2xhcmVcbiAqIHRoYXQgdmFyaWFibGUgaW4gdGhpcyBmaWxlLiBpbnVpdC5jc3MgaWdub3JlcyBpdHMgb3duIHZhcmlhYmxlcyBpbiBmYXZvdXIgb2ZcbiAqIHVzaW5nIHlvdXIgb3duLCBzbyB5b3UgY2FuIGNvbXBsZXRlbHkgbW9kaWZ5IGhvdyBpbnVpdC5jc3Mgd29ya3Mgd2l0aG91dCBldmVyXG4gKiBoYXZpbmcgdG8gYWx0ZXIgdGhlIGZyYW1ld29yayBpdHNlbGYuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE9CSkVDVFMtQU5ELUFCU1RSQUNUSU9OU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQWxsIG9mIGludWl0LmNzc+KAmSBvYmplY3RzIGFuZCBhYnN0cmFjdGlvbnMgYXJlIGluaXRpYWxseSB0dXJuZWQgb2ZmIGJ5XG4gKiBkZWZhdWx0LiBUaGlzIG1lYW5zIHRoYXQgeW91IHN0YXJ0IGFueSBwcm9qZWN0IHdpdGggYXMgbGl0dGxlIGFzIHBvc3NpYmxlLFxuICogYW5kIGludHJvZHVjaW5nIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyBpcyBhcyBzaW1wbGUgYXMgc3dpdGNoaW5nIHRoZVxuICogZm9sbG93aW5nIHZhcmlhYmxlcyB0byBgdHJ1ZWAuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJENVU1RPTVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUGxhY2UgYW55IG9mIHlvdXIgb3duIHZhcmlhYmxlcyB0aGF0IHNpdCBvbiB0b3Agb2YgaW51aXQuY3NzIGhlcmUuXG4gKi9cbi5zZWNvbmRhcnktZm9vdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlY29uZGFyeS1mb290ZXIuaG9tZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIElOVUlULkNTU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qISpcbiAqXG4gKiBpbnVpdGNzcy5jb20gLS0gQGludWl0Y3NzIC0tIEBjc3N3aXphcmRyeVxuICpcbiAqL1xuLyoqXG4gKiBpbnVpdC5jc3MgYWN0cyBhcyBhIGJhc2Ugc3R5bGVzaGVldCB3aGljaCB5b3Ugc2hvdWxkIGV4dGVuZCB3aXRoIHlvdXIgb3duXG4gKiB0aGVtZSBzdHlsZXNoZWV0LlxuICpcbiAqIGludWl0LmNzcyBhaW1zIHRvIGRvIHRoZSBoZWF2eSBsaWZ0aW5nOyBzb3J0aW5nIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyxcbiAqIGRlc2lnbiBwYXR0ZXJucyBhbmQgZmlkZGx5IGJpdHMgb2YgQ1NTLCB3aGlsc3QgbGVhdmluZyBhcyBtdWNoIGRlc2lnbiBhc1xuICogcG9zc2libGUgdG8geW91LiBpbnVpdC5jc3MgaXMgdGhlIHNjYWZmb2xkaW5nIHRvIHlvdXIgZGVjb3JhdG9yLlxuICpcbiAqIFRoaXMgc3R5bGVzaGVldCBpcyBoZWF2aWx5IGRvY3VtZW50ZWQgYW5kIGNvbnRhaW5zIGxvdHMgb2YgY29tbWVudHMsIHBsZWFzZVxuICogdGFrZSBjYXJlIHRvIHJlYWQgYW5kIHJlZmVyIHRvIHRoZW0gYXMgeW91IGJ1aWxkLiBGb3IgZnVydGhlciBzdXBwb3J0IHBsZWFzZVxuICogdHdlZXQgYXQgQGludWl0Y3NzLlxuICpcbiAqIE93aW5nIHRvIHRoZSBhbW91bnQgb2YgY29tbWVudHMgcGxlYXNlIG9ubHkgZXZlciB1c2UgbWluaWZpZWQgQ1NTIGluXG4gKiBwcm9kdWN0aW9uLiBUaGlzIGZpbGUgaXMgcHVyZWx5IGEgZGV2IGRvY3VtZW50LlxuICpcbiAqIFRoZSB0YWJsZSBvZiBjb250ZW50cyBiZWxvdyBtYXBzIHRvIHNlY3Rpb24gdGl0bGVzIG9mIHRoZSBzYW1lIG5hbWUsIHRvIGp1bXBcbiAqIHRvIGFueSBzZWN0aW9uIHNpbXBseSBydW4gYSBmaW5kIGZvciAkW1NFQ1RJT04tVElUTEVdLlxuICpcbiAqIE1vc3Qgb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIGNvbWUgd2l0aCBhIGNodW5rIG9mIG1hcmt1cCB0aGF0IHlvdSBzaG91bGQgYmVcbiAqIGFibGUgdG8gcGFzdGUgaW50byBhbnkgdmlldyB0byBxdWlja2x5IHNlZSBob3cgdGhlIENTUyB3b3JrcyBpbiBjb25qdW5jdGlvblxuICogd2l0aCB0aGUgY29ycmVjdCBIVE1MLlxuICpcbiAqIGludWl0LmNzcyBpcyB3cml0dGVuIHRvIHRoaXMgc3RhbmRhcmQ6IGdpdGh1Yi5jb20vY3Nzd2l6YXJkcnkvQ1NTLUd1aWRlbGluZXNcbiAqXG4gKiBMSUNFTlNFXG4gKlxuICogQ29weXJpZ2h0IDIwMTMgSGFycnkgUm9iZXJ0c1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwOi8vYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICogVGhhbmsgeW91IGZvciBjaG9vc2luZyBpbnVpdC5jc3MuIE1heSB5b3VyIHdlYiBmb250cyByZW5kZXIgcGVyZmVjdGx5LlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQ09OVEVOVFMuLi4uLi4uLi4uLi5Zb3XigJlyZSByZWFkaW5nIGl0IVxuICogV0FSTklORy4uLi4uLi4uLi4uLi5IZXJlIGJlIGRyYWdvbnMhXG4gKiBJTVBPUlRTLi4uLi4uLi4uLi4uLkJlZ2luIGltcG9ydGluZyB0aGUgc2VjdGlvbnMgYmVsb3dcbiAqXG4gKiBNSVhJTlMuLi4uLi4uLi4uLi4uLlN1cGVyLXNpbXBsZSBTYXNzIHN0dWZmXG4gKiBOT1JNQUxJWkUuLi4uLi4uLi4uLm5vcm1hbGl6ZS5jc3NcbiAqIFJFU0VULi4uLi4uLi4uLi4uLi4uU2V0IHNvbWUgZGVmYXVsdHNcbiAqIENMRUFSRklYLi4uLi4uLi4uLi4uXG4gKiBTSEFSRUQuLi4uLi4uLi4uLi4uLlNoYXJlZCBkZWNsYXJhdGlvbnNcbiAqXG4gKiBNQUlOLi4uLi4uLi4uLi4uLi4uLkhpZ2gtbGV2ZWwgZWxlbWVudHMgbGlrZSBgaHRtbGAsIGBib2R5YCwgZXRjLlxuICogSEVBRElOR1MuLi4uLi4uLi4uLi5Eb3VibGUtc3RyYW5kZWQgaGVhZGluZyBoaWVyYXJjaHlcbiAqIFBBUkFHUkFQSFMuLi4uLi4uLi4uXG4gKiBTTUFMTFBSSU5ULi4uLi4uLi4uLlNtYWxsZXIgdGV4dCBlbGVtZW50cyBsaWtlIGBzbWFsbGBcbiAqIFFVT1RFUy4uLi4uLi4uLi4uLi4uXG4gKiBDT0RFLi4uLi4uLi4uLi4uLi4uLlxuICogTElTVFMuLi4uLi4uLi4uLi4uLi5cbiAqIElNQUdFUy4uLi4uLi4uLi4uLi4uXG4gKiBUQUJMRVMuLi4uLi4uLi4uLi4uLlxuICogRk9STVMuLi4uLi4uLi4uLi4uLi5cbiAqXG4gKiBHUklEUy4uLi4uLi4uLi4uLi4uLkZsdWlkLCBwcm9wb3J0aW9uYWwgYW5kIG5lc3RhYmxlIGdyaWRzXG4gKiBGTEVYQk9YLi4uLi4uLi4uLi4uLkNydWRlbHkgZW11bGF0ZSBmbGV4Ym94XG4gKiBDT0xVTU5TLi4uLi4uLi4uLi4uLkNTUzMgY29sdW1uc1xuICogTkFWLi4uLi4uLi4uLi4uLi4uLi5BIHNpbXBsZSBhYnN0cmFjdGlvbiB0byBwdXQgYSBsaXN0IGluIGhvcml6b250YWwgbmF2IG1vZGVcbiAqIE9QVElPTlMuLi4uLi4uLi4uLi4uR3JvdXBlZCBuYXYgaXRlbXNcbiAqIFBBR0lOQVRJT04uLi4uLi4uLi4uVmVyeSBzdHJpcHBlZCBiYWNrLCBiYXNpYyBwYWdpbmF0b3JcbiAqIEJSRUFEQ1JVTUIuLi4uLi4uLi4uU2ltcGxlIGJyZWFkY3J1bWIgdHJhaWwgb2JqZWN0XG4gKiBNRURJQS4uLi4uLi4uLi4uLi4uLk1lZGlhIG9iamVjdFxuICogTUFSR0lOQUxJQS4uLi4uLi4uLi5TaW1wbGUgbWFyZ2luYWxpYSBjb250ZW50XG4gKiBJU0xBTkQuLi4uLi4uLi4uLi4uLkJveGVkIG9mZiBjb250ZW50XG4gKiBCTE9DSy1MSVNULi4uLi4uLi4uLkJsb2NreSBsaXN0cyBvZiBjb250ZW50XG4gKiBNQVRSSVguLi4uLi4uLi4uLi4uLkdyaWRkZWQgbGlzdHNcbiAqIFNQTElULi4uLi4uLi4uLi4uLi4uQSBzaW1wbGUgc3BsaXQtaW4tdHdvIG9iamVjdFxuICogVEhJUy1PUi1USElTLi4uLi4uLi5PcHRpb25zIG9iamVjdFxuICogTElOSy1DT01QTEVYLi4uLi4uLi5cbiAqIEZMWU9VVC4uLi4uLi4uLi4uLi4uRmx5b3V0LW9uLWhvdmVyIG9iamVjdFxuICogQVJST1dTLi4uLi4uLi4uLi4uLi5DU1MgYXJyb3dzXG4gKiBTUFJJVEUuLi4uLi4uLi4uLi4uLkdlbmVyaWMgc3ByaXRpbmcgZWxlbWVudFxuICogSUNPTi1URVhULi4uLi4uLi4uLi5JY29uIGFuZCB0ZXh0IGNvdXBsaW5nc1xuICogQkVBVVRPTlMuLi4uLi4uLi4uLi5Vc2UgdGhlIGJlYXV0b25zIG1pY3JvIGxpYnJhcnlcbiAqIExPWkVOR0VTLi4uLi4uLi4uLi4uQmFzaWMgbG96ZW5nZSBzdHlsZXNcbiAqIFJVTEVTLi4uLi4uLi4uLi4uLi4uSG9yaXpvbnRhbCBydWxlc1xuICogU1RBVFMuLi4uLi4uLi4uLi4uLi5TaW1wbGUgc3RhdHMgb2JqZWN0XG4gKiBHUkVZQk9YLi4uLi4uLi4uLi4uLldpcmVmcmFtaW5nIHN0eWxlc1xuICpcbiAqIFdJRFRIUy4uLi4uLi4uLi4uLi4uV2lkdGggY2xhc3NlcyBmb3IgdXNlIGFsb25nc2lkZSB0aGUgZ3JpZCBzeXN0ZW0gZXRjLlxuICogUFVTSC4uLi4uLi4uLi4uLi4uLi5QdXNoIGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBncmlkc1xuICogUFVMTC4uLi4uLi4uLi4uLi4uLi5QdWxsIGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBncmlkc1xuICogQlJBTkQuLi4uLi4uLi4uLi4uLi5IZWxwZXIgY2xhc3MgdG8gYXBwbHkgYnJhbmQgdHJlYXRtZW50IHRvIGVsZW1lbnRzXG4gKiBIRUxQRVIuLi4uLi4uLi4uLi4uLkEgc2VyaWVzIG9mIGhlbHBlciBjbGFzc2VzIHRvIHVzZSBhcmJpdHJhcmlseVxuICogREVCVUcuLi4uLi4uLi4uLi4uLi5FbmFibGUgdG8gYWRkIHZpc3VhbCBmbGFncyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFdBUk5JTkdcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICogaW51aXQuY3NzLCBiZWluZyBhbiBPTyBmcmFtZXdvcmssIHdvcmtzIGluIGtlZXBpbmcgd2l0aCB0aGUgb3Blbi9jbG9zZWRcbiAqIHByaW5jaXBsZS4gVGhlIHZhcmlhYmxlcyB5b3Ugc2V0IHByZXZpb3VzbHkgYXJlIG5vdyBiZWluZyB1c2VkIHRocm91Z2hvdXRcbiAqIGludWl0LmNzcyB0byBzdHlsZSBldmVyeXRoaW5nIHdlIG5lZWQgZm9yIGEgYmFzZS4gQW55IGN1c3RvbSBzdHlsZXMgU0hPVUxEXG4gKiBOT1QgYmUgYWRkZWQgb3IgbW9kaWZpZWQgaW4gaW51aXQuY3NzIGRpcmVjdGx5LCBidXQgYWRkZWQgdmlhIHlvdXIgdGhlbWVcbiAqIHN0eWxlc2hlZXQgYXMgcGVyIHRoZSBvcGVuL2Nsb3NlZCBwcmluY2lwbGU6XG4gKlxuICogY3Nzd2l6YXJkcnkuY29tLzIwMTIvMDYvdGhlLW9wZW4tY2xvc2VkLXByaW5jaXBsZS1hcHBsaWVkLXRvLWNzc1xuICpcbiAqIFRyeSBub3QgdG8gZWRpdCBhbnkgQ1NTIGJleW9uZCB0aGlzIHBvaW50OyBpZiB5b3UgZmluZCB5b3UgbmVlZCB0byBkbyBzb1xuICogaXQgaXMgYSBmYWlsaW5nIG9mIHRoZSBmcmFtZXdvcmsgc28gcGxlYXNlIHR3ZWV0IGF0IEBpbnVpdGNzcy5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkSU1QT1JUU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogR2VuZXJpYyB1dGlsaXR5IHN0eWxlcyBldGMuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJERFRkFVTFRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBpbnVpdC5jc3PigJkgZGVmYXVsdCB2YXJpYWJsZXMuIFJlZGVmaW5lIHRoZXNlIGluIHlvdXIgYF92YXJzLnNjc3NgIGZpbGUgKGZvdW5kXG4gKiBpbiB0aGUgaW51aXQuY3NzLXdlYi10ZW1wbGF0ZSkgdG8gb3ZlcnJpZGUgdGhlbS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkREVCVUdcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIERlYnVnIG1vZGUgd2lsbCB2aXN1YWxseSBoaWdobGlnaHQgYW55IHBvdGVudGlhbCBtYXJrdXAvYWNjZXNzaWJpbGl0eSBxdWlya3NcbiAqIGluIHRoZSBicm93c2VyLiBTZXQgdG8gYHRydWVgIG9yIGBmYWxzZWAuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJPUkRFUi1CT1hcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIERvIHlvdSB3YW50IGFsbCBlbGVtZW50cyB0byBhZG9wdCBgYm94LXNpemluZzpib3JkZXItYm94O2AgYXMgcGVyXG4gKiBwYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dyA/XG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJBU0VcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEJhc2Ugc3R1ZmZcbiAqL1xuLyoqXG4gKiBCYXNlIGZvbnQtZmFtaWx5LlxuICovXG4vKipcbiAqIERlZmF1bHQgY29sb3VyIGZvciBvYmplY3Rz4oCZIGJvcmRlcnMgZXRjLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRSRVNQT05TSVZFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBSZXNwb25zaXZlbmVzcz9cbiAqL1xuLyoqXG4gKiBSZXNwb25zaXZlbmVzcyBmb3Igd2lkZXNjcmVlbi9oaWdoIHJlc29sdXRpb24gZGVza3RvcCBtb25pdG9ycyBhbmQgYmV5b25kP1xuICogTm90ZTogYCRyZXNwb25zaXZlYCB2YXJpYWJsZSBhYm92ZSBtdXN0IGJlIHNldCB0byB0cnVlIGJlZm9yZSBlbmFibGluZyB0aGlzLlxuICovXG4vKipcbiAqIFJlc3BvbnNpdmUgcHVzaCBhbmQgcHVsbCBwcm9kdWNlIGEgTE9UIG9mIGNvZGUsIG9ubHkgdHVybiB0aGVtIG9uIGlmIHlvdVxuICogZGVmaW5pdGVseSBuZWVkIHRoZW0uXG4gKi9cbi8qKlxuICogTm90ZTogYCRwdXNoYCB2YXJpYWJsZSBhYm92ZSBtdXN0IGJlIHNldCB0byB0cnVlIGJlZm9yZSBlbmFibGluZyB0aGVzZS5cbiAqL1xuLyoqXG4gKiBOb3RlOiBgJHB1bGxgIHZhcmlhYmxlIGFib3ZlIG11c3QgYmUgc2V0IHRvIHRydWUgYmVmb3JlIGVuYWJsaW5nIHRoZXNlLlxuICovXG4vKipcbiAqIFRlbGwgaW51aXQuY3NzIHdoZW4gYnJlYWtwb2ludHMgc3RhcnQuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEZPTlQtU0laRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEZvbnQtc2l6ZXMgKGluIHBpeGVscykuIFJlZmVyIHRvIHJlbGV2YW50IHNlY3Rpb25zIGZvciB0aGVpciBpbXBsZW1lbnRhdGlvbnMuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFFVT1RFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRW5nbGlzaCBxdW90ZSBtYXJrcz9cbiAqL1xuLyoqXG4gKiBJZiB5b3Ugd2FudCBFbmdsaXNoIHF1b3RlcyB0aGVuIHBsZWFzZSBkbyBub3QgZWRpdCB0aGVzZTsgdGhleeKAmXJlIG9ubHkgaGVyZVxuICogYmVjYXVzZSBTYXNzIG5lZWRzIHRoZW0uXG4gKi9cbi8qKlxuICogSWYgeW91IG5lZWQgbm9uLUVuZ2xpc2ggcXVvdGVzLCBwbGVhc2UgYWx0ZXIgdGhlIGZvbGxvd2luZyB2YWx1ZXMgYWNjb3JkaW5nbHk6XG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJSQU5EXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBCcmFuZCBzdHVmZlxuICovXG4vKipcbiAqIEhvdyBiaWcgd291bGQgeW91IGxpa2Ugcm91bmQgY29ybmVycyB0byBiZSBieSBkZWZhdWx0P1xuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRPQkpFQ1RTIEFORCBBQlNUUkFDVElPTlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFdoaWNoIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyB3b3VsZCB5b3UgbGlrZSB0byB1c2U/XG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEZSQU1FV09SS1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogaW51aXQuY3NzIHdpbGwgd29yayB0aGVzZSBuZXh0IG9uZXMgb3V0IGZvciB1c2Ugd2l0aGluIHRoZSBmcmFtZXdvcmsuXG4gKlxuICogQXNzaWduIG91ciBgJGJhc2UtbGluZS1oZWlnaHRgIHRvIGEgbmV3IHNwYWNpbmcgdmFyIGZvciBtb3JlIHRyYW5zcGFyZW5jeS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkTUlYSU5TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBDcmVhdGUgYSBmdWxseSBmb3JtZWQgdHlwZSBzdHlsZSAoc2l6aW5nIGFuZCB2ZXJ0aWNhbCByaHl0aG0pIGJ5IHBhc3NpbmcgaW4gYVxuICogc2luZ2xlIHZhbHVlLCBlLmcuOlxuICpcbiAgIGBAaW5jbHVkZSBmb250LXNpemUoMTBweCk7YFxuICpcbiAqIFRoYW5rcyB0byBAcmVkY2xvdjNyIGZvciB0aGUgYGxpbmUtaGVpZ2h0YCBTYXNzOlxuICogdHdpdHRlci5jb20vcmVkY2xvdjNyL3N0YXR1cy8yNTAzMDE1MzkzMjE3OTg2NTdcbiAqL1xuLyoqXG4gKiBTdHlsZSBhbnkgbnVtYmVyIG9mIGhlYWRpbmdzIGluIG9uZSBmZWxsIHN3b29wLCBlLmcuOlxuICpcbiAgIC5mb297XG4gICAgICAgQGluY2x1ZGUgaGVhZGluZ3MoMSwgMyl7XG4gICAgICAgICAgIGNvbG9yOiNCQURBNTU7XG4gICAgICAgfVxuICAgIH1cbiAqXG4gKiBXaXRoIHRoYW5rcyB0byBAbGFyX3p6eiwgQHBhcmFub2lkYSwgQHJvd2FubWFubmluZyBhbmQgdWx0aW1hdGVseVxuICogQHRoaWVycnlsZW1vdWxlYyBmb3IgcmVmaW5pbmcgYW5kIGltcHJvdmluZyBteSBpbml0aWFsIG1peGluLlxuICovXG4vKipcbiAqIENyZWF0ZSB2ZW5kb3ItcHJlZml4ZWQgQ1NTIGluIG9uZSBnbywgZS5nLlxuICpcbiAgIGBAaW5jbHVkZSB2ZW5kb3IoYm9yZGVyLXJhZGl1cywgNHB4KTtgXG4gKlxuICovXG4vKipcbiAqIENyZWF0ZSBDU1Mga2V5ZnJhbWUgYW5pbWF0aW9ucyBmb3IgYWxsIHZlbmRvcnMgaW4gb25lIGdvLCBlLmcuOlxuICpcbiAgIC5mb297XG4gICAgICAgQGluY2x1ZGUgdmVuZG9yKGFuaW1hdGlvbiwgc2hyaW5rIDNzKTtcbiAgIH1cblxuICAgQGluY2x1ZGUga2V5ZnJhbWUoc2hyaW5rKXtcbiAgICAgICBmcm9te1xuICAgICAgICAgICBmb250LXNpemU6NWVtO1xuICAgICAgIH1cbiAgIH1cbiAqXG4gKiBDb3VydGVzeSBvZiBAaW50ZWdyYWxpc3Q6IHR3aXR0ZXIuY29tL2ludGVncmFsaXN0L3N0YXR1cy8yNjA0ODQxMTUzMTU0Mzc1NjlcbiAqL1xuLyoqXG4gKiBGb3JjZSBvdmVybHkgbG9uZyBzcGFucyBvZiB0ZXh0IHRvIHRydW5jYXRlLCBlLmcuOlxuICpcbiAgIGBAaW5jbHVkZSB0cnVuY2F0ZSgxMDAlKTtgXG4gKlxuICogV2hlcmUgYCR0cnVuY2F0aW9uLWJvdW5kYXJ5YCBpcyBhIHVuaXRlZCBtZWFzdXJlbWVudC5cbiAqL1xuLyoqXG4gKiBDU1MgYXJyb3dzISEhIEJ1dC4uLiBiZWZvcmUgeW91IHJlYWQgb24sIHlvdSBtaWdodCB3YW50IHRvIGdyYWIgYSBjb2ZmZWUuLi5cbiAqXG4gKiBUaGlzIG1peGluIGNyZWF0ZXMgYSBDU1MgYXJyb3cgb24gYSBnaXZlbiBlbGVtZW50LiBXZSBjYW4gaGF2ZSB0aGUgYXJyb3dcbiAqIGFwcGVhciBpbiBvbmUgb2YgMTIgbG9jYXRpb25zLCB0aHVzOlxuICpcbiAqICAgICAgIDAxICAgIDAyICAgIDAzXG4gKiAgICArLS0tLS0tLS0tLS0tLS0tLS0tK1xuICogMTIgfCAgICAgICAgICAgICAgICAgIHwgMDRcbiAqICAgIHwgICAgICAgICAgICAgICAgICB8XG4gKiAxMSB8ICAgICAgICAgICAgICAgICAgfCAwNVxuICogICAgfCAgICAgICAgICAgICAgICAgIHxcbiAqIDEwIHwgICAgICAgICAgICAgICAgICB8IDA2XG4gKiAgICArLS0tLS0tLS0tLS0tLS0tLS0tK1xuICogICAgICAgMDkgICAgMDggICAgMDdcbiAqXG4gKiBZb3UgcGFzcyB0aGlzIHBvc2l0aW9uIGluIGFsb25nIHdpdGggYSBkZXNpcmVkIGFycm93IGNvbG9yIGFuZCBvcHRpb25hbFxuICogYm9yZGVyIGNvbG9yLCBmb3IgZXhhbXBsZTpcbiAqXG4gKiBgQGluY2x1ZGUgYXJyb3codG9wLCBsZWZ0LCByZWQpYFxuICpcbiAqIGZvciBqdXN0IGEgc2luZ2xlLCByZWQgYXJyb3csIG9yOlxuICpcbiAqIGBAaW5jbHVkZSBhcnJvdyhib3R0b20sIGNlbnRlciwgcmVkLCBibGFjaylgXG4gKlxuICogd2hpY2ggd2lsbCBjcmVhdGUgYSByZWQgdHJpYW5nbGUgd2l0aCBhIGJsYWNrIGJvcmRlciB3aGljaCBzaXRzIGF0IHRoZSBib3R0b21cbiAqIGNlbnRlciBvZiB0aGUgZWxlbWVudC4gQ2FsbCB0aGUgbWl4aW4gdGh1czpcbiAqXG4gICAuZm9ve1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6I0JBREE1NTtcbiAgICAgICBib3JkZXI6MXB4IHNvbGlkICNBQ0U7XG4gICAgICAgQGluY2x1ZGUgYXJyb3codG9wLCBsZWZ0LCAjQkFEQTU1LCAjQUNFKTtcbiAgIH1cbiAqXG4gKi9cbi8qKlxuICogTWVkaWEgcXVlcnkgbWl4aW4uXG4gKlxuICogSXTigJlzIG5vdCBncmVhdCBwcmFjdGljZSB0byBkZWZpbmUgc29saWQgYnJlYWtwb2ludHMgdXAtZnJvbnQsIHByZWZlcnJpbmcgdG9cbiAqIG1vZGlmeSB5b3VyIGRlc2lnbiB3aGVuIGl0IG5lZWRzIGl0LCByYXRoZXIgdGhhbiBhc3N1bWluZyB5b3XigJlsbCB3YW50IGFcbiAqIGNoYW5nZSBhdCDigJhtb2JpbGXigJkuIEhvd2V2ZXIsIGFzIGludWl0LmNzcyBpcyByZXF1aXJlZCB0byB0YWtlIGEgaGFuZHMgb2ZmXG4gKiBhcHByb2FjaCB0byBkZXNpZ24gZGVjaXNpb25zLCB0aGlzIGlzIHRoZSBjbG9zZXN0IHdlIGNhbiBnZXQgdG8gYmFrZWQtaW5cbiAqIHJlc3BvbnNpdmVuZXNzLiBJdOKAmXMgZmxleGlibGUgZW5vdWdoIHRvIGFsbG93IHlvdSB0byBzZXQgeW91ciBvd24gYnJlYWtwb2ludHNcbiAqIGJ1dCBzb2xpZCBlbm91Z2ggdG8gYmUgZnJhbWV3b3JraWZpZWQuXG4gKlxuICogV2UgZGVmaW5lIHNvbWUgYnJvYWQgYnJlYWtwb2ludHMgaW4gb3VyIHZhcnMgZmlsZSB0aGF0IGFyZSBwaWNrZWQgdXAgaGVyZVxuICogZm9yIHVzZSBpbiBhIHNpbXBsZSBtZWRpYSBxdWVyeSBtaXhpbi4gT3VyIG9wdGlvbnMgYXJlOlxuICpcbiAqIHBhbG1cbiAqIGxhcFxuICogbGFwLWFuZC11cFxuICogcG9ydGFibGVcbiAqIGRlc2tcbiAqIGRlc2std2lkZVxuICpcbiAqIE5vdCB1c2luZyBhIG1lZGlhIHF1ZXJ5IHdpbGwsIG5hdHVyYWxseSwgc2VydmUgc3R5bGVzIHRvIGFsbCBkZXZpY2VzLlxuICpcbiAqIGBAaW5jbHVkZSBtZWRpYS1xdWVyeShwYWxtKXsgW3N0eWxlcyBoZXJlXSB9YFxuICpcbiAqIFdlIHdvcmsgb3V0IHlvdXIgZW5kIHBvaW50cyBmb3IgeW91OlxuICovXG4vKiEgbm9ybWFsaXplLmNzcyB2Mi4xLjAgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLypcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLypcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5xIHtcbiAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qXG4gKiBDb3JyZWN0IG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRSA5LlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGZvbnQgZmFtaWx5IG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqL1xufVxuXG4vKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLypcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgOCsuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLypcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbn1cblxuLypcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSxcbnNlbGVjdFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUkVTRVRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEEgbW9yZSBjb25zaWRlcmVkIHJlc2V0OyBtb3JlIG9mIGEgcmVzdGFydC4uLlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMS8xMC9yZXNldC1yZXN0YXJ0ZWRcbiAqL1xuLyoqXG4gICAgKiBMZXTigJlzIG1ha2UgdGhlIGJveCBtb2RlbCBhbGwgbmljZSwgc2hhbGwgd2UuLi4/XG4gICAgKi9cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtby1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKipcbiAqIFRoZSB1c3VhbC4uLlxuICovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxucCwgYmxvY2txdW90ZSwgcHJlLFxuZGwsIGRkLCBvbCwgdWwsXG5mb3JtLCBmaWVsZHNldCwgbGVnZW5kLFxudGFibGUsIHRoLCB0ZCwgY2FwdGlvbixcbmhyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEdpdmUgYSBoZWxwIGN1cnNvciB0byBlbGVtZW50cyB0aGF0IGdpdmUgZXh0cmEgaW5mbyBvbiBgOmhvdmVyYC5cbiAqL1xuYWJiclt0aXRsZV0sIGRmblt0aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHVuZGVybGluZXMgZnJvbSBwb3RlbnRpYWxseSB0cm91Ymxlc29tZSBlbGVtZW50cy5cbiAqL1xudSwgaW5zIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKipcbiAqIEFwcGx5IGZhdXggdW5kZXJsaW5lIHZpYSBgYm9yZGVyLWJvdHRvbWAuXG4gKi9cbmlucyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbn1cblxuLyoqXG4gKiBTbyB0aGF0IGBhbHRgIHRleHQgaXMgdmlzdWFsbHkgb2Zmc2V0IGlmIGltYWdlcyBkb27igJl0IGxvYWQuXG4gKi9cbmltZyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBHaXZlIGZvcm0gZWxlbWVudHMgc29tZSBjdXJzb3IgaW50ZXJhY3Rpb25zLi4uXG4gKi9cbmxhYmVsLFxuaW5wdXQsXG50ZXh0YXJlYSxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGlvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRleHQtaW5wdXQ6YWN0aXZlLFxuLnRleHQtaW5wdXQ6Zm9jdXMsXG50ZXh0YXJlYTphY3RpdmUsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQ0xFQVJGSVhcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIE1pY3JvIGNsZWFyZml4LCBhcyBwZXI6IGNzcy0xMDEub3JnL2FydGljbGVzL2NsZWFyZml4L2xhdGVzdC1uZXctY2xlYXJmaXgtc28tZmFyLnBocFxuICogRXh0ZW5kIHRoZSBjbGVhcmZpeCBjbGFzcyB3aXRoIFNhc3MgdG8gYXZvaWQgdGhlIGAuY2ZgIGNsYXNzIGFwcGVhcmluZyBvdmVyXG4gKiBhbmQgb3ZlciBpbiB5b3VyIG1hcmt1cC5cbiAqL1xuLmNmOmFmdGVyLCAubmF2OmFmdGVyLCAubWVkaWE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFNIQVJFRFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogV2hlcmUgYG1hcmdpbi1ib3R0b21gIGlzIGNvbmNlcm5lZCwgdGhpcyB2YWx1ZSB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZVxuICogYmFzZSBsaW5lLWhlaWdodC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCBhIGNvbnNpc3RlbnQgdmVydGljYWwgcmh5dGhtLlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMi8wNi9zaW5nbGUtZGlyZWN0aW9uLW1hcmdpbi1kZWNsYXJhdGlvbnNcbiAqL1xuLyoqXG4gKiBCYXNlIGVsZW1lbnRzXG4gKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGhncm91cCxcbnVsLCBvbCwgZGwsXG5ibG9ja3F1b3RlLCBwLCBhZGRyZXNzLFxudGFibGUsXG5maWVsZHNldCwgZmlndXJlLFxucHJlLFxuLmZvcm0tZmllbGRzID4gbGksXG4ubWVkaWEsXG4uaXNsYW5kLFxuLmlzbGV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4uaXNsZXQgaDEsIC5pc2xldCBoMiwgLmlzbGV0IGgzLCAuaXNsZXQgaDQsIC5pc2xldCBoNSwgLmlzbGV0IGg2LCAuaXNsZXQgaGdyb3VwLCAuaXNsZXRcbnVsLCAuaXNsZXQgb2wsIC5pc2xldCBkbCwgLmlzbGV0XG5ibG9ja3F1b3RlLCAuaXNsZXQgcCwgLmlzbGV0IGFkZHJlc3MsIC5pc2xldFxudGFibGUsIC5pc2xldFxuZmllbGRzZXQsIC5pc2xldCBmaWd1cmUsIC5pc2xldFxucHJlLCAuaXNsZXQgLmZvcm0tZmllbGRzID4gbGksIC5pc2xldFxuLm1lZGlhLCAuaXNsZXRcbi5pc2xhbmQsIC5pc2xldFxuLmlzbGV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLyoqXG4gKiBEb3VibGVkIHVwIGBtYXJnaW4tYm90dG9tYCBoZWxwZXIgY2xhc3MuXG4gKi9cbi5sYW5kbWFyayB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi8qKlxuICogYGhyYCBlbGVtZW50cyBvbmx5IHRha2UgdXAgYSBmZXcgcGl4ZWxzLCBzbyB3ZSBuZWVkIHRvIGdpdmUgdGhlbSBzcGVjaWFsXG4gKiB0cmVhdG1lbnQgcmVnYXJkaW5nIHZlcnRpY2FsIHJoeXRobS5cbiAqL1xuaHIge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbn1cblxuLyoqXG4gKiBXaGVyZSBgbWFyZ2luLWxlZnRgIGlzIGNvbmNlcm5lZCB3ZSB3YW50IHRvIHRyeSBhbmQgaW5kZW50IGNlcnRhaW4gZWxlbWVudHNcbiAqIGJ5IGEgY29uc2lzdGVudCBhbW91bnQuIERlZmluZSB0aGF0IGFtb3VudCBvbmNlLCBoZXJlLlxuICovXG51bCwgb2wsIGRkIHtcbiAgbWFyZ2luLWxlZnQ6IDQ4cHg7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtO1xufVxuXG4vKipcbiAqIEJhc2Ugc3R5bGVzOyB1bmNsYXNzZWQgSFRNTCBlbGVtZW50cyBldGMuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE1BSU5cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5odG1sIHtcbiAgZm9udDogMWVtLzEuNSBzYW5zLXNlcmlmO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRIRUFESU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMi8wMi9wcmFnbWF0aWMtcHJhY3RpY2FsLWZvbnQtc2l6aW5nLWluLWNzc1xuICpcbiAqIFdoZW4gd2UgZGVmaW5lIGEgaGVhZGluZyB3ZSBhbHNvIGRlZmluZSBhIGNvcnJlc3BvbmRpbmcgY2xhc3MgdG8gZ28gd2l0aCBpdC5cbiAqIFRoaXMgYWxsb3dzIHVzIHRvIGFwcGx5LCBzYXksIGBjbGFzcz1hbHBoYWAgdG8gYSBgaDNgOyBhIGRvdWJsZS1zdHJhbmRlZFxuICogaGVhZGluZyBoaWVyYXJjaHkuXG4gKi9cbmgxLCAuYWxwaGEge1xuICBmb250LXNpemU6IDM2cHg7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG59XG5cbmgyLCAuYmV0YSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuaDMsIC5nYW1tYSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5oNCwgLmRlbHRhIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmg1LCAuZXBzaWxvbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5oNiwgLnpldGEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjcxNDI5O1xufVxuXG4vKipcbiAqIEhlYWRpbmcgZ3JvdXBzIGFuZCBnZW5lcmljIGFueS1oZWFkaW5nIGNsYXNzLlxuICogVG8gdGFyZ2V0IGFueSBoZWFkaW5nIG9mIGFueSBsZXZlbCBzaW1wbHkgYXBwbHkgYSBjbGFzcyBvZiBgLmhOYCwgZS5nLjpcbiAqXG4gICA8aGdyb3VwPlxuICAgICAgIDxoMSBjbGFzcz1oTj5pbnVpdC5jc3M8L2gxPlxuICAgICAgIDxoMiBjbGFzcz1oTj5CZXN0LiBGcmFtZXdvcmsuIEV2ZXIhPC9oMj5cbiAgIDwvaGdyb3VwPlxuICpcbiAqL1xuaGdyb3VwIC5oTiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKlxuICogQSBzZXJpZXMgb2YgY2xhc3NlcyBmb3Igc2V0dGluZyBtYXNzaXZlIHR5cGU7IGZvciB1c2UgaW4gaGVyb2VzLCBtYXN0aGVhZHMsXG4gKiBwcm9tb3MsIGV0Yy5cbiAqL1xuLmdpZ2Ege1xuICBmb250LXNpemU6IDk2cHg7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5tZWdhIHtcbiAgZm9udC1zaXplOiA3MnB4O1xuICBmb250LXNpemU6IDQuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5raWxvIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRQQVJBR1JBUEhTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBUaGUgYC5sZWRlYCBjbGFzcyBpcyB1c2VkIHRvIG1ha2UgdGhlIGludHJvZHVjdG9yeSB0ZXh0ICh1c3VhbGx5IGEgcGFyYWdyYXBoKVxuICogb2YgYSBkb2N1bWVudCBzbGlnaHRseSBsYXJnZXIuXG4gKi9cbi5sZWRlLFxuLmxlYWQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRTTUFMTFBSSU5UXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBIHNlcmllcyBvZiBjbGFzc2VzIGZvciBzZXR0aW5nIHRpbnkgdHlwZTsgZm9yIHVzZSBpbiBzbWFsbHByaW50IGV0Yy5cbiAqL1xuLnNtYWxscHJpbnQsXG4ubWlsbGkge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI7XG59XG5cbi5taWNybyB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUVVPVEVTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBJZiBFbmdsaXNoIHF1b3RlcyBhcmUgc2V0IGluIGBfdmFycy5zY3NzYCwgZGVmaW5lIHRoZW0gaGVyZS5cbiAqL1xuLyoqXG4gKiBCaWcgdXAgQGJvYmxldDogaHRtbDVkb2N0b3IuY29tL2Jsb2NrcXVvdGUtcS1jaXRlXG4gKi9cbi8qKlxuICogSW5saW5lIHF1b3Rlcy5cbiAqL1xucSB7XG4gIHF1b3RlczogXCLigJhcIiBcIuKAmVwiIFwi4oCcXCIgXCLigJ1cIjtcbn1cblxucTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAxOFwiO1xuICBjb250ZW50OiBvcGVuLXF1b3RlO1xufVxuXG5xOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDIwMTlcIjtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG59XG5cbnEgcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAxQ1wiO1xuICBjb250ZW50OiBvcGVuLXF1b3RlO1xufVxuXG5xIHE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMjAxRFwiO1xuICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbn1cblxuYmxvY2txdW90ZSB7XG4gIHF1b3RlczogXCLigJxcIiBcIuKAnVwiO1xufVxuXG5ibG9ja3F1b3RlIHA6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJxcIjtcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbn1cblxuYmxvY2txdW90ZSBwOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgY29udGVudDogbm8tY2xvc2UtcXVvdGU7XG59XG5cbmJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKAnVwiO1xuICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbn1cblxuYmxvY2txdW90ZSBxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMDE4XCI7XG4gIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG59XG5cbmJsb2NrcXVvdGUgcTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwyMDE5XCI7XG4gIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xufVxuXG4vKipcbiAqXG4gICA8YmxvY2txdW90ZT5cbiAgICAgICA8cD5JbnNhbml0eTogZG9pbmcgdGhlIHNhbWUgdGhpbmcgb3ZlciBhbmQgb3ZlciBhZ2FpbiBhbmQgZXhwZWN0aW5nXG4gICAgICAgZGlmZmVyZW50IHJlc3VsdHMuPC9wPlxuICAgICAgIDxiIGNsYXNzPXNvdXJjZT5BbGJlcnQgRWluc3RlaW48L2I+XG4gICA8L2Jsb2NrcXVvdGU+XG4gKlxuICovXG5ibG9ja3F1b3RlIHtcbiAgLyoqXG4gICAgICogLjRlbSBpcyByb3VnaGx5IGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgb3BlbmluZyDigJwgdGhhdCB3ZSB3aXNoIHRvIGhhbmcuXG4gICAgICovXG4gIHRleHQtaW5kZW50OiAtMC40MWVtO1xufVxuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNvdXJjZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWluZGVudDogMDtcbn1cblxuLnNvdXJjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAxNFwiO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRDT0RFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBVc2UgYW4gZXhwbGljaXQgZm9udCBzdGFjayB0byBlbnN1cmUgYnJvd3NlcnMgcmVuZGVyIGNvcnJlY3QgYGxpbmUtaGVpZ2h0YC5cbiAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbnByZSBtYXJrIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgY29tbWVudHMgdG8geW91ciBjb2RlIGV4YW1wbGVzLCBlLmcuOlxuICpcbiAgIDxjb2RlPiZsdDsvZGl2Jmd0OzxzcGFuIGNsYXNzPWNvZGUtY29tbWVudD4mbHQ7IS0tIC93cmFwcGVyIC0tJmd0Ozwvc3Bhbj48L2NvZGU+XG4gKlxuICovXG4uY29kZS1jb21tZW50IHtcbiAgLyoqXG4gICAgICogT3ZlcnJpZGUgdGhpcyBzZXR0aW5nIGluIHlvdXIgdGhlbWUgc3R5bGVzaGVldFxuICAgICAqL1xuICBvcGFjaXR5OiAwLjc1O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NzUpO1xufVxuXG4vKipcbiAqIFlvdSBjYW4gYWRkIGxpbmUgbnVtYmVycyB0byB5b3VyIGNvZGUgZXhhbXBsZXMgYnV0IGJlIHdhcm5lZCwgaXQgcmVxdWlyZXNcbiAqIHNvbWUgcHJldHR5IGZ1bmt5IGxvb2tpbmcgbWFya3VwLCBlLmcuOlxuICpcbiAgIDxvbCBjbGFzcz1saW5lLW51bWJlcnM+XG4gICAgICAgPGxpPjxjb2RlPi5uYXZ7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICBsaXN0LXN0eWxlOm5vbmU7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICBtYXJnaW4tbGVmdDowOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT59PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAubmF2ID4gbGksPC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgLm5hdiA+IGxpID4gYXs8L2NvZGU+PC9saT5cbiAgICAgICA8bGk+PGNvZGU+ICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgICAgKmRpc3BsYXk6aW5saW5lLWJsb2NrOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT4gICAgICAgICAgICB6b29tOjE7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgfTwvY29kZT48L2xpPlxuICAgPC9vbD5cbiAqXG4gKiAxLiBNYWtlIHRoZSBsaXN0IGxvb2sgbGlrZSBjb2RlLlxuICogMi4gR2l2ZSB0aGUgbGlzdCBmbHVzaCBudW1iZXJzIHdpdGggYSBsZWFkaW5nIHplcm8uXG4gKiAzLiBNYWtlIHN1cmUgbGluZXMgb2YgY29kZSBkb27igJl0IHdyYXAuXG4gKiA0LiBHaXZlIHRoZSBjb2RlIGZvcm0gYnkgZm9yY2luZyB0aGUgYGNvZGVgIHRvIGhvbm91ciB3aGl0ZS1zcGFjZS5cbiAqL1xuLmxpbmUtbnVtYmVycyB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAvKiBbMV0gKi9cbiAgbGlzdC1zdHlsZTogZGVjaW1hbC1sZWFkaW5nLXplcm8gaW5zaWRlO1xuICAvKiBbMl0gKi9cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLyogWzNdICovXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiBbM10gKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5saW5lLW51bWJlcnMgY29kZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIC8qIFs0XSAqL1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRJTUFHRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIERlbW86IGpzZmlkZGxlLm5ldC9pbnVpdGNzcy95TXR1clxuICovXG4vKipcbiAqIEZsdWlkIGltYWdlcy5cbiAqL1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIE5vbi1mbHVpZCBpbWFnZXMgaWYgeW91IHNwZWNpZnkgYHdpZHRoYCBhbmQvb3IgYGhlaWdodGAgYXR0cmlidXRlcy5cbiAqL1xuaW1nW3dpZHRoXSxcbmltZ1toZWlnaHRdIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vKipcbiAqIFJvdW5kZWQgaW1hZ2VzLlxuICovXG4uaW1nLS1yb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyoqXG4gKiBJbWFnZSBwbGFjZW1lbnQgdmFyaWF0aW9ucy5cbiAqL1xuLmltZy0tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xufVxuXG4uaW1nLS1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLmltZy0tY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qKlxuICogS2VlcCB5b3VyIGltYWdlcyBvbiB5b3VyIGJhc2VsaW5lLlxuICpcbiAqIFBsZWFzZSBub3RlLCB0aGVzZSB3aWxsIG5vdCB3b3JrIHRvbyBuaWNlbHkgd2l0aCBmbHVpZCBpbWFnZXMgYW5kIHdpbGxcbiAqIGRpc3RvcnQgd2hlbiByZXNpemVkIGJlbG93IGEgY2VydGFpbiB3aWR0aC4gVXNlIHdpdGggY2F1dGlvbi5cbiAqL1xuLmltZy0tc2hvcnQge1xuICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4uaW1nLS1tZWRpdW0ge1xuICBoZWlnaHQ6IDI0MHB4O1xufVxuXG4uaW1nLS10YWxsIHtcbiAgaGVpZ2h0OiAzNjBweDtcbn1cblxuLyoqXG4gKiBJbWFnZXMgaW4gYGZpZ3VyZWAgZWxlbWVudHMuXG4gKi9cbmZpZ3VyZSA+IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRMSVNUU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUmVtb3ZlIHZlcnRpY2FsIHNwYWNpbmcgZnJvbSBuZXN0ZWQgbGlzdHMuXG4gKi9cbmxpID4gdWwsXG5saSA+IG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqXG4gKiBIYXZlIGEgbnVtYmVyZWQgYHVsYCB3aXRob3V0IHRoZSBzZW1hbnRpY3MgaW1wbGllZCBieSB1c2luZyBhbiBgb2xgLlxuICovXG4vKnVsKi9cbi5udW1iZXJlZC1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRUQUJMRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFdlIGhhdmUgYSBsb3QgYXQgb3VyIGRpc3Bvc2FsIGZvciBtYWtpbmcgdmVyeSBjb21wbGV4IHRhYmxlIGNvbnN0cnVjdHMsIGUuZy46XG4gKlxuICAgPHRhYmxlIGNsYXNzPVwidGFibGUtLWJvcmRlcmVkICB0YWJsZS0tc3RyaXBlZCAgdGFibGUtLWRhdGFcIj5cbiAgICAgICA8Y29sZ3JvdXA+XG4gICAgICAgICAgIDxjb2wgY2xhc3M9dDEwPlxuICAgICAgICAgICA8Y29sIGNsYXNzPXQxMD5cbiAgICAgICAgICAgPGNvbCBjbGFzcz10MTA+XG4gICAgICAgICAgIDxjb2w+XG4gICAgICAgPC9jb2xncm91cD5cbiAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0aCBjb2xzcGFuPTM+Rm9vPC90aD5cbiAgICAgICAgICAgICAgIDx0aD5CYXI8L3RoPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGg+TG9yZW08L3RoPlxuICAgICAgICAgICAgICAgPHRoPklwc3VtPC90aD5cbiAgICAgICAgICAgICAgIDx0aCBjbGFzcz1udW1lcmljYWw+RG9sb3I8L3RoPlxuICAgICAgICAgICAgICAgPHRoPlNpdDwvdGg+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgPC90aGVhZD5cbiAgICAgICA8dGJvZHk+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0aCByb3dzcGFuPTM+U2l0PC90aD5cbiAgICAgICAgICAgICAgIDx0ZD5Eb2xvcjwvdGQ+XG4gICAgICAgICAgICAgICA8dGQgY2xhc3M9bnVtZXJpY2FsPjAzLjc4ODwvdGQ+XG4gICAgICAgICAgICAgICA8dGQ+TG9yZW08L3RkPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGQ+RG9sb3I8L3RkPlxuICAgICAgICAgICAgICAgPHRkIGNsYXNzPW51bWVyaWNhbD4zMi4yMTA8L3RkPlxuICAgICAgICAgICAgICAgPHRkPkxvcmVtPC90ZD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRkPkRvbG9yPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1udW1lcmljYWw+NDcuNzk3PC90ZD5cbiAgICAgICAgICAgICAgIDx0ZD5Mb3JlbTwvdGQ+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0aCByb3dzcGFuPTI+U2l0PC90aD5cbiAgICAgICAgICAgICAgIDx0ZD5Eb2xvcjwvdGQ+XG4gICAgICAgICAgICAgICA8dGQgY2xhc3M9bnVtZXJpY2FsPjA5LjY0MDwvdGQ+XG4gICAgICAgICAgICAgICA8dGQ+TG9yZW08L3RkPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGQ+RG9sb3I8L3RkPlxuICAgICAgICAgICAgICAgPHRkIGNsYXNzPW51bWVyaWNhbD4xMi4xMTc8L3RkPlxuICAgICAgICAgICAgICAgPHRkPkxvcmVtPC90ZD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICA8L3Rib2R5PlxuICAgPC90YWJsZT5cbiAqXG4gKi9cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnRoLFxudGQge1xuICBwYWRkaW5nOiA2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogMTJweDtcbiAgfVxufVxuXG4vKipcbiAqIENlbGwgYWxpZ25tZW50c1xuICovXG5bY29sc3Bhbl0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbltjb2xzcGFuPVwiMVwiXSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbltyb3dzcGFuXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbltyb3dzcGFuPVwiMVwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5udW1lcmljYWwge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyoqXG4gKiBJbiB0aGUgSFRNTCBhYm92ZSB3ZSBzZWUgc2V2ZXJhbCBgY29sYCBlbGVtZW50cyB3aXRoIGNsYXNzZXMgd2hvc2UgbnVtYmVyc1xuICogcmVwcmVzZW50IGEgcGVyY2VudGFnZSB3aWR0aCBmb3IgdGhhdCBjb2x1bW4uIFdlIGxlYXZlIG9uZSBjb2x1bW4gZnJlZSBvZiBhXG4gKiBjbGFzcyBzbyB0aGF0IGNvbHVtbiBjYW4gc29hayB1cCB0aGUgZWZmZWN0cyBvZiBhbnkgYWNjaWRlbnRhbCBicmVha2FnZSBpblxuICogdGhlIHRhYmxlLlxuICovXG4udDUge1xuICB3aWR0aDogNSU7XG59XG5cbi50MTAge1xuICB3aWR0aDogMTAlO1xufVxuXG4udDEyIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG4vKiAxLzggKi9cbi50MTUge1xuICB3aWR0aDogMTUlO1xufVxuXG4udDIwIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLnQyNSB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi8qIDEvNCAqL1xuLnQzMCB7XG4gIHdpZHRoOiAzMCU7XG59XG5cbi50MzMge1xuICB3aWR0aDogMzMuMzMzJTtcbn1cblxuLyogMS8zICovXG4udDM1IHtcbiAgd2lkdGg6IDM1JTtcbn1cblxuLnQzNyB7XG4gIHdpZHRoOiAzNy41JTtcbn1cblxuLyogMy84ICovXG4udDQwIHtcbiAgd2lkdGg6IDQwJTtcbn1cblxuLnQ0NSB7XG4gIHdpZHRoOiA0NSU7XG59XG5cbi50NTAge1xuICB3aWR0aDogNTAlO1xufVxuXG4vKiAxLzIgKi9cbi50NTUge1xuICB3aWR0aDogNTUlO1xufVxuXG4udDYwIHtcbiAgd2lkdGg6IDYwJTtcbn1cblxuLnQ2MiB7XG4gIHdpZHRoOiA2Mi41JTtcbn1cblxuLyogNS84ICovXG4udDY1IHtcbiAgd2lkdGg6IDY1JTtcbn1cblxuLnQ2NiB7XG4gIHdpZHRoOiA2Ni42NjYlO1xufVxuXG4vKiAyLzMgKi9cbi50NzAge1xuICB3aWR0aDogNzAlO1xufVxuXG4udDc1IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLyogMy80Ki9cbi50ODAge1xuICB3aWR0aDogODAlO1xufVxuXG4udDg1IHtcbiAgd2lkdGg6IDg1JTtcbn1cblxuLnQ4NyB7XG4gIHdpZHRoOiA4Ny41JTtcbn1cblxuLyogNy84ICovXG4udDkwIHtcbiAgd2lkdGg6IDkwJTtcbn1cblxuLnQ5NSB7XG4gIHdpZHRoOiA5NSU7XG59XG5cbi8qKlxuICogQm9yZGVyZWQgdGFibGVzXG4gKi9cbi50YWJsZS0tYm9yZGVyZWQgdGgsXG4udGFibGUtLWJvcmRlcmVkIHRkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbn1cblxuLnRhYmxlLS1ib3JkZXJlZCB0aDplbXB0eSxcbi50YWJsZS0tYm9yZGVyZWQgdGQ6ZW1wdHkge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi50YWJsZS0tYm9yZGVyZWQgdGhlYWQgdHI6bGFzdC1jaGlsZCB0aCB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbn1cblxuLnRhYmxlLS1ib3JkZXJlZCB0Ym9keSB0ciB0aDpsYXN0LW9mLXR5cGUge1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbn1cblxuLyoqXG4gKiBTdHJpcGVkIHRhYmxlc1xuICovXG4udGFibGUtLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmM7XG4gIC8qIE92ZXJyaWRlIHRoaXMgY29sb3IgaW4geW91ciB0aGVtZSBzdHlsZXNoZWV0ICovXG59XG5cbi8qKlxuICogRGF0YSB0YWJsZVxuICovXG4udGFibGUtLWRhdGEge1xuICBmb250OiAxMnB4LzEuNSBzYW5zLXNlcmlmO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRGT1JNU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICpcbiAqIERlbW86IGpzZmlkZGxlLm5ldC9pbnVpdGNzcy9NaEhIVVxuICpcbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4vKipcbiAqIFRleHQgaW5wdXRzXG4gKlxuICogSW5zdGVhZCBvZiBhIGBbdHlwZV1gIHNlbGVjdG9yIGZvciBlYWNoIGtpbmQgb2YgZm9ybSBpbnB1dCwgd2UganVzdCB1c2UgYVxuICogY2xhc3MgdG8gdGFyZ2V0IGFueS9ldmVyeSBvbmUsIGUuZy46XG4gICA8aW5wdXQgdHlwZT10ZXh0IGNsYXNzPXRleHQtaW5wdXQ+XG4gICA8aW5wdXQgdHlwZT1lbWFpbCBjbGFzcz10ZXh0LWlucHV0PlxuICAgPGlucHV0IHR5cGU9cGFzc3dvcmQgY2xhc3M9dGV4dC1pbnB1dD5cbiAqXG4gKi9cbi50ZXh0LWlucHV0LFxudGV4dGFyZWEge1xuICAvKipcbiAgICAgKiBTdHlsZSB0aGVzZSB2aWEgeW91ciB0aGVtZSBzdHlsZXNoZWV0LlxuICAgICAqL1xufVxuXG4vKipcbiAqIEdyb3VwIHNldHMgb2YgZm9ybSBmaWVsZHMgaW4gYSBsaXN0LCBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1mb3JtLWZpZWxkcz5cbiAgICAgICA8bGk+XG4gICAgICAgICAgIDxsYWJlbCAvPlxuICAgICAgICAgICA8aW5wdXQgLz5cbiAgICAgICA8L2xpPlxuICAgICAgIDxsaT5cbiAgICAgICAgICAgPGxhYmVsIC8+XG4gICAgICAgICAgIDxzZWxlY3QgLz5cbiAgICAgICA8L2xpPlxuICAgICAgIDxsaT5cbiAgICAgICAgICAgPGxhYmVsIC8+XG4gICAgICAgICAgIDxpbnB1dCAvPlxuICAgICAgIDwvbGk+XG4gICA8L3VsPlxuICpcbiAqL1xuLmZvcm0tZmllbGRzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZm9ybS1maWVsZHMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqXG4gKiBMYWJlbHNcbiAqXG4gKiBEZWZpbmUgYSBgLmxhYmVsYCBjbGFzcyBhcyB3ZWxsIGFzIGEgYGxhYmVsYCBlbGVtZW50LiBUaGlzIG1lYW5zIHdlIGNhbiBhcHBseVxuICogbGFiZWwtbGlrZSBzdHlsaW5nIHRvIG1ldGEtbGFiZWxzIGZvciBncm91cHMgb2Ygb3B0aW9ucyB3aGVyZSBhIGBsYWJlbGBcbiAqIGVsZW1lbnQgaXMgbm90IHN1aXRhYmxlLCBlLmcuOlxuICpcbiAgIDxsaT5cbiAgICAgICA8c3BhbiBjbGFzcz1sYWJlbD5TZWxlY3QgYW4gb3B0aW9uIGJlbG93Ojwvc3Bhbj5cbiAgICAgICA8dWwgY2xhc3M9XCJtdWx0aS1saXN0ICBmb3VyLWNvbHNcIj5cbiAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgPGlucHV0IC8+IDxsYWJlbCAvPlxuICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICA8aW5wdXQgLz4gPGxhYmVsIC8+XG4gICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgIDxpbnB1dCAvPiA8bGFiZWwgLz5cbiAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgPGlucHV0IC8+IDxsYWJlbCAvPlxuICAgICAgICAgICA8L2xpPlxuICAgICAgIDwvdWw+XG4gICA8L2xpPlxuICpcbiAqL1xubGFiZWwsXG4ubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gICAgICogRXh0cmEgaGVscCB0ZXh0IGluIGBsYWJlbGBzLCBlLmcuOlxuICAgICAqXG4gICAgICAgPGxhYmVsPkNhcmQgbnVtYmVyIDxzbWFsbCBjbGFzcz1hZGRpdGlvbmFsPk5vIHNwYWNlczwvc21hbGw+PC9sYWJlbD5cbiAgICAgKlxuICAgICAqL1xuLmFkZGl0aW9uYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLypcbiAqIEdyb3VwcyBvZiBjaGVja2JveGVzIGFuZCByYWRpb3MsIGUuZy46XG4gKlxuICAgPGxpPlxuICAgICAgIDx1bCBjbGFzcz1jaGVjay1saXN0PlxuICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICA8aW5wdXQgLz4gPGxhYmVsIC8+XG4gICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgIDxpbnB1dCAvPiA8bGFiZWwgLz5cbiAgICAgICAgICAgPC9saT5cbiAgICAgICA8L3VsPlxuICAgPC9saT5cbiAqXG4gKi9cbi5jaGVjay1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICAgICAqIExhYmVscyBpbiBjaGVjay1saXN0c1xuICAgICAqL1xuLmNoZWNrLWxhYmVsLFxuLmNoZWNrLWxpc3QgbGFiZWwsXG4uY2hlY2stbGlzdCAubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogU3Bva2VuIGZvcm1zIGFyZSBmb3IgZm9ybXMgdGhhdCByZWFkIGxpa2Ugc3Bva2VuIHdvcmQsIGUuZy46XG4gKlxuICAgPGxpIGNsYXNzPXNwb2tlbi1mb3JtPlxuICAgICAgIEhlbGxvLCBteSA8bGFiZWwgZm9yPXNwb2tlbi1uYW1lPm5hbWU8L2xhYmVsPiBpc1xuICAgICAgIDxpbnB1dCB0eXBlPXRleHQgY2xhc3M9dGV4dC1pbnB1dCBpZD1zcG9rZW4tbmFtZT4uIE15IGhvbWVcbiAgICAgICA8bGFiZWwgZm9yPWNvdW50cnk+Y291bnRyeTwvbGFiZWw+IGlzXG4gICAgICAgPHNlbGVjdCBpZD1jb3VudHJ5PlxuICAgICAgICAgICA8b3B0aW9uPlVLPC9vcHRpb24+XG4gICAgICAgICAgIDxvcHRpb24+VVM8L29wdGlvbj5cbiAgICAgICAgICAgPG9wdGlvbj5PdGhlcjwvb3B0aW9uPlxuICAgICAgIDwvc2VsZWN0PlxuICAgPC9saT5cbiAqXG4gKi9cbi5zcG9rZW4tZm9ybSBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBFeHRyYSBoZWxwIHRleHQgZGlzcGxheWVkIGFmdGVyIGEgZmllbGQgd2hlbiB0aGF0IGZpZWxkIGlzIGluIGZvY3VzLCBlLmcuOlxuICpcbiAgIDxsYWJlbCBmb3I9ZW1haWw+RW1haWw6PC9sYWJlbD5cbiAgIDxpbnB1dCB0eXBlPWVtYWlsIGNsYXNzPXRleHQtaW5wdXQgaWQ9ZW1haWw+XG4gICA8c21hbGwgY2xhc3M9ZXh0cmEtaGVscD4uZWR1IGVtYWlscyBvbmx5PC9zbWFsbD5cbiAqXG4gKiBXZSBsZWF2ZSB0aGUgaGVscCB0ZXh0IGluIHRoZSBkb2N1bWVudCBmbG93IGFuZCBtZXJlbHkgc2V0IGl0IHRvXG4gKiBgdmlzaWJpbGl0eTpoaWRkZW47YC4gVGhpcyBtZWFucyB0aGF0IGl0IHdvbuKAmXQgaW50ZXJmZXJlIHdpdGggYW55dGhpbmcgb25jZVxuICogaXQgcmVhcHBlYXJzLlxuICpcbiAqL1xuLypzbWFsbCovXG4uZXh0cmEtaGVscCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udGV4dC1pbnB1dDphY3RpdmUgKyAuZXh0cmEtaGVscCxcbi50ZXh0LWlucHV0OmZvY3VzICsgLmV4dHJhLWhlbHAge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIE9iamVjdHMgYW5kIGFic3RyYWN0aW9uc1xuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRHUklEU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRmx1aWQgYW5kIG5lc3RhYmxlIGdyaWQgc3lzdGVtLCBlLmcuOlxuICpcbiAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XG5cbiAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXRoaXJkXCI+XG4gICAgICAgICAgIDxwPk9uZSB0aGlyZCBncmlkPC9wPlxuICAgICAgIDwvZGl2PjwhLS1cblxuICAgIC0tPjxkaXYgY2xhc3M9XCJncmlkX19pdGVtICB0d28tdGhpcmRzXCI+XG4gICAgICAgICAgIDxwPlR3byB0aGlyZHMgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLWhhbGZcIj5cbiAgICAgICAgICAgPHA+T25lIGhhbGYgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXF1YXJ0ZXJcIj5cbiAgICAgICAgICAgPHA+T25lIHF1YXJ0ZXIgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXF1YXJ0ZXJcIj5cbiAgICAgICAgICAgPHA+T25lIHF1YXJ0ZXIgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj5cblxuICAgPC9kaXY+XG4gKlxuICogRGVtbzoganNmaWRkbGUubmV0L2ludWl0Y3NzL0NMWVVDXG4gKlxuICovXG4vKipcbiAqIEdyaWQgd3JhcHBlclxuICovXG4uZ3JpZCwgLnBhZ2UtYm94ZXMsIC5wYWdlLWJveF9fbGlua3MgLmxpbmtzIHtcbiAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKipcbiAgICAgKiBWZXJ5IGluZnJlcXVlbnRseSBvY2N1cmluZyBncmlkIHdyYXBwZXJzIGFzIGNoaWxkcmVuIG9mIGdyaWQgd3JhcHBlcnMuXG4gICAgICovXG4uZ3JpZCA+IC5ncmlkLCAucGFnZS1ib3hlcyA+IC5ncmlkLCAucGFnZS1ib3hfX2xpbmtzIC5saW5rcyA+IC5ncmlkLCAuZ3JpZCA+IC5wYWdlLWJveGVzLCAucGFnZS1ib3hlcyA+IC5wYWdlLWJveGVzLCAucGFnZS1ib3hfX2xpbmtzIC5saW5rcyA+IC5wYWdlLWJveGVzLCAucGFnZS1ib3hfX2xpbmtzIC5ncmlkID4gLmxpbmtzLCAucGFnZS1ib3hfX2xpbmtzIC5wYWdlLWJveGVzID4gLmxpbmtzLCAucGFnZS1ib3hfX2xpbmtzIC5saW5rcyA+IC5saW5rcyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKipcbiAgICAgKiBHcmlkXG4gICAgICovXG4uZ3JpZF9faXRlbSwgLnBhZ2UtYm94LCAucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICROQVZcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIE5hdiBhYnN0cmFjdGlvbiBhcyBwZXI6IGNzc3dpemFyZHJ5LmNvbS8yMDExLzA5L3RoZS1uYXYtYWJzdHJhY3Rpb25cbiAqIFdoZW4gdXNlZCBvbiBhbiBgb2xgIG9yIGB1bGAsIHRoaXMgY2xhc3MgdGhyb3dzIHRoZSBsaXN0IGludG8gaG9yaXpvbnRhbCBtb2RlXG4gKiBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1uYXY+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Ib21lPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5BYm91dDwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+UG9ydGZvbGlvPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Db250YWN0PC9hPjwvbGk+XG4gICA8L3VsPlxuICpcbiAqIERlbW86IGpzZmlkZGxlLm5ldC9pbnVpdGNzcy9WbnBoNFxuICpcbiAqL1xuLm5hdiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubmF2ID4gbGksXG4ubmF2ID4gbGkgPiBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAqZGlzcGxheTogaW5saW5lO1xuICB6b29tOiAxO1xufVxuXG4vKipcbiAqIGAubmF2LS1zdGFja2VkYCBleHRlbmRzIGAubmF2YCBhbmQgdGhyb3dzIHRoZSBsaXN0IGludG8gdmVydGljYWwgbW9kZSwgZS5nLjpcbiAqXG4gICA8dWwgY2xhc3M9XCJuYXYgIG5hdi0tc3RhY2tlZFwiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKi9cbi5uYXYtLXN0YWNrZWQgPiBsaSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLm5hdi0tc3RhY2tlZCA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIGAubmF2LS1iYW5uZXJgIGV4dGVuZHMgYC5uYXZgIGFuZCBjZW50cmVzIHRoZSBsaXN0LCBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1cIm5hdiAgbmF2LS1iYW5uZXJcIj5cbiAgICAgICA8bGk+PGEgaHJlZj0jPkhvbWU8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPkFib3V0PC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Qb3J0Zm9saW88L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPkNvbnRhY3Q8L2E+PC9saT5cbiAgIDwvdWw+XG4gKlxuICovXG4ubmF2LS1iYW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qKlxuICogR2l2ZSBuYXYgbGlua3MgYSBiaWcsIGJsb2NreSBoaXQgYXJlYS4gRXh0ZW5kcyBgLm5hdmAsIGUuZy46XG4gKlxuICAgPHVsIGNsYXNzPVwibmF2ICBuYXYtLWJsb2NrXCI+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Ib21lPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5BYm91dDwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+UG9ydGZvbGlvPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Db250YWN0PC9hPjwvbGk+XG4gICA8L3VsPlxuICpcbiAqL1xuLm5hdi0tYmxvY2sge1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyoqXG4gICAgICogUmVtb3ZlIHdoaXRlc3BhY2UgY2F1c2VkIGJ5IGBpbmxpbmUtYmxvY2tgLlxuICAgICAqL1xuICBsZXR0ZXItc3BhY2luZzogLTAuMzFlbTtcbiAgd29yZC1zcGFjaW5nOiAtMC40M2VtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubmF2LS1ibG9jayA+IGxpIHtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG59XG5cbi5uYXYtLWJsb2NrID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMTJweDtcbn1cblxuLyoqXG4gKiBGb3JjZSBhIG5hdiB0byBvY2N1cHkgMTAwJSBvZiB0aGUgYXZhaWxhYmxlIHdpZHRoIG9mIGl0cyBwYXJlbnQuIEV4dGVuZHNcbiAqIGAubmF2YCwgZS5nLjpcbiAqXG4gICA8dWwgY2xhc3M9XCJuYXYgIG5hdi0tZml0XCI+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Ib21lPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5BYm91dDwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+UG9ydGZvbGlvPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Db250YWN0PC9hPjwvbGk+XG4gICA8L3VsPlxuICpcbiAqIFRoYW5rcyB0byBAcGltcGwgZm9yIHRoaXMgaWRlYSFcbiAqL1xuLm5hdi0tZml0IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubmF2LS1maXQgPiBsaSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi5uYXYtLWZpdCA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIE1ha2UgYSBsaXN0IG9mIGtleXdvcmRzLiBFeHRlbmRzIGAubmF2YCwgZS5nLjpcbiAqXG4gICBgPHVsIGNsYXNzPVwibmF2ICBuYXYtLWtleXdvcmRzPmBcbiAqXG4gKi9cbi5uYXYtLWtleXdvcmRzID4gbGk6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMDAyQ1wiIFwiXFwwMEEwXCI7XG59XG5cbi5uYXYtLWtleXdvcmRzID4gbGk6bGFzdC1jaGlsZDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE1FRElBXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBQbGFjZSBhbnkgaW1hZ2UtIGFuZCB0ZXh0LWxpa2UgY29udGVudCBzaWRlLWJ5LXNpZGUsIGFzIHBlcjpcbiAqIHN0dWJib3JuZWxsYS5vcmcvY29udGVudC8yMDEwLzA2LzI1L3RoZS1tZWRpYS1vYmplY3Qtc2F2ZXMtaHVuZHJlZHMtb2YtbGluZXMtb2YtY29kZVxuICogRS5nLjpcbiAqXG4gICA8ZGl2IGNsYXNzPW1lZGlhPlxuICAgICAgIDxpbWcgc3JjPWh0dHA6Ly9wbGFjZWtpdHRlbi5jb20vMjAwLzMwMCBhbHQ9XCJcIiBjbGFzcz1tZWRpYV9faW1nPlxuICAgICAgIDxwIGNsYXNzPW1lZGlhX19ib2R5PkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LFxuICAgICAgIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLjwvcD5cbiAgIDwvZGl2PlxuICpcbiAqIERlbW86IGpzZmlkZGxlLm5ldC9pbnVpdGNzcy9jZjRRc1xuICpcbiAqL1xuLm1lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZWRpYV9faW1nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMjRweDtcbn1cblxuLyoqXG4gICAgICogUmV2ZXJzZWQgaW1hZ2UgbG9jYXRpb24gKHJpZ2h0IGluc3RlYWQgb2YgbGVmdCkuXG4gICAgICovXG4ubWVkaWFfX2ltZy0tcmV2IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMjRweDtcbn1cblxuLm1lZGlhX19pbWcgaW1nLFxuLm1lZGlhX19pbWctLXJldiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1lZGlhX19ib2R5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1lZGlhX19ib2R5LFxuLm1lZGlhX19ib2R5ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKipcbiAgICAgKiBgLmltZ2BzIGluIGAuaXNsZXRgcyBuZWVkIGFuIGFwcHJvcHJpYXRlbHkgc2l6ZWQgbWFyZ2luLlxuICAgICAqL1xuLmlzbGV0IC5tZWRpYV9faW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG4uaXNsZXQgLm1lZGlhX19pbWctLXJldiB7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xufVxuXG4vKipcbiAqIFN0eWxlIHRydW1wczsgaGVscGVyIGFuZCBicmFuZCBjbGFzc2VzXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFdJRFRIU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0LiBUaGVzZSBhcmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyXG4gKiBvYmplY3RzIGFuZCBhYnN0cmFjdGlvbnMgZm91bmQgaW4gaW51aXQuY3NzLCBtb3N0IGNvbW1vbmx5IHRoZSBncmlkIHN5c3RlbVxuICogYW5kIGZhdXggZmxleGJveC5cbiAqXG4gKiBXZSBoYXZlIGEgbWl4aW4gdG8gZ2VuZXJhdGUgb3VyIHdpZHRocyBhbmQgdGhlaXIgYnJlYWtwb2ludC1zcGVjaWZpY1xuICogdmFyaWF0aW9ucy5cbiAqL1xuLyoqXG4gICAgKiBXaG9sZVxuICAgICovXG4ub25lLXdob2xlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICAgICogSGFsdmVzXG4gICAgKi9cbi5vbmUtaGFsZiwgLnR3by1xdWFydGVycywgLnRocmVlLXNpeHRocywgLmZvdXItZWlnaHRocywgLmZpdmUtdGVudGhzLCAuc2l4LXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLyoqXG4gICAgKiBUaGlyZHNcbiAgICAqL1xuLm9uZS10aGlyZCwgLnR3by1zaXh0aHMsIC5mb3VyLXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDMzLjMzMyU7XG59XG5cbi50d28tdGhpcmRzLCAuZm91ci1zaXh0aHMsIC5laWdodC10d2VsZnRocyB7XG4gIHdpZHRoOiA2Ni42NjYlO1xufVxuXG4vKipcbiAgICAqIFF1YXJ0ZXJzXG4gICAgKi9cbi5vbmUtcXVhcnRlciwgLnR3by1laWdodGhzLCAudGhyZWUtdHdlbGZ0aHMge1xuICB3aWR0aDogMjUlO1xufVxuXG4udGhyZWUtcXVhcnRlcnMsIC5zaXgtZWlnaHRocywgLm5pbmUtdHdlbGZ0aHMge1xuICB3aWR0aDogNzUlO1xufVxuXG4vKipcbiAgICAqIEZpZnRoc1xuICAgICovXG4ub25lLWZpZnRoLCAudHdvLXRlbnRocyB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi50d28tZmlmdGhzLCAuZm91ci10ZW50aHMge1xuICB3aWR0aDogNDAlO1xufVxuXG4udGhyZWUtZmlmdGhzLCAuc2l4LXRlbnRocyB7XG4gIHdpZHRoOiA2MCU7XG59XG5cbi5mb3VyLWZpZnRocywgLmVpZ2h0LXRlbnRocyB7XG4gIHdpZHRoOiA4MCU7XG59XG5cbi8qKlxuICAgICogU2l4dGhzXG4gICAgKi9cbi5vbmUtc2l4dGgsIC50d28tdHdlbGZ0aHMge1xuICB3aWR0aDogMTYuNjY2JTtcbn1cblxuLmZpdmUtc2l4dGhzLCAudGVuLXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDgzLjMzMyU7XG59XG5cbi8qKlxuICAgICogRWlnaHRoc1xuICAgICovXG4ub25lLWVpZ2h0aCB7XG4gIHdpZHRoOiAxMi41JTtcbn1cblxuLnRocmVlLWVpZ2h0aHMge1xuICB3aWR0aDogMzcuNSU7XG59XG5cbi5maXZlLWVpZ2h0aHMge1xuICB3aWR0aDogNjIuNSU7XG59XG5cbi5zZXZlbi1laWdodGhzIHtcbiAgd2lkdGg6IDg3LjUlO1xufVxuXG4vKipcbiAgICAqIFRlbnRoc1xuICAgICovXG4ub25lLXRlbnRoIHtcbiAgd2lkdGg6IDEwJTtcbn1cblxuLnRocmVlLXRlbnRocyB7XG4gIHdpZHRoOiAzMCU7XG59XG5cbi5zZXZlbi10ZW50aHMge1xuICB3aWR0aDogNzAlO1xufVxuXG4ubmluZS10ZW50aHMge1xuICB3aWR0aDogOTAlO1xufVxuXG4vKipcbiAgICAqIFR3ZWxmdGhzXG4gICAgKi9cbi5vbmUtdHdlbGZ0aCB7XG4gIHdpZHRoOiA4LjMzMyU7XG59XG5cbi5maXZlLXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDQxLjY2NiU7XG59XG5cbi5zZXZlbi10d2VsZnRocyB7XG4gIHdpZHRoOiA1OC4zMzMlO1xufVxuXG4uZWxldmVuLXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDkxLjY2NiU7XG59XG5cbi8qKlxuICogSWYgeW91IGhhdmUgc2V0IGAkcmVzcG9uc2l2ZWAgdG8g4oCYdHJ1ZeKAmSBpbiBgX3ZhcnMuc2Nzc2AgdGhlbiB5b3Ugbm93IGhhdmVcbiAqIGFjY2VzcyB0byB0aGVzZSBjbGFzc2VzLiBZb3UgY2FuIGRlZmluZSBhdCB3aGljaCBicmVha3BvaW50IHlvdeKAmWQgbGlrZSBhblxuICogZWxlbWVudCB0byBiZSBhIGNlcnRhaW4gc2l6ZSwgZS5nLjpcbiAqXG4gKiBgPGRpdiBjbGFzcz1cImcgIG9uZS1xdWFydGVyICBsYXAtb25lLWhhbGYgIHBhbG0tb25lLXdob2xlXCI+IC4uLiA8L2Rpdj5gXG4gKlxuICogVGhpcyB3b3VsZCBjcmVhdGUgYSBgZGl2YCB0aGF0LCBhdCDigJhkZXNrdG9w4oCZIHNpemVzLCB0YWtlcyB1cCBhIHF1YXJ0ZXIgb2YgdGhlXG4gKiBob3Jpem9udGFsIHNwYWNlLCBhIGhhbGYgb2YgdGhhdCBzcGFjZSBhdCDigJh0YWJsZXTigJkgc2l6ZXMsIGFuZCBnb2VzIGZ1bGwgd2lkdGhcbiAqIGF0IOKAmG1vYmlsZeKAmSBzaXplcy5cbiAqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MvV1M0R2VcbiAqXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgLyoqXG4gICAgKiBXaG9sZVxuICAgICovXG4gIC5wYWxtLW9uZS13aG9sZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyoqXG4gICAgKiBIYWx2ZXNcbiAgICAqL1xuICAucGFsbS1vbmUtaGFsZiwgLnBhbG0tdHdvLXF1YXJ0ZXJzLCAucGFsbS10aHJlZS1zaXh0aHMsIC5wYWxtLWZvdXItZWlnaHRocywgLnBhbG0tZml2ZS10ZW50aHMsIC5wYWxtLXNpeC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAvKipcbiAgICAqIFRoaXJkc1xuICAgICovXG4gIC5wYWxtLW9uZS10aGlyZCwgLnBhbG0tdHdvLXNpeHRocywgLnBhbG0tZm91ci10d2VsZnRocyB7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG4gIH1cbiAgLnBhbG0tdHdvLXRoaXJkcywgLnBhbG0tZm91ci1zaXh0aHMsIC5wYWxtLWVpZ2h0LXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNjYuNjY2JTtcbiAgfVxuICAvKipcbiAgICAqIFF1YXJ0ZXJzXG4gICAgKi9cbiAgLnBhbG0tb25lLXF1YXJ0ZXIsIC5wYWxtLXR3by1laWdodGhzLCAucGFsbS10aHJlZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAucGFsbS10aHJlZS1xdWFydGVycywgLnBhbG0tc2l4LWVpZ2h0aHMsIC5wYWxtLW5pbmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLyoqXG4gICAgKiBGaWZ0aHNcbiAgICAqL1xuICAucGFsbS1vbmUtZmlmdGgsIC5wYWxtLXR3by10ZW50aHMge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLnBhbG0tdHdvLWZpZnRocywgLnBhbG0tZm91ci10ZW50aHMge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbiAgLnBhbG0tdGhyZWUtZmlmdGhzLCAucGFsbS1zaXgtdGVudGhzIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC5wYWxtLWZvdXItZmlmdGhzLCAucGFsbS1laWdodC10ZW50aHMge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBTaXh0aHNcbiAgICAqL1xuICAucGFsbS1vbmUtc2l4dGgsIC5wYWxtLXR3by10d2VsZnRocyB7XG4gICAgd2lkdGg6IDE2LjY2NiU7XG4gIH1cbiAgLnBhbG0tZml2ZS1zaXh0aHMsIC5wYWxtLXRlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDgzLjMzMyU7XG4gIH1cbiAgLyoqXG4gICAgKiBFaWdodGhzXG4gICAgKi9cbiAgLnBhbG0tb25lLWVpZ2h0aCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG4gIC5wYWxtLXRocmVlLWVpZ2h0aHMge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgfVxuICAucGFsbS1maXZlLWVpZ2h0aHMge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgfVxuICAucGFsbS1zZXZlbi1laWdodGhzIHtcbiAgICB3aWR0aDogODcuNSU7XG4gIH1cbiAgLyoqXG4gICAgKiBUZW50aHNcbiAgICAqL1xuICAucGFsbS1vbmUtdGVudGgge1xuICAgIHdpZHRoOiAxMCU7XG4gIH1cbiAgLnBhbG0tdGhyZWUtdGVudGhzIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG4gIC5wYWxtLXNldmVuLXRlbnRocyB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuICAucGFsbS1uaW5lLXRlbnRocyB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuICAvKipcbiAgICAqIFR3ZWxmdGhzXG4gICAgKi9cbiAgLnBhbG0tb25lLXR3ZWxmdGgge1xuICAgIHdpZHRoOiA4LjMzMyU7XG4gIH1cbiAgLnBhbG0tZml2ZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDQxLjY2NiU7XG4gIH1cbiAgLnBhbG0tc2V2ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA1OC4zMzMlO1xuICB9XG4gIC5wYWxtLWVsZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDkxLjY2NiU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC8qKlxuICAgICogV2hvbGVcbiAgICAqL1xuICAubGFwLW9uZS13aG9sZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyoqXG4gICAgKiBIYWx2ZXNcbiAgICAqL1xuICAubGFwLW9uZS1oYWxmLCAubGFwLXR3by1xdWFydGVycywgLmxhcC10aHJlZS1zaXh0aHMsIC5sYXAtZm91ci1laWdodGhzLCAubGFwLWZpdmUtdGVudGhzLCAubGFwLXNpeC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAvKipcbiAgICAqIFRoaXJkc1xuICAgICovXG4gIC5sYXAtb25lLXRoaXJkLCAubGFwLXR3by1zaXh0aHMsIC5sYXAtZm91ci10d2VsZnRocyB7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG4gIH1cbiAgLmxhcC10d28tdGhpcmRzLCAubGFwLWZvdXItc2l4dGhzLCAubGFwLWVpZ2h0LXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNjYuNjY2JTtcbiAgfVxuICAvKipcbiAgICAqIFF1YXJ0ZXJzXG4gICAgKi9cbiAgLmxhcC1vbmUtcXVhcnRlciwgLmxhcC10d28tZWlnaHRocywgLmxhcC10aHJlZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFwLXRocmVlLXF1YXJ0ZXJzLCAubGFwLXNpeC1laWdodGhzLCAubGFwLW5pbmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLyoqXG4gICAgKiBGaWZ0aHNcbiAgICAqL1xuICAubGFwLW9uZS1maWZ0aCwgLmxhcC10d28tdGVudGhzIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5sYXAtdHdvLWZpZnRocywgLmxhcC1mb3VyLXRlbnRocyB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuICAubGFwLXRocmVlLWZpZnRocywgLmxhcC1zaXgtdGVudGhzIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC5sYXAtZm91ci1maWZ0aHMsIC5sYXAtZWlnaHQtdGVudGhzIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qKlxuICAgICogU2l4dGhzXG4gICAgKi9cbiAgLmxhcC1vbmUtc2l4dGgsIC5sYXAtdHdvLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMTYuNjY2JTtcbiAgfVxuICAubGFwLWZpdmUtc2l4dGhzLCAubGFwLXRlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDgzLjMzMyU7XG4gIH1cbiAgLyoqXG4gICAgKiBFaWdodGhzXG4gICAgKi9cbiAgLmxhcC1vbmUtZWlnaHRoIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbiAgLmxhcC10aHJlZS1laWdodGhzIHtcbiAgICB3aWR0aDogMzcuNSU7XG4gIH1cbiAgLmxhcC1maXZlLWVpZ2h0aHMge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgfVxuICAubGFwLXNldmVuLWVpZ2h0aHMge1xuICAgIHdpZHRoOiA4Ny41JTtcbiAgfVxuICAvKipcbiAgICAqIFRlbnRoc1xuICAgICovXG4gIC5sYXAtb25lLXRlbnRoIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4gIC5sYXAtdGhyZWUtdGVudGhzIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG4gIC5sYXAtc2V2ZW4tdGVudGhzIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG4gIC5sYXAtbmluZS10ZW50aHMge1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBUd2VsZnRoc1xuICAgICovXG4gIC5sYXAtb25lLXR3ZWxmdGgge1xuICAgIHdpZHRoOiA4LjMzMyU7XG4gIH1cbiAgLmxhcC1maXZlLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNDEuNjY2JTtcbiAgfVxuICAubGFwLXNldmVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNTguMzMzJTtcbiAgfVxuICAubGFwLWVsZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDkxLjY2NiU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAvKipcbiAgICAqIFdob2xlXG4gICAgKi9cbiAgLmxhcC1hbmQtdXAtb25lLXdob2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAvKipcbiAgICAqIEhhbHZlc1xuICAgICovXG4gIC5sYXAtYW5kLXVwLW9uZS1oYWxmLCAubGFwLWFuZC11cC10d28tcXVhcnRlcnMsIC5sYXAtYW5kLXVwLXRocmVlLXNpeHRocywgLmxhcC1hbmQtdXAtZm91ci1laWdodGhzLCAubGFwLWFuZC11cC1maXZlLXRlbnRocywgLmxhcC1hbmQtdXAtc2l4LXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC8qKlxuICAgICogVGhpcmRzXG4gICAgKi9cbiAgLmxhcC1hbmQtdXAtb25lLXRoaXJkLCAubGFwLWFuZC11cC10d28tc2l4dGhzLCAubGFwLWFuZC11cC1mb3VyLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMzMuMzMzJTtcbiAgfVxuICAubGFwLWFuZC11cC10d28tdGhpcmRzLCAubGFwLWFuZC11cC1mb3VyLXNpeHRocywgLmxhcC1hbmQtdXAtZWlnaHQtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA2Ni42NjYlO1xuICB9XG4gIC8qKlxuICAgICogUXVhcnRlcnNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtcXVhcnRlciwgLmxhcC1hbmQtdXAtdHdvLWVpZ2h0aHMsIC5sYXAtYW5kLXVwLXRocmVlLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXAtYW5kLXVwLXRocmVlLXF1YXJ0ZXJzLCAubGFwLWFuZC11cC1zaXgtZWlnaHRocywgLmxhcC1hbmQtdXAtbmluZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAvKipcbiAgICAqIEZpZnRoc1xuICAgICovXG4gIC5sYXAtYW5kLXVwLW9uZS1maWZ0aCwgLmxhcC1hbmQtdXAtdHdvLXRlbnRocyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubGFwLWFuZC11cC10d28tZmlmdGhzLCAubGFwLWFuZC11cC1mb3VyLXRlbnRocyB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuICAubGFwLWFuZC11cC10aHJlZS1maWZ0aHMsIC5sYXAtYW5kLXVwLXNpeC10ZW50aHMge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtZm91ci1maWZ0aHMsIC5sYXAtYW5kLXVwLWVpZ2h0LXRlbnRocyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAvKipcbiAgICAqIFNpeHRoc1xuICAgICovXG4gIC5sYXAtYW5kLXVwLW9uZS1zaXh0aCwgLmxhcC1hbmQtdXAtdHdvLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMTYuNjY2JTtcbiAgfVxuICAubGFwLWFuZC11cC1maXZlLXNpeHRocywgLmxhcC1hbmQtdXAtdGVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogODMuMzMzJTtcbiAgfVxuICAvKipcbiAgICAqIEVpZ2h0aHNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtZWlnaHRoIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtdGhyZWUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG4gIC5sYXAtYW5kLXVwLWZpdmUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDYyLjUlO1xuICB9XG4gIC5sYXAtYW5kLXVwLXNldmVuLWVpZ2h0aHMge1xuICAgIHdpZHRoOiA4Ny41JTtcbiAgfVxuICAvKipcbiAgICAqIFRlbnRoc1xuICAgICovXG4gIC5sYXAtYW5kLXVwLW9uZS10ZW50aCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuICAubGFwLWFuZC11cC10aHJlZS10ZW50aHMge1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtc2V2ZW4tdGVudGhzIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG4gIC5sYXAtYW5kLXVwLW5pbmUtdGVudGhzIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC8qKlxuICAgICogVHdlbGZ0aHNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtdHdlbGZ0aCB7XG4gICAgd2lkdGg6IDguMzMzJTtcbiAgfVxuICAubGFwLWFuZC11cC1maXZlLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNDEuNjY2JTtcbiAgfVxuICAubGFwLWFuZC11cC1zZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDU4LjMzMyU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtZWxldmVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogOTEuNjY2JTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC8qKlxuICAgICogV2hvbGVcbiAgICAqL1xuICAucG9ydGFibGUtb25lLXdob2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAvKipcbiAgICAqIEhhbHZlc1xuICAgICovXG4gIC5wb3J0YWJsZS1vbmUtaGFsZiwgLnBvcnRhYmxlLXR3by1xdWFydGVycywgLnBvcnRhYmxlLXRocmVlLXNpeHRocywgLnBvcnRhYmxlLWZvdXItZWlnaHRocywgLnBvcnRhYmxlLWZpdmUtdGVudGhzLCAucG9ydGFibGUtc2l4LXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC8qKlxuICAgICogVGhpcmRzXG4gICAgKi9cbiAgLnBvcnRhYmxlLW9uZS10aGlyZCwgLnBvcnRhYmxlLXR3by1zaXh0aHMsIC5wb3J0YWJsZS1mb3VyLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMzMuMzMzJTtcbiAgfVxuICAucG9ydGFibGUtdHdvLXRoaXJkcywgLnBvcnRhYmxlLWZvdXItc2l4dGhzLCAucG9ydGFibGUtZWlnaHQtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA2Ni42NjYlO1xuICB9XG4gIC8qKlxuICAgICogUXVhcnRlcnNcbiAgICAqL1xuICAucG9ydGFibGUtb25lLXF1YXJ0ZXIsIC5wb3J0YWJsZS10d28tZWlnaHRocywgLnBvcnRhYmxlLXRocmVlLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5wb3J0YWJsZS10aHJlZS1xdWFydGVycywgLnBvcnRhYmxlLXNpeC1laWdodGhzLCAucG9ydGFibGUtbmluZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAvKipcbiAgICAqIEZpZnRoc1xuICAgICovXG4gIC5wb3J0YWJsZS1vbmUtZmlmdGgsIC5wb3J0YWJsZS10d28tdGVudGhzIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5wb3J0YWJsZS10d28tZmlmdGhzLCAucG9ydGFibGUtZm91ci10ZW50aHMge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbiAgLnBvcnRhYmxlLXRocmVlLWZpZnRocywgLnBvcnRhYmxlLXNpeC10ZW50aHMge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbiAgLnBvcnRhYmxlLWZvdXItZmlmdGhzLCAucG9ydGFibGUtZWlnaHQtdGVudGhzIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qKlxuICAgICogU2l4dGhzXG4gICAgKi9cbiAgLnBvcnRhYmxlLW9uZS1zaXh0aCwgLnBvcnRhYmxlLXR3by10d2VsZnRocyB7XG4gICAgd2lkdGg6IDE2LjY2NiU7XG4gIH1cbiAgLnBvcnRhYmxlLWZpdmUtc2l4dGhzLCAucG9ydGFibGUtdGVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogODMuMzMzJTtcbiAgfVxuICAvKipcbiAgICAqIEVpZ2h0aHNcbiAgICAqL1xuICAucG9ydGFibGUtb25lLWVpZ2h0aCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG4gIC5wb3J0YWJsZS10aHJlZS1laWdodGhzIHtcbiAgICB3aWR0aDogMzcuNSU7XG4gIH1cbiAgLnBvcnRhYmxlLWZpdmUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDYyLjUlO1xuICB9XG4gIC5wb3J0YWJsZS1zZXZlbi1laWdodGhzIHtcbiAgICB3aWR0aDogODcuNSU7XG4gIH1cbiAgLyoqXG4gICAgKiBUZW50aHNcbiAgICAqL1xuICAucG9ydGFibGUtb25lLXRlbnRoIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4gIC5wb3J0YWJsZS10aHJlZS10ZW50aHMge1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbiAgLnBvcnRhYmxlLXNldmVuLXRlbnRocyB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuICAucG9ydGFibGUtbmluZS10ZW50aHMge1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBUd2VsZnRoc1xuICAgICovXG4gIC5wb3J0YWJsZS1vbmUtdHdlbGZ0aCB7XG4gICAgd2lkdGg6IDguMzMzJTtcbiAgfVxuICAucG9ydGFibGUtZml2ZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDQxLjY2NiU7XG4gIH1cbiAgLnBvcnRhYmxlLXNldmVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNTguMzMzJTtcbiAgfVxuICAucG9ydGFibGUtZWxldmVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogOTEuNjY2JTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC8qKlxuICAgICogV2hvbGVcbiAgICAqL1xuICAuZGVzay1vbmUtd2hvbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC8qKlxuICAgICogSGFsdmVzXG4gICAgKi9cbiAgLmRlc2stb25lLWhhbGYsIC5kZXNrLXR3by1xdWFydGVycywgLmRlc2stdGhyZWUtc2l4dGhzLCAuZGVzay1mb3VyLWVpZ2h0aHMsIC5kZXNrLWZpdmUtdGVudGhzLCAuZGVzay1zaXgtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBUaGlyZHNcbiAgICAqL1xuICAuZGVzay1vbmUtdGhpcmQsIC5kZXNrLXR3by1zaXh0aHMsIC5kZXNrLWZvdXItdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAzMy4zMzMlO1xuICB9XG4gIC5kZXNrLXR3by10aGlyZHMsIC5kZXNrLWZvdXItc2l4dGhzLCAuZGVzay1laWdodC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDY2LjY2NiU7XG4gIH1cbiAgLyoqXG4gICAgKiBRdWFydGVyc1xuICAgICovXG4gIC5kZXNrLW9uZS1xdWFydGVyLCAuZGVzay10d28tZWlnaHRocywgLmRlc2stdGhyZWUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmRlc2stdGhyZWUtcXVhcnRlcnMsIC5kZXNrLXNpeC1laWdodGhzLCAuZGVzay1uaW5lLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC8qKlxuICAgICogRmlmdGhzXG4gICAgKi9cbiAgLmRlc2stb25lLWZpZnRoLCAuZGVzay10d28tdGVudGhzIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5kZXNrLXR3by1maWZ0aHMsIC5kZXNrLWZvdXItdGVudGhzIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC5kZXNrLXRocmVlLWZpZnRocywgLmRlc2stc2l4LXRlbnRocyB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAuZGVzay1mb3VyLWZpZnRocywgLmRlc2stZWlnaHQtdGVudGhzIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qKlxuICAgICogU2l4dGhzXG4gICAgKi9cbiAgLmRlc2stb25lLXNpeHRoLCAuZGVzay10d28tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAxNi42NjYlO1xuICB9XG4gIC5kZXNrLWZpdmUtc2l4dGhzLCAuZGVzay10ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA4My4zMzMlO1xuICB9XG4gIC8qKlxuICAgICogRWlnaHRoc1xuICAgICovXG4gIC5kZXNrLW9uZS1laWdodGgge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxuICAuZGVzay10aHJlZS1laWdodGhzIHtcbiAgICB3aWR0aDogMzcuNSU7XG4gIH1cbiAgLmRlc2stZml2ZS1laWdodGhzIHtcbiAgICB3aWR0aDogNjIuNSU7XG4gIH1cbiAgLmRlc2stc2V2ZW4tZWlnaHRocyB7XG4gICAgd2lkdGg6IDg3LjUlO1xuICB9XG4gIC8qKlxuICAgICogVGVudGhzXG4gICAgKi9cbiAgLmRlc2stb25lLXRlbnRoIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4gIC5kZXNrLXRocmVlLXRlbnRocyB7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuICAuZGVzay1zZXZlbi10ZW50aHMge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbiAgLmRlc2stbmluZS10ZW50aHMge1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBUd2VsZnRoc1xuICAgICovXG4gIC5kZXNrLW9uZS10d2VsZnRoIHtcbiAgICB3aWR0aDogOC4zMzMlO1xuICB9XG4gIC5kZXNrLWZpdmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA0MS42NjYlO1xuICB9XG4gIC5kZXNrLXNldmVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNTguMzMzJTtcbiAgfVxuICAuZGVzay1lbGV2ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA5MS42NjYlO1xuICB9XG59XG5cbi8qKlxuICogSWYgeW91IGhhdmUgc2V0IHRoZSBhZGRpdGlvbmFsIGAkcmVzcG9uc2l2ZS1leHRyYWAgdmFyaWFibGUgdG8g4oCYdHJ1ZeKAmSBpblxuICogYF92YXJzLnNjc3NgIHRoZW4geW91IG5vdyBoYXZlIGFjY2VzcyB0byB0aGUgZm9sbG93aW5nIGNsYXNzIGF2YWlsYWJsZSB0b1xuICogYWNjb21vZGF0ZSBtdWNoIGxhcmdlciBzY3JlZW4gcmVzb2x1dGlvbnMuXG4gKi9cbi8qIGVuZGlmICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRQVVNIXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBQdXNoIGNsYXNzZXMsIHRvIG1vdmUgZ3JpZCBpdGVtcyBvdmVyIHRvIHRoZSByaWdodCBieSBjZXJ0YWluIGFtb3VudHMuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFBVTExcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFB1bGwgY2xhc3NlcywgdG8gbW92ZSBncmlkIGl0ZW1zIG92ZXIgdG8gdGhlIHJpZ2h0IGJ5IGNlcnRhaW4gYW1vdW50cy5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQlJBTkRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIGAuYnJhbmRgIGlzIGEgcXVpY2sgYW5kIHNpbXBsZSB3YXkgdG8gYXBwbHkgeW91ciBicmFuZCBmYWNlIGFuZC9vciBjb2xvciB0b1xuICogYW55IGVsZW1lbnQgdXNpbmcgYSBoYW5keSBoZWxwZXIgY2xhc3MuXG4gKi9cbi5icmFuZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYhaW1wb3J0YW50O1xuICBjb2xvcjogIzRhOGVjMiFpbXBvcnRhbnQ7XG59XG5cbi5icmFuZC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiFpbXBvcnRhbnQ7XG59XG5cbi5icmFuZC1jb2xvcixcbi5icmFuZC1jb2xvdXIge1xuICBjb2xvcjogIzRhOGVjMiFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEhFTFBFUlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQSBzZXJpZXMgb2YgaGVscGVyIGNsYXNzZXMgdG8gdXNlIGFyYml0cmFyaWx5LiBPbmx5IHVzZSBhIGhlbHBlciBjbGFzcyBpZiBhblxuICogZWxlbWVudC9jb21wb25lbnQgZG9lc27igJl0IGFscmVhZHkgaGF2ZSBhIGNsYXNzIHRvIHdoaWNoIHlvdSBjb3VsZCBhcHBseSB0aGlzXG4gKiBzdHlsaW5nLCBlLmcuIGlmIHlvdSBuZWVkIHRvIGZsb2F0IGAubWFpbi1uYXZgIGxlZnQgdGhlbiBhZGQgYGZsb2F0OmxlZnQ7YCB0b1xuICogdGhhdCBydWxlc2V0IGFzIG9wcG9zZWQgdG8gYWRkaW5nIHRoZSBgLmZsb2F0LS1sZWZ0YCBjbGFzcyB0byB0aGUgbWFya3VwLlxuICpcbiAqIEEgbG90IG9mIHRoZXNlIGNsYXNzZXMgY2FycnkgYCFpbXBvcnRhbnRgIGFzIHlvdSB3aWxsIGFsd2F5cyB3YW50IHRoZW0gdG8gd2luXG4gKiBvdXQgb3ZlciBvdGhlciBzZWxlY3RvcnMuXG4gKi9cbi8qKlxuICogQWRkL3JlbW92ZSBmbG9hdHNcbiAqL1xuLmZsb2F0LS1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtLW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIFRleHQgYWxpZ25tZW50XG4gKi9cbi50ZXh0LS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAgIWltcG9ydGFudDtcbn1cblxuLnRleHQtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4udGV4dC0tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEZvbnQgd2VpZ2h0c1xuICovXG4ud2VpZ2h0LS1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbn1cblxuLndlaWdodC0tbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4ud2VpZ2h0LS1zZW1pYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBBZGQvcmVtb3ZlIG1hcmdpbnNcbiAqL1xuLnB1c2gge1xuICBtYXJnaW46IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtLXRvcCB7XG4gIG1hcmdpbi10b3A6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtLWVuZHMge1xuICBtYXJnaW4tdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtLXNpZGVzIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLWhhbGYge1xuICBtYXJnaW46IDEycHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtaGFsZi0tdG9wIHtcbiAgbWFyZ2luLXRvcDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC1oYWxmLS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC1oYWxmLS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLWhhbGYtLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC1oYWxmLS1lbmRzIHtcbiAgbWFyZ2luLXRvcDogMTJweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLWhhbGYtLXNpZGVzIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5mbHVzaCB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4uZmx1c2gtLXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLmZsdXNoLS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4uZmx1c2gtLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmZsdXNoLS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmZsdXNoLS1lbmRzIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbHVzaC0tc2lkZXMge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBBZGQvcmVtb3ZlIHBhZGRpbmdzXG4gKi9cbi5zb2Z0IHtcbiAgcGFkZGluZzogMjRweCAhaW1wb3J0YW50O1xufVxuXG4uc29mdC0tdG9wIHtcbiAgcGFkZGluZy10b3A6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4uc29mdC0tYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtLWVuZHMge1xuICBwYWRkaW5nLXRvcDogMjRweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xufVxuXG4uc29mdC0tc2lkZXMge1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4uc29mdC1oYWxmIHtcbiAgcGFkZGluZzogMTJweCAhaW1wb3J0YW50O1xufVxuXG4uc29mdC1oYWxmLS10b3Age1xuICBwYWRkaW5nLXRvcDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4uc29mdC1oYWxmLS1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZi0tYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZi0tbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4uc29mdC1oYWxmLS1lbmRzIHtcbiAgcGFkZGluZy10b3A6IDEycHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZi0tc2lkZXMge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4uaGFyZCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLmhhcmQtLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5oYXJkLS1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmhhcmQtLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5oYXJkLS1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5oYXJkLS1lbmRzIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmhhcmQtLXNpZGVzIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBQdWxsIGl0ZW1zIGZ1bGwgd2lkdGggb2YgYC5pc2xhbmRgIHBhcmVudHMuXG4gKi9cbi5mdWxsLWJsZWVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMjRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogLTI0cHggIWltcG9ydGFudDtcbn1cblxuLmlzbGV0IC5mdWxsLWJsZWVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTJweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogLTEycHggIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBBZGQgYSBoZWxwIGN1cnNvciB0byBhbnkgZWxlbWVudCB0aGF0IGdpdmVzIHRoZSB1c2VyIGV4dHJhIGluZm9ybWF0aW9uIG9uXG4gKiBgOmhvdmVyYC5cbiAqL1xuLmluZm9ybWF0aXZlIHtcbiAgY3Vyc29yOiBoZWxwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogTXV0ZSBhbiBvYmplY3QgYnkgcmVkdWNpbmcgaXRzIG9wYWNpdHkuXG4gKi9cbi5tdXRlZCB7XG4gIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQWxpZ24gaXRlbXMgdG8gdGhlIHJpZ2h0IHdoZXJlIHRoZXkgaW1wbHkgcHJvZ3Jlc3Npb24vbW92ZW1lbnQgZm9yd2FyZCwgZS5nLjpcbiAqXG4gICA8cCBjbGFzcz1wcm9jZWVkPjxhIGhyZWY9Iz5SZWFkIG1vcmUuLi48L2E+PC9wPlxuICpcbiAqL1xuLnByb2NlZWQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEFkZCBhIHJpZ2h0LWFuZ2xlZCBxdW90ZSB0byBsaW5rcyB0aGF0IGltcGx5IG1vdmVtZW50LCBlLmcuOlxuICpcbiAgIDxhIGhyZWY9IyBjbGFzcz1nbz5SZWFkIG1vcmU8L2E+XG4gKlxuICovXG4uZ286YWZ0ZXIge1xuICBjb250ZW50OiBcIsKgXCIgXCLCu1wiICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQXBwbHkgY2FwaXRhbCBjYXNlIHRvIGFuIGVsZW1lbnQgKHVzdWFsbHkgYSBgc3Ryb25nYCkuXG4gKi9cbi5jYXBzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEhpZGUgY29udGVudCBvZmYtc2NyZWVuIHdpdGhvdXQgcmVzb3J0aW5nIHRvIGBkaXNwbGF5Om5vbmU7YCwgYWxzbyBwcm92aWRlXG4gKiBicmVha3BvaW50IHNwZWNpZmljIGhpZGRlbiBlbGVtZW50cy5cbiAqL1xuLmFjY2Vzc2liaWxpdHksXG4udmlzdWFsbHloaWRkZW4ge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgLmFjY2Vzc2liaWxpdHktLXBhbG0sXG4gIC52aXN1YWxseWhpZGRlbi0tcGFsbSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5hY2Nlc3NpYmlsaXR5LS1sYXAsXG4gIC52aXN1YWxseWhpZGRlbi0tbGFwIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5hY2Nlc3NpYmlsaXR5LS1sYXAtYW5kLXVwLFxuICAudmlzdWFsbHloaWRkZW4tLWxhcC1hbmQtdXAge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLmFjY2Vzc2liaWxpdHktLXBvcnRhYmxlLFxuICAudmlzdWFsbHloaWRkZW4tLXBvcnRhYmxlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5hY2Nlc3NpYmlsaXR5LS1kZXNrLFxuICAudmlzdWFsbHloaWRkZW4tLWRlc2sge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE2MHB4KSB7XG4gIC5hY2Nlc3NpYmlsaXR5LS1kZXNrLXdpZGUsXG4gIC52aXN1YWxseWhpZGRlbi0tZGVzay13aWRlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBlbmRpZiAqL1xuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KlxcXG4gICAgQ09OVEVOVFNcbiAgICAtLS0tLS0tLVxuICAgIC0gc3ZnXG4gICAgLSBjbGVhcmZpeFxuICAgIC0gYnJlYWstdGV4dFxuICAgIC0gdHJpYW5nbGVcbiAgICAtIHRyYW5zaXRpb25cbiAgICAtIGFzcGVjdC1yYXRpb1xuICAgIC0gdGlsZS1yaWdodC1ib3JkZXJcbiAgICAtIGZvbnQtbGlnaHRcbiAgICAtIGZvbnQtc3Ryb25nXG4gICAgLSBmb250LWJvbGRcbiAgICAtIHRpbnRcbiAgICAtIHJpYmJvblxuXFwqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiBcbiogQGluY2x1ZGUgdHJpYW5nbGUgd2l0aGluIGEgcHNldWRvIGVsZW1lbnQgYW5kIGFkZCBwb3NpdGlvbmluZyBwcm9wZXJ0aWVzIChpZS4gdG9wLCBsZWZ0KVxuKiAkZGlyZWN0aW9uOiB1cCwgZG93biwgbGVmdCwgcmlnaHRcbiovXG4vKiBSaWJib24gc3R5bGUgKi9cbi5wYWdlLWJveGVzIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICBtYXJnaW4tYm90dG9tOiAtMjRweDtcbn1cblxuLnBhZ2UtYm94ZXM6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wYWdlLWJveGVzIC5yaWJib24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzI5NGE7XG4gIGhlaWdodDogNzhweDtcbiAgd2lkdGg6IDk1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4ucGFnZS1ib3hlcyAucmliYm9uLWZyb250LnJpYmJvbi1mcm9udC1sZWZ0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IC0yNHB4O1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udC5yaWJib24tZnJvbnQtcmlnaHQge1xuICByaWdodDogLTI0cHg7XG4gIGxlZnQ6IGF1dG87XG4gIGZsb2F0OiByaWdodDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQge1xuICAgIHdpZHRoOiA2NSU7XG4gIH1cbn1cblxuLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCBoMSwgLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCBoMiwgLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCBoMywgLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCBoNCB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCBoMSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGFnZS1ib3hlcyAucmliYm9uLWZyb250IGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCBoMiB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICBwYWRkaW5nOiAxNHB4IDMwcHg7XG4gIH1cbn1cblxuLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgcGFkZGluZzogMTVweCAzMHB4O1xuICB9XG59XG5cbi5wYWdlLWJveGVzIC5yaWJib24tZWRnZS1ib3R0b21sZWZ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICB0b3A6IDc4cHg7XG4gIGxlZnQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMCAyNHB4IDI0cHggMDtcbn1cblxuLnBhZ2UtYm94ZXMgLnJpYmJvbi1lZGdlLWJvdHRvbXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICB0b3A6IDc4cHg7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMjRweDtcbiAgYm9yZGVyLWNvbG9yOiAjMjA0MDY3IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDI0cHggMjRweCAwIDA7XG59XG5cbi5wYWdlLWJveCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5wYWdlLWJveDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBhZ2UtYm94IC5zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4ucGFnZS1ib3ggLnN1YnRpdGxlICsgLnN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLTEycHg7XG59XG5cbi5wYWdlLWJveF9faW5zaWRlLCAucGFnZS1ib3hfX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4ucGFnZS1ib3hfX2luc2lkZTphZnRlciwgLnBhZ2UtYm94X190aXRsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBhZ2UtYm94X19pbnNpZGUtLXBhZGRlZCB7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gIC5wYWdlLWJveF9faW5zaWRlLmpzLXNlYXJjaC1yZXN1bHRzLWxpc3Qge1xuICAgIHBhZGRpbmc6IDAgMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94LS1jb21ibyAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgcGFkZGluZzogMjRweCAyNHB4IDAgMDtcbiAgfVxuICAucGFnZS1ib3gtLWNvbWJvIC5wYWdlLWJveF9faW5zaWRlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5wYWdlLWJveC0tY29tYm8gLnBhZ2UtYm94X19lbGVtZW50IHtcbiAgICBwYWRkaW5nOiAwIDAgMCAyNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNsZWFyOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLnBhZ2UtYm94LS1jb21ibyAucGFnZS1ib3hfX2ltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgfVxuICAucGFnZS1ib3gtLWNvbWJvIC5sZWZ0LXNpZGVkIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5wYWdlLWJveC0tY29tYm8gLnJpZ2h0LXNpZGVkIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5wYWdlLWJveC0tY29tYm8gLnBhZ2UtYm94X19ib2R5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAucGFnZS1ib3gtLWNvbWJvIC5wYWdlLWJveF9fYm9keSB1bCBsaSwgLnBhZ2UtYm94LS1jb21ibyAucGFnZS1ib3hfX2JvZHkgb2wgbGkge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cbiAgLnBhZ2UtYm94LS1jb21ibyAuaW1hZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgfVxuICAucGFnZS1ib3gtLWNvbWJvIC5pbWFnZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5wYWdlLWJveC0tY29tYm8gLmJhY2stbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIC5wYWdlLWJveC0tY29tYm8gLmJhY2stbGluazpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGxpbmVhcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIH1cbiAgLnBhZ2UtYm94LS1jb21ibyAucGFnZS1ib3hfX2luc2lkZSA+IC5wYWdlLWJveF9fZWxlbWVudC5yaWdodC1zaWRlZDpmaXJzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLnBhZ2UtYm94LS1jb21ibyAubGVmdC1zaWRlZCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbiAgLnBhZ2UtYm94LS1jb21ibyAucmlnaHQtc2lkZWQge1xuICAgIHdpZHRoOiA2Ni42NjY2NjYlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLnBhZ2UtYm94LS1jb21ibyAuaGFsZiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAucGFnZS1ib3gtLWNvbWJvIC5mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucGFnZS1ib3gucGFnZS1ib3gtLXRocmVlLW5ld3MgLnBhZ2UtYm94X19pbnNpZGUge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4ucGFnZS1ib3gtLWZ1bGwtd2lkdGggLnBhZ2UtYm94X19pbnNpZGUge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4ucGFnZS1ib3gtLW1pZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC0tbWlkZGxlIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgLnBhZ2UtYm94LS1taWRkbGUgLnRpbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnBhZ2UtYm94LS1taWRkbGUgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDEycHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExNjBweCkge1xuICAucGFnZS1ib3gtLW1pZGRsZSAudGlsZS0tbWlkZGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICB9XG59XG5cbi5wYWdlLWJveC0tbWlkZGxlIC50aWxlLS1kb3VibGUge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5wYWdlLWJveC0tbWlkZGxlIC50aWxlLS1kb3VibGUgLnRpbGVfX2ltYWdlOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC0tbWlkZGxlIC50aWxlLS1kb3VibGUge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwJTtcbiAgfVxuICAucGFnZS1ib3gtLW1pZGRsZSAudGlsZS0tZG91YmxlOmZpcnN0LWNoaWxkIHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgLnBhZ2UtYm94LS1taWRkbGUgLnRpbGUtLWRvdWJsZSAudGlsZV9faGlnaGxpZ2h0LWZsYWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLW1pZGRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTE2MHB4KSB7XG4gIC5wYWdlLWJveC0tbWlkZGxlIHtcbiAgICB3aWR0aDogNjYuNjY2NjYlO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMy4zMzMzMyU7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1leHBlcnRpc2Uge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjcxNDI5O1xufVxuXG4ucGFnZS1ib3gtLWV4cGVydGlzZSAucGFnZS1ib3hfX2luc2lkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2JiYjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBhZ2UtYm94LS1leHBlcnRpc2UgLnRhZ3Mge1xuICB0b3A6IDcycHg7XG4gIGxlZnQ6IDI0cHg7XG4gIHJpZ2h0OiAyNHB4O1xuICBib3R0b206IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5wYWdlLWJveC0tZXhwZXJ0aXNlIC50YWdzOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucGFnZS1ib3gtLWV4cGVydGlzZSAudGFncyB1bCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLnBhZ2UtYm94LS1leHBlcnRpc2UgLnRhZ3MgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94LS1leHBlcnRpc2UgLnRhZ3MgdWwgbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5wYWdlLWJveC0tZXhwZXJ0aXNlIC50YWdzIHVsIGxpIGEge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGFnZS1ib3gtLWV4cGVydGlzZSAudGFnIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICMxMzI5NGE7XG59XG5cbi5wYWdlLWJveC0tZXhwZXJ0aXNlLmFjdGl2ZSB7XG4gIC8qcGFkZGluZy1ib3R0b206IDA7Ki9cbiAgLypoZWlnaHQ6IGF1dG87Ki9cbn1cblxuLnBhZ2UtYm94LS1leHBlcnRpc2UuYWN0aXZlIC50YWdzIHtcbiAgLypoZWlnaHQ6IGF1dG87Ki9cbn1cblxuLnBhZ2UtYm94LS1leHBlcnRpc2UuYWN0aXZlIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgLypwb3NpdGlvbjogc3RhdGljOyovXG59XG5cbi5wYWdlLWJveF9fZWxlbWVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5wYWdlLWJveF9fdGl0bGUgLnRpdGxlIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4wOTA5MTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnBhZ2UtYm94X190aXRsZSAuc3VidGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5wYWdlLWJveF9fdGl0bGUgLmFwcGxpZXMtdG8ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnBhZ2UtYm94X190aXRsZSAuYXBwbGllcy10byBhIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5bZGF0YS1jdXJyZW50LWJyYW5jaD1cImFnb1wiXSAucGFnZS1ib3hfX3RpdGxlIC5hcHBsaWVzLXRvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2UtYm94X190aXRsZSAubGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi10b3A6IC0xMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94X190aXRsZSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzE0Mjk7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIH1cbiAgLnBhZ2UtYm94X190aXRsZSAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuXG4ucGFnZS1ib3hfX2ltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnBhZ2UtYm94X19pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBhZ2UtYm94X19pbWFnZSAuYmFjay1saW5rIHtcbiAgYmFja2dyb3VuZDogIzEzMjk0YTtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xufVxuXG4ucGFnZS1ib3hfX2NvbnRhY3RzIHtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLnBhZ2UtYm94X19jb250YWN0cyAudGVsZXBob25lLW51bWJlcnMge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ucGFnZS1ib3hfX2NvbnRhY3RzIC5lbWFpbCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5wYWdlLWJveF9fY29udGFjdHMgLmVtYWlsIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xufVxuXG4ucGFnZS1ib3hfX2NvbnRhY3RzIC5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnBhZ2UtYm94X19jb250YWN0cyAubGFuZ3VhZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnBhZ2UtYm94X19wYXJ0bmVyIC5zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIHtcbiAgbWluLWhlaWdodDogNzJweDtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3Mge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiAjMTMyOTRhO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSAuaWNvbi14aW5nIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjMTMyOTRhO1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhIC5pY29uLXR3aXR0ZXIge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICMxMzI5NGE7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGEgLmljb24tbGlua2VkaW4ge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICMxMzI5NGE7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGEgLmljb24tY2FsZW5kYXIge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICMxMzI5NGE7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGEgLmljb24tc2hhcmVfYWx0IHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjMTMyOTRhO1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhIC5pY29uLWxhd25vdyB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogIzEzMjk0YTtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSAuaWNvbi1yZWd6b25lIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjMTMyOTRhO1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhIC5pY29uLWVndWlkZSB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogIzEzMjk0YTtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSAuaWNvbi1mYWNlYm9vayB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogIzEzMjk0YTtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSBzdmcsXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAzMHB4O1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhIC5pY29uLXBob25lIHtcbiAgc3Ryb2tlLXdpZHRoOiAxNTtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSAuaWNvbi1ib29rbWFyayB7XG4gIHN0cm9rZS13aWR0aDogMjRweDtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYS5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYS51c2VyX2NhcmQge1xuICBmaWxsOiAjMTMyOTRhO1xuICBzdHJva2U6ICMxMzI5NGE7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGE6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLnBhZ2UtYm94X19saW5rcyB7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICB9XG4gIC5wYWdlLWJveF9fbGlua3MgLmxpbmtzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3hfX2xpbmtzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTU5cHgpIHtcbiAgLnBhZ2UtYm94X19saW5rcyAubGlua3MgYTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IGEge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgfVxufVxuXG4ucGFnZS1ib3gtLWxvY2F0aW9uIC50ZXh0IHtcbiAgcGFkZGluZzogMjRweDtcbn1cblxuLnBhZ2UtYm94LS1sb2NhdGlvbiAudGV4dCBhIHtcbiAgY2xlYXI6IGxlZnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjNjY2O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5wYWdlLWJveC0tbG9jYXRpb24gLnRleHQgYTphZnRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGxpbmVhcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnBhZ2UtYm94LS1sb2NhdGlvbiAudGV4dCAubG9jYXRpb25zLWxpc3QgYSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wYWdlLWJveC0tbG9jYXRpb24gLnRleHQgLmxvY2F0aW9ucy1saXN0IGE6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnZS1ib3gtLWxvY2F0aW9uIC5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnBhZ2UtYm94LS1sb2NhdGlvbiAubWFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMzEycHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLnBhZ2UtYm94LS1sb2NhdGlvbiAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgbWluLWhlaWdodDogMzEycHg7XG4gIH1cbiAgLnBhZ2UtYm94LS1sb2NhdGlvbiAucGFnZS1ib3hfX2VsZW1lbnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5wYWdlLWJveC0tbG9jYXRpb24gLmxlZnQtc2lkZWQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMlO1xuICB9XG4gIC5wYWdlLWJveC0tbG9jYXRpb24gLnJpZ2h0LXNpZGVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzJTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG5cbi5wYWdlLWJveC0tdGhyZWUtbmV3cy5pbnRlcm5hdGlvbmFsLWRlc2tzLWJveCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLnBhZ2UtYm94LS10aHJlZS1uZXdzIC50aWxlOm5vdCgudGlsZS0tYnVja2V0LXB1YmxpY2F0aW9uKSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wYWdlLWJveC0taGlnaGxpZ2h0ZWQtdGlsZS5pbnRlcm5hdGlvbmFsLWRlc2tzLWJveCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC0taGlnaGxpZ2h0ZWQtdGlsZSAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgYmFja2dyb3VuZDogI2VhZWFlYTtcbiAgfVxufVxuXG4ucGFnZS1ib3gtLWhvbWVwYWdlLXRocmVlLW5ld3Mge1xuICBmbG9hdDogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMjRweDtcbn1cblxuLnBhZ2UtYm94LS1ob21lcGFnZS10aHJlZS1uZXdzIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgYmFja2dyb3VuZDogI2VhZWFlYTtcbn1cblxuLmJsb2NrLXNpdGVtYXAgLm1haW4tY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYmxvY2stc2l0ZW1hcCAubWFpbi1jb250ZW50IC5wYWdlLWJveF9faW5zaWRlIHtcbiAgcGFkZGluZzogMjRweDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIHtcbiAgb3ZlcmZsb3c6IHVuc2V0O1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLnJpYmJvbi13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDE2cHg7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcC1jb250cm9scyAucmliYm9uLXdyYXBwZXIgLnJpYmJvbi1mcm9udCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLnJpYmJvbi13cmFwcGVyIC5yaWJib24tZWRnZS1ib3R0b21sZWZ0IHtcbiAgdG9wOiA5M3B4O1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLmJ0bi5leHBhbmQtYm94LWJ0biB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjbGVhcjogbGVmdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLmJ0bi5leHBhbmQtYm94LWJ0bjphZnRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGxpbmVhcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIC5idG4uZXhwYW5kLWJveC1idG46bnRoLWNoaWxkKC1uKzEpIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIC5idG4uZXhwYW5kLWJveC1idG46YWZ0ZXIge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLmJ0bi5leHBhbmQtYm94LWJ0biB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMyUgLSA3cHgpO1xuICB9XG4gIC5wYWdlLWJveC0tc2l0ZW1hcC1jb250cm9scyAuYnRuLmV4cGFuZC1ib3gtYnRuOm50aC1jaGlsZCgtbis0KSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLmJ0bi5leHBhbmQtYm94LWJ0bjpudGgtY2hpbGQoM24pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLmJ0bi5leHBhbmQtYm94LWJ0biB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDExcHgpO1xuICB9XG4gIC5wYWdlLWJveC0tc2l0ZW1hcC1jb250cm9scyAuYnRuLmV4cGFuZC1ib3gtYnRuOm50aC1jaGlsZCgtbiszKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLmJ0bi5leHBhbmQtYm94LWJ0bjpudGgtY2hpbGQoMm4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwIC5wYWdlLWJveF9faW5zaWRlIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAgLnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBjb2xvcjogIzU1NTtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwIC5zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcCAuc2l0ZW1hcC1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAgLnNpdGVtYXAtbGlzdCAuY29sdW1uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmxleC1iYXNpczogMTAwJTtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwIC5zaXRlbWFwLWxpc3QgLmNvbHVtbiA+IC5zaXRlbWFwLWxpc3RfX2xldmVsLTI6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wYWdlLWJveC0tc2l0ZW1hcCAuc2l0ZW1hcC1saXN0IC5jb2x1bW4ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjRweCk7XG4gIH1cbiAgLnBhZ2UtYm94LS1zaXRlbWFwIC5zaXRlbWFwLWxpc3QgLmNvbHVtbiA+IC5zaXRlbWFwLWxpc3RfX2xldmVsLTI6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiA1NHB4O1xuICB9XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcCAuc2l0ZW1hcC1saXN0IC5zaXRlbWFwLWxpc3RfX2xldmVsLTEge1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgY29sb3I6ICMxMzI5NGE7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAgLnNpdGVtYXAtbGlzdCAuc2l0ZW1hcC1saXN0X19sZXZlbC0xIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAgLnNpdGVtYXAtbGlzdCAuc2l0ZW1hcC1saXN0X19sZXZlbC0yIHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcCAuc2l0ZW1hcC1saXN0IC5zaXRlbWFwLWxpc3RfX2xldmVsLTI6bnRoLW9mLXR5cGUoMSkge1xuICBwYWRkaW5nLXRvcDogNnB4O1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAgLnNpdGVtYXAtbGlzdCAuc2l0ZW1hcC1saXN0X19sZXZlbC0yIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcC5wYWdlLWJveC0tc2l0ZW1hcF9fb25lLWxldmVsIC5zaXRlbWFwLWxpc3QgLnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLnBhZ2UtYm94LS1zaXRlbWFwX19vbmUtbGV2ZWwgLnNpdGVtYXAtbGlzdCAuc2l0ZW1hcC1saXN0X19sZXZlbC0xIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLnBhZ2UtYm94LS1zaXRlbWFwLWJyYW5jaCAudGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAucGFnZS1ib3gtLXNpdGVtYXAtYnJhbmNoIC5zaXRlbWFwLWxpc3RfX2xldmVsLTEge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAucGFnZS1ib3gtLXNpdGVtYXAtYnJhbmNoIC5zaXRlbWFwLWxpc3RfX2xldmVsLTEgLnJlZ3VsYXItbGluayBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjNWE3N2EyO1xufVxuXG4vKiBTaGFyZSBibG9jayovXG4vKiBSaWJib24gc3R5bGUgKi9cbi8qXG5Db250YWN0IGZvcm0gYmxvY2tcbiAqL1xuLmtleS1jb250YWN0IGgzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ua2V5LWNvbnRhY3Qucm93LW9yaWVudGVkOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ua2V5LWNvbnRhY3Qucm93LW9yaWVudGVkIC5wZXJzb24tbGluayB7XG4gIHJpZ2h0OiA1MHB4O1xuICBib3R0b206IDA7XG59XG5cbi5rZXktY29udGFjdC5yb3ctb3JpZW50ZWQgLnBlcnNvbi1pbWFnZS1waG90byB7XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDYwJTtcbn1cblxuLmtleS1jb250YWN0LnJvdy1vcmllbnRlZCAucGVyc29uLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogNzUlO1xuICBmbG9hdDogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogMTBweCAwIDEwcHggMjBweDtcbn1cblxuLmtleS1jb250YWN0LnJvdy1vcmllbnRlZCAucGVyc29uLXRleHQgLnBlcnNvbi1hZGRyZXNzLWJsb2NrIHtcbiAgd2lkdGg6IDg0JTtcbn1cblxuLmtleS1jb250YWN0LnJvdy1vcmllbnRlZCAucGVyc29uLXRleHQgLnBlcnNvbi1hZGRyZXNzLWJsb2NrIC5uYW1lIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ua2V5LWNvbnRhY3Qucm93LW9yaWVudGVkIC5wZXJzb24tdGV4dCAuYWN0aW9uLWJhci5wZXJzb24tYWN0aW9ucyB7XG4gIHdpZHRoOiAxNiU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5rZXktY29udGFjdC5yb3ctb3JpZW50ZWQgLnBlcnNvbi10ZXh0IC5hY3Rpb24tYmFyLnBlcnNvbi1hY3Rpb25zIC5hY3Rpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5rZXktY29udGFjdC5yb3ctb3JpZW50ZWQgLnBlcnNvbi10ZXh0IC5hY3Rpb24tYmFyLnBlcnNvbi1hY3Rpb25zIC5hY3Rpb24uYWN0aW9uLS1waG9uZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNweDtcbn1cblxuLmtleS1jb250YWN0LnJvdy1vcmllbnRlZCAubGlzdGluZ19fbG9hZC1tb3JlIHtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY29sb3I6ICMxMzI5NGE7XG59XG5cbi5rZXktY29udGFjdC5yb3ctb3JpZW50ZWQgLmxpc3RpbmdfX2xvYWQtbW9yZSAuYnRuIHtcbiAgcGFkZGluZzogNnB4IDI0cHg7XG59XG5cbi5rZXktY29udGFjdCAucGVyc29uLWltYWdlLXBob3RvIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZsb2F0OiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiAxMjBweDtcbn1cblxuLmtleS1jb250YWN0IC5wZXJzb24taW1hZ2UtcGhvdG8gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5rZXktY29udGFjdCAucGVyc29uLXRleHQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmtleS1jb250YWN0IC5wZXJzb24tYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLypcbkluZm9ncmFwaGljcyBibG9ja1xuICovXG4vKiBWaWRlbyBibG9jayAqL1xuLyogSGFsZiBibG9jayAqL1xuLyogQ29udGVudCBibG9jayAqL1xuLyogRG93bmxvYWQgYmxvY2sqL1xuLyogR2VuZXJhbCBwYWdlICovXG4udG9wX3B1YmxpY2F0aW9uIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlLmVkaXRvcmlhbF9tb2RlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5yb3cge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IC5ibG9ja19iYXNlLmhhbGY6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IC5ibG9ja19iYXNlLmhhbGY6bnRoLWNoaWxkKDIpIC5yaWJib24tZnJvbnQge1xuICByaWdodDogLTI0cHg7XG4gIGxlZnQ6IGF1dG87XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLnJvdyAuYmxvY2tfYmFzZS5oYWxmOm50aC1jaGlsZCgyKSAucmliYm9uLWVkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHRvcDogNzhweDtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMjRweCAyNHB4IDAgMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLnJvdyAuYmxvY2tfYmFzZS5oYWxmLmJsb2NrX2ludmlzaWJsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IC5iYXNlX2Jsb2NrX19jb250ZW50LmZsb2F0LS1yaWdodCB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IC5ibG9ja19iYXNlLmhhbGY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLnJvdyAuYmxvY2tfYmFzZS5oYWxmOm50aC1jaGlsZCgyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAubGFuZGluZy1wYWdlX19ibG9jaywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19zbGlkZXIsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Rvd25sb2FkLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSB7XG4gICAgbWluLWhlaWdodDogMzM1cHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMTkxOTE5O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCB7XG4gICAgZmxleC1iYXNpczogNjYuNjYlO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5idG4ge1xuICBiYWNrZ3JvdW5kOiAjYWJiMzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgLnR3by1zdGF0ZS1ibG9jayB7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgLnR3by1zdGF0ZS1ibG9ja19faW5pdGlhbCB7XG4gIG92ZXJmbG93OiBpbml0aWFsO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMjk0YTtcbiAgaGVpZ2h0OiA3OHB4O1xuICB3aWR0aDogOTUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24tZnJvbnQge1xuICAgIHdpZHRoOiA2NSU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IGgxLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24tZnJvbnQgaDIsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgLnJpYmJvbi1mcm9udCBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IGg0IHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24tZnJvbnQgaDEge1xuICBmb250LXNpemU6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IGgyIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24tZnJvbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgcGFkZGluZzogMTRweCAzMHB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgLnJpYmJvbi1mcm9udCBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IGgzIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDEsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgyLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDQge1xuICBmb250LXNpemU6IDJyZW07XG4gIHBhZGRpbmc6IDdweCAzMHB4O1xuICBsaW5lLWhlaWdodDogMnJlbTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWVkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMCAyNHB4IDI0cHggMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAucmlnaHQge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMTMyOTRhO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLnJpZ2h0IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAucmlnaHQgLmtleS1jb250YWN0IHtcbiAgcGFkZGluZzogMjBweCAyNHB4IDI0cHggMjRweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAucmlnaHQgLmtleS1jb250YWN0IC5wZXJzb24tbmFtZSAubmFtZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAucmlnaHQgLnNob3ctYWxsIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmNvbnRhY3QtZm9ybV9faGVhZC0tc2VudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLnRleHQge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIGZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIHRleHRhcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZDBkNGRiO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIHRleHRhcmVhIHtcbiAgaGVpZ2h0OiAxMjBweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAucHJpdmFjeSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAuY29udGFjdC1mb3JtX19vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAuY29udGFjdC1mb3JtX19lcnJvciB7XG4gIGNvbG9yOiAjZTUxMzEzO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5jb250YWN0LWZvcm1fX2hlYWQtLXNlbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtLmNvbnRhY3QtZm9ybS0td3JvbmcgdGV4dGFyZWEsXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtLmNvbnRhY3QtZm9ybS0td3JvbmcgaW5wdXRbdHlwZT10ZXh0XSxcbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0uY29udGFjdC1mb3JtLS13cm9uZyBpbnB1dFt0eXBlPWVtYWlsXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNTEzMTM7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0uY29udGFjdC1mb3JtLS13cm9uZyAuY29udGFjdC1mb3JtX19lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtLmNvbnRhY3QtZm9ybS0tc3VibWl0dGluZyA+ICoge1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0uY29udGFjdC1mb3JtLS1zdWJtaXR0aW5nIC5jb250YWN0LWZvcm1fX292ZXJsYXkge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyc7XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTIwcHg7XG4gIGJhY2tncm91bmQ6ICNhYmIzMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybS5jb250YWN0LWZvcm0tLXN1Ym1pdHRpbmcgLmNvbnRhY3QtZm9ybV9fb3ZlcmxheS1jb250ZW50IHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtLmNvbnRhY3QtZm9ybS0tc2VudCAuY29udGFjdC1mb3JtX19oZWFkLS1pbml0aWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybS5jb250YWN0LWZvcm0tLXNlbnQgLmNvbnRhY3QtZm9ybV9faGVhZC0tc2VudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuaW5mb2dyYXBoaWNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIGJ1dHRvbi5zbGlkZXJfbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayBidXR0b24uc2xpZGVyX25hdiAuaWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNDUxLjg0NiA0NTEuODQ3JyUzZSUzY2clM2UlM2NwYXRoIGZpbGw9JyUyMzY2NicgZD0nTTM0NS40NDEgMjQ4LjI5MkwxNTEuMTU0IDQ0Mi41NzNjLTEyLjM1OSAxMi4zNjUtMzIuMzk3IDEyLjM2NS00NC43NSAwLTEyLjM1NC0xMi4zNTQtMTIuMzU0LTMyLjM5MSAwLTQ0Ljc0NEwyNzguMzE4IDIyNS45MiAxMDYuNDA5IDU0LjAxN2MtMTIuMzU0LTEyLjM1OS0xMi4zNTQtMzIuMzk0IDAtNDQuNzQ4IDEyLjM1NC0xMi4zNTkgMzIuMzkxLTEyLjM1OSA0NC43NSAwbDE5NC4yODcgMTk0LjI4NGM2LjE3NyA2LjE4IDkuMjYyIDE0LjI3MSA5LjI2MiAyMi4zNjYgMCA4LjA5OS0zLjA5MSAxNi4xOTYtOS4yNjcgMjIuMzczeicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIpIGNlbnRlciBuby1yZXBlYXQ7XG4gIHdpZHRoOiAyMHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIGJ1dHRvbi5zbGlkZXJfbmF2Lm5leHQge1xuICByaWdodDogM3B4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayBidXR0b24uc2xpZGVyX25hdi5uZXh0IHtcbiAgICByaWdodDogOHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIGJ1dHRvbi5zbGlkZXJfbmF2Lm5leHQge1xuICAgIHJpZ2h0OiAxNXB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgYnV0dG9uLnNsaWRlcl9uYXYubmV4dCAuaWNvbiB7XG4gIGJvdHRvbTogNTElO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgYnV0dG9uLnNsaWRlcl9uYXYucHJldmlvdXMge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBsZWZ0OiAzcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIGJ1dHRvbi5zbGlkZXJfbmF2LnByZXZpb3VzIHtcbiAgICBsZWZ0OiA4cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgYnV0dG9uLnNsaWRlcl9uYXYucHJldmlvdXMge1xuICAgIGxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayBidXR0b24uc2xpZGVyX25hdi5wcmV2aW91cyAuaWNvbiB7XG4gIHRvcDogNTElO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgYnV0dG9uLnNsaWRlcl9uYXYgLmljb24gc3ZnIHtcbiAgc3Ryb2tlOiAjNjY2O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5pdGVtcyB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5pdGVtcyAucGFydG5lcl9pbnRlcnZpZXcgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5pdGVtcyAucGFydG5lcl9pbnRlcnZpZXcgLnBhcnRuZXJfaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyAucGFydG5lcl9pbWFnZSBpbWcge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyAucGFydG5lcl9pbWFnZSAubmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAycHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyAuaW50ZXJ2aWV3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMjk0YTtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWluLWhlaWdodDogMTMwcHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyAuaW50ZXJ2aWV3OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgbGluZWFyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgY3VycmVudENvbG9yO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBtYXJnaW4tbGVmdDogMnB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMjk0YTtcbiAgaGVpZ2h0OiA3OHB4O1xuICB3aWR0aDogOTUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQge1xuICAgIHdpZHRoOiA2NSU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGgxLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQgaDIsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLnJpYmJvbi1mcm9udCBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGg0IHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQgaDEge1xuICBmb250LXNpemU6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGgyIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgcGFkZGluZzogMTRweCAzMHB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLnJpYmJvbi1mcm9udCBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGgzIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDEsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgyLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDQge1xuICBmb250LXNpemU6IDJyZW07XG4gIHBhZGRpbmc6IDdweCAzMHB4O1xuICBsaW5lLWhlaWdodDogMnJlbTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWVkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMCAyNHB4IDI0cHggMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGgyIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgcGFkZGluZzogMTRweCAzMHB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jayAuc2xpY2stc2xpZGVyIGJ1dHRvbi5zbGlkZXJfbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMzNweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jayAuc2xpY2stc2xpZGVyIGJ1dHRvbi5zbGlkZXJfbmF2IHtcbiAgICB3aWR0aDogNDBweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2sgLnNsaWNrLXNsaWRlciBidXR0b24uc2xpZGVyX25hdi5uZXh0IHtcbiAgcmlnaHQ6IDIwcHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jayAuc2xpY2stc2xpZGVyIGJ1dHRvbi5zbGlkZXJfbmF2Lm5leHQgLmljb24ge1xuICBib3R0b206IDE4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2Uuc2xpZGVyX2Jsb2NrIC5zbGljay1zbGlkZXIgYnV0dG9uLnNsaWRlcl9uYXYucHJldmlvdXMge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBsZWZ0OiAyMHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2sgLnNsaWNrLXNsaWRlciBidXR0b24uc2xpZGVyX25hdi5wcmV2aW91cyAuaWNvbiB7XG4gIHRvcDogMThweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2sgLnNsaWNrLXNsaWRlciBidXR0b24uc2xpZGVyX25hdiAuaWNvbiBzdmcge1xuICBzdHJva2U6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jayAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMSBkaXYuaXRlbXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDM4MHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zID4gLmNvbnRlbnQtYmxvY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzEzMjk0YTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zID4gLmNvbnRlbnQtYmxvY2sge1xuICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMSBkaXYuaXRlbXMgPiAuY29udGVudC1ibG9jayBwIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zIHtcbiAgICBtaW4taGVpZ2h0OiAzMzBweDtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zIC5jb250ZW50LWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiAzMzBweDtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zIC5oYWxmOm5vdCguYmFzZV9ibG9ja19fY29udGVudCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2Uuc2xpZGVyX2Jsb2NrLm1heF9jb3VudF8xIGRpdi5pdGVtcyB7XG4gICAgaGVpZ2h0OiA2MTBweDtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zIC5jb250ZW50LWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiA2MTBweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zIC5zbGljay1kb3RzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm90dG9tOiAxMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2Uuc2xpZGVyX2Jsb2NrLm1heF9jb3VudF8xIGRpdi5pdGVtcyAuc2xpY2stZG90cyB7XG4gICAgbGVmdDogYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMiBkaXYuaXRlbXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDM4MHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzIgZGl2Lml0ZW1zIC5jb250ZW50LWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMTMyOTRhO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2Uuc2xpZGVyX2Jsb2NrLm1heF9jb3VudF8yIGRpdi5pdGVtcyAuY29udGVudC1ibG9jayAuaGFsZiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMiBkaXYuaXRlbXMgLmNvbnRlbnQtYmxvY2sgLmhhbGYuYmFzZV9ibG9ja19fY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMiBkaXYuaXRlbXMgLmNvbnRlbnQtYmxvY2sgLmhhbGYuYmFzZV9ibG9ja19fY29udGVudCAudGV4dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMiBkaXYuaXRlbXMgLmNvbnRlbnQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzIgZGl2Lml0ZW1zIC5jb250ZW50LWJsb2NrIHAge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2Uuc2xpZGVyX2Jsb2NrLm1heF9jb3VudF8yIGRpdi5pdGVtcyAuc2xpY2stZG90cyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvdHRvbTogMTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMiBkaXYuaXRlbXMgLnNsaWNrLWRvdHMge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sge1xuICBtaW4taGVpZ2h0OiAzODBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzE5MTkxOTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jayAuYmFzZV9ibG9ja19fY29udGVudCB7XG4gIHBhZGRpbmc6IDQycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sgLmJhc2VfYmxvY2tfX2NvbnRlbnQgLnRleHQge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jayAuYmFzZV9ibG9ja19fY29udGVudCAudGV4dCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcHVibGljYXRpb24ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzEzMjk0YTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sudHlwZV9wdWJsaWNhdGlvbiAuYmFzZV9ibG9ja19fY29udGVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcHVibGljYXRpb24gLmJhc2VfYmxvY2tfX2NvbnRlbnQgLnRleHQge1xuICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgY29sb3I6ICMxMzI5NGE7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3B1YmxpY2F0aW9uIC5iYXNlX2Jsb2NrX19jb250ZW50IC50ZXh0IHtcbiAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3B1YmxpY2F0aW9uIC5iYXNlX2Jsb2NrX19jb250ZW50IC50ZXh0IHAge1xuICBjb2xvcjogIzEzMjk0YTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcHVibGljYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LWhlaWdodDogMzgwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcHVibGljYXRpb24gLmhhbGY6bm90KC5iYXNlX2Jsb2NrX19jb250ZW50KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3RleHRfY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfdGV4dF9jb250ZW50IC50ZXh0IHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMxOTE5MTk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3RleHRfY29udGVudCAudGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sudHlwZV90ZXh0X2NvbnRlbnQgLnRleHQgcCB7XG4gIGNvbG9yOiAjMTkxOTE5O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3RleHRfY29udGVudCAudGV4dCAuYnRuLS1jZW50ZXIge1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1hcmdpbjogMjVweCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sudHlwZV9xdW90ZSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLmxpbmthYmxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jayAubGlua19hcnJvdyB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzEuNDkgMzEuNDknJTNlJTNjcGF0aCBmaWxsPSclMjMxMzI5NGEnIGQ9J00yMS4yMDUgNS4wMDdhMS4xMTIgMS4xMTIgMCAwMC0xLjU4NyAwIDEuMTIgMS4xMiAwIDAwMCAxLjU3MWw4LjA0NyA4LjA0N0gxLjExMUExLjEwNiAxLjEwNiAwIDAwMCAxNS43MzdjMCAuNjE5LjQ5MiAxLjEyNyAxLjExMSAxLjEyN2gyNi41NTRsLTguMDQ3IDguMDMyYy0uNDI5LjQ0NC0uNDI5IDEuMTU5IDAgMS41ODdhMS4xMTIgMS4xMTIgMCAwMDEuNTg3IDBsOS45NTItOS45NTJhMS4wOTMgMS4wOTMgMCAwMDAtMS41NzFsLTkuOTUyLTkuOTUzeicvJTNlJTNjL3N2ZyUzZVwiKSBjZW50ZXIgbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNHB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcXVvdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMyOTRhO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sudHlwZV9xdW90ZSBibG9ja3F1b3RlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcXVvdGUgYmxvY2txdW90ZTo6YmVmb3JlLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3F1b3RlIGJsb2NrcXVvdGU6OmFmdGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcXVvdGUgYmxvY2txdW90ZTo6YWZ0ZXIge1xuICB0b3A6IHVuc2V0O1xuICBib3R0b206IC0xMnB4O1xuICBwYWRkaW5nOiB1bnNldDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sgLmhhbGYge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrIC5oYWxmIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrIGgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sgaDMge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrIC5oYWxmX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrIC5oYWxmX19pbWFnZSBpbWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jayAuaGFsZl9faW1hZ2UgaW1nIHtcbiAgICAvKiBTZXQgdXAgcHJvcG9ydGlvbmF0ZSBzY2FsaW5nICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8qIFNldCB1cCBwb3NpdGlvbmluZyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuaW50cm8ge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucmliYm9uLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5yaWJib24tZnJvbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMyOTRhO1xuICBoZWlnaHQ6IDc4cHg7XG4gIHdpZHRoOiA5NSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5yaWJib24tZnJvbnQge1xuICAgIHdpZHRoOiA2NSU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMSwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMiwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoNCB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucmliYm9uLWZyb250IGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMiB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICBwYWRkaW5nOiAxNHB4IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgcGFkZGluZzogMTVweCAzMHB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMSwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgyLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDMsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoNCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgcGFkZGluZzogN3B4IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucmliYm9uLWVkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMCAyNHB4IDI0cHggMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmJsb2NrX19pbnRybyB7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC50ZXh0LWNvbnRlbnQge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuaGFsZiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmhhbGYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCB7XG4gIG1hcmdpbjogYXV0bztcbiAgaGVpZ2h0OiAzODRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94LmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94LWltYWdlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgbWluLWhlaWdodDogNDMwcHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3guYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3gtaW1hZ2UgLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8ge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvIC5ibG9ja192aWRlby1wbGF5ZXItdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnByZXZpZXctYnV0dG9uIHtcbiAgei1pbmRleDogMTA7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnByZXZpZXctYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0NSU7XG4gIGxlZnQ6IDQzJTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAtMjBweCAwIDAgLTEwcHg7XG4gIGJvcmRlci1sZWZ0OiA4MHB4IHNvbGlkIHJnYmEoMTksIDQxLCA3NCwgMC43NSk7XG4gIGJvcmRlci10b3A6IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zO1xuICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAzMDBtcztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucHJldmlldy1idXR0b246YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ1JTtcbiAgICBsZWZ0OiA0OCU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnByZXZpZXctYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDgwcHggc29saWQgcmdiYSgxOSwgNDEsIDc0LCAwLjkpO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMjk0YTtcbiAgaGVpZ2h0OiA3OHB4O1xuICB3aWR0aDogOTUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQge1xuICAgIHdpZHRoOiA2NSU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250IGgxLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQgaDIsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnJpYmJvbi1mcm9udCBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250IGg0IHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQgaDEge1xuICBmb250LXNpemU6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250IGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250IGgyIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgcGFkZGluZzogMTRweCAzMHB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnJpYmJvbi1mcm9udCBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250IGgzIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDEsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgyLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDQge1xuICBmb250LXNpemU6IDJyZW07XG4gIHBhZGRpbmc6IDdweCAzMHB4O1xuICBsaW5lLWhlaWdodDogMnJlbTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWVkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMCAyNHB4IDI0cHggMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMyOTRhO1xuICBoZWlnaHQ6IDc4cHg7XG4gIHdpZHRoOiA5NSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAucmliYm9uLWZyb250IHtcbiAgICB3aWR0aDogNjUlO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAucmliYm9uLWZyb250IGgxLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udCBoMiwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQgaDMsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAucmliYm9uLWZyb250IGg0IHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udCBoMSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udCBoMSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAucmliYm9uLWZyb250IGgyIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICBwYWRkaW5nOiAxNHB4IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQgaDMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAucmliYm9uLWZyb250IGgzIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMSwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMiwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoNCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgcGFkZGluZzogN3B4IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1lZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBsZWZ0OiAtMjRweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMjA0MDY3IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDAgMjRweCAyNHB4IDA7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAuYmxvY2tfX2ludHJvIHtcbiAgcGFkZGluZzogMjRweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC50aWxlX19oZWFkaW5nIHtcbiAgY29sb3I6ICMxMzI5NGE7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnRpbGVfX2hlYWRpbmcge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAuYnV0dG9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLmJ1dHRvbi1jb250YWluZXIgLmJ0bi5sb2FkLW1vcmUge1xuICBiYWNrZ3JvdW5kOiAjYWJiMzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19kb3dubG9hZCAuZGwtYm94IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLWhlaWdodDogMjYwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfZG93bmxvYWQgLmRsLWJveCB7XG4gICAgbWluLWhlaWdodDogMzM1cHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Rvd25sb2FkIC5kbC1ib3ggLmRsLWJveF9fdGl0bGUge1xuICBtYXJnaW46IDMwcHggMDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBsaW5lLWhlaWdodDogMzVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19kb3dubG9hZCAuZGwtYm94IC5kbC1ib3hfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuZmx5b3V0LW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICMxMzI5NGE7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMjYwcHg7XG4gIHotaW5kZXg6IDMzO1xuICByaWdodDogMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuZmx5b3V0LW1lbnUgLmZseW91dC1tZW51LWVsZW1lbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA1MHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSA+IGhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwIDVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiAjZmZmO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDEzcHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi14aW5nIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tdHdpdHRlciB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLWxpbmtlZGluIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tY2FsZW5kYXIge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1zaGFyZV9hbHQge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1sYXdub3cge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1yZWd6b25lIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tZWd1aWRlIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tZmFjZWJvb2sge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogOXB4O1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIHtcbiAgaGVpZ2h0OiAyOHB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5zaGFyaWZmLWJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIHNwYW4uZmEge1xuICBmb250LXNpemU6IDE4cHg7XG4gIHdpZHRoOiAyOHB4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIHNwYW4uZmEge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlIC50aWxlX19oZWFkaW5nIHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWF4LWhlaWdodDogNzdweDtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIHdvcmQtd3JhcDogaW5oZXJpdDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlIC5zaG93LWFsbDphZnRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgbGluZWFyO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgY3VycmVudENvbG9yO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQgLnRpbGUudGlsZS0tZ3JheSAudGlsZV9faGVhZGluZyB7XG4gIGNvbG9yOiAjMTMyOTRhO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlLnRpbGUtLWdyYXkgLnRpbGVfX2hlYWRpbmcge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZS50aWxlLS1ncmF5IC50aWxlX19tb3JlIHtcbiAgY29sb3I6ICMxMzI5NGE7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQgLnRpbGUudGlsZS0tZ3JheSAudGlsZV9fbW9yZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQgLnRpbGUgLnRpbGVfX2ltYWdlIHtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlIC50aWxlX19pbWFnZSBwaWN0dXJlIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZSAudGlsZV9faW1hZ2UgcGljdHVyZSBpbWcge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZSAudGlsZV9fY29udGVudCB7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIH1cbiAgLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlIC50aWxlX19jb250ZW50IC50aWxlX19oZWFkaW5nIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQgLnRpbGUgLnRpbGVfX21vcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExNjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQgLnRpbGUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gMyk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICB9XG4gIC50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZSAudGlsZV9faW1hZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIH1cbiAgLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlIC50aWxlX19jb250ZW50IHtcbiAgICBsZWZ0OiAyNHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgfVxufVxuXG4udGV4dC10cmFuc2Zvcm0tdXBwZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLm1haW4tY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAubGVmdCB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNjY2Mgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyO1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wYXJ0bmVyLWludGVydmlldyAuY29udGFjdC1mb3JtIC5sZWZ0IHtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NiU7XG4gIH1cbn1cblxuLnBhcnRuZXItaW50ZXJ2aWV3IC5jb250YWN0LWZvcm0gLmxlZnQgaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYXJ0bmVyLWludGVydmlldyAuY29udGFjdC1mb3JtIC5sZWZ0IGgxIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLnBhcnRuZXItaW50ZXJ2aWV3IC5jb250YWN0LWZvcm0gLnJpZ2h0IHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgYmFja2dyb3VuZDogIzEzMjk0YTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAucmlnaHQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzJTtcbiAgfVxufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAuY29sdW1uIHtcbiAgcGFkZGluZzogMjRweCA0MnB4O1xufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAua2V5LWNvbnRhY3QgaDMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wYXJ0bmVyLWludGVydmlldyAuY29udGFjdC1mb3JtIC5rZXktY29udGFjdCAucGVyc29uLWltYWdlLXBob3RvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAua2V5LWNvbnRhY3QgLnBlcnNvbi1pbWFnZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAua2V5LWNvbnRhY3QgLnBlcnNvbi10ZXh0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wYXJ0bmVyLWludGVydmlldyAuY29udGFjdC1mb3JtIC5rZXktY29udGFjdCAucGVyc29uLWFjdGlvbnMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLm1haW4tY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmNmLCAudG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLm5hdiwgLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5tZWRpYSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAuY29sdW1uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAtMTAwJTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb25fc3VicGFnZSAubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY2LjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmxlZnQgLmdlbmVyYWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAucmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb25fc3VicGFnZSAucmlnaHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMiU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLnJpZ2h0IC5rZXktY29udGFjdCBoMyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAucmlnaHQgLmtleS1jb250YWN0IC5zaG93LWFsbCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgbGkge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzEzMjk0YTtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiAyNjBweDtcbiAgei1pbmRleDogMzM7XG4gIHJpZ2h0OiAwO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmZseW91dC1tZW51IC5mbHlvdXQtbWVudS1lbGVtZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNTBweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSA+IGhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwIDVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcge1xuICBmaWxsOiBub25lO1xuICBzdHJva2U6ICNmZmY7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbjogMTNweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcgLmljb24teGluZyB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcgLmljb24tdHdpdHRlciB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcgLmljb24tbGlua2VkaW4ge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLWNhbGVuZGFyIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmZseW91dC1tZW51IHN2ZyAuaWNvbi1zaGFyZV9hbHQge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLWxhd25vdyB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcgLmljb24tcmVnem9uZSB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcgLmljb24tZWd1aWRlIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmZseW91dC1tZW51IHN2ZyAuaWNvbi1mYWNlYm9vayB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDlweDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAuZmx5b3V0LW1lbnUgLnNpZGViYXItc2hhcmlmZiAuc2hhcmlmZi1idXR0b24ge1xuICBoZWlnaHQ6IDI4cHg7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb25fc3VicGFnZSAuZmx5b3V0LW1lbnUgLnNpZGViYXItc2hhcmlmZiAuc2hhcmlmZi1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAuZmx5b3V0LW1lbnUgLnNpZGViYXItc2hhcmlmZiAuc2hhcmlmZi1idXR0b24gc3Bhbi5mYSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgd2lkdGg6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5zaGFyaWZmLWJ1dHRvbiBzcGFuLmZhIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIHtcbiAgb3ZlcmZsb3c6IHVuc2V0O1xufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLXNpZGUge1xuICBiYWNrZ3JvdW5kOiAjMTMyOTRhO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjRweDtcbiAgb3ZlcmZsb3c6IHVuc2V0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLXNpZGUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLXNpZGUgLmxpc3RpbmdfX2xvYWQtbW9yZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2Utc2lkZSAubGlzdGluZ19fbG9hZC1tb3JlIC5idG4ge1xuICBiYWNrZ3JvdW5kOiAjYWJiMzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2Utc2lkZSAuc2lkZWJhci1ibG9jay50YWdzIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2Utc2lkZSAuc2lkZWJhci1ibG9jay50YWdzIC5zaG93LWFsbCB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIC5wYWdlLWJveF9fZWxlbWVudCB7XG4gIGJhY2tncm91bmQ6ICMxMzI5NGE7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLWJvZHkge1xuICBwYWRkaW5nOiAyNHB4O1xuICBvdmVyZmxvdzogdW5zZXQ7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2UtYm9keSAudGl0bGUgaDEge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLWJvZHkgLmJvZHkge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS43MTQyODU3MTQzO1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2UtY2hpbGRyZW4ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIC5wYWdlLWJveF9fc3VicGFnZS1jaGlsZHJlbiAuc3Vic2VjdGlvbi1saW5rOm50aC1jaGlsZCgyKTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLWNoaWxkcmVuIC5zdWJzZWN0aW9uIHtcbiAgd2lkdGg6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2UtY2hpbGRyZW4gLnN1YnNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gIC5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2UtY2hpbGRyZW4gLnN1YnNlY3Rpb24ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIC5wYWdlLWJveF9fc3VicGFnZS1jaGlsZHJlbiAuc3Vic2VjdGlvbiAuc3Vic2VjdGlvbi1jb250ZW50IHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJiMzAwO1xuICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gIG1hcmdpbjogMTJweCAwO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMS43MTQyODU3MTQzO1xuICBtaW4taGVpZ2h0OiA4NHB4O1xuICBtYXgtaGVpZ2h0OiA4NHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94LS1zdWJwYWdlIC5wYWdlLWJveF9fc3VicGFnZS1jaGlsZHJlbiAuc3Vic2VjdGlvbiAuc3Vic2VjdGlvbi1jb250ZW50IHtcbiAgICBtYXJnaW46IDI0cHg7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIC5wYWdlLWJveF9fc3VicGFnZS1jaGlsZHJlbiAuc3Vic2VjdGlvbiAuc3Vic2VjdGlvbi1jb250ZW50OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgbGluZWFyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgY3VycmVudENvbG9yO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luLXRvcDogOXB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIC5wYWdlLWJveF9fc3VicGFnZS1jaGlsZHJlbiAuc3Vic2VjdGlvbiAuc3Vic2VjdGlvbi1jb250ZW50LmN1cnJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzk3MjJlO1xufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLWNoaWxkcmVuIC5zdWJzZWN0aW9uIC5zdWJzZWN0aW9uLWNvbnRlbnQuY3VycmVudDphZnRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGxpbmVhcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgdG9wOiAtM3B4O1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24ge1xuICBvdmVyZmxvdzogdW5zZXQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLXN1YnNlY3Rpb24ge1xuICAgIG1pbi1oZWlnaHQ6IDM0MHB4O1xuICB9XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiBoMi50aXRsZSB7XG4gIHBhZGRpbmc6IDI0cHggMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLXN1YnNlY3Rpb24gaDIudGl0bGUge1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIGgzLnN1YnRpdGxlIHtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuYm9keSB7XG4gIHBhZGRpbmc6IDI0cHggMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC0tc3Vic2VjdGlvbiAuYm9keSB7XG4gICAgcGFkZGluZzogMjRweDtcbiAgfVxufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gbGkge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5nZW5lcmFsLXBhZ2VfX2hlYWQge1xuICBwYWRkaW5nOiB1bnNldDtcbiAgbWFyZ2luOiB1bnNldDtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZ2VuZXJhbC1wYWdlX19oZWFkOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLnNpZGViYXItYmxvY2sgLnRhZ3Mge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLnBhZ2UtYm94X19pbnNpZGUge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICMxMzI5NGE7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMjYwcHg7XG4gIHotaW5kZXg6IDMzO1xuICByaWdodDogMDtcbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5mbHlvdXQtbWVudSAuZmx5b3V0LW1lbnUtZWxlbWVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgPiBociB7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbjogMCA1cHg7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiAjZmZmO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDEzcHg7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLXhpbmcge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLXR3aXR0ZXIge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLWxpbmtlZGluIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1jYWxlbmRhciB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tc2hhcmVfYWx0IHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1sYXdub3cge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLXJlZ3pvbmUge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLWVndWlkZSB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tZmFjZWJvb2sge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgLnNpZGViYXItc2hhcmlmZiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiA5cHg7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgLnNpZGViYXItc2hhcmlmZiAuY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIHtcbiAgaGVpZ2h0OiAyOHB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5zaGFyaWZmLWJ1dHRvbiBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIHNwYW4uZmEge1xuICBmb250LXNpemU6IDE4cHg7XG4gIHdpZHRoOiAyOHB4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgLnNpZGViYXItc2hhcmlmZiAuc2hhcmlmZi1idXR0b24gc3Bhbi5mYSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICB9XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDA7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMTJweCAwO1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICB9XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uOm50aC1jaGlsZCgzbikge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uOm50aC1jaGlsZCgzKSB+ICoge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1jb250YWN0cyBoMyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1bnNldDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMgLnBlcnNvbi1pbWFnZS1waG90byB7XG4gIGZsb2F0OiB1bnNldDtcbn1cblxuLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMgLnBlcnNvbi10ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIC5wZXJzb24tdGV4dCAucGVyc29uLWFjdGlvbnMgLmFjdGlvbiB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMgLmxpc3RpbmdfX2xvYWQtbW9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1jb250YWN0cyAuc2hvdy1hbGwge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIC5zaG93LWFsbDphZnRlciB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tZXhwZXJ0aXNlIC50YWdzIC50YWcge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICMxMzI5NGE7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzE0Mjg1NzE0MztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1leHBlcnRpc2UgLnNob3ctYWxsIHtcbiAgcGFkZGluZy10b3A6IDE0cHg7XG4gIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnBhZ2UtYm94LWNvbnRhaW5lciAuc2lkZWJhci1ibG9jayB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1jb250YWN0cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMgLnBlcnNvbi10ZXh0IHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkgYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIC5wZXJzb24tdGV4dCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMgLnBlcnNvbi1pbWFnZS1waG90byB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tZXhwZXJ0aXNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMgLnBlcnNvbi10ZXh0IHtcbiAgICB3aWR0aDogNjQlO1xuICB9XG4gIC5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIC5wZXJzb24taW1hZ2UtcGhvdG8ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFZBUlMuU0NTU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQW55IHZhcmlhYmxlcyB5b3UgZmluZCBzZXQgaW4gaW51aXQuY3Nz4oCZIGBfdmFycy5zY3NzYCB0aGF0IHlvdSBkbyBub3Qgd2lzaCB0b1xuICoga2VlcCwgc2ltcGx5IHJlZGVmaW5lIGhlcmUuIFRoaXMgbWVhbnMgdGhhdCBpZiBpbnVpdC5jc3MsIGZvciBleGFtcGxlLCBzZXRzXG4gKiB5b3VyIGAkYmFzZS1mb250LXNpemVgIGF0IDE2cHggYW5kIHlvdSB3aXNoIGl0IHRvIGJlIDE0cHgsIHNpbXBseSByZWRlY2xhcmVcbiAqIHRoYXQgdmFyaWFibGUgaW4gdGhpcyBmaWxlLiBpbnVpdC5jc3MgaWdub3JlcyBpdHMgb3duIHZhcmlhYmxlcyBpbiBmYXZvdXIgb2ZcbiAqIHVzaW5nIHlvdXIgb3duLCBzbyB5b3UgY2FuIGNvbXBsZXRlbHkgbW9kaWZ5IGhvdyBpbnVpdC5jc3Mgd29ya3Mgd2l0aG91dCBldmVyXG4gKiBoYXZpbmcgdG8gYWx0ZXIgdGhlIGZyYW1ld29yayBpdHNlbGYuXG4gKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkT0JKRUNUUy1BTkQtQUJTVFJBQ1RJT05TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBbGwgb2YgaW51aXQuY3Nz4oCZIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyBhcmUgaW5pdGlhbGx5IHR1cm5lZCBvZmYgYnlcbiAqIGRlZmF1bHQuIFRoaXMgbWVhbnMgdGhhdCB5b3Ugc3RhcnQgYW55IHByb2plY3Qgd2l0aCBhcyBsaXR0bGUgYXMgcG9zc2libGUsXG4gKiBhbmQgaW50cm9kdWNpbmcgb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIGlzIGFzIHNpbXBsZSBhcyBzd2l0Y2hpbmcgdGhlXG4gKiBmb2xsb3dpbmcgdmFyaWFibGVzIHRvIGB0cnVlYC5cbiAqL1xuJHVzZS1ncmlkczogdHJ1ZTtcbiR1c2UtZmxleGJveDogZmFsc2U7XG4kdXNlLWNvbHVtbnM6IGZhbHNlO1xuJHVzZS1uYXY6IHRydWU7XG4kdXNlLW9wdGlvbnM6IGZhbHNlO1xuJHVzZS1wYWdpbmF0aW9uOiBmYWxzZTtcbiR1c2UtYnJlYWRjcnVtYjogZmFsc2U7XG4kdXNlLW1lZGlhOiB0cnVlO1xuJHVzZS1tYXJnaW5hbGlhOiBmYWxzZTtcbiR1c2UtaXNsYW5kOiBmYWxzZTtcbiR1c2UtYmxvY2stbGlzdDogZmFsc2U7XG4kdXNlLW1hdHJpeDogZmFsc2U7XG4kdXNlLXNwbGl0OiBmYWxzZTtcbiR1c2UtdGhpcy1vci10aGlzOiBmYWxzZTtcbiR1c2UtbGluay1jb21wbGV4OiBmYWxzZTtcbiR1c2UtZmx5b3V0OiBmYWxzZTtcbiR1c2UtYXJyb3dzOiBmYWxzZTtcbiR1c2Utc3ByaXRlOiBmYWxzZTtcbiR1c2UtaWNvbi10ZXh0OiBmYWxzZTtcbiR1c2UtYmVhdXRvbnM6IGZhbHNlO1xuJHVzZS1sb3plbmdlczogZmFsc2U7XG4kdXNlLXJ1bGVzOiBmYWxzZTtcbiR1c2Utc3RhdHM6IGZhbHNlO1xuJHVzZS1ncmV5Ym94OiBmYWxzZTtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQ1VTVE9NXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBQbGFjZSBhbnkgb2YgeW91ciBvd24gdmFyaWFibGVzIHRoYXQgc2l0IG9uIHRvcCBvZiBpbnVpdC5jc3MgaGVyZS5cbiAqL1xuXG4vLyBDT0xPUlM6XG4kY29sb3Itd2hpdGU6ICNmZmY7XG4kY29sb3ItYmxhY2s6ICMxMzI5NGE7XG4kY29sb3ItcmVkOiAjZTUxMzEzO1xuXG4kY29sb3ItbGlnaHRlc3QtZ3JheTogI2VkZWZmMjtcbiRjb2xvci1saWdodC1ncmF5OiAjYmJiO1xuJGNvbG9yLW1lZGl1bS1ncmF5OiAjOTk5O1xuJGNvbG9yLWxpZ2h0LWdyYXktMjogbWl4KCRjb2xvci1ibGFjaywgd2hpdGUsIDYwJSk7XG4kY29sb3ItbGlnaHQtZ3JheS0zOiAjZWFlYWVhO1xuJGNvbG9yLWxpZ2h0LWdyYXktNDogI2Y0ZjRmNDtcbiRjb2xvci1saWdodC1ncmF5LTU6ICNlYmViZWI7XG4kY29sb3ItbGlnaHQtZ3JheS02OiAjZjVmNWY1O1xuJGNvbG9yLWxpZ2h0LWdyYXktNzogI2RkZGRkZDtcbiRjb2xvci1ncmF5OiAjZDBkNGRiO1xuJGNvbG9yLXNvbGlkLWdyYXk6ICNjY2M7XG4kY29sb3ItZGFyay1ncmF5OiAjNjY2O1xuJGNvbG9yLWRhcmstZ3JheS0yOiAjQTBBMEEwO1xuJGNvbG9yLXZlcnktZGFyay1ncmF5OiAjMTkxOTE5O1xuXG4kY29sb3ItYmVpZ2U6ICM3NjZhNjI7XG5cbiRjb2xvci1saWdodC1ibHVlOiAjM2U3NWE3O1xuJGNvbG9yLW1pZGRsZS1ibHVlOiAjNWE3N2EyO1xuJGNvbG9yLWRhcmstYmx1ZTogIzEzMjk0YTtcbiRjb2xvci1wYWxlLWJsdWU6ICMyMDQwNjc7XG4kY29sb3ItYnJpZ2h0LWJsdWU6ICMzMDk1YjQ7XG4kY29sb3ItbWlkLWJsdWU6ICMxMTM1NUU7XG5cbiRjb2xvci15ZWxsb3ctMTogI2VjYzQxMTtcbiRjb2xvci15ZWxsb3ctMjogI2M1OTIxNztcbiRjb2xvci1vcmFuZ2UtMTogI2U5ODMwMDtcbiRjb2xvci1vcmFuZ2UtMjogI2QyNDkyYTtcbiRjb2xvci1vcmFuZ2UtMzogI2VmYTY0ODtcbiRjb2xvci1yZWQtMTogI2RjMjIyZDtcbiRjb2xvci1yZWQtMjogIzhhMzQzZDtcbiRjb2xvci1wdXJwbGUtMTogI2FkNzZjMDtcbiRjb2xvci1wdXJwbGUtMjogIzZiNDg3YTtcbiRjb2xvci10dXJxdW9pc2UtMTogIzAwYWZkODtcbiRjb2xvci10dXJxdW9pc2UtMjogIzMwOTViNDtcbiRjb2xvci1wZXRyb2wtMTogIzAwNzU5YTtcbiRjb2xvci1wZXRyb2wtMjogIzAwNTE1NztcblxuJGNvbG9yLWdyZWVuOiAjYWJiMzAwO1xuJGNvbG9yLW1lZGl1bS1ncmVlbjogIzk4YTAwMDtcbiRjb2xvci1kYXJrLWdyZWVuOiAjNzk3MjJlO1xuJGNvbG9yLXBpbms6ICM2YjQ4N2E7XG4kY29sb3Itb3JhbmdlOiAjZTk4MzAwO1xuJGNvbG9yLXRhYmxlLWZvbnQ6ICM3YjdiN2I7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBDb2xvciAmIExheW91dCB2YXJpYXRpb25zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGlsZS1zaGFkZTogJ2RhcmsnO1xuJG5ld3MtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXBldHJvbC0xLCAwJSk7XG4kcHVibGljYXRpb24tY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXR1cnF1b2lzZS0xLCAwJSk7XG4kZXZlbnQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLW9yYW5nZS0xLCAwJSk7XG4kZXZlbnQtcGFzdC1jb2xvcjogbGlnaHRlbigkY29sb3IteWVsbG93LTIsIDAlKTtcbiRldmVudC10YWctY29sb3I6ICRjb2xvci1ncmVlbjtcbiRzb2NpYWwtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXJlZC0xLCAwJSk7XG4kZmVlZC1iZy1jb2xvcjogJGNvbG9yLWdyYXk7XG4uc2Vjb25kYXJ5LWZvb3RlciB7ZGlzcGxheTogbm9uZTtcbiAgJi5ob21lIHtkaXNwbGF5OiBibG9jazt9XG59XG4kY29sb3ItaW5zaWdodC10aWxlOiAjMDA1MTU3O1xuJGNvbG9yLWluc2lnaHQtdGlsZS1saWdodGVuOiAjMTk2MzY4O1xuJGNvbG9yLWluc2lnaHQtZnJhbWU6ICMzYTkwOTU7XG4kY29sb3ItaW5zaWdodC1mcmFtZS1saWdodGVuOiAjZDVlOWVhO1xuXG4kYmx1ZS1ncmV5OiAjZWRmMGYyO1xuJGN5YW5ncmVlbi1zZWFyY2gtYnRuOiAjNmU2ZTZlO1xuJGRhcmtuYXZ5LWJsdWU6ICMxMzI5NGE7XG4kY2F0ZWdvcnktaDMtY29sb3I6ICMwMDIwNjA7XG4kbGlnaHQtY3lhbmdyZWVuOiAjODk5NGE1O1xuJGNvcnBvcmF0ZS1iYWNrZy1ncmV5OiAjZWFlYWVhO1xuJHJlc3VsdC10ZXh0Y29sb3I6ICNkNWQ5ZGY7XG5cbi8vIHNldHRpbmcgdGhlIG1haW4gYnJlYWtwb2ludHNcbi8vIDEuIE1vYmlsZSBwaG9uZXMgOiAwcHggPD4gNDEzcHhcbi8vIDIuIFNtYXJ0cGhvbmVzOiA0MTRweCA8PiA3MTlweFxuLy8gMy4gVGFibGV0czogNzIwcHggPD4gMTE1OXB4XG4vLyA0LiBEZXNrdG9wczogMTE2MHB4ID5cblxuJHNtYXJ0cGhvbmUtc3RhcnQ6IDQxNHB4O1xuJHRhYmxldC1zdGFydDogNzIwcHg7XG4kZGVzay1zdGFydDogOTAwcHg7XG4kZGVzay13aWRlLXN0YXJ0OiAxMTYwcHg7XG5cbiRzbWFydHBob25lLWVuZDogJHRhYmxldC1zdGFydCAtIDFweDtcbiR0YWJsZXQtZW5kOiAkZGVzay1zdGFydCAtIDFweDtcbiRkZXNrLWVuZDogJGRlc2std2lkZS1zdGFydCAtIDFweDtcblxuJGxhcC1zdGFydDogJHRhYmxldC1zdGFydDsgLy8gb3ZlcnJpZGUgaW51aXQuY3NzXG5cbi8vIG1heC13aWR0aCBvZiB0aGUgbWFpbiBjb250YWluZXIgaW5jbHVkaW5nIHBhZGRpbmdcbiRjb250YWluZXItc2l6ZTogMTI4MHB4O1xuXG4vLyBzaG9ydGVuZWQgc3BhY2luZyBub3RhdGlvblxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHg7XG4kc3BhY2U6ICRiYXNlLWxpbmUtaGVpZ2h0O1xuXG4kaGVyby1oZWlnaHQ6ICRzcGFjZSoxNjtcblxuJGZvb3Rlci1oZWlnaHQ6ICRzcGFjZSoyMDtcblxuJGdsb2JhbC1maWx0ZXItaGVpZ2h0OiAzNnB4O1xuJGNvbW1vbi1wYWRkaW5nLXdpZHRoOiAyNHB4O1xuJHNtYWxsLXBhZGRpbmc6IDRweDtcblxuJHN0aWNreS1zZWFyY2gtaGVpZ2h0OiA3NXB4O1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgTWVudVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9tZW51IGNvbG9yc1xuJG1lbnUtY29sb3ItbWFpbjogI2ZmZmZmZjtcbiRtZW51LWNvbG9yLWZpcnN0LWxldmVsOiAjZWRlZWYxO1xuJG1lbnUtY29sb3Itc2Vjb25kLWxldmVsLXRvcDogI2VkZWVmMTtcbiRtZW51LWNvbG9yLXNlY29uZC1sZXZlbDogI2UxZTNlNztcbiRtZW51LWNvbG9yLXRoaXJkLWxldmVsOiAjZDRkN2RlO1xuJG1lbnUtY29sb3ItdGhpcmQtbGV2ZWwtYmFyOiAjY2JjZWQ0O1xuJG1lbnUtY29sb3ItaWNvbjogIzk1YTVhZjtcbiRtZW51LWNvbG9yLWJhcjogI2NiY2VkNDtcbiRtZW51LWNvbG9yLXNlY29uZC1sZXZlbC1hY3RpdmUtbGluazogI2M4Y2RkNjtcblxuJG1lbnUtaGVhZGxpbmU6ICM1NjdkOWY7XG4kbWVudS1iYXItbGluazogIzA5NTg4YjtcbiRtZW51LWxpbms6ICRjb2xvci1taWQtYmx1ZTtcbiRtZW51LWxpbmstbWV0YTogcmdiYSgkbWVudS1saW5rLCAwLjcpO1xuJG1lbnUtbGluay1icmVhZGNydW1iOiAkbWVudS1saW5rO1xuJG1lbnUtdGV4dDogIzAwMDAwMDtcblxuLy9tZW51IG1hcmdpbnMgYW5kIHBhZGRpbmdcbiRtb2JpbGUtZmlyc3QtbGV2ZWwtbWFyZ2luLWxlZnQ6IDE1cHg7XG4kbW9iaWxlLWZpcnN0LWxldmVsLW1hcmdpbi1yaWdodDogMTVweDtcbiRtb2JpbGUtZmlyc3QtbGV2ZWwtbWFyZ2luLXRvcDogMjBweDtcbiRtb2JpbGUtZmlyc3QtbGV2ZWwtbWFyZ2luLWJvdHRvbTogMjBweDtcbiRtb2JpbGUtc2Vjb25kLWxldmVsLW1hcmdpbi1sZWZ0OiAzMHB4O1xuJG1vYmlsZS1zZWNvbmQtbGV2ZWwtbWFyZ2luLXJpZ2h0OiAzMHB4O1xuJG1vYmlsZS1zZWNvbmQtbGV2ZWwtbWFyZ2luLXRvcDogMjBweDtcbiRtb2JpbGUtc2Vjb25kLWxldmVsLW1hcmdpbi1ib3R0b206IDIwcHg7XG4kbW9iaWxlLWNvbnRlbnQtcGFkZGluZzogMzBweDtcbiRtb2JpbGUtdG9wLWJhci1oZWlnaHQ6IDg1cHg7XG4kbW9iaWxlLWJyZWFkY3J1bWItaGVpZ2h0OiA0NXB4O1xuJG1vYmlsZS1saXN0LXBhZGRpbmc6IDIxcHg7XG5cbiRzbWFydHBob25lLWZpcnN0LWxldmVsLW1hcmdpbi1sZWZ0OiAxNXB4O1xuJHNtYXJ0cGhvbmUtZmlyc3QtbGV2ZWwtbWFyZ2luLXJpZ2h0OiAxNXB4O1xuJHNtYXJ0cGhvbmUtZmlyc3QtbGV2ZWwtbWFyZ2luLXRvcDogMjdweDtcbiRzbWFydHBob25lLWZpcnN0LWxldmVsLW1hcmdpbi1ib3R0b206IDI3cHg7XG4kc21hcnRwaG9uZS1zZWNvbmQtbGV2ZWwtbWFyZ2luLWxlZnQ6IDQ4cHg7XG4kc21hcnRwaG9uZS1zZWNvbmQtbGV2ZWwtbWFyZ2luLXJpZ2h0OiA0OHB4O1xuJHNtYXJ0cGhvbmUtc2Vjb25kLWxldmVsLW1hcmdpbi10b3A6IDI3cHg7XG4kc21hcnRwaG9uZS1zZWNvbmQtbGV2ZWwtbWFyZ2luLWJvdHRvbTogMjdweDtcbiRzbWFydHBob25lLWNvbnRlbnQtcGFkZGluZzogMzVweDtcbiRzbWFydHBob25lLXRvcC1iYXItaGVpZ2h0OiAxMTVweDtcbiRzbWFydHBob25lLWJyZWFkY3J1bWItaGVpZ2h0OiA2MHB4O1xuJHNtYXJ0cGhvbmUtbGlzdC1wYWRkaW5nOiAzMHB4O1xuXG4kdGFibGV0LWZpcnN0LWxldmVsLW1hcmdpbi1sZWZ0OiAzMHB4O1xuJHRhYmxldC1maXJzdC1sZXZlbC1tYXJnaW4tcmlnaHQ6IDMwcHg7XG4kdGFibGV0LWZpcnN0LWxldmVsLW1hcmdpbi10b3A6IDI1cHg7XG4kdGFibGV0LWZpcnN0LWxldmVsLW1hcmdpbi1ib3R0b206IDI1cHg7XG4kdGFibGV0LXNlY29uZC1sZXZlbC1tYXJnaW4tbGVmdDogNDVweDtcbiR0YWJsZXQtc2Vjb25kLWxldmVsLW1hcmdpbi1yaWdodDogNDVweDtcbiR0YWJsZXQtc2Vjb25kLWxldmVsLW1hcmdpbi10b3A6IDQwcHg7XG4kdGFibGV0LXNlY29uZC1sZXZlbC1tYXJnaW4tYm90dG9tOiA0MHB4O1xuJHRhYmxldC1jb250ZW50LXBhZGRpbmc6IDQwcHg7XG4kdGFibGV0LXRvcC1iYXItaGVpZ2h0OiAxMDBweDtcbiR0YWJsZXQtYnJlYWRjcnVtYi1oZWlnaHQ6IDQycHg7XG4kdGFibGV0LWxpc3QtcGFkZGluZzogMzBweDtcblxuJGRlc2t0b3AtZmlyc3QtbGV2ZWwtbWFyZ2luLWxlZnQ6IDUwcHg7XG4kZGVza3RvcC1maXJzdC1sZXZlbC1tYXJnaW4tcmlnaHQ6IDUwcHg7XG4kZGVza3RvcC1maXJzdC1sZXZlbC1tYXJnaW4tdG9wOiAyMXB4O1xuJGRlc2t0b3AtZmlyc3QtbGV2ZWwtbWFyZ2luLWJvdHRvbTogNDBweDtcbiRkZXNrdG9wLXNlY29uZC1sZXZlbC1tYXJnaW4tbGVmdDogNTBweDtcbiRkZXNrdG9wLXNlY29uZC1sZXZlbC1tYXJnaW4tcmlnaHQ6IDUwcHg7XG4kZGVza3RvcC1zZWNvbmQtbGV2ZWwtbWFyZ2luLXRvcDogMjFweDtcbiRkZXNrdG9wLXNlY29uZC1sZXZlbC1tYXJnaW4tYm90dG9tOiA0MHB4O1xuJGRlc2t0b3AtY29udGVudC1wYWRkaW5nOiAyMXB4O1xuJGRlc2t0b3AtdG9wLWJhci1oZWlnaHQ6IDIwMHB4O1xuJGRlc2t0b3AtdG9wLWJhci1oZWlnaHQtc21hbGw6IDEwMHB4O1xuJGRlc2t0b3AtbGlzdC1wYWRkaW5nOiAzMHB4O1xuXG4kZmVlZC10aWxlLWhlaWdodDogMjAwcHg7XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIElOVUlULkNTU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qISpcbiAqXG4gKiBpbnVpdGNzcy5jb20gLS0gQGludWl0Y3NzIC0tIEBjc3N3aXphcmRyeVxuICpcbiAqL1xuLyoqXG4gKiBpbnVpdC5jc3MgYWN0cyBhcyBhIGJhc2Ugc3R5bGVzaGVldCB3aGljaCB5b3Ugc2hvdWxkIGV4dGVuZCB3aXRoIHlvdXIgb3duXG4gKiB0aGVtZSBzdHlsZXNoZWV0LlxuICpcbiAqIGludWl0LmNzcyBhaW1zIHRvIGRvIHRoZSBoZWF2eSBsaWZ0aW5nOyBzb3J0aW5nIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyxcbiAqIGRlc2lnbiBwYXR0ZXJucyBhbmQgZmlkZGx5IGJpdHMgb2YgQ1NTLCB3aGlsc3QgbGVhdmluZyBhcyBtdWNoIGRlc2lnbiBhc1xuICogcG9zc2libGUgdG8geW91LiBpbnVpdC5jc3MgaXMgdGhlIHNjYWZmb2xkaW5nIHRvIHlvdXIgZGVjb3JhdG9yLlxuICpcbiAqIFRoaXMgc3R5bGVzaGVldCBpcyBoZWF2aWx5IGRvY3VtZW50ZWQgYW5kIGNvbnRhaW5zIGxvdHMgb2YgY29tbWVudHMsIHBsZWFzZVxuICogdGFrZSBjYXJlIHRvIHJlYWQgYW5kIHJlZmVyIHRvIHRoZW0gYXMgeW91IGJ1aWxkLiBGb3IgZnVydGhlciBzdXBwb3J0IHBsZWFzZVxuICogdHdlZXQgYXQgQGludWl0Y3NzLlxuICpcbiAqIE93aW5nIHRvIHRoZSBhbW91bnQgb2YgY29tbWVudHMgcGxlYXNlIG9ubHkgZXZlciB1c2UgbWluaWZpZWQgQ1NTIGluXG4gKiBwcm9kdWN0aW9uLiBUaGlzIGZpbGUgaXMgcHVyZWx5IGEgZGV2IGRvY3VtZW50LlxuICpcbiAqIFRoZSB0YWJsZSBvZiBjb250ZW50cyBiZWxvdyBtYXBzIHRvIHNlY3Rpb24gdGl0bGVzIG9mIHRoZSBzYW1lIG5hbWUsIHRvIGp1bXBcbiAqIHRvIGFueSBzZWN0aW9uIHNpbXBseSBydW4gYSBmaW5kIGZvciAkW1NFQ1RJT04tVElUTEVdLlxuICpcbiAqIE1vc3Qgb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIGNvbWUgd2l0aCBhIGNodW5rIG9mIG1hcmt1cCB0aGF0IHlvdSBzaG91bGQgYmVcbiAqIGFibGUgdG8gcGFzdGUgaW50byBhbnkgdmlldyB0byBxdWlja2x5IHNlZSBob3cgdGhlIENTUyB3b3JrcyBpbiBjb25qdW5jdGlvblxuICogd2l0aCB0aGUgY29ycmVjdCBIVE1MLlxuICpcbiAqIGludWl0LmNzcyBpcyB3cml0dGVuIHRvIHRoaXMgc3RhbmRhcmQ6IGdpdGh1Yi5jb20vY3Nzd2l6YXJkcnkvQ1NTLUd1aWRlbGluZXNcbiAqXG4gKiBMSUNFTlNFXG4gKlxuICogQ29weXJpZ2h0IDIwMTMgSGFycnkgUm9iZXJ0c1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwOi8vYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICogVGhhbmsgeW91IGZvciBjaG9vc2luZyBpbnVpdC5jc3MuIE1heSB5b3VyIHdlYiBmb250cyByZW5kZXIgcGVyZmVjdGx5LlxuICovXG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIENPTlRFTlRTLi4uLi4uLi4uLi4uWW914oCZcmUgcmVhZGluZyBpdCFcbiAqIFdBUk5JTkcuLi4uLi4uLi4uLi4uSGVyZSBiZSBkcmFnb25zIVxuICogSU1QT1JUUy4uLi4uLi4uLi4uLi5CZWdpbiBpbXBvcnRpbmcgdGhlIHNlY3Rpb25zIGJlbG93XG4gKlxuICogTUlYSU5TLi4uLi4uLi4uLi4uLi5TdXBlci1zaW1wbGUgU2FzcyBzdHVmZlxuICogTk9STUFMSVpFLi4uLi4uLi4uLi5ub3JtYWxpemUuY3NzXG4gKiBSRVNFVC4uLi4uLi4uLi4uLi4uLlNldCBzb21lIGRlZmF1bHRzXG4gKiBDTEVBUkZJWC4uLi4uLi4uLi4uLlxuICogU0hBUkVELi4uLi4uLi4uLi4uLi5TaGFyZWQgZGVjbGFyYXRpb25zXG4gKlxuICogTUFJTi4uLi4uLi4uLi4uLi4uLi5IaWdoLWxldmVsIGVsZW1lbnRzIGxpa2UgYGh0bWxgLCBgYm9keWAsIGV0Yy5cbiAqIEhFQURJTkdTLi4uLi4uLi4uLi4uRG91YmxlLXN0cmFuZGVkIGhlYWRpbmcgaGllcmFyY2h5XG4gKiBQQVJBR1JBUEhTLi4uLi4uLi4uLlxuICogU01BTExQUklOVC4uLi4uLi4uLi5TbWFsbGVyIHRleHQgZWxlbWVudHMgbGlrZSBgc21hbGxgXG4gKiBRVU9URVMuLi4uLi4uLi4uLi4uLlxuICogQ09ERS4uLi4uLi4uLi4uLi4uLi5cbiAqIExJU1RTLi4uLi4uLi4uLi4uLi4uXG4gKiBJTUFHRVMuLi4uLi4uLi4uLi4uLlxuICogVEFCTEVTLi4uLi4uLi4uLi4uLi5cbiAqIEZPUk1TLi4uLi4uLi4uLi4uLi4uXG4gKlxuICogR1JJRFMuLi4uLi4uLi4uLi4uLi5GbHVpZCwgcHJvcG9ydGlvbmFsIGFuZCBuZXN0YWJsZSBncmlkc1xuICogRkxFWEJPWC4uLi4uLi4uLi4uLi5DcnVkZWx5IGVtdWxhdGUgZmxleGJveFxuICogQ09MVU1OUy4uLi4uLi4uLi4uLi5DU1MzIGNvbHVtbnNcbiAqIE5BVi4uLi4uLi4uLi4uLi4uLi4uQSBzaW1wbGUgYWJzdHJhY3Rpb24gdG8gcHV0IGEgbGlzdCBpbiBob3Jpem9udGFsIG5hdiBtb2RlXG4gKiBPUFRJT05TLi4uLi4uLi4uLi4uLkdyb3VwZWQgbmF2IGl0ZW1zXG4gKiBQQUdJTkFUSU9OLi4uLi4uLi4uLlZlcnkgc3RyaXBwZWQgYmFjaywgYmFzaWMgcGFnaW5hdG9yXG4gKiBCUkVBRENSVU1CLi4uLi4uLi4uLlNpbXBsZSBicmVhZGNydW1iIHRyYWlsIG9iamVjdFxuICogTUVESUEuLi4uLi4uLi4uLi4uLi5NZWRpYSBvYmplY3RcbiAqIE1BUkdJTkFMSUEuLi4uLi4uLi4uU2ltcGxlIG1hcmdpbmFsaWEgY29udGVudFxuICogSVNMQU5ELi4uLi4uLi4uLi4uLi5Cb3hlZCBvZmYgY29udGVudFxuICogQkxPQ0stTElTVC4uLi4uLi4uLi5CbG9ja3kgbGlzdHMgb2YgY29udGVudFxuICogTUFUUklYLi4uLi4uLi4uLi4uLi5HcmlkZGVkIGxpc3RzXG4gKiBTUExJVC4uLi4uLi4uLi4uLi4uLkEgc2ltcGxlIHNwbGl0LWluLXR3byBvYmplY3RcbiAqIFRISVMtT1ItVEhJUy4uLi4uLi4uT3B0aW9ucyBvYmplY3RcbiAqIExJTkstQ09NUExFWC4uLi4uLi4uXG4gKiBGTFlPVVQuLi4uLi4uLi4uLi4uLkZseW91dC1vbi1ob3ZlciBvYmplY3RcbiAqIEFSUk9XUy4uLi4uLi4uLi4uLi4uQ1NTIGFycm93c1xuICogU1BSSVRFLi4uLi4uLi4uLi4uLi5HZW5lcmljIHNwcml0aW5nIGVsZW1lbnRcbiAqIElDT04tVEVYVC4uLi4uLi4uLi4uSWNvbiBhbmQgdGV4dCBjb3VwbGluZ3NcbiAqIEJFQVVUT05TLi4uLi4uLi4uLi4uVXNlIHRoZSBiZWF1dG9ucyBtaWNybyBsaWJyYXJ5XG4gKiBMT1pFTkdFUy4uLi4uLi4uLi4uLkJhc2ljIGxvemVuZ2Ugc3R5bGVzXG4gKiBSVUxFUy4uLi4uLi4uLi4uLi4uLkhvcml6b250YWwgcnVsZXNcbiAqIFNUQVRTLi4uLi4uLi4uLi4uLi4uU2ltcGxlIHN0YXRzIG9iamVjdFxuICogR1JFWUJPWC4uLi4uLi4uLi4uLi5XaXJlZnJhbWluZyBzdHlsZXNcbiAqXG4gKiBXSURUSFMuLi4uLi4uLi4uLi4uLldpZHRoIGNsYXNzZXMgZm9yIHVzZSBhbG9uZ3NpZGUgdGhlIGdyaWQgc3lzdGVtIGV0Yy5cbiAqIFBVU0guLi4uLi4uLi4uLi4uLi4uUHVzaCBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgZ3JpZHNcbiAqIFBVTEwuLi4uLi4uLi4uLi4uLi4uUHVsbCBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgZ3JpZHNcbiAqIEJSQU5ELi4uLi4uLi4uLi4uLi4uSGVscGVyIGNsYXNzIHRvIGFwcGx5IGJyYW5kIHRyZWF0bWVudCB0byBlbGVtZW50c1xuICogSEVMUEVSLi4uLi4uLi4uLi4uLi5BIHNlcmllcyBvZiBoZWxwZXIgY2xhc3NlcyB0byB1c2UgYXJiaXRyYXJpbHlcbiAqIERFQlVHLi4uLi4uLi4uLi4uLi4uRW5hYmxlIHRvIGFkZCB2aXN1YWwgZmxhZ3MgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlc1xuICovXG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkV0FSTklOR1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gKiBpbnVpdC5jc3MsIGJlaW5nIGFuIE9PIGZyYW1ld29yaywgd29ya3MgaW4ga2VlcGluZyB3aXRoIHRoZSBvcGVuL2Nsb3NlZFxuICogcHJpbmNpcGxlLiBUaGUgdmFyaWFibGVzIHlvdSBzZXQgcHJldmlvdXNseSBhcmUgbm93IGJlaW5nIHVzZWQgdGhyb3VnaG91dFxuICogaW51aXQuY3NzIHRvIHN0eWxlIGV2ZXJ5dGhpbmcgd2UgbmVlZCBmb3IgYSBiYXNlLiBBbnkgY3VzdG9tIHN0eWxlcyBTSE9VTERcbiAqIE5PVCBiZSBhZGRlZCBvciBtb2RpZmllZCBpbiBpbnVpdC5jc3MgZGlyZWN0bHksIGJ1dCBhZGRlZCB2aWEgeW91ciB0aGVtZVxuICogc3R5bGVzaGVldCBhcyBwZXIgdGhlIG9wZW4vY2xvc2VkIHByaW5jaXBsZTpcbiAqXG4gKiBjc3N3aXphcmRyeS5jb20vMjAxMi8wNi90aGUtb3Blbi1jbG9zZWQtcHJpbmNpcGxlLWFwcGxpZWQtdG8tY3NzXG4gKlxuICogVHJ5IG5vdCB0byBlZGl0IGFueSBDU1MgYmV5b25kIHRoaXMgcG9pbnQ7IGlmIHlvdSBmaW5kIHlvdSBuZWVkIHRvIGRvIHNvXG4gKiBpdCBpcyBhIGZhaWxpbmcgb2YgdGhlIGZyYW1ld29yayBzbyBwbGVhc2UgdHdlZXQgYXQgQGludWl0Y3NzLlxuICovXG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkSU1QT1JUU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogR2VuZXJpYyB1dGlsaXR5IHN0eWxlcyBldGMuXG4gKi9cbkBpbXBvcnQgXCJkZWZhdWx0c1wiO1xuQGltcG9ydCBcImdlbmVyaWMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJnZW5lcmljL3Jlc2V0XCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImdlbmVyaWMvc2hhcmVkXCI7XG5cblxuXG5cblxuLyoqXG4gKiBCYXNlIHN0eWxlczsgdW5jbGFzc2VkIEhUTUwgZWxlbWVudHMgZXRjLlxuICovXG5AaW1wb3J0IFwiYmFzZS9tYWluXCI7XG5AaW1wb3J0IFwiYmFzZS9oZWFkaW5nc1wiO1xuQGltcG9ydCBcImJhc2UvcGFyYWdyYXBoc1wiO1xuQGltcG9ydCBcImJhc2Uvc21hbGxwcmludFwiO1xuQGltcG9ydCBcImJhc2UvcXVvdGVzXCI7XG5AaW1wb3J0IFwiYmFzZS9jb2RlXCI7XG5AaW1wb3J0IFwiYmFzZS9pbWFnZXNcIjtcbkBpbXBvcnQgXCJiYXNlL2xpc3RzXCI7XG5AaW1wb3J0IFwiYmFzZS90YWJsZXNcIjtcbkBpbXBvcnQgXCJiYXNlL2Zvcm1zXCI7XG5cblxuXG5cblxuLyoqXG4gKiBPYmplY3RzIGFuZCBhYnN0cmFjdGlvbnNcbiAqL1xuQGltcG9ydCBcIm9iamVjdHMvZ3JpZHNcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2ZsZXhib3hcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJvYmplY3RzL25hdlwiO1xuQGltcG9ydCBcIm9iamVjdHMvb3B0aW9uc1wiO1xuQGltcG9ydCBcIm9iamVjdHMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm9iamVjdHMvYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcIm9iamVjdHMvbWVkaWFcIjtcbkBpbXBvcnQgXCJvYmplY3RzL21hcmdpbmFsaWFcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2lzbGFuZFwiO1xuQGltcG9ydCBcIm9iamVjdHMvYmxvY2stbGlzdFwiO1xuQGltcG9ydCBcIm9iamVjdHMvbWF0cml4XCI7XG5AaW1wb3J0IFwib2JqZWN0cy9zcGxpdFwiO1xuQGltcG9ydCBcIm9iamVjdHMvdGhpcy1vci10aGlzXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9saW5rLWNvbXBsZXhcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2ZseW91dFwiO1xuQGltcG9ydCBcIm9iamVjdHMvYXJyb3dzXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9zcHJpdGVcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2ljb24tdGV4dFwiO1xuQGltcG9ydCBcIm9iamVjdHMvYmVhdXRvbnNcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2xvemVuZ2VzXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9ydWxlc1wiO1xuQGltcG9ydCBcIm9iamVjdHMvc3RhdHNcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2dyZXlib3hcIjtcblxuXG5cblxuXG4vKipcbiAqIFN0eWxlIHRydW1wczsgaGVscGVyIGFuZCBicmFuZCBjbGFzc2VzXG4gKi9cbkBpbXBvcnQgXCJnZW5lcmljL3dpZHRoc1wiO1xuQGltcG9ydCBcImdlbmVyaWMvcHVzaFwiO1xuQGltcG9ydCBcImdlbmVyaWMvcHVsbFwiO1xuQGltcG9ydCBcImdlbmVyaWMvYnJhbmRcIjtcbkBpbXBvcnQgXCJnZW5lcmljL2hlbHBlclwiO1xuQGltcG9ydCBcImdlbmVyaWMvZGVidWdcIjtcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJERFRkFVTFRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBpbnVpdC5jc3PigJkgZGVmYXVsdCB2YXJpYWJsZXMuIFJlZGVmaW5lIHRoZXNlIGluIHlvdXIgYF92YXJzLnNjc3NgIGZpbGUgKGZvdW5kXG4gKiBpbiB0aGUgaW51aXQuY3NzLXdlYi10ZW1wbGF0ZSkgdG8gb3ZlcnJpZGUgdGhlbS5cbiAqL1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJERFQlVHXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBEZWJ1ZyBtb2RlIHdpbGwgdmlzdWFsbHkgaGlnaGxpZ2h0IGFueSBwb3RlbnRpYWwgbWFya3VwL2FjY2Vzc2liaWxpdHkgcXVpcmtzXG4gKiBpbiB0aGUgYnJvd3Nlci4gU2V0IHRvIGB0cnVlYCBvciBgZmFsc2VgLlxuICovXG4kZGVidWctbW9kZTogICAgICAgIGZhbHNlIWRlZmF1bHQ7XG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQk9SREVSLUJPWFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRG8geW91IHdhbnQgYWxsIGVsZW1lbnRzIHRvIGFkb3B0IGBib3gtc2l6aW5nOmJvcmRlci1ib3g7YCBhcyBwZXJcbiAqIHBhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3ID9cbiAqL1xuJGdsb2JhbC1ib3JkZXItYm94OiB0cnVlIWRlZmF1bHQ7XG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQkFTRVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQmFzZSBzdHVmZlxuICovXG4kYmFzZS1mb250LXNpemU6ICAgIDE2cHghZGVmYXVsdDtcbiRiYXNlLWxpbmUtaGVpZ2h0OiAgMjRweCFkZWZhdWx0O1xuXG4vKipcbiAqIEJhc2UgZm9udC1mYW1pbHkuXG4gKi9cbiRiYXNlLWZvbnQtZmFtaWx5OiAgc2Fucy1zZXJpZiFkZWZhdWx0O1xuXG4vKipcbiAqIERlZmF1bHQgY29sb3VyIGZvciBvYmplY3Rz4oCZIGJvcmRlcnMgZXRjLlxuICovXG4kYmFzZS11aS1jb2xvcjogICAgICNjY2MhZGVmYXVsdDtcblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRSRVNQT05TSVZFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBSZXNwb25zaXZlbmVzcz9cbiAqL1xuJHJlc3BvbnNpdmU6ICAgICAgICB0cnVlIWRlZmF1bHQ7XG5cbi8qKlxuICogUmVzcG9uc2l2ZW5lc3MgZm9yIHdpZGVzY3JlZW4vaGlnaCByZXNvbHV0aW9uIGRlc2t0b3AgbW9uaXRvcnMgYW5kIGJleW9uZD9cbiAqIE5vdGU6IGAkcmVzcG9uc2l2ZWAgdmFyaWFibGUgYWJvdmUgbXVzdCBiZSBzZXQgdG8gdHJ1ZSBiZWZvcmUgZW5hYmxpbmcgdGhpcy5cbiAqL1xuJHJlc3BvbnNpdmUtZXh0cmE6ICBmYWxzZSFkZWZhdWx0O1xuXG4vKipcbiAqIFJlc3BvbnNpdmUgcHVzaCBhbmQgcHVsbCBwcm9kdWNlIGEgTE9UIG9mIGNvZGUsIG9ubHkgdHVybiB0aGVtIG9uIGlmIHlvdVxuICogZGVmaW5pdGVseSBuZWVkIHRoZW0uXG4gKi9cbiRwdXNoOiAgICAgICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbi8qKlxuICogTm90ZTogYCRwdXNoYCB2YXJpYWJsZSBhYm92ZSBtdXN0IGJlIHNldCB0byB0cnVlIGJlZm9yZSBlbmFibGluZyB0aGVzZS5cbiAqL1xuJHBhbG0tcHVzaDogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJGxhcC1wdXNoOiAgICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJGxhcC1hbmQtdXAtcHVzaDogICBmYWxzZSFkZWZhdWx0O1xuJHBvcnRhYmxlLXB1c2g6ICAgICBmYWxzZSFkZWZhdWx0O1xuJGRlc2stcHVzaDogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuXG4kcHVsbDogICAgICAgICAgICAgIGZhbHNlIWRlZmF1bHQ7XG4vKipcbiAqIE5vdGU6IGAkcHVsbGAgdmFyaWFibGUgYWJvdmUgbXVzdCBiZSBzZXQgdG8gdHJ1ZSBiZWZvcmUgZW5hYmxpbmcgdGhlc2UuXG4gKi9cbiRwYWxtLXB1bGw6ICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiRsYXAtcHVsbDogICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiRsYXAtYW5kLXVwLXB1bGw6ICAgZmFsc2UhZGVmYXVsdDtcbiRwb3J0YWJsZS1wdWxsOiAgICAgZmFsc2UhZGVmYXVsdDtcbiRkZXNrLXB1bGw6ICAgICAgICAgZmFsc2UhZGVmYXVsdDtcblxuLyoqXG4gKiBUZWxsIGludWl0LmNzcyB3aGVuIGJyZWFrcG9pbnRzIHN0YXJ0LlxuICovXG4kbW9iaWxlLXN0YXJ0OiAgICAgICAgIDM1MHB4IWRlZmF1bHQ7XG4kdGFibGV0LXN0YXJ0OiAgICAgICAgIDQ4MXB4IWRlZmF1bHQ7XG4kZGVzay1zdGFydDogICAgICAgIDEwMjRweCFkZWZhdWx0O1xuJGRlc2std2lkZS1zdGFydDogICAxMjAwcHghZGVmYXVsdDtcblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRGT05ULVNJWkVTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBGb250LXNpemVzIChpbiBwaXhlbHMpLiBSZWZlciB0byByZWxldmFudCBzZWN0aW9ucyBmb3IgdGhlaXIgaW1wbGVtZW50YXRpb25zLlxuICovXG4kZ2lnYS1zaXplOiAgICAgICAgIDk2cHghZGVmYXVsdDtcbiRtZWdhLXNpemU6ICAgICAgICAgNzJweCFkZWZhdWx0O1xuJGtpbG8tc2l6ZTogICAgICAgICA0OHB4IWRlZmF1bHQ7XG5cbiRoMS1zaXplOiAgICAgICAgICAgMzZweCFkZWZhdWx0OyAvLyAuYWxwaGFcbiRoMi1zaXplOiAgICAgICAgICAgMzBweCFkZWZhdWx0OyAvLyAuYmV0YVxuJGgzLXNpemU6ICAgICAgICAgICAyNHB4IWRlZmF1bHQ7IC8vIC5nYW1tYVxuJGg0LXNpemU6ICAgICAgICAgICAyMHB4IWRlZmF1bHQ7IC8vIC5kZWx0YVxuJGg1LXNpemU6ICAgICAgICAgICAxNnB4IWRlZmF1bHQ7IC8vIC5lcHNpbG9uXG4kaDYtc2l6ZTogICAgICAgICAgIDE0cHghZGVmYXVsdDsgLy8gLnpldGFcblxuJG1pbGxpLXNpemU6ICAgICAgICAxMnB4IWRlZmF1bHQ7XG4kbWljcm8tc2l6ZTogICAgICAgIDEwcHghZGVmYXVsdDtcblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRRVU9URVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEVuZ2xpc2ggcXVvdGUgbWFya3M/XG4gKi9cbiRlbmdsaXNoLXF1b3RlczogICAgdHJ1ZSFkZWZhdWx0O1xuXG4vKipcbiAqIElmIHlvdSB3YW50IEVuZ2xpc2ggcXVvdGVzIHRoZW4gcGxlYXNlIGRvIG5vdCBlZGl0IHRoZXNlOyB0aGV54oCZcmUgb25seSBoZXJlXG4gKiBiZWNhdXNlIFNhc3MgbmVlZHMgdGhlbS5cbiAqL1xuJG9wZW4tcXVvdGU6ICAgIG51bGw7XG4kY2xvc2UtcXVvdGU6ICAgbnVsbDtcblxuLyoqXG4gKiBJZiB5b3UgbmVlZCBub24tRW5nbGlzaCBxdW90ZXMsIHBsZWFzZSBhbHRlciB0aGUgZm9sbG93aW5nIHZhbHVlcyBhY2NvcmRpbmdseTpcbiAqL1xuQGlmICRlbmdsaXNoLXF1b3RlcyAhPSB0cnVle1xuICAgICRvcGVuLXF1b3RlOiAgICBcXDAwQUI7XG4gICAgJGNsb3NlLXF1b3RlOiAgIFxcMDBCQjtcbn1cblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRCUkFORFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQnJhbmQgc3R1ZmZcbiAqL1xuJGJyYW5kLWNvbG9yOiAgICAgICAjNGE4ZWMyIWRlZmF1bHQ7XG4kYnJhbmQtZmFjZTogICAgICAgIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiFkZWZhdWx0O1xuXG4vKipcbiAqIEhvdyBiaWcgd291bGQgeW91IGxpa2Ugcm91bmQgY29ybmVycyB0byBiZSBieSBkZWZhdWx0P1xuICovXG4kYnJhbmQtcm91bmQ6ICAgICAgICA0cHghZGVmYXVsdDtcblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRPQkpFQ1RTIEFORCBBQlNUUkFDVElPTlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFdoaWNoIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyB3b3VsZCB5b3UgbGlrZSB0byB1c2U/XG4gKi9cbiR1c2UtZ3JpZHM6ICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtZmxleGJveDogICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtY29sdW1uczogICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtbmF2OiAgICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2Utb3B0aW9uczogICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtcGFnaW5hdGlvbjogICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtYnJlYWRjcnVtYjogICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtbWVkaWE6ICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtbWFyZ2luYWxpYTogICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtaXNsYW5kOiAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtYmxvY2stbGlzdDogICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtbWF0cml4OiAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2Utc3BsaXQ6ICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtdGhpcy1vci10aGlzOiAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtbGluay1jb21wbGV4OiAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtZmx5b3V0OiAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtYXJyb3dzOiAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2Utc3ByaXRlOiAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtaWNvbi10ZXh0OiAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtYmVhdXRvbnM6ICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtbG96ZW5nZXM6ICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtcnVsZXM6ICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2Utc3RhdHM6ICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbiR1c2UtZ3JleWJveDogICAgICAgZmFsc2UhZGVmYXVsdDtcblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRGUkFNRVdPUktcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIGludWl0LmNzcyB3aWxsIHdvcmsgdGhlc2UgbmV4dCBvbmVzIG91dCBmb3IgdXNlIHdpdGhpbiB0aGUgZnJhbWV3b3JrLlxuICpcbiAqIEFzc2lnbiBvdXIgYCRiYXNlLWxpbmUtaGVpZ2h0YCB0byBhIG5ldyBzcGFjaW5nIHZhciBmb3IgbW9yZSB0cmFuc3BhcmVuY3kuXG4gKi9cbiRiYXNlLXNwYWNpbmctdW5pdDogJGJhc2UtbGluZS1oZWlnaHQhZGVmYXVsdDtcbiRoYWxmLXNwYWNpbmctdW5pdDogJGJhc2Utc3BhY2luZy11bml0IC8gMiFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXJhdGlvOiAkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZTtcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE1JWElOU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQ3JlYXRlIGEgZnVsbHkgZm9ybWVkIHR5cGUgc3R5bGUgKHNpemluZyBhbmQgdmVydGljYWwgcmh5dGhtKSBieSBwYXNzaW5nIGluIGFcbiAqIHNpbmdsZSB2YWx1ZSwgZS5nLjpcbiAqXG4gICBgQGluY2x1ZGUgZm9udC1zaXplKDEwcHgpO2BcbiAqXG4gKiBUaGFua3MgdG8gQHJlZGNsb3YzciBmb3IgdGhlIGBsaW5lLWhlaWdodGAgU2FzczpcbiAqIHR3aXR0ZXIuY29tL3JlZGNsb3Yzci9zdGF0dXMvMjUwMzAxNTM5MzIxNzk4NjU3XG4gKi9cbkBtaXhpbiBmb250LXNpemUoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0OnRydWUpe1xuICAgIGZvbnQtc2l6ZTokZm9udC1zaXplO1xuICAgIGZvbnQtc2l6ZTooJGZvbnQtc2l6ZSAvICRiYXNlLWZvbnQtc2l6ZSkqMXJlbTtcbiAgICBAaWYgJGxpbmUtaGVpZ2h0ID09IHRydWV7XG4gICAgICAgIGxpbmUtaGVpZ2h0OmNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KSAqICgkYmFzZS1saW5lLWhlaWdodCAvICRmb250LXNpemUpO1xuICAgIH1cbn1cblxuXG4vKipcbiAqIFN0eWxlIGFueSBudW1iZXIgb2YgaGVhZGluZ3MgaW4gb25lIGZlbGwgc3dvb3AsIGUuZy46XG4gKlxuICAgLmZvb3tcbiAgICAgICBAaW5jbHVkZSBoZWFkaW5ncygxLCAzKXtcbiAgICAgICAgICAgY29sb3I6I0JBREE1NTtcbiAgICAgICB9XG4gICAgfVxuICpcbiAqIFdpdGggdGhhbmtzIHRvIEBsYXJfenp6LCBAcGFyYW5vaWRhLCBAcm93YW5tYW5uaW5nIGFuZCB1bHRpbWF0ZWx5XG4gKiBAdGhpZXJyeWxlbW91bGVjIGZvciByZWZpbmluZyBhbmQgaW1wcm92aW5nIG15IGluaXRpYWwgbWl4aW4uXG4gKi9cbkBtaXhpbiBoZWFkaW5ncygkZnJvbTogMSwgJHRvOiA2KXtcbiAgICAlYmFzZS1oZWFkaW5nIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICB9XG5cbiAgICBAaWYgJGZyb20gPj0gMSBhbmQgJHRvIDw9IDZ7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAkZnJvbSB0aHJvdWdoICR0b3tcbiAgICAgICAgICAgIGgjeyRpfXtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICViYXNlLWhlYWRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyoqXG4gKiBDcmVhdGUgdmVuZG9yLXByZWZpeGVkIENTUyBpbiBvbmUgZ28sIGUuZy5cbiAqXG4gICBgQGluY2x1ZGUgdmVuZG9yKGJvcmRlci1yYWRpdXMsIDRweCk7YFxuICpcbiAqL1xuQG1peGluIHZlbmRvcigkcHJvcGVydHksICR2YWx1ZS4uLil7XG4gICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06JHZhbHVlO1xuICAgICAgIC1tb3otI3skcHJvcGVydHl9OiR2YWx1ZTtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTokdmFsdWU7XG4gICAgICAgICAtby0jeyRwcm9wZXJ0eX06JHZhbHVlO1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiR2YWx1ZTtcbn1cblxuXG4vKipcbiAqIENyZWF0ZSBDU1Mga2V5ZnJhbWUgYW5pbWF0aW9ucyBmb3IgYWxsIHZlbmRvcnMgaW4gb25lIGdvLCBlLmcuOlxuICpcbiAgIC5mb297XG4gICAgICAgQGluY2x1ZGUgdmVuZG9yKGFuaW1hdGlvbiwgc2hyaW5rIDNzKTtcbiAgIH1cblxuICAgQGluY2x1ZGUga2V5ZnJhbWUoc2hyaW5rKXtcbiAgICAgICBmcm9te1xuICAgICAgICAgICBmb250LXNpemU6NWVtO1xuICAgICAgIH1cbiAgIH1cbiAqXG4gKiBDb3VydGVzeSBvZiBAaW50ZWdyYWxpc3Q6IHR3aXR0ZXIuY29tL2ludGVncmFsaXN0L3N0YXR1cy8yNjA0ODQxMTUzMTU0Mzc1NjlcbiAqL1xuQG1peGluIGtleWZyYW1lICgkYW5pbWF0aW9uLW5hbWUpe1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAkYW5pbWF0aW9uLW5hbWV7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEAtbW96LWtleWZyYW1lcyAkYW5pbWF0aW9uLW5hbWV7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEAtbXMta2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQC1vLWtleWZyYW1lcyAkYW5pbWF0aW9uLW5hbWV7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgJGFuaW1hdGlvbi1uYW1le1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cblxuLyoqXG4gKiBGb3JjZSBvdmVybHkgbG9uZyBzcGFucyBvZiB0ZXh0IHRvIHRydW5jYXRlLCBlLmcuOlxuICpcbiAgIGBAaW5jbHVkZSB0cnVuY2F0ZSgxMDAlKTtgXG4gKlxuICogV2hlcmUgYCR0cnVuY2F0aW9uLWJvdW5kYXJ5YCBpcyBhIHVuaXRlZCBtZWFzdXJlbWVudC5cbiAqL1xuQG1peGluIHRydW5jYXRlKCR0cnVuY2F0aW9uLWJvdW5kYXJ5KXtcbiAgICBtYXgtd2lkdGg6JHRydW5jYXRpb24tYm91bmRhcnk7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xufVxuXG5cbi8qKlxuICogQ1NTIGFycm93cyEhISBCdXQuLi4gYmVmb3JlIHlvdSByZWFkIG9uLCB5b3UgbWlnaHQgd2FudCB0byBncmFiIGEgY29mZmVlLi4uXG4gKlxuICogVGhpcyBtaXhpbiBjcmVhdGVzIGEgQ1NTIGFycm93IG9uIGEgZ2l2ZW4gZWxlbWVudC4gV2UgY2FuIGhhdmUgdGhlIGFycm93XG4gKiBhcHBlYXIgaW4gb25lIG9mIDEyIGxvY2F0aW9ucywgdGh1czpcbiAqXG4gKiAgICAgICAwMSAgICAwMiAgICAwM1xuICogICAgKy0tLS0tLS0tLS0tLS0tLS0tLStcbiAqIDEyIHwgICAgICAgICAgICAgICAgICB8IDA0XG4gKiAgICB8ICAgICAgICAgICAgICAgICAgfFxuICogMTEgfCAgICAgICAgICAgICAgICAgIHwgMDVcbiAqICAgIHwgICAgICAgICAgICAgICAgICB8XG4gKiAxMCB8ICAgICAgICAgICAgICAgICAgfCAwNlxuICogICAgKy0tLS0tLS0tLS0tLS0tLS0tLStcbiAqICAgICAgIDA5ICAgIDA4ICAgIDA3XG4gKlxuICogWW91IHBhc3MgdGhpcyBwb3NpdGlvbiBpbiBhbG9uZyB3aXRoIGEgZGVzaXJlZCBhcnJvdyBjb2xvciBhbmQgb3B0aW9uYWxcbiAqIGJvcmRlciBjb2xvciwgZm9yIGV4YW1wbGU6XG4gKlxuICogYEBpbmNsdWRlIGFycm93KHRvcCwgbGVmdCwgcmVkKWBcbiAqXG4gKiBmb3IganVzdCBhIHNpbmdsZSwgcmVkIGFycm93LCBvcjpcbiAqXG4gKiBgQGluY2x1ZGUgYXJyb3coYm90dG9tLCBjZW50ZXIsIHJlZCwgYmxhY2spYFxuICpcbiAqIHdoaWNoIHdpbGwgY3JlYXRlIGEgcmVkIHRyaWFuZ2xlIHdpdGggYSBibGFjayBib3JkZXIgd2hpY2ggc2l0cyBhdCB0aGUgYm90dG9tXG4gKiBjZW50ZXIgb2YgdGhlIGVsZW1lbnQuIENhbGwgdGhlIG1peGluIHRodXM6XG4gKlxuICAgLmZvb3tcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNCQURBNTU7XG4gICAgICAgYm9yZGVyOjFweCBzb2xpZCAjQUNFO1xuICAgICAgIEBpbmNsdWRlIGFycm93KHRvcCwgbGVmdCwgI0JBREE1NSwgI0FDRSk7XG4gICB9XG4gKlxuICovXG5AbWl4aW4gYXJyb3coJGFycm93LWVkZ2UsICRhcnJvdy1sb2NhdGlvbiwgJGFycm93LWNvbG9yLCAkYm9yZGVyLWNvbG9yOiAkYXJyb3ctY29sb3Ipe1xuXG4gICAgQGlmICRhcnJvdy1lZGdlID09IHRvcHtcblxuICAgICAgICBAZXh0ZW5kICVhcnJvdy0tdG9wO1xuXG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjokYm9yZGVyLWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiRhcnJvdy1jb2xvciFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGxlZnR7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYXJyb3ctbG9jYXRpb24gPT0gY2VudGVye1xuICAgICAgICAgICAgQGV4dGVuZCAlYXJyb3ctLWNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYXJyb3ctbG9jYXRpb24gPT0gcmlnaHR7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tcmlnaHQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBpZiAkYXJyb3ctZWRnZSA9PSByaWdodHtcblxuICAgICAgICBAZXh0ZW5kICVhcnJvdy0tZmFyO1xuXG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6JGJvcmRlci1jb2xvciFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6JGFycm93LWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYXJyb3ctbG9jYXRpb24gPT0gdG9we1xuICAgICAgICAgICAgQGV4dGVuZCAlYXJyb3ctLXVwcGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSBjZW50ZXJ7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSBib3R0b217XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tbG93ZXI7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBpZiAkYXJyb3ctZWRnZSA9PSBib3R0b217XG5cbiAgICAgICAgQGV4dGVuZCAlYXJyb3ctLWJvdHRvbTtcblxuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6JGJvcmRlci1jb2xvciFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjokYXJyb3ctY29sb3IhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSBsZWZ0e1xuICAgICAgICAgICAgQGV4dGVuZCAlYXJyb3ctLWxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGNlbnRlcntcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1jZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IHJpZ2h0e1xuICAgICAgICAgICAgQGV4dGVuZCAlYXJyb3ctLXJpZ2h0O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBAaWYgJGFycm93LWVkZ2UgPT0gbGVmdHtcblxuICAgICAgICBAZXh0ZW5kICVhcnJvdy0tbmVhcjtcblxuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjokYm9yZGVyLWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6JGFycm93LWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYXJyb3ctbG9jYXRpb24gPT0gdG9we1xuICAgICAgICAgICAgQGV4dGVuZCAlYXJyb3ctLXVwcGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSBjZW50ZXJ7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSBib3R0b217XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tbG93ZXI7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbi8qKlxuICogTWVkaWEgcXVlcnkgbWl4aW4uXG4gKlxuICogSXTigJlzIG5vdCBncmVhdCBwcmFjdGljZSB0byBkZWZpbmUgc29saWQgYnJlYWtwb2ludHMgdXAtZnJvbnQsIHByZWZlcnJpbmcgdG9cbiAqIG1vZGlmeSB5b3VyIGRlc2lnbiB3aGVuIGl0IG5lZWRzIGl0LCByYXRoZXIgdGhhbiBhc3N1bWluZyB5b3XigJlsbCB3YW50IGFcbiAqIGNoYW5nZSBhdCDigJhtb2JpbGXigJkuIEhvd2V2ZXIsIGFzIGludWl0LmNzcyBpcyByZXF1aXJlZCB0byB0YWtlIGEgaGFuZHMgb2ZmXG4gKiBhcHByb2FjaCB0byBkZXNpZ24gZGVjaXNpb25zLCB0aGlzIGlzIHRoZSBjbG9zZXN0IHdlIGNhbiBnZXQgdG8gYmFrZWQtaW5cbiAqIHJlc3BvbnNpdmVuZXNzLiBJdOKAmXMgZmxleGlibGUgZW5vdWdoIHRvIGFsbG93IHlvdSB0byBzZXQgeW91ciBvd24gYnJlYWtwb2ludHNcbiAqIGJ1dCBzb2xpZCBlbm91Z2ggdG8gYmUgZnJhbWV3b3JraWZpZWQuXG4gKlxuICogV2UgZGVmaW5lIHNvbWUgYnJvYWQgYnJlYWtwb2ludHMgaW4gb3VyIHZhcnMgZmlsZSB0aGF0IGFyZSBwaWNrZWQgdXAgaGVyZVxuICogZm9yIHVzZSBpbiBhIHNpbXBsZSBtZWRpYSBxdWVyeSBtaXhpbi4gT3VyIG9wdGlvbnMgYXJlOlxuICpcbiAqIHBhbG1cbiAqIGxhcFxuICogbGFwLWFuZC11cFxuICogcG9ydGFibGVcbiAqIGRlc2tcbiAqIGRlc2std2lkZVxuICpcbiAqIE5vdCB1c2luZyBhIG1lZGlhIHF1ZXJ5IHdpbGwsIG5hdHVyYWxseSwgc2VydmUgc3R5bGVzIHRvIGFsbCBkZXZpY2VzLlxuICpcbiAqIGBAaW5jbHVkZSBtZWRpYS1xdWVyeShwYWxtKXsgW3N0eWxlcyBoZXJlXSB9YFxuICpcbiAqIFdlIHdvcmsgb3V0IHlvdXIgZW5kIHBvaW50cyBmb3IgeW91OlxuICovXG4kcGFsbS1lbmQ6ICAgICAgICAgICAgICAkdGFibGV0LXN0YXJ0IC0gMXB4O1xuXG5AbWl4aW4gbWVkaWEtcXVlcnkoJG1lZGlhLXF1ZXJ5KXtcblxuICAgIEBpZiAkbWVkaWEtcXVlcnkgPT0gcGFsbSB7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRwYWxtLWVuZCkgeyBAY29udGVudDsgfVxuXG4gICAgfVxuXG4gICAgQGlmICRtZWRpYS1xdWVyeSA9PSBsYXB7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiR0YWJsZXQtc3RhcnQpIGFuZCAobWF4LXdpZHRoOiR0YWJsZXQtZW5kKSB7IEBjb250ZW50OyB9XG5cbiAgICB9XG5cbiAgICBAaWYgJG1lZGlhLXF1ZXJ5ID09IGxhcC1hbmQtdXB7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiR0YWJsZXQtc3RhcnQpIHsgQGNvbnRlbnQ7IH1cblxuICAgIH1cblxuICAgIEBpZiAkbWVkaWEtcXVlcnkgPT0gcG9ydGFibGV7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiR0YWJsZXQtZW5kKSB7IEBjb250ZW50OyB9XG5cbiAgICB9XG5cbiAgICBAaWYgJG1lZGlhLXF1ZXJ5ID09IGRlc2t7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiRkZXNrLXN0YXJ0KSB7IEBjb250ZW50OyB9XG5cbiAgICB9XG5cbiAgICBAaWYgJG1lZGlhLXF1ZXJ5ID09IGRlc2std2lkZXtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrLXdpZGUtc3RhcnQpIHsgQGNvbnRlbnQ7IH1cblxuICAgIH1cblxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjIuMS4wIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG4vKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi8qXG4gKiBTZXQgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbiAqL1xuXG5xIHtcbiAgICBxdW90ZXM6IFwiXFwyMDFDXCIgXCJcXDIwMURcIiBcIlxcMjAxOFwiIFwiXFwyMDE5XCI7XG59XG5cbi8qXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS5cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDtcbn1cblxuLypcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFIDkuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKlxuICogMS4gQ29ycmVjdCBmb250IGZhbWlseSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDgrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSxcbnNlbGVjdFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLypcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLypcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFJFU0VUXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBIG1vcmUgY29uc2lkZXJlZCByZXNldDsgbW9yZSBvZiBhIHJlc3RhcnQuLi5cbiAqIEFzIHBlcjogY3Nzd2l6YXJkcnkuY29tLzIwMTEvMTAvcmVzZXQtcmVzdGFydGVkXG4gKi9cblxuQGlmICRnbG9iYWwtYm9yZGVyLWJveCA9PSB0cnVle1xuICAgIC8qKlxuICAgICogTGV04oCZcyBtYWtlIHRoZSBib3ggbW9kZWwgYWxsIG5pY2UsIHNoYWxsIHdlLi4uP1xuICAgICovXG4gICAgKntcbiAgICAgICAgJixcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBAaW5jbHVkZSB2ZW5kb3IoYm94LXNpemluZywgYm9yZGVyLWJveCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogVGhlIHVzdWFsLi4uXG4gKi9cbmgxLGgyLGgzLGg0LGg1LGg2LFxucCxibG9ja3F1b3RlLHByZSxcbmRsLGRkLG9sLHVsLFxuZm9ybSxmaWVsZHNldCxsZWdlbmQsXG50YWJsZSx0aCx0ZCxjYXB0aW9uLFxuaHJ7XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzowO1xufVxuXG4vKipcbiAqIEdpdmUgYSBoZWxwIGN1cnNvciB0byBlbGVtZW50cyB0aGF0IGdpdmUgZXh0cmEgaW5mbyBvbiBgOmhvdmVyYC5cbiAqL1xuYWJiclt0aXRsZV0sZGZuW3RpdGxlXXtcbiAgICBjdXJzb3I6aGVscDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdW5kZXJsaW5lcyBmcm9tIHBvdGVudGlhbGx5IHRyb3VibGVzb21lIGVsZW1lbnRzLlxuICovXG51LGluc3tcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbn1cblxuLyoqXG4gKiBBcHBseSBmYXV4IHVuZGVybGluZSB2aWEgYGJvcmRlci1ib3R0b21gLlxuICovXG5pbnN7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQ7XG59XG5cbi8qKlxuICogU28gdGhhdCBgYWx0YCB0ZXh0IGlzIHZpc3VhbGx5IG9mZnNldCBpZiBpbWFnZXMgZG9u4oCZdCBsb2FkLlxuICovXG5pbWd7XG4gICAgZm9udC1zdHlsZTppdGFsaWM7XG59XG5cbi8qKlxuICogR2l2ZSBmb3JtIGVsZW1lbnRzIHNvbWUgY3Vyc29yIGludGVyYWN0aW9ucy4uLlxuICovXG5sYWJlbCxcbmlucHV0LFxudGV4dGFyZWEsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRpb257XG4gICAgY3Vyc29yOnBvaW50ZXI7XG59XG4gICAgLnRleHQtaW5wdXQ6YWN0aXZlLFxuICAgIC50ZXh0LWlucHV0OmZvY3VzLFxuICAgIHRleHRhcmVhOmFjdGl2ZSxcbiAgICB0ZXh0YXJlYTpmb2N1c3tcbiAgICAgICAgY3Vyc29yOnRleHQ7XG4gICAgICAgIG91dGxpbmU6bm9uZTtcbiAgICB9XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRDTEVBUkZJWFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogTWljcm8gY2xlYXJmaXgsIGFzIHBlcjogY3NzLTEwMS5vcmcvYXJ0aWNsZXMvY2xlYXJmaXgvbGF0ZXN0LW5ldy1jbGVhcmZpeC1zby1mYXIucGhwXG4gKiBFeHRlbmQgdGhlIGNsZWFyZml4IGNsYXNzIHdpdGggU2FzcyB0byBhdm9pZCB0aGUgYC5jZmAgY2xhc3MgYXBwZWFyaW5nIG92ZXJcbiAqIGFuZCBvdmVyIGluIHlvdXIgbWFya3VwLlxuICovXG4uY2Z7XG4gICAgJjphZnRlcntcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICBkaXNwbGF5OnRhYmxlO1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFNIQVJFRFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogV2hlcmUgYG1hcmdpbi1ib3R0b21gIGlzIGNvbmNlcm5lZCwgdGhpcyB2YWx1ZSB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZVxuICogYmFzZSBsaW5lLWhlaWdodC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCBhIGNvbnNpc3RlbnQgdmVydGljYWwgcmh5dGhtLlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMi8wNi9zaW5nbGUtZGlyZWN0aW9uLW1hcmdpbi1kZWNsYXJhdGlvbnNcbiAqL1xuLyoqXG4gKiBCYXNlIGVsZW1lbnRzXG4gKi9cbmgxLGgyLGgzLGg0LGg1LGg2LGhncm91cCxcbnVsLG9sLGRsLFxuYmxvY2txdW90ZSxwLGFkZHJlc3MsXG50YWJsZSxcbmZpZWxkc2V0LGZpZ3VyZSxcbnByZSxcbi8qKlxuICogT2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zXG4gKi9cbiVzYXNzLW1hcmdpbi1ib3R0b20sXG4ubWVkaWEsXG4uaXNsYW5kLFxuLmlzbGV0e1xuICAgIG1hcmdpbi1ib3R0b206JGJhc2Utc3BhY2luZy11bml0O1xuICAgIG1hcmdpbi1ib3R0b206KCRiYXNlLXNwYWNpbmctdW5pdCAvICRiYXNlLWZvbnQtc2l6ZSkqMXJlbTtcblxuICAgIC5pc2xldCAme1xuICAgICAgICBtYXJnaW4tYm90dG9tOiRiYXNlLXNwYWNpbmctdW5pdCAvIDI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206KCgkYmFzZS1zcGFjaW5nLXVuaXQgLyAkYmFzZS1mb250LXNpemUpIC8gMikqMXJlbTtcbiAgICB9XG59XG5cblxuLyoqXG4gKiBEb3VibGVkIHVwIGBtYXJnaW4tYm90dG9tYCBoZWxwZXIgY2xhc3MuXG4gKi9cbi5sYW5kbWFya3tcbiAgICBtYXJnaW4tYm90dG9tOjIgKiAkYmFzZS1zcGFjaW5nLXVuaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTooMiAqICRiYXNlLXNwYWNpbmctdW5pdCAvICRiYXNlLWZvbnQtc2l6ZSkqMXJlbTtcbn1cblxuXG4vKipcbiAqIGBocmAgZWxlbWVudHMgb25seSB0YWtlIHVwIGEgZmV3IHBpeGVscywgc28gd2UgbmVlZCB0byBnaXZlIHRoZW0gc3BlY2lhbFxuICogdHJlYXRtZW50IHJlZ2FyZGluZyB2ZXJ0aWNhbCByaHl0aG0uXG4gKi9cbmhye1xuICAgIG1hcmdpbi1ib3R0b206JGJhc2Utc3BhY2luZy11bml0IC0gMnB4O1xuICAgIG1hcmdpbi1ib3R0b206KCgkYmFzZS1zcGFjaW5nLXVuaXQgLSAycHgpIC8gJGJhc2UtZm9udC1zaXplKSoxcmVtO1xufVxuXG5cbi8qKlxuICogV2hlcmUgYG1hcmdpbi1sZWZ0YCBpcyBjb25jZXJuZWQgd2Ugd2FudCB0byB0cnkgYW5kIGluZGVudCBjZXJ0YWluIGVsZW1lbnRzXG4gKiBieSBhIGNvbnNpc3RlbnQgYW1vdW50LiBEZWZpbmUgdGhhdCBhbW91bnQgb25jZSwgaGVyZS5cbiAqL1xudWwsb2wsZGR7XG4gICAgbWFyZ2luLWxlZnQ6MiAqICRiYXNlLXNwYWNpbmctdW5pdDtcbiAgICBtYXJnaW4tbGVmdDooMiAqICRiYXNlLXNwYWNpbmctdW5pdCAvICRiYXNlLWZvbnQtc2l6ZSkqMXJlbTtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE1BSU5cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5odG1se1xuICAgIGZvbnQ6I3soJGJhc2UtZm9udC1zaXplLzE2cHgpKjFlbX0vI3skbGluZS1oZWlnaHQtcmF0aW99ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIG92ZXJmbG93LXk6c2Nyb2xsO1xuICAgIG1pbi1oZWlnaHQ6MTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkSEVBRElOR1NcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEFzIHBlcjogY3Nzd2l6YXJkcnkuY29tLzIwMTIvMDIvcHJhZ21hdGljLXByYWN0aWNhbC1mb250LXNpemluZy1pbi1jc3NcbiAqXG4gKiBXaGVuIHdlIGRlZmluZSBhIGhlYWRpbmcgd2UgYWxzbyBkZWZpbmUgYSBjb3JyZXNwb25kaW5nIGNsYXNzIHRvIGdvIHdpdGggaXQuXG4gKiBUaGlzIGFsbG93cyB1cyB0byBhcHBseSwgc2F5LCBgY2xhc3M9YWxwaGFgIHRvIGEgYGgzYDsgYSBkb3VibGUtc3RyYW5kZWRcbiAqIGhlYWRpbmcgaGllcmFyY2h5LlxuICovXG5oMSwuYWxwaGF7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1zaXplKTtcbn1cbmgyLC5iZXRhe1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItc2l6ZSk7XG59XG5oMywuZ2FtbWF7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1zaXplKTtcbn1cbmg0LC5kZWx0YXtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGg0LXNpemUpO1xufVxuaDUsLmVwc2lsb257XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1zaXplKTtcbn1cbmg2LC56ZXRhe1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtc2l6ZSk7XG59XG5cblxuLyoqXG4gKiBIZWFkaW5nIGdyb3VwcyBhbmQgZ2VuZXJpYyBhbnktaGVhZGluZyBjbGFzcy5cbiAqIFRvIHRhcmdldCBhbnkgaGVhZGluZyBvZiBhbnkgbGV2ZWwgc2ltcGx5IGFwcGx5IGEgY2xhc3Mgb2YgYC5oTmAsIGUuZy46XG4gKlxuICAgPGhncm91cD5cbiAgICAgICA8aDEgY2xhc3M9aE4+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/XG4gKi9cbnRhYmxlID4gdHJ7XG4gICAgb3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogYHRmb290YCBuZWVkcyB0byBjb21lICpiZWZvcmUqIGB0Ym9keWAuXG4gKi9cbnRib2R5ICsgdGZvb3R7XG4gICAgb3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogRm9ybXMgcmVxdWlyZSBgYWN0aW9uYCBhdHRyaWJ1dGVzXG4gKi9cbmZvcm17XG4gICAgb3V0bGluZTo1cHggc29saWQgcmVkO1xufVxuZm9ybVthY3Rpb25de1xuICAgIG91dGxpbmU6bm9uZTtcbn1cblxuXG4vKipcbiAqIFZhcmlvdXMgZm9ybS1maWVsZCB0eXBlcyBoYXZlIHJlcXVpcmVkIGF0dHJpYnV0ZXMuIGBpbnB1dGBzIG5lZWQgYHR5cGVgXG4gKiBhdHRyaWJ1dGVzLCBgdGV4dGFyZWFgcyBuZWVkIGByb3dzYCBhbmQgYGNvbHNgIGF0dHJpYnV0ZXMgYW5kIHN1Ym1pdCBidXR0b25zXG4gKiBuZWVkIGEgYHZhbHVlYCBhdHRyaWJ1dGUuXG4gKi9cbnRleHRhcmVhLFxuaW5wdXR7XG4gICAgb3V0bGluZTo1cHggc29saWQgcmVkO1xufVxuaW5wdXRbdHlwZV17XG4gICAgb3V0bGluZTpub25lO1xufVxudGV4dGFyZWFbcm93c11bY29sc117XG4gICAgb3V0bGluZTpub25lO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRde1xuICAgIG91dGxpbmU6NXB4IHNvbGlkIHJlZDtcbn1cbmlucHV0W3R5cGU9c3VibWl0XVt2YWx1ZV17XG4gICAgb3V0bGluZTpub25lO1xufVxuXG5cbi8qKlxuICogQXZvaWQgaW5saW5lIHN0eWxlcyB3aGVyZSBwb3NzaWJsZS5cbiAqL1xuW3N0eWxlXXtcblx0b3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogWW91IHNob3VsZCBhdm9pZCB1c2luZyBJRHMgZm9yIENTUywgaXMgdGhpcyBkb2luZyBhbnkgc3R5bGluZz9cbiAqL1xuW2lkXXtcblx0b3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogQXJlIHlvdSB1c2luZyB0aGUgZ3JpZCBzeXN0ZW0gY29ycmVjdGx5P1xuICovXG4uZ3cgPiA6bm90KC5nKSxcbi5ncmlkLXdyYXBwZXIgPiA6bm90KC5ncmlkKSxcbi5ndy0tcmV2ID4gOm5vdCguZyksXG4uZ3JpZC13cmFwcGVyLS1yZXYgPiA6bm90KC5ncmlkKXtcblx0b3V0bGluZTo1cHggc29saWQgcmVkO1xufVxuXG59LyogZW5kaWYgKi9cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSpcXFxuICAgIENPTlRFTlRTXG4gICAgLS0tLS0tLS1cbiAgICAtIHN2Z1xuICAgIC0gY2xlYXJmaXhcbiAgICAtIGJyZWFrLXRleHRcbiAgICAtIHRyaWFuZ2xlXG4gICAgLSB0cmFuc2l0aW9uXG4gICAgLSBhc3BlY3QtcmF0aW9cbiAgICAtIHRpbGUtcmlnaHQtYm9yZGVyXG4gICAgLSBmb250LWxpZ2h0XG4gICAgLSBmb250LXN0cm9uZ1xuICAgIC0gZm9udC1ib2xkXG4gICAgLSB0aW50XG4gICAgLSByaWJib25cblxcKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kZmlsbGVkLWljb25zOiAoXG4gICAgXCJpY29uLXhpbmdcIixcbiAgICBcImljb24tdHdpdHRlclwiLFxuICAgIFwiaWNvbi1saW5rZWRpblwiLFxuICAgIFwiaWNvbi1jYWxlbmRhclwiLFxuICAgIFwiaWNvbi1zaGFyZV9hbHRcIixcbiAgICBcImljb24tbGF3bm93XCIsXG4gICAgXCJpY29uLXJlZ3pvbmVcIixcbiAgICBcImljb24tZWd1aWRlXCIsXG4gICAgXCJpY29uLWZhY2Vib29rXCIsXG4pO1xuQG1peGluIGljb24tY29sb3IoJGNvbG9yKSB7XG4gICAgZmlsbDogbm9uZTtcbiAgICBzdHJva2U6ICRjb2xvcjtcbiAgICBAZWFjaCAkaWNvbiBpbiAkZmlsbGVkLWljb25zIHtcbiAgICAgICAgLiN7JGljb259IHtcbiAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHN2ZygkaW1nLCAkcmVwZWF0OiBuby1yZXBlYXQsICRwb3NpdGlvbjogdG9wIGNlbnRlcikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYnVuZGxlcy9ldGVjdHVyZWRwY21zL2ltZy8jeyRpbWd9LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6ICRyZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgLm5vLWpzICYsIC5uby1zdmcgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2J1bmRsZXMvZXRlY3R1cmVkcGNtcy9pbWcvI3skaW1nfS5wbmdcIik7XG4gIH1cbn1cblxuQG1peGluIHN2Zy1jb250ZW50KCRoZWlnaHQ6ICRzcGFjZSwgJHdpZHRoOiAkc3BhY2UsICRjb2xvcjogJGNvbG9yLWRhcmstYmx1ZSkge1xuICAgIEBpbmNsdWRlIGljb24tY29sb3IoJGNvbG9yKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHN2ZyxcbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgLmljb24tcGhvbmUge1xuICAgICAgc3Ryb2tlLXdpZHRoOiAxNTtcbiAgfVxuICAuaWNvbi1ib29rbWFyayB7XG4gICAgICBzdHJva2Utd2lkdGg6IDI0cHg7XG4gIH1cblxufVxuXG5AbWl4aW4gbGluay10cmFuc2l0aW9uIHtcbiAgQHN1cHBvcnRzIG5vdCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycywgb3BhY2l0eSAwLjJzKTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xuICB9XG59XG5cbkBtaXhpbiBicmVhay10ZXh0IHtcblx0LW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xuXHQgd29yZC1icmVhazogYnJlYWstd29yZDtcblx0LXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuXHQgICAtbW96LWh5cGhlbnM6IGF1dG87XG5cdCAgICAgICAgaHlwaGVuczogYXV0bztcbn1cblxuLyogXG4qIEBpbmNsdWRlIHRyaWFuZ2xlIHdpdGhpbiBhIHBzZXVkbyBlbGVtZW50IGFuZCBhZGQgcG9zaXRpb25pbmcgcHJvcGVydGllcyAoaWUuIHRvcCwgbGVmdClcbiogJGRpcmVjdGlvbjogdXAsIGRvd24sIGxlZnQsIHJpZ2h0XG4qL1xuQG1peGluIHRyaWFuZ2xlKCRkaXJlY3Rpb24sICRzaXplOiA2cHgsICRjb2xvcjogIzIyMil7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDA7IHdpZHRoOiAwO1xuICBAaWYgKCRkaXJlY3Rpb24gPT0gJ3VwJyl7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAxLzIqJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxLzIqJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ2Rvd24nKXtcbiAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSAnbGVmdCcpe1xuICAgIGJvcmRlci10b3A6IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxLzIqJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gIH1cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ3JpZ2h0Jyl7XG4gICAgYm9yZGVyLXRvcDogMS8yKiRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogJHNpemUgc29saWQgJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiB0cmlhbmdsZS10ZXh0KCRkaXJlY3Rpb246J2xlZnQnLCAkc2l6ZTogNnB4LCAkY29sb3I6ICdjdXJyZW50Q29sb3InKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4ycyBsaW5lYXIpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgaGVpZ2h0OiAwOyB3aWR0aDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBAaWYgKCRkaXJlY3Rpb24gPT0gJ3VwJyl7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSAnZG93bicpe1xuICAgICAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ2xlZnQnKXtcbiAgICAgICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ3JpZ2h0Jyl7XG4gICAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICB9XG59XG5cbkBtaXhpbiB0cmlhbmdsZS1iZWZvcmUoJGRpcmVjdGlvbjonbGVmdCcsICRzaXplOiA2cHgsICRjb2xvcjogY3VycmVudENvbG9yKSB7XG4gICAgQGluY2x1ZGUgdHJpYW5nbGUtdGV4dCgkZGlyZWN0aW9uLCAkc2l6ZSwgJGNvbG9yKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZS8yOyBcbn1cblxuQG1peGluIHRyaWFuZ2xlLWFmdGVyKCRkaXJlY3Rpb246J3JpZ2h0JywgJHNpemU6IDZweCwgJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcbiAgICBAaW5jbHVkZSB0cmlhbmdsZS10ZXh0KCRkaXJlY3Rpb24sICRzaXplLCAkY29sb3IpO1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2UvMjsgXG59XG5cbkBtaXhpbiBzY3JvbGxiYXItc3R5bGluZygkY29sb3IpIHtcblx0c2Nyb2xsYmFyLWJhc2UtY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjIpO1xuXHRzY3JvbGxiYXItZmFjZS1jb2xvcjogcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG5cdHNjcm9sbGJhci0zZGxpZ2h0LWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4yKTtcblx0c2Nyb2xsYmFyLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG5cdHNjcm9sbGJhci10cmFjay1jb2xvcjogJGNvbG9yO1xuXHRzY3JvbGxiYXItYXJyb3ctY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjIpO1xuXHRzY3JvbGxiYXItc2hhZG93LWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4yKTtcblx0c2Nyb2xsYmFyLWRhcmstc2hhZG93LWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4yKTtcblx0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cdCAgICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQ7XG5cdH0gXG5cdDo6LXdlYmtpdC1zY3JvbGxiYXIgeyAgXG5cdCAgICB3aWR0aDogNnB4OyBcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIHRvcDogMDtcblx0ICAgIHotaW5kZXg6IDM7IFxuXHR9ICBcblx0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7ICBcblx0ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjIpICA7XG5cdH0gXG5cdDo6LXdlYmtpdC1yZXNpemVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4wNSk7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoZGVzaykge1xuXHRcdDo6LXdlYmtpdC1zY3JvbGxiYXIgeyAgXG5cdFx0ICAgIHdpZHRoOiAxMnB4OyBcblx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdCAgICB0b3A6IDA7XG5cdFx0ICAgIHotaW5kZXg6IDM7IFxuXHRcdH0gIFxuXHR9XG59XG4vLyBWYXJpYWJsZSBzZXR0aW5ncyBmb3IgL2FkZG9ucy9wcmVmaXhlci5zY3NzXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7IC8vIHJlcXVpcmVkIGZvciBrZXlmcmFtZSBtaXhpblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsICRyYWRpaSwgd2Via2l0IG1zIHNwZWMpO1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gVmFyaWFibGVzIGxvY2F0ZWQgaW4gL3NldHRpbmdzL19wcmVmaXhlci5zY3NzXG5cbkBtaXhpbiBwcmVmaXhlciAoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG5cblxuLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG5AbWl4aW4gdHJhbnNpdGlvbiAoJHByb3BlcnRpZXMuLi4pIHtcbiAgICB0cmFuc2l0aW9uOiAkcHJvcGVydGllcztcbn1cblxuLy8gIHRyYW5zZm9ybVxuQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHk6IG5vbmUpIHtcbi8vICBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xuLy8geC1heGlzIC0gbGVmdCB8IGNlbnRlciB8IHJpZ2h0ICB8IGxlbmd0aCB8ICVcbi8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4vLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUgKCRzdHlsZTogZmxhdCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG4gICAgfVxuICAgID4gLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbkBtaXhpbiB0aWxlLXJpZ2h0LWJvcmRlcigkY29sb3I6ICRjb2xvci1ncmF5KSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb250ZW50OiBcIlwiO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3I7XG5cdHdpZHRoOiAycHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xufVxuXG5AbWl4aW4gZm9udC1saWdodCB7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbkBtaXhpbiBmb250LXN0cm9uZyB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtaXhpbiBmb250LXN0cm9uZ2VyIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBtaXhpbiB0ZXh0LXNoYWRvdy1kYXJrIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxNTAsIDE1MCwgMTUwLCAxKTtcbn1cblxuQG1peGluIHRleHQtc2hhZG93LWxpZ2h0IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gIEByZXR1cm4gbWl4KCRjb2xvciwgd2hpdGUsICRwZXJjZW50YWdlKTtcbn1cblxuQG1peGluIHRyaWFuZ2xlLWxpbmsoJGZsb2F0LXJpZ2h0OiBmYWxzZSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUtYWZ0ZXIoJ3JpZ2h0JywgNnB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlLzQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIEBpZigkZmxvYXQtcmlnaHQpIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBpY29uLWNsb3NlICgkdG9wOiAyNHB4LCAkcmlnaHQ6IDEycHgsICRjb2xvcjogJGNvbG9yLWRhcmstYmx1ZSwgJHdpZHRoOiAxMnB4LCAkaGVpZ2h0OiAxMnB4KSB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR0b3A7XG4gIHJpZ2h0OiAkcmlnaHQ7XG4gIHN2ZyB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgc3Ryb2tlOiAkY29sb3I7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuLyogUmliYm9uIHN0eWxlICovXG5AbWl4aW4gcmliYm9uKCkge1xuXG4gICAgLnJpYmJvbi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cblxuICAgIC5yaWJib24tZnJvbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgICBoZWlnaHQ6IDc4cHg7XG4gICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogLTI0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgICAgICYucmliYm9uLWZyb250LWxlZnQge1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAtMjRweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yaWJib24tZnJvbnQtcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IC0yNHB4O1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMzBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTRweCAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpYmJvbi1lZGdlLWJvdHRvbWxlZnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHRvcDogNzhweDtcbiAgICAgICAgbGVmdDogLTI0cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yLXBhbGUtYmx1ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDI0cHggMjRweCAwO1xuICAgIH1cblxuICAgIC5yaWJib24tZWRnZS1ib3R0b21yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgdG9wOiA3OHB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI0cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXBhbGUtYmx1ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAyNHB4IDI0cHggMCAwO1xuICAgIH1cbn1cblxuQG1peGluIGxpbmstYXJyb3coJGNvbG9yOiAkbWVudS1saW5rKSB7XG4gIEBpbmNsdWRlIHNwcml0ZSgnYWxsLWFycm93JywgKGZpbGw6ICRjb2xvcikpO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuQG1peGluIGNsZWFyLWZpeCgpIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5AbWl4aW4gdGlsZS1kZXNpZ24oJGNvbG9yOiAkY29sb3ItZGFyay1ibHVlLCAkaWNvbjogJ2ZpbGUtYWx0Jykge1xuICAudGlsZV9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAwLjE1KTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc3ByaXRlKCRpY29uLCAoZmlsbDogcmdiYSgkY29sb3ItYmxhY2ssIDAuMDUpKSk7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAyMDAlO1xuICAgICAgaGVpZ2h0OiAyMDAlO1xuICAgICAgdG9wOiAtNTAlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICB3aWR0aDogMTUwJTtcbiAgICAgICAgaGVpZ2h0OiAxNTAlO1xuICAgICAgICB0b3A6IC0yMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRpbGVfX2ljb24ge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgc3ZnIHtcbiAgICAgIHN0cm9rZTogJGNvbG9yO1xuICAgICAgZmlsbDogJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSEVMUEVSU1xuXG5AbWl4aW4gcmVzcG9uc2l2ZUF0dHIoJGF0dHIsICRtb2JpbGVWYWw6IG51bGwsICRzbWFydHBob25lVmFsOiBudWxsLCAkdGFibGV0VmFsOiBudWxsLCAkd2lkZVZhbDogbnVsbCkge1xuICBAaWYgJG1vYmlsZVZhbCB7XG4gICAgI3skYXR0cn06ICRtb2JpbGVWYWw7XG4gIH1cblxuICBAaWYgJHNtYXJ0cGhvbmVWYWwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzbWFydHBob25lLXN0YXJ0KSB7XG4gICAgICAjeyRhdHRyfTogJHNtYXJ0cGhvbmVWYWw7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZXRWYWwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICN7JGF0dHJ9OiAkdGFibGV0VmFsO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkd2lkZVZhbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2std2lkZS1zdGFydCkge1xuICAgICAgI3skYXR0cn06ICR3aWRlVmFsO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZVNxdWFyZVRodW1iKCkge1xuICAuaW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwJTtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIC5yZXNwb25zaXZlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHBhZ2UtYm94LWJwMTogJHRhYmxldC1zdGFydDtcbiRwYWdlLWJveC1icDI6ICRkZXNrLXdpZGUtc3RhcnQ7XG5cbi5wYWdlLWJveGVzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBAaW5jbHVkZSByaWJib247XG4gICAgQGV4dGVuZCAuZ3JpZDtcbiAgICBtYXJnaW4tbGVmdDogLSRzcGFjZS8yO1xuICAgIG1hcmdpbi1ib3R0b206IC0kc3BhY2U7XG59XG5cbi5wYWdlLWJveCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgQGV4dGVuZCAuZ3JpZF9faXRlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJHNwYWNlLzI7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zdHJvbmc7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ncmF5O1xuICAgICAgICArIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtJHNwYWNlLzI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWJveF9faW5zaWRlLCAucGFnZS1ib3hfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xufVxuLnBhZ2UtYm94X19pbnNpZGUtLXBhZGRlZCB7XG4gICAgcGFkZGluZzogJHNwYWNlO1xufVxuXG4ucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgJi5qcy1zZWFyY2gtcmVzdWx0cy1saXN0IHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkgYW5kIChtYXgtd2lkdGg6ICRkZXNrLXdpZGUtc3RhcnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlO1xuICAgICAgICB9XG4gICAgfVxufVxuLnBhZ2UtYm94LS1jb21ibyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDEpIHtcbiAgICAgICAgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2UgJHNwYWNlIDAgMDtcbiAgICAgICAgfVxuICAgICAgICAucGFnZS1ib3hfX2VsZW1lbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgJHNwYWNlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2UtYm94X19pbWFnZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmxlZnQtc2lkZWQge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAucmlnaHQtc2lkZWQge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAucGFnZS1ib3hfX2JvZHkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgdWwgbGksIG9sIGxpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRzcGFjZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kc3BhY2U7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5iYWNrLWxpbmsge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1saWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJHNwYWNlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUtYmVmb3JlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgZmlyc3QgZWxlbWVudCBpcyByaWdodC1zaWRlZFxuICAgICAgICAucGFnZS1ib3hfX2luc2lkZSA+IC5wYWdlLWJveF9fZWxlbWVudC5yaWdodC1zaWRlZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDIpIHtcbiAgICAgICAgLmxlZnQtc2lkZWQge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIC5yaWdodC1zaWRlZCB7XG4gICAgICAgICAgICB3aWR0aDogNjYuNjY2NjY2JTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuaGFsZiB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIC5mdWxsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1ib3gucGFnZS1ib3gtLXRocmVlLW5ld3MgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5wYWdlLWJveC0tZnVsbC13aWR0aCB7XG4gICAgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2U7XG4gICAgfVxufVxuXG4ucGFnZS1ib3gtLW1pZGRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAxKSB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgLnRpbGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogJHNwYWNlLzI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDIpIHtcbiAgICAgICAgLnRpbGUtLW1pZGRsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWJveC0tbWlkZGxlIHtcbiAgICAudGlsZS0tZG91YmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgIC50aWxlX19pbWFnZTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDEpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzAlO1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGlsZV9faGlnaGxpZ2h0LWZsYWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1ib3gtLW1pZGRsZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDEpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAyKSB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NiU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMy4zMzMzMyU7O1xuICAgIH1cbn1cblxuLnBhZ2UtYm94LS1leHBlcnRpc2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4KTtcbiAgICAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbGlnaHQtZ3JheTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLnRhZ3Mge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgdG9wOiAkc3BhY2UqMztcbiAgICAgICAgbGVmdDogJHNwYWNlO1xuICAgICAgICByaWdodDogJHNwYWNlO1xuICAgICAgICBib3R0b206ICRzcGFjZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlLzI7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFnIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIC8qcGFkZGluZy1ib3R0b206IDA7Ki9cbiAgICAgICAgLypoZWlnaHQ6IGF1dG87Ki9cbiAgICAgICAgLnRhZ3Mge1xuICAgICAgICAgICAgLypoZWlnaHQ6IGF1dG87Ki9cbiAgICAgICAgfVxuICAgICAgICAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgICAgICAgICAvKnBvc2l0aW9uOiBzdGF0aWM7Ki9cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtYm94X19lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG59XG5cbi5wYWdlLWJveF9fdGl0bGUge1xuICAgIC50aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMnB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gICAgLnN1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xuICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgICB9XG4gICAgLmFwcGxpZXMtdG8ge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtbGlnaHQ7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zdHJvbmdlcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIFtkYXRhLWN1cnJlbnQtYnJhbmNoPVwiYWdvXCJdICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc3Ryb25nZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IC0kc3BhY2UvMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBhZ2UtYm94LWJwMSkge1xuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI4cHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtYm94X19pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuYmFjay1saW5rIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlLzQgJHNwYWNlLzI7XG4gICAgfVxufVxuXG4ucGFnZS1ib3hfX2NvbnRhY3RzIHtcbiAgICAvLyAgdGVtcG9yYXJ5IGZvciBzbWFsbGVyIGltYWdlc1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgLnRlbGVwaG9uZS1udW1iZXJzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xuICAgIH1cbiAgICAuZW1haWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2U7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWRkcmVzcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbiAgICB9XG4gICAgLmxhbmd1YWdlcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbiAgICB9XG59XG5cbi5wYWdlLWJveF9fcGFydG5lciB7XG4gICAgLnN1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbn1cblxuLnBhZ2UtYm94X19saW5rcyB7XG4gICAgbWluLWhlaWdodDogJHNwYWNlKjM7XG4gICAgLmxpbmtzIHtcbiAgICAgICAgQGV4dGVuZCAuZ3JpZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN2Zy1jb250ZW50KDI0cHgsIDMwcHgpO1xuICAgICAgICAgICAgQGV4dGVuZCAuZ3JpZF9faXRlbTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi51c2VyX2NhcmQge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAyKSB7XG4gICAgICAgIGhlaWdodDogJHNwYWNlO1xuICAgICAgICAubGlua3Mge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBhOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAxKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHBhZ2UtYm94LWJwMSkgYW5kIChtYXgtd2lkdGg6ICRwYWdlLWJveC1icDIgLSAxcHgpIHtcbiAgICAgICAgLmxpbmtzIHtcbiAgICAgICAgICAgIGE6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWJveC0tbG9jYXRpb24ge1xuICAgIC50ZXh0IHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlLWxpbms7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ncmF5O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlLzM7XG4gICAgICAgIH1cbiAgICAgICAgLmxvY2F0aW9ucy1saXN0IGEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkZHJlc3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2U7XG4gICAgfVxuICAgIC5tYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAzMTJweDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDIpIHtcbiAgICAgICAgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2UtYm94X19lbGVtZW50IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIC5sZWZ0LXNpZGVkIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMzMlO1xuICAgICAgICB9XG4gICAgICAgIC5yaWdodC1zaWRlZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMzMuMzMzMzMzMyU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1ib3gtLXRocmVlLW5ld3Mge1xuICAgICYuaW50ZXJuYXRpb25hbC1kZXNrcy1ib3gge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgfVxuICAgIC50aWxlOm5vdCgudGlsZS0tYnVja2V0LXB1YmxpY2F0aW9uKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4ucGFnZS1ib3gtLWhpZ2hsaWdodGVkLXRpbGUge1xuICAgICYuaW50ZXJuYXRpb25hbC1kZXNrcy1ib3gge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAxKSB7XG4gICAgICAgIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmF5LTM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWJveC0taG9tZXBhZ2UtdGhyZWUtbmV3cyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2U7XG4gICAgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbGlnaHQtZ3JheS0zO1xuICAgIH1cbn1cblxuLy9TaXRlbWFwXG4uYmxvY2stc2l0ZW1hcCB7XG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcC1jb250cm9scyB7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgIC5yaWJib24td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgICAgICAucmliYm9uLWZyb250IHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgICAucmliYm9uLWVkZ2UtYm90dG9tbGVmdCB7XG4gICAgICAgICAgICB0b3A6IDkzcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi5leHBhbmQtYm94LWJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZS1saW5rO1xuICAgICAgICAmOm50aC1jaGlsZCgtbisxKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSAge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzJSAtIDdweCk7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgtbis0KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkgYW5kIChtYXgtd2lkdGg6ICRkZXNrLXN0YXJ0IC0gMXB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMXB4KTtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKC1uKzMpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGNvbG9yOiAjNTU1O1xuICAgIH1cblxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLnNpdGVtYXAtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgLmNvbHVtbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICYgPiAuc2l0ZW1hcC1saXN0X19sZXZlbC0yOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjRweCk7XG4gICAgICAgICAgICAgICAgJiA+IC5zaXRlbWFwLWxpc3RfX2xldmVsLTI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2l0ZW1hcC1saXN0X19sZXZlbC0xIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNpdGVtYXAtbGlzdF9fbGV2ZWwtMiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstZ3JheTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnBhZ2UtYm94LS1zaXRlbWFwX19vbmUtbGV2ZWwge1xuICAgICAgICAuc2l0ZW1hcC1saXN0IHtcbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zaXRlbWFwLWxpc3RfX2xldmVsLTEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnBhZ2UtYm94LS1zaXRlbWFwLWJyYW5jaCB7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5zaXRlbWFwLWxpc3RfX2xldmVsLTEge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIC5yZWd1bGFyLWxpbmsgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1taWRkbGUtYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiR0aGluLWJsb2NrLWhlaWdodDogMzM1cHg7XG5cbkBtaXhpbiBidXR0b24tZ3JlZW4oKSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi8qIFNoYXJlIGJsb2NrKi9cbkBtaXhpbiBmbHlvdXQtbWVudSgpIHtcbiAgLmZseW91dC1tZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdG9wOiAyNjBweDtcbiAgICB6LWluZGV4OiAzMztcbiAgICByaWdodDogMDtcblxuICAgIC5mbHlvdXQtbWVudS1lbGVtZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cblxuICAgICYgPiBociB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIEBpbmNsdWRlIGljb24tY29sb3IoJGNvbG9yLXdoaXRlKTtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luOiAxM3B4O1xuICAgIH1cblxuICAgIC5zaWRlYmFyLXNoYXJpZmYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiA5cHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAuY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuc2hhcmlmZi1idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3Bhbi5mYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBSaWJib24gc3R5bGUgKi9cbkBtaXhpbiByaWJib24oKSB7XG5cbiAgLnJpYmJvbi13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuXG4gIC5yaWJib24tZnJvbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgaGVpZ2h0OiA3OHB4O1xuICAgIHdpZHRoOiA5NSU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgd2lkdGg6IDY1JTtcbiAgICB9XG5cbiAgICBoMSwgaDIsIGgzLCBoNCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgcGFkZGluZzogMTRweCAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYucmliYm9uLWhlYWRlciB7XG4gICAgICBoMSwgaDIsIGgzLCBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yaWJib24tZWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogLTI0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkY29sb3ItcGFsZS1ibHVlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMCAyNHB4IDI0cHggMDtcbiAgfVxufVxuXG5AbWl4aW4gcGFydG5lci1pbnRlcnZpZXcoKSB7XG4gIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sge1xuICAgIGgyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgYnV0dG9uLnNsaWRlcl9uYXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMTAwMDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIHNwcml0ZSgnY2hldnJvbl9vcGVuJywgKGZpbGw6ICRjb2xvci1kYXJrLWdyYXkpKTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgICYubmV4dCB7XG4gICAgICAgIHJpZ2h0OiAzcHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgYm90dG9tOiA1MSU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucHJldmlvdXMge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBsZWZ0OiAzcHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHRvcDogNTElO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgc3Ryb2tlOiAkY29sb3ItZGFyay1ncmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1zIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLnBhcnRuZXJfaW50ZXJ2aWV3IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhcnRuZXJfaW1hZ2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnRlcnZpZXcge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZS1hZnRlcigpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmliYm9uO1xuXG4gICAgLnJpYmJvbi1mcm9udCB7XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgcGFkZGluZzogMTRweCAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cblxuLypcbkNvbnRhY3QgZm9ybSBibG9ja1xuICovXG5AbWl4aW4gY29udGFjdC1mb3JtKCkge1xuICAuY29udGFjdC1mb3JtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXdpZGUtc3RhcnQpIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICR0aGluLWJsb2NrLWhlaWdodDtcbiAgICB9XG5cbiAgICAubGVmdCB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgY29sb3I6ICRjb2xvci12ZXJ5LWRhcmstZ3JheTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDY2LjY2JTtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAuYnRuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyZWVuO1xuICAgICAgfVxuXG4gICAgICAudHdvLXN0YXRlLWJsb2NrIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlO1xuICAgICAgfVxuXG4gICAgICAudHdvLXN0YXRlLWJsb2NrX19pbml0aWFsIHtcbiAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJpYmJvbjtcblxuICAgIH1cblxuICAgIC5yaWdodCB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gICAgICB9XG5cbiAgICAgIC5rZXktY29udGFjdCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggJHNwYWNlICRzcGFjZSAkc3BhY2U7XG5cbiAgICAgICAgLnBlcnNvbi1uYW1lIC5uYW1lIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNob3ctYWxsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdC1mb3JtX19oZWFkLS1zZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICAkY29udGFjdC10ZXh0YXJlYS1oZWlnaHQ6ICRzcGFjZSo1O1xuXG4gICAgZm9ybSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1lbWFpbF0sXG4gICAgaW5wdXRbdHlwZT10ZXh0XSxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2UvMjtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWdyYXk7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgaGVpZ2h0OiAkY29udGFjdC10ZXh0YXJlYS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLnByaXZhY3kge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgIC5jb250YWN0LWZvcm1fX292ZXJsYXkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY29udGFjdC1mb3JtX19lcnJvciB7XG4gICAgICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtZm9ybV9faGVhZC0tc2VudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuY29udGFjdC1mb3JtLS13cm9uZyB7XG4gICAgICB0ZXh0YXJlYSxcbiAgICAgIGlucHV0W3R5cGU9dGV4dF0sXG4gICAgICBpbnB1dFt0eXBlPWVtYWlsXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1yZWQ7XG4gICAgICB9XG5cbiAgICAgIC5jb250YWN0LWZvcm1fX2Vycm9yIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb250YWN0LWZvcm0tLXN1Ym1pdHRpbmcge1xuICAgICAgPiAqIHtcbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgfVxuXG4gICAgICAuY29udGFjdC1mb3JtX19vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6ICRjb250YWN0LXRleHRhcmVhLWhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jb250YWN0LWZvcm1fX292ZXJsYXktY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNHB4KTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbnRhY3QtZm9ybS0tc2VudCB7XG4gICAgICAuY29udGFjdC1mb3JtX19oZWFkLS1pbml0aWFsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhY3QtZm9ybV9faGVhZC0tc2VudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ua2V5LWNvbnRhY3Qge1xuICBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmLnJvdy1vcmllbnRlZCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgLnBlcnNvbi1saW5rIHtcbiAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICAucGVyc29uLWltYWdlLXBob3RvIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGhlaWdodDogNjAlO1xuICAgIH1cbiAgICAucGVyc29uLXRleHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAyMHB4O1xuXG4gICAgICAucGVyc29uLWFkZHJlc3MtYmxvY2sge1xuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiA4NCU7XG4gICAgICB9XG4gICAgICAuYWN0aW9uLWJhci5wZXJzb24tYWN0aW9ucyB7XG4gICAgICAgIHdpZHRoOiAxNiU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICYuYWN0aW9uLS1waG9uZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjNweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2xvYWQtbW9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGNvbG9yOiAjMTMyOTRhO1xuICAgICAgLmJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wZXJzb24taW1hZ2UtcGhvdG8ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5wZXJzb24tdGV4dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnBlcnNvbi1hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQG1peGluIGFic29sdXRlLXBvc2l0aW9uKCR0b3AgOiAwLCAkbGVmdDogMCwgJHdpZHRoIDogMTAwJSwgJGhlaWdodDogMTAwJSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHRvcDtcbiAgbGVmdDogJGxlZnQ7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cblxuLypcbkluZm9ncmFwaGljcyBibG9ja1xuICovXG5AbWl4aW4gaW5mb2dyYXBoaWNzKCkge1xuICAuaW5mb2dyYXBoaWNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cbn1cblxuLyogVmlkZW8gYmxvY2sgKi9cbkBtaXhpbiB2aWRlbygpIHtcbiAgLmJsb2NrX3ZpZGVvIHtcbiAgICAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3gge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAzODRweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJi5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQzMHB4O1xuXG4gICAgICAgIC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJsb2NrX3ZpZGVvLXZpZGVvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrX3ZpZGVvLXBsYXllci12aWRlbyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAucHJldmlldy1idXR0b24ge1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlLXBvc2l0aW9uKDQ1JSwgNDMlLCAwLCAwKTtcbiAgICAgICAgICAgIG1hcmdpbjogLTIwcHggMCAwIC0xMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDgwcHggc29saWQgcmdiYSgxOSwgNDEsIDc0LCAuNzUpO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAzMDBtcztcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtcG9zaXRpb24oNDUlLCA0OCUsIDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA4MHB4IHNvbGlkIHJnYmEoMTksIDQxLCA3NCwgLjkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJpYmJvbjtcblxuICAgICAgICAucmliYm9uLXdyYXBwZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtNTVweDtcblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBIYWxmIGJsb2NrICovXG5AbWl4aW4gaGFsZigpIHtcbiAgLmhhbGYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbn1cblxuLyogQ29udGVudCBibG9jayAqL1xuQG1peGluIGNvbnRlbnQoKSB7XG4gICYuc2xpZGVyX2Jsb2NrIHtcbiAgICAuc2xpY2stc2xpZGVyIHtcblxuICAgICAgYnV0dG9uLnNsaWRlcl9uYXYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDAwMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAzM3B4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICByaWdodDogMjBweDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGJvdHRvbTogMThweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIGxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBzdHJva2U6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1heF9jb3VudF8xIHtcbiAgICAgIGRpdi5pdGVtcyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDogMzgwcHg7XG5cbiAgICAgICAgJiA+IC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1wb3NpdGlvbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMzMHB4O1xuICAgICAgICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuaGFsZjpub3QoLmJhc2VfYmxvY2tfX2NvbnRlbnQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIGFuZCAobWF4LXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgIGhlaWdodDogNjEwcHg7XG4gICAgICAgICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNjEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgICYubWF4X2NvdW50XzIge1xuICAgICAgZGl2Lml0ZW1zIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiAzODBweDtcblxuICAgICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAuaGFsZiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJi5iYXNlX2Jsb2NrX19jb250ZW50IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBib3R0b206IDEwcHg7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGVudC1ibG9jayB7XG4gICAgbWluLWhlaWdodDogMzgwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBjb2xvcjogJGNvbG9yLXZlcnktZGFyay1ncmF5O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5iYXNlX2Jsb2NrX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDQycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnR5cGVfcHVibGljYXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuXG4gICAgICAuYmFzZV9ibG9ja19fY29udGVudCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDI4MHB4O1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWF4LWhlaWdodDogMzgwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICAuaGFsZjpub3QoLmJhc2VfYmxvY2tfX2NvbnRlbnQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50eXBlX3RleHRfY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXZlcnktZGFyay1ncmF5O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdmVyeS1kYXJrLWdyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLS1jZW50ZXIge1xuICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICBtYXJnaW46IDI1cHggYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYudHlwZV9xdW90ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cblxuICAgICYubGlua2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5saW5rX2Fycm93IHtcbiAgICAgIEBpbmNsdWRlIHNwcml0ZSgncmlnaHQtYXJyb3cnKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJi50eXBlX3F1b3RlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcblxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgYm90dG9tOiAtMTJweDtcbiAgICAgICAgICBwYWRkaW5nOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGhhbGY7XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oYWxmX19pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgIC8qIFNldCB1cCBwcm9wb3J0aW9uYXRlIHNjYWxpbmcgKi9cbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAvKiBTZXQgdXAgcG9zaXRpb25pbmcgKi9cbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW50cm8ge1xuICAgIHBhZGRpbmc6ICRzcGFjZTtcbiAgfVxufVxuXG4vKiBEb3dubG9hZCBibG9jayovXG5AbWl4aW4gZG93bmxvYWQoKSB7XG4gIC5ibG9ja19kb3dubG9hZCB7XG4gICAgLmRsLWJveCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWluLWhlaWdodDogMjYwcHg7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgbWluLWhlaWdodDogJHRoaW4tYmxvY2staGVpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuZGwtYm94X190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBHZW5lcmFsIHBhZ2UgKi9cbi50b3BfcHVibGljYXRpb24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAuY29udGFpbmVyLWlubmVyIHtcblxuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC56b25lcy1sYXlvdXQtc2ltcGxlIHtcbiAgICAgICAgJi5lZGl0b3JpYWxfbW9kZXtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbGlnaHQtZ3JheS0zO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgIC5ibG9ja19iYXNlLmhhbGYge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgLnJpYmJvbi1mcm9udCB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0yNHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLnJpYmJvbi1lZGdlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDc4cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogLTI0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcGFsZS1ibHVlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMjRweCAyNHB4IDAgMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJsb2NrX2ludmlzaWJsZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5iYXNlX2Jsb2NrX19jb250ZW50LmZsb2F0LS1yaWdodCB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAuYmxvY2tfYmFzZS5oYWxmIHtcbiAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxhbmRpbmctcGFnZV9fYmxvY2ssIC5ibG9ja19iYXNlLCAuYmxvY2tfc2xpZGVyLCAuYmxvY2tfdmlkZW8sIC5ibG9ja19kb3dubG9hZCwgLmJsb2NrX3RpbGVzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2tfYmFzZSB7XG4gICAgICAgICAgQGluY2x1ZGUgY29udGFjdC1mb3JtO1xuICAgICAgICAgIEBpbmNsdWRlIGluZm9ncmFwaGljcztcbiAgICAgICAgICBAaW5jbHVkZSBwYXJ0bmVyLWludGVydmlldztcbiAgICAgICAgICBAaW5jbHVkZSBjb250ZW50O1xuICAgICAgICAgIEBpbmNsdWRlIHJpYmJvbjtcblxuICAgICAgICAgIC5ibG9ja19faW50cm8ge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMjRweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBoYWxmO1xuICAgICAgICBAaW5jbHVkZSB2aWRlbztcblxuICAgICAgICAuYmxvY2tfdGlsZXMge1xuICAgICAgICAgIEBpbmNsdWRlIHJpYmJvbjtcbiAgICAgICAgICAuYmxvY2tfX2ludHJvIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGlsZV9faGVhZGluZyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstYmx1ZTtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRsYXAtc3RhcnQpIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAgICAgLmJ0bi5sb2FkLW1vcmUge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgZG93bmxvYWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZmx5b3V0LW1lbnU7XG5cbiAgLnRpbGUtZ3JpZCB7XG4gICAgQGluY2x1ZGUgdGlsZXNHcmlkX3RvcFB1YmxpY2F0aW9ucztcbiAgfVxufVxuXG4udGV4dC10cmFuc2Zvcm0tdXBwZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuIiwiJHNwcml0ZXM6IChcbiAgICAnYWxlcnQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTc2IDUxMiclM2UlM2NwYXRoIGZpbGw9JyUyM2U1MTMxMycgZD0nTTI0OC43NDcgMjA0LjcwNWw2LjU4OCAxMTJjLjM3MyA2LjM0MyA1LjYyNiAxMS4yOTUgMTEuOTc5IDExLjI5NWg0MS4zN2ExMiAxMiAwIDAwMTEuOTc5LTExLjI5NWw2LjU4OC0xMTJjLjQwNS02Ljg5My01LjA3NS0xMi43MDUtMTEuOTc5LTEyLjcwNWgtNTQuNTQ3Yy02LjkwMyAwLTEyLjM4MyA1LjgxMi0xMS45NzggMTIuNzA1ek0zMzAgMzg0YzAgMjMuMTk2LTE4LjgwNCA0Mi00MiA0MnMtNDItMTguODA0LTQyLTQyIDE4LjgwNC00MiA0Mi00MiA0MiAxOC44MDQgNDIgNDJ6bS0uNDIzLTM2MC4wMTVjLTE4LjQzMy0zMS45NTEtNjQuNjg3LTMyLjAwOS04My4xNTQgMEw2LjQ3NyA0NDAuMDEzQy0xMS45NDUgNDcxLjk0NiAxMS4xMTggNTEyIDQ4LjA1NCA1MTJINTI3Ljk0YzM2Ljg2NSAwIDYwLjAzNS0zOS45OTMgNDEuNTc3LTcxLjk4N0wzMjkuNTc3IDIzLjk4NXpNNTMuMTkxIDQ1NS4wMDJMMjgyLjgwMyA1Ny4wMDhjMi4zMDktNC4wMDIgOC4wODUtNC4wMDIgMTAuMzk0IDBsMjI5LjYxMiAzOTcuOTkzYzIuMzA4IDQtLjU3OSA4Ljk5OC01LjE5NyA4Ljk5OEg1OC4zODhjLTQuNjE3LjAwMS03LjUwNC00Ljk5Ny01LjE5Ny04Ljk5N3onLyUzZSUzYy9zdmclM2VcIixcbiAgICAnYWxsLWFycm93LWJvbGQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTQgMTQnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtNS41IC02KScgZmlsbD0nYmxhY2snIGZpbGwtcnVsZT0nbm9uemVybyclM2UlM2NwYXRoIGQ9J002LjM5NSA4LjE5NEw2LjM4IDYuOTg3YS44OS44OSAwIDAxLjkxLS45MDlsMTAuNTYzLjEzM2MuNTExLjAwNi45My40MjUuOTMzLjkzM2wuMTM2IDEwLjU2N2EuODkuODkgMCAwMS0uOTEuOTFsLTEuMjA2LS4wMTZhLjk1Mi45NTIgMCAwMS0uOTM0LS45NTVsLjA3My02LjM5My03LjcxIDcuNzFhLjkyLjkyIDAgMDEtMS4zMDUtLjAxNmwtLjg4LS44ODFhLjkyLjkyIDAgMDEtLjAxOC0xLjMwNWw3LjcxMS03LjcxLTYuMzkzLjA3M2EuOTQ1Ljk0NSAwIDAxLS45NTUtLjkzNHonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2FsbC1hcnJvdy1zZW1pJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEzIDEzJyUzZSUzY2cgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTYgLTYpJyBmaWxsPSdibGFjaycgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggZD0nTTcuMjg0IDYuMzc4bDEwLjU2Ni4xMzNjLjM0Ny4wMDQuNjM0LjI5LjYzNi42MzVsLjEzNiAxMC41NjlhLjU5LjU5IDAgMDEtLjYwNC42MDVsLTEuMjA4LS4wMTVhLjY1Mi42NTIgMCAwMS0uNjM4LS42NTNsLjA4Mi03LjEyOC04LjIzMiA4LjIzMWEuNjIuNjIgMCAwMS0uODgtLjAxNmwtLjg4LS44ODFhLjYyLjYyIDAgMDEtLjAxNy0uODhsOC4yMy04LjIzMi03LjEyOC4wODJhLjY0Ni42NDYgMCAwMS0uNjUyLS42MzZMNi42OCA2Ljk4NGEuNTkuNTkgMCAwMS42MDQtLjYwNnonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2FsbC1hcnJvdyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCclM2UlM2NnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC01IC02KScgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTYuMzk1IDguMTk0TDYuMzggNi45ODdhLjg5Ljg5IDAgMDEuOTEtLjkwOWwxMC41NjMuMTMzYy41MTEuMDA2LjkzLjQyNS45MzMuOTMzbC4xMzYgMTAuNTY3YS44OS44OSAwIDAxLS45MS45MWwtMS4yMDYtLjAxNmEuOTUyLjk1MiAwIDAxLS45MzQtLjk1NWwuMDczLTYuMzkzLTcuNzEgNy43MWEuOTIuOTIgMCAwMS0xLjMwNS0uMDE2bC0uODgtLjg4MWEuOTIuOTIgMCAwMS0uMDE4LTEuMzA1bDcuNzExLTcuNzEtNi4zOTMuMDczYS45NDUuOTQ1IDAgMDEtLjk1NS0uOTM0eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnYXJyb3dfYnVsa3knOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzEyLjc2IDI2Ni44NiclM2UlM2NwYXRoIGQ9J00yOTIuOTg3IDE1NS44NjJsLTEzNi4zOC0xMzYuMzgtMTM2LjM4IDEzNi4zOEg3OS43NnY5MWgxNTN2LTkxJy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2Fycm93X3RoaW4nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjA2IDMyMyclM2UlM2NnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTI4Ljc1IDIzNC40MTZsNjMuMjcgNTguMTdjNi4yNDggNS43NDQgMTQuNTggNS44IDIwLjg3My4xNDNsNjQuODQ2LTU4LjMxNE0xMDMuMTQgMjQuMjd2MjYwJy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnYmFja190b190b3AnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSd3aGl0ZScgZD0nTTggMi44bDggNy45LTIuNCAyLjQtNS41LTUuNS01LjYgNS42TDAgMTAuN3onLyUzZSUzYy9zdmclM2VcIixcbiAgICAnYmxvZyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxOCAxOCclM2UlM2NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGw9J2JsYWNrJyBmaWxsLXJ1bGU9J25vbnplcm8nJTNlJTNjcGF0aCBkPSdNMTggMTIuNzAxVjEuOTI5QTEuOTI5IDEuOTI5IDAgMDAxNi4wNzEgMEgxLjkzQTEuOTI5IDEuOTI5IDAgMDAwIDEuOTI5VjE2LjA3QzAgMTcuMTM3Ljg2MyAxOCAxLjkyOSAxOEgxMi43Yy41MTIgMCAxLjAwMi0uMjAzIDEuMzY0LS41NjVsMy4zNy0zLjM3Yy4zNjItLjM2Mi41NjUtLjg1Mi41NjUtMS4zNjR6bS01LjE0MyAzLjIxNHYtMy4wNThoMy4wNThsLTMuMDU4IDMuMDU4ek0xNi4wNzEgMS45M3Y5aC00LjE3OGEuOTY0Ljk2NCAwIDAwLS45NjQuOTY0djQuMTc4aC05VjEuOTNIMTYuMDd6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdib29rbWFyayc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzODQgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTMzNiAwSDQ4QzIxLjQ5IDAgMCAyMS40OSAwIDQ4djQ2NGwxOTItMTEyIDE5MiAxMTJWNDhjMC0yNi41MS0yMS40OS00OC00OC00OHptMCA0MjguNDNsLTE0NC04NC0xNDQgODRWNTRhNiA2IDAgMDE2LTZoMjc2YzMuMzE0IDAgNiAyLjY4MyA2IDUuOTk2VjQyOC40M3onLyUzZSUzYy9zdmclM2VcIixcbiAgICAnY2FsZW5kYXItYWx0JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ0OCA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBzdHJva2U9J19fX3N0cm9rZV9fXycgZD0nTTE0OCAyODhoLTQwYy02LjYgMC0xMi01LjQtMTItMTJ2LTQwYzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2NDBjMCA2LjYtNS40IDEyLTEyIDEyem0xMDgtMTJ2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyem05NiAwdi00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptLTk2IDk2di00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptLTk2IDB2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyem0xOTIgMHYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC00MGMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ6bTk2LTI2MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjExMmMwLTI2LjUgMjEuNS00OCA0OC00OGg0OFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDEyOFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNDggMzQ2VjE2MEg0OHYyOThjMCAzLjMgMi43IDYgNiA2aDM0MGMzLjMgMCA2LTIuNyA2LTZ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NoYXJ0LWxpbmUtZG93bic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgc3Ryb2tlPSdfX19zdHJva2VfX18nIGQ9J00xODAuNjkgMjQ2LjYyYzYuMjUgNi4yNSAxNi4zOCA2LjI1IDIyLjYzIDBMMjg4IDE2MS45NGw4Ny42IDg3LjYtMjkuNSAyOS40OWMtMTUuMTIgMTUuMTItNC40MSA0MC45NyAxNi45NyA0MC45N0g0NjRjOC44NCAwIDE2LTcuMTYgMTYtMTZWMjAzLjA3YzAtMjEuMzgtMjUuODUtMzIuMDktNDAuOTctMTYuOTdsLTI5LjQ5IDI5LjUtMTEwLjIzLTExMC4yMmMtNi4yNS02LjI1LTE2LjM4LTYuMjUtMjIuNjMgMEwxOTIgMTkwLjA2bC01MS43Mi01MS43MmMtNi4yNS02LjI1LTE2LjM4LTYuMjUtMjIuNjMgMGwtMTEuMzEgMTEuMzFjLTYuMjUgNi4yNS02LjI1IDE2LjM4IDAgMjIuNjNsNzQuMzUgNzQuMzR6TTQ5NiA0MDBINDhWODBjMC04Ljg0LTcuMTYtMTYtMTYtMTZIMTZDNy4xNiA2NCAwIDcxLjE2IDAgODB2MzM2YzAgMTcuNjcgMTQuMzMgMzIgMzIgMzJoNDY0YzguODQgMCAxNi03LjE2IDE2LTE2di0xNmMwLTguODQtNy4xNi0xNi0xNi0xNnonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnY2hldnJvbl9jbG9zZWQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTc2LjM4IDMxMi43NiclM2UlM2NwYXRoIGQ9J00yMCAxOS42Njh2MjcyLjc1OGwxMzYuMzgtMTM2LjM4Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NoZXZyb25fb3Blbic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0NTEuODQ2IDQ1MS44NDcnJTNlJTNjZyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTM0NS40NDEgMjQ4LjI5MkwxNTEuMTU0IDQ0Mi41NzNjLTEyLjM1OSAxMi4zNjUtMzIuMzk3IDEyLjM2NS00NC43NSAwLTEyLjM1NC0xMi4zNTQtMTIuMzU0LTMyLjM5MSAwLTQ0Ljc0NEwyNzguMzE4IDIyNS45MiAxMDYuNDA5IDU0LjAxN2MtMTIuMzU0LTEyLjM1OS0xMi4zNTQtMzIuMzk0IDAtNDQuNzQ4IDEyLjM1NC0xMi4zNTkgMzIuMzkxLTEyLjM1OSA0NC43NSAwbDE5NC4yODcgMTk0LjI4NGM2LjE3NyA2LjE4IDkuMjYyIDE0LjI3MSA5LjI2MiAyMi4zNjYgMCA4LjA5OS0zLjA5MSAxNi4xOTYtOS4yNjcgMjIuMzczeicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NoZXZyb24tZG93bic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0NTEuODQ3IDQ1MS44NDcnJTNlJTNjZyUzZSUzY3BhdGggZD0nTTIyNS45MjMgMzU0LjcwNmMtOC4wOTggMC0xNi4xOTUtMy4wOTItMjIuMzY5LTkuMjYzTDkuMjcgMTUxLjE1N2MtMTIuMzU5LTEyLjM1OS0xMi4zNTktMzIuMzk3IDAtNDQuNzUxIDEyLjM1NC0xMi4zNTQgMzIuMzg4LTEyLjM1NCA0NC43NDggMGwxNzEuOTA1IDE3MS45MTUgMTcxLjkwNi0xNzEuOTA5YzEyLjM1OS0xMi4zNTQgMzIuMzkxLTEyLjM1NCA0NC43NDQgMCAxMi4zNjUgMTIuMzU0IDEyLjM2NSAzMi4zOTIgMCA0NC43NTFMMjQ4LjI5MiAzNDUuNDQ5Yy02LjE3NyA2LjE3Mi0xNC4yNzQgOS4yNTctMjIuMzY5IDkuMjU3eicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NoZXZyb24tcmlnaHQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTg1LjM0MyAxODUuMzQzJyUzZSUzY2clM2UlM2NnJTNlJTNjcGF0aCBkPSdNNTEuNzA3IDE4NS4zNDNhMTAuNjkyIDEwLjY5MiAwIDAxLTcuNTkzLTMuMTQ5IDEwLjcyNCAxMC43MjQgMCAwMTAtMTUuMTc1bDc0LjM1Mi03NC4zNDdMNDQuMTE0IDE4LjMyYy00LjE5NC00LjE5NC00LjE5NC0xMC45ODcgMC0xNS4xNzUgNC4xOTQtNC4xOTQgMTAuOTg3LTQuMTk0IDE1LjE4IDBsODEuOTM0IDgxLjkzNGM0LjE5NCA0LjE5NCA0LjE5NCAxMC45ODcgMCAxNS4xNzVsLTgxLjkzNCA4MS45MzlhMTAuNjc4IDEwLjY3OCAwIDAxLTcuNTg3IDMuMTV6JyBmaWxsPSclMjMwMTAwMDInLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2Nsb3NlJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIyIDIzJyUzZSUzY2clM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgLjUpJyUzZSUzY3BhdGggZD0nTTE5LjQ4NCAwbDIuMTY1IDIuMTY1LTguNjYgOC42NiA4LjY2IDguNjU5LTIuMTY1IDIuMTY1LTguNjYtOC42Ni04LjY2IDguNjZMMCAxOS40ODRsOC42NTktOC42NkwwIDIuMTY0IDIuMTY1IDBsOC42NiA4LjY1OXonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NvbW1lbnQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00yNTYgMzJDMTE0LjYgMzIgMCAxMjUuMSAwIDI0MGMwIDQ3LjYgMTkuOSA5MS4yIDUyLjkgMTI2LjNDMzggNDA1LjcgNyA0MzkuMSA2LjUgNDM5LjVjLTYuNiA3LTguNCAxNy4yLTQuNiAyNlMxNC40IDQ4MCAyNCA0ODBjNjEuNSAwIDExMC0yNS43IDEzOS4xLTQ2LjNDMTkyIDQ0Mi44IDIyMy4yIDQ0OCAyNTYgNDQ4YzE0MS40IDAgMjU2LTkzLjEgMjU2LTIwOFMzOTcuNCAzMiAyNTYgMzJ6bTAgMzY4Yy0yNi43IDAtNTMuMS00LjEtNzguNC0xMi4xbC0yMi43LTcuMi0xOS41IDEzLjhjLTE0LjMgMTAuMS0zMy45IDIxLjQtNTcuNSAyOSA3LjMtMTIuMSAxNC40LTI1LjcgMTkuOS00MC4ybDEwLjYtMjguMS0yMC42LTIxLjhDNjkuNyAzMTQuMSA0OCAyODIuMiA0OCAyNDBjMC04OC4yIDkzLjMtMTYwIDIwOC0xNjBzMjA4IDcxLjggMjA4IDE2MC05My4zIDE2MC0yMDggMTYweicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdjb21wYXNzJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ5NiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMzQ3Ljk0IDEyOS44NkwyMDMuNiAxOTUuODNhMzEuOTM4IDMxLjkzOCAwIDAwLTE1Ljc3IDE1Ljc3bC02NS45NyAxNDQuMzRjLTcuNjEgMTYuNjUgOS41NCAzMy44MSAyNi4yIDI2LjJsMTQ0LjM0LTY1Ljk3YTMxLjkzOCAzMS45MzggMCAwMDE1Ljc3LTE1Ljc3bDY1Ljk3LTE0NC4zNGM3LjYxLTE2LjY2LTkuNTQtMzMuODEtMjYuMi0yNi4yem0tNzcuMzYgMTQ4LjcyYy0xMi40NyAxMi40Ny0zMi42OSAxMi40Ny00NS4xNiAwLTEyLjQ3LTEyLjQ3LTEyLjQ3LTMyLjY5IDAtNDUuMTYgMTIuNDctMTIuNDcgMzIuNjktMTIuNDcgNDUuMTYgMCAxMi40NyAxMi40NyAxMi40NyAzMi42OSAwIDQ1LjE2ek0yNDggOEMxMTEuMDMgOCAwIDExOS4wMyAwIDI1NnMxMTEuMDMgMjQ4IDI0OCAyNDggMjQ4LTExMS4wMyAyNDgtMjQ4UzM4NC45NyA4IDI0OCA4em0wIDQ0OGMtMTEwLjI4IDAtMjAwLTg5LjcyLTIwMC0yMDBTMTM3LjcyIDU2IDI0OCA1NnMyMDAgODkuNzIgMjAwIDIwMC04OS43MiAyMDAtMjAwIDIwMHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnY29udGFjdC1kZXRhaWxzJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIxIDE5JyUzZSUzY2cgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgZmlsbD0nYmxhY2snJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMTcuNDg3IDEzLjcybC0zLjkzOC0xLjY4OGEuODQ0Ljg0NCAwIDAwLS45ODQuMjQzbC0xLjc0NCAyLjEzYTEzLjAzMSAxMy4wMzEgMCAwMS02LjIzLTYuMjNsMi4xMzEtMS43NDNhLjg0Mi44NDIgMCAwMC4yNDMtLjk4NUw1LjI3NyAxLjUxYS44NS44NSAwIDAwLS45NjctLjQ4OWwtMy42NTYuODQ0QS44NDQuODQ0IDAgMDAwIDIuNjg3QzAgMTEuNzA1IDcuMzEgMTkgMTYuMzEzIDE5Yy4zOTMgMCAuNzM0LS4yNy44MjItLjY1NGwuODQ0LTMuNjU2YS44NTQuODU0IDAgMDAtLjQ5Mi0uOTd6JyBmaWxsLXJ1bGU9J25vbnplcm8nLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NvdW50cnknOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzYgMjEnJTNlJTNjZyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyUzZSUzY2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLjMxMyAuODEzKSclM2UlM2NwYXRoIGQ9J005LjY4NyAxOS4zNzVhOS42ODcgOS42ODcgMCAwMDkuNjg4LTkuNjg4QTkuNjg3IDkuNjg3IDAgMDA5LjY4NyAwIDkuNjg3IDkuNjg3IDAgMDAwIDkuNjg3YTkuNjg3IDkuNjg3IDAgMDA5LjY4NyA5LjY4OHptMC0xLjg3NXYtMS4wN2MuMDY3LS40OTMtLjI5OC0xLjQxNi0uODg0LTIuMDAyYTEuMjUgMS4yNSAwIDAxLS4zNjYtLjg4M3YtMS4yNWMwLS40NTYtLjI0NC0uODc0LS42NDItMS4wOTMtLjU2Mi0uMzExLTEuMzYtLjc0NS0xLjkwNy0xLjAyYTUuNjMyIDUuNjMyIDAgMDEtMS4yMzYtLjg1bC0uMDMyLS4wMjhhNS4zODggNS4zODggMCAwMS0uNzA1LS44MWMtLjM2Ny0uNTM4LS45NjMtMS40MjMtMS4zNTEtMS45OThhNy44NTUgNy44NTUgMCAwMTQuMDMtMy45OGwuOTM5LjQ3YS42MjUuNjI1IDAgMDAuOTA0LS41NnYtLjQ0MWMuMzEzLS4wNS42My0uMDgzLjk1My0uMDk1bDEuMTA2IDEuMTA2YS42MjUuNjI1IDAgMDEwIC44ODRsLS4xODQuMTgyLS40MDMuNDA0YS4zMTMuMzEzIDAgMDAwIC40NDJsLjE4My4xODNhLjMxMy4zMTMgMCAwMTAgLjQ0MmwtLjMxMy4zMTNhLjM2Mi4zNjIgMCAwMS0uMTYzLjA4NGwtLjA1OC4wMDdoLS4zNTFhLjMxMi4zMTIgMCAwMC0uMjE4LjA4OWwtLjM4Ny4zNzdhLjM1OS4zNTkgMCAwMC0uMDk1LjIyNGMwIC4wNC4wMTUuMTAzLjAzMy4xNGwuNjA5IDEuMjE4YS4zMTMuMzEzIDAgMDEtLjI4LjQ1MmgtLjIyYS4zMTIuMzEyIDAgMDEtLjIwNS0uMDc2bC0uMzYyLS4zMTVhLjcyNS43MjUgMCAwMC0uNDEtLjE1My43NDkuNzQ5IDAgMDAtLjE5Ny4wMzJsLTEuMjE4LjQwNWEuNTA0LjUwNCAwIDAwLS4zMS4zNjNsLS4wMS4wOGMwIC4xNzcuMS4zMzkuMjYuNDE4bC40MzIuMjE2Yy4zNjcuMTg0Ljc3My4yOCAxLjE4NC4yOC40MSAwIC44ODIgMS4wNjYgMS4yNSAxLjI1aDIuNjA3Yy4zMzIgMCAuNjUuMTMyLjg4NC4zNjZsLjUzNS41MzVjLjE2NS4xNjUuMzAzLjQ2Ni4zNC43MmwuMDA5LjEyMmMwIC40MTctLjI0Ljk5NS0uNTM2IDEuMjg5bC0uNDQyLjQ0YS45MzQuOTM0IDAgMDAtLjI0LjQxOWMtLjA2LjIyLS4xMDguNDQ0LS4xODcuNjU5bC0uNjggMS44M2E3LjgwNyA3LjgwNyAwIDAxLTEuNjY2LjE4M3ptNy43NDItNi44MTVsLTEuMTQtLjI4NWEuOTM4LjkzOCAwIDAxLS41NTMtLjM5bC0uNzAyLTEuMDUzYTEuMSAxLjEgMCAwMS0uMTU4LS41MmMwLS4xNTYuMDctLjM5LjE1OC0uNTJsLjc2NS0xLjE0N2EuOTM2LjkzNiAwIDAxLjM2MS0uMzE4bC41MDctLjI1NGE3Ljc1IDcuNzUgMCAwMS44MzMgMy40OWMwIC4zMzgtLjAyOS42Ny0uMDcxLjk5N3pNMzAuMTg4IDEuNTN2MTAuNjU3SDM1bC01LjY1NyA1LjY1Ny01LjY1Ny01LjY1N2g0LjVWMS41M2gyeicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdjdXN0b21fc29jaWFsX21lZGlhX2xpbmsnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzUyLjc3OSAzODAnJTNlJTNjcGF0aCBzdHJva2U9J19fX3N0cm9rZV9fXycgZmlsbD0nX19fZmlsbF9fXycgZD0nTTMzMS40MzYgMTU2LjkzNWwtMTEzLjA5IDExMy4wOWExNi40ODcgMTYuNDg3IDAgMDEtNi41MzcgNC4wM2wtMzkuMDUgMTIuNjgyIDEyLjY4Mi0zOS4wNDhhMTYuNTAyIDE2LjUwMiAwIDAxNC4wMzItNi41NGwxMTMuMDktMTEzLjA4OCAyOC44NzIgMjguODczeicgZmlsbD0nbm9uZScvJTNlJTNjcGF0aCBzdHJva2U9J19fX3N0cm9rZV9fXycgZmlsbD0nX19fZmlsbF9fXycgZmlsbD0nbm9uZScgZD0nTTI3OC40OTYgMjA5Ljg3NXYxNDMuNzdIMjUuMTJWMjguMDYyaDI1My4zNzZWMTUyLjEzJy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2RvY3VtZW50JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwOSAzODEnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMjcuNSAzNTIuNTk3VjI4LjI2MmMwLS4zNDUuMjgtLjYyNS42MjUtLjYyNUgxNzYuODVjNC44OTcgMCA5LjU5MyAxLjk1MiAxMy4wNDggNS40MjNsODYuMjQgODYuNzc1YTE4LjQxMiAxOC40MTIgMCAwMTUuMzYyIDEyLjk5djIxOS43NzNjMCAuMzQ1LS4yOC42MjUtLjYyNS42MjVIMjguMTI1YS42MjUuNjI1IDAgMDEtLjYyNS0uNjI2eicvJTNlJTNjcGF0aCBkPSdNMjc4LjUgMTI3LjgwNGgtOTYuMzc1Yy0uMzQ1IDAtLjYyNS0uMy0uNjI1LS42N1YyOC43MjInLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdkb3duJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE4IDEyJyUzZSUzY2cgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgZmlsbD0nYmxhY2snJTNlJTNjcGF0aCBkPSdNOC43NTUuNTJsMi40NzUgMi40NzUtLjAwNi4wMDUgNi4wMDYgNi4wMDUtMi40NzUgMi40NzVMOC43NSA1LjQ3NSAyLjc0NSAxMS40OC4yNyA5LjAwNSA2LjI3NSAzbC0uMDA1LS4wMDVMOC43NDUuNTJsLjAwNS4wMDUuMDA1LS4wMDV6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdkb3dubG9hZCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNjIgMzU2JyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMTc1Ljc1MyAxMjIuMjU0aDQzLjU5OGM4LjE1IDAgMTQuNzU1IDYuNjA1IDE0Ljc1NSAxNC43NTR2MTc3LjNjMCA4LjE1LTYuNjA1IDE0Ljc1NS0xNC43NTQgMTQuNzU1SDQyLjA1Yy04LjE0OCAwLTE0Ljc1NC02LjYwNS0xNC43NTQtMTQuNzU0VjEzNy4wMDZjMC04LjE0OCA2LjYwNS0xNC43NTQgMTQuNzU0LTE0Ljc1NGg0My41OTgnLyUzZSUzY3BhdGggZD0nTTY2LjA0MiAyMDkuMDg4bDU0LjkxNyA1MC40OWM1LjQyIDQuOTg2IDEyLjY1MyA1LjAzNSAxOC4xMTUuMTI0bDU2LjI4NC01MC42MTRNMTMwLjU5NiAyNi42ODd2MjI2Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnZWd1aWRlJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwOSAzODEnJTNlJTNjcGF0aCBkPSdNMTkxLjUwNyAyMjUuNzgzYzAgMi40OC0uNjIzIDQuMjQ1LTEuODY4IDUuMjk0LTEuMjQ3IDEuMDUtMi42NjggMS41NzQtNC4yNjUgMS41NzRoLTU2LjUzM2MwIDQuNzcuNDggOS4wNjIgMS40MzcgMTIuODc3czIuNTU1IDcuMDkgNC43OTIgOS44MjRjMi4yMzUgMi43MzYgNS4xNDQgNC44MzQgOC43MjIgNi4yOTYgMy41NzggMS40NjQgNy45NTUgMi4xOTQgMTMuMTMgMi4xOTQgNC4wOSAwIDcuNzMtLjMzNCAxMC45MjctMS4wMDIgMy4xOTYtLjY2NyA1Ljk2LTEuNDE0IDguMjkyLTIuMjQgMi4zMzItLjgyNiA0LjI1LTEuNTc0IDUuNzUtMi4yNDJzMi42MzgtMS4wMDIgMy40MDUtMS4wMDJjLjQ0NiAwIC44NDUuMTEyIDEuMTk2LjMzNC4zNTIuMjI0LjYyMy41NTguODE1IDEuMDAyLjE5LjQ0NS4zMzUgMS4wNjUuNDMgMS44Ni4wOTcuNzk1LjE0NiAxLjc2NC4xNDYgMi45MDggMCAuODI3LS4wMzMgMS41NDMtLjA5NiAyLjE0NmExNy42ODEgMTcuNjgxIDAgMDEtLjIzOCAxLjYyYy0uMDk2LjQ4LS4yNTUuOTA3LS40NzcgMS4yOWE1LjU1IDUuNTUgMCAwMS0uODU4IDEuMDk2Yy0uMzUuMzUtMS4zODQuOTIzLTMuMSAxLjcxNy0xLjcxOC43OTYtMy45NDQgMS41NzQtNi42NzggMi4zMzctMi43MzQuNzYzLTUuODk4IDEuNDQ1LTkuNDkgMi4wNS0zLjU5My42MDUtNy40MjUuOTA3LTExLjQ5My45MDctNy4wNiAwLTEzLjI0My0uOTg2LTE4LjU1Mi0yLjk1Ni01LjMxLTEuOTctOS43NzYtNC44OTYtMTMuNC04Ljc3NS0zLjYyNS0zLjg4LTYuMzYtOC43NDMtOC4yMDMtMTQuNTk0LTEuODQ3LTUuODUtMi43NjgtMTIuNjUzLTIuNzY4LTIwLjQxMiAwLTcuMzc1Ljk1NC0xNC4wMDUgMi44Ni0xOS44ODcgMS45MS01Ljg4IDQuNjYtMTAuODczIDguMjUyLTE0Ljk3NSAzLjU5Mi00LjEwMiA3LjkzMi03LjI1IDEzLjAyLTkuNDQzIDUuMDg3LTIuMTk0IDEwLjc3OC0zLjI5IDE3LjA3My0zLjI5IDYuNzQgMCAxMi40OCAxLjA4IDE3LjIxNiAzLjI0MiA0LjczNiAyLjE2MiA4LjYzMyA1LjA3IDExLjY4NSA4LjcyNyAzLjA1MyAzLjY1NiA1LjI5NCA3Ljk1IDYuNzI1IDEyLjg3NiAxLjQzIDQuOTMgMi4xNDYgMTAuMTkgMi4xNDYgMTUuNzg1djIuODYzem0tMTUuODMzLTQuNjczYy4xOS04LjI2Ni0xLjY1LTE0Ljc1Mi01LjUyLTE5LjQ1OC0zLjg3LTQuNzA1LTkuNjEtNy4wNi0xNy4yMjUtNy4wNi0zLjkwNCAwLTcuMzI3LjczMy0xMC4yNyAyLjE5NS0yLjk0MyAxLjQ2My01LjQwNiAzLjQwMi03LjM5IDUuODE4LTEuOTg0IDIuNDE3LTMuNTIgNS4yMy00LjYwNyA4LjQ0LTEuMDg4IDMuMjEyLTEuNjk0IDYuNTY2LTEuODIyIDEwLjA2M2g0Ni44MzR6Jy8lM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00yNS4yNTggMzUyLjU5N1YyOC4yNjJjMC0uMzQ1LjI4LS42MjUuNjI1LS42MjVoMTQ4LjcyNGM0Ljg5OCAwIDkuNTk0IDEuOTUyIDEzLjA1IDUuNDIzbDg2LjIzOCA4Ni43NzVhMTguNDA5IDE4LjQwOSAwIDAxNS4zNjMgMTIuOTl2MjE5Ljc3M2MwIC4zNDUtLjI4LjYyNS0uNjI1LjYyNUgyNS44ODNhLjYyNS42MjUgMCAwMS0uNjI1LS42MjZ6Jy8lM2UlM2NwYXRoIGQ9J00yNzYuMjU4IDEyNy44MDRoLTk2LjM3NWMtLjM0NSAwLS42MjUtLjMtLjYyNS0uNjdWMjguNzIyJy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnZXh0ZXJuYWwtYWx0JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNDMyIDI4OGgtMTZhMTYgMTYgMCAwMC0xNiAxNnYxNTRhNiA2IDAgMDEtNiA2SDU0YTYgNiAwIDAxLTYtNlYxMThhNiA2IDAgMDE2LTZoMTU0YTE2IDE2IDAgMDAxNi0xNlY4MGExNiAxNiAwIDAwLTE2LTE2SDQ4YTQ4IDQ4IDAgMDAtNDggNDh2MzUyYTQ4IDQ4IDAgMDA0OCA0OGgzNTJhNDggNDggMCAwMDQ4LTQ4VjMwNGExNiAxNiAwIDAwLTE2LTE2ek01MDAgMEgzNjRhMTIgMTIgMCAwMC04LjQ4IDIwLjQ4bDQ4LjE5IDQ4LjIxLTI3Mi4yIDI3Mi4yYTEyIDEyIDAgMDAwIDE3bDIyLjYzIDIyLjYzYTEyIDEyIDAgMDAxNyAwbDI3Mi4yLTI3Mi4yMSA0OC4yMSA0OC4yQTEyIDEyIDAgMDA1MTIgMTQ4VjEyYTEyIDEyIDAgMDAtMTItMTJ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2V5ZSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTI4OCAxNDRhMTEwLjk0IDExMC45NCAwIDAwLTMxLjI0IDUgNTUuNCA1NS40IDAgMDE3LjI0IDI3IDU2IDU2IDAgMDEtNTYgNTYgNTUuNCA1NS40IDAgMDEtMjctNy4yNEExMTEuNzEgMTExLjcxIDAgMTAyODggMTQ0em0yODQuNTIgOTcuNEM1MTguMjkgMTM1LjU5IDQxMC45MyA2NCAyODggNjRTNTcuNjggMTM1LjY0IDMuNDggMjQxLjQxYTMyLjM1IDMyLjM1IDAgMDAwIDI5LjE5QzU3LjcxIDM3Ni40MSAxNjUuMDcgNDQ4IDI4OCA0NDhzMjMwLjMyLTcxLjY0IDI4NC41Mi0xNzcuNDFhMzIuMzUgMzIuMzUgMCAwMDAtMjkuMTl6TTI4OCA0MDBjLTk4LjY1IDAtMTg5LjA5LTU1LTIzNy45My0xNDRDOTguOTEgMTY3IDE4OS4zNCAxMTIgMjg4IDExMnMxODkuMDkgNTUgMjM3LjkzIDE0NEM0NzcuMSAzNDUgMzg2LjY2IDQwMCAyODggNDAweicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdmYWNlYm9vayc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY2clM2UlM2NnJTNlJTNjcGF0aCBkPSdNNDUyIDBINjBDMjYuOTE2IDAgMCAyNi45MTYgMCA2MHYzOTJjMCAzMy4wODQgMjYuOTE2IDYwIDYwIDYwaDM5MmMzMy4wODQgMCA2MC0yNi45MTYgNjAtNjBWNjBjMC0zMy4wODQtMjYuOTE2LTYwLTYwLTYwem0yMCA0NTJjMCAxMS4wMjgtOC45NzIgMjAtMjAgMjBIMzM4VjMwOWg2MS43OUw0MTAgMjQ3aC03MnYtNDNjMC0xNi45NzUgMTMuMDI1LTMwIDMwLTMwaDQxdi02MmgtNDFjLTUwLjkyMyAwLTkxLjk3OCA0MS4yNS05MS45NzggOTIuMTc0VjI0N0gyMTZ2NjJoNjAuMDIydjE2M0g2MGMtMTEuMDI4IDAtMjAtOC45NzItMjAtMjBWNjBjMC0xMS4wMjggOC45NzItMjAgMjAtMjBoMzkyYzExLjAyOCAwIDIwIDguOTcyIDIwIDIwdjM5MnonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2ZpbGUtYWx0JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM4NCA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMjg4IDI0OHYyOGMwIDYuNi01LjQgMTItMTIgMTJIMTA4Yy02LjYgMC0xMi01LjQtMTItMTJ2LTI4YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0tMTIgNzJIMTA4Yy02LjYgMC0xMiA1LjQtMTIgMTJ2MjhjMCA2LjYgNS40IDEyIDEyIDEyaDE2OGM2LjYgMCAxMi01LjQgMTItMTJ2LTI4YzAtNi42LTUuNC0xMi0xMi0xMnptMTA4LTE4OC4xVjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDhDMCAyMS41IDIxLjUgMCA0OCAwaDIwNC4xQzI2NC44IDAgMjc3IDUuMSAyODYgMTQuMUwzNjkuOSA5OGM5IDguOSAxNC4xIDIxLjIgMTQuMSAzMy45em0tMTI4LTgwVjEyOGg3Ni4xTDI1NiA1MS45ek0zMzYgNDY0VjE3NkgyMzJjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjQ4SDQ4djQxNmgyODh6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2ZsYWcnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00zMzYuMTc0IDgwYy00OS4xMzIgMC05My4zMDUtMzItMTYxLjkxMy0zMi0zMS4zMDEgMC01OC4zMDMgNi40ODItODAuNzIxIDE1LjE2OGE0OC4wNCA0OC4wNCAwIDAwMi4xNDItMjAuNzI3QzkzLjA2NyAxOS41NzUgNzQuMTY3IDEuNTk0IDUxLjIwMS4xMDQgMjMuMjQyLTEuNzEgMCAyMC40MzEgMCA0OGMwIDE3Ljc2NCA5LjY1NyAzMy4yNjIgMjQgNDEuNTYyVjQ5NmMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDE2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTgzLjQ0M0MxMDkuODY5IDM5NS4yOCAxNDMuMjU5IDM4NCAxOTkuODI2IDM4NGM0OS4xMzIgMCA5My4zMDUgMzIgMTYxLjkxMyAzMiA1OC40NzkgMCAxMDEuOTcyLTIyLjYxNyAxMjguNTQ4LTM5Ljk4MUM1MDMuODQ2IDM2Ny4xNjEgNTEyIDM1Mi4wNTEgNTEyIDMzNS44NTVWOTUuOTM3YzAtMzQuNDU5LTM1LjI2NC01Ny43NjgtNjYuOTA0LTQ0LjExN0M0MDkuMTkzIDY3LjMwOSAzNzEuNjQxIDgwIDMzNi4xNzQgODB6TTQ2NCAzMzZjLTIxLjc4MyAxNS40MTItNjAuODI0IDMyLTEwMi4yNjEgMzItNTkuOTQ1IDAtMTAyLjAwMi0zMi0xNjEuOTEzLTMyLTQzLjM2MSAwLTk2LjM3OSA5LjQwMy0xMjcuODI2IDI0VjEyOGMyMS43ODQtMTUuNDEyIDYwLjgyNC0zMiAxMDIuMjYxLTMyIDU5Ljk0NSAwIDEwMi4wMDIgMzIgMTYxLjkxMyAzMiA0My4yNzEgMCA5Ni4zMi0xNy4zNjYgMTI3LjgyNi0zMnYyNDB6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2ZsYW1lJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM4OC4wNTUgMzg4LjA1NSclM2UlM2NnJTNlJTNjdGl0bGUlM2ViYWNrZ3JvdW5kJTNjL3RpdGxlJTNlJTNjcGF0aCBmaWxsPSdub25lJyBkPSdNLTEtMWg1ODJ2NDAySC0xeicvJTNlJTNjL2clM2UlM2NnJTNlJTNjdGl0bGUlM2VMYXllciAxJTNjL3RpdGxlJTNlJTNjZyBzdHJva2Utd2lkdGg9JzAnIGZpbGw9J19fX2ZpbGxfX18nJTNlJTNjZyUzZSUzY3BhdGggZD0nTTI4OC40MjggMTM2LjQ1NWMtMjYtMzIuNC01My4yLTY2LjQtNTIuNC0xMjguNCAwLTMuMi0xLjYtNS42LTQuNC03LjItMi44LTEuMi02LTEuMi04LjQuNC00My42IDMxLjItODIuNCA5OS42LTcxLjIgMTgyLjgtMTUuMi04LjgtMjQuNC0yMy42LTM0LjgtMzkuMi0zLjItNS4yLTYuNC0xMC40LTEwLTE1LjItMS42LTItNC0zLjYtNi44LTMuMi0yLjggMC01LjIgMS42LTYuNCAzLjYtMjAuOCAzMi40LTQyIDcxLjYtNDIgMTE0IDAgODMuNiA1OC44IDE0NCAxNDAgMTQ0IDgyIDAgMTQ0LTYyIDE0NC0xNDQgMC00OC40LTI0LTc4LjQtNDcuNi0xMDcuNnptLTk2LjQgMjM1LjZjLTcyIDAtMTI0LTU0LTEyNC0xMjggMC0zNCAxNS42LTY2LjggMzMuMi05NS4yLjggMS42IDIgMi44IDIuOCA0LjQgMTAuOCAxNi44IDIxLjYgMzMuNiA0MCA0NC40IDUuMiAzLjIgMTEuNiAzLjIgMTYuOCAwIDUuMi0zLjIgOC05LjIgNy4yLTE1LjYtOS42LTY4LjQgMTgtMTI2IDUyLjQtMTU3LjIgNCA1Ny42IDMxLjIgOTEuNiA1NS42IDEyMiAyMy42IDI5LjIgNDQgNTQuNCA0NCA5Ny4yIDAgNzIuOC01NS4yIDEyOC0xMjggMTI4eicvJTNlJTNjcGF0aCBkPSdNMzAwLjAyOCAyMjAuMDU1Yy00LjQgMC04IDMuNi04IDggMCAyNi40LTYuOCA1MC40LTIwLjggNzEuNi0yLjQgMy42LTEuMiA4LjggMi40IDExLjIgMS4yLjggMi44IDEuMiA0LjQgMS4yIDIuOCAwIDUuMi0xLjIgNi44LTMuNiAxNS4yLTI0IDIzLjItNTAuOCAyMy4yLTgwLjQgMC00LjQtMy42LTgtOC04ek0yNjcuMjI4IDMxOC4wNTVjLTMuMi0yLjgtOC40LTIuNC0xMS4yLjgtMiAyLjQtNC44IDQuOC03LjYgNy4yLTMuMiAyLjgtMy42IDgtLjggMTEuMiAxLjYgMiA0IDIuOCA2IDIuOHMzLjYtLjggNS4yLTJjMy4yLTIuOCA2LjQtNS42IDkuMi04LjggMi44LTMuMiAyLjQtOC40LS44LTExLjJ6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2dlbSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTQ2NCAwSDExMmMtNCAwLTcuOCAyLTEwIDUuNEwyIDE1Mi42Yy0yLjkgNC40LTIuNiAxMC4yLjcgMTQuMmwyNzYgMzQwLjhjNC44IDUuOSAxMy44IDUuOSAxOC42IDBsMjc2LTM0MC44YzMuMy00LjEgMy42LTkuOC43LTE0LjJMNDc0LjEgNS40QzQ3MS44IDIgNDY4LjEgMCA0NjQgMHptLTE5LjMgNDhsNjMuMyA5NmgtNjguNGwtNTEuNy05Nmg1Ni44em0tMjAyLjEgMGg5MC43bDUxLjcgOTZIMTkxbDUxLjYtOTZ6bS0xMTEuMyAwaDU2LjhsLTUxLjcgOTZINjhsNjMuMy05NnptLTQzIDE0NGg1MS40TDIwOCAzNTIgODguMyAxOTJ6bTEwMi45IDBoMTkzLjZMMjg4IDQzNS4zIDE5MS4yIDE5MnpNMzY4IDM1Mmw2OC4yLTE2MGg1MS40TDM2OCAzNTJ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2dsb2JlJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMzMy40NSAzMzMuNDMnJTNlJTNjcGF0aCBkPSdNMTY2LjcyIDE5Ljk5OEM4NS44MiAxOS45OTggMjAgODUuODE4IDIwIDE2Ni43MTVzNjUuODMgMTQ2LjcxNyAxNDYuNzMgMTQ2LjcxNyAxNDYuNzE2LTY1LjgyIDE0Ni43MTYtMTQ2LjcxNy02NS44My0xNDYuNzE3LTE0Ni43My0xNDYuNzE3em00MS41NzcgOTIuNDI0Yy44MjMgMi44MSAyLjYyMyA1LjkxNiA1LjQzNCA5LjM4NmwxLjEzIDEuNTRjLjQ3LjY0OCAxLjA4MiAxLjM0MiAxLjY3IDIuMDM2YTEyMi41MiAxMjIuNTIgMCAwMC02LjUxNi0xLjZsLTMuNjctMTEuMTg2Yy43NDItLjAyMyAxLjM5LS4wOTMgMS45NTMtLjE3NnptLTEzLjgwOCAyLjY3bDMuOTA0IDYuMjQ2LS4zMTguMDM1LTEuNjQ3IDEuMjk0Yy0xLjI0OCAxLjAxMi0xMC41ODcuNjQ3LTEzLjg5Mi0uNzA2YTUxLjc3IDUxLjc3IDAgMDAtLjQzNS0ybDEuODIzIDEuMzU0IDIuNDgyLS40MTJhMTEuMTUzIDExLjE1MyAwIDAwOC4wOC01Ljgxem0tMjcuNzcgMTgyLjM0NGMtMzAuNDg4IDAtNTkuNTQtMTAuNDgtODIuODc1LTI5LjY4N2EyNS4xNyAyNS4xNyAwIDAwMi42Ny0xLjkwNmwzLjA3LTIuNTc2LTIuNzMtOC4xOTggMy45NjUtMTIuNDkuMzMtMS45OWMwLTQuNzYzLTEuODk1LTEwLjI2Ny02LjkzLTExLjI1NS0uNTc1LS4yMzUtMi4wNTctMi41NzYtMi45NC0zLjItMi41MDQtMS44MzQtNC40OTItNC41MjctNi45MjctNC41MjdoLS4wMjRjLS40NDggMC0xLjcxOC43MTctMi40ODMuMjEyLS42ODItLjQzNS0xLjU3Ni0uMjk0LTIuNTQtLjc3Ni0uNTc3LS4yNy0xLjU0Mi0uNDIzLTEuNDEyLS4yMzVhMzAuMTkyIDMwLjE5MiAwIDAxLTMuMzE3LTYuMjQ3Yy0uOTA2LTIuNTMtMS43MTctMy43ODctNS45NzUtOC41NzQtMi44LTMuMTc3LTMuNDctMy44Ny02LjA1Ny01LjA4MmwtMS4wODItLjQ5NGMtMS4wOTQtLjU0LTEuODEtMS4wOTQtMi41MTctMS42LTEuMTE3LS44LTIuNTA1LTEuODEtNC41MTctMi42MzUtMS42OTQtLjY5NS0yLjIzNS0xLjEwNy0zLjg3LTIuNDk1LS41ODgtLjUzLTEuMjgyLTEuMTE3LTIuMTE3LTEuNjU4YTEzMS43OTQgMTMxLjc5NCAwIDAxLTIuNDQ2LTI1LjMxbC4wMjQtMS42MjRjMS4yOTUtMy4zNjQgMi40OTUtOS4wNjggMS45MTgtMTEuOTYyLS4wMzUtLjcyOC40MjMtMy4wMS43MDYtNC4zNjMuNDgyLTIuMzc2Ljg5NC00LjcyOC44NDctNS44OC4yNDgtLjk5IDItMy42NyAyLjkzLTUuMTA2IDEuMjM1LTEuOTA0IDIuMjk0LTMuNjcgMi43NzYtNC44NDUuNDk0LTEuMiAzLjIxLTUuMzc1IDQuODQ2LTcuODhsMi43My00LjI4Yy43MTYtMS4xMTggMi4zNzUtMy43NjUgMS43NC02LjY4MiAzLjA5My0yLjE4OCA3LjA4LTUuMDIyIDcuNTk4LTUuNDU3LjYzNS0uNjM1IDUuOTUtNi40NDUuNTA2LTE2LjUzNy0uMTc2LS4zMyAxLjg3LS41OSAxLjc4OC0uNzMuNDYtLjg0NyAzLjIzNS0yLjIzNSAzLjIzNS00LjA5M3YtLjQzN2MwLTMuNTg3IDEuNC02LjM5OCA0LjU1LTYuMzk4aDEuOTUzYy43MDYgMCAxLjQtMi4wNTggMi4wNDctMi4xNzZsNC44IDEuMTY0IDkuOTM4LTQuMTg3IDEuMDYtMi4yYy4wMS0uMDEgMS4wNTgtMi4wMzQgMy4yNy0zLjYxIDMuMjkyLTIuMzY0IDQuMjkyLTMuODU4IDUuODMzLTYuNDFsLTQuNzE1LTMuNTQgNS41NjMgMi41MDVjLjY0Ny0uNjM1IDEuOTUyLTQuOTc1IDUuMzQtOC42MSAzLjk0LTQuMjM0IDYuMTk4LTguMjEgNS45NC04LjIxaDIuNDU4bDEuNzQgMS4xMDZjLjUzLS41ODggMi43NDItMS41MyA0LjQ0Ny0zLjgzNCAyMi42NDItOC4zMDQgNDcuNjEyLTkuMzI3IDcxLjEzNi00LjUyOC0zLjEwNi4wNy02LjAyMyAxLjQtMTAuNDcgMy41My0xLjA4LjUxNy0yLjA0NiAxLjItMi42MjIgMS4zODctMS4wMTIuMjQ2LTIuNTQuOTYzLTQuMTUyIDEuNjkzLS45NzYuNDIzLTIuNzg4IDEuMjctMyAxLjM2NC00LjAxIDAtNy40NjggMy4zMDUtMTAuMjIgNi45MTYtMy40NDYgNi4yNy0yLjYxIDEwLjA0NS0xLjUwNiAxMS45MDNsMi4yNTggMy45ODdoMS42MzVjLTIuMTQgMC00LjEyOCAzLjEzLTUuMzYzIDQuMjFsLTUuOTQtNy4zMjctNS42MS0xMS44MzItOS44MSA4LjQ3djQuMzlsLTYuMDEtMi4wNTgtNi4wOTIgMTIuNzAzIDguNjggMTEuOTc0IDMuNDQ2LTMuMDM2di44MjNsNS41MDUtMS40Yy0uMTMgMS4zODgtLjQxMyAyLjc1Mi4wNDYgNC4wMjNsLTE2LjExNCAzLjc0IDEuMzg4IDZjLjI0Ny45NjMuMzA2IDIuODU3LjM4OCAzLjk5OC0yLjIxIDguNzc0LS4yMTIgMTEuNDQ0LjU3NiAxMi40NjhsMS40NDcgMS42Yy0yLjAzNCAyLjA1OC0zLjM3NSA0LjM1Mi00LjA0NSA1LjQ4LS45MTcgMS4wNy0yLjU4OCAyLjk2NS0yLjk0IDUuNzY0LS41My42Ny0xLjcwNSAxLjc0LTIuNTQgMi4zMDVsLTEuMDcuNjZjLTMuODYgMi4zNjMtNy40NyA0LjcyNy05LjI5MyA3Ljc2Mi0yLjI3IDMuODIzLTMuNzA1IDcuMTc1LTQuMjQ2IDkuOTc0LS42MjMgMy4xMTgtLjYyMyA1LjU1My0uNjIzIDkuMjM0IDAgMS4xMy0uMDYgMi4wOTQtLjExOCAyLjk4OC0uMTE4IDEuOTUyLS4yNDcgMy45NzYuMiA2LjYxLjk0IDUuNjM0IDguNjkyIDE1Ljc1IDguNzk4IDE1Ljg3OCAyLjQyMyAzLjAzNSA1LjI5MyA2LjQzNCA4LjYyIDguNDEgMS43MTggMS4wMzUgMy45NCAyLjg3IDQuODYgMy42NDYgMi4yMSAyLjYgNy4zNSA0LjgzNCAxMi4zODQgMi45MTcgMS40MS0uNTQgMi44MzUtLjggNC4yMS0xLjEzIDIuNTQyLS41NjQgNS40MzUtMS4xODcgOC4yOC0yLjc5OC42Ni0uMzc2IDEuMjQ4LS43MTcgMS43OS0uOTY0IDIuMTk4IDMuNjYgNi43MTUgNS40NyAxMS4yOSAzLjk2NWwuMDk0LS4wMzVjLjE1NC45NC4yOTUgMS44MS40NDggMi42MjMuMTY1LjguMzA2IDEuNDk0LjI5NCAyLjg4Mi0uMDk0IDItLjI3IDUuNzI4IDIuNzY0IDguNzg2LjYuNiAxLjQ5NCAxLjMxOCAyLjQ1OCAyLjExOC40MTIuMzE4IDEuMDIzLjggMS40OTQgMS4yMjMuMiAyLjUxOC43MyA2LjczIDIuMDQ3IDkuMzUyLjYzNSAxLjIzNS44IDIuMTg4IDEuMDIzIDEuNzY0LTEuMTE3IDIuMjEtMy4zMTcgOC4yMjItMy41NCA4Ljk3NC0xLjM2NCA2LjE0LS41NzYgOC40OC0uMzQgOS4xNS45NTIgMi45NCAyLjc0IDUuNjk0IDUuNDY4IDguNDEuMzMuMzMuNDgyLjgxMy44IDIgLjM3NiAxLjM2NS44ODIgMy4yMjQgMi4xNzYgNC45NTMuNTE4LjczIDEuNzA1IDMuNzQgMi4yOTQgNS41NjNsLjc0IDQuMDkzLS4wMSAxMS4zNSA2LjcyNy0uOTY1czExLjAzMy0xLjYxIDEzLjE4NS0yLjE1MmMyLjUwNS0uNjQ3IDEwLjk4Ni00LjU2NCAxNC4wMzItNy41OTggMS41NTMtMS41NTMgMi4yOTQtMyAyLjc4OC0zLjk2NC40LS43NC40NDctLjgzNC44MzUtMS4xNzUgMi41MTctMiA3LjA5Mi01LjUxNiA3LjA5Mi01LjUxNmwyLjQ4Mi0xLjkwNi0uNTQtOC41NzQgNC4yMjItNS42OTMgMy41OTgtMy42N2MtLjg0NyAyLjAyMy0xLjkxNyA0LjY1OC0yLjMwNSA2LjItLjcwNiAyLjc5OC0uMjM1IDYuMTc0IDIgOS4wMWwyLjYxIDEuNjIyaDIuODZsMi4xMDQuNzg3YzIuMTg4LS43MTcgMy45MTctMS44IDUuNjIyLTMuNDIzLjUxNy0uNDk0IDEuMDEtLjcxNyAxLjMyOC0uOTUzIDMuMjEtMi4xMTYgNi4zMTYtNy41MjcgNy4wNTctMTAuNDJsMi4wMzUtNy41MjhjLjU4OC0yLjM0IDEuMTg4LTYuODU3IDEuMTg4LTguOTk4IDAtMi4xMy0uNTY1LTQuNDgtLjY4Mi00Ljk0bC0zLjY4LTE0Ljg1NS0xMC4yOTMgMTkuMzM1YTIyLjcxNSAyMi43MTUgMCAwMC0zLjU2NCAyLjExN2MuMDEtLjg5NC0uMDcyLTEuNjIzLS4xNzctMi0uMjQ3LS45ODgtLjc2NS01LjU0LTEuMjIzLTkuNzE1LjczLTEuNTMgMS42ODItMy4zMDUgMi4yMjMtNC4wNy45NjQtMS4yODIgMS41MTctMi41NjQgMS45NTItMy41NzYuNTMtMS4yMjIuNzg4LTEuOCAxLjY0Ny0yLjUyOCAzLjE2NC0yLjYyMyA1LjI4LTUuNTQgNi44NDUtNy42N2wxLjIyMy0xLjYzNGMxLjY4Mi0yLjIxIDQuMzA1LTUuNzQgNS4xNzUtNy4xMDQgMS40NDctMi4xNTIgMi40NDYtNi4wMSAyLjkwNS04LjA5MmwxLjg3LTguNDkyLTcuMDQ1IDEuMTc2Yy44NDctLjQyMyAxLjYxLS44MjMgMi4xMy0xLjE3Ni40MS0uMjcgMS4xMjgtLjY4MiAxLjk0LTEuMTQgMy4yMS0xLjggNS42MS0zLjE4OCA3LjEwNC00LjY4MmwzLjE1LTIuMjk0YzIuNzY1LTEuODM1IDYuMjEtNC4xMjggNi42NDYtOC4wOTIuNjEyLjQ4MiAxLjI2Ljk0IDIuMDEgMS4yOTQuNTA3LjMxOCAxLjcxOCAxLjY0NyAyLjY5NCAyLjg3LjczIDEuNzE3IDIuNTY0IDYuMDQ2IDIuOTQgNy41NjMuMjYgMS4wMjIgMS4wMjMgMi45MjggMS44NTggNC45MTUuNjQ3IDEuNTA2IDEuMzUzIDMuMDkzIDEuNTA2IDMuMjM1IDAgMS4zMy42IDUuMzA1IDIuODEgNy44MzMtOC43MDcgNjMuNTctNjMuNDIzIDExMi43MzMtMTI5LjM5NSAxMTIuNzMzem0xLjg4LTE4Ny41NjZjLS4wNDYgMC0uMTUyLjAyNC0uMTg3LjAyNC0uNTUzLS4xMDYtMi4yOTQtLjY3LTMuNjctMS4yMWwtMS4zMTctLjUyLTEuNC4xM2MtLjQ5NC4wNi0xLjIyMy4xNTMtMi4wMjMuMjQ3LjA0Ny0uMDcuMTY1LS4yNDYuMi0uMjguNDEyLS42MjQuOC0xLjIxMiAyLjM4OC0xLjcxOCAyLjkwNi0uOTc2IDQuNDctMi4zMyA1LjAxMi0zLjAzNS44MzUtLjI2IDIuODIzLS42NiA0LjQyMi0uOTE3bDIuNDcgMS42MzVjLjczLjg3IDEuNzY0IDEuODM1IDMuMjU4IDIuNzc2bC05LjM5OCAyLjY4My4yNDcuMTg3eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdsYW5ndWFnZS1hcnJvdyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNiAyMSclM2UlM2NnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgNCknJTNlJTNjcGF0aCBkPSdNMjQuMDYyIDEyLjc1Yy41MiAwIC45MzgtLjQxOC45MzgtLjkzN1YxLjE4OGEuOTM1LjkzNSAwIDAwLS45MzgtLjkzOEgxMy4xMjV2MTIuNWgxMC45Mzd6bS0xMi4xODcgMFYuMjVILjkzN0EuOTM1LjkzNSAwIDAwMCAxLjE4OHYxMC42MjVjMCAuNTE5LjQxOC45MzcuOTM3LjkzN2gxMC45Mzh6bS04LjIzNC0yLjVoLS44OTVhLjQ3Mi40NzIgMCAwMS0uNDQ1LS42MjFsMi4yNDYtNi42MDZhLjQ2Ny40NjcgMCAwMS40NDUtLjMxNmgxLjI3Yy4xOTkgMCAuMzc5LjEyOS40NDUuMzE2TDguOTUzIDkuNjNhLjQ3LjQ3IDAgMDEtLjQ0NS42MjFoLS44OTVhLjQ5Ny40OTcgMCAwMS0uNDQ5LS4zMzZsLS4zNjctMS4yNDZINC40NDVMNC4wOSA5LjkxYS40NzIuNDcyIDAgMDEtLjQ1LjM0em0xNy4xMi0uMDY2YTEzLjU5NCAxMy41OTQgMCAwMS0xLjM4Mi0uOTczYy0uNDI2LjM0LS44ODcuNjY4LTEuMzgzLjk3M2EuNDcuNDcgMCAwMS0uNjUyLS4xNjhsLS4zMDktLjU0M2EuNDY4LjQ2OCAwIDAxLjE2NC0uNjMzYy4zNjMtLjIyMy43MDMtLjQ1NyAxLjAyLS43MDNhOS4wNjEgOS4wNjEgMCAwMS0uODItMS4wMDQuNDY3LjQ2NyAwIDAxLjE0NC0uNjY4bC4yNTQtLjE1Mi4yODUtLjE2OGEuNDcyLjQ3MiAwIDAxLjYyNS4xMzJjLjE5NS4yNzQuNDIyLjU0Ny42OC44MTcuNTI3LS41NTUuOTMtMS4xMyAxLjE3Mi0xLjY4OGgtNC40NjVhLjQ3LjQ3IDAgMDEtLjQ2OS0uNDY4di0uNjI1YS40Ny40NyAwIDAxLjQ2OS0uNDdoMi41VjMuMjJhLjQ3LjQ3IDAgMDEuNDY4LS40NjloLjYyNWEuNDcuNDcgMCAwMS40Ny40Njl2LjYyNWgyLjVhLjQ3LjQ3IDAgMDEuNDY4LjQ2OXYuNjI1YS40Ny40NyAwIDAxLS40NjkuNDY4aC0uNDQ1Yy0uMjcuOTIyLS44NDggMS44NTItMS42NjggMi43My4zMjguMjUuNjY4LjQ4OSAxLjAyLjcwNGEuNDcuNDcgMCAwMS4xNi42MzNsLS4zMDkuNTQzYS40Ny40NyAwIDAxLS42NTIuMTY4ek02LjM2OCA3LjE5bC0uNDI2LTEuNDY0Yy0uMTM2LS40NzMtLjMwNC0xLjI5Ny0uMzA0LTEuMjk3aC0uMDJzLS4xNjguODI0LS4zMDUgMS4yOTdMNC44OCA3LjE5aDEuNDg4eicvJTNlJTNjL2clM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDUgMSknJTNlJTNjcGF0aCBkPSdNMzAuMTg4IDEuNTN2MTAuNjU3SDM1bC01LjY1NyA1LjY1Ny01LjY1Ny01LjY1N2g0LjVWMS41M2gyeicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnbGFuZ3VhZ2UnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjUgMTMnJTNlJTNjZyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyBmaWxsLXJ1bGU9J25vbnplcm8nJTNlJTNjcGF0aCBkPSdNMjQuMDYyIDEyLjc1Yy41MiAwIC45MzgtLjQxOC45MzgtLjkzN1YxLjE4OGEuOTM1LjkzNSAwIDAwLS45MzgtLjkzOEgxMy4xMjV2MTIuNWgxMC45Mzd6bS0xMi4xODcgMFYuMjVILjkzN0EuOTM1LjkzNSAwIDAwMCAxLjE4OHYxMC42MjVjMCAuNTE5LjQxOC45MzcuOTM3LjkzN2gxMC45Mzh6bS04LjIzNC0yLjVoLS44OTVhLjQ3Mi40NzIgMCAwMS0uNDQ1LS42MjFsMi4yNDYtNi42MDZhLjQ2Ny40NjcgMCAwMS40NDUtLjMxNmgxLjI3Yy4xOTkgMCAuMzc5LjEyOS40NDUuMzE2TDguOTUzIDkuNjNhLjQ3LjQ3IDAgMDEtLjQ0NS42MjFoLS44OTVhLjQ5Ny40OTcgMCAwMS0uNDQ5LS4zMzZsLS4zNjctMS4yNDZINC40NDVMNC4wOSA5LjkxYS40NzIuNDcyIDAgMDEtLjQ1LjM0em0xNy4xMi0uMDY2YTEzLjU5NCAxMy41OTQgMCAwMS0xLjM4Mi0uOTczYy0uNDI2LjM0LS44ODcuNjY4LTEuMzgzLjk3M2EuNDcuNDcgMCAwMS0uNjUyLS4xNjhsLS4zMDktLjU0M2EuNDY4LjQ2OCAwIDAxLjE2NC0uNjMzYy4zNjMtLjIyMy43MDMtLjQ1NyAxLjAyLS43MDNhOS4wNjEgOS4wNjEgMCAwMS0uODItMS4wMDQuNDY3LjQ2NyAwIDAxLjE0NC0uNjY4bC4yNTQtLjE1Mi4yODUtLjE2OGEuNDcyLjQ3MiAwIDAxLjYyNS4xMzJjLjE5NS4yNzQuNDIyLjU0Ny42OC44MTcuNTI3LS41NTUuOTMtMS4xMyAxLjE3Mi0xLjY4OGgtNC40NjVhLjQ3LjQ3IDAgMDEtLjQ2OS0uNDY4di0uNjI1YS40Ny40NyAwIDAxLjQ2OS0uNDdoMi41VjMuMjJhLjQ3LjQ3IDAgMDEuNDY4LS40NjloLjYyNWEuNDcuNDcgMCAwMS40Ny40Njl2LjYyNWgyLjVhLjQ3LjQ3IDAgMDEuNDY4LjQ2OXYuNjI1YS40Ny40NyAwIDAxLS40NjkuNDY4aC0uNDQ1Yy0uMjcuOTIyLS44NDggMS44NTItMS42NjggMi43My4zMjguMjUuNjY4LjQ4OSAxLjAyLjcwNGEuNDcuNDcgMCAwMS4xNi42MzNsLS4zMDkuNTQzYS40Ny40NyAwIDAxLS42NTIuMTY4ek02LjM2OCA3LjE5bC0uNDI2LTEuNDY0Yy0uMTM2LS40NzMtLjMwNC0xLjI5Ny0uMzA0LTEuMjk3aC0uMDJzLS4xNjguODI0LS4zMDUgMS4yOTdMNC44OCA3LjE5aDEuNDg4eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnbGF3bm93JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM4Mi40IDI1NC4xMyclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00yMCAxMTguNzU0VjIwLjQyOGgyMC44NHY4MS4xNTRoMzkuOTA0djE3LjIzM0gyMHYtLjA2em0xMzguMDQ4IDBsLTcuMTUtMjMuNDA1aC0zNS44NzJsLTcuMTUgMjMuNDA0SDg1LjM4OEwxMjAuMDk4IDIwaDI1LjQ4M2wzNC44MzQgOTguNzU0aC0yMi4zNjZ6bS0xMi4xLTQwLjg4M2MtNi42LTIxLjIwNC0xMC4zMjgtMzMuMTgyLTExLjEyMi0zNS45OTNhODEuNDIzIDgxLjQyMyAwIDAxLTEuNzcyLTYuNmMtMS40NjcgNS43NDQtNS43NDQgMTkuOTIyLTEyLjcxIDQyLjU5NGgyNS42MDR6TTI4OC43IDExOC43NTRoLTIzLjc3bC0xMy4zMjMtNTEuNjM4Yy0uNDktMS44MzMtMS4zNDQtNS42MjItMi41MDYtMTEuNDI4LTEuMTYtNS43NDQtMS44OTMtOS42NTUtMi4wNzctMTEuNjEtLjI0NCAyLjQ0My0uOTE3IDYuMjkzLTIuMDE3IDExLjY3cy0xLjg5NCA5LjE2OC0yLjUwNiAxMS40OWwtMTMuMjYgNTEuNTE2aC0yMy43MWwtMjQuOTk0LTk4LjMyNmgyMC41MzNsMTIuNTg4IDUzLjY1NWMyLjIgOS45IDMuNzkgMTguNTE2IDQuNzY3IDI1Ljc4OC4yNDQtMi41NjYuODU2LTYuNTM4IDEuODMzLTExLjg1NC45NzgtNS4zNzggMS44OTQtOS41MzMgMi43NS0xMi40NjZsMTQuMy01NS4xMmgxOS42NzdsMTQuMyA1NS4xMmMuNjEgMi40NDQgMS40MDYgNi4yMzMgMi4zODMgMTEuMzA1LjkxNyA1LjA3MiAxLjY1IDkuNDEgMi4xNCAxMy4wNzguNDI3LTMuNDgzIDEuMTYtNy44ODMgMi4xMzgtMTMuMDc4Ljk3OC01LjE5NCAxLjg5NC05LjQ3MiAyLjY5LTEyLjcxbDEyLjUyNy01My42NTZoMjAuNTMzTDI4OC43IDExOC43NTN6bTI5LjE1LTI4LjUzOFY3My40MWgzNi4xMTd2MTYuODA1SDMxNy44NXptLTIxMC41ODUgMTQyLjU3SDgwLjc0M2wtNDIuNzc3LTc0LjQzMmgtLjYxYy44NTUgMTMuMTQgMS4yODIgMjIuNDkgMS4yODIgMjguMTF2NDYuMjZIMjBWMTM0LjRoMjYuMjc3bDQyLjcxNiA3My42MzdoLjQ5Yy0uNjczLTEyLjc3Mi0xLjA0LTIxLjgxNi0xLjA0LTI3LjEzM3YtNDYuNTY2aDE4LjgyMnY5OC40NDh6bTExNC4wMzItNDkuMzE2YzAgMTYuMjU1LTQuMDMzIDI4Ljc4My0xMi4xIDM3LjUyMi04LjA2NyA4Ljc0LTE5LjYxNiAxMy4xNC0zNC43MSAxMy4xNC0xNS4wOTUgMC0yNi42NDUtNC40LTM0LjcxMi0xMy4xNHMtMTIuMS0yMS4zMjctMTIuMS0zNy42NDRjMC0xNi4zNzggNC4wMzMtMjguODQ0IDEyLjE2LTM3LjUyMiA4LjA2OC04LjYxNyAxOS42NzgtMTIuOTU1IDM0LjgzNC0xMi45NTUgMTUuMDkzIDAgMjYuNjQzIDQuMzQgMzQuNjQ4IDEzLjA4IDcuOTQ1IDguNjc2IDExLjk4IDIxLjIwMyAxMS45OCAzNy41MnptLTcxLjgwNSAwYzAgMTEgMi4wNzggMTkuMjUgNi4yMzMgMjQuODEgNC4xNTYgNS41NjIgMTAuMzkgOC4zNzMgMTguNyA4LjM3MyAxNi42MjIgMCAyNC45MzMtMTEuMDYgMjQuOTMzLTMzLjE4MyAwLTIyLjE4My04LjI1LTMzLjI0NC0yNC44MS0zMy4yNDQtOC4zMTIgMC0xNC41NDUgMi44MS0xOC43NjIgOC4zNzItNC4xNTUgNS41Ni02LjI5NCAxMy44NzItNi4yOTQgMjQuODcyem0xODcuOTc1IDQ5LjMxNmgtMjMuNzcybC0xMy4zMjItNTEuN2MtLjQ5LTEuODMyLTEuMzQ0LTUuNjItMi41MDYtMTEuNDI3LTEuMTYtNS43NDUtMS44OTQtOS42NTYtMi4wNzgtMTEuNjEyLS4yNDUgMi40NDQtLjkxOCA2LjI5NC0yLjAxOCAxMS42NzItMS4xIDUuMzc4LTEuODk0IDkuMTY3LTIuNTA2IDExLjQ5bC0xMy4yNiA1MS41MTVoLTIzLjcxMkwyMjkuMTc4IDEzNC40aDIwLjUzM2wxMi41OSA1My42NTRjMi4yIDkuOSAzLjc5IDE4LjUxNiA0Ljc2NyAyNS43ODguMjQ0LTIuNTY3Ljg1Ni02LjU0IDEuODMzLTExLjg1NS45NzgtNS4zNzggMS44OTQtOS41MzMgMi43NS0xMi40NjZsMTQuMy01NS4xMmgxOS43NGwxNC4zIDU1LjEyYy42MSAyLjQ0NSAxLjQwNSA2LjIzNCAyLjM4MiAxMS4zMDYuOTE3IDUuMDcyIDEuNjUgOS40MSAyLjE0IDEzLjA3OC40MjctMy40ODMgMS4xNi03Ljg4MyAyLjEzOC0xMy4wNzguOTc4LTUuMTk0IDEuODk0LTkuNDcyIDIuNjktMTIuNzFsMTIuNTI3LTUzLjY1NkgzNjIuNGwtMjQuOTMzIDk4LjMyNnonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnbGF5ZXJzJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI5Ni45NzkgMjk2Ljk3OSclM2UlM2NnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2UlM2NwYXRoIGQ9J00yODkuNDQzIDc5LjIyNkwxNTMuNjY3IDE4LjY3OWExMi42OCAxMi42OCAwIDAwLTEwLjM1NiAwTDcuNTM2IDc5LjIyNmExMi43MTYgMTIuNzE2IDAgMDAtLjgxIDIyLjgyMmwxMzUuNzc1IDcyLjQwNWExMi42MjQgMTIuNjI0IDAgMDA1Ljk4MyAxLjQ5NmMyLjA2MSAwIDQuMTEyLS40OTUgNS45OTQtMS40OTZsMTM1Ljc3NS03Mi40MDVhMTIuNyAxMi43IDAgMDA2LjcxMi0xMS42NjEgMTIuNzI0IDEyLjcyNCAwIDAwLTcuNTIyLTExLjE2MXptLTE0MC45NTkgNjkuNjFsLTEwNi44NS01Ni45OCAxMDYuODUtNDcuNjQ2TDI1NS4zNCA5MS44NTZsLTEwNi44NTYgNTYuOTh6Jy8lM2UlM2NwYXRoIGQ9J00yNzguMjc2IDEzMy40MDVsLTEyOS43OTIgNjkuMjI4LTEyOS43ODctNjkuMjI4Yy02LjIxNy0zLjMxOC0xMy45MDgtLjk2OC0xNy4xOTggNS4yMzItMy4zMDIgNi4yMDEtLjk2OCAxMy44OTcgNS4yMjcgMTcuMTk4bDEzNS43NzUgNzIuNDIxYTEyLjcyOSAxMi43MjkgMCAwMDExLjk3NyAwbDEzNS43NzUtNzIuNDIxYzYuMTk1LTMuMzAxIDguNTI4LTEwLjk5OCA1LjIyNy0xNy4xOTgtMy4zMDEtNi4yLTEwLjk5OC04LjU0NC0xNy4yMDQtNS4yMzJ6Jy8lM2UlM2NwYXRoIGQ9J00yNzguMjc2IDE4My4wNjRsLTEyOS43OTIgNjkuMjE4LTEyOS43ODctNjkuMjE4Yy02LjIxNy0zLjMxOC0xMy45MDgtLjk1Ny0xNy4xOTggNS4yMzItMy4zMDIgNi4yMDEtLjk2OCAxMy44OTcgNS4yMjcgMTcuMTk4bDEzNS43NzUgNzIuNDE2YTEyLjcyOSAxMi43MjkgMCAwMDExLjk3NyAwbDEzNS43NzUtNzIuNDE2YzYuMTk1LTMuMzAxIDguNTI4LTEwLjk5OCA1LjIyNy0xNy4xOTgtMy4zMDctNi4xOS0xMC45ODctOC41NS0xNy4yMDQtNS4yMzJ6Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnbGlua2VkaW4nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTggMTcnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIC0xKScgZmlsbD0nYmxhY2snIGZpbGwtcnVsZT0nbm9uemVybyclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00yLjA1NCA1LjMyNmMxLjI4MyAwIDIuMDg3LS44NDggMi4wNzUtMS45MDktLjAxLTEuMDgyLS43OTItMS45MDgtMi4wNTMtMS45MDhDLjgyNiAxLjUwOSAwIDIuMzM1IDAgMy40MTdjMCAxLjA2Ljc5MiAxLjkwOSAyLjAzMSAxLjkwOWguMDIzem03LjU0NCAxMi41NjdWMTEuNzJjMC0uMzM1LjAzNC0uNjU5LjEyMy0uOTA0LjI2OC0uNjU5Ljg3LTEuMzQgMS44ODYtMS4zNCAxLjMyOCAwIDEuODY0IDEuMDE2IDEuODY0IDIuNXY1LjkxNmgzLjY3MnYtNi4zNGMwLTMuMzkyLTEuODA4LTQuOTc3LTQuMjMtNC45NzctMS45MDQgMC0yLjc4MyAxLjAxNS0zLjI3NSAxLjc2N2wtLjA0LjA2MVY2LjgzM0g1LjkyNmwuMDAxLjAxOGMuMDA1LjE3Mi4wNCAxLjcyNSAwIDExLjA0MmgzLjY3MXptLTUuNzAzIDBWNi44MzNILjIxMnYxMS4wNmgzLjY4M3onLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2xpc3QnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjE1IDE2NyclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMjcnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTM0IDgzLjVoLTFtMSA1MGgtMW0xLTEwMGgtMW0xNDggNTBINzVtMTA2IDUwSDc1bTEwNi0xMDBINzUnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdsb2FkZXInOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAwIDEwMCclM2UlM2NwYXRoIGZpbGw9JyUyMzEzMjk0YScgZD0nTTczIDUwYzAtMTIuNy0xMC4zLTIzLTIzLTIzUzI3IDM3LjMgMjcgNTBtMy45IDBjMC0xMC41IDguNS0xOS4xIDE5LjEtMTkuMVM2OS4xIDM5LjUgNjkuMSA1MCclM2UlM2NhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9J3RyYW5zZm9ybScgYXR0cmlidXRlVHlwZT0nWE1MJyB0eXBlPSdyb3RhdGUnIGR1cj0nMXMnIGZyb209JzAgNTAgNTAnIHRvPSczNjAgNTAgNTAnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8lM2UlM2MvcGF0aCUzZSUzYy9zdmclM2VcIixcbiAgICAnbG9jYXRpb24nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjkyLjA5IDQwMi42JyUzZSUzY2NpcmNsZSBjeD0nMTQ2LjA0NScgY3k9JzE0NS45OTgnIHI9JzM0LjI0JyBmaWxsPSdub25lJy8lM2UlM2NwYXRoIGQ9J00yNy41NDUgMTQ1Ljk5OGMwLTY1LjQ0NiA1My4wNTQtMTE4LjUgMTE4LjUtMTE4LjVzMTE4LjUgNTMuMDU0IDExOC41IDExOC41YzAgMCAxLjUxNyAyNi40MDgtMTMuMzEgNjIuNTQzLTE0Ljc5NyAzNi4wNjMtMTA1LjE5IDE2MS4yNS0xMDUuMTkgMTYxLjI1UzU1LjY1MyAyNDQuNjAzIDQwLjg1NSAyMDguNTRjLTE0LjgyNy0zNi4xMzUtMTMuMzEtNjIuNTQyLTEzLjMxLTYyLjU0MnonIGZpbGw9J25vbmUnLyUzZSUzYy9zdmclM2VcIixcbiAgICAnbWFpbF9kYXJrJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQxMCAzMzMuMDMnJTNlJTNjZyBmaWxsPSdfX19maWxsX19fJyBzdHJva2U9J19fX3N0cm9rZV9fXycgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTM1Ni41ODIgMjk5LjUzSDUzLjA5MmMtMTMuOTUgMC0yNS4yNTUtMTEuMzA2LTI1LjI1NS0yNS4yNTNWNTguNzUzYzAtMTMuOTQ4IDExLjMwNy0yNS4yNTQgMjUuMjU0LTI1LjI1NGgzMDMuNDkzYzEzLjk0OCAwIDI1LjI1NCAxMS4zMDYgMjUuMjU0IDI1LjI1M3YyMTUuNTI0YzAgMTMuOTQ3LTExLjMwNyAyNS4yNTQtMjUuMjU1IDI1LjI1NHonLyUzZSUzY3BhdGggZD0nTTI2LjQyMyA2OS4wM2wxNTEuNTMzIDEzOS4zMjJjMTQuOTYgMTMuNzU2IDM0LjkxOCAxMy44OSA0OS45ODguMzRMMzgzLjI1IDY5LjAzJy8lM2UlM2NnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNlJTNjcGF0aCBkPSdNMTMyLjEzIDE2OC41Yy0zNS4yMDYgMzMuMDA4LTY5LjMxNCA2Mi43MTQtMTAzLjg2NyA5NC4yOG0zNTMuMTQ3IDBjLTM0LjM2NS0zMy4wNTgtNzAuODc2LTY0LjM1Mi0xMDUuNjU4LTk3LjE0MicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnbWFpbCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0MTAgMzMzLjAzJyUzZSUzY2cgc3Ryb2tlPSdfX19zdHJva2VfX18nIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00zNTYuNTgyIDI5OS41M0g1My4wOTJjLTEzLjk1IDAtMjUuMjU1LTExLjMwNi0yNS4yNTUtMjUuMjUzVjU4Ljc1M2MwLTEzLjk0OCAxMS4zMDctMjUuMjU0IDI1LjI1NC0yNS4yNTRoMzAzLjQ5M2MxMy45NDggMCAyNS4yNTQgMTEuMzA2IDI1LjI1NCAyNS4yNTN2MjE1LjUyNGMwIDEzLjk0Ny0xMS4zMDcgMjUuMjU0LTI1LjI1NSAyNS4yNTR6Jy8lM2UlM2NwYXRoIGQ9J00yNi40MjMgNjkuMDNsMTUxLjUzMyAxMzkuMzIyYzE0Ljk2IDEzLjc1NiAzNC45MTggMTMuODkgNDkuOTg4LjM0TDM4My4yNSA2OS4wMycvJTNlJTNjZyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzZSUzY3BhdGggZD0nTTEzMi4xMyAxNjguNWMtMzUuMjA2IDMzLjAwOC02OS4zMTQgNjIuNzE0LTEwMy44NjcgOTQuMjhtMzUzLjE0NyAwYy0zNC4zNjUtMzMuMDU4LTcwLjg3Ni02NC4zNTItMTA1LjY1OC05Ny4xNDInLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ21lbnUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAwLjIxIDE2NyclM2UlM2NnIHN0cm9rZS13aWR0aD0nMjcnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTE1OS4yMSA4My41aC0xMjZtODUgNTBoLTg1bTEyNi0xMDBoLTEyNicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ25ld3MnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzQ4LjY3IDM4MS4zMyclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTI3MS42NjggMTUyLjQ5OGgtNTZtNTYgNDloLTE1Nm0xNTYgNTBoLTE1Nm0xMDAgNTBoLTEwMG0xNTYtMTk5aC01Nk0xMTYuMTY4IDEwMi40OThoNTV2NTBoLTU1eicvJTNlJTNjZyUzZSUzY3BhdGggZD0nTTY4LjE2NyAzMDIuNTNWMjkuNjU2YzAtLjI5Ni4yOC0uNTM2LjYyNS0uNTM2aDI1Mi43NWMuMzQ1IDAgLjYyNS4yNC42MjUuNTM3VjMwOC41M20wLTI0LjgyMnY0OC4wMmMwIDEyLjg5OC0xMC40NTYgMjMuMzU0LTIzLjM1NSAyMy4zNTRINTIuNjY3Yy0xMi45IDAtMjMuMzU1LTEwLjQ1Ni0yMy4zNTUtMjMuMzU1di00OC4wMicvJTNlJTNjcGF0aCBkPSdNMjkuMzEyIDMwOC45MDRWOTQuNzRjMC0uMjI2LjA1Ny0uNDEuMTI4LS40MWgzOC43MjcnLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ25ld3NsZXR0ZXInOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNDA5IDM4MS4zNyclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00zMzEuNSA2Ny44NGw0NC44NDYgMjkuOTYzYTI1LjE0MyAyNS4xNDMgMCAwMTUuMTU0IDE1LjI5MlYzMjguNjJjMCAxMy45NDctMTEuMzA3IDI1LjI1My0yNS4yNTQgMjUuMjUzSDUyLjc1NGMtMTMuOTQ4IDAtMjUuMjU0LTExLjMwNy0yNS4yNTQtMjUuMjU0VjExMy4wOTNjMC01Ljk0NSAyLjA1NC0xMS40MSA1LjQ5Mi0xNS43MjVMNzcuNSA2Ny44NCcvJTNlJTNjcGF0aCBkPSdNMzgwLjYyIDMxNi40MTRMMjMxLjAzNSAxNzguODg2Yy0xNC43Ny0xMy41OC0zNC40Ny0xMy43MTItNDkuMzQ1LS4zMzVMMjguMzggMzE2LjQxNScvJTNlJTNjZyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzZSUzY3BhdGggZD0nTTI3OS4xNzggMjIwLjY4N2MzNC4zODUtMzIuMjM2IDY3LjY5NS02MS4yNDggMTAxLjQ0Mi05Mi4wNzhtLTM1Mi4yNC03LjI1NGMzNS41MSAzNC4xNiA3My4yMzcgNjYuNDk2IDEwOS4xNzggMTAwLjM3OCcvJTNlJTNjL2clM2UlM2NwYXRoIGQ9J003Ny4zMSAxNjcuMjVWMjguMDMyYzAtLjI5Ni4yOC0uNTM2LjYyNC0uNTM2aDI1Mi43NWMuMzQ1IDAgLjYyNS4yNC42MjUuNTM2djEzOS4yMTUnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICduZXdzcGFwZXInOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTc2IDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J001NTIgNjRIMTEyYy0yMC44NTggMC0zOC42NDMgMTMuMzc3LTQ1LjI0OCAzMkgyNGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djI3MmMwIDMwLjkyOCAyNS4wNzIgNTYgNTYgNTZoNDk2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFY4OGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjR6TTQ4IDM5MlYxNDRoMTZ2MjQ4YzAgNC40MTEtMy41ODkgOC04IDhzLTgtMy41ODktOC04em00ODAgOEgxMTEuNDIyYy4zNzQtMi42MTQuNTc4LTUuMjgzLjU3OC04VjExMmg0MTZ2Mjg4ek0xNzIgMjgwaDEzNmM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi05NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDE3MmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY5NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyem0yOC04MGg4MHY0MGgtODB2LTQwem0tNDAgMTQwdi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEzNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMTcyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0xOTIgMHYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMDRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDM2NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnptMC0xNDR2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTA0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzNjRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgNzJ2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTA0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzNjRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ25vLXZpZGVvJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwMDAgMTAwMCclM2UlM2NnJTNlJTNjZyB0cmFuc2Zvcm09J21hdHJpeCguMSAwIDAgLS4xIDAgNTExKSclM2UlM2NwYXRoIGQ9J005NjAxLjkgNDc3OS43Yy0zNS4zLTIyLjEtMjA5OS43LTIwNzcuNi00NTg1LjgtNDU2My43LTMyODcuNi0zMjkyLTQ1MjQtNDU0MS42LTQ1MzUtNDU4OC0zMC45LTEyNS44IDEwMS42LTI1My45IDIyOS42LTIyMyA2Ni4zIDE1LjQgOTEwMSA5MDI4IDkxNTguNCA5MTM0IDQ2LjQgODguMyAzNy41IDE0NS43LTMzLjEgMjE4LjYtNzUuMSA3NS4xLTE0MS4zIDgxLjctMjM0LjEgMjIuMXpNNTkzLjcgMjUxMi4yYy0yMjMtNzkuNS00MjYuMS0zMTMuNS00NzQuNy01NDcuNi0xNS41LTc3LjMtMjIuMS03NTcuMy0xNy43LTIxMTAuN2w2LjYtMTk5OC4yIDU5LjYtMTI1LjhjNzAuNi0xNTIuNCAyMTQuMi0zMDAuMyAzNTkuOS0zNzMuMSAxMDYtNTAuOCAxMzIuNS01MyA1NzQuMS01OS42bDQ2My43LTYuNiAyNTM2LjkgMjUzOUw2NjM5IDIzNjYuNWwtMTA4LjIgNjguNGMtNTcuNCAzNy41LTE0MS4zIDc5LjUtMTg1LjUgOTAuNS00OC42IDEzLjItMTEwMy45IDIyLjEtMjg3MC4zIDE5LjktMjM2MC4yIDAtMjgwNi4yLTYuNi0yODgxLjMtMzMuMXpNODg2Mi4zIDIwMTUuNGMtNDQzLjgtMTk0LjMtOTg2LjktNDM0LjktMTIwNy43LTUzMi4xbC00MDQtMTc2LjZ2LTI3NzFsMTUwLjEtNjYuMmMxMDc5LjctNDgzLjUgMjI4My0xMDAwLjIgMjMyMC41LTEwMDAuMiAyOC43IDAgNzkuNSAyOC43IDExNC44IDY0bDY0IDY0djQ2NDUuNWwtNjQgNjRjLTM1LjMgMzUuMy04OC4zIDY0LTExNyA2NC0yOC44LjEtNDEyLjktMTYxLjEtODU2LjctMzU1LjR6TTUwMjAuNS04NjMuN0wzMTc3LTI3MDcuM2wxNTg5LjcgNC40IDE1ODkuNyA2LjYgMTE3IDY2LjJjMTU0LjYgODMuOSAzMDAuMyAyNDcuMyAzNTcuNyAzOTkuNiA0NC4yIDExOS4yIDQ0LjIgMTUyLjQgMzkuNyAxNjY3bC02LjYgMTU0My4zTDUwMjAuNS04NjMuN3onLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3BhcGVyLXBsYW5lJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNDQwIDYuNUwyNCAyNDYuNGMtMzQuNCAxOS45LTMxLjEgNzAuOCA1LjcgODUuOUwxNDQgMzc5LjZWNDY0YzAgNDYuNCA1OS4yIDY1LjUgODYuNiAyOC42bDQzLjgtNTkuMSAxMTEuOSA0Ni4yYzUuOSAyLjQgMTIuMSAzLjYgMTguMyAzLjYgOC4yIDAgMTYuMy0yLjEgMjMuNi02LjIgMTIuOC03LjIgMjEuNi0yMCAyMy45LTM0LjVsNTkuNC0zODcuMmM2LjEtNDAuMS0zNi45LTY4LjgtNzEuNS00OC45ek0xOTIgNDY0di02NC42bDM2LjYgMTUuMUwxOTIgNDY0em0yMTIuNi0yOC43bC0xNTMuOC02My41TDM5MSAxNjkuNWMxMC43LTE1LjUtOS41LTMzLjUtMjMuNy0yMS4yTDE1NS44IDMzMi42IDQ4IDI4OCA0NjQgNDhsLTU5LjQgMzg3LjN6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3Bob25lX2RhcmsnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzQ1IDM0NSclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIHN0cm9rZT0nX19fc3Ryb2tlX19fJyBkPSdNMjE3LjQxNiAyMTUuMjQ0YzI1LjQwNi0yNy4wNSA0OS4yLTU3Ljk2MyA2Ni41NDUtODEuOTZhMzAuMzkxIDMwLjM5MSAwIDAwMS42ODYtMi4xNmwyNi41NDgtMzcuNzRjOC42OS0xMi4zMjQgNi43MjItMjguODkzLTQuMjctMzkuMjE3TDI4My43NCAzMi4wNmMtMi42Ny0yLjUwOC0xMS4wNzUtOS42MTMtMTkuMzQtOS4zNDMtOC4yNjUuMjctMTYuMzkgNy45MTUtMTguNSAxMC45MDdsLTI5LjAwNyA0NS4yNzNjLTguNjkgMTIuMzI0LTcuMTA3IDI5LjMwMyAzLjg4NSAzOS42MjdsOS41NjMgOC45ODJhNi43NSA2Ljc1IDAgMDEuNzEgOS4wN2MtMTIuOTgyIDE2LjctMjguMTg0IDM0Ljk2NC00My42ODcgNTEuNDctMTUuNTggMTYuNTg1LTMyLjA5IDMyLjA2NS00OC42NSA0Ni43OTYtMi42MDggMi4zMi02LjU1OCAyLjI1NC05LjEwMi0uMTM1bC05LjU0LTguOTYyYy0xMC45OTMtMTAuMzI0LTI3LjY1Mi0xMS4yNTItMzkuNDA4LTEuODA3bC00Mi43MjMgMzIuMzljLTIuODU2IDIuMjkyLTEwLjM5OCAxMC42MTctMTAuNTYgMTguOTk2LS4xNiA4LjM3OCA3LjA2IDE2LjgxIDkuNzI4IDE5LjMxN2wyNC4xODUgMjIuMTFjMTAuOTkyIDEwLjMyMyAyOC4xNjUgMTAuNzA0IDM5LjkyIDEuMjZsMzYuMzktMjkuMjdhMzEuMzk3IDMxLjM5NyAwIDAwMS45Ni0xLjczNGMuMTA2LS4xMDIuMjEtLjE5NS4zMjQtLjI5IDIyLjg0LTE4LjggNTIuMTg1LTQ0LjQ5IDc3LjUzLTcxLjQ3MnonLyUzZSUzYy9zdmclM2VcIixcbiAgICAncGhvbmUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzQ1IDM0NSclM2UlM2NwYXRoIGQ9J00yMTcuNDE2IDIxNS4yNDRjMjUuNDA2LTI3LjA1IDQ5LjItNTcuOTYzIDY2LjU0NS04MS45NmEzMC4zOTEgMzAuMzkxIDAgMDAxLjY4Ni0yLjE2bDI2LjU0OC0zNy43NGM4LjY5LTEyLjMyNCA2LjcyMi0yOC44OTMtNC4yNy0zOS4yMTdMMjgzLjc0IDMyLjA2Yy0yLjY3LTIuNTA4LTExLjA3NS05LjYxMy0xOS4zNC05LjM0My04LjI2NS4yNy0xNi4zOSA3LjkxNS0xOC41IDEwLjkwN2wtMjkuMDA3IDQ1LjI3M2MtOC42OSAxMi4zMjQtNy4xMDcgMjkuMzAzIDMuODg1IDM5LjYyN2w5LjU2MyA4Ljk4MmE2Ljc1IDYuNzUgMCAwMS43MSA5LjA3Yy0xMi45ODIgMTYuNy0yOC4xODQgMzQuOTY0LTQzLjY4NyA1MS40Ny0xNS41OCAxNi41ODUtMzIuMDkgMzIuMDY1LTQ4LjY1IDQ2Ljc5Ni0yLjYwOCAyLjMyLTYuNTU4IDIuMjU0LTkuMTAyLS4xMzVsLTkuNTQtOC45NjJjLTEwLjk5My0xMC4zMjQtMjcuNjUyLTExLjI1Mi0zOS40MDgtMS44MDdsLTQyLjcyMyAzMi4zOWMtMi44NTYgMi4yOTItMTAuMzk4IDEwLjYxNy0xMC41NiAxOC45OTYtLjE2IDguMzc4IDcuMDYgMTYuODEgOS43MjggMTkuMzE3bDI0LjE4NSAyMi4xMWMxMC45OTIgMTAuMzIzIDI4LjE2NSAxMC43MDQgMzkuOTIgMS4yNmwzNi4zOS0yOS4yN2EzMS4zOTcgMzEuMzk3IDAgMDAxLjk2LTEuNzM0Yy4xMDYtLjEwMi4yMS0uMTk1LjMyNC0uMjkgMjIuODQtMTguOCA1Mi4xODUtNDQuNDkgNzcuNTMtNzEuNDcyeicgc3Ryb2tlPSdfX19zdHJva2VfX18nIGZpbGw9J19fX2ZpbGxfX18nLyUzZSUzYy9zdmclM2VcIixcbiAgICAncGluJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMxMCAzMTAnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMTI5Ljk3IDE0MS44MkwyNy4xNiAyODIuNDlsMTQxLjA5Mi0xMDIuMzg1TTIxOC4wMDcgMTQzLjY5M2w2Mi45Ni00NS42ODhhNC41MzMgNC41MzMgMCAwMC41NDQtNi44NzZsLTYyLjU4LTYyLjU4YTQuNTMzIDQuNTMzIDAgMDAtNi44NjYuNTNsLTQ1Ljk3NyA2Mi45MDdhNC41MTcgNC41MTcgMCAwMS01LjA5NCAxLjYxOGMtMjEuNzU2LTcuMzY0LTQ1LjgtNi4wNDgtNjYuNzM2IDMuOTU2LTIuODIgMS4zNS0zLjQ1NCA1LjA5My0xLjI0MyA3LjMwNEwyMDUuMjEgMjE3LjA2YzIuMjEgMi4yMSA1Ljk1NCAxLjU3NyA3LjMwMy0xLjI0NSAxMC4wNDUtMjEuMDIgMTEuMzM0LTQ1LjE4IDMuODctNjcuMDA1YTQuNTE0IDQuNTE0IDAgMDExLjYyNC01LjExN3onLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdwcmludCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzODkuMzMgMzgwLjI1JyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTMyMS4zOTggMjY3LjUzaDE1LjI0NmMxMy45NDggMCAyNS4yNTQtMTEuMzA3IDI1LjI1NC0yNS4yNTRWMTM1Ljc1MmMwLTEzLjk0OC0xMS4zMDctMjUuMjU0LTI1LjI1NC0yNS4yNTRINTMuMTU0Yy0xMy45NSAwLTI1LjI1NSAxMS4zMDctMjUuMjU1IDI1LjI1NHYxMDYuNTI0YzAgMTMuOTQ4IDExLjMwNiAyNS4yNTQgMjUuMjUzIDI1LjI1NEg2Ny40TTEwMy45OTggMjcwLjA4NGgxODFtLTE4MSA0NGgxODEnLyUzZSUzY3BhdGggZD0nTTY3Ljg5OCAzNTIuNDZWMjI0LjcxNGMwLS4zNDUuMjgtLjYyNS42MjUtLjYyNWgyNTIuNzVjLjM0NSAwIC42MjUuMjguNjI1LjYyNVYzNTIuNDZjMCAuMzQ1LS4yOC42MjUtLjYyNS42MjVINjguNTIzYS42MjUuNjI1IDAgMDEtLjYyNS0uNjI2em0wLTI0NC41OVYyNy44OWMwLS4yMTYuMjgtLjM5LjYyNS0uMzloMjUyLjc1Yy4zNDUgMCAuNjI1LjE3NC42MjUuMzl2NzkuOTc4TTMyMS45OTggMTUzLjA4NGgtMScvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3JhZGlvLWNoZWNrZWQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOTYgOTYnJTNlJTNjZyUzZSUzY3BhdGggZD0nTTQ4IDM0Yy03LjcgMC0xNCA2LjMtMTQgMTRzNi4zIDE0IDE0IDE0IDE0LTYuMyAxNC0xNC02LjMtMTQtMTQtMTR6bTAtMTRjLTE1LjUgMC0yOCAxMi41LTI4IDI4czEyLjUgMjggMjggMjggMjgtMTIuNSAyOC0yOC0xMi41LTI4LTI4LTI4em0wIDUwLjRjLTEyLjQgMC0yMi40LTEwLTIyLjQtMjIuNHMxMC0yMi40IDIyLjQtMjIuNCAyMi40IDEwIDIyLjQgMjIuNC0xMCAyMi40LTIyLjQgMjIuNHonIGZpbGw9JyUyMzEzMjk0YScvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3JhZGlvLXVuY2hlY2tlZCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA5NiA5NiclM2UlM2NnJTNlJTNjcGF0aCBkPSdNNDggMjAuNWMtMTUuMiAwLTI3LjUgMTIuMy0yNy41IDI3LjVTMzIuOCA3NS41IDQ4IDc1LjUgNzUuNSA2My4yIDc1LjUgNDggNjMuMiAyMC41IDQ4IDIwLjV6TTQ4IDcwYy0xMi4yIDAtMjItOS44LTIyLTIyczkuOC0yMiAyMi0yMiAyMiA5LjggMjIgMjItOS44IDIyLTIyIDIyeicgZmlsbD0nJTIzMTMyOTRhJy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAncmVnem9uZSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA3MiA3MiclM2UlM2NnIGZpbGw9J19fX2ZpbGxfX18nJTNlJTNjcGF0aCBkPSdNMjQuMSA0Mi4yODNjMC0zLjc0NiAyLjEtNi4yODMgNS45ODMtNi4yODMgMy44MzMgMCA1Ljk4NiAyLjU4OSA1Ljk4NiA2LjI4M3MtMi4xMTggNi4zNTMtNS45ODYgNi4zNTNjLTMuOTIxIDAtNS45ODMtMi42MDgtNS45ODMtNi4zNTN6bTIuNTU1IDBjMCAyLjIuOTI3IDQuNDI3IDMuNDMgNC40MjdzMy40MzEtMi4yMjIgMy40MzEtNC40MjdjMC0yLjE1NC0xLTQuMzU5LTMuNDMxLTQuMzU5cy0zLjQzMiAyLjIwNi0zLjQzMiA0LjM1OXptMjQuNjM5IDYuMTQyVjM2LjIwOUg1OC41djEuOTI2aC00Ljc1OHYzLjAxSDU4LjF2MS45MjVoLTQuMzU4djMuNDNoNC44djEuOTI2em0tNS44OCAwTDQwLjc0IDM5LjI5aC0uMDR2OS4xMzZoLTIuMzRWMzYuMjA5aDMuMDFsNC42NTYgOS4xMzZoLjAzNXYtOS4xMzZoMi4zNDV2MTIuMjE3ek0xNCA0OC40MjZ2LTEuOTk1bDUuNzQtOC4zaC01LjUxMnYtMS45MjJoOC4xMjF2MkwxNi41NTYgNDYuNWg1LjkxNXYxLjkyNnptMjAuOTY1LTE5LjljMC00LjE4MiAyLjU1Ni02LjUyOCA2LjctNi41MjhhMTIuMDYzIDEyLjA2MyAwIDAxMy41ODguNTA3bC0uMTUzIDIuMDY3YTggOCAwIDAwLTMuMTUxLS42NDcgNC4xNTkgNC4xNTkgMCAwMC00LjQyNyA0LjQyOCA0LjAyNCA0LjAyNCAwIDAwNC4xNDcgNC4zNTcgNi42NzIgNi42NzIgMCAwMDEuNjExLS4xNzRWMjkuMzVoLTIuNTl2LTEuOTI1aDQuOTM2djYuNTgxYTE1LjQxOSAxNS40MTkgMCAwMS0zLjk1Ni42M2MtMy45NTcgMC02LjcwNS0xLjk3OC02LjcwNS02LjEwOHptLTkuMzEgNS45VjIyLjIwOWg3LjIxdjEuOTI2SDI4LjF2My4wMWg0LjM1OHYxLjkyNUgyOC4xdjMuNDNoNC44djEuOTI2em0tNC42NzEgMGwtMS40NzEtMy44MTZjLS4zNS0uOTEtLjY2NS0xLjI2LTEuNy0xLjI2aC0uNzg1djUuMDc2aC0yLjQ1MVYyMi4yMDloMi42NDRjMi42MjUgMCA1Ljc1OC0uMDg2IDUuNzU4IDMuMzA5YTIuOCAyLjggMCAwMS0yLjUyMSAyLjgzNXYuMDM1Yy42NjQuMDUyIDEuMDQ5LjcxNiAxLjI5NCAxLjI2bDEuOTYxIDQuNzc4em0tMy45NTYtN2guODA2YzEuMjA3IDAgMi41OS0uMTc1IDIuNTktMS43IDAtMS40NzEtMS4zNjUtMS41OTMtMi41OS0xLjU5M2gtLjgwNnonLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdyZXBseSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMTUuMDMgMzAxLjEnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00yOTMuODg2IDE0OS45NTRMMTYzLjUyOCAxOS41OTZWMTA1LjZoLTE2LjhjLTEzMy4xNjggMC0xMjguMiAxNzUuMDk0LTEyOC4yIDE3NS4wOTR2LS40NXMxNC42NjYtODEuMTkyIDExNS4xOTYtODIuNjkyYTE0NTAuODggMTQ1MC44OCAwIDAxMjkuODA0LS4xMTN2ODIuODczbDEzMC4zNTgtMTMwLjM2eicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3JldHdlZXQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzYxIDE5OCclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTExMi4zNjQgNjIuNzE3bC0zNS44Mi0zMi45MzRjLTMuNTM3LTMuMjUyLTguMjU0LTMuMjg0LTExLjgxNy0uMDhMMjguMDE0IDYyLjcxN00yMDkuNjkgMTcxSDcwLjE5VjQxLjUnLyUzZSUzYy9nJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00yNTAuMDE0IDEzNS42MDVsMzUuODIgMzIuOTM0YzMuNTM3IDMuMjUgOC4yNTQgMy4yODMgMTEuODE3LjA4bDM2LjcxMy0zMy4wMTUnLyUzZSUzY3BhdGggZD0nTTE1Mi42OSAyN2gxMzkuNXYxMjkuNScvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3JpZ2h0LWFycm93JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMxLjQ5IDMxLjQ5JyUzZSUzY3BhdGggZmlsbD0nJTIzMTMyOTRhJyBkPSdNMjEuMjA1IDUuMDA3YTEuMTEyIDEuMTEyIDAgMDAtMS41ODcgMCAxLjEyIDEuMTIgMCAwMDAgMS41NzFsOC4wNDcgOC4wNDdIMS4xMTFBMS4xMDYgMS4xMDYgMCAwMDAgMTUuNzM3YzAgLjYxOS40OTIgMS4xMjcgMS4xMTEgMS4xMjdoMjYuNTU0bC04LjA0NyA4LjAzMmMtLjQyOS40NDQtLjQyOSAxLjE1OSAwIDEuNTg3YTEuMTEyIDEuMTEyIDAgMDAxLjU4NyAwbDkuOTUyLTkuOTUyYTEuMDkzIDEuMDkzIDAgMDAwLTEuNTcxbC05Ljk1Mi05Ljk1M3onLyUzZSUzYy9zdmclM2VcIixcbiAgICAnc2VhcmNoJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE1IDE2JyUzZSUzY2cgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggZD0nTTEzLjcxNCAxNS4yODZhMS4xNSAxLjE1IDAgMDAxLjE0My0xLjE0MyAxLjE1IDEuMTUgMCAwMC0uMzMtLjgwNGwtMy4wNjMtMy4wNjJBNi4yODQgNi4yODQgMCAwMDYuMjg1LjQyOSA2LjI4NCA2LjI4NCAwIDAwMCA2LjcxNGE2LjI4NCA2LjI4NCAwIDAwOS44NDggNS4xNzlsMy4wNjMgMy4wNTNjLjIwNS4yMTUuNS4zNC44MDMuMzR6bS03LjQyOC00LjU3MmMtMi4yMDYgMC00LTEuNzk0LTQtNCAwLTIuMjA1IDEuNzk0LTQgNC00IDIuMjA1IDAgNCAxLjc5NSA0IDQgMCAyLjIwNi0xLjc5NSA0LTQgNHonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3NoYXJlX2FsdCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNzUuMDI2IDI2MS4wOTgnJTNlJTNjcGF0aCBkPSdNMTQ0LjY2NyAwbDEzMC4zNiAxMzAuMzU4LTEzMC4zNiAxMzAuMzYnLyUzZSUzY3BhdGggZD0nTTE1Ni4wMzIgODUuNTAzSDEyNy43Qy01LjQ3IDg1LjUwMy4wMyAyNjEuMDk4LjAzIDI2MS4wOTh2LS40NXMxNC41LTgxLjE5MiAxMTUuMDMtODIuNjkyYzIxLjM3Ny0uMzIgNDAuOTcgMCA0MC45NyAwVjg1LjUwM3onLyUzZSUzYy9zdmclM2VcIixcbiAgICAnc2hhcmUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzEzIDMxOSclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J005Ny44OCAxMzkuODQ0TDIwOC4zNzcgODMuODlNOTcuODggMTc4LjM4bDExMC40OTYgNTYuODg0Jy8lM2UlM2NjaXJjbGUgY3g9JzY1LjExNicgY3k9JzE1OS4wMDgnIHI9JzM3Ljk1OCcvJTNlJTNjY2lyY2xlIGN4PScyNDYuMTE3JyBjeT0nNjQuMzg5JyByPSczNy45NTgnLyUzZSUzY2NpcmNsZSBjeD0nMjQ2LjExNycgY3k9JzI1NC4yOTknIHI9JzM3Ljk1OCcvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3N0YXInOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTc2IDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J001MjguMSAxNzEuNUwzODIgMTUwLjIgMzE2LjcgMTcuOGMtMTEuNy0yMy42LTQ1LjYtMjMuOS01Ny40IDBMMTk0IDE1MC4yIDQ3LjkgMTcxLjVjLTI2LjIgMy44LTM2LjcgMzYuMS0xNy43IDU0LjZsMTA1LjcgMTAzLTI1IDE0NS41Yy00LjUgMjYuMyAyMy4yIDQ2IDQ2LjQgMzMuN0wyODggNDM5LjZsMTMwLjcgNjguN2MyMy4yIDEyLjIgNTAuOS03LjQgNDYuNC0zMy43bC0yNS0xNDUuNSAxMDUuNy0xMDNjMTktMTguNSA4LjUtNTAuOC0xNy43LTU0LjZ6TTM4OC42IDMxMi4zbDIzLjcgMTM4LjRMMjg4IDM4NS40bC0xMjQuMyA2NS4zIDIzLjctMTM4LjQtMTAwLjYtOTggMTM5LTIwLjIgNjIuMi0xMjYgNjIuMiAxMjYgMTM5IDIwLjItMTAwLjYgOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3N1Yi1pbmRpY2F0b3InOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA1JyUzZSUzY2cgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggZD0nTTQgNC41YS40OTcuNDk3IDAgMDAuMzUyLS4xNDhsMy41LTMuNUEuNDk3LjQ5NyAwIDAwNy41IDBoLTdDLjIyNyAwIDAgLjIyNyAwIC41YzAgLjEzMy4wNTUuMjU4LjE0OC4zNTJsMy41IDMuNUEuNDk3LjQ5NyAwIDAwNCA0LjV6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzdWJtZW51LWluZGljYXRvcic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA5IDE3JyUzZSUzY2cgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgZmlsbD0nJTIzMTMyOTRhJyBmaWxsLXJ1bGU9J25vbnplcm8nJTNlJTNjZyUzZSUzY3BhdGggZD0nTTIuMzQxLjI2OWwuMDc0LjA4NSA1LjggNy42LjA1Mi4wNzUuMDU0LjEwMS4wMzguMTAzLjAyMi4wODMuMDE0LjA5LjAwNS4wOTUtLjAwOS4xMjctLjAyMy4xMS0uMDMyLjA5NS0uMDI3LjA2MWEuOS45IDAgMDEtLjAzLjA1OGwtLjA2NC4wOTQtNS44IDcuNmEuOS45IDAgMDEtMS40OTMtLjk5OGwuMDYzLS4wOTRMNi4zNjcgOC41Ljk4NSAxLjQ0NkEuOS45IDAgMDEyLjI1LjE4OGwuMDkuMDh6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3N1bic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTQ5NC4yIDIyMS45bC01OS44LTQwLjUgMTMuNy03MWMyLjYtMTMuMi0xLjYtMjYuOC0xMS4xLTM2LjQtOS42LTkuNS0yMy4yLTEzLjctMzYuMi0xMS4xbC03MC45IDEzLjctNDAuNC01OS45Yy0xNS4xLTIyLjMtNTEuOS0yMi4zLTY3IDBsLTQwLjQgNTkuOS03MC44LTEzLjdDOTggNjAuNCA4NC41IDY0LjUgNzUgNzQuMWMtOS41IDkuNi0xMy43IDIzLjEtMTEuMSAzNi4zbDEzLjcgNzEtNTkuOCA0MC41QzYuNiAyMjkuNSAwIDI0MiAwIDI1NS41czYuNyAyNiAxNy44IDMzLjVsNTkuOCA0MC41LTEzLjcgNzFjLTIuNiAxMy4yIDEuNiAyNi44IDExLjEgMzYuMyA5LjUgOS41IDIyLjkgMTMuNyAzNi4zIDExLjFsNzAuOC0xMy43IDQwLjQgNTkuOUMyMzAgNTA1LjMgMjQyLjYgNTEyIDI1NiA1MTJzMjYtNi43IDMzLjUtMTcuOGw0MC40LTU5LjkgNzAuOSAxMy43YzEzLjQgMi43IDI2LjgtMS42IDM2LjMtMTEuMSA5LjUtOS41IDEzLjYtMjMuMSAxMS4xLTM2LjNsLTEzLjctNzEgNTkuOC00MC41YzExLjEtNy41IDE3LjgtMjAuMSAxNy44LTMzLjUtLjEtMTMuNi02LjctMjYuMS0xNy45LTMzLjd6bS0xMTIuOSA4NS42bDE3LjYgOTEuMi05MS0xNy42TDI1NiA0NThsLTUxLjktNzctOTAuOSAxNy42IDE3LjYtOTEuMi03Ni44LTUyIDc2LjgtNTItMTcuNi05MS4yIDkxIDE3LjZMMjU2IDUzbDUxLjkgNzYuOSA5MS0xNy42LTE3LjYgOTEuMSA3Ni44IDUyLTc2LjggNTIuMXpNMjU2IDE1MmMtNTcuMyAwLTEwNCA0Ni43LTEwNCAxMDRzNDYuNyAxMDQgMTA0IDEwNCAxMDQtNDYuNyAxMDQtMTA0LTQ2LjctMTA0LTEwNC0xMDR6bTAgMTYwYy0zMC45IDAtNTYtMjUuMS01Ni01NnMyNS4xLTU2IDU2LTU2IDU2IDI1LjEgNTYgNTYtMjUuMSA1Ni01NiA1NnonLyUzZSUzYy9zdmclM2VcIixcbiAgICAndGFyZ2V0JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI3My41MSAyNzMuNTEnJTNlJTNjcGF0aCBkPSdNMTM2LjYwNyAyMEM3Mi4xMjUgMjAgMTkuODUyIDcyLjI3MyAxOS44NTIgMTM2Ljc1NVM3Mi4xMjUgMjUzLjUxIDEzNi42MDcgMjUzLjUxczExNi43NTUtNTIuMjczIDExNi43NTUtMTE2Ljc1NVMyMDEuMDkgMjAgMTM2LjYwNyAyMHptMCAyMDMuNTk0Yy00Ny45NiAwLTg2Ljg0LTM4Ljg4LTg2Ljg0LTg2Ljg0czM4Ljg4LTg2LjgzOCA4Ni44NC04Ni44MzggODYuODQgMzguODggODYuODQgODYuODQtMzguODggODYuODM4LTg2Ljg0IDg2LjgzOHonLyUzZSUzY3BhdGggZD0nTTEzNi42MDcgNzkuODMyYy0zMS40MzggMC01Ni45MjMgMjUuNDg1LTU2LjkyMyA1Ni45MjNzMjUuNDg1IDU2LjkyMyA1Ni45MjMgNTYuOTIzIDU2LjkyMy0yNS40ODUgNTYuOTIzLTU2LjkyMy0yNS40ODUtNTYuOTIzLTU2LjkyMy01Ni45MjN6bTAgODMuOTNjLTE0LjkxNiAwLTI3LjAwNy0xMi4wOTItMjcuMDA3LTI3LjAwNyAwLTE0LjkxNiAxMi4wOTItMjcuMDA3IDI3LjAwNy0yNy4wMDdzMjcuMDA3IDEyLjA5MiAyNy4wMDcgMjcuMDA3YzAgMTQuOTE2LTEyLjA5MiAyNy4wMDctMjcuMDA3IDI3LjAwN3onLyUzZSUzYy9zdmclM2VcIixcbiAgICAndGh1bWJzX3VwJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyMiAzMzMnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMjcuMzQ1IDE0Ni41NDVoODB2MTU5aC04MHpNMTA5Ljg0NSAyOTIuNTQ1aDEyMy4zMjljNi43OTggMCAxMy4yNzYtMy41NSAxNy44MjgtOC41OThsMzcuNTQtNDIuMzg3YzMuOTc3LTQuNDEgNS44MDItMTAuNDcgNS44MDItMTYuNDF2LTg0LjE2NWMwLTEzLjI1Ny05Ljk5Ni0yMi40NC0yMy4yNTMtMjIuNDRoLTQ3LjAxNmMtMTQuOTQ2IDAtMjYuMjU4LTE0LjI5NC0yMy42My0yOS4wMDdsMy43MTQtMjIuMjVjLjI1LTEuMzkyLjE4Ni0zLjE5NS4xODYtNC42MXYtMTIuMDdjMC0xMy4yNTYtMTAuMzktMjMuMDYzLTIzLjY0Ny0yMy4wNjNoLjAxYy0xMS4wNjcgMC0yMC42OTUgNy4wOTUtMjMuMzE4IDE3Ljg0NmwtNC4xNTQgMTYuODAzYy0uNDYgMS44OS0xLjE1IDQuMDItMi4wNSA1Ljc0NWwtNDMuMzQyIDgwLjYwNycvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3R3aXR0ZXInOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzM1LjMzIDI4My4zMyclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggc3Ryb2tlPSdfX19zdHJva2VfX18nIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00zMDguNjEyIDU1LjE1NmMtMTAuMjk4IDQuNTc4LTIxLjM4IDcuNjY1LTMzLjAxIDkuMDQ3IDExLjg3NC03LjEwOCAyMC45NzgtMTguMzY4IDI1LjI3LTMxLjhhMTE1LjAyMyAxMTUuMDIzIDAgMDEtMzYuNDk1IDEzLjk1NmMtMTAuNDgtMTEuMTctMjUuNDItMTguMTUyLTQxLjk1LTE4LjE1Mi0zMS43MzcgMC01Ny40NjggMjUuNzMyLTU3LjQ2OCA1Ny40NzQgMCA0LjQ5OC41MDUgOC44ODIgMS40OSAxMy4wOTYtNDcuNzY4LTIuNC05MC4xMi0yNS4yNzctMTE4LjQ3LTYwLjA1LTQuOTQ2IDguNDg0LTcuNzc4IDE4LjM1Ni03Ljc3OCAyOC45IDAgMTkuOTM2IDEwLjE0NSAzNy41MyAyNS41NjcgNDcuODM0YTU3LjMxNCA1Ny4zMTQgMCAwMS0yNi4wMzQtNy4xOTNjLS4wMDYuMjM4LS4wMDYuNDgyLS4wMDYuNzI3IDAgMjcuODQgMTkuODEyIDUxLjA2NSA0Ni4xMDcgNTYuMzU0YTU3LjY5NCA1Ny42OTQgMCAwMS0xNS4xNDMgMi4wMTQgNTYuOTIgNTYuOTIgMCAwMS0xMC44MTYtMS4wMzVjNy4zMiAyMi44MyAyOC41NCAzOS40NTIgNTMuNjg3IDM5LjkxMy0xOS42NyAxNS40MTYtNDQuNDQ2IDI0LjYwNi03MS4zNzggMjQuNjA2LTQuNjM1IDAtOS4yMTItLjI3NC0xMy43MS0uODA4IDI1LjQ0MiAxNi4zMTUgNTUuNjUgMjUuODIzIDg4LjEwMiAyNS44MjMgMTA1LjcxOCAwIDE2My41Mi04Ny41NzMgMTYzLjUyLTE2My41MjIgMC0yLjQ5LS4wNS00Ljk3Ni0uMTU4LTcuNDQ0IDExLjIyNC04LjA5IDIwLjk3LTE4LjIxOCAyOC42Ny0yOS43NDR6Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAndXBsb2FkJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI2MSAzNTgnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J004NS4xNSAyMzUuMDY1aC00My42Yy04LjE0OCAwLTE0Ljc1NC02LjYwNS0xNC43NTQtMTQuNzU0VjQzLjAxYzAtOC4xNDggNi42MDUtMTQuNzU0IDE0Ljc1NC0xNC43NTRoMTc3LjNjOC4xNSAwIDE0Ljc1NSA2LjYwNSAxNC43NTUgMTQuNzU0djE3Ny4zYzAgOC4xNS02LjYwNSAxNC43NTUtMTQuNzU0IDE0Ljc1NWgtNDMuNTk3Jy8lM2UlM2NwYXRoIGQ9J00xOTQuODYgMTQ4LjIzbC01NC45MTctNTAuNDljLTUuNDIyLTQuOTg1LTEyLjY1NC01LjAzNC0xOC4xMTYtLjEyM0w2NS41NDIgMTQ4LjIzTTEzMC4wOTYgMzMwLjI1NnYtMjI2Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAndXNlcl9jYXJkJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQwOCAzMjInJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMzU1LjMyIDI5My45NjNINTEuODNjLTEzLjk1IDAtMjUuMjU1LTExLjMwNy0yNS4yNTUtMjUuMjU0VjUzLjE4NGMwLTEzLjk0OCAxMS4zMDctMjUuMjU0IDI1LjI1NC0yNS4yNTRoMzAzLjQ5YzEzLjk1IDAgMjUuMjU1IDExLjMwOCAyNS4yNTUgMjUuMjU1VjI2OC43MWMwIDEzLjk0Ni0xMS4zMDcgMjUuMjUzLTI1LjI1NCAyNS4yNTN6Jy8lM2UlM2NnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCclM2UlM2NwYXRoIGQ9J00zMzQuNSAxNjMuMDE2aC0xMDRtMTA0IDUwaC0xMDRtMTA0LTEwMGgtMTA0Jy8lM2UlM2MvZyUzZSUzY2NpcmNsZSBjeD0nMTMxLjEyNCcgY3k9JzExMS40OTEnIHI9JzM4LjkwNycvJTNlJTNjcGF0aCBkPSdNMTQ5LjU1OCAxNTUuOTUzaC0yOS41OWMtMjQuMDcyIDAtNDcuMzQ0IDE1Ljk5NC00Ny4zNDQgNDAuMDY2djQ3LjA5NWMwIDEuNTA0IDEuMDEyIDIuODMgMi40NyAzLjE5NSAxNS41MzYgMy44OTggMzQuMzIgNi4yNjYgNTYuMDMgNi4yNjYgMjEuNjQ3IDAgNDEuMjc4LTIuMzU0IDU2LjAzNS02LjIzMmEzLjMwMSAzLjMwMSAwIDAwMi40NjQtMy4xOTV2LTQ3LjEzMmMwLTIyLjEyNy0xNy45MzgtNDAuMDY1LTQwLjA2Ni00MC4wNjV6Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAndXNlcic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0NDggNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTMxMy42IDMwNGMtMjguNyAwLTQyLjUgMTYtODkuNiAxNi00Ny4xIDAtNjAuOC0xNi04OS42LTE2QzYwLjIgMzA0IDAgMzY0LjIgMCA0MzguNFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4di0yNS42YzAtNzQuMi02MC4yLTEzNC40LTEzNC40LTEzNC40ek00MDAgNDY0SDQ4di0yNS42YzAtNDcuNiAzOC44LTg2LjQgODYuNC04Ni40IDE0LjYgMCAzOC4zIDE2IDg5LjYgMTYgNTEuNyAwIDc0LjktMTYgODkuNi0xNiA0Ny42IDAgODYuNCAzOC44IDg2LjQgODYuNFY0NjR6TTIyNCAyODhjNzkuNSAwIDE0NC02NC41IDE0NC0xNDRTMzAzLjUgMCAyMjQgMCA4MCA2NC41IDgwIDE0NHM2NC41IDE0NCAxNDQgMTQ0em0wLTI0MGM1Mi45IDAgOTYgNDMuMSA5NiA5NnMtNDMuMSA5Ni05NiA5Ni05Ni00My4xLTk2LTk2IDQzLjEtOTYgOTYtOTZ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3VzZXJzJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM0MCAzNDAnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjY2lyY2xlIGN4PScxNzAuNjInIGN5PScxMTguMjA1JyByPSc1MS43NDgnLyUzZSUzY3BhdGggZD0nTTE5MS4zNDQgMTczLjk2NGgtNDEuNjlDMTE3Ljk0NSAxNzMuOTY0IDkyIDE5OS45MSA5MiAyMzEuNjJ2NjYuMjQ3YzAgMy44MSAyLjU5IDcuMTQ2IDYuMjkyIDguMDQ0IDE5LjM5NSA0LjcwNiA0NC44NSA3LjUzMyA3Mi4yMDcgNy41MzMgMjcuNDI0IDAgNTIuMTI4LTIuODQgNzIuMTE0LTcuNTY4YTguMjkgOC4yOSAwIDAwNi4zODUtOC4wN1YyMzEuNjJjMC0zMS44NDMtMjUuODEzLTU3LjY1Ni01Ny42NTYtNTcuNjU2eicvJTNlJTNjL2clM2UlM2NwYXRoIGQ9J00yMjIuMzY4IDEyOC4yMDVjMCAuMDkyLS4wMDcuMTgzLS4wMDcuMjc1YTUxLjg3IDUxLjg3IDAgMDAxMi4yNiAxLjQ3NGMyOC41OCAwIDUxLjc0OC0yMy4xNjggNTEuNzQ4LTUxLjc0OHMtMjMuMTY4LTUxLjc1LTUxLjc0OC01MS43NWMtMjUuMDA2IDAtNDUuODcgMTcuNzM4LTUwLjY5NiA0MS4zMTcnIGZpbGw9J25vbmUnLyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTE1Ny4zMTYgNjcuNzczYy00LjgyNi0yMy41OC0yNS42OS00MS4zMTYtNTAuNjk2LTQxLjMxNi0yOC41OCAwLTUxLjc0OCAyMy4xNjgtNTEuNzQ4IDUxLjc0OHMyMy4xNjggNTEuNzQ4IDUxLjc0OCA1MS43NDhjNC4yMjUgMCA4LjMyNy0uNTE4IDEyLjI1OC0xLjQ3NCAwLS4wOTMtLjAwNy0uMTg0LS4wMDctLjI3Nm0uNjI5IDUuNzYxSDg2LjJjLTMyLjAxIDAtNTguMiAyNi4xOS01OC4yIDU4LjJ2NjUuNjg4YzAgMy44MTQgMi41OTUgNy4xNSA2LjMgOC4wNDcgMTYuMDA3IDMuODY1IDM1LjczNCA2LjQ2IDU3Ljc1IDcuMjY3Jy8lM2UlM2MvZyUzZSUzY3BhdGggZD0nTTI0OC44MyAyNzMuMTY0YzIxLjIyLS44MTQgNDEuMDA3LTMuNDI0IDU3Ljc0OC03LjMxM2E4LjI5IDguMjkgMCAwMDYuNDIzLTguMDc2VjE5MS42MmMwLTMxLjg0My0yNS44MTItNTcuNjU3LTU3LjY1NS01Ny42NTdIMjIxLjUnIGZpbGw9J25vbmUnLyUzZSUzYy9zdmclM2VcIixcbiAgICAneGluZyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAyMCclM2UlM2NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMSknIGZpbGw9J2JsYWNrJyBmaWxsLXJ1bGU9J25vbnplcm8nJTNlJTNjcGF0aCBzdHJva2U9J19fX3N0cm9rZV9fXycgZmlsbD0nX19fZmlsbF9fXycgZD0nTTEzLjE3IDE4LjQyOWMuMTU2IDAgLjI3OS0uMDU2LjM1Ny0uMTY4LjA2Ny0uMTExLjA2Ny0uMjY4LS4wMTEtLjQxM2wtMy43NS02Ljg2NGMtLjAxMiAwLS4wMTItLjAxIDAtLjAxTDE1LjY1OS41NDhjLjA3OC0uMTQ1LjA3OC0uMzAxIDAtLjQxMy0uMDY3LS4xMTEtLjE5LS4xNjctLjM0Ni0uMTY3aC0yLjY5Yy0uNDAyIDAtLjU3LjI0NS0uNzE1LjUwMkw1Ljk4MyAxMC45ODRjLjAwOC4wMTcuMTguMzQyIDMuNzgzIDYuOTQyLjEyMi4yMzUuMzM0LjUwMy43MzYuNTAzaDIuNjY4em0tMTAuMS01LjUyNWMuMzkgMCAuNTgtLjI2OC43MjUtLjUxM0M2LjQ0NSA3LjY4IDYuNjUgNy4zMjMgNi42NjIgNy4zMDJjLS4wMDUtLjAxLS4xMDMtLjE3NS0xLjgzLTMuMTkzLS4xMzMtLjIzNC0uMzM0LS41MDItLjczNi0uNTAySDEuNDI5Yy0uMTU3IDAtLjI5LjA1Ni0uMzU4LjE2OC0uMDc4LjExMS0uMDY3LjI2Ny4wMTIuNDEybDEuNzk2IDMuMTE0Yy4wMTIuMDExLjAxMi4wMTEgMCAuMDExbC0yLjgyMyA1YS4zOTcuMzk3IDAgMDAwIC40MDJjLjA2Ny4xMTIuMTkuMTkuMzQ2LjE5aDIuNjY3eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAneW91dHViZSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNyAyMSclM2UlM2NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGw9J2JsYWNrJyBmaWxsLXJ1bGU9J25vbnplcm8nJTNlJTNjcGF0aCBzdHJva2U9J19fX3N0cm9rZV9fXycgZmlsbD0nX19fZmlsbF9fXycgZD0nTTUuNDkxIDguMzM1VjUuMzFMNi44NDEuODU3SDUuNzA0bC0uNzU5IDIuOTM1TDQuMTUyLjg1N0gyLjk2OWMuMjM0LjY5Mi40OCAxLjM5NS43MjUgMi4wODcuMzU3IDEuMDM4LjU4IDEuODIuNjgxIDIuMzY2djMuMDI1aDEuMTE2em0yLjg0Ni4wNzhjLjUxMyAwIC45MDQtLjE5IDEuMTgzLS41Ny4yMTItLjI3OC4zMTMtLjcyNS4zMTMtMS4zMTZWNC41NzRjMC0uNTkyLS4xLTEuMDI3LS4zMTMtMS4zMDYtLjI3OS0uMzgtLjY3LS41Ny0xLjE4My0uNTctLjUwMiAwLS44OTMuMTktMS4xNzIuNTctLjIxMi4yNzktLjMxMi43MTQtLjMxMiAxLjMwNnYxLjk1M2MwIC41OTEuMSAxLjAyNy4zMTIgMS4zMTcuMjguMzguNjcuNTY5IDEuMTcyLjU2OXptMy4wNyAwYy4zNjggMCAuNzQ3LS4yMjMgMS4xNDktLjY5MnYuNjE0aDEuMDE1di01LjU3aC0xLjAxNXY0LjI1M2MtLjIyMy4zMjQtLjQzNS40OC0uNjM2LjQ4LS4xMzQgMC0uMjEyLS4wOS0uMjM1LS4yNDZhLjg2Ny44NjcgMCAwMS0uMDEtLjE5VjIuNzY2aC0xLjAxN3Y0LjM5N2MwIC40MDIuMDM0LjY3LjA5LjgzNy4xLjI3OS4zMzUuNDEzLjY1OC40MTN6bS0zLjA3LS45MTVjLS4zMjQgMC0uNDgtLjI2OC0uNDgtLjc4MVY0LjM3M2MwLS41MTQuMTU2LS43Ny40OC0uNzcuMzM1IDAgLjQ4LjI1Ni40OC43N3YyLjM0NGMwIC41MTMtLjE0NS43OC0uNDguNzh6bS4yMzQgMTMuMzZjMi4wNjUgMCA0LjE0MSAwIDYuMTk1LS4yMzUuODU5LS4wOSAxLjU3My0uNzM3IDEuNzg1LTEuNjE5LjI4LTEuMjUuMjktMi42MjIuMjktMy45MDYgMC0xLjI5NCAwLTIuNjU2LS4yOS0zLjkwNmEyLjEgMi4xIDAgMDAtMS43ODUtMS42M2MtMS43Ni0uMTktMy41MzctLjIxOC01LjMxLS4yMjJoLS44ODVjLTIuMDY0IDAtNC4xNCAwLTYuMTgzLjIyMi0uODcuMS0xLjU4NC43NDgtMS43OTYgMS42My0uMjggMS4yNS0uMjkgMi42MTItLjI5IDMuOTA2IDAgMS4yODQgMCAyLjY1Ni4yOSAzLjkwNi4yLjg4Mi45MjYgMS41MyAxLjc4NSAxLjYxOSAyLjA1NC4yMzQgNC4xMy4yMzQgNi4xOTQuMjM0ek0zLjgyOCAxOC42N0gyLjcxMnYtNi4zNUgxLjU0di0xLjA1aDMuNDgydjEuMDVIMy44Mjh2Ni4zNXptNy4xMS4wNzhjLS4zNTggMC0uNzA0LS4yMDEtMS4wMzgtLjYxNHYuNTM2aC0uOTk0di03LjRIOS45djIuNDIyYy4zMjMtLjQwMi42Ny0uNjAzIDEuMDM4LS42MDMuMzkgMCAuNjcuMjEyLjc5Mi42MjUuMDc4LjIyMy4xLjU5Mi4xIDEuMTA1djIuMTk5YzAgLjUxMy0uMDIyLjg4Mi0uMSAxLjExNi0uMTIzLjQwMi0uNDAyLjYxNC0uNzkyLjYxNHptMy4yMDMgMGMtLjUyNSAwLS45MTYtLjE5LTEuMjA2LS41Ny0uMjEyLS4yNjctLjMyMy0uNzAzLS4zMjMtMS4yOTR2LTEuOTNjMC0uNTkyLjEtMS4wMTcuMzEyLTEuMjk2LjI5LS4zNzkuNjgtLjU2OSAxLjE5NC0uNTY5LjUwMyAwIC44OTMuMTkgMS4xODMuNTcuMjAxLjI3OC4zMDIuNzAzLjMwMiAxLjI5NHYxLjE1aC0xLjk5OHYuOTdjMCAuNTE0LjE2Ny43Ny41MTMuNzcuMjQ2IDAgLjM5LS4xMzMuNDQ3LS40MDEuMDEtLjA1Ni4wMjItLjI4LjAyMi0uNjhoMS4wMTZ2LjM5N2EyLjM2IDIuMzYgMCAwMS0uMDIzLjM5NSAxLjI5IDEuMjkgMCAwMS0uMjM0LjYwMmMtLjI2OC4zOS0uNjguNTkyLTEuMjA1LjU5MnptLTguMjM3IDBjLS4zMjQgMC0uNTU4LS4xMzQtLjY0Ny0uNDEzLS4wNTYtLjE2OC0uMDktLjQyNC0uMDktLjgxNXYtNC4zNjRoLjk5NHY0LjA2M2MwIC4yMzQgMCAuMzU3LjAxLjM5LjAyMy4xNTcuMTAxLjIzNS4yMzUuMjM1LjIwMSAwIC40MTMtLjE1Ny42MzYtLjQ2OXYtNC4yMTloLjk5NHY1LjUxNGgtLjk5NHYtLjYwM2MtLjQwMS40NTgtLjc4LjY4LTEuMTM4LjY4em00LjQ5OC0uOTA0Yy4yOSAwIC40MzUtLjI0Ni40MzUtLjc0OHYtMi4zNTVjMC0uNDkxLS4xNDUtLjc0OC0uNDM1LS43NDgtLjE2OCAwLS4zMzUuMDc4LS41MDIuMjQ2djMuMzZjLjE2Ny4xNjcuMzM0LjI0NS41MDIuMjQ1em00LjIwNy0yLjU3OHYtLjUxNGMwLS41MDItLjE2Ny0uNzU5LS41MDItLjc1OS0uMzM1IDAtLjUwMi4yNTctLjUwMi43NnYuNTEzaDEuMDA0eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIlxuKTtcblxuJHNpemVzOiAoXG4gICAgJ2FsZXJ0JzogKFxuICAgICAgICAnd2lkdGgnOiA1NzZweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnYWxsLWFycm93LWJvbGQnOiAoXG4gICAgICAgICd3aWR0aCc6IDE0cHgsXG4gICAgICAgICdoZWlnaHQnOiAxNHB4XG4gICAgKSxcbiAgICAnYWxsLWFycm93LXNlbWknOiAoXG4gICAgICAgICd3aWR0aCc6IDEzcHgsXG4gICAgICAgICdoZWlnaHQnOiAxM3B4XG4gICAgKSxcbiAgICAnYWxsLWFycm93JzogKFxuICAgICAgICAnd2lkdGgnOiAxNHB4LFxuICAgICAgICAnaGVpZ2h0JzogMTRweFxuICAgICksXG4gICAgJ2Fycm93X2J1bGt5JzogKFxuICAgICAgICAnd2lkdGgnOiAzMTIuNzZweCxcbiAgICAgICAgJ2hlaWdodCc6IDI2Ni44NnB4XG4gICAgKSxcbiAgICAnYXJyb3dfdGhpbic6IChcbiAgICAgICAgJ3dpZHRoJzogMjA2cHgsXG4gICAgICAgICdoZWlnaHQnOiAzMjNweFxuICAgICksXG4gICAgJ2JhY2tfdG9fdG9wJzogKFxuICAgICAgICAnd2lkdGgnOiAxNnB4LFxuICAgICAgICAnaGVpZ2h0JzogMTZweFxuICAgICksXG4gICAgJ2Jsb2cnOiAoXG4gICAgICAgICd3aWR0aCc6IDE4cHgsXG4gICAgICAgICdoZWlnaHQnOiAxOHB4XG4gICAgKSxcbiAgICAnYm9va21hcmsnOiAoXG4gICAgICAgICd3aWR0aCc6IDM4NHB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdjYWxlbmRhci1hbHQnOiAoXG4gICAgICAgICd3aWR0aCc6IDQ0OHB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdjaGFydC1saW5lLWRvd24nOiAoXG4gICAgICAgICd3aWR0aCc6IDUxMnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdjaGV2cm9uX2Nsb3NlZCc6IChcbiAgICAgICAgJ3dpZHRoJzogMTc2LjM4cHgsXG4gICAgICAgICdoZWlnaHQnOiAzMTIuNzZweFxuICAgICksXG4gICAgJ2NoZXZyb25fb3Blbic6IChcbiAgICAgICAgJ3dpZHRoJzogNDUxLjg0NnB4LFxuICAgICAgICAnaGVpZ2h0JzogNDUxLjg0N3B4XG4gICAgKSxcbiAgICAnY2hldnJvbi1kb3duJzogKFxuICAgICAgICAnd2lkdGgnOiA0NTEuODQ3cHgsXG4gICAgICAgICdoZWlnaHQnOiA0NTEuODQ3cHhcbiAgICApLFxuICAgICdjaGV2cm9uLXJpZ2h0JzogKFxuICAgICAgICAnd2lkdGgnOiAxODUuMzQzcHgsXG4gICAgICAgICdoZWlnaHQnOiAxODUuMzQzcHhcbiAgICApLFxuICAgICdjbG9zZSc6IChcbiAgICAgICAgJ3dpZHRoJzogMjJweCxcbiAgICAgICAgJ2hlaWdodCc6IDIzcHhcbiAgICApLFxuICAgICdjb21tZW50JzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnY29tcGFzcyc6IChcbiAgICAgICAgJ3dpZHRoJzogNDk2cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2NvbnRhY3QtZGV0YWlscyc6IChcbiAgICAgICAgJ3dpZHRoJzogMjFweCxcbiAgICAgICAgJ2hlaWdodCc6IDE5cHhcbiAgICApLFxuICAgICdjb3VudHJ5JzogKFxuICAgICAgICAnd2lkdGgnOiAzNnB4LFxuICAgICAgICAnaGVpZ2h0JzogMjFweFxuICAgICksXG4gICAgJ2N1c3RvbV9zb2NpYWxfbWVkaWFfbGluayc6IChcbiAgICAgICAgJ3dpZHRoJzogMzUyLjc3OXB4LFxuICAgICAgICAnaGVpZ2h0JzogMzgwcHhcbiAgICApLFxuICAgICdkb2N1bWVudCc6IChcbiAgICAgICAgJ3dpZHRoJzogMzA5cHgsXG4gICAgICAgICdoZWlnaHQnOiAzODFweFxuICAgICksXG4gICAgJ2Rvd24nOiAoXG4gICAgICAgICd3aWR0aCc6IDE4cHgsXG4gICAgICAgICdoZWlnaHQnOiAxMnB4XG4gICAgKSxcbiAgICAnZG93bmxvYWQnOiAoXG4gICAgICAgICd3aWR0aCc6IDI2MnB4LFxuICAgICAgICAnaGVpZ2h0JzogMzU2cHhcbiAgICApLFxuICAgICdlZ3VpZGUnOiAoXG4gICAgICAgICd3aWR0aCc6IDMwOXB4LFxuICAgICAgICAnaGVpZ2h0JzogMzgxcHhcbiAgICApLFxuICAgICdleHRlcm5hbC1hbHQnOiAoXG4gICAgICAgICd3aWR0aCc6IDUxMnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdleWUnOiAoXG4gICAgICAgICd3aWR0aCc6IDU3NnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdmYWNlYm9vayc6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2ZpbGUtYWx0JzogKFxuICAgICAgICAnd2lkdGgnOiAzODRweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnZmxhZyc6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2ZsYW1lJzogKFxuICAgICAgICAnd2lkdGgnOiAzODguMDU1cHgsXG4gICAgICAgICdoZWlnaHQnOiAzODguMDU1cHhcbiAgICApLFxuICAgICdnZW0nOiAoXG4gICAgICAgICd3aWR0aCc6IDU3NnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdnbG9iZSc6IChcbiAgICAgICAgJ3dpZHRoJzogMzMzLjQ1cHgsXG4gICAgICAgICdoZWlnaHQnOiAzMzMuNDNweFxuICAgICksXG4gICAgJ2xhbmd1YWdlLWFycm93JzogKFxuICAgICAgICAnd2lkdGgnOiAzNnB4LFxuICAgICAgICAnaGVpZ2h0JzogMjFweFxuICAgICksXG4gICAgJ2xhbmd1YWdlJzogKFxuICAgICAgICAnd2lkdGgnOiAyNXB4LFxuICAgICAgICAnaGVpZ2h0JzogMTNweFxuICAgICksXG4gICAgJ2xhd25vdyc6IChcbiAgICAgICAgJ3dpZHRoJzogMzgyLjRweCxcbiAgICAgICAgJ2hlaWdodCc6IDI1NC4xM3B4XG4gICAgKSxcbiAgICAnbGF5ZXJzJzogKFxuICAgICAgICAnd2lkdGgnOiAyOTYuOTc5cHgsXG4gICAgICAgICdoZWlnaHQnOiAyOTYuOTc5cHhcbiAgICApLFxuICAgICdsaW5rZWRpbic6IChcbiAgICAgICAgJ3dpZHRoJzogMThweCxcbiAgICAgICAgJ2hlaWdodCc6IDE3cHhcbiAgICApLFxuICAgICdsaXN0JzogKFxuICAgICAgICAnd2lkdGgnOiAyMTVweCxcbiAgICAgICAgJ2hlaWdodCc6IDE2N3B4XG4gICAgKSxcbiAgICAnbG9hZGVyJzogKFxuICAgICAgICAnd2lkdGgnOiAxMDBweCxcbiAgICAgICAgJ2hlaWdodCc6IDEwMHB4XG4gICAgKSxcbiAgICAnbG9jYXRpb24nOiAoXG4gICAgICAgICd3aWR0aCc6IDI5Mi4wOXB4LFxuICAgICAgICAnaGVpZ2h0JzogNDAyLjZweFxuICAgICksXG4gICAgJ21haWxfZGFyayc6IChcbiAgICAgICAgJ3dpZHRoJzogNDEwcHgsXG4gICAgICAgICdoZWlnaHQnOiAzMzMuMDNweFxuICAgICksXG4gICAgJ21haWwnOiAoXG4gICAgICAgICd3aWR0aCc6IDQxMHB4LFxuICAgICAgICAnaGVpZ2h0JzogMzMzLjAzcHhcbiAgICApLFxuICAgICdtZW51JzogKFxuICAgICAgICAnd2lkdGgnOiAyMDAuMjFweCxcbiAgICAgICAgJ2hlaWdodCc6IDE2N3B4XG4gICAgKSxcbiAgICAnbmV3cyc6IChcbiAgICAgICAgJ3dpZHRoJzogMzQ4LjY3cHgsXG4gICAgICAgICdoZWlnaHQnOiAzODEuMzNweFxuICAgICksXG4gICAgJ25ld3NsZXR0ZXInOiAoXG4gICAgICAgICd3aWR0aCc6IDQwOXB4LFxuICAgICAgICAnaGVpZ2h0JzogMzgxLjM3cHhcbiAgICApLFxuICAgICduZXdzcGFwZXInOiAoXG4gICAgICAgICd3aWR0aCc6IDU3NnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICduby12aWRlbyc6IChcbiAgICAgICAgJ3dpZHRoJzogMTAwMHB4LFxuICAgICAgICAnaGVpZ2h0JzogMTAwMHB4XG4gICAgKSxcbiAgICAncGFwZXItcGxhbmUnOiAoXG4gICAgICAgICd3aWR0aCc6IDUxMnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdwaG9uZV9kYXJrJzogKFxuICAgICAgICAnd2lkdGgnOiAzNDVweCxcbiAgICAgICAgJ2hlaWdodCc6IDM0NXB4XG4gICAgKSxcbiAgICAncGhvbmUnOiAoXG4gICAgICAgICd3aWR0aCc6IDM0NXB4LFxuICAgICAgICAnaGVpZ2h0JzogMzQ1cHhcbiAgICApLFxuICAgICdwaW4nOiAoXG4gICAgICAgICd3aWR0aCc6IDMxMHB4LFxuICAgICAgICAnaGVpZ2h0JzogMzEwcHhcbiAgICApLFxuICAgICdwcmludCc6IChcbiAgICAgICAgJ3dpZHRoJzogMzg5LjMzcHgsXG4gICAgICAgICdoZWlnaHQnOiAzODAuMjVweFxuICAgICksXG4gICAgJ3JhZGlvLWNoZWNrZWQnOiAoXG4gICAgICAgICd3aWR0aCc6IDk2cHgsXG4gICAgICAgICdoZWlnaHQnOiA5NnB4XG4gICAgKSxcbiAgICAncmFkaW8tdW5jaGVja2VkJzogKFxuICAgICAgICAnd2lkdGgnOiA5NnB4LFxuICAgICAgICAnaGVpZ2h0JzogOTZweFxuICAgICksXG4gICAgJ3JlZ3pvbmUnOiAoXG4gICAgICAgICd3aWR0aCc6IDcycHgsXG4gICAgICAgICdoZWlnaHQnOiA3MnB4XG4gICAgKSxcbiAgICAncmVwbHknOiAoXG4gICAgICAgICd3aWR0aCc6IDMxNS4wM3B4LFxuICAgICAgICAnaGVpZ2h0JzogMzAxLjFweFxuICAgICksXG4gICAgJ3JldHdlZXQnOiAoXG4gICAgICAgICd3aWR0aCc6IDM2MXB4LFxuICAgICAgICAnaGVpZ2h0JzogMTk4cHhcbiAgICApLFxuICAgICdyaWdodC1hcnJvdyc6IChcbiAgICAgICAgJ3dpZHRoJzogMzEuNDlweCxcbiAgICAgICAgJ2hlaWdodCc6IDMxLjQ5cHhcbiAgICApLFxuICAgICdzZWFyY2gnOiAoXG4gICAgICAgICd3aWR0aCc6IDE1cHgsXG4gICAgICAgICdoZWlnaHQnOiAxNnB4XG4gICAgKSxcbiAgICAnc2hhcmVfYWx0JzogKFxuICAgICAgICAnd2lkdGgnOiAyNzUuMDI2cHgsXG4gICAgICAgICdoZWlnaHQnOiAyNjEuMDk4cHhcbiAgICApLFxuICAgICdzaGFyZSc6IChcbiAgICAgICAgJ3dpZHRoJzogMzEzcHgsXG4gICAgICAgICdoZWlnaHQnOiAzMTlweFxuICAgICksXG4gICAgJ3N0YXInOiAoXG4gICAgICAgICd3aWR0aCc6IDU3NnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdzdWItaW5kaWNhdG9yJzogKFxuICAgICAgICAnd2lkdGgnOiA4cHgsXG4gICAgICAgICdoZWlnaHQnOiA1cHhcbiAgICApLFxuICAgICdzdWJtZW51LWluZGljYXRvcic6IChcbiAgICAgICAgJ3dpZHRoJzogOXB4LFxuICAgICAgICAnaGVpZ2h0JzogMTdweFxuICAgICksXG4gICAgJ3N1bic6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ3RhcmdldCc6IChcbiAgICAgICAgJ3dpZHRoJzogMjczLjUxcHgsXG4gICAgICAgICdoZWlnaHQnOiAyNzMuNTFweFxuICAgICksXG4gICAgJ3RodW1ic191cCc6IChcbiAgICAgICAgJ3dpZHRoJzogMzIycHgsXG4gICAgICAgICdoZWlnaHQnOiAzMzNweFxuICAgICksXG4gICAgJ3R3aXR0ZXInOiAoXG4gICAgICAgICd3aWR0aCc6IDMzNS4zM3B4LFxuICAgICAgICAnaGVpZ2h0JzogMjgzLjMzcHhcbiAgICApLFxuICAgICd1cGxvYWQnOiAoXG4gICAgICAgICd3aWR0aCc6IDI2MXB4LFxuICAgICAgICAnaGVpZ2h0JzogMzU4cHhcbiAgICApLFxuICAgICd1c2VyX2NhcmQnOiAoXG4gICAgICAgICd3aWR0aCc6IDQwOHB4LFxuICAgICAgICAnaGVpZ2h0JzogMzIycHhcbiAgICApLFxuICAgICd1c2VyJzogKFxuICAgICAgICAnd2lkdGgnOiA0NDhweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAndXNlcnMnOiAoXG4gICAgICAgICd3aWR0aCc6IDM0MHB4LFxuICAgICAgICAnaGVpZ2h0JzogMzQwcHhcbiAgICApLFxuICAgICd4aW5nJzogKFxuICAgICAgICAnd2lkdGgnOiAxNnB4LFxuICAgICAgICAnaGVpZ2h0JzogMjBweFxuICAgICksXG4gICAgJ3lvdXR1YmUnOiAoXG4gICAgICAgICd3aWR0aCc6IDE3cHgsXG4gICAgICAgICdoZWlnaHQnOiAyMXB4XG4gICAgKVxuKTtcblxuJHZhcmlhYmxlczogKFxuICAgICdhbGwtYXJyb3cnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdib29rbWFyayc6IChcbiAgICAgICAgJ2ZpbGwnOiAnIzEzMjk0YSdcbiAgICApLFxuICAgICdjYWxlbmRhci1hbHQnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcicsXG4gICAgICAgICdzdHJva2UnOiAnJ1xuICAgICksXG4gICAgJ2NoYXJ0LWxpbmUtZG93bic6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgJ3N0cm9rZSc6ICcnXG4gICAgKSxcbiAgICAnY2hldnJvbl9vcGVuJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnY29tbWVudCc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2NvbXBhc3MnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdjb250YWN0LWRldGFpbHMnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdjdXN0b21fc29jaWFsX21lZGlhX2xpbmsnOiAoXG4gICAgICAgICdzdHJva2UnOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2V4dGVybmFsLWFsdCc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2V5ZSc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2ZpbGUtYWx0JzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnZmxhZyc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2ZsYW1lJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnZ2VtJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnbGF3bm93JzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnbGlua2VkaW4nOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdtYWlsX2RhcmsnOiAoXG4gICAgICAgICdmaWxsJzogJ25vbmUnLFxuICAgICAgICAnc3Ryb2tlJzogJyMxMzI5NGEnXG4gICAgKSxcbiAgICAnbWFpbCc6IChcbiAgICAgICAgJ3N0cm9rZSc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnbmV3c3BhcGVyJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAncGFwZXItcGxhbmUnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdwaG9uZV9kYXJrJzogKFxuICAgICAgICAnZmlsbCc6ICdub25lJyxcbiAgICAgICAgJ3N0cm9rZSc6ICcjMTMyOTRhJ1xuICAgICksXG4gICAgJ3Bob25lJzogKFxuICAgICAgICAnc3Ryb2tlJzogJ2N1cnJlbnRDb2xvcicsXG4gICAgICAgICdmaWxsJzogJ25vbmUnXG4gICAgKSxcbiAgICAncmVnem9uZSc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ3N0YXInOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdzdW4nOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICd0d2l0dGVyJzogKFxuICAgICAgICAnc3Ryb2tlJzogJ2N1cnJlbnRDb2xvcicsXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICd1c2VyJzogKFxuICAgICAgICAnZmlsbCc6ICcjMTMyOTRhJ1xuICAgICksXG4gICAgJ3hpbmcnOiAoXG4gICAgICAgICdzdHJva2UnOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ3lvdXR1YmUnOiAoXG4gICAgICAgICdzdHJva2UnOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgIClcbik7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS93YWxkZW1hcmZtL3Nhc3Mtc3ZnLXVyaS9ibG9iL3YxLjAuMC9fc3ZnLXVyaS5zY3NzXG5AZnVuY3Rpb24gc3ByaXRlLXN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuICAgICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gICAgQGlmIHR5cGUtb2YoJHJlcGxhY2UpID09ICdudWxsJyB7XG4gICAgICAgICRyZXBsYWNlOiAnJztcbiAgICB9XG5cbiAgICBAaWYgKCAkaW5kZXggKSB7XG4gICAgICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzcHJpdGUtc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkc3RyaW5nO1xufVxuXG5AZnVuY3Rpb24gc3ByaXRlLXN2Zy11cmkoJHZhbHVlKSB7XG4gICAgJGVuY29kZWQ6ICcnO1xuICAgICRzbGljZTogMjAwMDtcbiAgICAkaW5kZXg6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGNlaWwoc3RyLWxlbmd0aCgkdmFsdWUpIC8gJHNsaWNlKSB7XG4gICAgICAgICRjaHVuazogc3RyLXNsaWNlKCR2YWx1ZSwgJGluZGV4LCAkaW5kZXggKyAkc2xpY2UgLSAxKTtcbiAgICAgICAgJGNodW5rOiBzcHJpdGUtc3RyLXJlcGxhY2UoJGNodW5rLCAnXCInLCBcIidcIik7XG4gICAgICAgICRjaHVuazogc3ByaXRlLXN0ci1yZXBsYWNlKCRjaHVuaywgJzwnLCAnJTNDJyk7XG4gICAgICAgICRjaHVuazogc3ByaXRlLXN0ci1yZXBsYWNlKCRjaHVuaywgJz4nLCAnJTNFJyk7XG4gICAgICAgICRjaHVuazogc3ByaXRlLXN0ci1yZXBsYWNlKCRjaHVuaywgJyYnLCAnJTI2Jyk7XG4gICAgICAgICRjaHVuazogc3ByaXRlLXN0ci1yZXBsYWNlKCRjaHVuaywgJyMnLCAnJTIzJyk7XG4gICAgICAgICRlbmNvZGVkOiAjeyRlbmNvZGVkfSN7JGNodW5rfTtcbiAgICAgICAgJGluZGV4OiAkaW5kZXggKyAkc2xpY2U7XG4gICAgfVxuXG4gICAgQHJldHVybiAkZW5jb2RlZDtcbn1cblxuQG1peGluIHNwcml0ZSgkbmFtZSwgJHVzZXItdmFyaWFibGVzOiAoKSwgJGluY2x1ZGUtc2l6ZTogZmFsc2UpIHtcbiAgICAkc3ByaXRlOiBtYXAtZ2V0KCRzcHJpdGVzLCAkbmFtZSk7XG5cbiAgICAvLyBJbmplY3QgdmFyaWFibGVzXG4gICAgJGRlZmF1bHQtdmFyaWFibGVzOiBtYXAtZ2V0KCR2YXJpYWJsZXMsICRuYW1lKTtcbiAgICBAaWYgdHlwZS1vZigkZGVmYXVsdC12YXJpYWJsZXMpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluIG1hcC1tZXJnZSgkZGVmYXVsdC12YXJpYWJsZXMsICR1c2VyLXZhcmlhYmxlcykge1xuICAgICAgICAgICAgQGlmICggbm90IG1hcC1oYXMta2V5KCRkZWZhdWx0LXZhcmlhYmxlcywgJGtleSkgKSB7XG4gICAgICAgICAgICAgICAgQHdhcm4gJ1Nwcml0ZSBcXCcjeyRuYW1lfVxcJyBkb2VzIG5vdCBzdXBwb3J0IHZhcmlhYmxlIG5hbWVkIFxcJyN7JGtleX1cXCcnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAkc3ByaXRlOiBzcHJpdGUtc3RyLXJlcGxhY2UoJHNwcml0ZSwgJ19fXyN7JGtleX1fX18nLCBzcHJpdGUtc3ZnLXVyaShxdW90ZSgjeyR2YWx1ZX0pKSk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHVzZXItdmFyaWFibGVzKSA9PSAnbWFwJyB7XG4gICAgICAgIEB3YXJuICdTcHJpdGUgXFwnI3skbmFtZX1cXCcgZG9lcyBub3QgY29udGFpbiBhbnkgdmFyaWFibGVzJztcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiB1cmwoJHNwcml0ZSkgY2VudGVyIG5vLXJlcGVhdDtcblxuICAgIEBpZiAkaW5jbHVkZS1zaXplIHtcbiAgICAgICAgJHNpemU6IG1hcC1nZXQoJHNpemVzLCAkbmFtZSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogbWFwLWdldCgkc2l6ZSwgd2lkdGgpIG1hcC1nZXQoJHNpemUsIGhlaWdodCk7XG4gICAgfVxufVxuIiwiQG1peGluIF9fdGlsZXNHcmlkXzMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgLnRpbGUge1xuICAgIC50aWxlX19oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXgtaGVpZ2h0OiA3N3B4O1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgd29yZC13cmFwOiBpbmhlcml0O1xuICAgIH1cbiAgICBcbiAgICAuc2hvdy1hbGw6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBsaW5lYXI7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgJi50aWxlLS1ncmF5IHtcbiAgICAgIC50aWxlX19oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrLWJsdWU7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGlsZV9fbW9yZSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHJlc2V0XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwJTtcblxuICAgICAgLnRpbGVfX2ltYWdlIHtcbiAgICAgICAgLy8gcmVzZXRcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAvLyBzaXplXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgLy8gcGljdHVyZVxuICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRpbGVfX2NvbnRlbnQge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuXG4gICAgICAgIC50aWxlX19oZWFkaW5nIHtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50aWxlX19tb3JlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXdpZGUtc3RhcnQpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUgLyAzKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9fdGlsZXNHcmlkXzNfdGlsZXNTcGFjZSgkdG9wLCAkcmlnaHQsICRib3R0b20sICRsZWZ0KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgLnRpbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbTtcblxuICAgICAgLnRpbGVfX2ltYWdlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0O1xuICAgICAgfVxuXG4gICAgICAudGlsZV9fY29udGVudCB7XG4gICAgICAgIGxlZnQ6ICRsZWZ0O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skcmlnaHQgKyAkbGVmdH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGlsZXNHcmlkX3RvcFB1YmxpY2F0aW9ucyB7XG4gIEBpbmNsdWRlIF9fdGlsZXNHcmlkXzM7XG4gIEBpbmNsdWRlIF9fdGlsZXNHcmlkXzNfdGlsZXNTcGFjZSgwLCA2cHgsIDZweCwgJHNwYWNlKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgcGFkZGluZzogMCAxNXB4O1xufVxuXG5AbWl4aW4gdGlsZXNHcmlkX19vbmxpbmVTZXJ2aWNlcyB7XG4gIEBpbmNsdWRlIF9fdGlsZXNHcmlkXzM7XG4gIEBpbmNsdWRlIF9fdGlsZXNHcmlkXzNfdGlsZXNTcGFjZSgwLCAycHgsIDJweCwgMCk7XG59XG5cbkBtaXhpbiB0aWxlc0dyaWRfX2VHdWlkZSB7XG4gIEBpbmNsdWRlIF9fdGlsZXNHcmlkXzM7XG4gIEBpbmNsdWRlIF9fdGlsZXNHcmlkXzNfdGlsZXNTcGFjZSgwLCAycHgsIDJweCwgMCk7XG5cbiAgLnRpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAudGlsZV9faW1hZ2Uge1xuICAgICAgZmxleDogMCAwIDEwMHB4O1xuXG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpbGVfX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG4gICAgICAudGlsZV9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuXG4gICAgICAudGlsZV9fZGF0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAudGlsZSAudGlsZV9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBjb2xvcjogIzY2NjtcbiAgICAgIGhlaWdodDogMTQwcHg7XG5cbiAgICAgIC50aWxlX190aXRsZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgaGVpZ2h0OiAzZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC50aWxlX19kYXRlIHtcbiAgICAgICAgbWFyZ2luOiAxMnB4IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aWxlc0dyaWRfX2luc2lnaHRzIHtcbiAgQGluY2x1ZGUgX190aWxlc0dyaWRfMztcbiAgQGluY2x1ZGUgX190aWxlc0dyaWRfM190aWxlc1NwYWNlKDAsIDJweCwgMnB4LCAwKTtcblxuICAudGlsZSAudGlsZV9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogIzAwNTE1NztcbiAgICAuc2hvdy1hbGwge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4iLCIucGFydG5lci1pbnRlcnZpZXcge1xuXG4gIC5tYWluLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbnRhY3QtZm9ybSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5sZWZ0IHtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc29saWQtZ3JheSBuby1yZXBlYXQgc2Nyb2xsIGNlbnRlciBjZW50ZXIgO1xuICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICBmbGV4LWJhc2lzOiA2Ni42NiU7XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDEpIHtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgZmxleC1iYXNpczogMzMuMzMlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4ge1xuICAgICAgcGFkZGluZzogMjRweCA0MnB4O1xuICAgIH1cblxuICAgIC5rZXktY29udGFjdCB7XG4gICAgICBoMyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLnBlcnNvbi1pbWFnZS1waG90byB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnBlcnNvbi1pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgfVxuXG4gICAgICAucGVyc29uLXRleHQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnBlcnNvbi1hY3Rpb25zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY2Yge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuY29sdW1uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTAwJTtcbiAgfVxuXG4gIC5sZWZ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDY2LjY3JTtcbiAgICB9XG5cbiAgICAuZ2VuZXJhbCB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAyNHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yaWdodCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2U7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAzMy4zMiU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAua2V5LWNvbnRhY3Qge1xuICAgICAgaDMge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1hbGwge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG5cbiAgQGluY2x1ZGUgZmx5b3V0LW1lbnU7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSB7XG4gIG92ZXJmbG93OiB1bnNldDtcblxuICAucGFnZS1ib3hfX3N1YnBhZ2Utc2lkZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZGFyay1ibHVlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRzcGFjZTtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG5cbiAgICAubGlzdGluZ19fbG9hZC1tb3JlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIC5idG4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JlZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpZGViYXItYmxvY2sudGFncyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcblxuICAgICAgLnNob3ctYWxsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhZ2UtYm94X19lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZGFyay1ibHVlO1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cblxuICAucGFnZS1ib3hfX3N1YnBhZ2UtYm9keSB7XG4gICAgcGFkZGluZzogJHNwYWNlO1xuICAgIG92ZXJmbG93OiB1bnNldDtcblxuICAgIC50aXRsZSB7XG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJvZHkge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjcxNDI4NTcxNDM7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2UtYm94X19zdWJwYWdlLWNoaWxkcmVuIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC5zdWJzZWN0aW9uLWxpbmsge1xuICAgICAgJjpudGgtY2hpbGQoMik6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJzZWN0aW9uIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIGFuZCAobWF4LXdpZHRoOiAkZGVzay13aWRlLXN0YXJ0KSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIC5zdWJzZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgICAgICBtYXJnaW46ICRzcGFjZS8yIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjcxNDI4NTcxNDM7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDg0cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDg0cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlLWFmdGVyKCk7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYXJrLWdyZWVuO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUtYWZ0ZXIoJ2Rvd24nKTtcbiAgICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24ge1xuICBvdmVyZmxvdzogdW5zZXQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICBtaW4taGVpZ2h0OiAzNDBweDtcbiAgfVxuXG4gIGgyLnRpdGxlIHtcbiAgICBwYWRkaW5nOiAkc3BhY2UgMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICBwYWRkaW5nOiAkc3BhY2U7XG4gICAgfVxuICB9XG5cbiAgaDMuc3VidGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogJHNwYWNlO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2U7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICAuYm9keSB7XG4gICAgcGFkZGluZzogJHNwYWNlIDA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgcGFkZGluZzogJHNwYWNlO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG5cbiAgLmdlbmVyYWwtcGFnZV9faGVhZCB7XG4gICAgcGFkZGluZzogdW5zZXQ7XG4gICAgbWFyZ2luOiB1bnNldDtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLnNpZGViYXItYmxvY2sgLnRhZ3Mge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gIH1cblxuICAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgZmx5b3V0LW1lbnU7XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDA7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAucGFnZS1ib3gtLXN1YnNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDEycHggMDtcblxuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgcGFkZGluZzogMjRweDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzbikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzKSB+ICoge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMge1xuICAgIGgzIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5wZXJzb24taW1hZ2UtcGhvdG8ge1xuICAgICAgZmxvYXQ6IHVuc2V0O1xuICAgIH1cblxuICAgIC5wZXJzb24tdGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLnBlcnNvbi1hY3Rpb25zIHtcbiAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3RpbmdfX2xvYWQtbW9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2hvdy1hbGwge1xuICAgICAgY29sb3I6ICM2NjY7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1leHBlcnRpc2Uge1xuXG4gICAgLnRhZ3Mge1xuICAgICAgLnRhZyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjcxNDI4NTcxNDM7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdy1hbGwge1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlYmFyLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5wYWdlLWJveC0tc3Vic2VjdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY2xlYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgIH1cblxuICAgICAgLnBlcnNvbi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDYwJTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBlcnNvbi1pbWFnZS1waG90byB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1leHBlcnRpc2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2std2lkZS1zdGFydCkge1xuICAgIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1jb250YWN0cyB7XG4gICAgICAucGVyc29uLXRleHQge1xuICAgICAgICB3aWR0aDogNjQlO1xuICAgICAgfVxuXG4gICAgICAucGVyc29uLWltYWdlLXBob3RvIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/