@charset "UTF-8";
/* ==========================================================================
   INUITCSS
   ========================================================================== */
/**
 * inuitcss, by @csswizardry
 *
 * github.com/inuitcss | inuitcss.com
 */
/**
 * This is an example inuitcss manifest file. DO NOT MODIFY THIS FILE DIRECTLY.
 * Instead, copy and paste it into your own CSS directory and make additions,
 * extensions, and modifications there.
 */
/**
 * CONTENTS
 *
 * SETTINGS
 * Config...............Project-level configuration and feature switches.
 * Core.................inuitcss’ core and setup settings.
 * Global...............Project-wide variables and settings.
 *
 * TOOLS
 * Rem..................Tools for converting pixel inputs into their rem
 *                      equivalents.
 * Font-size............A mixin which guarantees baseline-friendly line-heights.
 * Scaling-font-size....Generate a scaling font-size and baseline-compatible
 *                      line-height based on vw units.
 * Clearfix.............Micro clearfix mixin.
 * Hidden...............Mixin for hiding elements.
 * Sass MQ..............inuitcss’ default media query manager.
 * Hocus................Generate `:hover` and `:focus` styles in one go.
 * Hyphenate............Mixin to quickly apply hyphenation.
 * Placeholder..........Mixin to quickily style placeholders.
 * Scrollbars...........Mixin to customize scrollbars.
 * Aliases..............Reassing variables and mixins to shorter ones.
 *
 * GENERIC
 * Box-sizing...........Better default `box-sizing`.
 * Normalize.css........A level playing field using @necolas’ Normalize.css.
 * Reset................A tiny reset to complement Normalize.css.
 * Shared...............Sensibly and tersely share some global commonalities
 *                      (particularly useful when managing vertical rhythm).
 *
 * ELEMENTS
 * Page.................Set up our document’s default `font-size` and
 *                      `line-height`.
 * Headings.............Very minimal (i.e. only font-size information) for
 *                      headings 1 through 6.
 * Images...............Base image styles.
 * Tables...............Simple table styles.
 * Breakpoints..........CSS breakpoints for use in JS.
 *
 * OBJECTS
 * Wrapper..............Page constraint object.
 * Layout...............Generic layout module.
 * Media................Image- and text-like content side by side. The
 *                      poster-child of OOCSS.
 * Flag.................Table-layout-based advancement on the Media object.
 * List-bare............Lists with no bullets or indents.
 * List-inline..........A list whose items all site in a line.
 * Box..................Simple boxing abstraction.
 * Block................Image-on-top-of-text object.
 * Ratio................A container for maintaining aspect ratio of content.
 * Crop.................Provide a cropping context for media (images, etc.).
 * Tables...............Classes for manipulating `table`s.
 * Pack.................Pack items into available horizontal space.
 * Tabs.................Simple tabs object.
 *
 * COMPONENTS
 * Buttons..............An example button component, and how it fits into the
 *                      inuitcss framework.
 * Nav main.............Main navigation styles
 * Page-head............Main page head styling.
 * Form.................Basic form component.
 *
 * UTILITIES
 * Clearfix.............Bind our clearfix onto a utility class.
 * Widths...............Simple width helper classes.
 * Headings.............Reassigning our heading styles to helper classes.
 * Spacing..............Nudge bits of the DOM around with these spacing
 *                      classes.
 * Print................Reset-like styles taken from the HTML5 Boilerplate.
 * Hide.................Helper classes to hide content.
 * Responsive Hide......Responsive hide helpers.
 * Text Align...........Text alignment helpers.
 * Icons................Styling for SVG Sprites.
 */
/* ==========================================================================
   #LIST-BARE
   ========================================================================== */
/**
 * Strip list-like appearance from lists by removing their bullets, and any
 * indentation.
 */
/* ==========================================================================
   #BOX-SIZING
   ========================================================================== */
/**
 * More sensible default box-sizing:
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 */
html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none; }

/* ==========================================================================
   #RESET
   ========================================================================== */
/**
 * A very simple reset that sits on top of Normalize.css.
 */
body,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, dd, ol, ul,
figure,
hr,
fieldset, legend {
  margin: 0;
  padding: 0; }

/**
 * Remove trailing margins from nested lists.
 */
li > ol,
li > ul {
  margin-bottom: 0; }

/**
 * Remove default table spacing.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/**
 * 1. Reset Chrome and Firefox behaviour which sets a `min-width: min-content;`
 *    on fieldsets.
 */
fieldset {
  min-width: 0;
  /* [1] */
  border: 0; }

/* ==========================================================================
   #SHARED
   ========================================================================== */
/**
 * Shared declarations for certain elements.
 */
/**
 * Always declare margins in the same direction:
 * csswizardry.com/2012/06/single-direction-margin-declarations
 */
/* stylelint-disable selector-list-comma-newline-after */
address,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, ol, ul,
figure,
hr,
table,
fieldset {
  margin-bottom: 21px;
  margin-bottom: 1.5rem; }

/**
 * Consistent indentation for lists.
 */
dd, ol, ul {
  margin-left: 21px;
  margin-left: 1.5rem; }

/* stylelint-enable selector-list-comma-newline-after */
/* ==========================================================================
   #PAGE
   ========================================================================== */
/**
 * Simple page-level setup.
 *
 * 1. Set the default `font-size` and `line-height` for the entire project,
 *    sourced from our default variables. The `font-size` is calculated to exist
 *    in ems, the `line-height` is calculated to exist unitlessly.
 * 2. Force scrollbars to always be visible to prevent awkward ‘jumps’ when
 *    navigating between pages that do/do not have enough content to produce
 *    scrollbars naturally.
 * 3. Ensure the page always fills at least the entire height of the viewport.
 */
html {
  font-size: 0.875em;
  /* [1] */
  line-height: 1.5;
  /* [1] */
  overflow-y: scroll;
  /* [2] */
  min-height: 100%;
  /* [3] */ }

/* ==========================================================================
   #PAGE
   ========================================================================== */
/**
 * Extended page-level setup.
 */
html {
  font-family: Open Sans, sans-serif;
  color: #969696;
  height: 100%; }

@media (max-width: 46.24em) {
  body.has-main-nav-open {
    max-height: 100%;
    overflow: hidden; } }

@media (min-width: 46.25em) {
  body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    min-height: 100%; } }

[onClick] {
  cursor: pointer; }

/* ==========================================================================
   #HEADINGS
   ========================================================================== */
/**
 * Simple default styles for headings 1 through 6. Anything more opinionated
 * than simple font-size changes should likely be applied via classes (see:
 * http://csswizardry.com/2016/02/managing-typography-on-large-apps/).
 */
h1 {
  font-size: 24px;
  font-size: 1.71429rem;
  line-height: 1.75; }

h2 {
  font-size: 16px;
  font-size: 1.14286rem;
  line-height: 1.3125; }

h3 {
  font-size: 16px;
  font-size: 1.14286rem;
  line-height: 1.3125; }

h4 {
  font-size: 16px;
  font-size: 1.14286rem;
  line-height: 1.3125; }

h5 {
  font-size: 16px;
  font-size: 1.14286rem;
  line-height: 1.3125; }

h6 {
  font-size: 16px;
  font-size: 1.14286rem;
  line-height: 1.3125; }

/* ==========================================================================
   #HEADINGS
   ========================================================================== */
/**
 * Default font family for headings
 */
h1, h2, h3, h4, h5, h6 {
  font-family: Libre Baskerville, serif;
  color: #333333;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 3.33px; }

@media (max-width: 46.24em) {
  h1 {
    font-size: 18px;
    font-size: 1.28571rem;
    line-height: 1.16667; } }

@media (min-width: 46.25em) {
  h1 {
    font-size: 24px;
    font-size: 1.71429rem;
    line-height: 1.21; } }

/* ==========================================================================
   #IMAGES
   ========================================================================== */
/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 */
img {
  max-width: 100%;
  /* [1] */
  font-style: italic;
  /* [2] */
  vertical-align: middle;
  /* [3] */ }

/**
 * 1. If a `width` and/or `height` attribute have been explicitly defined, let’s
 *    not make the image fluid.
 */
img[width],
img[height] {
  /* [1] */
  max-width: none; }

/* ==========================================================================
   #TABLES
   ========================================================================== */
/**
 * 1. Ensure tables fill up as much space as possible.
 */
table {
  width: 100%;
  /* [1] */ }

/* ==========================================================================
   #BREAKPOINTS
   ========================================================================== */
/**
 * CSS breakpoints for use in JS
 *
 * Based on:
 * https://www.lullabot.com/articles/importing-css-breakpoints-into-javascript
 *
 * These values will not show up in content, but can be
 * queried by JavaScript to know which breakpoint is active.
 * Add or remove as many breakpoints as you like.
 */
body:before {
  display: none;
  /* Prevent from displaying. */
  content: "mobile"; }
  @media (min-width: 23.4375em) {
    body:before {
      content: "mobile"; } }
  @media (min-width: 46.25em) {
    body:before {
      content: "tablet"; } }
  @media (min-width: 61.25em) {
    body:before {
      content: "desktop"; } }
  @media (min-width: 81.25em) {
    body:before {
      content: "wide"; } }

/* ==========================================================================
   #LINKS
   ========================================================================== */
/**
 * Basic link styling.
 */
a {
  color: inherit; }

/* ==========================================================================
   #HORIZONTAL-RULES
   ========================================================================== */
/**
 * Basic hr styling.
 */
hr {
  border: 0;
  border-bottom: 1px solid currentColor; }

.u-hr--primary {
  width: 60px;
  border-color: #cbcbcb;
  margin-left: auto;
  margin-right: auto; }

.u-hr--alt {
  width: 60px;
  border-color: #cbcbcb;
  margin-left: auto;
  margin-right: auto; }
  @media (min-width: 46.25em) {
    .u-hr--alt {
      margin-left: 0; } }

.u-hr--left {
  margin-left: 0; }

@media (min-width: 23.4375em) {
  .u-hr--left\@mobile {
    margin-left: 0; } }

@media (max-width: 23.4275em) {
  .u-hr--left\@until-mobile {
    margin-left: 0; } }

@media (min-width: 46.25em) {
  .u-hr--left\@tablet {
    margin-left: 0; } }

@media (max-width: 46.24em) {
  .u-hr--left\@until-tablet {
    margin-left: 0; } }

@media (min-width: 61.25em) {
  .u-hr--left\@desktop {
    margin-left: 0; } }

@media (max-width: 61.24em) {
  .u-hr--left\@until-desktop {
    margin-left: 0; } }

@media (min-width: 81.25em) {
  .u-hr--left\@wide {
    margin-left: 0; } }

@media (max-width: 81.24em) {
  .u-hr--left\@until-wide {
    margin-left: 0; } }

/* ==========================================================================
   #WRAPPERS
   ========================================================================== */
/**
 * Page-level constraining and wrapping elements.
 */
/* stylelint-disable */
/* stylelint-enable */
.o-wrapper {
  padding-right: 21px;
  padding-left: 21px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1122px; }
  .o-wrapper:after {
    content: "" !important;
    display: block !important;
    clear: both !important; }

/* Size variants.
   ========================================================================== */
.o-wrapper--tiny {
  padding-right: 5px;
  padding-left: 5px; }

.o-wrapper--small {
  padding-right: 11px;
  padding-left: 11px; }

.o-wrapper--large {
  padding-right: 42px;
  padding-left: 42px; }

.o-wrapper--huge {
  padding-right: 84px;
  padding-left: 84px; }

/* ==========================================================================
   #WRAPPERS
   ========================================================================== */
/* More size variants.
   ========================================================================== */
@media (max-width: 46.24em) {
  .o-wrapper {
    padding-left: 11px;
    padding-right: 11px; } }

.o-wrapper--flush {
  padding-left: 0;
  padding-right: 0; }

.o-wrapper--more {
  max-width: 1348px; }

.o-wrapper--less {
  max-width: 714px; }

.o-wrapper--narrowest {
  max-width: 380px; }

/* ==========================================================================
   #LAYOUT
   ========================================================================== */
/**
 * Grid-like layout system.
 *
 * The layout object provides us with a column-style layout system. This file
 * contains the basic structural elements, but classes should be complemented
 * with width utilities, for example:
 *
 *   <div class="o-layout">
 *     <div class="o-layout__item  u-1/2">
 *     </div>
 *     <div class="o-layout__item  u-1/2">
 *     </div>
 *   </div>
 *
 * The above will create a two-column structure in which each column will
 * fluidly fill half of the width of the parent. We can have more complex
 * systems:
 *
 *   <div class="o-layout">
 *     <div class="o-layout__item  u-1/1  u-1/3@medium">
 *     </div>
 *     <div class="o-layout__item  u-1/2  u-1/3@medium">
 *     </div>
 *     <div class="o-layout__item  u-1/2  u-1/3@medium">
 *     </div>
 *   </div>
 *
 * The above will create a system in which the first item will be 100% width
 * until we enter our medium breakpoint, when it will become 33.333% width. The
 * second and third items will be 50% of their parent, until they also become
 * 33.333% width at the medium breakpoint.
 *
 * We can also manipulate entire layout systems by adding a series of modifiers
 * to the `.o-layout` block. For example:
 *
 *   <div class="o-layout  o-layout--reverse">
 *
 * This will reverse the displayed order of the system so that it runs in the
 * opposite order to our source, effectively flipping the system over.
 *
 *   <div class="o-layout  o-layout--[right|center]">
 *
 * This will cause the system to fill up from either the centre or the right
 * hand side. Default behaviour is to fill up the layout system from the left.
 *
 * There are plenty more options available to us: explore them below.
 */
/* Default/mandatory classes.
   ========================================================================== */
/**
 * 1. Allows us to use the layout object on any type of element.
 * 2. We need to defensively reset any box-model properties.
 * 3. Use the negative margin trick for multi-row grids:
 *    http://csswizardry.com/2011/08/building-better-grid-systems/
 */
.o-layout, .c-form--franchise form {
  display: block;
  /* [1] */
  margin: 0;
  /* [2] */
  padding: 0;
  /* [2] */
  list-style: none;
  /* [1] */
  margin-left: -21px;
  /* [3] */
  font-size: 0; }

/**
   * 1. Required in order to combine fluid widths with fixed gutters.
   * 2. Allows us to manipulate grids vertically, with text-level properties,
   *    etc.
   * 3. Default item alignment is with the tops of each other, like most
   *    traditional grid/layout systems.
   * 4. By default, all layout items are full-width (mobile first).
   * 5. Gutters provided by left padding:
   *    http://csswizardry.com/2011/08/building-better-grid-systems/
   * 6. Fallback for old IEs not supporting `rem` values.
   */
.o-layout__item {
  box-sizing: border-box;
  /* [1] */
  display: inline-block;
  /* [2] */
  vertical-align: top;
  /* [3] */
  width: 100%;
  /* [4] */
  padding-left: 21px;
  /* [5] */
  font-size: 14px;
  /* [6] */
  font-size: 1rem; }

/* Gutter size modifiers.
   ========================================================================== */
.o-layout--tiny {
  margin-left: -5px; }
  .o-layout--tiny > .o-layout__item {
    padding-left: 5px; }

.o-layout--small {
  margin-left: -11px; }
  .o-layout--small > .o-layout__item {
    padding-left: 11px; }

.o-layout--large, .c-form--franchise form {
  margin-left: -42px; }
  .o-layout--large > .o-layout__item, .c-form--franchise form > .o-layout__item {
    padding-left: 42px; }

.o-layout--huge {
  margin-left: -84px; }
  .o-layout--huge > .o-layout__item {
    padding-left: 84px; }

.o-layout--flush {
  margin-left: 0; }
  .o-layout--flush > .o-layout__item {
    padding-left: 0; }

/* Vertical alignment modifiers.
   ========================================================================== */
/**
 * Align all grid items to the middles of each other.
 */
.o-layout--middle > .o-layout__item {
  vertical-align: middle; }

/**
 * Align all grid items to the bottoms of each other.
 */
.o-layout--bottom > .o-layout__item {
  vertical-align: bottom; }

/* Fill order modifiers.
   ========================================================================== */
/**
 * Fill up the layout system from the centre.
 */
.o-layout--center {
  text-align: center; }
  .o-layout--center > .o-layout__item {
    text-align: left; }

/**
 * Fill up the layout system from the right-hand side.
 */
.o-layout--right {
  text-align: right; }
  .o-layout--right > .o-layout__item {
    text-align: left; }

/**
 * Reverse the rendered order of the grid system.
 */
.o-layout--reverse {
  direction: rtl; }
  .o-layout--reverse > .o-layout__item {
    direction: ltr;
    text-align: left; }

@media (min-width: 46.25em) {
  .o-layout--pulled {
    margin-left: -107px;
    margin-left: -10%; } }

@media (min-width: 46.25em) {
  .o-layout--pushed {
    margin-right: -107px;
    margin-right: -10%; } }

@media (max-width: 46.24em) {
  .o-layout--gallery {
    margin-left: -11px; }
    .o-layout--gallery > .o-layout__item {
      padding-left: 11px;
      margin-bottom: 11px; } }

@media (min-width: 46.25em) {
  .o-layout--gallery > .o-layout__item {
    margin-bottom: 21px; } }

@media (max-width: 46.24em) {
  .o-layout--instagram {
    margin-left: -11px; }
    .o-layout--instagram > .o-layout__item {
      padding-left: 11px;
      margin-bottom: 11px; } }

@media (min-width: 46.25em) {
  .o-layout--instagram {
    margin-bottom: 21px; } }

@media (min-width: 46.25em) {
  .o-layout--designers {
    padding-top: 21px;
    padding-bottom: 21px; } }

.o-layout--designers > .o-layout__item {
  box-shadow: 0px 0px 0px 1px #cbcbcb; }

@media (max-width: 46.24em) {
  .c-page-foot__layout {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between;
    height: 100%; } }

@media (max-width: 46.24em) {
  .c-page-foot__item--grow {
    height: 0;
    -ms-flex-positive: 1;
        flex-grow: 1;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; } }

/* ==========================================================================
   #MEDIA
   ========================================================================== */
/**
 * Place any image- and text-like content side-by-side, as per:
 * http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code
 */
.o-media {
  display: block; }
  .o-media:after {
    content: "" !important;
    display: block !important;
    clear: both !important; }

.o-media__img {
  float: left;
  margin-right: 21px; }
  .o-media__img > img {
    display: block; }

.o-media__body {
  overflow: hidden;
  display: block; }
  .o-media__body,
  .o-media__body > :last-child {
    margin-bottom: 0; }

/* Size variants
   ========================================================================== */
/**
 * Modify the amount of space between our image and our text. We also have
 * reversible options for all available sizes.
 */
.o-media--tiny > .o-media__img {
  margin-right: 5px; }

.o-media--tiny.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 5px; }

.o-media--small > .o-media__img {
  margin-right: 11px; }

.o-media--small.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 11px; }

.o-media--large > .o-media__img {
  margin-right: 42px; }

.o-media--large.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 42px; }

.o-media--huge > .o-media__img {
  margin-right: 84px; }

.o-media--huge.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 84px; }

/* Reversed media objects
   ========================================================================== */
.o-media--reverse > .o-media__img {
  float: right;
  margin-right: 0;
  margin-left: 21px; }

/* Gutterless media objects
   ========================================================================== */
.o-media--flush > .o-media__img {
  margin-right: 0;
  margin-left: 0; }

/* ==========================================================================
   #FLAG
   ========================================================================== */
/**
 * The flag object is a design pattern similar to the media object, however it
 * utilises `display: table[-cell];` to give us control over the vertical
 * alignments of the text and image.
 *
 * http://csswizardry.com/2013/05/the-flag-object/
 *
 * 1. Allows us to control vertical alignments.
 * 2. Force the object to be the full width of its parent. Combined with [1],
 *    this makes the object behave in a quasi-`display: block;` manner.
 */
.o-flag {
  display: table;
  /* [1] */
  width: 100%;
  /* [2] */ }

/**
   * Items within a flag object. There should only ever be one of each.
   *
   * 1. Default to aligning content to their middles.
   */
.o-flag__img,
.o-flag__body {
  display: table-cell;
  vertical-align: middle;
  /* [1] */ }

/**
   * Flag images have a space between them and the body of the object.
   *
   * 1. Force `.flag__img` to take up as little space as possible:
   *    https://pixelsvsbytes.com/2012/02/this-css-layout-grid-is-no-holy-grail/
   */
.o-flag__img {
  width: 1px;
  /* [1] */
  padding-right: 21px;
  /**
     * 1. Fixes problem with images disappearing.
     */ }
  .o-flag__img > img {
    max-width: none;
    /* [1] */ }

/**
   * The container for the main content of the flag object.
   *
   * 1. Forces the `.flag__body` to take up all remaining space.
   */
.o-flag__body {
  width: auto;
  /* [1] */ }
  .o-flag__body,
  .o-flag__body > :last-child {
    margin-bottom: 0; }

/* Size variants.
   ========================================================================== */
.o-flag--tiny > .o-flag__img {
  padding-right: 5px; }

.o-flag--tiny.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 5px; }

.o-flag--small > .o-flag__img {
  padding-right: 11px; }

.o-flag--small.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 11px; }

.o-flag--large > .o-flag__img {
  padding-right: 42px; }

.o-flag--large.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 42px; }

.o-flag--huge > .o-flag__img {
  padding-right: 84px; }

.o-flag--huge.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 84px; }

.o-flag--flush > .o-flag__img {
  padding-right: 0;
  padding-left: 0; }

/* Reversed flag.
   ========================================================================== */
/**
 * 1. Swap the rendered direction of the object…
 * 2. …and reset it.
 * 3. Reassign margins to the correct sides.
 */
.o-flag--reverse {
  direction: rtl;
  /* [1] */ }
  .o-flag--reverse > .o-flag__img,
  .o-flag--reverse > .o-flag__body {
    direction: ltr;
    /* [2] */ }
  .o-flag--reverse > .o-flag__img {
    padding-right: 0;
    /* [3] */
    padding-left: 21px;
    /* [3] */ }

/* Alignment variants.
   ========================================================================== */
/**
 * Vertically align the image- and body-content differently. Defaults to middle.
 */
.o-flag--top > .o-flag__img,
.o-flag--top > .o-flag__body {
  vertical-align: top; }

.o-flag--bottom > .o-flag__img,
.o-flag--bottom > .o-flag__body {
  vertical-align: bottom; }

/* ==========================================================================
   #LIST-BARE
   ========================================================================== */
/**
 * Strip list-like appearance from lists by removing their bullets, and any
 * indentation.
 */
.o-list-bare {
  list-style: none;
  margin-left: 0; }

/* ==========================================================================
   #LIST-INLINE
   ========================================================================== */
/**
 * The list-inline object simply displays a list of items in one line.
 */
.o-list-inline {
  margin-left: 0;
  list-style: none; }

.o-list-inline__item {
  display: inline-block; }

/* Delimited list.
   ========================================================================== */
/**
 * By default, applying this class will comma separate your list items. You can
 * change the delimiter by predefining the following variable:
 */
/**
 * 1. Fallback for old IEs not supporting `rem` values.
 */
.o-list-inline--delimited {
  font-size: 0; }
  .o-list-inline--delimited > .o-list-inline__item {
    font-size: 14px;
    /* [1] */
    font-size: 1rem; }
  .o-list-inline--delimited > .o-list-inline__item + .o-list-inline__item:before {
    content: ", "; }

/* ==========================================================================
   #BOX
   ========================================================================== */
/**
 * The box object simply boxes off content. Extend with cosmetic styles in the
 * Components layer.
 *
 * 1. So we can apply the `.o-box` class to naturally-inline elements.
 */
.o-box {
  display: block;
  /* [1] */
  padding: 21px; }
  .o-box:after {
    content: "" !important;
    display: block !important;
    clear: both !important; }
  .o-box > :last-child {
    margin-bottom: 0; }

/* Size variants
   ========================================================================== */
.o-box--flush {
  padding: 0; }

.o-box--tiny {
  padding: 5px; }

.o-box--small {
  padding: 11px; }

.o-box--large {
  padding: 42px; }

.o-box--huge {
  padding: 84px; }

.o-box--gray {
  background-color: #f6f6f6; }

@media (min-width: 46.25em) {
  .o-box--large\@tablet {
    padding: 42px; } }

@media (max-width: 46.24em) {
  .o-box--about {
    padding-left: 0;
    padding-right: 0; } }

@media (max-width: 46.24em) {
  .o-box--gallery {
    margin: -21px 11px 0;
    z-index: 20;
    position: relative; } }

@media (min-width: 46.25em) {
  .o-box--gallery {
    padding: 42px; } }

.o-box--contact p {
  margin-bottom: 11px; }

@media (min-width: 46.25em) {
  .o-box--contact {
    padding: 42px; } }

/* ==========================================================================
   #BLOCK
   ========================================================================== */
/**
 * Stacked image-with-text object. A simple abstraction to cover a very commonly
 * occurring design pattern.
 */
.o-block {
  display: block;
  text-align: center; }

.o-block__img {
  margin-bottom: 21px;
  /* Size variants.
       ====================================================================== */ }
  .o-block--flush > .o-block__img {
    margin-bottom: 0; }
  .o-block--tiny > .o-block__img {
    margin-bottom: 5px; }
  .o-block--small > .o-block__img {
    margin-bottom: 11px; }
  .o-block--large > .o-block__img {
    margin-bottom: 42px; }
  .o-block--huge > .o-block__img {
    margin-bottom: 84px; }

.o-block__body {
  display: block; }

/* Alignment variants.
   ========================================================================== */
.o-block--right {
  text-align: right; }

.o-block--left {
  text-align: left; }

/* ==========================================================================
   #RATIO
   ========================================================================== */
/**
 * Create ratio-bound content blocks, to keep media (e.g. images, videos) in
 * their correct aspect ratios.
 *
 * http://alistapart.com/article/creating-intrinsic-ratios-for-video
 *
 * 1. Default cropping is a 1:1 ratio (i.e. a perfect square).
 */
.o-ratio {
  position: relative;
  display: block;
  overflow: hidden; }
  .o-ratio:before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 100%;
    /* [1] */ }

.o-ratio__content,
.o-ratio > iframe,
.o-ratio > embed,
.o-ratio > object {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%; }

/* stylelint-disable */
/* Ratio variants.
   ========================================================================== */
/**
 * Generate a series of ratio classes to be used like so:
 *
 *   <div class="o-ratio  o-ratio--16:9">
 *
 */
.o-ratio--2\:1:before {
  padding-bottom: 50%; }

.o-ratio--4\:3:before {
  padding-bottom: 75%; }

.o-ratio--16\:9:before {
  padding-bottom: 56.25%; }

/* stylelint-enable */
/* ==========================================================================
   #CROP
   ========================================================================== */
/**
 * Provide a cropping container in order to display media (usually images)
 * cropped to certain ratios.
 *
 * 1. Set up a positioning context in which the image can sit.
 * 2. This is the crucial part: where the cropping happens.
 */
.o-crop {
  position: relative;
  /* [1] */
  display: block;
  overflow: hidden;
  /* [2] */ }

/**
   * Apply this class to the content (usually `img`) that needs cropping.
   *
   * 1. Image’s default positioning is top-left in the cropping box.
   * 2. Make sure the media doesn’t stop itself too soon.
   */
.o-crop__content {
  position: absolute;
  top: 0;
  /* [1] */
  left: 0;
  /* [1] */
  max-width: none;
  /* [2] */ }

/**
   * We can position the media in different locations within the cropping area.
   */
.o-crop__content--right {
  right: 0;
  left: auto; }

.o-crop__content--bottom {
  top: auto;
  bottom: 0; }

.o-crop__content--center {
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

/* stylelint-disable */
/* Crop-ratio variants.
   ========================================================================== */
/**
 * Generate a series of crop classes to be used like so:
 *
 *   <div class="o-crop  o-crop--16:9">
 *
 */
.o-crop--1\:1 {
  padding-bottom: 100%; }

.o-crop--2\:1 {
  padding-bottom: 50%; }

.o-crop--4\:3 {
  padding-bottom: 75%; }

.o-crop--16\:9 {
  padding-bottom: 56.25%; }

/* stylelint-enable */
.o-crop__content--zoom {
  -ms-transform: scale(1.25);
      transform: scale(1.25); }

.o-crop--designers .o-crop__content {
  max-width: 100%; }

@media (min-width: 23.4375em) {
  .o-crop--1\:1\@mobile {
    padding-bottom: 100%; }
  .o-crop--2\:1\@mobile {
    padding-bottom: 50%; }
  .o-crop--4\:3\@mobile {
    padding-bottom: 75%; }
  .o-crop--16\:9\@mobile {
    padding-bottom: 56.25%; } }

@media (min-width: 46.25em) {
  .o-crop--1\:1\@tablet {
    padding-bottom: 100%; }
  .o-crop--2\:1\@tablet {
    padding-bottom: 50%; }
  .o-crop--4\:3\@tablet {
    padding-bottom: 75%; }
  .o-crop--16\:9\@tablet {
    padding-bottom: 56.25%; } }

@media (min-width: 61.25em) {
  .o-crop--1\:1\@desktop {
    padding-bottom: 100%; }
  .o-crop--2\:1\@desktop {
    padding-bottom: 50%; }
  .o-crop--4\:3\@desktop {
    padding-bottom: 75%; }
  .o-crop--16\:9\@desktop {
    padding-bottom: 56.25%; } }

@media (min-width: 81.25em) {
  .o-crop--1\:1\@wide {
    padding-bottom: 100%; }
  .o-crop--2\:1\@wide {
    padding-bottom: 50%; }
  .o-crop--4\:3\@wide {
    padding-bottom: 75%; }
  .o-crop--16\:9\@wide {
    padding-bottom: 56.25%; } }

/* ==========================================================================
   #TABLES
   ========================================================================== */
/**
 * A simple object for manipulating the structure of HTML `table`s.
 */
.o-table {
  width: 100%; }

/* Equal-width table cells.
   ========================================================================== */
/**
 * `table-layout: fixed` forces all cells within a table to occupy the same
 * width as each other. This also has performance benefits: because the browser
 * does not need to (re)calculate cell dimensions based on content it discovers,
 * the table can be rendered very quickly. Further reading:
 * https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout#Values
 */
.o-table--fixed {
  table-layout: fixed; }

/* Size variants.
   ========================================================================== */
.o-table--tiny th,
.o-table--tiny td {
  padding: 5px; }

.o-table--small th,
.o-table--small td {
  padding: 11px; }

.o-table--large th,
.o-table--large td {
  padding: 42px; }

.o-table--huge th,
.o-table--huge td {
  padding: 84px; }

/* ==========================================================================
   #PACK
   ========================================================================== */
/**
 * The pack object simply causes any number of elements pack up horizontally to
 * automatically fill an equal, fluid width of their parent.
 *
 * 1. Fill all available space.
 * 2. Remove any leftover styling from lists.
 * 3. Cause children to be automatically equally sized.
 */
.o-pack {
  width: 100%;
  /* [1] */
  margin-left: 0;
  /* [2] */
  display: table;
  table-layout: fixed;
  /* [3] */ }

/**
   * 1. Cause children to adopt table-like structure.
   */
.o-pack__item {
  display: table-cell;
  /* [1] */
  /* Vertical alignment variants.
       ====================================================================== */ }
  .o-pack--middle > .o-pack__item {
    vertical-align: middle; }
  .o-pack--bottom > .o-pack__item {
    vertical-align: bottom; }

/* Unequal-width items.
   ========================================================================== */
.o-pack--auto {
  table-layout: auto; }

/* Size variants.
   ========================================================================== */
.o-pack--tiny {
  border-spacing: 5px; }

.o-pack--small {
  border-spacing: 11px; }

.o-pack--large {
  border-spacing: 42px; }

.o-pack--huge {
  border-spacing: 84px; }

/* Reversed order packs
   ========================================================================== */
.o-pack--rev {
  direction: rtl; }
  .o-pack--rev > .o-pack__item {
    direction: ltr; }

/* ==========================================================================
   #TABS
   ========================================================================== */
/**
 * Simple tabs object
 */
.o-tabs {
  list-style-type: none;
  margin: 0; }
  .o-tabs:after {
    content: "" !important;
    display: block !important;
    clear: both !important; }

.o-tabs__item {
  float: left; }
  .o-tabs__item > a {
    display: block;
    padding: 1.25rem 1.5rem;
    line-height: 1; }
    .o-tabs__item > a:focus, .o-tabs__item > a[aria-selected=true] {
      background: #e6e6e6; }

.o-tabs-content {
  background: #fefefe;
  transition: all .5s ease;
  border-top: 0; }

.o-tabs-content__item {
  display: none;
  padding: 1rem; }
  .o-tabs-content__item.is-active {
    display: block; }

/* Size variants.
   ========================================================================== */
.o-tabs--vertical {
  width: 100%;
  max-width: 100%; }
  .o-tabs--vertical > .o-tabs__item {
    width: auto;
    float: none;
    display: block; }

/* ==========================================================================
   #BELT
   ========================================================================== */
/**
 * Scrollable conveyor belt like components.
 */
.o-belt {
  display: block;
  width: 100%;
  overflow-x: scroll; }

.o-belt__list {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  margin: 0;
  white-space: nowrap;
  list-style-type: none; }

.o-belt__item {
  display: inline-block;
  padding: 21px; }

/* Functional variants
   ========================================================================== */
.o-belt--snappy {
  -webkit-overflow-scrolling: touch;
  -webkit-scroll-snap-type: mandatory;
  -webkit-scroll-snap-destination: 50% 50%; }
  .o-belt--snappy .o-belt__item {
    -webkit-scroll-snap-coordinate: 60% 50%; }

/* ==========================================================================
   #BUTTONS
   ========================================================================== */
/**
 * This is an example component. Extend inuitcss by building your own components
 * that make up your UI. Component classes are prefixed with a `c-`.
 */
/**
 * 1. Allow us to style box model properties.
 * 2. Line different sized buttons up a little nicer.
 * 3. Make buttons inherit font styles (often necessary when styling `input`s as
 *    buttons).
 * 4. Reset/normalize some styles.
 * 5. Force all button-styled elements to appear clickable.
 */
.c-btn {
  display: inline-block;
  /* [1] */
  vertical-align: middle;
  /* [2] */
  font: inherit;
  /* [3] */
  text-align: center;
  /* [4] */
  margin: 0;
  /* [4] */
  cursor: pointer;
  /* [5] */
  padding: 11px 21px;
  transition: 250ms;
  border-radius: 0;
  border: 0;
  background: none;
  -webkit-appearance: none;
  min-width: 152px; }

/* Style variants
   ========================================================================== */
.c-btn--primary {
  background-color: #333333; }
  .c-btn--primary, .c-btn--primary:hover, .c-btn--primary:active, .c-btn--primary:focus {
    text-decoration: none;
    /* [4] */
    color: #fff; }
  .c-btn--primary:hover, .c-btn--primary:focus {
    background-color: black; }

.c-btn--secondary {
  background-color: #787878; }
  .c-btn--secondary, .c-btn--secondary:hover, .c-btn--secondary:active, .c-btn--secondary:focus {
    text-decoration: none;
    color: #fff; }
  .c-btn--secondary:hover, .c-btn--secondary:focus {
    background-color: #454545; }

.c-btn--tertiary {
  background-color: #fff;
  color: #4a8ec2; }
  .c-btn--tertiary, .c-btn--tertiary:hover, .c-btn--tertiary:active, .c-btn--tertiary:focus {
    text-decoration: none;
    color: #4a8ec2; }
  .c-btn--tertiary:hover, .c-btn--tertiary:focus {
    color: #3774a2; }

/* Size variants
   ========================================================================== */
.c-btn--small {
  padding: 0.35714rem 0.78571rem; }

.c-btn--large {
  padding: 1.5rem 3rem; }

.c-btn--fit {
  min-width: initial; }

/* Ghost buttons
   ========================================================================== */
/**
 * Ghost buttons have see-through backgrounds and are bordered.
 */
.c-btn--ghost {
  border: 2px solid currentColor;
  padding: 9px 19px; }
  .c-btn--ghost, .c-btn--ghost:hover, .c-btn--ghost:active, .c-btn--ghost:focus {
    background: none; }
  .c-btn--ghost.c-btn--small {
    padding: 3px 9px; }
  .c-btn--ghost.c-btn--large {
    padding: 19px 40px; }
  .c-btn--ghost.c-btn--primary {
    color: #333333; }
    .c-btn--ghost.c-btn--primary:hover, .c-btn--ghost.c-btn--primary:focus {
      color: black; }
  .c-btn--ghost.c-btn--secondary {
    color: #2f4054; }
    .c-btn--ghost.c-btn--secondary:hover, .c-btn--ghost.c-btn--secondary:focus {
      color: #1d2733; }
  .c-btn--ghost.c-btn--tertiary {
    color: #fff; }
    .c-btn--ghost.c-btn--tertiary:hover, .c-btn--ghost.c-btn--tertiary:focus {
      color: #fff; }

/* ==========================================================================
   #NAV-MAIN
   ========================================================================== */
/**
 * This is a brief description
 */
.c-nav-main {
  font-size: 12px;
  font-size: 0.85714rem;
  line-height: 1.2;
  list-style: none;
  margin-left: 0;
  margin-bottom: 0;
  padding-left: 0;
  text-transform: uppercase; }
  @media (min-width: 46.25em) {
    .c-nav-main {
      display: inline-block;
      position: relative; } }

.c-nav-main__item {
  white-space: nowrap; }
  @media (max-width: 46.24em) {
    .c-nav-main__item {
      position: relative; }
      .c-nav-main__item:not(:first-of-type) {
        border-top: 1px solid #CBCBCB; } }
  @media (min-width: 46.25em) {
    .c-nav-main__item {
      display: inline-block; } }

.c-nav-main__link {
  text-decoration: none;
  padding: 11px;
  display: block; }
  @media (min-width: 46.25em) {
    .c-nav-main__link {
      display: inline-block; }
      .has-submenu > .c-nav-main__link:after {
        content: " +"; }
        .c-page-foot .has-submenu > .c-nav-main__link:after {
          content: ""; }
      :hover > .c-nav-main__link,
      :focus > .c-nav-main__link,
      .is-active > .c-nav-main__link {
        color: #000; } }

.c-nav-main__input {
  display: none; }
  @media (max-width: 46.24em) {
    .c-nav-main__input {
      display: block;
      position: absolute;
      right: 0;
      top: 0;
      opacity: 0; }
      .c-nav-main__input:checked ~ .c-nav-main__submenu {
        max-height: 400px; }
      .c-nav-main__input:checked ~ .c-nav-main__toggle .icon-remove {
        display: block; }
      .c-nav-main__input:checked ~ .c-nav-main__toggle .icon-add {
        display: none; } }

.c-nav-main__toggle {
  display: none; }
  @media (max-width: 46.24em) {
    .c-nav-main__toggle {
      font-size: 1em;
      display: block;
      padding: 1.05em 1.15em;
      position: absolute;
      right: 0;
      top: 0;
      line-height: 1;
      z-index: 30;
      cursor: pointer;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
      .c-nav-main__toggle > * {
        pointer-events: none; } }
  .c-nav-main__toggle .icon-remove {
    display: none; }

.c-nav-main__submenu {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  font-size: 0.83em; }
  @media (max-width: 46.24em) {
    .c-nav-main__submenu {
      transition: max-height 250ms ease;
      max-height: 0;
      overflow: hidden; } }
  @media (min-width: 46.25em) {
    .c-nav-main__submenu {
      position: absolute;
      opacity: 0;
      display: none;
      top: 100%; }
      .c-nav-main__item:hover > .c-nav-main__submenu {
        opacity: 1;
        display: block; }
        .c-page-foot .c-nav-main__item:hover > .c-nav-main__submenu {
          display: none; }
      .c-nav-main__item:first-of-type > .c-nav-main__submenu {
        left: 0; }
      .c-nav-main__item:last-of-type > .c-nav-main__submenu {
        right: 0; }
      .c-nav-main__item:not(:first-of-type):not(:last-of-type) > .c-nav-main__submenu {
        left: -50%;
        right: -50%;
        text-align: center; } }

.c-nav-main__subitem {
  white-space: nowrap; }
  @media (max-width: 46.24em) {
    .c-nav-main__subitem .c-nav-main__link {
      padding: 0 21px 11px; } }
  @media (min-width: 46.25em) {
    .c-nav-main__subitem {
      display: inline-block; } }

/* ==========================================================================
   #NAV-foot
   ========================================================================== */
/**
 * This is a brief description
 */
.c-nav-foot {
  font-size: 12px;
  font-size: 0.85714rem;
  line-height: 1.75;
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 0;
  text-transform: uppercase; }

.c-nav-foot__submenu {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  display: none; }

.c-nav-foot__subitem {
  display: inline-block;
  white-space: nowrap; }

/* ==========================================================================
   #NAV-side
   ========================================================================== */
/**
 * This is a brief description
 */
.c-nav-side {
  font-size: 12px;
  font-size: 0.85714rem;
  line-height: 1.2;
  list-style: none;
  margin-left: 0;
  margin-bottom: 0;
  padding-left: 0;
  text-transform: uppercase; }
  @media (min-width: 46.25em) {
    .c-nav-side {
      display: inline-block; }
      .c-nav-side > .c-nav-side__item + .c-nav-side__item:before {
        content: "|"; }
      .c-nav-side > .c-nav-side__item:first-of-type:before {
        content: "|"; }
      .c-nav-side > .c-nav-side__item:last-of-type:after {
        content: "|"; } }

@media (max-width: 46.24em) {
  .c-nav-side__item {
    border-top: 1px solid #CBCBCB; } }

@media (min-width: 46.25em) {
  .c-nav-side__item {
    display: inline-block; } }

.c-nav-side__link {
  display: inline-block;
  text-decoration: none;
  padding: 11px; }
  .has-submenu > .c-nav-side__link:after {
    content: " +"; }
  :hover > .c-nav-side__link,
  :focus > .c-nav-side__link,
  .is-active > .c-nav-side__link {
    color: #000;
    text-decoration: underline; }

.c-nav-side__submenu {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  position: absolute;
  -ms-transform: translateX(-25%);
      transform: translateX(-25%);
  opacity: 0;
  display: none; }
  .c-nav-side__item:hover > .c-nav-side__submenu {
    opacity: 1;
    display: block; }

.c-nav-side__subitem {
  display: inline-block; }

/* ==========================================================================
   #PAGE-HEAD
   ========================================================================== */
/**
 * Main page head styling.
 */
.c-page-head {
  padding: 21px 0; }
  @media (min-width: 46.25em) {
    .c-page-head {
      overflow: hidden; } }

.c-page-head__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  @media (max-width: 46.24em) {
    .c-page-head__wrapper {
      -ms-flex-pack: center;
          justify-content: center; } }
  @media (min-width: 46.25em) {
    .c-page-head__wrapper {
      -ms-flex-pack: justify;
          justify-content: space-between; } }

@media (max-width: 46.24em) {
  .c-page-head__logo {
    max-width: 150px; } }

/* ==========================================================================
   #PAGE-MAIN
   ========================================================================== */
/**
 * This is a brief description
 */
.c-page-main {
  overflow: hidden; }
  @media (min-width: 46.25em) {
    .c-page-main {
      -ms-flex-positive: 1;
          flex-grow: 1;
      padding-top: 21px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center; } }

@media (min-width: 46.25em) {
  .c-page-main__title,
  .c-page-main__body {
    text-align: center; } }

@media (max-width: 46.24em) {
  .c-page-main__subheading {
    font-size: 18px;
    font-size: 1.28571rem;
    line-height: 1.3;
    text-align: center; } }

@media (min-width: 46.25em) {
  .c-page-main__subheading {
    font-size: 24px;
    font-size: 1.71429rem;
    line-height: 1.3; } }

@media (max-width: 46.24em) {
  .c-page-main__subheading--alt {
    text-align: left; } }

.c-page-main__subheading--small {
  font-size: 18px;
  font-size: 1.28571rem;
  line-height: 1.3; }

/* ==========================================================================
   #PAGE-FOOT
   ========================================================================== */
/**
 * Main page foot styling.
 */
@media (max-width: 46.24em) {
  .c-page-foot {
    padding: 21px 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    padding: 21px;
    color: #787878;
    opacity: 0;
    pointer-events: none;
    transition: opacity 250ms ease; }
    .has-main-nav-open .c-page-foot {
      opacity: 1;
      pointer-events: all; } }

@media (min-width: 46.25em) {
  .c-page-foot {
    background-color: #333333;
    padding: 11px 0; }
    .c-page-foot hr {
      margin-bottom: 11px; } }

@media (max-width: 46.24em) {
  .c-page-foot__wrap {
    background-color: #fff;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding: 0; } }

@media (min-width: 46.25em) {
  .c-page-foot__wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; } }

@media (max-width: 46.24em) {
  .c-page-foot__logo {
    display: none; } }

@media (min-width: 46.25em) {
  .c-page-foot__logo {
    margin-right: 11px; } }

@media (max-width: 46.24em) {
  .c-page-foot__menu {
    padding: 0 11px; } }

@media (min-width: 46.25em) {
  .c-page-foot__menu {
    margin-left: -11px;
    margin-right: -11px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .c-page-foot__menu .c-nav-side__item:hover > .c-nav-side__link,
    .c-page-foot__menu .c-nav-side__item:focus > .c-nav-side__link,
    .c-page-foot__menu .c-nav-side__item.is-active > .c-nav-side__link {
      color: inherit; } }

@media (max-width: 46.24em) {
  .c-page-foot__copy {
    font-size: 10px;
    font-size: 0.71429rem;
    line-height: 1.2;
    background-color: #333333;
    text-align: center;
    padding: 11px; }
    .c-page-foot__copy p {
      margin-bottom: 11px; }
    .c-page-foot__copy > :last-child {
      margin-bottom: 0; } }

@media (min-width: 46.25em) {
  .c-page-foot__copy {
    font-size: 10px;
    font-size: 0.71429rem;
    line-height: 1.2;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .c-page-foot__copy p {
      margin-bottom: 5px; } }

.c-page-foot__social {
  color: #fff; }
  .c-page-foot__social a {
    text-decoration: none;
    padding: 0 5px;
    display: inline-block; }
  @media (min-width: 46.25em) {
    .c-page-foot__social {
      display: none; } }

.c-page-foot__social--inline {
  display: inline-block;
  margin-bottom: 0;
  padding: 5px; }
  @media (max-width: 61.24em) {
    .c-page-foot__social--inline {
      display: none; } }

.c-page-foot-btn {
  display: none; }
  @media (max-width: 46.24em) {
    .c-page-foot-btn {
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      font-size: 1.5rem;
      padding: 0.55em 0.6em;
      line-height: 1;
      vertical-align: middle;
      background-color: #fff;
      color: #000;
      border: 1px solid #cbcbcb;
      z-index: 20; } }

.c-page-foot-overlay {
  display: none;
  pointer-events: none; }
  @media (max-width: 46.24em) {
    .c-page-foot-overlay {
      display: block;
      opacity: 0;
      pointer-events: none;
      transition: opacity 250ms ease;
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      z-index: 30; }
      .has-main-nav-open .c-page-foot-overlay {
        opacity: 1;
        pointer-events: all; } }

/* ==========================================================================
   #FROM
   ========================================================================== */
/**
 * Basic form component.
 */
.c-form__item {
  margin-bottom: 21px; }

.c-form__label {
  display: block; }
  @media (min-width: 46.25em) {
    .c-form__label {
      margin-bottom: 11px; } }

.c-form__error-list {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 0; }

.c-form__error {
  font-size: 13px;
  font-size: 0.92857rem;
  line-height: 1.61538;
  display: block;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 11px;
  padding: 0;
  color: red; }

.c-form__value input:not([type]),
.c-form__value input[type="text"],
.c-form__value input[type="password"],
.c-form__value input[type="date"],
.c-form__value input[type="datetime"],
.c-form__value input[type="datetime-local"],
.c-form__value input[type="month"],
.c-form__value input[type="week"],
.c-form__value input[type="email"],
.c-form__value input[type="number"],
.c-form__value input[type="search"],
.c-form__value input[type="tel"],
.c-form__value input[type="time"],
.c-form__value input[type="url"],
.c-form__value input[type="color"],
.c-form__value textarea,
.c-form__value select {
  font-size: 16px;
  font-size: 1.14286rem;
  line-height: 1.3125;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  border-radius: 0;
  background-color: #fff;
  border-style: solid;
  border-width: 0;
  border-bottom-width: 1px;
  border-color: #cbcbcb;
  display: block;
  font-family: inherit;
  font-weight: 700;
  margin: 0;
  padding: 5px 5px;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s linear, background 0.15s linear; }

.c-form__value input[type="file"] {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  padding: 0;
  font-size: 20px;
  cursor: pointer;
  opacity: 0;
  filter: alpha(opacity=0); }

.c-form__value textarea {
  height: auto;
  min-height: 50px;
  resize: none; }

.c-form__value select {
  background-color: #fff;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");
  background-position: 100% center;
  background-repeat: no-repeat;
  line-height: normal; }

.c-form__value button {
  -webkit-appearance: none !important;
  -moz-appearance: none  !important; }

/* ==========================================================================
#INSTAGRAM
========================================================================== */
/**
* This is the main instagram feed styling.
*/
.c-instagram__item {
  display: inline-block;
  position: relative; }
  @media (min-width: 46.25em) {
    .c-instagram__item:hover .c-instagram__overlay {
      opacity: 1; } }

.c-instagram__link {
  font-size: 14px;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: none; }

.c-instagram__overlay {
  font-size: 10px;
  font-size: 0.71429rem;
  line-height: 2.1;
  position: absolute;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 42px;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  opacity: 0;
  transition: opacity 250ms ease; }

/* ==========================================================================
#SLIDE
========================================================================== */
/**
* This is the main listing slide or item.
*/
.c-slide {
  position: relative; }

.c-slide__content {
  position: absolute;
  top: 21px;
  left: 21px;
  color: #fff;
  max-width: 280px;
  -webkit-font-smoothing: antialiased;
  text-shadow: 1px 1px 1px black;
  z-index: 1; }

.c-slide__title {
  font-size: 24px;
  font-size: 1.71429rem;
  line-height: 1.21;
  color: inherit;
  margin-bottom: 5px; }

.c-slide__link {
  font-size: 11px;
  font-size: 0.78571rem;
  line-height: 1.90909;
  text-decoration: none;
  font-weight: 100;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding-right: 11px;
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%225%22%20height%3D%227%22%20viewBox%3D%22119%204%205%207%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20stroke%3D%22%23FFF%22%20fill%3D%22none%22%20d%3D%22M120%209.896l2.575-2.336L120%205%22%2F%3E%3C%2Fsvg%3E"); }

.c-slide__link--dark {
  color: #000;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%225%22%20height%3D%227%22%20viewBox%3D%22119%204%205%207%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20stroke%3D%22%23000%22%20fill%3D%22none%22%20d%3D%22M120%209.896l2.575-2.336L120%205%22%2F%3E%3C%2Fsvg%3E"); }

.c-slide--light .c-slide__content {
  color: #000;
  text-shadow: none; }

.c-slide--light .c-slide__link {
  color: #000;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%225%22%20height%3D%227%22%20viewBox%3D%22119%204%205%207%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20stroke%3D%22%23000%22%20fill%3D%22none%22%20d%3D%22M120%209.896l2.575-2.336L120%205%22%2F%3E%3C%2Fsvg%3E"); }

/* ==========================================================================
   #PRODUCT
   ========================================================================== */
/**
 * The product listing single item.
 */
.c-product {
  text-align: center; }
  .c-product a {
    display: block;
    text-decoration: none; }

.c-product__title {
  font-weight: 700;
  margin-bottom: 11px; }

.c-product__teaser {
  margin-bottom: 11px; }

.c-product--featured .c-product__title {
  font-size: 14px;
  font-size: 1rem;
  line-height: 1.5; }
  @media (min-width: 46.25em) {
    .c-product--featured .c-product__title {
      margin-bottom: 0; } }

.c-search {
  position: relative;
  width: 16px;
  height: 32px; }

.c-search__content {
  position: absolute;
  right: 0; }

.sb-search {
  position: relative;
  width: 0%;
  min-width: 16px;
  height: 32px;
  float: right;
  overflow: hidden;
  transition: width 0.3s;
  -webkit-backface-visibility: hidden; }

.sb-search-input {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  outline: none;
  background: #fff;
  width: 100%;
  height: 32px;
  margin: 0;
  z-index: 10;
  padding: 0 16px;
  font-family: inherit;
  color: inherit; }

.sb-icon-search,
.sb-search-submit {
  width: 16px;
  height: 32px;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  padding: 0;
  margin: 0;
  line-height: 16px;
  text-align: center;
  cursor: pointer; }

.sb-search-submit {
  background: #fff;
  /* IE needs this */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  /* IE 8 */
  filter: alpha(opacity=0);
  /* IE 5-7 */
  opacity: 0;
  color: transparent;
  border: none;
  outline: none;
  z-index: -1; }

.sb-icon-search {
  color: #fff;
  background: #fff;
  z-index: 90;
  speak: none;
  -webkit-font-smoothing: antialiased; }

/* Open state */
.sb-search.sb-search-open,
.no-js .sb-search {
  width: 640px; }
  @media (min-width: 61.25em) {
    .sb-search.sb-search-open,
    .no-js .sb-search {
      width: 700px; } }
  @media (min-width: 81.25em) {
    .sb-search.sb-search-open,
    .no-js .sb-search {
      width: 560px; } }

.sb-search.sb-search-open .sb-icon-search,
.no-js .sb-search .sb-icon-search {
  color: #fff;
  z-index: 11; }

.sb-search.sb-search-open .sb-search-submit,
.no-js .sb-search .sb-search-submit {
  z-index: 90; }

.c-search-foot {
  height: 37px;
  border: 0;
  margin: 0;
  border-bottom: 1px solid #CBCBCB;
  display: -ms-flexbox;
  display: flex; }

.c-search-foot__input {
  height: 36px;
  padding: 11px;
  width: 100%;
  border: 0;
  margin: 0;
  font-size: 12px;
  font-size: 0.85714rem;
  line-height: 1.2;
  text-transform: uppercase; }

.c-search-foot__input::-webkit-input-placeholder {
  color: #787878; }

.c-search-foot__input:-moz-placeholder {
  color: #787878; }

.c-search-foot__input::-moz-placeholder {
  color: #787878; }

.c-search-foot__input:-ms-input-placeholder {
  color: #787878; }

.c-search-foot__btn {
  display: block;
  width: 39px;
  height: 36px;
  border: none;
  -webkit-appearance: none;
  padding: 11px;
  margin: 0;
  background: none; }

/**
 *   Default variables
 *
 *   While these can be set with JavaScript, it's probably
 *   better and faster to just set them here, compile to
 *   CSS and include that instead to use some of that
 *   hardware-accelerated goodness.
 */
.unslider-nav {
  padding: 5px; }
  @media (min-width: 46.25em) {
    .unslider-nav {
      position: absolute;
      bottom: 0;
      left: 50%;
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
      background-color: #fff; } }
  .unslider-nav ol {
    list-style: none;
    text-align: center; }
    .unslider-nav ol li {
      display: inline-block;
      width: 6px;
      height: 6px;
      margin: 0 4px;
      background: #D8D8D8;
      border-radius: 5px;
      overflow: hidden;
      text-indent: -999em;
      border: 2px solid #D8D8D8;
      cursor: pointer; }
      @media (min-width: 46.25em) {
        .unslider-nav ol li {
          width: 3px;
          height: 3px;
          margin: 0 3px; } }
      .unslider-nav ol li.unslider-active {
        background: #000;
        border-color: #000;
        cursor: default; }

.unslider {
  position: relative;
  overflow: auto;
  margin: 0;
  padding: 0; }
  .unslider-wrap {
    position: relative; }
    .unslider-wrap.unslider-carousel > li {
      float: left; }
  .unslider-vertical > ul {
    height: 100%; }
  .unslider-vertical li {
    float: none;
    width: 100%; }
  .unslider-fade {
    position: relative; }
    .unslider-fade .unslider-wrap li {
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      z-index: 8; }
      .unslider-fade .unslider-wrap li.unslider-active {
        z-index: 10; }
  .unslider ul, .unslider ol, .unslider li {
    list-style: none;
    /* Reset any weird spacing */
    margin: 0;
    padding: 0;
    border: none;
    vertical-align: 0.35ex;
    line-height: 21px; }
  .unslider-arrow {
    position: absolute;
    left: 41%;
    text-align: right;
    z-index: 2;
    bottom: 0;
    padding: 5px 11px 5px 21px;
    background-color: #fff;
    color: #000;
    font-size: 10px;
    text-transform: uppercase;
    line-height: 21px;
    background-repeat: no-repeat;
    background-position: 10% 50%;
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%225%22%20height%3D%227%22%20viewBox%3D%22-1%204%205%207%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20stroke%3D%22%23000%22%20fill%3D%22none%22%20d%3D%22M2.575%205L0%207.336l2.575%202.56%22%2F%3E%3C%2Fsvg%3E");
    cursor: pointer; }
    @media (max-width: 46.24em) {
      .unslider-arrow {
        display: none; } }
    .unslider-arrow.next {
      left: auto;
      right: 41%;
      text-align: left;
      padding: 5px 21px 5px 11px;
      background-position: 90% 50%;
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%225%22%20height%3D%227%22%20viewBox%3D%22119%204%205%207%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20stroke%3D%22%23000%22%20fill%3D%22none%22%20d%3D%22M120%209.896l2.575-2.336L120%205%22%2F%3E%3C%2Fsvg%3E"); }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.68; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

/* optionally hide arrows until image is displayed */
.mfp-s-loading .mfp-arrow {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #969696;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #969696; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  z-index: 1046;
  box-shadow: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  position: absolute;
  right: 0;
  bottom: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 11px;
  color: #333333;
  font-style: normal;
  font-size: 12px;
  font-family: inherit;
  font-weight: 700;
  letter-spacing: 0.33px;
  text-transform: uppercase; }
  .mfp-close > * {
    pointer-events: none; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
  color: #333333;
  text-align: right;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #969696;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  color: #fff;
  font-size: 40px;
  -webkit-tap-highlight-color: transparent; }
  .mfp-arrow > * {
    pointer-events: none; }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1; }

.mfp-arrow-left {
  left: -90px; }

.mfp-arrow-right {
  right: -90px; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 0 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
  background-color: #fff;
  border: 2px solid #333333; }
  .mfp-figure:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -42px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
  padding: 11px; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #969696;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -ms-transform: scale(0.75);
        transform: scale(0.75); }
  .mfp-arrow-left {
    -ms-transform-origin: 0;
        transform-origin: 0; }
  .mfp-arrow-right {
    -ms-transform-origin: 100%;
        transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.s-rte ul {
  list-style-image: url("data:image/svg+xml,%3Csvg%20width%3D%224%22%20height%3D%229%22%20viewBox%3D%22762%201188%204%204%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M762.507%201188.794c.258-.287.633-.43%201.125-.43.478%200%20.85.14%201.114.423.264.283.397.704.397%201.265%200%20.542-.131.96-.393%201.254-.263.294-.635.441-1.118.441-.488%200-.861-.15-1.121-.448-.26-.298-.39-.714-.39-1.247%200-.552.129-.97.386-1.258z%22%20fill%3D%22%23969696%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E"); }
  .s-rte ul li {
    padding-left: 21px;
    margin-bottom: 21px; }

/* ==========================================================================
   #CLEARFIX
   ========================================================================== */
/**
 * Attach our clearfix mixin to a utility class.
 */
.u-clearfix:after {
  content: "" !important;
  display: block !important;
  clear: both !important; }

/* ==========================================================================
   #WIDTHS
   ========================================================================== */
/**
 * inuitcss generates a series of utility classes that give a fluid width to
 * whichever element they’re applied, e.g.:
 *
 *   <img src="" alt="" class="u-1/2" />
 *
 * These classes are most commonly used in conjunction with our layout system,
 * e.g.:
 *
 *   <div class="o-layout__item  u-1/2">
 *
 * By default, inuitcss will also generate responsive variants of each of these
 * classes by using your Sass MQ configuration, e.g.:
 *
 *   <div class="o-layout__item  u-1/1  u-1/2@tablet  u-1/3@desktop">
 *
 * Optionally, inuitcss can generate offset classes which can push and pull
 * elements left and right by a specified amount, e.g.:
 *
 *   <div class="o-layout__item  u-2/3  u-pull-1/3">
 *
 * This is useful for making very granular changes to the rendered order of
 * items in a layout.
 *
 * N.B. This option is turned off by default.
 */
/**
 * A series of width helper classes that you can use to size things like grid
 * systems. Classes take a fraction-like format (e.g. `.u-2/3`). Use these in
 * your markup:
 *
 * <div class="u-7/12">
 *
 * The following will generate widths helper classes based on the fractions
 * defined in the `$inuit-fractions` list.
 */
.u-1\/1 {
  width: 100% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-1\/1 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 100% !important; }

.u-pull-1\/1 {
  position: relative !important;
  right: 100% !important;
  left: auto !important;
  /* [1] */ }

.u-1\/2 {
  width: 50% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-1\/2 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 50% !important; }

.u-pull-1\/2 {
  position: relative !important;
  right: 50% !important;
  left: auto !important;
  /* [1] */ }

.u-2\/2 {
  width: 100% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-2\/2 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 100% !important; }

.u-pull-2\/2 {
  position: relative !important;
  right: 100% !important;
  left: auto !important;
  /* [1] */ }

.u-1\/3 {
  width: 33.33333% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-1\/3 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 33.33333% !important; }

.u-pull-1\/3 {
  position: relative !important;
  right: 33.33333% !important;
  left: auto !important;
  /* [1] */ }

.u-2\/3 {
  width: 66.66667% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-2\/3 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 66.66667% !important; }

.u-pull-2\/3 {
  position: relative !important;
  right: 66.66667% !important;
  left: auto !important;
  /* [1] */ }

.u-3\/3 {
  width: 100% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-3\/3 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 100% !important; }

.u-pull-3\/3 {
  position: relative !important;
  right: 100% !important;
  left: auto !important;
  /* [1] */ }

.u-1\/4 {
  width: 25% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-1\/4 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 25% !important; }

.u-pull-1\/4 {
  position: relative !important;
  right: 25% !important;
  left: auto !important;
  /* [1] */ }

.u-2\/4 {
  width: 50% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-2\/4 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 50% !important; }

.u-pull-2\/4 {
  position: relative !important;
  right: 50% !important;
  left: auto !important;
  /* [1] */ }

.u-3\/4 {
  width: 75% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-3\/4 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 75% !important; }

.u-pull-3\/4 {
  position: relative !important;
  right: 75% !important;
  left: auto !important;
  /* [1] */ }

.u-4\/4 {
  width: 100% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-4\/4 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 100% !important; }

.u-pull-4\/4 {
  position: relative !important;
  right: 100% !important;
  left: auto !important;
  /* [1] */ }

.u-1\/5 {
  width: 20% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-1\/5 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 20% !important; }

.u-pull-1\/5 {
  position: relative !important;
  right: 20% !important;
  left: auto !important;
  /* [1] */ }

.u-2\/5 {
  width: 40% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-2\/5 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 40% !important; }

.u-pull-2\/5 {
  position: relative !important;
  right: 40% !important;
  left: auto !important;
  /* [1] */ }

.u-3\/5 {
  width: 60% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-3\/5 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 60% !important; }

.u-pull-3\/5 {
  position: relative !important;
  right: 60% !important;
  left: auto !important;
  /* [1] */ }

.u-4\/5 {
  width: 80% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-4\/5 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 80% !important; }

.u-pull-4\/5 {
  position: relative !important;
  right: 80% !important;
  left: auto !important;
  /* [1] */ }

.u-5\/5 {
  width: 100% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-5\/5 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 100% !important; }

.u-pull-5\/5 {
  position: relative !important;
  right: 100% !important;
  left: auto !important;
  /* [1] */ }

.u-1\/6 {
  width: 16.66667% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-1\/6 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 16.66667% !important; }

.u-pull-1\/6 {
  position: relative !important;
  right: 16.66667% !important;
  left: auto !important;
  /* [1] */ }

.u-2\/6 {
  width: 33.33333% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-2\/6 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 33.33333% !important; }

.u-pull-2\/6 {
  position: relative !important;
  right: 33.33333% !important;
  left: auto !important;
  /* [1] */ }

.u-3\/6 {
  width: 50% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-3\/6 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 50% !important; }

.u-pull-3\/6 {
  position: relative !important;
  right: 50% !important;
  left: auto !important;
  /* [1] */ }

.u-4\/6 {
  width: 66.66667% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-4\/6 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 66.66667% !important; }

.u-pull-4\/6 {
  position: relative !important;
  right: 66.66667% !important;
  left: auto !important;
  /* [1] */ }

.u-5\/6 {
  width: 83.33333% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-5\/6 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 83.33333% !important; }

.u-pull-5\/6 {
  position: relative !important;
  right: 83.33333% !important;
  left: auto !important;
  /* [1] */ }

.u-6\/6 {
  width: 100% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-6\/6 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 100% !important; }

.u-pull-6\/6 {
  position: relative !important;
  right: 100% !important;
  left: auto !important;
  /* [1] */ }

.u-1\/11 {
  width: 9.09091% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-1\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 9.09091% !important; }

.u-pull-1\/11 {
  position: relative !important;
  right: 9.09091% !important;
  left: auto !important;
  /* [1] */ }

.u-2\/11 {
  width: 18.18182% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-2\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 18.18182% !important; }

.u-pull-2\/11 {
  position: relative !important;
  right: 18.18182% !important;
  left: auto !important;
  /* [1] */ }

.u-3\/11 {
  width: 27.27273% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-3\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 27.27273% !important; }

.u-pull-3\/11 {
  position: relative !important;
  right: 27.27273% !important;
  left: auto !important;
  /* [1] */ }

.u-4\/11 {
  width: 36.36364% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-4\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 36.36364% !important; }

.u-pull-4\/11 {
  position: relative !important;
  right: 36.36364% !important;
  left: auto !important;
  /* [1] */ }

.u-5\/11 {
  width: 45.45455% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-5\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 45.45455% !important; }

.u-pull-5\/11 {
  position: relative !important;
  right: 45.45455% !important;
  left: auto !important;
  /* [1] */ }

.u-6\/11 {
  width: 54.54545% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-6\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 54.54545% !important; }

.u-pull-6\/11 {
  position: relative !important;
  right: 54.54545% !important;
  left: auto !important;
  /* [1] */ }

.u-7\/11 {
  width: 63.63636% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-7\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 63.63636% !important; }

.u-pull-7\/11 {
  position: relative !important;
  right: 63.63636% !important;
  left: auto !important;
  /* [1] */ }

.u-8\/11 {
  width: 72.72727% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-8\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 72.72727% !important; }

.u-pull-8\/11 {
  position: relative !important;
  right: 72.72727% !important;
  left: auto !important;
  /* [1] */ }

.u-9\/11 {
  width: 81.81818% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-9\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 81.81818% !important; }

.u-pull-9\/11 {
  position: relative !important;
  right: 81.81818% !important;
  left: auto !important;
  /* [1] */ }

.u-10\/11 {
  width: 90.90909% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-10\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 90.90909% !important; }

.u-pull-10\/11 {
  position: relative !important;
  right: 90.90909% !important;
  left: auto !important;
  /* [1] */ }

.u-11\/11 {
  width: 100% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-11\/11 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 100% !important; }

.u-pull-11\/11 {
  position: relative !important;
  right: 100% !important;
  left: auto !important;
  /* [1] */ }

.u-1\/12 {
  width: 8.33333% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-1\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 8.33333% !important; }

.u-pull-1\/12 {
  position: relative !important;
  right: 8.33333% !important;
  left: auto !important;
  /* [1] */ }

.u-2\/12 {
  width: 16.66667% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-2\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 16.66667% !important; }

.u-pull-2\/12 {
  position: relative !important;
  right: 16.66667% !important;
  left: auto !important;
  /* [1] */ }

.u-3\/12 {
  width: 25% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-3\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 25% !important; }

.u-pull-3\/12 {
  position: relative !important;
  right: 25% !important;
  left: auto !important;
  /* [1] */ }

.u-4\/12 {
  width: 33.33333% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-4\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 33.33333% !important; }

.u-pull-4\/12 {
  position: relative !important;
  right: 33.33333% !important;
  left: auto !important;
  /* [1] */ }

.u-5\/12 {
  width: 41.66667% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-5\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 41.66667% !important; }

.u-pull-5\/12 {
  position: relative !important;
  right: 41.66667% !important;
  left: auto !important;
  /* [1] */ }

.u-6\/12 {
  width: 50% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-6\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 50% !important; }

.u-pull-6\/12 {
  position: relative !important;
  right: 50% !important;
  left: auto !important;
  /* [1] */ }

.u-7\/12 {
  width: 58.33333% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-7\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 58.33333% !important; }

.u-pull-7\/12 {
  position: relative !important;
  right: 58.33333% !important;
  left: auto !important;
  /* [1] */ }

.u-8\/12 {
  width: 66.66667% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-8\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 66.66667% !important; }

.u-pull-8\/12 {
  position: relative !important;
  right: 66.66667% !important;
  left: auto !important;
  /* [1] */ }

.u-9\/12 {
  width: 75% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-9\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 75% !important; }

.u-pull-9\/12 {
  position: relative !important;
  right: 75% !important;
  left: auto !important;
  /* [1] */ }

.u-10\/12 {
  width: 83.33333% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-10\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 83.33333% !important; }

.u-pull-10\/12 {
  position: relative !important;
  right: 83.33333% !important;
  left: auto !important;
  /* [1] */ }

.u-11\/12 {
  width: 91.66667% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-11\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 91.66667% !important; }

.u-pull-11\/12 {
  position: relative !important;
  right: 91.66667% !important;
  left: auto !important;
  /* [1] */ }

.u-12\/12 {
  width: 100% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-12\/12 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 100% !important; }

.u-pull-12\/12 {
  position: relative !important;
  right: 100% !important;
  left: auto !important;
  /* [1] */ }

.u-1\/17 {
  width: 5.88235% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-1\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 5.88235% !important; }

.u-pull-1\/17 {
  position: relative !important;
  right: 5.88235% !important;
  left: auto !important;
  /* [1] */ }

.u-2\/17 {
  width: 11.76471% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-2\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 11.76471% !important; }

.u-pull-2\/17 {
  position: relative !important;
  right: 11.76471% !important;
  left: auto !important;
  /* [1] */ }

.u-3\/17 {
  width: 17.64706% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-3\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 17.64706% !important; }

.u-pull-3\/17 {
  position: relative !important;
  right: 17.64706% !important;
  left: auto !important;
  /* [1] */ }

.u-4\/17 {
  width: 23.52941% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-4\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 23.52941% !important; }

.u-pull-4\/17 {
  position: relative !important;
  right: 23.52941% !important;
  left: auto !important;
  /* [1] */ }

.u-5\/17 {
  width: 29.41176% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-5\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 29.41176% !important; }

.u-pull-5\/17 {
  position: relative !important;
  right: 29.41176% !important;
  left: auto !important;
  /* [1] */ }

.u-6\/17 {
  width: 35.29412% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-6\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 35.29412% !important; }

.u-pull-6\/17 {
  position: relative !important;
  right: 35.29412% !important;
  left: auto !important;
  /* [1] */ }

.u-7\/17 {
  width: 41.17647% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-7\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 41.17647% !important; }

.u-pull-7\/17 {
  position: relative !important;
  right: 41.17647% !important;
  left: auto !important;
  /* [1] */ }

.u-8\/17 {
  width: 47.05882% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-8\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 47.05882% !important; }

.u-pull-8\/17 {
  position: relative !important;
  right: 47.05882% !important;
  left: auto !important;
  /* [1] */ }

.u-9\/17 {
  width: 52.94118% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-9\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 52.94118% !important; }

.u-pull-9\/17 {
  position: relative !important;
  right: 52.94118% !important;
  left: auto !important;
  /* [1] */ }

.u-10\/17 {
  width: 58.82353% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-10\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 58.82353% !important; }

.u-pull-10\/17 {
  position: relative !important;
  right: 58.82353% !important;
  left: auto !important;
  /* [1] */ }

.u-11\/17 {
  width: 64.70588% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-11\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 64.70588% !important; }

.u-pull-11\/17 {
  position: relative !important;
  right: 64.70588% !important;
  left: auto !important;
  /* [1] */ }

.u-12\/17 {
  width: 70.58824% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-12\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 70.58824% !important; }

.u-pull-12\/17 {
  position: relative !important;
  right: 70.58824% !important;
  left: auto !important;
  /* [1] */ }

.u-13\/17 {
  width: 76.47059% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-13\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 76.47059% !important; }

.u-pull-13\/17 {
  position: relative !important;
  right: 76.47059% !important;
  left: auto !important;
  /* [1] */ }

.u-14\/17 {
  width: 82.35294% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-14\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 82.35294% !important; }

.u-pull-14\/17 {
  position: relative !important;
  right: 82.35294% !important;
  left: auto !important;
  /* [1] */ }

.u-15\/17 {
  width: 88.23529% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-15\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 88.23529% !important; }

.u-pull-15\/17 {
  position: relative !important;
  right: 88.23529% !important;
  left: auto !important;
  /* [1] */ }

.u-16\/17 {
  width: 94.11765% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-16\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 94.11765% !important; }

.u-pull-16\/17 {
  position: relative !important;
  right: 94.11765% !important;
  left: auto !important;
  /* [1] */ }

.u-17\/17 {
  width: 100% !important; }

/**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
.u-push-17\/17 {
  position: relative !important;
  right: auto !important;
  /* [1] */
  left: 100% !important; }

.u-pull-17\/17 {
  position: relative !important;
  right: 100% !important;
  left: auto !important;
  /* [1] */ }

/**
 * If we’re using Sass-MQ, automatically generate grid system(s) for each of our
 * defined breakpoints, and give them a Responsive Suffix, e.g.:
 *
 * <div class="u-3/12@mobile">
 */
@media (min-width: 23.4375em) {
  .u-1\/1\@mobile {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/1\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-1\/1\@mobile {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/2\@mobile {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/2\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-1\/2\@mobile {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/2\@mobile {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/2\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-2\/2\@mobile {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/3\@mobile {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/3\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-1\/3\@mobile {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/3\@mobile {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/3\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-2\/3\@mobile {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/3\@mobile {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/3\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-3\/3\@mobile {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/4\@mobile {
    width: 25% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/4\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 25% !important; }
  .u-pull-1\/4\@mobile {
    position: relative !important;
    right: 25% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/4\@mobile {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/4\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-2\/4\@mobile {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/4\@mobile {
    width: 75% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/4\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 75% !important; }
  .u-pull-3\/4\@mobile {
    position: relative !important;
    right: 75% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/4\@mobile {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/4\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-4\/4\@mobile {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/5\@mobile {
    width: 20% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/5\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 20% !important; }
  .u-pull-1\/5\@mobile {
    position: relative !important;
    right: 20% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/5\@mobile {
    width: 40% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/5\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 40% !important; }
  .u-pull-2\/5\@mobile {
    position: relative !important;
    right: 40% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/5\@mobile {
    width: 60% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/5\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 60% !important; }
  .u-pull-3\/5\@mobile {
    position: relative !important;
    right: 60% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/5\@mobile {
    width: 80% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/5\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 80% !important; }
  .u-pull-4\/5\@mobile {
    position: relative !important;
    right: 80% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/5\@mobile {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/5\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-5\/5\@mobile {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/6\@mobile {
    width: 16.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/6\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 16.66667% !important; }
  .u-pull-1\/6\@mobile {
    position: relative !important;
    right: 16.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/6\@mobile {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/6\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-2\/6\@mobile {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/6\@mobile {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/6\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-3\/6\@mobile {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/6\@mobile {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/6\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-4\/6\@mobile {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/6\@mobile {
    width: 83.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/6\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 83.33333% !important; }
  .u-pull-5\/6\@mobile {
    position: relative !important;
    right: 83.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/6\@mobile {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/6\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-6\/6\@mobile {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/11\@mobile {
    width: 9.09091% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 9.09091% !important; }
  .u-pull-1\/11\@mobile {
    position: relative !important;
    right: 9.09091% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/11\@mobile {
    width: 18.18182% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 18.18182% !important; }
  .u-pull-2\/11\@mobile {
    position: relative !important;
    right: 18.18182% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/11\@mobile {
    width: 27.27273% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 27.27273% !important; }
  .u-pull-3\/11\@mobile {
    position: relative !important;
    right: 27.27273% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/11\@mobile {
    width: 36.36364% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 36.36364% !important; }
  .u-pull-4\/11\@mobile {
    position: relative !important;
    right: 36.36364% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/11\@mobile {
    width: 45.45455% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 45.45455% !important; }
  .u-pull-5\/11\@mobile {
    position: relative !important;
    right: 45.45455% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/11\@mobile {
    width: 54.54545% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 54.54545% !important; }
  .u-pull-6\/11\@mobile {
    position: relative !important;
    right: 54.54545% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/11\@mobile {
    width: 63.63636% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 63.63636% !important; }
  .u-pull-7\/11\@mobile {
    position: relative !important;
    right: 63.63636% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/11\@mobile {
    width: 72.72727% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 72.72727% !important; }
  .u-pull-8\/11\@mobile {
    position: relative !important;
    right: 72.72727% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/11\@mobile {
    width: 81.81818% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 81.81818% !important; }
  .u-pull-9\/11\@mobile {
    position: relative !important;
    right: 81.81818% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/11\@mobile {
    width: 90.90909% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 90.90909% !important; }
  .u-pull-10\/11\@mobile {
    position: relative !important;
    right: 90.90909% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/11\@mobile {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/11\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-11\/11\@mobile {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/12\@mobile {
    width: 8.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 8.33333% !important; }
  .u-pull-1\/12\@mobile {
    position: relative !important;
    right: 8.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/12\@mobile {
    width: 16.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 16.66667% !important; }
  .u-pull-2\/12\@mobile {
    position: relative !important;
    right: 16.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/12\@mobile {
    width: 25% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 25% !important; }
  .u-pull-3\/12\@mobile {
    position: relative !important;
    right: 25% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/12\@mobile {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-4\/12\@mobile {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/12\@mobile {
    width: 41.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 41.66667% !important; }
  .u-pull-5\/12\@mobile {
    position: relative !important;
    right: 41.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/12\@mobile {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-6\/12\@mobile {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/12\@mobile {
    width: 58.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 58.33333% !important; }
  .u-pull-7\/12\@mobile {
    position: relative !important;
    right: 58.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/12\@mobile {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-8\/12\@mobile {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/12\@mobile {
    width: 75% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 75% !important; }
  .u-pull-9\/12\@mobile {
    position: relative !important;
    right: 75% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/12\@mobile {
    width: 83.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 83.33333% !important; }
  .u-pull-10\/12\@mobile {
    position: relative !important;
    right: 83.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/12\@mobile {
    width: 91.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 91.66667% !important; }
  .u-pull-11\/12\@mobile {
    position: relative !important;
    right: 91.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-12\/12\@mobile {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-12\/12\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-12\/12\@mobile {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/17\@mobile {
    width: 5.88235% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 5.88235% !important; }
  .u-pull-1\/17\@mobile {
    position: relative !important;
    right: 5.88235% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/17\@mobile {
    width: 11.76471% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 11.76471% !important; }
  .u-pull-2\/17\@mobile {
    position: relative !important;
    right: 11.76471% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/17\@mobile {
    width: 17.64706% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 17.64706% !important; }
  .u-pull-3\/17\@mobile {
    position: relative !important;
    right: 17.64706% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/17\@mobile {
    width: 23.52941% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 23.52941% !important; }
  .u-pull-4\/17\@mobile {
    position: relative !important;
    right: 23.52941% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/17\@mobile {
    width: 29.41176% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 29.41176% !important; }
  .u-pull-5\/17\@mobile {
    position: relative !important;
    right: 29.41176% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/17\@mobile {
    width: 35.29412% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 35.29412% !important; }
  .u-pull-6\/17\@mobile {
    position: relative !important;
    right: 35.29412% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/17\@mobile {
    width: 41.17647% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 41.17647% !important; }
  .u-pull-7\/17\@mobile {
    position: relative !important;
    right: 41.17647% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/17\@mobile {
    width: 47.05882% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 47.05882% !important; }
  .u-pull-8\/17\@mobile {
    position: relative !important;
    right: 47.05882% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/17\@mobile {
    width: 52.94118% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 52.94118% !important; }
  .u-pull-9\/17\@mobile {
    position: relative !important;
    right: 52.94118% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/17\@mobile {
    width: 58.82353% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 58.82353% !important; }
  .u-pull-10\/17\@mobile {
    position: relative !important;
    right: 58.82353% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/17\@mobile {
    width: 64.70588% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 64.70588% !important; }
  .u-pull-11\/17\@mobile {
    position: relative !important;
    right: 64.70588% !important;
    left: auto !important;
    /* [1] */ }
  .u-12\/17\@mobile {
    width: 70.58824% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-12\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 70.58824% !important; }
  .u-pull-12\/17\@mobile {
    position: relative !important;
    right: 70.58824% !important;
    left: auto !important;
    /* [1] */ }
  .u-13\/17\@mobile {
    width: 76.47059% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-13\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 76.47059% !important; }
  .u-pull-13\/17\@mobile {
    position: relative !important;
    right: 76.47059% !important;
    left: auto !important;
    /* [1] */ }
  .u-14\/17\@mobile {
    width: 82.35294% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-14\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 82.35294% !important; }
  .u-pull-14\/17\@mobile {
    position: relative !important;
    right: 82.35294% !important;
    left: auto !important;
    /* [1] */ }
  .u-15\/17\@mobile {
    width: 88.23529% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-15\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 88.23529% !important; }
  .u-pull-15\/17\@mobile {
    position: relative !important;
    right: 88.23529% !important;
    left: auto !important;
    /* [1] */ }
  .u-16\/17\@mobile {
    width: 94.11765% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-16\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 94.11765% !important; }
  .u-pull-16\/17\@mobile {
    position: relative !important;
    right: 94.11765% !important;
    left: auto !important;
    /* [1] */ }
  .u-17\/17\@mobile {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-17\/17\@mobile {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-17\/17\@mobile {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ } }

@media (min-width: 46.25em) {
  .u-1\/1\@tablet {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/1\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-1\/1\@tablet {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/2\@tablet {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/2\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-1\/2\@tablet {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/2\@tablet {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/2\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-2\/2\@tablet {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/3\@tablet {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/3\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-1\/3\@tablet {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/3\@tablet {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/3\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-2\/3\@tablet {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/3\@tablet {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/3\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-3\/3\@tablet {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/4\@tablet {
    width: 25% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/4\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 25% !important; }
  .u-pull-1\/4\@tablet {
    position: relative !important;
    right: 25% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/4\@tablet {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/4\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-2\/4\@tablet {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/4\@tablet {
    width: 75% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/4\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 75% !important; }
  .u-pull-3\/4\@tablet {
    position: relative !important;
    right: 75% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/4\@tablet {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/4\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-4\/4\@tablet {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/5\@tablet {
    width: 20% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/5\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 20% !important; }
  .u-pull-1\/5\@tablet {
    position: relative !important;
    right: 20% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/5\@tablet {
    width: 40% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/5\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 40% !important; }
  .u-pull-2\/5\@tablet {
    position: relative !important;
    right: 40% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/5\@tablet {
    width: 60% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/5\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 60% !important; }
  .u-pull-3\/5\@tablet {
    position: relative !important;
    right: 60% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/5\@tablet {
    width: 80% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/5\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 80% !important; }
  .u-pull-4\/5\@tablet {
    position: relative !important;
    right: 80% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/5\@tablet {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/5\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-5\/5\@tablet {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/6\@tablet {
    width: 16.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/6\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 16.66667% !important; }
  .u-pull-1\/6\@tablet {
    position: relative !important;
    right: 16.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/6\@tablet {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/6\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-2\/6\@tablet {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/6\@tablet {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/6\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-3\/6\@tablet {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/6\@tablet {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/6\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-4\/6\@tablet {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/6\@tablet {
    width: 83.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/6\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 83.33333% !important; }
  .u-pull-5\/6\@tablet {
    position: relative !important;
    right: 83.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/6\@tablet {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/6\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-6\/6\@tablet {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/11\@tablet {
    width: 9.09091% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 9.09091% !important; }
  .u-pull-1\/11\@tablet {
    position: relative !important;
    right: 9.09091% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/11\@tablet {
    width: 18.18182% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 18.18182% !important; }
  .u-pull-2\/11\@tablet {
    position: relative !important;
    right: 18.18182% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/11\@tablet {
    width: 27.27273% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 27.27273% !important; }
  .u-pull-3\/11\@tablet {
    position: relative !important;
    right: 27.27273% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/11\@tablet {
    width: 36.36364% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 36.36364% !important; }
  .u-pull-4\/11\@tablet {
    position: relative !important;
    right: 36.36364% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/11\@tablet {
    width: 45.45455% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 45.45455% !important; }
  .u-pull-5\/11\@tablet {
    position: relative !important;
    right: 45.45455% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/11\@tablet {
    width: 54.54545% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 54.54545% !important; }
  .u-pull-6\/11\@tablet {
    position: relative !important;
    right: 54.54545% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/11\@tablet {
    width: 63.63636% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 63.63636% !important; }
  .u-pull-7\/11\@tablet {
    position: relative !important;
    right: 63.63636% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/11\@tablet {
    width: 72.72727% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 72.72727% !important; }
  .u-pull-8\/11\@tablet {
    position: relative !important;
    right: 72.72727% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/11\@tablet {
    width: 81.81818% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 81.81818% !important; }
  .u-pull-9\/11\@tablet {
    position: relative !important;
    right: 81.81818% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/11\@tablet {
    width: 90.90909% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 90.90909% !important; }
  .u-pull-10\/11\@tablet {
    position: relative !important;
    right: 90.90909% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/11\@tablet {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/11\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-11\/11\@tablet {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/12\@tablet {
    width: 8.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 8.33333% !important; }
  .u-pull-1\/12\@tablet {
    position: relative !important;
    right: 8.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/12\@tablet {
    width: 16.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 16.66667% !important; }
  .u-pull-2\/12\@tablet {
    position: relative !important;
    right: 16.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/12\@tablet {
    width: 25% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 25% !important; }
  .u-pull-3\/12\@tablet {
    position: relative !important;
    right: 25% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/12\@tablet {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-4\/12\@tablet {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/12\@tablet {
    width: 41.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 41.66667% !important; }
  .u-pull-5\/12\@tablet {
    position: relative !important;
    right: 41.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/12\@tablet {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-6\/12\@tablet {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/12\@tablet {
    width: 58.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 58.33333% !important; }
  .u-pull-7\/12\@tablet {
    position: relative !important;
    right: 58.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/12\@tablet {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-8\/12\@tablet {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/12\@tablet {
    width: 75% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 75% !important; }
  .u-pull-9\/12\@tablet {
    position: relative !important;
    right: 75% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/12\@tablet {
    width: 83.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 83.33333% !important; }
  .u-pull-10\/12\@tablet {
    position: relative !important;
    right: 83.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/12\@tablet {
    width: 91.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 91.66667% !important; }
  .u-pull-11\/12\@tablet {
    position: relative !important;
    right: 91.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-12\/12\@tablet {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-12\/12\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-12\/12\@tablet {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/17\@tablet {
    width: 5.88235% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 5.88235% !important; }
  .u-pull-1\/17\@tablet {
    position: relative !important;
    right: 5.88235% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/17\@tablet {
    width: 11.76471% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 11.76471% !important; }
  .u-pull-2\/17\@tablet {
    position: relative !important;
    right: 11.76471% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/17\@tablet {
    width: 17.64706% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 17.64706% !important; }
  .u-pull-3\/17\@tablet {
    position: relative !important;
    right: 17.64706% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/17\@tablet {
    width: 23.52941% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 23.52941% !important; }
  .u-pull-4\/17\@tablet {
    position: relative !important;
    right: 23.52941% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/17\@tablet {
    width: 29.41176% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 29.41176% !important; }
  .u-pull-5\/17\@tablet {
    position: relative !important;
    right: 29.41176% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/17\@tablet {
    width: 35.29412% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 35.29412% !important; }
  .u-pull-6\/17\@tablet {
    position: relative !important;
    right: 35.29412% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/17\@tablet {
    width: 41.17647% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 41.17647% !important; }
  .u-pull-7\/17\@tablet {
    position: relative !important;
    right: 41.17647% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/17\@tablet {
    width: 47.05882% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 47.05882% !important; }
  .u-pull-8\/17\@tablet {
    position: relative !important;
    right: 47.05882% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/17\@tablet {
    width: 52.94118% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 52.94118% !important; }
  .u-pull-9\/17\@tablet {
    position: relative !important;
    right: 52.94118% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/17\@tablet {
    width: 58.82353% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 58.82353% !important; }
  .u-pull-10\/17\@tablet {
    position: relative !important;
    right: 58.82353% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/17\@tablet {
    width: 64.70588% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 64.70588% !important; }
  .u-pull-11\/17\@tablet {
    position: relative !important;
    right: 64.70588% !important;
    left: auto !important;
    /* [1] */ }
  .u-12\/17\@tablet {
    width: 70.58824% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-12\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 70.58824% !important; }
  .u-pull-12\/17\@tablet {
    position: relative !important;
    right: 70.58824% !important;
    left: auto !important;
    /* [1] */ }
  .u-13\/17\@tablet {
    width: 76.47059% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-13\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 76.47059% !important; }
  .u-pull-13\/17\@tablet {
    position: relative !important;
    right: 76.47059% !important;
    left: auto !important;
    /* [1] */ }
  .u-14\/17\@tablet {
    width: 82.35294% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-14\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 82.35294% !important; }
  .u-pull-14\/17\@tablet {
    position: relative !important;
    right: 82.35294% !important;
    left: auto !important;
    /* [1] */ }
  .u-15\/17\@tablet {
    width: 88.23529% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-15\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 88.23529% !important; }
  .u-pull-15\/17\@tablet {
    position: relative !important;
    right: 88.23529% !important;
    left: auto !important;
    /* [1] */ }
  .u-16\/17\@tablet {
    width: 94.11765% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-16\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 94.11765% !important; }
  .u-pull-16\/17\@tablet {
    position: relative !important;
    right: 94.11765% !important;
    left: auto !important;
    /* [1] */ }
  .u-17\/17\@tablet {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-17\/17\@tablet {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-17\/17\@tablet {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ } }

@media (min-width: 61.25em) {
  .u-1\/1\@desktop {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/1\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-1\/1\@desktop {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/2\@desktop {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/2\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-1\/2\@desktop {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/2\@desktop {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/2\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-2\/2\@desktop {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/3\@desktop {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/3\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-1\/3\@desktop {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/3\@desktop {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/3\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-2\/3\@desktop {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/3\@desktop {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/3\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-3\/3\@desktop {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/4\@desktop {
    width: 25% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/4\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 25% !important; }
  .u-pull-1\/4\@desktop {
    position: relative !important;
    right: 25% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/4\@desktop {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/4\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-2\/4\@desktop {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/4\@desktop {
    width: 75% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/4\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 75% !important; }
  .u-pull-3\/4\@desktop {
    position: relative !important;
    right: 75% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/4\@desktop {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/4\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-4\/4\@desktop {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/5\@desktop {
    width: 20% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/5\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 20% !important; }
  .u-pull-1\/5\@desktop {
    position: relative !important;
    right: 20% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/5\@desktop {
    width: 40% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/5\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 40% !important; }
  .u-pull-2\/5\@desktop {
    position: relative !important;
    right: 40% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/5\@desktop {
    width: 60% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/5\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 60% !important; }
  .u-pull-3\/5\@desktop {
    position: relative !important;
    right: 60% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/5\@desktop {
    width: 80% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/5\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 80% !important; }
  .u-pull-4\/5\@desktop {
    position: relative !important;
    right: 80% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/5\@desktop {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/5\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-5\/5\@desktop {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/6\@desktop {
    width: 16.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/6\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 16.66667% !important; }
  .u-pull-1\/6\@desktop {
    position: relative !important;
    right: 16.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/6\@desktop {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/6\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-2\/6\@desktop {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/6\@desktop {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/6\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-3\/6\@desktop {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/6\@desktop {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/6\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-4\/6\@desktop {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/6\@desktop {
    width: 83.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/6\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 83.33333% !important; }
  .u-pull-5\/6\@desktop {
    position: relative !important;
    right: 83.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/6\@desktop {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/6\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-6\/6\@desktop {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/11\@desktop {
    width: 9.09091% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 9.09091% !important; }
  .u-pull-1\/11\@desktop {
    position: relative !important;
    right: 9.09091% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/11\@desktop {
    width: 18.18182% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 18.18182% !important; }
  .u-pull-2\/11\@desktop {
    position: relative !important;
    right: 18.18182% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/11\@desktop {
    width: 27.27273% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 27.27273% !important; }
  .u-pull-3\/11\@desktop {
    position: relative !important;
    right: 27.27273% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/11\@desktop {
    width: 36.36364% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 36.36364% !important; }
  .u-pull-4\/11\@desktop {
    position: relative !important;
    right: 36.36364% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/11\@desktop {
    width: 45.45455% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 45.45455% !important; }
  .u-pull-5\/11\@desktop {
    position: relative !important;
    right: 45.45455% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/11\@desktop {
    width: 54.54545% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 54.54545% !important; }
  .u-pull-6\/11\@desktop {
    position: relative !important;
    right: 54.54545% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/11\@desktop {
    width: 63.63636% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 63.63636% !important; }
  .u-pull-7\/11\@desktop {
    position: relative !important;
    right: 63.63636% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/11\@desktop {
    width: 72.72727% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 72.72727% !important; }
  .u-pull-8\/11\@desktop {
    position: relative !important;
    right: 72.72727% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/11\@desktop {
    width: 81.81818% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 81.81818% !important; }
  .u-pull-9\/11\@desktop {
    position: relative !important;
    right: 81.81818% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/11\@desktop {
    width: 90.90909% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 90.90909% !important; }
  .u-pull-10\/11\@desktop {
    position: relative !important;
    right: 90.90909% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/11\@desktop {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/11\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-11\/11\@desktop {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/12\@desktop {
    width: 8.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 8.33333% !important; }
  .u-pull-1\/12\@desktop {
    position: relative !important;
    right: 8.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/12\@desktop {
    width: 16.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 16.66667% !important; }
  .u-pull-2\/12\@desktop {
    position: relative !important;
    right: 16.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/12\@desktop {
    width: 25% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 25% !important; }
  .u-pull-3\/12\@desktop {
    position: relative !important;
    right: 25% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/12\@desktop {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-4\/12\@desktop {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/12\@desktop {
    width: 41.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 41.66667% !important; }
  .u-pull-5\/12\@desktop {
    position: relative !important;
    right: 41.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/12\@desktop {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-6\/12\@desktop {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/12\@desktop {
    width: 58.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 58.33333% !important; }
  .u-pull-7\/12\@desktop {
    position: relative !important;
    right: 58.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/12\@desktop {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-8\/12\@desktop {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/12\@desktop {
    width: 75% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 75% !important; }
  .u-pull-9\/12\@desktop {
    position: relative !important;
    right: 75% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/12\@desktop {
    width: 83.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 83.33333% !important; }
  .u-pull-10\/12\@desktop {
    position: relative !important;
    right: 83.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/12\@desktop {
    width: 91.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 91.66667% !important; }
  .u-pull-11\/12\@desktop {
    position: relative !important;
    right: 91.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-12\/12\@desktop {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-12\/12\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-12\/12\@desktop {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/17\@desktop {
    width: 5.88235% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 5.88235% !important; }
  .u-pull-1\/17\@desktop {
    position: relative !important;
    right: 5.88235% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/17\@desktop {
    width: 11.76471% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 11.76471% !important; }
  .u-pull-2\/17\@desktop {
    position: relative !important;
    right: 11.76471% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/17\@desktop {
    width: 17.64706% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 17.64706% !important; }
  .u-pull-3\/17\@desktop {
    position: relative !important;
    right: 17.64706% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/17\@desktop {
    width: 23.52941% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 23.52941% !important; }
  .u-pull-4\/17\@desktop {
    position: relative !important;
    right: 23.52941% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/17\@desktop {
    width: 29.41176% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 29.41176% !important; }
  .u-pull-5\/17\@desktop {
    position: relative !important;
    right: 29.41176% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/17\@desktop {
    width: 35.29412% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 35.29412% !important; }
  .u-pull-6\/17\@desktop {
    position: relative !important;
    right: 35.29412% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/17\@desktop {
    width: 41.17647% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 41.17647% !important; }
  .u-pull-7\/17\@desktop {
    position: relative !important;
    right: 41.17647% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/17\@desktop {
    width: 47.05882% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 47.05882% !important; }
  .u-pull-8\/17\@desktop {
    position: relative !important;
    right: 47.05882% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/17\@desktop {
    width: 52.94118% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 52.94118% !important; }
  .u-pull-9\/17\@desktop {
    position: relative !important;
    right: 52.94118% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/17\@desktop {
    width: 58.82353% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 58.82353% !important; }
  .u-pull-10\/17\@desktop {
    position: relative !important;
    right: 58.82353% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/17\@desktop {
    width: 64.70588% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 64.70588% !important; }
  .u-pull-11\/17\@desktop {
    position: relative !important;
    right: 64.70588% !important;
    left: auto !important;
    /* [1] */ }
  .u-12\/17\@desktop {
    width: 70.58824% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-12\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 70.58824% !important; }
  .u-pull-12\/17\@desktop {
    position: relative !important;
    right: 70.58824% !important;
    left: auto !important;
    /* [1] */ }
  .u-13\/17\@desktop {
    width: 76.47059% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-13\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 76.47059% !important; }
  .u-pull-13\/17\@desktop {
    position: relative !important;
    right: 76.47059% !important;
    left: auto !important;
    /* [1] */ }
  .u-14\/17\@desktop {
    width: 82.35294% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-14\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 82.35294% !important; }
  .u-pull-14\/17\@desktop {
    position: relative !important;
    right: 82.35294% !important;
    left: auto !important;
    /* [1] */ }
  .u-15\/17\@desktop {
    width: 88.23529% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-15\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 88.23529% !important; }
  .u-pull-15\/17\@desktop {
    position: relative !important;
    right: 88.23529% !important;
    left: auto !important;
    /* [1] */ }
  .u-16\/17\@desktop {
    width: 94.11765% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-16\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 94.11765% !important; }
  .u-pull-16\/17\@desktop {
    position: relative !important;
    right: 94.11765% !important;
    left: auto !important;
    /* [1] */ }
  .u-17\/17\@desktop {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-17\/17\@desktop {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-17\/17\@desktop {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ } }

@media (min-width: 81.25em) {
  .u-1\/1\@wide {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/1\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-1\/1\@wide {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/2\@wide {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/2\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-1\/2\@wide {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/2\@wide {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/2\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-2\/2\@wide {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/3\@wide {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/3\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-1\/3\@wide {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/3\@wide {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/3\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-2\/3\@wide {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/3\@wide {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/3\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-3\/3\@wide {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/4\@wide {
    width: 25% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/4\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 25% !important; }
  .u-pull-1\/4\@wide {
    position: relative !important;
    right: 25% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/4\@wide {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/4\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-2\/4\@wide {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/4\@wide {
    width: 75% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/4\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 75% !important; }
  .u-pull-3\/4\@wide {
    position: relative !important;
    right: 75% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/4\@wide {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/4\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-4\/4\@wide {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/5\@wide {
    width: 20% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/5\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 20% !important; }
  .u-pull-1\/5\@wide {
    position: relative !important;
    right: 20% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/5\@wide {
    width: 40% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/5\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 40% !important; }
  .u-pull-2\/5\@wide {
    position: relative !important;
    right: 40% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/5\@wide {
    width: 60% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/5\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 60% !important; }
  .u-pull-3\/5\@wide {
    position: relative !important;
    right: 60% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/5\@wide {
    width: 80% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/5\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 80% !important; }
  .u-pull-4\/5\@wide {
    position: relative !important;
    right: 80% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/5\@wide {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/5\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-5\/5\@wide {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/6\@wide {
    width: 16.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/6\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 16.66667% !important; }
  .u-pull-1\/6\@wide {
    position: relative !important;
    right: 16.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/6\@wide {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/6\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-2\/6\@wide {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/6\@wide {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/6\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-3\/6\@wide {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/6\@wide {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/6\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-4\/6\@wide {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/6\@wide {
    width: 83.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/6\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 83.33333% !important; }
  .u-pull-5\/6\@wide {
    position: relative !important;
    right: 83.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/6\@wide {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/6\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-6\/6\@wide {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/11\@wide {
    width: 9.09091% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 9.09091% !important; }
  .u-pull-1\/11\@wide {
    position: relative !important;
    right: 9.09091% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/11\@wide {
    width: 18.18182% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 18.18182% !important; }
  .u-pull-2\/11\@wide {
    position: relative !important;
    right: 18.18182% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/11\@wide {
    width: 27.27273% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 27.27273% !important; }
  .u-pull-3\/11\@wide {
    position: relative !important;
    right: 27.27273% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/11\@wide {
    width: 36.36364% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 36.36364% !important; }
  .u-pull-4\/11\@wide {
    position: relative !important;
    right: 36.36364% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/11\@wide {
    width: 45.45455% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 45.45455% !important; }
  .u-pull-5\/11\@wide {
    position: relative !important;
    right: 45.45455% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/11\@wide {
    width: 54.54545% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 54.54545% !important; }
  .u-pull-6\/11\@wide {
    position: relative !important;
    right: 54.54545% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/11\@wide {
    width: 63.63636% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 63.63636% !important; }
  .u-pull-7\/11\@wide {
    position: relative !important;
    right: 63.63636% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/11\@wide {
    width: 72.72727% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 72.72727% !important; }
  .u-pull-8\/11\@wide {
    position: relative !important;
    right: 72.72727% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/11\@wide {
    width: 81.81818% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 81.81818% !important; }
  .u-pull-9\/11\@wide {
    position: relative !important;
    right: 81.81818% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/11\@wide {
    width: 90.90909% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 90.90909% !important; }
  .u-pull-10\/11\@wide {
    position: relative !important;
    right: 90.90909% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/11\@wide {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/11\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-11\/11\@wide {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/12\@wide {
    width: 8.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 8.33333% !important; }
  .u-pull-1\/12\@wide {
    position: relative !important;
    right: 8.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/12\@wide {
    width: 16.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 16.66667% !important; }
  .u-pull-2\/12\@wide {
    position: relative !important;
    right: 16.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/12\@wide {
    width: 25% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 25% !important; }
  .u-pull-3\/12\@wide {
    position: relative !important;
    right: 25% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/12\@wide {
    width: 33.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 33.33333% !important; }
  .u-pull-4\/12\@wide {
    position: relative !important;
    right: 33.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/12\@wide {
    width: 41.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 41.66667% !important; }
  .u-pull-5\/12\@wide {
    position: relative !important;
    right: 41.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/12\@wide {
    width: 50% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 50% !important; }
  .u-pull-6\/12\@wide {
    position: relative !important;
    right: 50% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/12\@wide {
    width: 58.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 58.33333% !important; }
  .u-pull-7\/12\@wide {
    position: relative !important;
    right: 58.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/12\@wide {
    width: 66.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 66.66667% !important; }
  .u-pull-8\/12\@wide {
    position: relative !important;
    right: 66.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/12\@wide {
    width: 75% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 75% !important; }
  .u-pull-9\/12\@wide {
    position: relative !important;
    right: 75% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/12\@wide {
    width: 83.33333% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 83.33333% !important; }
  .u-pull-10\/12\@wide {
    position: relative !important;
    right: 83.33333% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/12\@wide {
    width: 91.66667% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 91.66667% !important; }
  .u-pull-11\/12\@wide {
    position: relative !important;
    right: 91.66667% !important;
    left: auto !important;
    /* [1] */ }
  .u-12\/12\@wide {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-12\/12\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-12\/12\@wide {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ }
  .u-1\/17\@wide {
    width: 5.88235% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-1\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 5.88235% !important; }
  .u-pull-1\/17\@wide {
    position: relative !important;
    right: 5.88235% !important;
    left: auto !important;
    /* [1] */ }
  .u-2\/17\@wide {
    width: 11.76471% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-2\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 11.76471% !important; }
  .u-pull-2\/17\@wide {
    position: relative !important;
    right: 11.76471% !important;
    left: auto !important;
    /* [1] */ }
  .u-3\/17\@wide {
    width: 17.64706% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-3\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 17.64706% !important; }
  .u-pull-3\/17\@wide {
    position: relative !important;
    right: 17.64706% !important;
    left: auto !important;
    /* [1] */ }
  .u-4\/17\@wide {
    width: 23.52941% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-4\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 23.52941% !important; }
  .u-pull-4\/17\@wide {
    position: relative !important;
    right: 23.52941% !important;
    left: auto !important;
    /* [1] */ }
  .u-5\/17\@wide {
    width: 29.41176% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-5\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 29.41176% !important; }
  .u-pull-5\/17\@wide {
    position: relative !important;
    right: 29.41176% !important;
    left: auto !important;
    /* [1] */ }
  .u-6\/17\@wide {
    width: 35.29412% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-6\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 35.29412% !important; }
  .u-pull-6\/17\@wide {
    position: relative !important;
    right: 35.29412% !important;
    left: auto !important;
    /* [1] */ }
  .u-7\/17\@wide {
    width: 41.17647% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-7\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 41.17647% !important; }
  .u-pull-7\/17\@wide {
    position: relative !important;
    right: 41.17647% !important;
    left: auto !important;
    /* [1] */ }
  .u-8\/17\@wide {
    width: 47.05882% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-8\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 47.05882% !important; }
  .u-pull-8\/17\@wide {
    position: relative !important;
    right: 47.05882% !important;
    left: auto !important;
    /* [1] */ }
  .u-9\/17\@wide {
    width: 52.94118% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-9\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 52.94118% !important; }
  .u-pull-9\/17\@wide {
    position: relative !important;
    right: 52.94118% !important;
    left: auto !important;
    /* [1] */ }
  .u-10\/17\@wide {
    width: 58.82353% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-10\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 58.82353% !important; }
  .u-pull-10\/17\@wide {
    position: relative !important;
    right: 58.82353% !important;
    left: auto !important;
    /* [1] */ }
  .u-11\/17\@wide {
    width: 64.70588% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-11\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 64.70588% !important; }
  .u-pull-11\/17\@wide {
    position: relative !important;
    right: 64.70588% !important;
    left: auto !important;
    /* [1] */ }
  .u-12\/17\@wide {
    width: 70.58824% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-12\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 70.58824% !important; }
  .u-pull-12\/17\@wide {
    position: relative !important;
    right: 70.58824% !important;
    left: auto !important;
    /* [1] */ }
  .u-13\/17\@wide {
    width: 76.47059% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-13\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 76.47059% !important; }
  .u-pull-13\/17\@wide {
    position: relative !important;
    right: 76.47059% !important;
    left: auto !important;
    /* [1] */ }
  .u-14\/17\@wide {
    width: 82.35294% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-14\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 82.35294% !important; }
  .u-pull-14\/17\@wide {
    position: relative !important;
    right: 82.35294% !important;
    left: auto !important;
    /* [1] */ }
  .u-15\/17\@wide {
    width: 88.23529% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-15\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 88.23529% !important; }
  .u-pull-15\/17\@wide {
    position: relative !important;
    right: 88.23529% !important;
    left: auto !important;
    /* [1] */ }
  .u-16\/17\@wide {
    width: 94.11765% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-16\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 94.11765% !important; }
  .u-pull-16\/17\@wide {
    position: relative !important;
    right: 94.11765% !important;
    left: auto !important;
    /* [1] */ }
  .u-17\/17\@wide {
    width: 100% !important; }
  /**
        * 1. Reset any leftover or conflicting `left`/`right` values.
        */
  .u-push-17\/17\@wide {
    position: relative !important;
    right: auto !important;
    /* [1] */
    left: 100% !important; }
  .u-pull-17\/17\@wide {
    position: relative !important;
    right: 100% !important;
    left: auto !important;
    /* [1] */ } }

/* ==========================================================================
   #HEADINGS
   ========================================================================== */
/**
 * Redefine all of our basic heading styles against utility classes so as to
 * allow for double stranded heading hierarchy, e.g. we semantically need an H2,
 * but we want it to be sized like an H1:
 *
 *   <h2 class="u-h1"></h2>
 *
 */
.u-h1 {
  font-size: 24px !important;
  font-size: 1.71429rem !important;
  line-height: 1.75 !important; }

.u-h2 {
  font-size: 16px !important;
  font-size: 1.14286rem !important;
  line-height: 1.3125 !important; }

.u-h3 {
  font-size: 16px !important;
  font-size: 1.14286rem !important;
  line-height: 1.3125 !important; }

.u-h4 {
  font-size: 16px !important;
  font-size: 1.14286rem !important;
  line-height: 1.3125 !important; }

.u-h5 {
  font-size: 16px !important;
  font-size: 1.14286rem !important;
  line-height: 1.3125 !important; }

.u-h6 {
  font-size: 16px !important;
  font-size: 1.14286rem !important;
  line-height: 1.3125 !important; }

/* ==========================================================================
   #SPACING
   ========================================================================== */
/**
 * Utility classes to put specific spacing values onto elements. The below loop
 * will generate us a suite of classes like:
 *
 *   .u-margin-top {}
 *   .u-padding-left-large {}
 *   .u-margin-right-small {}
 *   .u-padding {}
 *   .u-padding-right-none {}
 */
/* stylelint-disable string-quotes */
.u-padding {
  padding: 21px !important; }

.u-padding-tiny {
  padding: 5px !important; }

.u-padding-small {
  padding: 11px !important; }

.u-padding-large {
  padding: 42px !important; }

.u-padding-huge {
  padding: 84px !important; }

.u-padding-none {
  padding: 0 !important; }

.u-padding-top {
  padding-top: 21px !important; }

.u-padding-top-tiny {
  padding-top: 5px !important; }

.u-padding-top-small {
  padding-top: 11px !important; }

.u-padding-top-large {
  padding-top: 42px !important; }

.u-padding-top-huge {
  padding-top: 84px !important; }

.u-padding-top-none {
  padding-top: 0 !important; }

.u-padding-right {
  padding-right: 21px !important; }

.u-padding-right-tiny {
  padding-right: 5px !important; }

.u-padding-right-small {
  padding-right: 11px !important; }

.u-padding-right-large {
  padding-right: 42px !important; }

.u-padding-right-huge {
  padding-right: 84px !important; }

.u-padding-right-none {
  padding-right: 0 !important; }

.u-padding-bottom {
  padding-bottom: 21px !important; }

.u-padding-bottom-tiny {
  padding-bottom: 5px !important; }

.u-padding-bottom-small {
  padding-bottom: 11px !important; }

.u-padding-bottom-large {
  padding-bottom: 42px !important; }

.u-padding-bottom-huge {
  padding-bottom: 84px !important; }

.u-padding-bottom-none {
  padding-bottom: 0 !important; }

.u-padding-left {
  padding-left: 21px !important; }

.u-padding-left-tiny {
  padding-left: 5px !important; }

.u-padding-left-small {
  padding-left: 11px !important; }

.u-padding-left-large {
  padding-left: 42px !important; }

.u-padding-left-huge {
  padding-left: 84px !important; }

.u-padding-left-none {
  padding-left: 0 !important; }

.u-margin {
  margin: 21px !important; }

.u-margin-tiny {
  margin: 5px !important; }

.u-margin-small {
  margin: 11px !important; }

.u-margin-large {
  margin: 42px !important; }

.u-margin-huge {
  margin: 84px !important; }

.u-margin-none {
  margin: 0 !important; }

.u-margin-top {
  margin-top: 21px !important; }

.u-margin-top-tiny {
  margin-top: 5px !important; }

.u-margin-top-small {
  margin-top: 11px !important; }

.u-margin-top-large {
  margin-top: 42px !important; }

.u-margin-top-huge {
  margin-top: 84px !important; }

.u-margin-top-none {
  margin-top: 0 !important; }

.u-margin-right {
  margin-right: 21px !important; }

.u-margin-right-tiny {
  margin-right: 5px !important; }

.u-margin-right-small {
  margin-right: 11px !important; }

.u-margin-right-large {
  margin-right: 42px !important; }

.u-margin-right-huge {
  margin-right: 84px !important; }

.u-margin-right-none {
  margin-right: 0 !important; }

.u-margin-bottom {
  margin-bottom: 21px !important; }

.u-margin-bottom-tiny {
  margin-bottom: 5px !important; }

.u-margin-bottom-small {
  margin-bottom: 11px !important; }

.u-margin-bottom-large {
  margin-bottom: 42px !important; }

.u-margin-bottom-huge {
  margin-bottom: 84px !important; }

.u-margin-bottom-none {
  margin-bottom: 0 !important; }

.u-margin-left {
  margin-left: 21px !important; }

.u-margin-left-tiny {
  margin-left: 5px !important; }

.u-margin-left-small {
  margin-left: 11px !important; }

.u-margin-left-large {
  margin-left: 42px !important; }

.u-margin-left-huge {
  margin-left: 84px !important; }

.u-margin-left-none {
  margin-left: 0 !important; }

/* stylelint-enable string-quotes */
@media (min-width: 23.4375em) {
  .u-padding\@mobile {
    padding: 21px !important; }
  .u-padding-tiny\@mobile {
    padding: 5px !important; }
  .u-padding-small\@mobile {
    padding: 11px !important; }
  .u-padding-large\@mobile {
    padding: 42px !important; }
  .u-padding-huge\@mobile {
    padding: 84px !important; }
  .u-padding-none\@mobile {
    padding: 0 !important; }
  .u-padding-top\@mobile {
    padding-top: 21px !important; }
  .u-padding-top-tiny\@mobile {
    padding-top: 5px !important; }
  .u-padding-top-small\@mobile {
    padding-top: 11px !important; }
  .u-padding-top-large\@mobile {
    padding-top: 42px !important; }
  .u-padding-top-huge\@mobile {
    padding-top: 84px !important; }
  .u-padding-top-none\@mobile {
    padding-top: 0 !important; }
  .u-padding-right\@mobile {
    padding-right: 21px !important; }
  .u-padding-right-tiny\@mobile {
    padding-right: 5px !important; }
  .u-padding-right-small\@mobile {
    padding-right: 11px !important; }
  .u-padding-right-large\@mobile {
    padding-right: 42px !important; }
  .u-padding-right-huge\@mobile {
    padding-right: 84px !important; }
  .u-padding-right-none\@mobile {
    padding-right: 0 !important; }
  .u-padding-bottom\@mobile {
    padding-bottom: 21px !important; }
  .u-padding-bottom-tiny\@mobile {
    padding-bottom: 5px !important; }
  .u-padding-bottom-small\@mobile {
    padding-bottom: 11px !important; }
  .u-padding-bottom-large\@mobile {
    padding-bottom: 42px !important; }
  .u-padding-bottom-huge\@mobile {
    padding-bottom: 84px !important; }
  .u-padding-bottom-none\@mobile {
    padding-bottom: 0 !important; }
  .u-padding-left\@mobile {
    padding-left: 21px !important; }
  .u-padding-left-tiny\@mobile {
    padding-left: 5px !important; }
  .u-padding-left-small\@mobile {
    padding-left: 11px !important; }
  .u-padding-left-large\@mobile {
    padding-left: 42px !important; }
  .u-padding-left-huge\@mobile {
    padding-left: 84px !important; }
  .u-padding-left-none\@mobile {
    padding-left: 0 !important; }
  .u-margin\@mobile {
    margin: 21px !important; }
  .u-margin-tiny\@mobile {
    margin: 5px !important; }
  .u-margin-small\@mobile {
    margin: 11px !important; }
  .u-margin-large\@mobile {
    margin: 42px !important; }
  .u-margin-huge\@mobile {
    margin: 84px !important; }
  .u-margin-none\@mobile {
    margin: 0 !important; }
  .u-margin-top\@mobile {
    margin-top: 21px !important; }
  .u-margin-top-tiny\@mobile {
    margin-top: 5px !important; }
  .u-margin-top-small\@mobile {
    margin-top: 11px !important; }
  .u-margin-top-large\@mobile {
    margin-top: 42px !important; }
  .u-margin-top-huge\@mobile {
    margin-top: 84px !important; }
  .u-margin-top-none\@mobile {
    margin-top: 0 !important; }
  .u-margin-right\@mobile {
    margin-right: 21px !important; }
  .u-margin-right-tiny\@mobile {
    margin-right: 5px !important; }
  .u-margin-right-small\@mobile {
    margin-right: 11px !important; }
  .u-margin-right-large\@mobile {
    margin-right: 42px !important; }
  .u-margin-right-huge\@mobile {
    margin-right: 84px !important; }
  .u-margin-right-none\@mobile {
    margin-right: 0 !important; }
  .u-margin-bottom\@mobile {
    margin-bottom: 21px !important; }
  .u-margin-bottom-tiny\@mobile {
    margin-bottom: 5px !important; }
  .u-margin-bottom-small\@mobile {
    margin-bottom: 11px !important; }
  .u-margin-bottom-large\@mobile {
    margin-bottom: 42px !important; }
  .u-margin-bottom-huge\@mobile {
    margin-bottom: 84px !important; }
  .u-margin-bottom-none\@mobile {
    margin-bottom: 0 !important; }
  .u-margin-left\@mobile {
    margin-left: 21px !important; }
  .u-margin-left-tiny\@mobile {
    margin-left: 5px !important; }
  .u-margin-left-small\@mobile {
    margin-left: 11px !important; }
  .u-margin-left-large\@mobile {
    margin-left: 42px !important; }
  .u-margin-left-huge\@mobile {
    margin-left: 84px !important; }
  .u-margin-left-none\@mobile {
    margin-left: 0 !important; } }

@media (min-width: 46.25em) {
  .u-padding\@tablet {
    padding: 21px !important; }
  .u-padding-tiny\@tablet {
    padding: 5px !important; }
  .u-padding-small\@tablet {
    padding: 11px !important; }
  .u-padding-large\@tablet {
    padding: 42px !important; }
  .u-padding-huge\@tablet {
    padding: 84px !important; }
  .u-padding-none\@tablet {
    padding: 0 !important; }
  .u-padding-top\@tablet {
    padding-top: 21px !important; }
  .u-padding-top-tiny\@tablet {
    padding-top: 5px !important; }
  .u-padding-top-small\@tablet {
    padding-top: 11px !important; }
  .u-padding-top-large\@tablet {
    padding-top: 42px !important; }
  .u-padding-top-huge\@tablet {
    padding-top: 84px !important; }
  .u-padding-top-none\@tablet {
    padding-top: 0 !important; }
  .u-padding-right\@tablet {
    padding-right: 21px !important; }
  .u-padding-right-tiny\@tablet {
    padding-right: 5px !important; }
  .u-padding-right-small\@tablet {
    padding-right: 11px !important; }
  .u-padding-right-large\@tablet {
    padding-right: 42px !important; }
  .u-padding-right-huge\@tablet {
    padding-right: 84px !important; }
  .u-padding-right-none\@tablet {
    padding-right: 0 !important; }
  .u-padding-bottom\@tablet {
    padding-bottom: 21px !important; }
  .u-padding-bottom-tiny\@tablet {
    padding-bottom: 5px !important; }
  .u-padding-bottom-small\@tablet {
    padding-bottom: 11px !important; }
  .u-padding-bottom-large\@tablet {
    padding-bottom: 42px !important; }
  .u-padding-bottom-huge\@tablet {
    padding-bottom: 84px !important; }
  .u-padding-bottom-none\@tablet {
    padding-bottom: 0 !important; }
  .u-padding-left\@tablet {
    padding-left: 21px !important; }
  .u-padding-left-tiny\@tablet {
    padding-left: 5px !important; }
  .u-padding-left-small\@tablet {
    padding-left: 11px !important; }
  .u-padding-left-large\@tablet {
    padding-left: 42px !important; }
  .u-padding-left-huge\@tablet {
    padding-left: 84px !important; }
  .u-padding-left-none\@tablet {
    padding-left: 0 !important; }
  .u-margin\@tablet {
    margin: 21px !important; }
  .u-margin-tiny\@tablet {
    margin: 5px !important; }
  .u-margin-small\@tablet {
    margin: 11px !important; }
  .u-margin-large\@tablet {
    margin: 42px !important; }
  .u-margin-huge\@tablet {
    margin: 84px !important; }
  .u-margin-none\@tablet {
    margin: 0 !important; }
  .u-margin-top\@tablet {
    margin-top: 21px !important; }
  .u-margin-top-tiny\@tablet {
    margin-top: 5px !important; }
  .u-margin-top-small\@tablet {
    margin-top: 11px !important; }
  .u-margin-top-large\@tablet {
    margin-top: 42px !important; }
  .u-margin-top-huge\@tablet {
    margin-top: 84px !important; }
  .u-margin-top-none\@tablet {
    margin-top: 0 !important; }
  .u-margin-right\@tablet {
    margin-right: 21px !important; }
  .u-margin-right-tiny\@tablet {
    margin-right: 5px !important; }
  .u-margin-right-small\@tablet {
    margin-right: 11px !important; }
  .u-margin-right-large\@tablet {
    margin-right: 42px !important; }
  .u-margin-right-huge\@tablet {
    margin-right: 84px !important; }
  .u-margin-right-none\@tablet {
    margin-right: 0 !important; }
  .u-margin-bottom\@tablet {
    margin-bottom: 21px !important; }
  .u-margin-bottom-tiny\@tablet {
    margin-bottom: 5px !important; }
  .u-margin-bottom-small\@tablet {
    margin-bottom: 11px !important; }
  .u-margin-bottom-large\@tablet {
    margin-bottom: 42px !important; }
  .u-margin-bottom-huge\@tablet {
    margin-bottom: 84px !important; }
  .u-margin-bottom-none\@tablet {
    margin-bottom: 0 !important; }
  .u-margin-left\@tablet {
    margin-left: 21px !important; }
  .u-margin-left-tiny\@tablet {
    margin-left: 5px !important; }
  .u-margin-left-small\@tablet {
    margin-left: 11px !important; }
  .u-margin-left-large\@tablet {
    margin-left: 42px !important; }
  .u-margin-left-huge\@tablet {
    margin-left: 84px !important; }
  .u-margin-left-none\@tablet {
    margin-left: 0 !important; } }

@media (min-width: 61.25em) {
  .u-padding\@desktop {
    padding: 21px !important; }
  .u-padding-tiny\@desktop {
    padding: 5px !important; }
  .u-padding-small\@desktop {
    padding: 11px !important; }
  .u-padding-large\@desktop {
    padding: 42px !important; }
  .u-padding-huge\@desktop {
    padding: 84px !important; }
  .u-padding-none\@desktop {
    padding: 0 !important; }
  .u-padding-top\@desktop {
    padding-top: 21px !important; }
  .u-padding-top-tiny\@desktop {
    padding-top: 5px !important; }
  .u-padding-top-small\@desktop {
    padding-top: 11px !important; }
  .u-padding-top-large\@desktop {
    padding-top: 42px !important; }
  .u-padding-top-huge\@desktop {
    padding-top: 84px !important; }
  .u-padding-top-none\@desktop {
    padding-top: 0 !important; }
  .u-padding-right\@desktop {
    padding-right: 21px !important; }
  .u-padding-right-tiny\@desktop {
    padding-right: 5px !important; }
  .u-padding-right-small\@desktop {
    padding-right: 11px !important; }
  .u-padding-right-large\@desktop {
    padding-right: 42px !important; }
  .u-padding-right-huge\@desktop {
    padding-right: 84px !important; }
  .u-padding-right-none\@desktop {
    padding-right: 0 !important; }
  .u-padding-bottom\@desktop {
    padding-bottom: 21px !important; }
  .u-padding-bottom-tiny\@desktop {
    padding-bottom: 5px !important; }
  .u-padding-bottom-small\@desktop {
    padding-bottom: 11px !important; }
  .u-padding-bottom-large\@desktop {
    padding-bottom: 42px !important; }
  .u-padding-bottom-huge\@desktop {
    padding-bottom: 84px !important; }
  .u-padding-bottom-none\@desktop {
    padding-bottom: 0 !important; }
  .u-padding-left\@desktop {
    padding-left: 21px !important; }
  .u-padding-left-tiny\@desktop {
    padding-left: 5px !important; }
  .u-padding-left-small\@desktop {
    padding-left: 11px !important; }
  .u-padding-left-large\@desktop {
    padding-left: 42px !important; }
  .u-padding-left-huge\@desktop {
    padding-left: 84px !important; }
  .u-padding-left-none\@desktop {
    padding-left: 0 !important; }
  .u-margin\@desktop {
    margin: 21px !important; }
  .u-margin-tiny\@desktop {
    margin: 5px !important; }
  .u-margin-small\@desktop {
    margin: 11px !important; }
  .u-margin-large\@desktop {
    margin: 42px !important; }
  .u-margin-huge\@desktop {
    margin: 84px !important; }
  .u-margin-none\@desktop {
    margin: 0 !important; }
  .u-margin-top\@desktop {
    margin-top: 21px !important; }
  .u-margin-top-tiny\@desktop {
    margin-top: 5px !important; }
  .u-margin-top-small\@desktop {
    margin-top: 11px !important; }
  .u-margin-top-large\@desktop {
    margin-top: 42px !important; }
  .u-margin-top-huge\@desktop {
    margin-top: 84px !important; }
  .u-margin-top-none\@desktop {
    margin-top: 0 !important; }
  .u-margin-right\@desktop {
    margin-right: 21px !important; }
  .u-margin-right-tiny\@desktop {
    margin-right: 5px !important; }
  .u-margin-right-small\@desktop {
    margin-right: 11px !important; }
  .u-margin-right-large\@desktop {
    margin-right: 42px !important; }
  .u-margin-right-huge\@desktop {
    margin-right: 84px !important; }
  .u-margin-right-none\@desktop {
    margin-right: 0 !important; }
  .u-margin-bottom\@desktop {
    margin-bottom: 21px !important; }
  .u-margin-bottom-tiny\@desktop {
    margin-bottom: 5px !important; }
  .u-margin-bottom-small\@desktop {
    margin-bottom: 11px !important; }
  .u-margin-bottom-large\@desktop {
    margin-bottom: 42px !important; }
  .u-margin-bottom-huge\@desktop {
    margin-bottom: 84px !important; }
  .u-margin-bottom-none\@desktop {
    margin-bottom: 0 !important; }
  .u-margin-left\@desktop {
    margin-left: 21px !important; }
  .u-margin-left-tiny\@desktop {
    margin-left: 5px !important; }
  .u-margin-left-small\@desktop {
    margin-left: 11px !important; }
  .u-margin-left-large\@desktop {
    margin-left: 42px !important; }
  .u-margin-left-huge\@desktop {
    margin-left: 84px !important; }
  .u-margin-left-none\@desktop {
    margin-left: 0 !important; } }

@media (min-width: 81.25em) {
  .u-padding\@wide {
    padding: 21px !important; }
  .u-padding-tiny\@wide {
    padding: 5px !important; }
  .u-padding-small\@wide {
    padding: 11px !important; }
  .u-padding-large\@wide {
    padding: 42px !important; }
  .u-padding-huge\@wide {
    padding: 84px !important; }
  .u-padding-none\@wide {
    padding: 0 !important; }
  .u-padding-top\@wide {
    padding-top: 21px !important; }
  .u-padding-top-tiny\@wide {
    padding-top: 5px !important; }
  .u-padding-top-small\@wide {
    padding-top: 11px !important; }
  .u-padding-top-large\@wide {
    padding-top: 42px !important; }
  .u-padding-top-huge\@wide {
    padding-top: 84px !important; }
  .u-padding-top-none\@wide {
    padding-top: 0 !important; }
  .u-padding-right\@wide {
    padding-right: 21px !important; }
  .u-padding-right-tiny\@wide {
    padding-right: 5px !important; }
  .u-padding-right-small\@wide {
    padding-right: 11px !important; }
  .u-padding-right-large\@wide {
    padding-right: 42px !important; }
  .u-padding-right-huge\@wide {
    padding-right: 84px !important; }
  .u-padding-right-none\@wide {
    padding-right: 0 !important; }
  .u-padding-bottom\@wide {
    padding-bottom: 21px !important; }
  .u-padding-bottom-tiny\@wide {
    padding-bottom: 5px !important; }
  .u-padding-bottom-small\@wide {
    padding-bottom: 11px !important; }
  .u-padding-bottom-large\@wide {
    padding-bottom: 42px !important; }
  .u-padding-bottom-huge\@wide {
    padding-bottom: 84px !important; }
  .u-padding-bottom-none\@wide {
    padding-bottom: 0 !important; }
  .u-padding-left\@wide {
    padding-left: 21px !important; }
  .u-padding-left-tiny\@wide {
    padding-left: 5px !important; }
  .u-padding-left-small\@wide {
    padding-left: 11px !important; }
  .u-padding-left-large\@wide {
    padding-left: 42px !important; }
  .u-padding-left-huge\@wide {
    padding-left: 84px !important; }
  .u-padding-left-none\@wide {
    padding-left: 0 !important; }
  .u-margin\@wide {
    margin: 21px !important; }
  .u-margin-tiny\@wide {
    margin: 5px !important; }
  .u-margin-small\@wide {
    margin: 11px !important; }
  .u-margin-large\@wide {
    margin: 42px !important; }
  .u-margin-huge\@wide {
    margin: 84px !important; }
  .u-margin-none\@wide {
    margin: 0 !important; }
  .u-margin-top\@wide {
    margin-top: 21px !important; }
  .u-margin-top-tiny\@wide {
    margin-top: 5px !important; }
  .u-margin-top-small\@wide {
    margin-top: 11px !important; }
  .u-margin-top-large\@wide {
    margin-top: 42px !important; }
  .u-margin-top-huge\@wide {
    margin-top: 84px !important; }
  .u-margin-top-none\@wide {
    margin-top: 0 !important; }
  .u-margin-right\@wide {
    margin-right: 21px !important; }
  .u-margin-right-tiny\@wide {
    margin-right: 5px !important; }
  .u-margin-right-small\@wide {
    margin-right: 11px !important; }
  .u-margin-right-large\@wide {
    margin-right: 42px !important; }
  .u-margin-right-huge\@wide {
    margin-right: 84px !important; }
  .u-margin-right-none\@wide {
    margin-right: 0 !important; }
  .u-margin-bottom\@wide {
    margin-bottom: 21px !important; }
  .u-margin-bottom-tiny\@wide {
    margin-bottom: 5px !important; }
  .u-margin-bottom-small\@wide {
    margin-bottom: 11px !important; }
  .u-margin-bottom-large\@wide {
    margin-bottom: 42px !important; }
  .u-margin-bottom-huge\@wide {
    margin-bottom: 84px !important; }
  .u-margin-bottom-none\@wide {
    margin-bottom: 0 !important; }
  .u-margin-left\@wide {
    margin-left: 21px !important; }
  .u-margin-left-tiny\@wide {
    margin-left: 5px !important; }
  .u-margin-left-small\@wide {
    margin-left: 11px !important; }
  .u-margin-left-large\@wide {
    margin-left: 42px !important; }
  .u-margin-left-huge\@wide {
    margin-left: 84px !important; }
  .u-margin-left-none\@wide {
    margin-left: 0 !important; } }

/* ==========================================================================
   #PRINT
   ========================================================================== */
/**
 * Very crude, reset-like styles taken from the HTML5 Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/5.3.0/dist/doc/css.md#print-styles
 * https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/main.css#L205-L282
 */
@media print {
  /**
   * 1. Black prints faster: http://www.sanbeiji.com/archives/953
   */
  *,
  *:before,
  *:after,
  *:first-letter,
  *:first-line {
    background: transparent !important;
    color: #000 !important;
    /* [1] */
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  /**
   * Don't show links that are fragment identifiers, or use the `javascript:`
   * pseudo protocol.
   */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  /**
   * Printing Tables: http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

/* ==========================================================================
   #HIDE
   ========================================================================== */
/**
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */
.u-hidden-visually {
  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; }

/**
 * Hide visually and from screen readers.
 */
.u-hidden {
  display: none !important; }

/* ==========================================================================
   #RESPONSIVE-HIDE
   ========================================================================== */
@media (min-width: 23.4375em) {
  .u-hidden\@mobile {
    display: none !important; } }

@media (max-width: 23.4275em) {
  .u-hidden\@until-mobile {
    display: none !important; } }

@media (min-width: 46.25em) {
  .u-hidden\@tablet {
    display: none !important; } }

@media (max-width: 46.24em) {
  .u-hidden\@until-tablet {
    display: none !important; } }

@media (min-width: 61.25em) {
  .u-hidden\@desktop {
    display: none !important; } }

@media (max-width: 61.24em) {
  .u-hidden\@until-desktop {
    display: none !important; } }

@media (min-width: 81.25em) {
  .u-hidden\@wide {
    display: none !important; } }

@media (max-width: 81.24em) {
  .u-hidden\@until-wide {
    display: none !important; } }

/* ==========================================================================
   #TEXT
   ========================================================================== */
/**
 * Text helpers.
 */
.u-text-left {
  text-align: left !important; }

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

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

.u-text-justify {
  text-align: justify !important; }

@media (min-width: 23.4375em) {
  .u-text-left\@mobile {
    text-align: left !important; }
  .u-text-center\@mobile {
    text-align: center !important; }
  .u-text-right\@mobile {
    text-align: right !important; }
  .u-text-justify\@mobile {
    text-align: justify !important; } }

@media (max-width: 23.4275em) {
  .u-text-left\@until-mobile {
    text-align: left !important; }
  .u-text-center\@until-mobile {
    text-align: center !important; }
  .u-text-right\@until-mobile {
    text-align: right !important; }
  .u-text-justify\@until-mobile {
    text-align: justify !important; } }

@media (min-width: 46.25em) {
  .u-text-left\@tablet {
    text-align: left !important; }
  .u-text-center\@tablet {
    text-align: center !important; }
  .u-text-right\@tablet {
    text-align: right !important; }
  .u-text-justify\@tablet {
    text-align: justify !important; } }

@media (max-width: 46.24em) {
  .u-text-left\@until-tablet {
    text-align: left !important; }
  .u-text-center\@until-tablet {
    text-align: center !important; }
  .u-text-right\@until-tablet {
    text-align: right !important; }
  .u-text-justify\@until-tablet {
    text-align: justify !important; } }

@media (min-width: 61.25em) {
  .u-text-left\@desktop {
    text-align: left !important; }
  .u-text-center\@desktop {
    text-align: center !important; }
  .u-text-right\@desktop {
    text-align: right !important; }
  .u-text-justify\@desktop {
    text-align: justify !important; } }

@media (max-width: 61.24em) {
  .u-text-left\@until-desktop {
    text-align: left !important; }
  .u-text-center\@until-desktop {
    text-align: center !important; }
  .u-text-right\@until-desktop {
    text-align: right !important; }
  .u-text-justify\@until-desktop {
    text-align: justify !important; } }

@media (min-width: 81.25em) {
  .u-text-left\@wide {
    text-align: left !important; }
  .u-text-center\@wide {
    text-align: center !important; }
  .u-text-right\@wide {
    text-align: right !important; }
  .u-text-justify\@wide {
    text-align: justify !important; } }

@media (max-width: 81.24em) {
  .u-text-left\@until-wide {
    text-align: left !important; }
  .u-text-center\@until-wide {
    text-align: center !important; }
  .u-text-right\@until-wide {
    text-align: right !important; }
  .u-text-justify\@until-wide {
    text-align: justify !important; } }

/* ==========================================================================
   #ICONS
   ========================================================================== */
/**
 * This is a brief description
 */
[class^="icon-"], [class*=" icon-"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
  vertical-align: middle; }

.icon--large {
  width: 1.5em;
  height: 1.5em;
  vertical-align: -0.3em; }

.icon--huge {
  width: 2.5em;
  height: 2.5em;
  vertical-align: -0.3ex; }

/* ==========================================
 Single-colored icons can be modified like so:
 .icon-name {
   font-size: 32px;
   color: red;
 }
 ========================================== */
.icon-check {
  vertical-align: -0.2ex; }

.u-link-tiny {
  font-size: 10px;
  font-size: 0.71429rem;
  line-height: 2.1;
  color: #000;
  letter-spacing: 0.69px;
  text-transform: uppercase;
  font-weight: 100;
  text-decoration: none; }

.u-link-discreet {
  text-decoration: none; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibWFpbi5zY3NzIiwidG9vbHMvX3Rvb2xzLmxpc3QtYmFyZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy9nZW5lcmljL19nZW5lcmljLmJveC1zaXppbmcuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3MvZ2VuZXJpYy9fZ2VuZXJpYy5ub3JtYWxpemUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3MvZ2VuZXJpYy9fZ2VuZXJpYy5yZXNldC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy9nZW5lcmljL19nZW5lcmljLnNoYXJlZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy90b29scy9fdG9vbHMucmVtLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL3NldHRpbmdzL19zZXR0aW5ncy5jb3JlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL2VsZW1lbnRzL19lbGVtZW50cy5wYWdlLnNjc3MiLCJlbGVtZW50cy9fZWxlbWVudHMucGFnZS5zY3NzIiwic2V0dGluZ3MvX3NldHRpbmdzLmdsb2JhbC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zYXNzLW1xL19tcS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy9lbGVtZW50cy9fZWxlbWVudHMuaGVhZGluZ3Muc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3MvdG9vbHMvX3Rvb2xzLmZvbnQtc2l6ZS5zY3NzIiwiZWxlbWVudHMvX2VsZW1lbnRzLmhlYWRpbmdzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL2VsZW1lbnRzL19lbGVtZW50cy5pbWFnZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3MvZWxlbWVudHMvX2VsZW1lbnRzLnRhYmxlcy5zY3NzIiwiZWxlbWVudHMvX2VsZW1lbnRzLmJyZWFrcG9pbnRzLnNjc3MiLCJlbGVtZW50cy9fZWxlbWVudHMubGlua3Muc2NzcyIsImVsZW1lbnRzL19lbGVtZW50cy5oci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy9vYmplY3RzL19vYmplY3RzLndyYXBwZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3MvdG9vbHMvX3Rvb2xzLmNsZWFyZml4LnNjc3MiLCJvYmplY3RzL19vYmplY3RzLndyYXBwZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9fb2JqZWN0cy5sYXlvdXQuc2NzcyIsInNldHRpbmdzL19zZXR0aW5ncy5jb25maWcuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9fb2JqZWN0cy5tZWRpYS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy9vYmplY3RzL19vYmplY3RzLmZsYWcuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9fb2JqZWN0cy5saXN0LWJhcmUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9fb2JqZWN0cy5saXN0LWlubGluZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy9vYmplY3RzL19vYmplY3RzLmJveC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy9vYmplY3RzL19vYmplY3RzLmJsb2NrLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL29iamVjdHMvX29iamVjdHMucmF0aW8uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9fb2JqZWN0cy5jcm9wLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL29iamVjdHMvX29iamVjdHMudGFibGVzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL29iamVjdHMvX29iamVjdHMucGFjay5zY3NzIiwib2JqZWN0cy9fb2JqZWN0cy50YWJzLnNjc3MiLCJvYmplY3RzL19vYmplY3RzLmJlbHQuc2NzcyIsImNvbXBvbmVudHMvX2NvbXBvbmVudHMuYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fY29tcG9uZW50cy5uYXYtbWFpbi5zY3NzIiwiY29tcG9uZW50cy9fY29tcG9uZW50cy5uYXYtZm9vdC5zY3NzIiwiY29tcG9uZW50cy9fY29tcG9uZW50cy5uYXYtc2lkZS5zY3NzIiwiY29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdlLWhlYWQuc2NzcyIsImNvbXBvbmVudHMvX2NvbXBvbmVudHMucGFnZS1tYWluLnNjc3MiLCJjb21wb25lbnRzL19jb21wb25lbnRzLnBhZ2UtZm9vdC5zY3NzIiwiY29tcG9uZW50cy9fY29tcG9uZW50cy5mb3JtLnNjc3MiLCJjb21wb25lbnRzL19jb21wb25lbnRzLmluc3RhZ3JhbS5zY3NzIiwiY29tcG9uZW50cy9fY29tcG9uZW50cy5zbGlkZS5zY3NzIiwiY29tcG9uZW50cy9fY29tcG9uZW50cy5wcm9kdWN0LnNjc3MiLCJjb21wb25lbnRzL19jb21wb25lbnRzLnNiLXNlYXJjaC5zY3NzIiwic2NvcGVzL19zY29wZXMudW5zbGlkZXIuc2NzcyIsInNjb3Blcy9fc2NvcGVzLm1hZ25pZmljLXBvcHVwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL3V0aWxpdGllcy9fdXRpbGl0aWVzLmNsZWFyZml4LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL3V0aWxpdGllcy9fdXRpbGl0aWVzLndpZHRocy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy91dGlsaXRpZXMvX3V0aWxpdGllcy5oZWFkaW5ncy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy91dGlsaXRpZXMvX3V0aWxpdGllcy5zcGFjaW5nLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL3V0aWxpdGllcy9fdXRpbGl0aWVzLnByaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL3V0aWxpdGllcy9fdXRpbGl0aWVzLmhpZGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3MvdG9vbHMvX3Rvb2xzLmhpZGRlbi5zY3NzIiwidXRpbGl0aWVzL191dGlsaXRpZXMucmVzcG9uc2l2ZS1oaWRlLnNjc3MiLCJ1dGlsaXRpZXMvX3V0aWxpdGllcy50ZXh0LWFsaWduLnNjc3MiLCJ1dGlsaXRpZXMvX3V0aWxpdGllcy5pY29ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Z0ZBRWdGO0FBRWhGOzs7O0dBSUc7QUFFSDs7OztHQUlHO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RUc7QUN6Rkg7O2dGQUVnRjtBQUVoRjs7O0dBR0c7QUNQSDs7Z0ZBRWdGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0UsdUJBQXVCLEVBQ3hCOztBQUVEO0VBS0ksb0JBQW9CLEVBQ3JCOztBQ25CSCw0RUFBNEU7QUFFNUU7Ozs7O0dBS0c7QUFFSDtnRkFDZ0Y7QUFFaEY7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLGtCQUFrQjtFQUFFLE9BQU87RUFDM0IsMkJBQTJCO0VBQUUsT0FBTztFQUNwQywrQkFBK0I7RUFBRSxPQUFPLEVBQ3pDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsVUFBVSxFQUNYOztBQUVEOztHQUVHO0FBRUg7Ozs7OztFQU1FLGVBQWUsRUFDaEI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCLEVBQ2xCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDs7O0VBRU8sT0FBTztFQUNaLGVBQWUsRUFDaEI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGlCQUFpQixFQUNsQjs7QUFF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QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxzQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsdUJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxzQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsdUJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxzQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsdUJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxzQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsdUJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxzQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsdUJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxzQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsMkJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywwQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsMkJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsdUJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxzQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsMkJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywwQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsMkJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0Usc0JBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxxQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsdUJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxzQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsMkJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywwQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsMkJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsNEJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQywyQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsNEJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBdEJIO0VBQ0UsdUJBQW9ELEVBQ3JEOztBQUlDOztVQUVFO0FBR0Y7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxzQkFBbUQsRUFDcEQ7O0FBR0Q7RUFDRSw4QkFBOEI7RUFDOUIsdUJBQW9EO0VBQ3BELHNCQUFzQjtFQUFFLFNBQVMsRUFDbEM7O0FBNkJUOzs7OztHQUtHO0F6Q3NFSztFeUM5SEY7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSwyQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMEJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsMkJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSwyQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMEJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsMkJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSwyQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMEJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsMkJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEMsRUFBQTs7QXpDd0dEO0V5QzlIRjtJQUNFLHVCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxzQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qix1QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHVCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxzQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qix1QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHVCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxzQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qix1QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHVCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxzQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qix1QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHVCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxzQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qix1QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHVCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxzQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qix1QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDJCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywwQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QiwyQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHVCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxzQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qix1QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDJCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywwQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QiwyQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHNCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxxQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QixzQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLHVCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQyxzQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qix1QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDJCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywwQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5QiwyQkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVFO0VBR0Y7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQUUsU0FBUztJQUNsQywyQkFBbUQsRUFDcEQ7RUFHRDtJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBb0Q7SUFDcEQsc0JBQXNCO0lBQUUsU0FBUyxFQUNsQztFQXRCSDtJQUNFLDRCQUFvRCxFQUNyRDtFQUlDOztVQUVF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OUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSwyQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMEJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsMkJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSwyQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMEJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsMkJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSxzQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMscUJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsc0JBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSwyQkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMEJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsMkJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSw0QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsMkJBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEM7RUF0Qkg7SUFDRSx1QkFBb0QsRUFDckQ7RUFJQzs7VUFFRTtFQUdGO0lBQ0UsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUFFLFNBQVM7SUFDbEMsc0JBQW1ELEVBQ3BEO0VBR0Q7SUFDRSw4QkFBOEI7SUFDOUIsdUJBQW9EO0lBQ3BELHNCQUFzQjtJQUFFLFNBQVMsRUFDbEMsRUFBQTs7QUN4SFQ7O2dGQUVnRjtBQUVoRjs7Ozs7OztHQU9HO0FBRUg7RXhDV0UsMkJBUndCO0VBU3hCLGlDQVR3QjtFQVl0Qiw2QkFac0IsRXdDRHpCOztBQUVEO0V4Q09FLDJCQVJ3QjtFQVN4QixpQ0FUd0I7RUFZdEIsK0JBWnNCLEV3Q0d6Qjs7QUFFRDtFeENHRSwyQkFSd0I7RUFTeEIsaUNBVHdCO0VBWXRCLCtCQVpzQixFd0NPekI7O0FBRUQ7RXhDREUsMkJBUndCO0VBU3hCLGlDQVR3QjtFQVl0QiwrQkFac0IsRXdDV3pCOztBQUVEO0V4Q0xFLDJCQVJ3QjtFQVN4QixpQ0FUd0I7RUFZdEIsK0JBWnNCLEV3Q2V6Qjs7QUFFRDtFeENURSwyQkFSd0I7RUFTeEIsaUNBVHdCO0VBWXRCLCtCQVpzQixFd0NtQnpCOztBQ25DRDs7Z0ZBRWdGO0FBRWhGOzs7Ozs7Ozs7R0FTRztBQUVILHFDQUFxQztBQStCL0I7RUFDRSx5QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSx3QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSx5QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSx5QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSx5QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSxzQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw2QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw0QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw2QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw2QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw2QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwwQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwrQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw4QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwrQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwrQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwrQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw0QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSxnQ0FBNEMsRUFDN0M7O0FBRkQ7RUFDRSwrQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSxnQ0FBNEMsRUFDN0M7O0FBRkQ7RUFDRSxnQ0FBNEMsRUFDN0M7O0FBRkQ7RUFDRSxnQ0FBNEMsRUFDN0M7O0FBRkQ7RUFDRSw2QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw4QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw2QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw4QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw4QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw4QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwyQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSx3QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSx1QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSx3QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSx3QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSx3QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSxxQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw0QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwyQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw0QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw0QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw0QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSx5QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw4QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw2QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw4QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw4QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw4QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwyQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwrQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw4QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwrQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwrQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSwrQkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw0QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw2QkFBNEMsRUFDN0M7O0FBRkQ7RUFDRSw0QkFBNEMs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SUFDSSw2QkFBb0MsRUFDdkM7RUFGRDtJQUNJLCtCQUFvQyxFQUN2QyxFQUFBOztBaERzTUw7RWdEak1JO0lBQ0ksNEJBQW9DLEVBQ3ZDO0VBRkQ7SUFDSSw4QkFBb0MsRUFDdkM7RUFGRDtJQUNJLDZCQUFvQyxFQUN2QztFQUZEO0lBQ0ksK0JBQW9DLEVBQ3ZDLEVBQUE7O0FoRCtMTDtFZ0R4TUk7SUFDSSw0QkFBb0MsRUFDdkM7RUFGRDtJQUNJLDhCQUFvQyxFQUN2QztFQUZEO0lBQ0ksNkJBQW9DLEVBQ3ZDO0VBRkQ7SUFDSSwrQkFBb0MsRUFDdkMsRUFBQTs7QWhEc01MO0VnRGpNSTtJQUNJLDRCQUFvQyxFQUN2QztFQUZEO0lBQ0ksOEJBQW9DLEVBQ3ZDO0VBRkQ7SUFDSSw2QkFBb0MsRUFDdkM7RUFGRDtJQUNJLCtCQUFvQyxFQUN2QyxFQUFBOztBQ2pDYjs7Z0ZBRWdGO0FBRWhGOztHQUVHO0E3RG1wUkg7RTZEaHBSRyxzQkFBc0I7RUFDdEIsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQix1QkFBdUIsRUFDeEI7O0FBRUY7RUFDSSxhQUFhO0VBQ2IsY0FBYztFQUNkLHVCQUF1QixFQUMxQjs7QUFFRDtFQUNJLGFBQWE7RUFDYixjQUFjO0VBQ2QsdUJBQXVCLEVBQzFCOztBQUVBOzs7Ozs7OENBTTZDO0FBRTlDO0VBQ0ksdUJBQXVCLEVBQzFCOztBNUQrWUQ7RWEvWkUsZ0JiZ2ErQjtFYS9aL0Isc0JBQXNCO0VBR3BCLGlCQUFpQjtFYjZaakIsWUFBWTtFQUNaLHVCQUF1QjtFQUN2QiwwQkFBMEI7RUFDMUIsaUJBQWlCO0VBQ2pCLHNCQUFzQixFQUN6Qjs7QUFFRDtFQUNJLHNCQUFzQixFQUN6QiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJTlVJVENTU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogaW51aXRjc3MsIGJ5IEBjc3N3aXphcmRyeVxuICpcbiAqIGdpdGh1Yi5jb20vaW51aXRjc3MgfCBpbnVpdGNzcy5jb21cbiAqL1xuLyoqXG4gKiBUaGlzIGlzIGFuIGV4YW1wbGUgaW51aXRjc3MgbWFuaWZlc3QgZmlsZS4gRE8gTk9UIE1PRElGWSBUSElTIEZJTEUgRElSRUNUTFkuXG4gKiBJbnN0ZWFkLCBjb3B5IGFuZCBwYXN0ZSBpdCBpbnRvIHlvdXIgb3duIENTUyBkaXJlY3RvcnkgYW5kIG1ha2UgYWRkaXRpb25zLFxuICogZXh0ZW5zaW9ucywgYW5kIG1vZGlmaWNhdGlvbnMgdGhlcmUuXG4gKi9cbi8qKlxuICogQ09OVEVOVFNcbiAqXG4gKiBTRVRUSU5HU1xuICogQ29uZmlnLi4uLi4uLi4uLi4uLi4uUHJvamVjdC1sZXZlbCBjb25maWd1cmF0aW9uIGFuZCBmZWF0dXJlIHN3aXRjaGVzLlxuICogQ29yZS4uLi4uLi4uLi4uLi4uLi4uaW51aXRjc3PigJkgY29yZSBhbmQgc2V0dXAgc2V0dGluZ3MuXG4gKiBHbG9iYWwuLi4uLi4uLi4uLi4uLi5Qcm9qZWN0LXdpZGUgdmFyaWFibGVzIGFuZCBzZXR0aW5ncy5cbiAqXG4gKiBUT09MU1xuICogUmVtLi4uLi4uLi4uLi4uLi4uLi4uVG9vbHMgZm9yIGNvbnZlcnRpbmcgcGl4ZWwgaW5wdXRzIGludG8gdGhlaXIgcmVtXG4gKiAgICAgICAgICAgICAgICAgICAgICBlcXVpdmFsZW50cy5cbiAqIEZvbnQtc2l6ZS4uLi4uLi4uLi4uLkEgbWl4aW4gd2hpY2ggZ3VhcmFudGVlcyBiYXNlbGluZS1mcmllbmRseSBsaW5lLWhlaWdodHMuXG4gKiBTY2FsaW5nLWZvbnQtc2l6ZS4uLi5HZW5lcmF0ZSBhIHNjYWxpbmcgZm9udC1zaXplIGFuZCBiYXNlbGluZS1jb21wYXRpYmxlXG4gKiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodCBiYXNlZCBvbiB2dyB1bml0cy5cbiAqIENsZWFyZml4Li4uLi4uLi4uLi4uLk1pY3JvIGNsZWFyZml4IG1peGluLlxuICogSGlkZGVuLi4uLi4uLi4uLi4uLi4uTWl4aW4gZm9yIGhpZGluZyBlbGVtZW50cy5cbiAqIFNhc3MgTVEuLi4uLi4uLi4uLi4uLmludWl0Y3Nz4oCZIGRlZmF1bHQgbWVkaWEgcXVlcnkgbWFuYWdlci5cbiAqIEhvY3VzLi4uLi4uLi4uLi4uLi4uLkdlbmVyYXRlIGA6aG92ZXJgIGFuZCBgOmZvY3VzYCBzdHlsZXMgaW4gb25lIGdvLlxuICogSHlwaGVuYXRlLi4uLi4uLi4uLi4uTWl4aW4gdG8gcXVpY2tseSBhcHBseSBoeXBoZW5hdGlvbi5cbiAqIFBsYWNlaG9sZGVyLi4uLi4uLi4uLk1peGluIHRvIHF1aWNraWx5IHN0eWxlIHBsYWNlaG9sZGVycy5cbiAqIFNjcm9sbGJhcnMuLi4uLi4uLi4uLk1peGluIHRvIGN1c3RvbWl6ZSBzY3JvbGxiYXJzLlxuICogQWxpYXNlcy4uLi4uLi4uLi4uLi4uUmVhc3NpbmcgdmFyaWFibGVzIGFuZCBtaXhpbnMgdG8gc2hvcnRlciBvbmVzLlxuICpcbiAqIEdFTkVSSUNcbiAqIEJveC1zaXppbmcuLi4uLi4uLi4uLkJldHRlciBkZWZhdWx0IGBib3gtc2l6aW5nYC5cbiAqIE5vcm1hbGl6ZS5jc3MuLi4uLi4uLkEgbGV2ZWwgcGxheWluZyBmaWVsZCB1c2luZyBAbmVjb2xhc+KAmSBOb3JtYWxpemUuY3NzLlxuICogUmVzZXQuLi4uLi4uLi4uLi4uLi4uQSB0aW55IHJlc2V0IHRvIGNvbXBsZW1lbnQgTm9ybWFsaXplLmNzcy5cbiAqIFNoYXJlZC4uLi4uLi4uLi4uLi4uLlNlbnNpYmx5IGFuZCB0ZXJzZWx5IHNoYXJlIHNvbWUgZ2xvYmFsIGNvbW1vbmFsaXRpZXNcbiAqICAgICAgICAgICAgICAgICAgICAgIChwYXJ0aWN1bGFybHkgdXNlZnVsIHdoZW4gbWFuYWdpbmcgdmVydGljYWwgcmh5dGhtKS5cbiAqXG4gKiBFTEVNRU5UU1xuICogUGFnZS4uLi4uLi4uLi4uLi4uLi4uU2V0IHVwIG91ciBkb2N1bWVudOKAmXMgZGVmYXVsdCBgZm9udC1zaXplYCBhbmRcbiAqICAgICAgICAgICAgICAgICAgICAgIGBsaW5lLWhlaWdodGAuXG4gKiBIZWFkaW5ncy4uLi4uLi4uLi4uLi5WZXJ5IG1pbmltYWwgKGkuZS4gb25seSBmb250LXNpemUgaW5mb3JtYXRpb24pIGZvclxuICogICAgICAgICAgICAgICAgICAgICAgaGVhZGluZ3MgMSB0aHJvdWdoIDYuXG4gKiBJbWFnZXMuLi4uLi4uLi4uLi4uLi5CYXNlIGltYWdlIHN0eWxlcy5cbiAqIFRhYmxlcy4uLi4uLi4uLi4uLi4uLlNpbXBsZSB0YWJsZSBzdHlsZXMuXG4gKiBCcmVha3BvaW50cy4uLi4uLi4uLi5DU1MgYnJlYWtwb2ludHMgZm9yIHVzZSBpbiBKUy5cbiAqXG4gKiBPQkpFQ1RTXG4gKiBXcmFwcGVyLi4uLi4uLi4uLi4uLi5QYWdlIGNvbnN0cmFpbnQgb2JqZWN0LlxuICogTGF5b3V0Li4uLi4uLi4uLi4uLi4uR2VuZXJpYyBsYXlvdXQgbW9kdWxlLlxuICogTWVkaWEuLi4uLi4uLi4uLi4uLi4uSW1hZ2UtIGFuZCB0ZXh0LWxpa2UgY29udGVudCBzaWRlIGJ5IHNpZGUuIFRoZVxuICogICAgICAgICAgICAgICAgICAgICAgcG9zdGVyLWNoaWxkIG9mIE9PQ1NTLlxuICogRmxhZy4uLi4uLi4uLi4uLi4uLi4uVGFibGUtbGF5b3V0LWJhc2VkIGFkdmFuY2VtZW50IG9uIHRoZSBNZWRpYSBvYmplY3QuXG4gKiBMaXN0LWJhcmUuLi4uLi4uLi4uLi5MaXN0cyB3aXRoIG5vIGJ1bGxldHMgb3IgaW5kZW50cy5cbiAqIExpc3QtaW5saW5lLi4uLi4uLi4uLkEgbGlzdCB3aG9zZSBpdGVtcyBhbGwgc2l0ZSBpbiBhIGxpbmUuXG4gKiBCb3guLi4uLi4uLi4uLi4uLi4uLi5TaW1wbGUgYm94aW5nIGFic3RyYWN0aW9uLlxuICogQmxvY2suLi4uLi4uLi4uLi4uLi4uSW1hZ2Utb24tdG9wLW9mLXRleHQgb2JqZWN0LlxuICogUmF0aW8uLi4uLi4uLi4uLi4uLi4uQSBjb250YWluZXIgZm9yIG1haW50YWluaW5nIGFzcGVjdCByYXRpbyBvZiBjb250ZW50LlxuICogQ3JvcC4uLi4uLi4uLi4uLi4uLi4uUHJvdmlkZSBhIGNyb3BwaW5nIGNvbnRleHQgZm9yIG1lZGlhIChpbWFnZXMsIGV0Yy4pLlxuICogVGFibGVzLi4uLi4uLi4uLi4uLi4uQ2xhc3NlcyBmb3IgbWFuaXB1bGF0aW5nIGB0YWJsZWBzLlxuICogUGFjay4uLi4uLi4uLi4uLi4uLi4uUGFjayBpdGVtcyBpbnRvIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlLlxuICogVGFicy4uLi4uLi4uLi4uLi4uLi4uU2ltcGxlIHRhYnMgb2JqZWN0LlxuICpcbiAqIENPTVBPTkVOVFNcbiAqIEJ1dHRvbnMuLi4uLi4uLi4uLi4uLkFuIGV4YW1wbGUgYnV0dG9uIGNvbXBvbmVudCwgYW5kIGhvdyBpdCBmaXRzIGludG8gdGhlXG4gKiAgICAgICAgICAgICAgICAgICAgICBpbnVpdGNzcyBmcmFtZXdvcmsuXG4gKiBOYXYgbWFpbi4uLi4uLi4uLi4uLi5NYWluIG5hdmlnYXRpb24gc3R5bGVzXG4gKiBQYWdlLWhlYWQuLi4uLi4uLi4uLi5NYWluIHBhZ2UgaGVhZCBzdHlsaW5nLlxuICogRm9ybS4uLi4uLi4uLi4uLi4uLi4uQmFzaWMgZm9ybSBjb21wb25lbnQuXG4gKlxuICogVVRJTElUSUVTXG4gKiBDbGVhcmZpeC4uLi4uLi4uLi4uLi5CaW5kIG91ciBjbGVhcmZpeCBvbnRvIGEgdXRpbGl0eSBjbGFzcy5cbiAqIFdpZHRocy4uLi4uLi4uLi4uLi4uLlNpbXBsZSB3aWR0aCBoZWxwZXIgY2xhc3Nlcy5cbiAqIEhlYWRpbmdzLi4uLi4uLi4uLi4uLlJlYXNzaWduaW5nIG91ciBoZWFkaW5nIHN0eWxlcyB0byBoZWxwZXIgY2xhc3Nlcy5cbiAqIFNwYWNpbmcuLi4uLi4uLi4uLi4uLk51ZGdlIGJpdHMgb2YgdGhlIERPTSBhcm91bmQgd2l0aCB0aGVzZSBzcGFjaW5nXG4gKiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLlxuICogUHJpbnQuLi4uLi4uLi4uLi4uLi4uUmVzZXQtbGlrZSBzdHlsZXMgdGFrZW4gZnJvbSB0aGUgSFRNTDUgQm9pbGVycGxhdGUuXG4gKiBIaWRlLi4uLi4uLi4uLi4uLi4uLi5IZWxwZXIgY2xhc3NlcyB0byBoaWRlIGNvbnRlbnQuXG4gKiBSZXNwb25zaXZlIEhpZGUuLi4uLi5SZXNwb25zaXZlIGhpZGUgaGVscGVycy5cbiAqIFRleHQgQWxpZ24uLi4uLi4uLi4uLlRleHQgYWxpZ25tZW50IGhlbHBlcnMuXG4gKiBJY29ucy4uLi4uLi4uLi4uLi4uLi5TdHlsaW5nIGZvciBTVkcgU3ByaXRlcy5cbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNMSVNULUJBUkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFN0cmlwIGxpc3QtbGlrZSBhcHBlYXJhbmNlIGZyb20gbGlzdHMgYnkgcmVtb3ZpbmcgdGhlaXIgYnVsbGV0cywgYW5kIGFueVxuICogaW5kZW50YXRpb24uXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjQk9YLVNJWklOR1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveC1zaXppbmc6XG4gKiBjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2VcbiAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMsXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNSRVNFVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQSB2ZXJ5IHNpbXBsZSByZXNldCB0aGF0IHNpdHMgb24gdG9wIG9mIE5vcm1hbGl6ZS5jc3MuXG4gKi9cbmJvZHksXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuYmxvY2txdW90ZSwgcCwgcHJlLFxuZGwsIGRkLCBvbCwgdWwsXG5maWd1cmUsXG5ocixcbmZpZWxkc2V0LCBsZWdlbmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZW1vdmUgdHJhaWxpbmcgbWFyZ2lucyBmcm9tIG5lc3RlZCBsaXN0cy5cbiAqL1xubGkgPiBvbCxcbmxpID4gdWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdGFibGUgc3BhY2luZy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG4vKipcbiAqIDEuIFJlc2V0IENocm9tZSBhbmQgRmlyZWZveCBiZWhhdmlvdXIgd2hpY2ggc2V0cyBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2BcbiAqICAgIG9uIGZpZWxkc2V0cy5cbiAqL1xuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7XG4gIC8qIFsxXSAqL1xuICBib3JkZXI6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNTSEFSRURcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFNoYXJlZCBkZWNsYXJhdGlvbnMgZm9yIGNlcnRhaW4gZWxlbWVudHMuXG4gKi9cbi8qKlxuICogQWx3YXlzIGRlY2xhcmUgbWFyZ2lucyBpbiB0aGUgc2FtZSBkaXJlY3Rpb246XG4gKiBjc3N3aXphcmRyeS5jb20vMjAxMi8wNi9zaW5nbGUtZGlyZWN0aW9uLW1hcmdpbi1kZWNsYXJhdGlvbnNcbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyICovXG5hZGRyZXNzLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbmJsb2NrcXVvdGUsIHAsIHByZSxcbmRsLCBvbCwgdWwsXG5maWd1cmUsXG5ocixcbnRhYmxlLFxuZmllbGRzZXQge1xuICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLyoqXG4gKiBDb25zaXN0ZW50IGluZGVudGF0aW9uIGZvciBsaXN0cy5cbiAqL1xuZGQsIG9sLCB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAyMXB4O1xuICBtYXJnaW4tbGVmdDogMS41cmVtOyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1BBR0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFNpbXBsZSBwYWdlLWxldmVsIHNldHVwLlxuICpcbiAqIDEuIFNldCB0aGUgZGVmYXVsdCBgZm9udC1zaXplYCBhbmQgYGxpbmUtaGVpZ2h0YCBmb3IgdGhlIGVudGlyZSBwcm9qZWN0LFxuICogICAgc291cmNlZCBmcm9tIG91ciBkZWZhdWx0IHZhcmlhYmxlcy4gVGhlIGBmb250LXNpemVgIGlzIGNhbGN1bGF0ZWQgdG8gZXhpc3RcbiAqICAgIGluIGVtcywgdGhlIGBsaW5lLWhlaWdodGAgaXMgY2FsY3VsYXRlZCB0byBleGlzdCB1bml0bGVzc2x5LlxuICogMi4gRm9yY2Ugc2Nyb2xsYmFycyB0byBhbHdheXMgYmUgdmlzaWJsZSB0byBwcmV2ZW50IGF3a3dhcmQg4oCYanVtcHPigJkgd2hlblxuICogICAgbmF2aWdhdGluZyBiZXR3ZWVuIHBhZ2VzIHRoYXQgZG8vZG8gbm90IGhhdmUgZW5vdWdoIGNvbnRlbnQgdG8gcHJvZHVjZVxuICogICAgc2Nyb2xsYmFycyBuYXR1cmFsbHkuXG4gKiAzLiBFbnN1cmUgdGhlIHBhZ2UgYWx3YXlzIGZpbGxzIGF0IGxlYXN0IHRoZSBlbnRpcmUgaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydC5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgLyogWzFdICovXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIC8qIFsxXSAqL1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC8qIFsyXSAqL1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAvKiBbM10gKi8gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1BBR0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEV4dGVuZGVkIHBhZ2UtbGV2ZWwgc2V0dXAuXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogT3BlbiBTYW5zLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzk2OTY5NjtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIGJvZHkuaGFzLW1haW4tbmF2LW9wZW4ge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIGJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4taGVpZ2h0OiAxMDAlOyB9IH1cblxuW29uQ2xpY2tdIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjSEVBRElOR1NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFNpbXBsZSBkZWZhdWx0IHN0eWxlcyBmb3IgaGVhZGluZ3MgMSB0aHJvdWdoIDYuIEFueXRoaW5nIG1vcmUgb3BpbmlvbmF0ZWRcbiAqIHRoYW4gc2ltcGxlIGZvbnQtc2l6ZSBjaGFuZ2VzIHNob3VsZCBsaWtlbHkgYmUgYXBwbGllZCB2aWEgY2xhc3NlcyAoc2VlOlxuICogaHR0cDovL2Nzc3dpemFyZHJ5LmNvbS8yMDE2LzAyL21hbmFnaW5nLXR5cG9ncmFwaHktb24tbGFyZ2UtYXBwcy8pLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAxLjcxNDI5cmVtO1xuICBsaW5lLWhlaWdodDogMS43NTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMTI1OyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuMTQyODZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMxMjU7IH1cblxuaDQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzEyNTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMTI1OyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuMTQyODZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMxMjU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNIRUFESU5HU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRGVmYXVsdCBmb250IGZhbWlseSBmb3IgaGVhZGluZ3NcbiAqL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBMaWJyZSBCYXNrZXJ2aWxsZSwgc2VyaWY7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMy4zM3B4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxLjI4NTcxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE2NjY3OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDEuNzE0MjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjE7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0lNQUdFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gRmx1aWQgaW1hZ2VzIGZvciByZXNwb25zaXZlIHB1cnBvc2VzLlxuICogMi4gT2Zmc2V0IGBhbHRgIHRleHQgZnJvbSBzdXJyb3VuZGluZyBjb3B5LlxuICogMy4gU2V0dGluZyBgdmVydGljYWwtYWxpZ25gIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyIGBpbWdgXG4gKiAgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXG4gKiAgICB1c2luZyBgZGlzcGxheTogYmxvY2s7YC5cbiAqL1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiBbMV0gKi9cbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICAvKiBbMl0gKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogWzNdICovIH1cblxuLyoqXG4gKiAxLiBJZiBhIGB3aWR0aGAgYW5kL29yIGBoZWlnaHRgIGF0dHJpYnV0ZSBoYXZlIGJlZW4gZXhwbGljaXRseSBkZWZpbmVkLCBsZXTigJlzXG4gKiAgICBub3QgbWFrZSB0aGUgaW1hZ2UgZmx1aWQuXG4gKi9cbmltZ1t3aWR0aF0sXG5pbWdbaGVpZ2h0XSB7XG4gIC8qIFsxXSAqL1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNUQUJMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEVuc3VyZSB0YWJsZXMgZmlsbCB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLlxuICovXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBbMV0gKi8gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0JSRUFLUE9JTlRTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDU1MgYnJlYWtwb2ludHMgZm9yIHVzZSBpbiBKU1xuICpcbiAqIEJhc2VkIG9uOlxuICogaHR0cHM6Ly93d3cubHVsbGFib3QuY29tL2FydGljbGVzL2ltcG9ydGluZy1jc3MtYnJlYWtwb2ludHMtaW50by1qYXZhc2NyaXB0XG4gKlxuICogVGhlc2UgdmFsdWVzIHdpbGwgbm90IHNob3cgdXAgaW4gY29udGVudCwgYnV0IGNhbiBiZVxuICogcXVlcmllZCBieSBKYXZhU2NyaXB0IHRvIGtub3cgd2hpY2ggYnJlYWtwb2ludCBpcyBhY3RpdmUuXG4gKiBBZGQgb3IgcmVtb3ZlIGFzIG1hbnkgYnJlYWtwb2ludHMgYXMgeW91IGxpa2UuXG4gKi9cbmJvZHk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLyogUHJldmVudCBmcm9tIGRpc3BsYXlpbmcuICovXG4gIGNvbnRlbnQ6IFwibW9iaWxlXCI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDIzLjQzNzVlbSkge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwibW9iaWxlXCI7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwidGFibGV0XCI7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiZGVza3RvcFwiOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIndpZGVcIjsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjTElOS1NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEJhc2ljIGxpbmsgc3R5bGluZy5cbiAqL1xuYSB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjSE9SSVpPTlRBTC1SVUxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQmFzaWMgaHIgc3R5bGluZy5cbiAqL1xuaHIge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7IH1cblxuLnUtaHItLXByaW1hcnkge1xuICB3aWR0aDogNjBweDtcbiAgYm9yZGVyLWNvbG9yOiAjY2JjYmNiO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi51LWhyLS1hbHQge1xuICB3aWR0aDogNjBweDtcbiAgYm9yZGVyLWNvbG9yOiAjY2JjYmNiO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLnUtaHItLWFsdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi51LWhyLS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDIzLjQzNzVlbSkge1xuICAudS1oci0tbGVmdFxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjMuNDI3NWVtKSB7XG4gIC51LWhyLS1sZWZ0XFxAdW50aWwtbW9iaWxlIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LWhyLS1sZWZ0XFxAdGFibGV0IHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIC51LWhyLS1sZWZ0XFxAdW50aWwtdGFibGV0IHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LWhyLS1sZWZ0XFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjEuMjRlbSkge1xuICAudS1oci0tbGVmdFxcQHVudGlsLWRlc2t0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtaHItLWxlZnRcXEB3aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MS4yNGVtKSB7XG4gIC51LWhyLS1sZWZ0XFxAdW50aWwtd2lkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1dSQVBQRVJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBQYWdlLWxldmVsIGNvbnN0cmFpbmluZyBhbmQgd3JhcHBpbmcgZWxlbWVudHMuXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uby13cmFwcGVyIHtcbiAgcGFkZGluZy1yaWdodDogMjFweDtcbiAgcGFkZGluZy1sZWZ0OiAyMXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDExMjJweDsgfVxuICAuby13cmFwcGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBjbGVhcjogYm90aCAhaW1wb3J0YW50OyB9XG5cbi8qIFNpemUgdmFyaWFudHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8td3JhcHBlci0tdGlueSB7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cblxuLm8td3JhcHBlci0tc21hbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAxMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDExcHg7IH1cblxuLm8td3JhcHBlci0tbGFyZ2Uge1xuICBwYWRkaW5nLXJpZ2h0OiA0MnB4O1xuICBwYWRkaW5nLWxlZnQ6IDQycHg7IH1cblxuLm8td3JhcHBlci0taHVnZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDg0cHg7XG4gIHBhZGRpbmctbGVmdDogODRweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1dSQVBQRVJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTW9yZSBzaXplIHZhcmlhbnRzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIC5vLXdyYXBwZXIge1xuICAgIHBhZGRpbmctbGVmdDogMTFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4OyB9IH1cblxuLm8td3JhcHBlci0tZmx1c2gge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLm8td3JhcHBlci0tbW9yZSB7XG4gIG1heC13aWR0aDogMTM0OHB4OyB9XG5cbi5vLXdyYXBwZXItLWxlc3Mge1xuICBtYXgtd2lkdGg6IDcxNHB4OyB9XG5cbi5vLXdyYXBwZXItLW5hcnJvd2VzdCB7XG4gIG1heC13aWR0aDogMzgwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNMQVlPVVRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEdyaWQtbGlrZSBsYXlvdXQgc3lzdGVtLlxuICpcbiAqIFRoZSBsYXlvdXQgb2JqZWN0IHByb3ZpZGVzIHVzIHdpdGggYSBjb2x1bW4tc3R5bGUgbGF5b3V0IHN5c3RlbS4gVGhpcyBmaWxlXG4gKiBjb250YWlucyB0aGUgYmFzaWMgc3RydWN0dXJhbCBlbGVtZW50cywgYnV0IGNsYXNzZXMgc2hvdWxkIGJlIGNvbXBsZW1lbnRlZFxuICogd2l0aCB3aWR0aCB1dGlsaXRpZXMsIGZvciBleGFtcGxlOlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0XCI+XG4gKiAgICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMlwiPlxuICogICAgIDwvZGl2PlxuICogICAgIDxkaXYgY2xhc3M9XCJvLWxheW91dF9faXRlbSAgdS0xLzJcIj5cbiAqICAgICA8L2Rpdj5cbiAqICAgPC9kaXY+XG4gKlxuICogVGhlIGFib3ZlIHdpbGwgY3JlYXRlIGEgdHdvLWNvbHVtbiBzdHJ1Y3R1cmUgaW4gd2hpY2ggZWFjaCBjb2x1bW4gd2lsbFxuICogZmx1aWRseSBmaWxsIGhhbGYgb2YgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQuIFdlIGNhbiBoYXZlIG1vcmUgY29tcGxleFxuICogc3lzdGVtczpcbiAqXG4gKiAgIDxkaXYgY2xhc3M9XCJvLWxheW91dFwiPlxuICogICAgIDxkaXYgY2xhc3M9XCJvLWxheW91dF9faXRlbSAgdS0xLzEgIHUtMS8zQG1lZGl1bVwiPlxuICogICAgIDwvZGl2PlxuICogICAgIDxkaXYgY2xhc3M9XCJvLWxheW91dF9faXRlbSAgdS0xLzIgIHUtMS8zQG1lZGl1bVwiPlxuICogICAgIDwvZGl2PlxuICogICAgIDxkaXYgY2xhc3M9XCJvLWxheW91dF9faXRlbSAgdS0xLzIgIHUtMS8zQG1lZGl1bVwiPlxuICogICAgIDwvZGl2PlxuICogICA8L2Rpdj5cbiAqXG4gKiBUaGUgYWJvdmUgd2lsbCBjcmVhdGUgYSBzeXN0ZW0gaW4gd2hpY2ggdGhlIGZpcnN0IGl0ZW0gd2lsbCBiZSAxMDAlIHdpZHRoXG4gKiB1bnRpbCB3ZSBlbnRlciBvdXIgbWVkaXVtIGJyZWFrcG9pbnQsIHdoZW4gaXQgd2lsbCBiZWNvbWUgMzMuMzMzJSB3aWR0aC4gVGhlXG4gKiBzZWNvbmQgYW5kIHRoaXJkIGl0ZW1zIHdpbGwgYmUgNTAlIG9mIHRoZWlyIHBhcmVudCwgdW50aWwgdGhleSBhbHNvIGJlY29tZVxuICogMzMuMzMzJSB3aWR0aCBhdCB0aGUgbWVkaXVtIGJyZWFrcG9pbnQuXG4gKlxuICogV2UgY2FuIGFsc28gbWFuaXB1bGF0ZSBlbnRpcmUgbGF5b3V0IHN5c3RlbXMgYnkgYWRkaW5nIGEgc2VyaWVzIG9mIG1vZGlmaWVyc1xuICogdG8gdGhlIGAuby1sYXlvdXRgIGJsb2NrLiBGb3IgZXhhbXBsZTpcbiAqXG4gKiAgIDxkaXYgY2xhc3M9XCJvLWxheW91dCAgby1sYXlvdXQtLXJldmVyc2VcIj5cbiAqXG4gKiBUaGlzIHdpbGwgcmV2ZXJzZSB0aGUgZGlzcGxheWVkIG9yZGVyIG9mIHRoZSBzeXN0ZW0gc28gdGhhdCBpdCBydW5zIGluIHRoZVxuICogb3Bwb3NpdGUgb3JkZXIgdG8gb3VyIHNvdXJjZSwgZWZmZWN0aXZlbHkgZmxpcHBpbmcgdGhlIHN5c3RlbSBvdmVyLlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0ICBvLWxheW91dC0tW3JpZ2h0fGNlbnRlcl1cIj5cbiAqXG4gKiBUaGlzIHdpbGwgY2F1c2UgdGhlIHN5c3RlbSB0byBmaWxsIHVwIGZyb20gZWl0aGVyIHRoZSBjZW50cmUgb3IgdGhlIHJpZ2h0XG4gKiBoYW5kIHNpZGUuIERlZmF1bHQgYmVoYXZpb3VyIGlzIHRvIGZpbGwgdXAgdGhlIGxheW91dCBzeXN0ZW0gZnJvbSB0aGUgbGVmdC5cbiAqXG4gKiBUaGVyZSBhcmUgcGxlbnR5IG1vcmUgb3B0aW9ucyBhdmFpbGFibGUgdG8gdXM6IGV4cGxvcmUgdGhlbSBiZWxvdy5cbiAqL1xuLyogRGVmYXVsdC9tYW5kYXRvcnkgY2xhc3Nlcy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFsbG93cyB1cyB0byB1c2UgdGhlIGxheW91dCBvYmplY3Qgb24gYW55IHR5cGUgb2YgZWxlbWVudC5cbiAqIDIuIFdlIG5lZWQgdG8gZGVmZW5zaXZlbHkgcmVzZXQgYW55IGJveC1tb2RlbCBwcm9wZXJ0aWVzLlxuICogMy4gVXNlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gdHJpY2sgZm9yIG11bHRpLXJvdyBncmlkczpcbiAqICAgIGh0dHA6Ly9jc3N3aXphcmRyeS5jb20vMjAxMS8wOC9idWlsZGluZy1iZXR0ZXItZ3JpZC1zeXN0ZW1zL1xuICovXG4uby1sYXlvdXQsIC5jLWZvcm0tLWZyYW5jaGlzZSBmb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIFsxXSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIFsyXSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiBbMl0gKi9cbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgLyogWzFdICovXG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgLyogWzNdICovXG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4vKipcbiAgICogMS4gUmVxdWlyZWQgaW4gb3JkZXIgdG8gY29tYmluZSBmbHVpZCB3aWR0aHMgd2l0aCBmaXhlZCBndXR0ZXJzLlxuICAgKiAyLiBBbGxvd3MgdXMgdG8gbWFuaXB1bGF0ZSBncmlkcyB2ZXJ0aWNhbGx5LCB3aXRoIHRleHQtbGV2ZWwgcHJvcGVydGllcyxcbiAgICogICAgZXRjLlxuICAgKiAzLiBEZWZhdWx0IGl0ZW0gYWxpZ25tZW50IGlzIHdpdGggdGhlIHRvcHMgb2YgZWFjaCBvdGhlciwgbGlrZSBtb3N0XG4gICAqICAgIHRyYWRpdGlvbmFsIGdyaWQvbGF5b3V0IHN5c3RlbXMuXG4gICAqIDQuIEJ5IGRlZmF1bHQsIGFsbCBsYXlvdXQgaXRlbXMgYXJlIGZ1bGwtd2lkdGggKG1vYmlsZSBmaXJzdCkuXG4gICAqIDUuIEd1dHRlcnMgcHJvdmlkZWQgYnkgbGVmdCBwYWRkaW5nOlxuICAgKiAgICBodHRwOi8vY3Nzd2l6YXJkcnkuY29tLzIwMTEvMDgvYnVpbGRpbmctYmV0dGVyLWdyaWQtc3lzdGVtcy9cbiAgICogNi4gRmFsbGJhY2sgZm9yIG9sZCBJRXMgbm90IHN1cHBvcnRpbmcgYHJlbWAgdmFsdWVzLlxuICAgKi9cbi5vLWxheW91dF9faXRlbSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIFsxXSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIFsyXSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiBbM10gKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIFs0XSAqL1xuICBwYWRkaW5nLWxlZnQ6IDIxcHg7XG4gIC8qIFs1XSAqL1xuICBmb250LXNpemU6IDE0cHg7XG4gIC8qIFs2XSAqL1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLyogR3V0dGVyIHNpemUgbW9kaWZpZXJzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLWxheW91dC0tdGlueSB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4OyB9XG4gIC5vLWxheW91dC0tdGlueSA+IC5vLWxheW91dF9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cblxuLm8tbGF5b3V0LS1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDsgfVxuICAuby1sYXlvdXQtLXNtYWxsID4gLm8tbGF5b3V0X19pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7IH1cblxuLm8tbGF5b3V0LS1sYXJnZSwgLmMtZm9ybS0tZnJhbmNoaXNlIGZvcm0ge1xuICBtYXJnaW4tbGVmdDogLTQycHg7IH1cbiAgLm8tbGF5b3V0LS1sYXJnZSA+IC5vLWxheW91dF9faXRlbSwgLmMtZm9ybS0tZnJhbmNoaXNlIGZvcm0gPiAuby1sYXlvdXRfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNDJweDsgfVxuXG4uby1sYXlvdXQtLWh1Z2Uge1xuICBtYXJnaW4tbGVmdDogLTg0cHg7IH1cbiAgLm8tbGF5b3V0LS1odWdlID4gLm8tbGF5b3V0X19pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cblxuLm8tbGF5b3V0LS1mbHVzaCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5vLWxheW91dC0tZmx1c2ggPiAuby1sYXlvdXRfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBWZXJ0aWNhbCBhbGlnbm1lbnQgbW9kaWZpZXJzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWxpZ24gYWxsIGdyaWQgaXRlbXMgdG8gdGhlIG1pZGRsZXMgb2YgZWFjaCBvdGhlci5cbiAqL1xuLm8tbGF5b3V0LS1taWRkbGUgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qKlxuICogQWxpZ24gYWxsIGdyaWQgaXRlbXMgdG8gdGhlIGJvdHRvbXMgb2YgZWFjaCBvdGhlci5cbiAqL1xuLm8tbGF5b3V0LS1ib3R0b20gPiAuby1sYXlvdXRfX2l0ZW0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbi8qIEZpbGwgb3JkZXIgbW9kaWZpZXJzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRmlsbCB1cCB0aGUgbGF5b3V0IHN5c3RlbSBmcm9tIHRoZSBjZW50cmUuXG4gKi9cbi5vLWxheW91dC0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5vLWxheW91dC0tY2VudGVyID4gLm8tbGF5b3V0X19pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi8qKlxuICogRmlsbCB1cCB0aGUgbGF5b3V0IHN5c3RlbSBmcm9tIHRoZSByaWdodC1oYW5kIHNpZGUuXG4gKi9cbi5vLWxheW91dC0tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuby1sYXlvdXQtLXJpZ2h0ID4gLm8tbGF5b3V0X19pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi8qKlxuICogUmV2ZXJzZSB0aGUgcmVuZGVyZWQgb3JkZXIgb2YgdGhlIGdyaWQgc3lzdGVtLlxuICovXG4uby1sYXlvdXQtLXJldmVyc2Uge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuICAuby1sYXlvdXQtLXJldmVyc2UgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLm8tbGF5b3V0LS1wdWxsZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTA3cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuby1sYXlvdXQtLXB1c2hlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTA3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTAlOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ2LjI0ZW0pIHtcbiAgLm8tbGF5b3V0LS1nYWxsZXJ5IHtcbiAgICBtYXJnaW4tbGVmdDogLTExcHg7IH1cbiAgICAuby1sYXlvdXQtLWdhbGxlcnkgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5vLWxheW91dC0tZ2FsbGVyeSA+IC5vLWxheW91dF9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjFweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIC5vLWxheW91dC0taW5zdGFncmFtIHtcbiAgICBtYXJnaW4tbGVmdDogLTExcHg7IH1cbiAgICAuby1sYXlvdXQtLWluc3RhZ3JhbSA+IC5vLWxheW91dF9faXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLm8tbGF5b3V0LS1pbnN0YWdyYW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuby1sYXlvdXQtLWRlc2lnbmVycyB7XG4gICAgcGFkZGluZy10b3A6IDIxcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIxcHg7IH0gfVxuXG4uby1sYXlvdXQtLWRlc2lnbmVycyA+IC5vLWxheW91dF9faXRlbSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjY2JjYmNiOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIC5jLXBhZ2UtZm9vdF9fbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIC5jLXBhZ2UtZm9vdF9faXRlbS0tZ3JvdyB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNNRURJQVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUGxhY2UgYW55IGltYWdlLSBhbmQgdGV4dC1saWtlIGNvbnRlbnQgc2lkZS1ieS1zaWRlLCBhcyBwZXI6XG4gKiBodHRwOi8vd3d3LnN0dWJib3JuZWxsYS5vcmcvY29udGVudC8yMDEwLzA2LzI1L3RoZS1tZWRpYS1vYmplY3Qtc2F2ZXMtaHVuZHJlZHMtb2YtbGluZXMtb2YtY29kZVxuICovXG4uby1tZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vLW1lZGlhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBjbGVhcjogYm90aCAhaW1wb3J0YW50OyB9XG5cbi5vLW1lZGlhX19pbWcge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAyMXB4OyB9XG4gIC5vLW1lZGlhX19pbWcgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vLW1lZGlhX19ib2R5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm8tbWVkaWFfX2JvZHksXG4gIC5vLW1lZGlhX19ib2R5ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogU2l6ZSB2YXJpYW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogTW9kaWZ5IHRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiBvdXIgaW1hZ2UgYW5kIG91ciB0ZXh0LiBXZSBhbHNvIGhhdmVcbiAqIHJldmVyc2libGUgb3B0aW9ucyBmb3IgYWxsIGF2YWlsYWJsZSBzaXplcy5cbiAqL1xuLm8tbWVkaWEtLXRpbnkgPiAuby1tZWRpYV9faW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLm8tbWVkaWEtLXRpbnkuby1tZWRpYS0tcmV2ZXJzZSA+IC5vLW1lZGlhX19pbWcge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLm8tbWVkaWEtLXNtYWxsID4gLm8tbWVkaWFfX2ltZyB7XG4gIG1hcmdpbi1yaWdodDogMTFweDsgfVxuXG4uby1tZWRpYS0tc21hbGwuby1tZWRpYS0tcmV2ZXJzZSA+IC5vLW1lZGlhX19pbWcge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMXB4OyB9XG5cbi5vLW1lZGlhLS1sYXJnZSA+IC5vLW1lZGlhX19pbWcge1xuICBtYXJnaW4tcmlnaHQ6IDQycHg7IH1cblxuLm8tbWVkaWEtLWxhcmdlLm8tbWVkaWEtLXJldmVyc2UgPiAuby1tZWRpYV9faW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogNDJweDsgfVxuXG4uby1tZWRpYS0taHVnZSA+IC5vLW1lZGlhX19pbWcge1xuICBtYXJnaW4tcmlnaHQ6IDg0cHg7IH1cblxuLm8tbWVkaWEtLWh1Z2Uuby1tZWRpYS0tcmV2ZXJzZSA+IC5vLW1lZGlhX19pbWcge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiA4NHB4OyB9XG5cbi8qIFJldmVyc2VkIG1lZGlhIG9iamVjdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uby1tZWRpYS0tcmV2ZXJzZSA+IC5vLW1lZGlhX19pbWcge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDIxcHg7IH1cblxuLyogR3V0dGVybGVzcyBtZWRpYSBvYmplY3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tbWVkaWEtLWZsdXNoID4gLm8tbWVkaWFfX2ltZyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNGTEFHXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBUaGUgZmxhZyBvYmplY3QgaXMgYSBkZXNpZ24gcGF0dGVybiBzaW1pbGFyIHRvIHRoZSBtZWRpYSBvYmplY3QsIGhvd2V2ZXIgaXRcbiAqIHV0aWxpc2VzIGBkaXNwbGF5OiB0YWJsZVstY2VsbF07YCB0byBnaXZlIHVzIGNvbnRyb2wgb3ZlciB0aGUgdmVydGljYWxcbiAqIGFsaWdubWVudHMgb2YgdGhlIHRleHQgYW5kIGltYWdlLlxuICpcbiAqIGh0dHA6Ly9jc3N3aXphcmRyeS5jb20vMjAxMy8wNS90aGUtZmxhZy1vYmplY3QvXG4gKlxuICogMS4gQWxsb3dzIHVzIHRvIGNvbnRyb2wgdmVydGljYWwgYWxpZ25tZW50cy5cbiAqIDIuIEZvcmNlIHRoZSBvYmplY3QgdG8gYmUgdGhlIGZ1bGwgd2lkdGggb2YgaXRzIHBhcmVudC4gQ29tYmluZWQgd2l0aCBbMV0sXG4gKiAgICB0aGlzIG1ha2VzIHRoZSBvYmplY3QgYmVoYXZlIGluIGEgcXVhc2ktYGRpc3BsYXk6IGJsb2NrO2AgbWFubmVyLlxuICovXG4uby1mbGFnIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIFsxXSAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogWzJdICovIH1cblxuLyoqXG4gICAqIEl0ZW1zIHdpdGhpbiBhIGZsYWcgb2JqZWN0LiBUaGVyZSBzaG91bGQgb25seSBldmVyIGJlIG9uZSBvZiBlYWNoLlxuICAgKlxuICAgKiAxLiBEZWZhdWx0IHRvIGFsaWduaW5nIGNvbnRlbnQgdG8gdGhlaXIgbWlkZGxlcy5cbiAgICovXG4uby1mbGFnX19pbWcsXG4uby1mbGFnX19ib2R5IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogWzFdICovIH1cblxuLyoqXG4gICAqIEZsYWcgaW1hZ2VzIGhhdmUgYSBzcGFjZSBiZXR3ZWVuIHRoZW0gYW5kIHRoZSBib2R5IG9mIHRoZSBvYmplY3QuXG4gICAqXG4gICAqIDEuIEZvcmNlIGAuZmxhZ19faW1nYCB0byB0YWtlIHVwIGFzIGxpdHRsZSBzcGFjZSBhcyBwb3NzaWJsZTpcbiAgICogICAgaHR0cHM6Ly9waXhlbHN2c2J5dGVzLmNvbS8yMDEyLzAyL3RoaXMtY3NzLWxheW91dC1ncmlkLWlzLW5vLWhvbHktZ3JhaWwvXG4gICAqL1xuLm8tZmxhZ19faW1nIHtcbiAgd2lkdGg6IDFweDtcbiAgLyogWzFdICovXG4gIHBhZGRpbmctcmlnaHQ6IDIxcHg7XG4gIC8qKlxuICAgICAqIDEuIEZpeGVzIHByb2JsZW0gd2l0aCBpbWFnZXMgZGlzYXBwZWFyaW5nLlxuICAgICAqLyB9XG4gIC5vLWZsYWdfX2ltZyA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIC8qIFsxXSAqLyB9XG5cbi8qKlxuICAgKiBUaGUgY29udGFpbmVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHRoZSBmbGFnIG9iamVjdC5cbiAgICpcbiAgICogMS4gRm9yY2VzIHRoZSBgLmZsYWdfX2JvZHlgIHRvIHRha2UgdXAgYWxsIHJlbWFpbmluZyBzcGFjZS5cbiAgICovXG4uby1mbGFnX19ib2R5IHtcbiAgd2lkdGg6IGF1dG87XG4gIC8qIFsxXSAqLyB9XG4gIC5vLWZsYWdfX2JvZHksXG4gIC5vLWZsYWdfX2JvZHkgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBTaXplIHZhcmlhbnRzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLWZsYWctLXRpbnkgPiAuby1mbGFnX19pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLm8tZmxhZy0tdGlueS5vLWZsYWctLXJldmVyc2UgPiAuby1mbGFnX19pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuXG4uby1mbGFnLS1zbWFsbCA+IC5vLWZsYWdfX2ltZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cblxuLm8tZmxhZy0tc21hbGwuby1mbGFnLS1yZXZlcnNlID4gLm8tZmxhZ19faW1nIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAxMXB4OyB9XG5cbi5vLWZsYWctLWxhcmdlID4gLm8tZmxhZ19faW1nIHtcbiAgcGFkZGluZy1yaWdodDogNDJweDsgfVxuXG4uby1mbGFnLS1sYXJnZS5vLWZsYWctLXJldmVyc2UgPiAuby1mbGFnX19pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDQycHg7IH1cblxuLm8tZmxhZy0taHVnZSA+IC5vLWZsYWdfX2ltZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDg0cHg7IH1cblxuLm8tZmxhZy0taHVnZS5vLWZsYWctLXJldmVyc2UgPiAuby1mbGFnX19pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cblxuLm8tZmxhZy0tZmx1c2ggPiAuby1mbGFnX19pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUmV2ZXJzZWQgZmxhZy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFN3YXAgdGhlIHJlbmRlcmVkIGRpcmVjdGlvbiBvZiB0aGUgb2JqZWN04oCmXG4gKiAyLiDigKZhbmQgcmVzZXQgaXQuXG4gKiAzLiBSZWFzc2lnbiBtYXJnaW5zIHRvIHRoZSBjb3JyZWN0IHNpZGVzLlxuICovXG4uby1mbGFnLS1yZXZlcnNlIHtcbiAgZGlyZWN0aW9uOiBydGw7XG4gIC8qIFsxXSAqLyB9XG4gIC5vLWZsYWctLXJldmVyc2UgPiAuby1mbGFnX19pbWcsXG4gIC5vLWZsYWctLXJldmVyc2UgPiAuby1mbGFnX19ib2R5IHtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAvKiBbMl0gKi8gfVxuICAuby1mbGFnLS1yZXZlcnNlID4gLm8tZmxhZ19faW1nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIC8qIFszXSAqL1xuICAgIHBhZGRpbmctbGVmdDogMjFweDtcbiAgICAvKiBbM10gKi8gfVxuXG4vKiBBbGlnbm1lbnQgdmFyaWFudHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBWZXJ0aWNhbGx5IGFsaWduIHRoZSBpbWFnZS0gYW5kIGJvZHktY29udGVudCBkaWZmZXJlbnRseS4gRGVmYXVsdHMgdG8gbWlkZGxlLlxuICovXG4uby1mbGFnLS10b3AgPiAuby1mbGFnX19pbWcsXG4uby1mbGFnLS10b3AgPiAuby1mbGFnX19ib2R5IHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uby1mbGFnLS1ib3R0b20gPiAuby1mbGFnX19pbWcsXG4uby1mbGFnLS1ib3R0b20gPiAuby1mbGFnX19ib2R5IHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0xJU1QtQkFSRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogU3RyaXAgbGlzdC1saWtlIGFwcGVhcmFuY2UgZnJvbSBsaXN0cyBieSByZW1vdmluZyB0aGVpciBidWxsZXRzLCBhbmQgYW55XG4gKiBpbmRlbnRhdGlvbi5cbiAqL1xuLm8tbGlzdC1iYXJlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNMSVNULUlOTElORVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogVGhlIGxpc3QtaW5saW5lIG9iamVjdCBzaW1wbHkgZGlzcGxheXMgYSBsaXN0IG9mIGl0ZW1zIGluIG9uZSBsaW5lLlxuICovXG4uby1saXN0LWlubGluZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5vLWxpc3QtaW5saW5lX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIERlbGltaXRlZCBsaXN0LlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQnkgZGVmYXVsdCwgYXBwbHlpbmcgdGhpcyBjbGFzcyB3aWxsIGNvbW1hIHNlcGFyYXRlIHlvdXIgbGlzdCBpdGVtcy4gWW91IGNhblxuICogY2hhbmdlIHRoZSBkZWxpbWl0ZXIgYnkgcHJlZGVmaW5pbmcgdGhlIGZvbGxvd2luZyB2YXJpYWJsZTpcbiAqL1xuLyoqXG4gKiAxLiBGYWxsYmFjayBmb3Igb2xkIElFcyBub3Qgc3VwcG9ydGluZyBgcmVtYCB2YWx1ZXMuXG4gKi9cbi5vLWxpc3QtaW5saW5lLS1kZWxpbWl0ZWQge1xuICBmb250LXNpemU6IDA7IH1cbiAgLm8tbGlzdC1pbmxpbmUtLWRlbGltaXRlZCA+IC5vLWxpc3QtaW5saW5lX19pdGVtIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgLyogWzFdICovXG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5vLWxpc3QtaW5saW5lLS1kZWxpbWl0ZWQgPiAuby1saXN0LWlubGluZV9faXRlbSArIC5vLWxpc3QtaW5saW5lX19pdGVtOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIswqBcIjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0JPWFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogVGhlIGJveCBvYmplY3Qgc2ltcGx5IGJveGVzIG9mZiBjb250ZW50LiBFeHRlbmQgd2l0aCBjb3NtZXRpYyBzdHlsZXMgaW4gdGhlXG4gKiBDb21wb25lbnRzIGxheWVyLlxuICpcbiAqIDEuIFNvIHdlIGNhbiBhcHBseSB0aGUgYC5vLWJveGAgY2xhc3MgdG8gbmF0dXJhbGx5LWlubGluZSBlbGVtZW50cy5cbiAqL1xuLm8tYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIFsxXSAqL1xuICBwYWRkaW5nOiAyMXB4OyB9XG4gIC5vLWJveDphZnRlciB7XG4gICAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgY2xlYXI6IGJvdGggIWltcG9ydGFudDsgfVxuICAuby1ib3ggPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBTaXplIHZhcmlhbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tYm94LS1mbHVzaCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm8tYm94LS10aW55IHtcbiAgcGFkZGluZzogNXB4OyB9XG5cbi5vLWJveC0tc21hbGwge1xuICBwYWRkaW5nOiAxMXB4OyB9XG5cbi5vLWJveC0tbGFyZ2Uge1xuICBwYWRkaW5nOiA0MnB4OyB9XG5cbi5vLWJveC0taHVnZSB7XG4gIHBhZGRpbmc6IDg0cHg7IH1cblxuLm8tYm94LS1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuby1ib3gtLWxhcmdlXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nOiA0MnB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ2LjI0ZW0pIHtcbiAgLm8tYm94LS1hYm91dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDYuMjRlbSkge1xuICAuby1ib3gtLWdhbGxlcnkge1xuICAgIG1hcmdpbjogLTIxcHggMTFweCAwO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5vLWJveC0tZ2FsbGVyeSB7XG4gICAgcGFkZGluZzogNDJweDsgfSB9XG5cbi5vLWJveC0tY29udGFjdCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTFweDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuby1ib3gtLWNvbnRhY3Qge1xuICAgIHBhZGRpbmc6IDQycHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0JMT0NLXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBTdGFja2VkIGltYWdlLXdpdGgtdGV4dCBvYmplY3QuIEEgc2ltcGxlIGFic3RyYWN0aW9uIHRvIGNvdmVyIGEgdmVyeSBjb21tb25seVxuICogb2NjdXJyaW5nIGRlc2lnbiBwYXR0ZXJuLlxuICovXG4uby1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm8tYmxvY2tfX2ltZyB7XG4gIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gIC8qIFNpemUgdmFyaWFudHMuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLyB9XG4gIC5vLWJsb2NrLS1mbHVzaCA+IC5vLWJsb2NrX19pbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm8tYmxvY2stLXRpbnkgPiAuby1ibG9ja19faW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLm8tYmxvY2stLXNtYWxsID4gLm8tYmxvY2tfX2ltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDsgfVxuICAuby1ibG9jay0tbGFyZ2UgPiAuby1ibG9ja19faW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4OyB9XG4gIC5vLWJsb2NrLS1odWdlID4gLm8tYmxvY2tfX2ltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogODRweDsgfVxuXG4uby1ibG9ja19fYm9keSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEFsaWdubWVudCB2YXJpYW50cy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uby1ibG9jay0tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uby1ibG9jay0tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNSQVRJT1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ3JlYXRlIHJhdGlvLWJvdW5kIGNvbnRlbnQgYmxvY2tzLCB0byBrZWVwIG1lZGlhIChlLmcuIGltYWdlcywgdmlkZW9zKSBpblxuICogdGhlaXIgY29ycmVjdCBhc3BlY3QgcmF0aW9zLlxuICpcbiAqIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL2NyZWF0aW5nLWludHJpbnNpYy1yYXRpb3MtZm9yLXZpZGVvXG4gKlxuICogMS4gRGVmYXVsdCBjcm9wcGluZyBpcyBhIDE6MSByYXRpbyAoaS5lLiBhIHBlcmZlY3Qgc3F1YXJlKS5cbiAqL1xuLm8tcmF0aW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5vLXJhdGlvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAvKiBbMV0gKi8gfVxuXG4uby1yYXRpb19fY29udGVudCxcbi5vLXJhdGlvID4gaWZyYW1lLFxuLm8tcmF0aW8gPiBlbWJlZCxcbi5vLXJhdGlvID4gb2JqZWN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogUmF0aW8gdmFyaWFudHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBHZW5lcmF0ZSBhIHNlcmllcyBvZiByYXRpbyBjbGFzc2VzIHRvIGJlIHVzZWQgbGlrZSBzbzpcbiAqXG4gKiAgIDxkaXYgY2xhc3M9XCJvLXJhdGlvICBvLXJhdGlvLS0xNjo5XCI+XG4gKlxuICovXG4uby1yYXRpby0tMlxcOjE6YmVmb3JlIHtcbiAgcGFkZGluZy1ib3R0b206IDUwJTsgfVxuXG4uby1yYXRpby0tNFxcOjM6YmVmb3JlIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTsgfVxuXG4uby1yYXRpby0tMTZcXDo5OmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNDUk9QXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBQcm92aWRlIGEgY3JvcHBpbmcgY29udGFpbmVyIGluIG9yZGVyIHRvIGRpc3BsYXkgbWVkaWEgKHVzdWFsbHkgaW1hZ2VzKVxuICogY3JvcHBlZCB0byBjZXJ0YWluIHJhdGlvcy5cbiAqXG4gKiAxLiBTZXQgdXAgYSBwb3NpdGlvbmluZyBjb250ZXh0IGluIHdoaWNoIHRoZSBpbWFnZSBjYW4gc2l0LlxuICogMi4gVGhpcyBpcyB0aGUgY3J1Y2lhbCBwYXJ0OiB3aGVyZSB0aGUgY3JvcHBpbmcgaGFwcGVucy5cbiAqL1xuLm8tY3JvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogWzFdICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBbMl0gKi8gfVxuXG4vKipcbiAgICogQXBwbHkgdGhpcyBjbGFzcyB0byB0aGUgY29udGVudCAodXN1YWxseSBgaW1nYCkgdGhhdCBuZWVkcyBjcm9wcGluZy5cbiAgICpcbiAgICogMS4gSW1hZ2XigJlzIGRlZmF1bHQgcG9zaXRpb25pbmcgaXMgdG9wLWxlZnQgaW4gdGhlIGNyb3BwaW5nIGJveC5cbiAgICogMi4gTWFrZSBzdXJlIHRoZSBtZWRpYSBkb2VzbuKAmXQgc3RvcCBpdHNlbGYgdG9vIHNvb24uXG4gICAqL1xuLm8tY3JvcF9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICAvKiBbMV0gKi9cbiAgbGVmdDogMDtcbiAgLyogWzFdICovXG4gIG1heC13aWR0aDogbm9uZTtcbiAgLyogWzJdICovIH1cblxuLyoqXG4gICAqIFdlIGNhbiBwb3NpdGlvbiB0aGUgbWVkaWEgaW4gZGlmZmVyZW50IGxvY2F0aW9ucyB3aXRoaW4gdGhlIGNyb3BwaW5nIGFyZWEuXG4gICAqL1xuLm8tY3JvcF9fY29udGVudC0tcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uby1jcm9wX19jb250ZW50LS1ib3R0b20ge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDsgfVxuXG4uby1jcm9wX19jb250ZW50LS1jZW50ZXIge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogQ3JvcC1yYXRpbyB2YXJpYW50cy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEdlbmVyYXRlIGEgc2VyaWVzIG9mIGNyb3AgY2xhc3NlcyB0byBiZSB1c2VkIGxpa2Ugc286XG4gKlxuICogICA8ZGl2IGNsYXNzPVwiby1jcm9wICBvLWNyb3AtLTE2OjlcIj5cbiAqXG4gKi9cbi5vLWNyb3AtLTFcXDoxIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cblxuLm8tY3JvcC0tMlxcOjEge1xuICBwYWRkaW5nLWJvdHRvbTogNTAlOyB9XG5cbi5vLWNyb3AtLTRcXDozIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTsgfVxuXG4uby1jcm9wLS0xNlxcOjkge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5vLWNyb3BfX2NvbnRlbnQtLXpvb20ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpOyB9XG5cbi5vLWNyb3AtLWRlc2lnbmVycyAuby1jcm9wX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAyMy40Mzc1ZW0pIHtcbiAgLm8tY3JvcC0tMVxcOjFcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XG4gIC5vLWNyb3AtLTJcXDoxXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTAlOyB9XG4gIC5vLWNyb3AtLTRcXDozXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlOyB9XG4gIC5vLWNyb3AtLTE2XFw6OVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5vLWNyb3AtLTFcXDoxXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfVxuICAuby1jcm9wLS0yXFw6MVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTsgfVxuICAuby1jcm9wLS00XFw6M1xcQHRhYmxldCB7XG4gICAgcGFkZGluZy1ib3R0b206IDc1JTsgfVxuICAuby1jcm9wLS0xNlxcOjlcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAuby1jcm9wLS0xXFw6MVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XG4gIC5vLWNyb3AtLTJcXDoxXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTsgfVxuICAuby1jcm9wLS00XFw6M1xcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctYm90dG9tOiA3NSU7IH1cbiAgLm8tY3JvcC0tMTZcXDo5XFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5vLWNyb3AtLTFcXDoxXFxAd2lkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cbiAgLm8tY3JvcC0tMlxcOjFcXEB3aWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTAlOyB9XG4gIC5vLWNyb3AtLTRcXDozXFxAd2lkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDc1JTsgfVxuICAuby1jcm9wLS0xNlxcOjlcXEB3aWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNUQUJMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEEgc2ltcGxlIG9iamVjdCBmb3IgbWFuaXB1bGF0aW5nIHRoZSBzdHJ1Y3R1cmUgb2YgSFRNTCBgdGFibGVgcy5cbiAqL1xuLm8tdGFibGUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBFcXVhbC13aWR0aCB0YWJsZSBjZWxscy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIGB0YWJsZS1sYXlvdXQ6IGZpeGVkYCBmb3JjZXMgYWxsIGNlbGxzIHdpdGhpbiBhIHRhYmxlIHRvIG9jY3VweSB0aGUgc2FtZVxuICogd2lkdGggYXMgZWFjaCBvdGhlci4gVGhpcyBhbHNvIGhhcyBwZXJmb3JtYW5jZSBiZW5lZml0czogYmVjYXVzZSB0aGUgYnJvd3NlclxuICogZG9lcyBub3QgbmVlZCB0byAocmUpY2FsY3VsYXRlIGNlbGwgZGltZW5zaW9ucyBiYXNlZCBvbiBjb250ZW50IGl0IGRpc2NvdmVycyxcbiAqIHRoZSB0YWJsZSBjYW4gYmUgcmVuZGVyZWQgdmVyeSBxdWlja2x5LiBGdXJ0aGVyIHJlYWRpbmc6XG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvdGFibGUtbGF5b3V0I1ZhbHVlc1xuICovXG4uby10YWJsZS0tZml4ZWQge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG5cbi8qIFNpemUgdmFyaWFudHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tdGFibGUtLXRpbnkgdGgsXG4uby10YWJsZS0tdGlueSB0ZCB7XG4gIHBhZGRpbmc6IDVweDsgfVxuXG4uby10YWJsZS0tc21hbGwgdGgsXG4uby10YWJsZS0tc21hbGwgdGQge1xuICBwYWRkaW5nOiAxMXB4OyB9XG5cbi5vLXRhYmxlLS1sYXJnZSB0aCxcbi5vLXRhYmxlLS1sYXJnZSB0ZCB7XG4gIHBhZGRpbmc6IDQycHg7IH1cblxuLm8tdGFibGUtLWh1Z2UgdGgsXG4uby10YWJsZS0taHVnZSB0ZCB7XG4gIHBhZGRpbmc6IDg0cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQQUNLXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBUaGUgcGFjayBvYmplY3Qgc2ltcGx5IGNhdXNlcyBhbnkgbnVtYmVyIG9mIGVsZW1lbnRzIHBhY2sgdXAgaG9yaXpvbnRhbGx5IHRvXG4gKiBhdXRvbWF0aWNhbGx5IGZpbGwgYW4gZXF1YWwsIGZsdWlkIHdpZHRoIG9mIHRoZWlyIHBhcmVudC5cbiAqXG4gKiAxLiBGaWxsIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4gKiAyLiBSZW1vdmUgYW55IGxlZnRvdmVyIHN0eWxpbmcgZnJvbSBsaXN0cy5cbiAqIDMuIENhdXNlIGNoaWxkcmVuIHRvIGJlIGF1dG9tYXRpY2FsbHkgZXF1YWxseSBzaXplZC5cbiAqL1xuLm8tcGFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBbMV0gKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIFsyXSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgLyogWzNdICovIH1cblxuLyoqXG4gICAqIDEuIENhdXNlIGNoaWxkcmVuIHRvIGFkb3B0IHRhYmxlLWxpa2Ugc3RydWN0dXJlLlxuICAgKi9cbi5vLXBhY2tfX2l0ZW0ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAvKiBbMV0gKi9cbiAgLyogVmVydGljYWwgYWxpZ25tZW50IHZhcmlhbnRzLlxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8gfVxuICAuby1wYWNrLS1taWRkbGUgPiAuby1wYWNrX19pdGVtIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5vLXBhY2stLWJvdHRvbSA+IC5vLXBhY2tfX2l0ZW0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLyogVW5lcXVhbC13aWR0aCBpdGVtcy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uby1wYWNrLS1hdXRvIHtcbiAgdGFibGUtbGF5b3V0OiBhdXRvOyB9XG5cbi8qIFNpemUgdmFyaWFudHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tcGFjay0tdGlueSB7XG4gIGJvcmRlci1zcGFjaW5nOiA1cHg7IH1cblxuLm8tcGFjay0tc21hbGwge1xuICBib3JkZXItc3BhY2luZzogMTFweDsgfVxuXG4uby1wYWNrLS1sYXJnZSB7XG4gIGJvcmRlci1zcGFjaW5nOiA0MnB4OyB9XG5cbi5vLXBhY2stLWh1Z2Uge1xuICBib3JkZXItc3BhY2luZzogODRweDsgfVxuXG4vKiBSZXZlcnNlZCBvcmRlciBwYWNrc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLXBhY2stLXJldiB7XG4gIGRpcmVjdGlvbjogcnRsOyB9XG4gIC5vLXBhY2stLXJldiA+IC5vLXBhY2tfX2l0ZW0ge1xuICAgIGRpcmVjdGlvbjogbHRyOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjVEFCU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogU2ltcGxlIHRhYnMgb2JqZWN0XG4gKi9cbi5vLXRhYnMge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuICAuby10YWJzOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBjbGVhcjogYm90aCAhaW1wb3J0YW50OyB9XG5cbi5vLXRhYnNfX2l0ZW0ge1xuICBmbG9hdDogbGVmdDsgfVxuICAuby10YWJzX19pdGVtID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuby10YWJzX19pdGVtID4gYTpmb2N1cywgLm8tdGFic19faXRlbSA+IGFbYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbi5vLXRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4uby10YWJzLWNvbnRlbnRfX2l0ZW0ge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5vLXRhYnMtY29udGVudF9faXRlbS5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNpemUgdmFyaWFudHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tdGFicy0tdmVydGljYWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5vLXRhYnMtLXZlcnRpY2FsID4gLm8tdGFic19faXRlbSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCRUxUXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBTY3JvbGxhYmxlIGNvbnZleW9yIGJlbHQgbGlrZSBjb21wb25lbnRzLlxuICovXG4uby1iZWx0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBzY3JvbGw7IH1cblxuLm8tYmVsdF9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5vLWJlbHRfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDIxcHg7IH1cblxuLyogRnVuY3Rpb25hbCB2YXJpYW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLWJlbHQtLXNuYXBweSB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLXdlYmtpdC1zY3JvbGwtc25hcC10eXBlOiBtYW5kYXRvcnk7XG4gIC13ZWJraXQtc2Nyb2xsLXNuYXAtZGVzdGluYXRpb246IDUwJSA1MCU7IH1cbiAgLm8tYmVsdC0tc25hcHB5IC5vLWJlbHRfX2l0ZW0ge1xuICAgIC13ZWJraXQtc2Nyb2xsLXNuYXAtY29vcmRpbmF0ZTogNjAlIDUwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0JVVFRPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoaXMgaXMgYW4gZXhhbXBsZSBjb21wb25lbnQuIEV4dGVuZCBpbnVpdGNzcyBieSBidWlsZGluZyB5b3VyIG93biBjb21wb25lbnRzXG4gKiB0aGF0IG1ha2UgdXAgeW91ciBVSS4gQ29tcG9uZW50IGNsYXNzZXMgYXJlIHByZWZpeGVkIHdpdGggYSBgYy1gLlxuICovXG4vKipcbiAqIDEuIEFsbG93IHVzIHRvIHN0eWxlIGJveCBtb2RlbCBwcm9wZXJ0aWVzLlxuICogMi4gTGluZSBkaWZmZXJlbnQgc2l6ZWQgYnV0dG9ucyB1cCBhIGxpdHRsZSBuaWNlci5cbiAqIDMuIE1ha2UgYnV0dG9ucyBpbmhlcml0IGZvbnQgc3R5bGVzIChvZnRlbiBuZWNlc3Nhcnkgd2hlbiBzdHlsaW5nIGBpbnB1dGBzIGFzXG4gKiAgICBidXR0b25zKS5cbiAqIDQuIFJlc2V0L25vcm1hbGl6ZSBzb21lIHN0eWxlcy5cbiAqIDUuIEZvcmNlIGFsbCBidXR0b24tc3R5bGVkIGVsZW1lbnRzIHRvIGFwcGVhciBjbGlja2FibGUuXG4gKi9cbi5jLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogWzFdICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIFsyXSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiBbM10gKi9cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiBbNF0gKi9cbiAgbWFyZ2luOiAwO1xuICAvKiBbNF0gKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiBbNV0gKi9cbiAgcGFkZGluZzogMTFweCAyMXB4O1xuICB0cmFuc2l0aW9uOiAyNTBtcztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1pbi13aWR0aDogMTUycHg7IH1cblxuLyogU3R5bGUgdmFyaWFudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1idG4tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOyB9XG4gIC5jLWJ0bi0tcHJpbWFyeSwgLmMtYnRuLS1wcmltYXJ5OmhvdmVyLCAuYy1idG4tLXByaW1hcnk6YWN0aXZlLCAuYy1idG4tLXByaW1hcnk6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAvKiBbNF0gKi9cbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYy1idG4tLXByaW1hcnk6aG92ZXIsIC5jLWJ0bi0tcHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuLmMtYnRuLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg3ODc4OyB9XG4gIC5jLWJ0bi0tc2Vjb25kYXJ5LCAuYy1idG4tLXNlY29uZGFyeTpob3ZlciwgLmMtYnRuLS1zZWNvbmRhcnk6YWN0aXZlLCAuYy1idG4tLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5jLWJ0bi0tc2Vjb25kYXJ5OmhvdmVyLCAuYy1idG4tLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ1NDU0NTsgfVxuXG4uYy1idG4tLXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM0YThlYzI7IH1cbiAgLmMtYnRuLS10ZXJ0aWFyeSwgLmMtYnRuLS10ZXJ0aWFyeTpob3ZlciwgLmMtYnRuLS10ZXJ0aWFyeTphY3RpdmUsIC5jLWJ0bi0tdGVydGlhcnk6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzRhOGVjMjsgfVxuICAuYy1idG4tLXRlcnRpYXJ5OmhvdmVyLCAuYy1idG4tLXRlcnRpYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzM3NzRhMjsgfVxuXG4vKiBTaXplIHZhcmlhbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYnRuLS1zbWFsbCB7XG4gIHBhZGRpbmc6IDAuMzU3MTRyZW0gMC43ODU3MXJlbTsgfVxuXG4uYy1idG4tLWxhcmdlIHtcbiAgcGFkZGluZzogMS41cmVtIDNyZW07IH1cblxuLmMtYnRuLS1maXQge1xuICBtaW4td2lkdGg6IGluaXRpYWw7IH1cblxuLyogR2hvc3QgYnV0dG9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogR2hvc3QgYnV0dG9ucyBoYXZlIHNlZS10aHJvdWdoIGJhY2tncm91bmRzIGFuZCBhcmUgYm9yZGVyZWQuXG4gKi9cbi5jLWJ0bi0tZ2hvc3Qge1xuICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIHBhZGRpbmc6IDlweCAxOXB4OyB9XG4gIC5jLWJ0bi0tZ2hvc3QsIC5jLWJ0bi0tZ2hvc3Q6aG92ZXIsIC5jLWJ0bi0tZ2hvc3Q6YWN0aXZlLCAuYy1idG4tLWdob3N0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIC5jLWJ0bi0tZ2hvc3QuYy1idG4tLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAzcHggOXB4OyB9XG4gIC5jLWJ0bi0tZ2hvc3QuYy1idG4tLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAxOXB4IDQwcHg7IH1cbiAgLmMtYnRuLS1naG9zdC5jLWJ0bi0tcHJpbWFyeSB7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAuYy1idG4tLWdob3N0LmMtYnRuLS1wcmltYXJ5OmhvdmVyLCAuYy1idG4tLWdob3N0LmMtYnRuLS1wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGNvbG9yOiBibGFjazsgfVxuICAuYy1idG4tLWdob3N0LmMtYnRuLS1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiAjMmY0MDU0OyB9XG4gICAgLmMtYnRuLS1naG9zdC5jLWJ0bi0tc2Vjb25kYXJ5OmhvdmVyLCAuYy1idG4tLWdob3N0LmMtYnRuLS1zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgY29sb3I6ICMxZDI3MzM7IH1cbiAgLmMtYnRuLS1naG9zdC5jLWJ0bi0tdGVydGlhcnkge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmMtYnRuLS1naG9zdC5jLWJ0bi0tdGVydGlhcnk6aG92ZXIsIC5jLWJ0bi0tZ2hvc3QuYy1idG4tLXRlcnRpYXJ5OmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjTkFWLU1BSU5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoaXMgaXMgYSBicmllZiBkZXNjcmlwdGlvblxuICovXG4uYy1uYXYtbWFpbiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zaXplOiAwLjg1NzE0cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLmMtbmF2LW1haW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLmMtbmF2LW1haW5fX2l0ZW0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gICAgLmMtbmF2LW1haW5fX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYy1uYXYtbWFpbl9faXRlbTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDQkNCQ0I7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIC5jLW5hdi1tYWluX19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbi5jLW5hdi1tYWluX19saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiAxMXB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIC5jLW5hdi1tYWluX19saW5rIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmhhcy1zdWJtZW51ID4gLmMtbmF2LW1haW5fX2xpbms6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiArXCI7IH1cbiAgICAgICAgLmMtcGFnZS1mb290IC5oYXMtc3VibWVudSA+IC5jLW5hdi1tYWluX19saW5rOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgICA6aG92ZXIgPiAuYy1uYXYtbWFpbl9fbGluayxcbiAgICAgIDpmb2N1cyA+IC5jLW5hdi1tYWluX19saW5rLFxuICAgICAgLmlzLWFjdGl2ZSA+IC5jLW5hdi1tYWluX19saW5rIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH0gfVxuXG4uYy1uYXYtbWFpbl9faW5wdXQge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gICAgLmMtbmF2LW1haW5fX2lucHV0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuYy1uYXYtbWFpbl9faW5wdXQ6Y2hlY2tlZCB+IC5jLW5hdi1tYWluX19zdWJtZW51IHtcbiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7IH1cbiAgICAgIC5jLW5hdi1tYWluX19pbnB1dDpjaGVja2VkIH4gLmMtbmF2LW1haW5fX3RvZ2dsZSAuaWNvbi1yZW1vdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmMtbmF2LW1haW5fX2lucHV0OmNoZWNrZWQgfiAuYy1uYXYtbWFpbl9fdG9nZ2xlIC5pY29uLWFkZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYy1uYXYtbWFpbl9fdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDYuMjRlbSkge1xuICAgIC5jLW5hdi1tYWluX190b2dnbGUge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEuMDVlbSAxLjE1ZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgei1pbmRleDogMzA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgICAgLmMtbmF2LW1haW5fX3RvZ2dsZSA+ICoge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG4gIC5jLW5hdi1tYWluX190b2dnbGUgLmljb24tcmVtb3ZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jLW5hdi1tYWluX19zdWJtZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZm9udC1zaXplOiAwLjgzZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ2LjI0ZW0pIHtcbiAgICAuYy1uYXYtbWFpbl9fc3VibWVudSB7XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDI1MG1zIGVhc2U7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLmMtbmF2LW1haW5fX3N1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB0b3A6IDEwMCU7IH1cbiAgICAgIC5jLW5hdi1tYWluX19pdGVtOmhvdmVyID4gLmMtbmF2LW1haW5fX3N1Ym1lbnUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuYy1wYWdlLWZvb3QgLmMtbmF2LW1haW5fX2l0ZW06aG92ZXIgPiAuYy1uYXYtbWFpbl9fc3VibWVudSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmMtbmF2LW1haW5fX2l0ZW06Zmlyc3Qtb2YtdHlwZSA+IC5jLW5hdi1tYWluX19zdWJtZW51IHtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLmMtbmF2LW1haW5fX2l0ZW06bGFzdC1vZi10eXBlID4gLmMtbmF2LW1haW5fX3N1Ym1lbnUge1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLmMtbmF2LW1haW5fX2l0ZW06bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkgPiAuYy1uYXYtbWFpbl9fc3VibWVudSB7XG4gICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgIHJpZ2h0OiAtNTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uYy1uYXYtbWFpbl9fc3ViaXRlbSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ2LjI0ZW0pIHtcbiAgICAuYy1uYXYtbWFpbl9fc3ViaXRlbSAuYy1uYXYtbWFpbl9fbGluayB7XG4gICAgICBwYWRkaW5nOiAwIDIxcHggMTFweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLmMtbmF2LW1haW5fX3N1Yml0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNOQVYtZm9vdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogVGhpcyBpcyBhIGJyaWVmIGRlc2NyaXB0aW9uXG4gKi9cbi5jLW5hdi1mb290IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDAuODU3MTRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5jLW5hdi1mb290X19zdWJtZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYy1uYXYtZm9vdF9fc3ViaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI05BVi1zaWRlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBUaGlzIGlzIGEgYnJpZWYgZGVzY3JpcHRpb25cbiAqL1xuLmMtbmF2LXNpZGUge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMC44NTcxNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIC5jLW5hdi1zaWRlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmMtbmF2LXNpZGUgPiAuYy1uYXYtc2lkZV9faXRlbSArIC5jLW5hdi1zaWRlX19pdGVtOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwifFwiOyB9XG4gICAgICAuYy1uYXYtc2lkZSA+IC5jLW5hdi1zaWRlX19pdGVtOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJ8XCI7IH1cbiAgICAgIC5jLW5hdi1zaWRlID4gLmMtbmF2LXNpZGVfX2l0ZW06bGFzdC1vZi10eXBlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJ8XCI7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDYuMjRlbSkge1xuICAuYy1uYXYtc2lkZV9faXRlbSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDQkNCQ0I7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuYy1uYXYtc2lkZV9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLmMtbmF2LXNpZGVfX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogMTFweDsgfVxuICAuaGFzLXN1Ym1lbnUgPiAuYy1uYXYtc2lkZV9fbGluazphZnRlciB7XG4gICAgY29udGVudDogXCIgK1wiOyB9XG4gIDpob3ZlciA+IC5jLW5hdi1zaWRlX19saW5rLFxuICA6Zm9jdXMgPiAuYy1uYXYtc2lkZV9fbGluayxcbiAgLmlzLWFjdGl2ZSA+IC5jLW5hdi1zaWRlX19saW5rIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uYy1uYXYtc2lkZV9fc3VibWVudSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpO1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jLW5hdi1zaWRlX19pdGVtOmhvdmVyID4gLmMtbmF2LXNpZGVfX3N1Ym1lbnUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmMtbmF2LXNpZGVfX3N1Yml0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQQUdFLUhFQURcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIE1haW4gcGFnZSBoZWFkIHN0eWxpbmcuXG4gKi9cbi5jLXBhZ2UtaGVhZCB7XG4gIHBhZGRpbmc6IDIxcHggMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIC5jLXBhZ2UtaGVhZCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuLmMtcGFnZS1oZWFkX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDYuMjRlbSkge1xuICAgIC5jLXBhZ2UtaGVhZF9fd3JhcHBlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLmMtcGFnZS1oZWFkX193cmFwcGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIC5jLXBhZ2UtaGVhZF9fbG9nbyB7XG4gICAgbWF4LXdpZHRoOiAxNTBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjUEFHRS1NQUlOXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBUaGlzIGlzIGEgYnJpZWYgZGVzY3JpcHRpb25cbiAqL1xuLmMtcGFnZS1tYWluIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIC5jLXBhZ2UtbWFpbiB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBwYWRkaW5nLXRvcDogMjFweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuYy1wYWdlLW1haW5fX3RpdGxlLFxuICAuYy1wYWdlLW1haW5fX2JvZHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIC5jLXBhZ2UtbWFpbl9fc3ViaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yODU3MXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5jLXBhZ2UtbWFpbl9fc3ViaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMS43MTQyOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ2LjI0ZW0pIHtcbiAgLmMtcGFnZS1tYWluX19zdWJoZWFkaW5nLS1hbHQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uYy1wYWdlLW1haW5fX3N1YmhlYWRpbmctLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMjg1NzFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQQUdFLUZPT1RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIE1haW4gcGFnZSBmb290IHN0eWxpbmcuXG4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIC5jLXBhZ2UtZm9vdCB7XG4gICAgcGFkZGluZzogMjFweCAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDIxcHg7XG4gICAgY29sb3I6ICM3ODc4Nzg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2U7IH1cbiAgICAuaGFzLW1haW4tbmF2LW9wZW4gLmMtcGFnZS1mb290IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLmMtcGFnZS1mb290IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xuICAgIHBhZGRpbmc6IDExcHggMDsgfVxuICAgIC5jLXBhZ2UtZm9vdCBociB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ2LjI0ZW0pIHtcbiAgLmMtcGFnZS1mb290X193cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuYy1wYWdlLWZvb3RfX3dyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDYuMjRlbSkge1xuICAuYy1wYWdlLWZvb3RfX2xvZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuYy1wYWdlLWZvb3RfX2xvZ28ge1xuICAgIG1hcmdpbi1yaWdodDogMTFweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIC5jLXBhZ2UtZm9vdF9fbWVudSB7XG4gICAgcGFkZGluZzogMCAxMXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLmMtcGFnZS1mb290X19tZW51IHtcbiAgICBtYXJnaW4tbGVmdDogLTExcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTFweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5jLXBhZ2UtZm9vdF9fbWVudSAuYy1uYXYtc2lkZV9faXRlbTpob3ZlciA+IC5jLW5hdi1zaWRlX19saW5rLFxuICAgIC5jLXBhZ2UtZm9vdF9fbWVudSAuYy1uYXYtc2lkZV9faXRlbTpmb2N1cyA+IC5jLW5hdi1zaWRlX19saW5rLFxuICAgIC5jLXBhZ2UtZm9vdF9fbWVudSAuYy1uYXYtc2lkZV9faXRlbS5pcy1hY3RpdmUgPiAuYy1uYXYtc2lkZV9fbGluayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gIC5jLXBhZ2UtZm9vdF9fY29weSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC43MTQyOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDExcHg7IH1cbiAgICAuYy1wYWdlLWZvb3RfX2NvcHkgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4OyB9XG4gICAgLmMtcGFnZS1mb290X19jb3B5ID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5jLXBhZ2UtZm9vdF9fY29weSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC43MTQyOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmMtcGFnZS1mb290X19jb3B5IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cblxuLmMtcGFnZS1mb290X19zb2NpYWwge1xuICBjb2xvcjogI2ZmZjsgfVxuICAuYy1wYWdlLWZvb3RfX3NvY2lhbCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLmMtcGFnZS1mb290X19zb2NpYWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jLXBhZ2UtZm9vdF9fc29jaWFsLS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjEuMjRlbSkge1xuICAgIC5jLXBhZ2UtZm9vdF9fc29jaWFsLS1pbmxpbmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jLXBhZ2UtZm9vdC1idG4ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gICAgLmMtcGFnZS1mb290LWJ0biB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjU1ZW0gMC42ZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JjYmNiO1xuICAgICAgei1pbmRleDogMjA7IH0gfVxuXG4uYy1wYWdlLWZvb3Qtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gICAgLmMtcGFnZS1mb290LW92ZXJsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2U7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICB6LWluZGV4OiAzMDsgfVxuICAgICAgLmhhcy1tYWluLW5hdi1vcGVuIC5jLXBhZ2UtZm9vdC1vdmVybGF5IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjRlJPTVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQmFzaWMgZm9ybSBjb21wb25lbnQuXG4gKi9cbi5jLWZvcm1fX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAyMXB4OyB9XG5cbi5jLWZvcm1fX2xhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgICAuYy1mb3JtX19sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4OyB9IH1cblxuLmMtZm9ybV9fZXJyb3ItbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmMtZm9ybV9fZXJyb3Ige1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtc2l6ZTogMC45Mjg1N3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjE1Mzg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDExcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiByZWQ7IH1cblxuLmMtZm9ybV9fdmFsdWUgaW5wdXQ6bm90KFt0eXBlXSksXG4uYy1mb3JtX192YWx1ZSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jLWZvcm1fX3ZhbHVlIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi5jLWZvcm1fX3ZhbHVlIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLmMtZm9ybV9fdmFsdWUgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuLmMtZm9ybV9fdmFsdWUgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLmMtZm9ybV9fdmFsdWUgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLmMtZm9ybV9fdmFsdWUgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4uYy1mb3JtX192YWx1ZSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4uYy1mb3JtX192YWx1ZSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLmMtZm9ybV9fdmFsdWUgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi5jLWZvcm1fX3ZhbHVlIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4uYy1mb3JtX192YWx1ZSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi5jLWZvcm1fX3ZhbHVlIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4uYy1mb3JtX192YWx1ZSBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4uYy1mb3JtX192YWx1ZSB0ZXh0YXJlYSxcbi5jLWZvcm1fX3ZhbHVlIHNlbGVjdCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMTI1O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNjYmNiY2I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA1cHggNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7IH1cblxuLmMtZm9ybV9fdmFsdWUgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgfVxuXG4uYy1mb3JtX192YWx1ZSB0ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgcmVzaXplOiBub25lOyB9XG5cbi5jLWZvcm1fX3ZhbHVlIHNlbGVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jK1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLmMtZm9ybV9fdmFsdWUgYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZSAgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuI0lOU1RBR1JBTVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuKiBUaGlzIGlzIHRoZSBtYWluIGluc3RhZ3JhbSBmZWVkIHN0eWxpbmcuXG4qL1xuLmMtaW5zdGFncmFtX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgICAuYy1pbnN0YWdyYW1fX2l0ZW06aG92ZXIgLmMtaW5zdGFncmFtX19vdmVybGF5IHtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYy1pbnN0YWdyYW1fX2xpbmsge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jLWluc3RhZ3JhbV9fb3ZlcmxheSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC1zaXplOiAwLjcxNDI5cmVtO1xuICBsaW5lLWhlaWdodDogMi4xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDQycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY29sb3I6ICNmZmY7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMgZWFzZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuI1NMSURFXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4qIFRoaXMgaXMgdGhlIG1haW4gbGlzdGluZyBzbGlkZSBvciBpdGVtLlxuKi9cbi5jLXNsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLXNsaWRlX19jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIxcHg7XG4gIGxlZnQ6IDIxcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXgtd2lkdGg6IDI4MHB4O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IGJsYWNrO1xuICB6LWluZGV4OiAxOyB9XG5cbi5jLXNsaWRlX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAxLjcxNDI5cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4uYy1zbGlkZV9fbGluayB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC1zaXplOiAwLjc4NTcxcmVtO1xuICBsaW5lLWhlaWdodDogMS45MDkwOTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogMTAwO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNSUyMiUyMGhlaWdodCUzRCUyMjclMjIlMjB2aWV3Qm94JTNEJTIyMTE5JTIwNCUyMDUlMjA3JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwc3Ryb2tlJTNEJTIyJTIzRkZGJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBkJTNEJTIyTTEyMCUyMDkuODk2bDIuNTc1LTIuMzM2TDEyMCUyMDUlMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLmMtc2xpZGVfX2xpbmstLWRhcmsge1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNSUyMiUyMGhlaWdodCUzRCUyMjclMjIlMjB2aWV3Qm94JTNEJTIyMTE5JTIwNCUyMDUlMjA3JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwc3Ryb2tlJTNEJTIyJTIzMDAwJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBkJTNEJTIyTTEyMCUyMDkuODk2bDIuNTc1LTIuMzM2TDEyMCUyMDUlMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLmMtc2xpZGUtLWxpZ2h0IC5jLXNsaWRlX19jb250ZW50IHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbi5jLXNsaWRlLS1saWdodCAuYy1zbGlkZV9fbGluayB7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjI1JTIyJTIwaGVpZ2h0JTNEJTIyNyUyMiUyMHZpZXdCb3glM0QlMjIxMTklMjA0JTIwNSUyMDclMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBzdHJva2UlM0QlMjIlMjMwMDAlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGQlM0QlMjJNMTIwJTIwOS44OTZsMi41NzUtMi4zMzZMMTIwJTIwNSUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1BST0RVQ1RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoZSBwcm9kdWN0IGxpc3Rpbmcgc2luZ2xlIGl0ZW0uXG4gKi9cbi5jLXByb2R1Y3Qge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmMtcHJvZHVjdCBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmMtcHJvZHVjdF9fdGl0bGUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAxMXB4OyB9XG5cbi5jLXByb2R1Y3RfX3RlYXNlciB7XG4gIG1hcmdpbi1ib3R0b206IDExcHg7IH1cblxuLmMtcHJvZHVjdC0tZmVhdHVyZWQgLmMtcHJvZHVjdF9fdGl0bGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIC5jLXByb2R1Y3QtLWZlYXR1cmVkIC5jLXByb2R1Y3RfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uYy1zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDMycHg7IH1cblxuLmMtc2VhcmNoX19jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDsgfVxuXG4uc2Itc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMCU7XG4gIG1pbi13aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zYi1zZWFyY2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzJweDtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLnNiLWljb24tc2VhcmNoLFxuLnNiLXNlYXJjaC1zdWJtaXQge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2Itc2VhcmNoLXN1Ym1pdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC8qIElFIG5lZWRzIHRoaXMgKi9cbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICAvKiBJRSA4ICovXG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgLyogSUUgNS03ICovXG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB6LWluZGV4OiAtMTsgfVxuXG4uc2ItaWNvbi1zZWFyY2gge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogOTA7XG4gIHNwZWFrOiBub25lO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuXG4vKiBPcGVuIHN0YXRlICovXG4uc2Itc2VhcmNoLnNiLXNlYXJjaC1vcGVuLFxuLm5vLWpzIC5zYi1zZWFyY2gge1xuICB3aWR0aDogNjQwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuc2Itc2VhcmNoLnNiLXNlYXJjaC1vcGVuLFxuICAgIC5uby1qcyAuc2Itc2VhcmNoIHtcbiAgICAgIHdpZHRoOiA3MDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnNiLXNlYXJjaC5zYi1zZWFyY2gtb3BlbixcbiAgICAubm8tanMgLnNiLXNlYXJjaCB7XG4gICAgICB3aWR0aDogNTYwcHg7IH0gfVxuXG4uc2Itc2VhcmNoLnNiLXNlYXJjaC1vcGVuIC5zYi1pY29uLXNlYXJjaCxcbi5uby1qcyAuc2Itc2VhcmNoIC5zYi1pY29uLXNlYXJjaCB7XG4gIGNvbG9yOiAjZmZmO1xuICB6LWluZGV4OiAxMTsgfVxuXG4uc2Itc2VhcmNoLnNiLXNlYXJjaC1vcGVuIC5zYi1zZWFyY2gtc3VibWl0LFxuLm5vLWpzIC5zYi1zZWFyY2ggLnNiLXNlYXJjaC1zdWJtaXQge1xuICB6LWluZGV4OiA5MDsgfVxuXG4uYy1zZWFyY2gtZm9vdCB7XG4gIGhlaWdodDogMzdweDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0JDQkNCO1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5jLXNlYXJjaC1mb290X19pbnB1dCB7XG4gIGhlaWdodDogMzZweDtcbiAgcGFkZGluZzogMTFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMC44NTcxNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYy1zZWFyY2gtZm9vdF9faW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc4Nzg3ODsgfVxuXG4uYy1zZWFyY2gtZm9vdF9faW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNzg3ODc4OyB9XG5cbi5jLXNlYXJjaC1mb290X19pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNzg3ODc4OyB9XG5cbi5jLXNlYXJjaC1mb290X19pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc4Nzg3ODsgfVxuXG4uYy1zZWFyY2gtZm9vdF9fYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzOXB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiAxMXB4O1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyoqXG4gKiAgIERlZmF1bHQgdmFyaWFibGVzXG4gKlxuICogICBXaGlsZSB0aGVzZSBjYW4gYmUgc2V0IHdpdGggSmF2YVNjcmlwdCwgaXQncyBwcm9iYWJseVxuICogICBiZXR0ZXIgYW5kIGZhc3RlciB0byBqdXN0IHNldCB0aGVtIGhlcmUsIGNvbXBpbGUgdG9cbiAqICAgQ1NTIGFuZCBpbmNsdWRlIHRoYXQgaW5zdGVhZCB0byB1c2Ugc29tZSBvZiB0aGF0XG4gKiAgIGhhcmR3YXJlLWFjY2VsZXJhdGVkIGdvb2RuZXNzLlxuICovXG4udW5zbGlkZXItbmF2IHtcbiAgcGFkZGluZzogNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLnVuc2xpZGVyLW5hdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9IH1cbiAgLnVuc2xpZGVyLW5hdiBvbCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudW5zbGlkZXItbmF2IG9sIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjRDhEOEQ4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjRDhEOEQ4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgICAgICAudW5zbGlkZXItbmF2IG9sIGxpIHtcbiAgICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgIG1hcmdpbjogMCAzcHg7IH0gfVxuICAgICAgLnVuc2xpZGVyLW5hdiBvbCBsaS51bnNsaWRlci1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4udW5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnVuc2xpZGVyLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC51bnNsaWRlci13cmFwLnVuc2xpZGVyLWNhcm91c2VsID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnVuc2xpZGVyLXZlcnRpY2FsID4gdWwge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAudW5zbGlkZXItdmVydGljYWwgbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC51bnNsaWRlci1mYWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudW5zbGlkZXItZmFkZSAudW5zbGlkZXItd3JhcCBsaSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiA4OyB9XG4gICAgICAudW5zbGlkZXItZmFkZSAudW5zbGlkZXItd3JhcCBsaS51bnNsaWRlci1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxMDsgfVxuICAudW5zbGlkZXIgdWwsIC51bnNsaWRlciBvbCwgLnVuc2xpZGVyIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIFJlc2V0IGFueSB3ZWlyZCBzcGFjaW5nICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiAwLjM1ZXg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7IH1cbiAgLnVuc2xpZGVyLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNDElO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDVweCAxMXB4IDVweCAyMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgNTAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjUlMjIlMjBoZWlnaHQlM0QlMjI3JTIyJTIwdmlld0JveCUzRCUyMi0xJTIwNCUyMDUlMjA3JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwc3Ryb2tlJTNEJTIyJTIzMDAwJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBkJTNEJTIyTTIuNTc1JTIwNUwwJTIwNy4zMzZsMi41NzUlMjAyLjU2JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ni4yNGVtKSB7XG4gICAgICAudW5zbGlkZXItYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAudW5zbGlkZXItYXJyb3cubmV4dCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDQxJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiA1cHggMjFweCA1cHggMTFweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjI1JTIyJTIwaGVpZ2h0JTNEJTIyNyUyMiUyMHZpZXdCb3glM0QlMjIxMTklMjA0JTIwNSUyMDclMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBzdHJva2UlM0QlMjIlMjMwMDAlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGQlM0QlMjJNMTIwJTIwOS44OTZsMi41NzUtMi4zMzZMMTIwJTIwNSUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4vKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzBiMGIwYjtcbiAgb3BhY2l0eTogMC42ODsgfVxuXG4ubWZwLXdyYXAge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ubWZwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsIC5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWFqYXgtY3VyIHtcbiAgY3Vyc29yOiBwcm9ncmVzczsgfVxuXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGN1cnNvcjogLW1vei16b29tLW91dDtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1jbG9zZSwgLm1mcC1hcnJvdywgLm1mcC1wcmVsb2FkZXIsIC5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBvcHRpb25hbGx5IGhpZGUgYXJyb3dzIHVudGlsIGltYWdlIGlzIGRpc3BsYXllZCAqL1xuLm1mcC1zLWxvYWRpbmcgLm1mcC1hcnJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICM5Njk2OTY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0OyB9XG4gIC5tZnAtcHJlbG9hZGVyIGEge1xuICAgIGNvbG9yOiAjOTY5Njk2OyB9XG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJ1dHRvbi5tZnAtY2xvc2UsIGJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICB6LWluZGV4OiAxMDQ2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIHBhZGRpbmc6IDExcHg7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjMzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLm1mcC1jbG9zZSA+ICoge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5tZnAtY2xvc2U6aG92ZXIsIC5tZnAtY2xvc2U6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjOTY5Njk2O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWZwLWFycm93ID4gKiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLm1mcC1hcnJvdzphY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IC01NHB4OyB9XG4gIC5tZnAtYXJyb3c6aG92ZXIsIC5tZnAtYXJyb3c6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLm1mcC1hcnJvdy1sZWZ0IHtcbiAgbGVmdDogLTkwcHg7IH1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAtOTBweDsgfVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAtNDBweDsgfVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXG5pbWcubWZwLWltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDAgNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovXG4ubWZwLWZpZ3VyZSB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzMzMzMzOyB9XG4gIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7IH1cbiAgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGNvbG9yOiAjQkRCREJEO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxuICAubWZwLWZpZ3VyZSBmaWd1cmUge1xuICAgIG1hcmdpbjogMDsgfVxuXG4ubWZwLWJvdHRvbS1iYXIge1xuICBtYXJnaW4tdG9wOiAtNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87XG4gIHBhZGRpbmc6IDExcHg7IH1cblxuLm1mcC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogIzk2OTY5NjtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICovXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNvdW50ZXIge1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgdG9wOiAzcHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9XG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH1cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH1cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XG5cbi5zLXJ0ZSB1bCB7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjQlMjIlMjBoZWlnaHQlM0QlMjI5JTIyJTIwdmlld0JveCUzRCUyMjc2MiUyMDExODglMjA0JTIwNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNzYyLjUwNyUyMDExODguNzk0Yy4yNTgtLjI4Ny42MzMtLjQzJTIwMS4xMjUtLjQzLjQ3OCUyMDAlMjAuODUuMTQlMjAxLjExNC40MjMuMjY0LjI4My4zOTcuNzA0LjM5NyUyMDEuMjY1JTIwMCUyMC41NDItLjEzMS45Ni0uMzkzJTIwMS4yNTQtLjI2My4yOTQtLjYzNS40NDEtMS4xMTguNDQxLS40ODglMjAwLS44NjEtLjE1LTEuMTIxLS40NDgtLjI2LS4yOTgtLjM5LS43MTQtLjM5LTEuMjQ3JTIwMC0uNTUyLjEyOS0uOTcuMzg2LTEuMjU4eiUyMiUyMGZpbGwlM0QlMjIlMjM5Njk2OTYlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG4gIC5zLXJ0ZSB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNDTEVBUkZJWFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQXR0YWNoIG91ciBjbGVhcmZpeCBtaXhpbiB0byBhIHV0aWxpdHkgY2xhc3MuXG4gKi9cbi51LWNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBjbGVhcjogYm90aCAhaW1wb3J0YW50OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjV0lEVEhTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBpbnVpdGNzcyBnZW5lcmF0ZXMgYSBzZXJpZXMgb2YgdXRpbGl0eSBjbGFzc2VzIHRoYXQgZ2l2ZSBhIGZsdWlkIHdpZHRoIHRvXG4gKiB3aGljaGV2ZXIgZWxlbWVudCB0aGV54oCZcmUgYXBwbGllZCwgZS5nLjpcbiAqXG4gKiAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgY2xhc3M9XCJ1LTEvMlwiIC8+XG4gKlxuICogVGhlc2UgY2xhc3NlcyBhcmUgbW9zdCBjb21tb25seSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggb3VyIGxheW91dCBzeXN0ZW0sXG4gKiBlLmcuOlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMlwiPlxuICpcbiAqIEJ5IGRlZmF1bHQsIGludWl0Y3NzIHdpbGwgYWxzbyBnZW5lcmF0ZSByZXNwb25zaXZlIHZhcmlhbnRzIG9mIGVhY2ggb2YgdGhlc2VcbiAqIGNsYXNzZXMgYnkgdXNpbmcgeW91ciBTYXNzIE1RIGNvbmZpZ3VyYXRpb24sIGUuZy46XG4gKlxuICogICA8ZGl2IGNsYXNzPVwiby1sYXlvdXRfX2l0ZW0gIHUtMS8xICB1LTEvMkB0YWJsZXQgIHUtMS8zQGRlc2t0b3BcIj5cbiAqXG4gKiBPcHRpb25hbGx5LCBpbnVpdGNzcyBjYW4gZ2VuZXJhdGUgb2Zmc2V0IGNsYXNzZXMgd2hpY2ggY2FuIHB1c2ggYW5kIHB1bGxcbiAqIGVsZW1lbnRzIGxlZnQgYW5kIHJpZ2h0IGJ5IGEgc3BlY2lmaWVkIGFtb3VudCwgZS5nLjpcbiAqXG4gKiAgIDxkaXYgY2xhc3M9XCJvLWxheW91dF9faXRlbSAgdS0yLzMgIHUtcHVsbC0xLzNcIj5cbiAqXG4gKiBUaGlzIGlzIHVzZWZ1bCBmb3IgbWFraW5nIHZlcnkgZ3JhbnVsYXIgY2hhbmdlcyB0byB0aGUgcmVuZGVyZWQgb3JkZXIgb2ZcbiAqIGl0ZW1zIGluIGEgbGF5b3V0LlxuICpcbiAqIE4uQi4gVGhpcyBvcHRpb24gaXMgdHVybmVkIG9mZiBieSBkZWZhdWx0LlxuICovXG4vKipcbiAqIEEgc2VyaWVzIG9mIHdpZHRoIGhlbHBlciBjbGFzc2VzIHRoYXQgeW91IGNhbiB1c2UgdG8gc2l6ZSB0aGluZ3MgbGlrZSBncmlkXG4gKiBzeXN0ZW1zLiBDbGFzc2VzIHRha2UgYSBmcmFjdGlvbi1saWtlIGZvcm1hdCAoZS5nLiBgLnUtMi8zYCkuIFVzZSB0aGVzZSBpblxuICogeW91ciBtYXJrdXA6XG4gKlxuICogPGRpdiBjbGFzcz1cInUtNy8xMlwiPlxuICpcbiAqIFRoZSBmb2xsb3dpbmcgd2lsbCBnZW5lcmF0ZSB3aWR0aHMgaGVscGVyIGNsYXNzZXMgYmFzZWQgb24gdGhlIGZyYWN0aW9uc1xuICogZGVmaW5lZCBpbiB0aGUgYCRpbnVpdC1mcmFjdGlvbnNgIGxpc3QuXG4gKi9cbi51LTFcXC8xIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0xXFwvMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtMVxcLzEge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0xXFwvMiB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0xXFwvMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogNTAlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0xXFwvMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtMlxcLzIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTJcXC8yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0yXFwvMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTFcXC8zIHtcbiAgd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTFcXC8zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTFcXC8zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAzMy4zMzMzMyUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0yXFwvMyB7XG4gIHdpZHRoOiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0yXFwvMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogNjYuNjY2NjclICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0yXFwvMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogNjYuNjY2NjclICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtM1xcLzMge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTNcXC8zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0zXFwvMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTFcXC80IHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTFcXC80IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAyNSUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTFcXC80IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAyNSUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0yXFwvNCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0yXFwvNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogNTAlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0yXFwvNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtM1xcLzQge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtM1xcLzQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtM1xcLzQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDc1JSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTRcXC80IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC00XFwvNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtNFxcLzQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0xXFwvNSB7XG4gIHdpZHRoOiAyMCUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0xXFwvNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogMjAlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0xXFwvNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogMjAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtMlxcLzUge1xuICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtMlxcLzUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDQwJSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtMlxcLzUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDQwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTNcXC81IHtcbiAgd2lkdGg6IDYwJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTNcXC81IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA2MCUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTNcXC81IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA2MCUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS00XFwvNSB7XG4gIHdpZHRoOiA4MCUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC00XFwvNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogODAlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC00XFwvNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogODAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtNVxcLzUge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTVcXC81IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC01XFwvNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTFcXC82IHtcbiAgd2lkdGg6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTFcXC82IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTFcXC82IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAxNi42NjY2NyUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0yXFwvNiB7XG4gIHdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0yXFwvNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0yXFwvNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtM1xcLzYge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtM1xcLzYge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtM1xcLzYge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDUwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTRcXC82IHtcbiAgd2lkdGg6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTRcXC82IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTRcXC82IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA2Ni42NjY2NyUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS01XFwvNiB7XG4gIHdpZHRoOiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC01XFwvNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogODMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC01XFwvNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogODMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtNlxcLzYge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTZcXC82IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC02XFwvNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTFcXC8xMSB7XG4gIHdpZHRoOiA5LjA5MDkxJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTFcXC8xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogOS4wOTA5MSUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTFcXC8xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogOS4wOTA5MSUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0yXFwvMTEge1xuICB3aWR0aDogMTguMTgxODIlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtMlxcLzExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAxOC4xODE4MiUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTJcXC8xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogMTguMTgxODIlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtM1xcLzExIHtcbiAgd2lkdGg6IDI3LjI3MjczJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTNcXC8xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogMjcuMjcyNzMlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0zXFwvMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDI3LjI3MjczJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTRcXC8xMSB7XG4gIHdpZHRoOiAzNi4zNjM2NCUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC00XFwvMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDM2LjM2MzY0JSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtNFxcLzExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAzNi4zNjM2NCUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS01XFwvMTEge1xuICB3aWR0aDogNDUuNDU0NTUlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtNVxcLzExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA0NS40NTQ1NSUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTVcXC8xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogNDUuNDU0NTUlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtNlxcLzExIHtcbiAgd2lkdGg6IDU0LjU0NTQ1JSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTZcXC8xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogNTQuNTQ1NDUlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC02XFwvMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDU0LjU0NTQ1JSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTdcXC8xMSB7XG4gIHdpZHRoOiA2My42MzYzNiUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC03XFwvMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDYzLjYzNjM2JSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtN1xcLzExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA2My42MzYzNiUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS04XFwvMTEge1xuICB3aWR0aDogNzIuNzI3MjclICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtOFxcLzExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA3Mi43MjcyNyUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLThcXC8xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogNzIuNzI3MjclICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtOVxcLzExIHtcbiAgd2lkdGg6IDgxLjgxODE4JSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTlcXC8xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogODEuODE4MTglICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC05XFwvMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDgxLjgxODE4JSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTEwXFwvMTEge1xuICB3aWR0aDogOTAuOTA5MDklICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtMTBcXC8xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogOTAuOTA5MDklICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0xMFxcLzExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA5MC45MDkwOSUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0xMVxcLzExIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0xMVxcLzExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0xMVxcLzExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtMVxcLzEyIHtcbiAgd2lkdGg6IDguMzMzMzMlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtMVxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtMVxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA4LjMzMzMzJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTJcXC8xMiB7XG4gIHdpZHRoOiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0yXFwvMTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtMlxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAxNi42NjY2NyUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0zXFwvMTIge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtM1xcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAyNSUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTNcXC8xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogMjUlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtNFxcLzEyIHtcbiAgd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTRcXC8xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC00XFwvMTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTVcXC8xMiB7XG4gIHdpZHRoOiA0MS42NjY2NyUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC01XFwvMTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtNVxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA0MS42NjY2NyUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS02XFwvMTIge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtNlxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTZcXC8xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtN1xcLzEyIHtcbiAgd2lkdGg6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTdcXC8xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogNTguMzMzMzMlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC03XFwvMTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LThcXC8xMiB7XG4gIHdpZHRoOiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC04XFwvMTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtOFxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA2Ni42NjY2NyUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS05XFwvMTIge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtOVxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA3NSUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTlcXC8xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogNzUlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtMTBcXC8xMiB7XG4gIHdpZHRoOiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0xMFxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTEwXFwvMTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDgzLjMzMzMzJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTExXFwvMTIge1xuICB3aWR0aDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtMTFcXC8xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0xMVxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA5MS42NjY2NyUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0xMlxcLzEyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0xMlxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0xMlxcLzEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtMVxcLzE3IHtcbiAgd2lkdGg6IDUuODgyMzUlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtMVxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA1Ljg4MjM1JSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtMVxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA1Ljg4MjM1JSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTJcXC8xNyB7XG4gIHdpZHRoOiAxMS43NjQ3MSUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0yXFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDExLjc2NDcxJSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtMlxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAxMS43NjQ3MSUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0zXFwvMTcge1xuICB3aWR0aDogMTcuNjQ3MDYlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtM1xcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAxNy42NDcwNiUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTNcXC8xNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogMTcuNjQ3MDYlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtNFxcLzE3IHtcbiAgd2lkdGg6IDIzLjUyOTQxJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTRcXC8xNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogMjMuNTI5NDElICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC00XFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDIzLjUyOTQxJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTVcXC8xNyB7XG4gIHdpZHRoOiAyOS40MTE3NiUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC01XFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDI5LjQxMTc2JSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtNVxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAyOS40MTE3NiUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS02XFwvMTcge1xuICB3aWR0aDogMzUuMjk0MTIlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtNlxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiAzNS4yOTQxMiUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTZcXC8xNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogMzUuMjk0MTIlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtN1xcLzE3IHtcbiAgd2lkdGg6IDQxLjE3NjQ3JSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTdcXC8xNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogNDEuMTc2NDclICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC03XFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDQxLjE3NjQ3JSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LThcXC8xNyB7XG4gIHdpZHRoOiA0Ny4wNTg4MiUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC04XFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDQ3LjA1ODgyJSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtOFxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA0Ny4wNTg4MiUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS05XFwvMTcge1xuICB3aWR0aDogNTIuOTQxMTglICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtOVxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA1Mi45NDExOCUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTlcXC8xNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogNTIuOTQxMTglICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtMTBcXC8xNyB7XG4gIHdpZHRoOiA1OC44MjM1MyUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0xMFxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA1OC44MjM1MyUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTEwXFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDU4LjgyMzUzJSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTExXFwvMTcge1xuICB3aWR0aDogNjQuNzA1ODglICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtMTFcXC8xNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogNjQuNzA1ODglICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0xMVxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA2NC43MDU4OCUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0xMlxcLzE3IHtcbiAgd2lkdGg6IDcwLjU4ODI0JSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTEyXFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDcwLjU4ODI0JSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtMTJcXC8xNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogNzAuNTg4MjQlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtMTNcXC8xNyB7XG4gIHdpZHRoOiA3Ni40NzA1OSUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0xM1xcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA3Ni40NzA1OSUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTEzXFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDc2LjQ3MDU5JSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTE0XFwvMTcge1xuICB3aWR0aDogODIuMzUyOTQlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbi51LXB1c2gtMTRcXC8xNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi9cbiAgbGVmdDogODIuMzUyOTQlICFpbXBvcnRhbnQ7IH1cblxuLnUtcHVsbC0xNFxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiA4Mi4zNTI5NCUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4udS0xNVxcLzE3IHtcbiAgd2lkdGg6IDg4LjIzNTI5JSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTE1XFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDg4LjIzNTI5JSAhaW1wb3J0YW50OyB9XG5cbi51LXB1bGwtMTVcXC8xNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICByaWdodDogODguMjM1MjklICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovIH1cblxuLnUtMTZcXC8xNyB7XG4gIHdpZHRoOiA5NC4xMTc2NSUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuLnUtcHVzaC0xNlxcLzE3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqL1xuICBsZWZ0OiA5NC4xMTc2NSUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTE2XFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDk0LjExNzY1JSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8qIFsxXSAqLyB9XG5cbi51LTE3XFwvMTcge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4udS1wdXNoLTE3XFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLyogWzFdICovXG4gIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4udS1wdWxsLTE3XFwvMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAvKiBbMV0gKi8gfVxuXG4vKipcbiAqIElmIHdl4oCZcmUgdXNpbmcgU2Fzcy1NUSwgYXV0b21hdGljYWxseSBnZW5lcmF0ZSBncmlkIHN5c3RlbShzKSBmb3IgZWFjaCBvZiBvdXJcbiAqIGRlZmluZWQgYnJlYWtwb2ludHMsIGFuZCBnaXZlIHRoZW0gYSBSZXNwb25zaXZlIFN1ZmZpeCwgZS5nLjpcbiAqXG4gKiA8ZGl2IGNsYXNzPVwidS0zLzEyQG1vYmlsZVwiPlxuICovXG5AbWVkaWEgKG1pbi13aWR0aDogMjMuNDM3NWVtKSB7XG4gIC51LTFcXC8xXFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMVxcLzFcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzFcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC8yXFxAbW9iaWxlIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xXFwvMlxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC8yXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC8yXFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMlxcLzJcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzJcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC8zXFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xXFwvM1xcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC8zXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC8zXFxAbW9iaWxlIHtcbiAgICB3aWR0aDogNjYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvM1xcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTJcXC8zXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjYuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC8zXFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtM1xcLzNcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzNcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC80XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xXFwvNFxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAyNSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC80XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC80XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvNFxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTJcXC80XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC80XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvNFxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA3NSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTNcXC80XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNzUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC80XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNFxcLzRcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzRcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC81XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xXFwvNVxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAyMCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC81XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC81XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvNVxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA0MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTJcXC81XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC81XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvNVxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA2MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTNcXC81XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC81XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC00XFwvNVxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTRcXC81XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTVcXC81XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNVxcLzVcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNVxcLzVcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC82XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMTYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xXFwvNlxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC82XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTYuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC82XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvNlxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTJcXC82XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC82XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvNlxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTNcXC82XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC82XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogNjYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC00XFwvNlxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTRcXC82XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjYuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTVcXC82XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogODMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC01XFwvNlxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTVcXC82XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTZcXC82XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNlxcLzZcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNlxcLzZcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC8xMVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDkuMDkwOTElICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xXFwvMTFcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogOS4wOTA5MSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC8xMVxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDkuMDkwOTElICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC8xMVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDE4LjE4MTgyJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMlxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDE4LjE4MTgyJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTguMTgxODIlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC8xMVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDI3LjI3MjczJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtM1xcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDI3LjI3MjczJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjcuMjcyNzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC8xMVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDM2LjM2MzY0JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNFxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDM2LjM2MzY0JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMzYuMzYzNjQlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTVcXC8xMVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDQ1LjQ1NDU1JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNVxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDQ1LjQ1NDU1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNVxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNDUuNDU0NTUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTZcXC8xMVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDU0LjU0NTQ1JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNlxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDU0LjU0NTQ1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNlxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTQuNTQ1NDUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTdcXC8xMVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDYzLjYzNjM2JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtN1xcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDYzLjYzNjM2JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtN1xcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjMuNjM2MzYlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LThcXC8xMVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDcyLjcyNzI3JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtOFxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDcyLjcyNzI3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOFxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNzIuNzI3MjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTlcXC8xMVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDgxLjgxODE4JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtOVxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDgxLjgxODE4JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOVxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODEuODE4MTglICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEwXFwvMTFcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA5MC45MDkwOSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTEwXFwvMTFcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogOTAuOTA5MDklICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMFxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogOTAuOTA5MDklICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTExXFwvMTFcXEBtb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xMVxcLzExXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTExXFwvMTFcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC8xMlxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDguMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xXFwvMTJcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogOC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC8xMlxcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDguMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC8xMlxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMlxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTYuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC8xMlxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtM1xcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC8xMlxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNFxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTVcXC8xMlxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNVxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNVxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNDEuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTZcXC8xMlxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNlxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNlxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTdcXC8xMlxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtN1xcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtN1xcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTguMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LThcXC8xMlxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtOFxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOFxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjYuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTlcXC8xMlxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtOVxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOVxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNzUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEwXFwvMTJcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTEwXFwvMTJcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogODMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMFxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTExXFwvMTJcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA5MS42NjY2NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTExXFwvMTJcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMVxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogOTEuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEyXFwvMTJcXEBtb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xMlxcLzEyXFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEyXFwvMTJcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC8xN1xcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDUuODgyMzUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xXFwvMTdcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNS44ODIzNSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC8xN1xcQG1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDUuODgyMzUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC8xN1xcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDExLjc2NDcxJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMlxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDExLjc2NDcxJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTEuNzY0NzElICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC8xN1xcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDE3LjY0NzA2JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtM1xcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDE3LjY0NzA2JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTcuNjQ3MDYlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC8xN1xcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDIzLjUyOTQxJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNFxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDIzLjUyOTQxJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjMuNTI5NDElICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTVcXC8xN1xcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDI5LjQxMTc2JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNVxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDI5LjQxMTc2JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNVxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjkuNDExNzYlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTZcXC8xN1xcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDM1LjI5NDEyJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNlxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDM1LjI5NDEyJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNlxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMzUuMjk0MTIlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTdcXC8xN1xcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDQxLjE3NjQ3JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtN1xcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDQxLjE3NjQ3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtN1xcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNDEuMTc2NDclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LThcXC8xN1xcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDQ3LjA1ODgyJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtOFxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDQ3LjA1ODgyJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOFxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNDcuMDU4ODIlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTlcXC8xN1xcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDUyLjk0MTE4JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtOVxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDUyLjk0MTE4JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOVxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTIuOTQxMTglICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEwXFwvMTdcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA1OC44MjM1MyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTEwXFwvMTdcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNTguODIzNTMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMFxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTguODIzNTMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTExXFwvMTdcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA2NC43MDU4OCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTExXFwvMTdcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNjQuNzA1ODglICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMVxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjQuNzA1ODglICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEyXFwvMTdcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA3MC41ODgyNCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTEyXFwvMTdcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNzAuNTg4MjQlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMlxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNzAuNTg4MjQlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEzXFwvMTdcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA3Ni40NzA1OSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTEzXFwvMTdcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNzYuNDcwNTklICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xM1xcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNzYuNDcwNTklICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTE0XFwvMTdcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA4Mi4zNTI5NCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTE0XFwvMTdcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogODIuMzUyOTQlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xNFxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODIuMzUyOTQlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTE1XFwvMTdcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA4OC4yMzUyOSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTE1XFwvMTdcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogODguMjM1MjklICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xNVxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODguMjM1MjklICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTE2XFwvMTdcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA5NC4xMTc2NSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTE2XFwvMTdcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogOTQuMTE3NjUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xNlxcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogOTQuMTE3NjUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTE3XFwvMTdcXEBtb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xN1xcLzE3XFxAbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTE3XFwvMTdcXEBtb2JpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtMVxcLzFcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xXFwvMVxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xXFwvMVxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMVxcLzJcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8yXFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1MCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMlxcLzJcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvMlxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0yXFwvMlxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMVxcLzNcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8zXFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzNcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAzMy4zMzMzMyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMlxcLzNcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC8zXFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzNcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA2Ni42NjY2NyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtM1xcLzNcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvM1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0zXFwvM1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMVxcLzRcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC80XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzRcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAyNSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMlxcLzRcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC80XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzRcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1MCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtM1xcLzRcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTNcXC80XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzRcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA3NSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNFxcLzRcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC00XFwvNFxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC00XFwvNFxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMVxcLzVcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC81XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDIwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzVcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAyMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMlxcLzVcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA0MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC81XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDQwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzVcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA0MCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtM1xcLzVcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTNcXC81XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDYwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzVcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA2MCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNFxcLzVcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTRcXC81XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDgwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzVcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA4MCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNVxcLzVcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC01XFwvNVxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC01XFwvNVxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMVxcLzZcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC82XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzZcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxNi42NjY2NyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMlxcLzZcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC82XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzZcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAzMy4zMzMzMyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtM1xcLzZcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTNcXC82XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzZcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1MCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNFxcLzZcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTRcXC82XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzZcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA2Ni42NjY2NyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNVxcLzZcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTVcXC82XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDgzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNVxcLzZcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA4My4zMzMzMyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNlxcLzZcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC02XFwvNlxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC02XFwvNlxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMVxcLzExXFxAdGFibGV0IHtcbiAgICB3aWR0aDogOS4wOTA5MSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8xMVxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA5LjA5MDkxJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzExXFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogOS4wOTA5MSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMlxcLzExXFxAdGFibGV0IHtcbiAgICB3aWR0aDogMTguMTgxODIlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTguMTgxODIlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0yXFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxOC4xODE4MiUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtM1xcLzExXFxAdGFibGV0IHtcbiAgICB3aWR0aDogMjcuMjcyNzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMjcuMjcyNzMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0zXFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAyNy4yNzI3MyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNFxcLzExXFxAdGFibGV0IHtcbiAgICB3aWR0aDogMzYuMzYzNjQlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC00XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMzYuMzYzNjQlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC00XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAzNi4zNjM2NCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNVxcLzExXFxAdGFibGV0IHtcbiAgICB3aWR0aDogNDUuNDU0NTUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC01XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNDUuNDU0NTUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC01XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA0NS40NTQ1NSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNlxcLzExXFxAdGFibGV0IHtcbiAgICB3aWR0aDogNTQuNTQ1NDUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC02XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNTQuNTQ1NDUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC02XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1NC41NDU0NSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtN1xcLzExXFxAdGFibGV0IHtcbiAgICB3aWR0aDogNjMuNjM2MzYlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC03XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNjMuNjM2MzYlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC03XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA2My42MzYzNiUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtOFxcLzExXFxAdGFibGV0IHtcbiAgICB3aWR0aDogNzIuNzI3MjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC04XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNzIuNzI3MjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC04XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA3Mi43MjcyNyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtOVxcLzExXFxAdGFibGV0IHtcbiAgICB3aWR0aDogODEuODE4MTglICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC05XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogODEuODE4MTglICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC05XFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA4MS44MTgxOCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTBcXC8xMVxcQHRhYmxldCB7XG4gICAgd2lkdGg6IDkwLjkwOTA5JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTBcXC8xMVxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA5MC45MDkwOSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEwXFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA5MC45MDkwOSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTFcXC8xMVxcQHRhYmxldCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTExXFwvMTFcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMTFcXC8xMVxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMVxcLzEyXFxAdGFibGV0IHtcbiAgICB3aWR0aDogOC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8xMlxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzEyXFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogOC4zMzMzMyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMlxcLzEyXFxAdGFibGV0IHtcbiAgICB3aWR0aDogMTYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0yXFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxNi42NjY2NyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtM1xcLzEyXFxAdGFibGV0IHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0zXFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAyNSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNFxcLzEyXFxAdGFibGV0IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC00XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC00XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAzMy4zMzMzMyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNVxcLzEyXFxAdGFibGV0IHtcbiAgICB3aWR0aDogNDEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC01XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNDEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC01XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA0MS42NjY2NyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNlxcLzEyXFxAdGFibGV0IHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC02XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC02XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1MCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtN1xcLzEyXFxAdGFibGV0IHtcbiAgICB3aWR0aDogNTguMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC03XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNTguMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC03XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1OC4zMzMzMyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtOFxcLzEyXFxAdGFibGV0IHtcbiAgICB3aWR0aDogNjYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC04XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNjYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC04XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA2Ni42NjY2NyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtOVxcLzEyXFxAdGFibGV0IHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC05XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC05XFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA3NSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTBcXC8xMlxcQHRhYmxldCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTBcXC8xMlxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEwXFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA4My4zMzMzMyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTFcXC8xMlxcQHRhYmxldCB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTFcXC8xMlxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA5MS42NjY2NyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTExXFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA5MS42NjY2NyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTJcXC8xMlxcQHRhYmxldCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTEyXFwvMTJcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMTJcXC8xMlxcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMVxcLzE3XFxAdGFibGV0IHtcbiAgICB3aWR0aDogNS44ODIzNSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8xN1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA1Ljg4MjM1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzE3XFxAdGFibGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNS44ODIzNSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMlxcLzE3XFxAdGFibGV0IHtcbiAgICB3aWR0aDogMTEuNzY0NzElICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTEuNzY0NzElICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0yXFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMS43NjQ3MSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtM1xcLzE3XFxAdGFibGV0IHtcbiAgICB3aWR0aDogMTcuNjQ3MDYlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTcuNjQ3MDYlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0zXFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxNy42NDcwNiUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNFxcLzE3XFxAdGFibGV0IHtcbiAgICB3aWR0aDogMjMuNTI5NDElICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC00XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMjMuNTI5NDElICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC00XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAyMy41Mjk0MSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNVxcLzE3XFxAdGFibGV0IHtcbiAgICB3aWR0aDogMjkuNDExNzYlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC01XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMjkuNDExNzYlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC01XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAyOS40MTE3NiUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtNlxcLzE3XFxAdGFibGV0IHtcbiAgICB3aWR0aDogMzUuMjk0MTIlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC02XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMzUuMjk0MTIlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC02XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAzNS4yOTQxMiUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtN1xcLzE3XFxAdGFibGV0IHtcbiAgICB3aWR0aDogNDEuMTc2NDclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC03XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNDEuMTc2NDclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC03XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA0MS4xNzY0NyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtOFxcLzE3XFxAdGFibGV0IHtcbiAgICB3aWR0aDogNDcuMDU4ODIlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC04XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNDcuMDU4ODIlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC04XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA0Ny4wNTg4MiUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtOVxcLzE3XFxAdGFibGV0IHtcbiAgICB3aWR0aDogNTIuOTQxMTglICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC05XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNTIuOTQxMTglICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC05XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1Mi45NDExOCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTBcXC8xN1xcQHRhYmxldCB7XG4gICAgd2lkdGg6IDU4LjgyMzUzJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTBcXC8xN1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA1OC44MjM1MyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEwXFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1OC44MjM1MyUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTFcXC8xN1xcQHRhYmxldCB7XG4gICAgd2lkdGg6IDY0LjcwNTg4JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTFcXC8xN1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA2NC43MDU4OCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTExXFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA2NC43MDU4OCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTJcXC8xN1xcQHRhYmxldCB7XG4gICAgd2lkdGg6IDcwLjU4ODI0JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTJcXC8xN1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA3MC41ODgyNCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEyXFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA3MC41ODgyNCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTNcXC8xN1xcQHRhYmxldCB7XG4gICAgd2lkdGg6IDc2LjQ3MDU5JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTNcXC8xN1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA3Ni40NzA1OSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEzXFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA3Ni40NzA1OSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTRcXC8xN1xcQHRhYmxldCB7XG4gICAgd2lkdGg6IDgyLjM1Mjk0JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTRcXC8xN1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4Mi4zNTI5NCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTE0XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA4Mi4zNTI5NCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTVcXC8xN1xcQHRhYmxldCB7XG4gICAgd2lkdGg6IDg4LjIzNTI5JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTVcXC8xN1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4OC4yMzUyOSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTE1XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA4OC4yMzUyOSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTZcXC8xN1xcQHRhYmxldCB7XG4gICAgd2lkdGg6IDk0LjExNzY1JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTZcXC8xN1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA5NC4xMTc2NSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTE2XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA5NC4xMTc2NSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH1cbiAgLnUtMTdcXC8xN1xcQHRhYmxldCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTE3XFwvMTdcXEB0YWJsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMTdcXC8xN1xcQHRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovIH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS0xXFwvMVxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xXFwvMVxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xXFwvMlxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8yXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC8yXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDUwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0yXFwvMlxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvMlxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xXFwvM1xcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8zXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC8zXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0yXFwvM1xcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC8zXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTJcXC8zXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0zXFwvM1xcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvM1xcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzNcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xXFwvNFxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC80XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAyNSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC80XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDI1JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0yXFwvNFxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC80XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTJcXC80XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDUwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0zXFwvNFxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTNcXC80XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA3NSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTNcXC80XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDc1JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS00XFwvNFxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC00XFwvNFxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzRcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xXFwvNVxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC81XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAyMCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC81XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDIwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0yXFwvNVxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA0MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC81XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA0MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTJcXC81XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDQwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0zXFwvNVxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTNcXC81XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA2MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTNcXC81XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDYwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS00XFwvNVxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTRcXC81XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTRcXC81XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDgwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS01XFwvNVxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC01XFwvNVxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNVxcLzVcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xXFwvNlxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC82XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC82XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0yXFwvNlxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC82XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTJcXC82XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0zXFwvNlxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTNcXC82XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTNcXC82XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDUwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS00XFwvNlxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTRcXC82XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTRcXC82XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS01XFwvNlxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTVcXC82XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTVcXC82XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS02XFwvNlxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC02XFwvNlxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNlxcLzZcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xXFwvMTFcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogOS4wOTA5MSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8xMVxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogOS4wOTA5MSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC8xMVxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA5LjA5MDkxJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0yXFwvMTFcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMTguMTgxODIlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvMTFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDE4LjE4MTgyJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzExXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDE4LjE4MTgyJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0zXFwvMTFcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMjcuMjcyNzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvMTFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDI3LjI3MjczJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzExXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDI3LjI3MjczJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS00XFwvMTFcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMzYuMzYzNjQlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC00XFwvMTFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDM2LjM2MzY0JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzExXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDM2LjM2MzY0JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS01XFwvMTFcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNDUuNDU0NTUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC01XFwvMTFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDQ1LjQ1NDU1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNVxcLzExXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDQ1LjQ1NDU1JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS02XFwvMTFcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNTQuNTQ1NDUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC02XFwvMTFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDU0LjU0NTQ1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNlxcLzExXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDU0LjU0NTQ1JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS03XFwvMTFcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNjMuNjM2MzYlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC03XFwvMTFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDYzLjYzNjM2JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtN1xcLzExXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDYzLjYzNjM2JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS04XFwvMTFcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNzIuNzI3MjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC04XFwvMTFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDcyLjcyNzI3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOFxcLzExXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDcyLjcyNzI3JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS05XFwvMTFcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogODEuODE4MTglICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC05XFwvMTFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDgxLjgxODE4JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOVxcLzExXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDgxLjgxODE4JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xMFxcLzExXFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDkwLjkwOTA5JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTBcXC8xMVxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogOTAuOTA5MDklICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMFxcLzExXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDkwLjkwOTA5JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xMVxcLzExXFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTExXFwvMTFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTExXFwvMTFcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xXFwvMTJcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogOC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8xMlxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogOC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC8xMlxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA4LjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0yXFwvMTJcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMTYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvMTJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzEyXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0zXFwvMTJcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvMTJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzEyXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDI1JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS00XFwvMTJcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC00XFwvMTJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzEyXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS01XFwvMTJcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNDEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC01XFwvMTJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNVxcLzEyXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS02XFwvMTJcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC02XFwvMTJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNlxcLzEyXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDUwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS03XFwvMTJcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNTguMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC03XFwvMTJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtN1xcLzEyXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS04XFwvMTJcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNjYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC04XFwvMTJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOFxcLzEyXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS05XFwvMTJcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC05XFwvMTJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOVxcLzEyXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDc1JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xMFxcLzEyXFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTBcXC8xMlxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogODMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMFxcLzEyXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xMVxcLzEyXFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTFcXC8xMlxcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMVxcLzEyXFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xMlxcLzEyXFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTEyXFwvMTJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEyXFwvMTJcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xXFwvMTdcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNS44ODIzNSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8xN1xcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNS44ODIzNSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTFcXC8xN1xcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1Ljg4MjM1JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0yXFwvMTdcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMTEuNzY0NzElICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0yXFwvMTdcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDExLjc2NDcxJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDExLjc2NDcxJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0zXFwvMTdcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMTcuNjQ3MDYlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0zXFwvMTdcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDE3LjY0NzA2JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDE3LjY0NzA2JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS00XFwvMTdcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMjMuNTI5NDElICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC00XFwvMTdcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDIzLjUyOTQxJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDIzLjUyOTQxJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS01XFwvMTdcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMjkuNDExNzYlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC01XFwvMTdcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDI5LjQxMTc2JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNVxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDI5LjQxMTc2JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS02XFwvMTdcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMzUuMjk0MTIlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC02XFwvMTdcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDM1LjI5NDEyJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNlxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDM1LjI5NDEyJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS03XFwvMTdcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNDEuMTc2NDclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC03XFwvMTdcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDQxLjE3NjQ3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtN1xcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDQxLjE3NjQ3JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS04XFwvMTdcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNDcuMDU4ODIlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC04XFwvMTdcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDQ3LjA1ODgyJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOFxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDQ3LjA1ODgyJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS05XFwvMTdcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNTIuOTQxMTglICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC05XFwvMTdcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDUyLjk0MTE4JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtOVxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDUyLjk0MTE4JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xMFxcLzE3XFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDU4LjgyMzUzJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTBcXC8xN1xcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNTguODIzNTMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMFxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDU4LjgyMzUzJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xMVxcLzE3XFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDY0LjcwNTg4JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTFcXC8xN1xcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNjQuNzA1ODglICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMVxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDY0LjcwNTg4JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xMlxcLzE3XFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDcwLjU4ODI0JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTJcXC8xN1xcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNzAuNTg4MjQlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xMlxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDcwLjU4ODI0JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xM1xcLzE3XFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDc2LjQ3MDU5JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTNcXC8xN1xcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNzYuNDcwNTklICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xM1xcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDc2LjQ3MDU5JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xNFxcLzE3XFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDgyLjM1Mjk0JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTRcXC8xN1xcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogODIuMzUyOTQlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xNFxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDgyLjM1Mjk0JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xNVxcLzE3XFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDg4LjIzNTI5JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTVcXC8xN1xcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogODguMjM1MjklICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xNVxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDg4LjIzNTI5JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xNlxcLzE3XFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDk0LjExNzY1JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTZcXC8xN1xcQGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogOTQuMTE3NjUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xNlxcLzE3XFxAZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDk0LjExNzY1JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfVxuICAudS0xN1xcLzE3XFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTE3XFwvMTdcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTE3XFwvMTdcXEBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi8gfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LTFcXC8xXFxAd2lkZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTFcXC8xXFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0xXFwvMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC8yXFxAd2lkZSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMVxcLzJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC8yXFxAd2lkZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC8yXFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0yXFwvMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC8zXFxAd2lkZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMVxcLzNcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzNcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC8zXFxAd2lkZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMlxcLzNcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzNcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjYuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC8zXFxAd2lkZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTNcXC8zXFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0zXFwvM1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC80XFxAd2lkZSB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMVxcLzRcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzRcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC80XFxAd2lkZSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMlxcLzRcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzRcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC80XFxAd2lkZSB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtM1xcLzRcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzRcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNzUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC80XFxAd2lkZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTRcXC80XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC00XFwvNFxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC81XFxAd2lkZSB7XG4gICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMVxcLzVcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDIwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzVcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC81XFxAd2lkZSB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMlxcLzVcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDQwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzVcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC81XFxAd2lkZSB7XG4gICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtM1xcLzVcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDYwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzVcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC81XFxAd2lkZSB7XG4gICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNFxcLzVcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDgwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzVcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTVcXC81XFxAd2lkZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTVcXC81XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC01XFwvNVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC82XFxAd2lkZSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMVxcLzZcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzZcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTYuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC82XFxAd2lkZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMlxcLzZcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMlxcLzZcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC82XFxAd2lkZSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtM1xcLzZcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtM1xcLzZcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC82XFxAd2lkZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNFxcLzZcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNFxcLzZcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjYuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTVcXC82XFxAd2lkZSB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtNVxcLzZcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqL1xuICAgIGxlZnQ6IDgzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtNVxcLzZcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTZcXC82XFxAd2lkZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTZcXC82XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC02XFwvNlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC8xMVxcQHdpZGUge1xuICAgIHdpZHRoOiA5LjA5MDkxJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMVxcLzExXFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA5LjA5MDkxJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzExXFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDkuMDkwOTElICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC8xMVxcQHdpZGUge1xuICAgIHdpZHRoOiAxOC4xODE4MiUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC8xMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTguMTgxODIlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0yXFwvMTFcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTguMTgxODIlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC8xMVxcQHdpZGUge1xuICAgIHdpZHRoOiAyNy4yNzI3MyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTNcXC8xMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMjcuMjcyNzMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0zXFwvMTFcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjcuMjcyNzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC8xMVxcQHdpZGUge1xuICAgIHdpZHRoOiAzNi4zNjM2NCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTRcXC8xMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMzYuMzYzNjQlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC00XFwvMTFcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMzYuMzYzNjQlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTVcXC8xMVxcQHdpZGUge1xuICAgIHdpZHRoOiA0NS40NTQ1NSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTVcXC8xMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNDUuNDU0NTUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC01XFwvMTFcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNDUuNDU0NTUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTZcXC8xMVxcQHdpZGUge1xuICAgIHdpZHRoOiA1NC41NDU0NSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTZcXC8xMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNTQuNTQ1NDUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC02XFwvMTFcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTQuNTQ1NDUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTdcXC8xMVxcQHdpZGUge1xuICAgIHdpZHRoOiA2My42MzYzNiUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTdcXC8xMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNjMuNjM2MzYlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC03XFwvMTFcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjMuNjM2MzYlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LThcXC8xMVxcQHdpZGUge1xuICAgIHdpZHRoOiA3Mi43MjcyNyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLThcXC8xMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNzIuNzI3MjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC04XFwvMTFcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNzIuNzI3MjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTlcXC8xMVxcQHdpZGUge1xuICAgIHdpZHRoOiA4MS44MTgxOCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTlcXC8xMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogODEuODE4MTglICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC05XFwvMTFcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODEuODE4MTglICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEwXFwvMTFcXEB3aWRlIHtcbiAgICB3aWR0aDogOTAuOTA5MDklICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xMFxcLzExXFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA5MC45MDkwOSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEwXFwvMTFcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogOTAuOTA5MDklICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTExXFwvMTFcXEB3aWRlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTFcXC8xMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMTFcXC8xMVxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC8xMlxcQHdpZGUge1xuICAgIHdpZHRoOiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMVxcLzEyXFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzEyXFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDguMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC8xMlxcQHdpZGUge1xuICAgIHdpZHRoOiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC8xMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0yXFwvMTJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTYuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC8xMlxcQHdpZGUge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTNcXC8xMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0zXFwvMTJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC8xMlxcQHdpZGUge1xuICAgIHdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTRcXC8xMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC00XFwvMTJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTVcXC8xMlxcQHdpZGUge1xuICAgIHdpZHRoOiA0MS42NjY2NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTVcXC8xMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNDEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC01XFwvMTJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNDEuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTZcXC8xMlxcQHdpZGUge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTZcXC8xMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC02XFwvMTJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTdcXC8xMlxcQHdpZGUge1xuICAgIHdpZHRoOiA1OC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTdcXC8xMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNTguMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC03XFwvMTJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTguMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LThcXC8xMlxcQHdpZGUge1xuICAgIHdpZHRoOiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLThcXC8xMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNjYuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC04XFwvMTJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjYuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTlcXC8xMlxcQHdpZGUge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTlcXC8xMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC05XFwvMTJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNzUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEwXFwvMTJcXEB3aWRlIHtcbiAgICB3aWR0aDogODMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xMFxcLzEyXFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEwXFwvMTJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTExXFwvMTJcXEB3aWRlIHtcbiAgICB3aWR0aDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xMVxcLzEyXFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA5MS42NjY2NyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTExXFwvMTJcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogOTEuNjY2NjclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEyXFwvMTJcXEB3aWRlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTJcXC8xMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMTJcXC8xMlxcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTFcXC8xN1xcQHdpZGUge1xuICAgIHdpZHRoOiA1Ljg4MjM1JSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMVxcLzE3XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA1Ljg4MjM1JSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMVxcLzE3XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDUuODgyMzUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTJcXC8xN1xcQHdpZGUge1xuICAgIHdpZHRoOiAxMS43NjQ3MSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTJcXC8xN1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTEuNzY0NzElICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0yXFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTEuNzY0NzElICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTNcXC8xN1xcQHdpZGUge1xuICAgIHdpZHRoOiAxNy42NDcwNiUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTNcXC8xN1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTcuNjQ3MDYlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC0zXFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMTcuNjQ3MDYlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTRcXC8xN1xcQHdpZGUge1xuICAgIHdpZHRoOiAyMy41Mjk0MSUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTRcXC8xN1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMjMuNTI5NDElICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC00XFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjMuNTI5NDElICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTVcXC8xN1xcQHdpZGUge1xuICAgIHdpZHRoOiAyOS40MTE3NiUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTVcXC8xN1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMjkuNDExNzYlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC01XFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMjkuNDExNzYlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTZcXC8xN1xcQHdpZGUge1xuICAgIHdpZHRoOiAzNS4yOTQxMiUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTZcXC8xN1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMzUuMjk0MTIlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC02XFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogMzUuMjk0MTIlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTdcXC8xN1xcQHdpZGUge1xuICAgIHdpZHRoOiA0MS4xNzY0NyUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTdcXC8xN1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNDEuMTc2NDclICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC03XFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNDEuMTc2NDclICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LThcXC8xN1xcQHdpZGUge1xuICAgIHdpZHRoOiA0Ny4wNTg4MiUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLThcXC8xN1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNDcuMDU4ODIlICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC04XFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNDcuMDU4ODIlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTlcXC8xN1xcQHdpZGUge1xuICAgIHdpZHRoOiA1Mi45NDExOCUgIWltcG9ydGFudDsgfVxuICAvKipcbiAgICAgICAgKiAxLiBSZXNldCBhbnkgbGVmdG92ZXIgb3IgY29uZmxpY3RpbmcgYGxlZnRgL2ByaWdodGAgdmFsdWVzLlxuICAgICAgICAqL1xuICAudS1wdXNoLTlcXC8xN1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogNTIuOTQxMTglICFpbXBvcnRhbnQ7IH1cbiAgLnUtcHVsbC05XFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTIuOTQxMTglICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEwXFwvMTdcXEB3aWRlIHtcbiAgICB3aWR0aDogNTguODIzNTMlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xMFxcLzE3XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA1OC44MjM1MyUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEwXFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNTguODIzNTMlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTExXFwvMTdcXEB3aWRlIHtcbiAgICB3aWR0aDogNjQuNzA1ODglICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xMVxcLzE3XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA2NC43MDU4OCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTExXFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNjQuNzA1ODglICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEyXFwvMTdcXEB3aWRlIHtcbiAgICB3aWR0aDogNzAuNTg4MjQlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xMlxcLzE3XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA3MC41ODgyNCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEyXFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNzAuNTg4MjQlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTEzXFwvMTdcXEB3aWRlIHtcbiAgICB3aWR0aDogNzYuNDcwNTklICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xM1xcLzE3XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA3Ni40NzA1OSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTEzXFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogNzYuNDcwNTklICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTE0XFwvMTdcXEB3aWRlIHtcbiAgICB3aWR0aDogODIuMzUyOTQlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xNFxcLzE3XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4Mi4zNTI5NCUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTE0XFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODIuMzUyOTQlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTE1XFwvMTdcXEB3aWRlIHtcbiAgICB3aWR0aDogODguMjM1MjklICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xNVxcLzE3XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA4OC4yMzUyOSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTE1XFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogODguMjM1MjklICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTE2XFwvMTdcXEB3aWRlIHtcbiAgICB3aWR0aDogOTQuMTE3NjUlICFpbXBvcnRhbnQ7IH1cbiAgLyoqXG4gICAgICAgICogMS4gUmVzZXQgYW55IGxlZnRvdmVyIG9yIGNvbmZsaWN0aW5nIGBsZWZ0YC9gcmlnaHRgIHZhbHVlcy5cbiAgICAgICAgKi9cbiAgLnUtcHVzaC0xNlxcLzE3XFxAd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBsZWZ0OiA5NC4xMTc2NSUgIWltcG9ydGFudDsgfVxuICAudS1wdWxsLTE2XFwvMTdcXEB3aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICByaWdodDogOTQuMTE3NjUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9XG4gIC51LTE3XFwvMTdcXEB3aWRlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG4gIC51LXB1c2gtMTdcXC8xN1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogWzFdICovXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC51LXB1bGwtMTdcXC8xN1xcQHdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIFsxXSAqLyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNIRUFESU5HU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVkZWZpbmUgYWxsIG9mIG91ciBiYXNpYyBoZWFkaW5nIHN0eWxlcyBhZ2FpbnN0IHV0aWxpdHkgY2xhc3NlcyBzbyBhcyB0b1xuICogYWxsb3cgZm9yIGRvdWJsZSBzdHJhbmRlZCBoZWFkaW5nIGhpZXJhcmNoeSwgZS5nLiB3ZSBzZW1hbnRpY2FsbHkgbmVlZCBhbiBIMixcbiAqIGJ1dCB3ZSB3YW50IGl0IHRvIGJlIHNpemVkIGxpa2UgYW4gSDE6XG4gKlxuICogICA8aDIgY2xhc3M9XCJ1LWgxXCI+PC9oMj5cbiAqXG4gKi9cbi51LWgxIHtcbiAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS43MTQyOXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS43NSAhaW1wb3J0YW50OyB9XG5cbi51LWgyIHtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NnJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zMTI1ICFpbXBvcnRhbnQ7IH1cblxuLnUtaDMge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjMxMjUgIWltcG9ydGFudDsgfVxuXG4udS1oNCB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMTQyODZyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMzEyNSAhaW1wb3J0YW50OyB9XG5cbi51LWg1IHtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NnJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zMTI1ICFpbXBvcnRhbnQ7IH1cblxuLnUtaDYge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjMxMjUgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1NQQUNJTkdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFV0aWxpdHkgY2xhc3NlcyB0byBwdXQgc3BlY2lmaWMgc3BhY2luZyB2YWx1ZXMgb250byBlbGVtZW50cy4gVGhlIGJlbG93IGxvb3BcbiAqIHdpbGwgZ2VuZXJhdGUgdXMgYSBzdWl0ZSBvZiBjbGFzc2VzIGxpa2U6XG4gKlxuICogICAudS1tYXJnaW4tdG9wIHt9XG4gKiAgIC51LXBhZGRpbmctbGVmdC1sYXJnZSB7fVxuICogICAudS1tYXJnaW4tcmlnaHQtc21hbGwge31cbiAqICAgLnUtcGFkZGluZyB7fVxuICogICAudS1wYWRkaW5nLXJpZ2h0LW5vbmUge31cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc3RyaW5nLXF1b3RlcyAqL1xuLnUtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDIxcHggIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLXRpbnkge1xuICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLXNtYWxsIHtcbiAgcGFkZGluZzogMTFweCAhaW1wb3J0YW50OyB9XG5cbi51LXBhZGRpbmctbGFyZ2Uge1xuICBwYWRkaW5nOiA0MnB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtcGFkZGluZy1odWdlIHtcbiAgcGFkZGluZzogODRweCAhaW1wb3J0YW50OyB9XG5cbi51LXBhZGRpbmctbm9uZSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAyMXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtcGFkZGluZy10b3AtdGlueSB7XG4gIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLXRvcC1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAxMXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtcGFkZGluZy10b3AtbGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogNDJweCAhaW1wb3J0YW50OyB9XG5cbi51LXBhZGRpbmctdG9wLWh1Z2Uge1xuICBwYWRkaW5nLXRvcDogODRweCAhaW1wb3J0YW50OyB9XG5cbi51LXBhZGRpbmctdG9wLW5vbmUge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi51LXBhZGRpbmctcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAyMXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtcGFkZGluZy1yaWdodC10aW55IHtcbiAgcGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtcGFkZGluZy1yaWdodC1zbWFsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDExcHggIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLXJpZ2h0LWxhcmdlIHtcbiAgcGFkZGluZy1yaWdodDogNDJweCAhaW1wb3J0YW50OyB9XG5cbi51LXBhZGRpbmctcmlnaHQtaHVnZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDg0cHggIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLXJpZ2h0LW5vbmUge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnUtcGFkZGluZy1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMjFweCAhaW1wb3J0YW50OyB9XG5cbi51LXBhZGRpbmctYm90dG9tLXRpbnkge1xuICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtcGFkZGluZy1ib3R0b20tc21hbGwge1xuICBwYWRkaW5nLWJvdHRvbTogMTFweCAhaW1wb3J0YW50OyB9XG5cbi51LXBhZGRpbmctYm90dG9tLWxhcmdlIHtcbiAgcGFkZGluZy1ib3R0b206IDQycHggIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLWJvdHRvbS1odWdlIHtcbiAgcGFkZGluZy1ib3R0b206IDg0cHggIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLWJvdHRvbS1ub25lIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDIxcHggIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLWxlZnQtdGlueSB7XG4gIHBhZGRpbmctbGVmdDogNXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtcGFkZGluZy1sZWZ0LXNtYWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAxMXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtcGFkZGluZy1sZWZ0LWxhcmdlIHtcbiAgcGFkZGluZy1sZWZ0OiA0MnB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtcGFkZGluZy1sZWZ0LWh1Z2Uge1xuICBwYWRkaW5nLWxlZnQ6IDg0cHggIWltcG9ydGFudDsgfVxuXG4udS1wYWRkaW5nLWxlZnQtbm9uZSB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi51LW1hcmdpbiB7XG4gIG1hcmdpbjogMjFweCAhaW1wb3J0YW50OyB9XG5cbi51LW1hcmdpbi10aW55IHtcbiAgbWFyZ2luOiA1cHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tc21hbGwge1xuICBtYXJnaW46IDExcHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tbGFyZ2Uge1xuICBtYXJnaW46IDQycHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4taHVnZSB7XG4gIG1hcmdpbjogODRweCAhaW1wb3J0YW50OyB9XG5cbi51LW1hcmdpbi1ub25lIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuLnUtbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDIxcHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tdG9wLXRpbnkge1xuICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tdG9wLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMTFweCAhaW1wb3J0YW50OyB9XG5cbi51LW1hcmdpbi10b3AtbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0MnB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtbWFyZ2luLXRvcC1odWdlIHtcbiAgbWFyZ2luLXRvcDogODRweCAhaW1wb3J0YW50OyB9XG5cbi51LW1hcmdpbi10b3Atbm9uZSB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDIxcHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tcmlnaHQtdGlueSB7XG4gIG1hcmdpbi1yaWdodDogNXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtbWFyZ2luLXJpZ2h0LXNtYWxsIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtbWFyZ2luLXJpZ2h0LWxhcmdlIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtbWFyZ2luLXJpZ2h0LWh1Z2Uge1xuICBtYXJnaW4tcmlnaHQ6IDg0cHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tcmlnaHQtbm9uZSB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51LW1hcmdpbi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAyMXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtbWFyZ2luLWJvdHRvbS10aW55IHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtbWFyZ2luLWJvdHRvbS1zbWFsbCB7XG4gIG1hcmdpbi1ib3R0b206IDExcHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tYm90dG9tLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNDJweCAhaW1wb3J0YW50OyB9XG5cbi51LW1hcmdpbi1ib3R0b20taHVnZSB7XG4gIG1hcmdpbi1ib3R0b206IDg0cHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tYm90dG9tLW5vbmUge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnUtbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMjFweCAhaW1wb3J0YW50OyB9XG5cbi51LW1hcmdpbi1sZWZ0LXRpbnkge1xuICBtYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtbWFyZ2luLWxlZnQtc21hbGwge1xuICBtYXJnaW4tbGVmdDogMTFweCAhaW1wb3J0YW50OyB9XG5cbi51LW1hcmdpbi1sZWZ0LWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IDQycHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tbGVmdC1odWdlIHtcbiAgbWFyZ2luLWxlZnQ6IDg0cHggIWltcG9ydGFudDsgfVxuXG4udS1tYXJnaW4tbGVmdC1ub25lIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlIHN0cmluZy1xdW90ZXMgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAyMy40Mzc1ZW0pIHtcbiAgLnUtcGFkZGluZ1xcQG1vYmlsZSB7XG4gICAgcGFkZGluZzogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctdGlueVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZzogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1zbWFsbFxcQG1vYmlsZSB7XG4gICAgcGFkZGluZzogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctbGFyZ2VcXEBtb2JpbGUge1xuICAgIHBhZGRpbmc6IDQycHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWh1Z2VcXEBtb2JpbGUge1xuICAgIHBhZGRpbmc6IDg0cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLW5vbmVcXEBtb2JpbGUge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXRvcFxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy10b3A6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXRvcC10aW55XFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy10b3Atc21hbGxcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctdG9wOiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy10b3AtbGFyZ2VcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctdG9wOiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy10b3AtaHVnZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy10b3A6IDg0cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXRvcC1ub25lXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctcmlnaHRcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXJpZ2h0LXRpbnlcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctcmlnaHQtc21hbGxcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDExcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXJpZ2h0LWxhcmdlXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1yaWdodC1odWdlXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1yaWdodC1ub25lXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1ib3R0b21cXEBtb2JpbGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1ib3R0b20tdGlueVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctYm90dG9tLXNtYWxsXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctYm90dG9tLWxhcmdlXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctYm90dG9tLWh1Z2VcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctYm90dG9tOiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1ib3R0b20tbm9uZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxlZnRcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctbGVmdDogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctbGVmdC10aW55XFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctbGVmdC1zbWFsbFxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1sZWZ0LWxhcmdlXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxlZnQtaHVnZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1sZWZ0LW5vbmVcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpblxcQG1vYmlsZSB7XG4gICAgbWFyZ2luOiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXRpbnlcXEBtb2JpbGUge1xuICAgIG1hcmdpbjogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXNtYWxsXFxAbW9iaWxlIHtcbiAgICBtYXJnaW46IDExcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tbGFyZ2VcXEBtb2JpbGUge1xuICAgIG1hcmdpbjogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1odWdlXFxAbW9iaWxlIHtcbiAgICBtYXJnaW46IDg0cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tbm9uZVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXRvcFxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLXRvcDogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi10b3AtdGlueVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXRvcC1zbWFsbFxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLXRvcDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi10b3AtbGFyZ2VcXEBtb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDQycHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tdG9wLWh1Z2VcXEBtb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDg0cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tdG9wLW5vbmVcXEBtb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tcmlnaHRcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1yaWdodDogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1yaWdodC10aW55XFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1yaWdodC1zbWFsbFxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXJpZ2h0LWxhcmdlXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQycHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tcmlnaHQtaHVnZVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXJpZ2h0LW5vbmVcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1ib3R0b21cXEBtb2JpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tYm90dG9tLXRpbnlcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1ib3R0b20tc21hbGxcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDExcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tYm90dG9tLWxhcmdlXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWJvdHRvbS1odWdlXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWJvdHRvbS1ub25lXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWxlZnRcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWxlZnQtdGlueVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sZWZ0LXNtYWxsXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tbGVmdDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sZWZ0LWxhcmdlXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tbGVmdDogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sZWZ0LWh1Z2VcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1sZWZ0OiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWxlZnQtbm9uZVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmdcXEB0YWJsZXQge1xuICAgIHBhZGRpbmc6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXRpbnlcXEB0YWJsZXQge1xuICAgIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctc21hbGxcXEB0YWJsZXQge1xuICAgIHBhZGRpbmc6IDExcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxhcmdlXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nOiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1odWdlXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nOiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1ub25lXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy10b3BcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy10b3AtdGlueVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctdG9wLXNtYWxsXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctdG9wLWxhcmdlXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctdG9wLWh1Z2VcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy10b3Atbm9uZVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXJpZ2h0XFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1yaWdodC10aW55XFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXJpZ2h0LXNtYWxsXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1yaWdodC1sYXJnZVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1yaWdodDogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctcmlnaHQtaHVnZVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1yaWdodDogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctcmlnaHQtbm9uZVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctYm90dG9tXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctYm90dG9tLXRpbnlcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWJvdHRvbS1zbWFsbFxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1ib3R0b206IDExcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWJvdHRvbS1sYXJnZVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQycHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWJvdHRvbS1odWdlXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctYm90dG9tLW5vbmVcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1sZWZ0XFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxlZnQtdGlueVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxlZnQtc21hbGxcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctbGVmdDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctbGVmdC1sYXJnZVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1sZWZ0LWh1Z2VcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctbGVmdDogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctbGVmdC1ub25lXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW5cXEB0YWJsZXQge1xuICAgIG1hcmdpbjogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi10aW55XFxAdGFibGV0IHtcbiAgICBtYXJnaW46IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1zbWFsbFxcQHRhYmxldCB7XG4gICAgbWFyZ2luOiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWxhcmdlXFxAdGFibGV0IHtcbiAgICBtYXJnaW46IDQycHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4taHVnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luOiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLW5vbmVcXEB0YWJsZXQge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi10b3BcXEB0YWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tdG9wLXRpbnlcXEB0YWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi10b3Atc21hbGxcXEB0YWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDExcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tdG9wLWxhcmdlXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXRvcC1odWdlXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXRvcC1ub25lXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXJpZ2h0XFxAdGFibGV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tcmlnaHQtdGlueVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tcmlnaHQtc21hbGxcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1yaWdodDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1yaWdodC1sYXJnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXJpZ2h0LWh1Z2VcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1yaWdodDogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1yaWdodC1ub25lXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tYm90dG9tXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWJvdHRvbS10aW55XFxAdGFibGV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tYm90dG9tLXNtYWxsXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWJvdHRvbS1sYXJnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1ib3R0b20taHVnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1ib3R0b20tbm9uZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sZWZ0XFxAdGFibGV0IHtcbiAgICBtYXJnaW4tbGVmdDogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sZWZ0LXRpbnlcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tbGVmdC1zbWFsbFxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDExcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tbGVmdC1sYXJnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQycHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tbGVmdC1odWdlXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tbGVmdDogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sZWZ0LW5vbmVcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZzogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctdGlueVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctc21hbGxcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1sYXJnZVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmc6IDQycHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWh1Z2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1ub25lXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctdG9wXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy10b3A6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXRvcC10aW55XFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctdG9wLXNtYWxsXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy10b3A6IDExcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXRvcC1sYXJnZVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctdG9wOiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy10b3AtaHVnZVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctdG9wOiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy10b3Atbm9uZVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1yaWdodFxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctcmlnaHQ6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXJpZ2h0LXRpbnlcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXJpZ2h0LXNtYWxsXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1yaWdodDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctcmlnaHQtbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1yaWdodC1odWdlXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1yaWdodDogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctcmlnaHQtbm9uZVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWJvdHRvbVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctYm90dG9tOiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1ib3R0b20tdGlueVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWJvdHRvbS1zbWFsbFxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctYm90dG9tOiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1ib3R0b20tbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctYm90dG9tLWh1Z2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctYm90dG9tLW5vbmVcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctbGVmdFxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctbGVmdDogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctbGVmdC10aW55XFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxlZnQtc21hbGxcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxlZnQtbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxlZnQtaHVnZVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctbGVmdDogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctbGVmdC1ub25lXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luOiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXRpbnlcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW46IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1zbWFsbFxcQGRlc2t0b3Age1xuICAgIG1hcmdpbjogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sYXJnZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbjogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1odWdlXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luOiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLW5vbmVcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tdG9wXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLXRvcDogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi10b3AtdGlueVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi10b3Atc21hbGxcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXRvcC1sYXJnZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi10b3A6IDQycHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tdG9wLWh1Z2VcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA4NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXRvcC1ub25lXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1yaWdodFxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1yaWdodDogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1yaWdodC10aW55XFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tcmlnaHQtc21hbGxcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDExcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tcmlnaHQtbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQycHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tcmlnaHQtaHVnZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1yaWdodDogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1yaWdodC1ub25lXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWJvdHRvbVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tYm90dG9tLXRpbnlcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tYm90dG9tLXNtYWxsXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1ib3R0b20tbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWJvdHRvbS1odWdlXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1ib3R0b20tbm9uZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tbGVmdFxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWxlZnQtdGlueVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tbGVmdC1zbWFsbFxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWxlZnQtbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sZWZ0LWh1Z2VcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sZWZ0LW5vbmVcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZ1xcQHdpZGUge1xuICAgIHBhZGRpbmc6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXRpbnlcXEB3aWRlIHtcbiAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXNtYWxsXFxAd2lkZSB7XG4gICAgcGFkZGluZzogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctbGFyZ2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nOiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1odWdlXFxAd2lkZSB7XG4gICAgcGFkZGluZzogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctbm9uZVxcQHdpZGUge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXRvcFxcQHdpZGUge1xuICAgIHBhZGRpbmctdG9wOiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy10b3AtdGlueVxcQHdpZGUge1xuICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXRvcC1zbWFsbFxcQHdpZGUge1xuICAgIHBhZGRpbmctdG9wOiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy10b3AtbGFyZ2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXRvcDogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctdG9wLWh1Z2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXRvcDogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctdG9wLW5vbmVcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctcmlnaHRcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1yaWdodC10aW55XFxAd2lkZSB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1yaWdodC1zbWFsbFxcQHdpZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDExcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXJpZ2h0LWxhcmdlXFxAd2lkZSB7XG4gICAgcGFkZGluZy1yaWdodDogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctcmlnaHQtaHVnZVxcQHdpZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDg0cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLXJpZ2h0LW5vbmVcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1ib3R0b21cXEB3aWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctYm90dG9tLXRpbnlcXEB3aWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1ib3R0b20tc21hbGxcXEB3aWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LXBhZGRpbmctYm90dG9tLWxhcmdlXFxAd2lkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQycHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWJvdHRvbS1odWdlXFxAd2lkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDg0cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWJvdHRvbS1ub25lXFxAd2lkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxlZnRcXEB3aWRlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxlZnQtdGlueVxcQHdpZGUge1xuICAgIHBhZGRpbmctbGVmdDogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1sZWZ0LXNtYWxsXFxAd2lkZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1sZWZ0LWxhcmdlXFxAd2lkZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtcGFkZGluZy1sZWZ0LWh1Z2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHggIWltcG9ydGFudDsgfVxuICAudS1wYWRkaW5nLWxlZnQtbm9uZVxcQHdpZGUge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpblxcQHdpZGUge1xuICAgIG1hcmdpbjogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi10aW55XFxAd2lkZSB7XG4gICAgbWFyZ2luOiA1cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tc21hbGxcXEB3aWRlIHtcbiAgICBtYXJnaW46IDExcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tbGFyZ2VcXEB3aWRlIHtcbiAgICBtYXJnaW46IDQycHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4taHVnZVxcQHdpZGUge1xuICAgIG1hcmdpbjogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1ub25lXFxAd2lkZSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXRvcFxcQHdpZGUge1xuICAgIG1hcmdpbi10b3A6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tdG9wLXRpbnlcXEB3aWRlIHtcbiAgICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tdG9wLXNtYWxsXFxAd2lkZSB7XG4gICAgbWFyZ2luLXRvcDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi10b3AtbGFyZ2VcXEB3aWRlIHtcbiAgICBtYXJnaW4tdG9wOiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXRvcC1odWdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLXRvcDogODRweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi10b3Atbm9uZVxcQHdpZGUge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tcmlnaHRcXEB3aWRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIxcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tcmlnaHQtdGlueVxcQHdpZGUge1xuICAgIG1hcmdpbi1yaWdodDogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXJpZ2h0LXNtYWxsXFxAd2lkZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXJpZ2h0LWxhcmdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLXJpZ2h0LWh1Z2VcXEB3aWRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDg0cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tcmlnaHQtbm9uZVxcQHdpZGUge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1ib3R0b21cXEB3aWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWJvdHRvbS10aW55XFxAd2lkZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWJvdHRvbS1zbWFsbFxcQHdpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDExcHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tYm90dG9tLWxhcmdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDJweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1ib3R0b20taHVnZVxcQHdpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDg0cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tYm90dG9tLW5vbmVcXEB3aWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWxlZnRcXEB3aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMjFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sZWZ0LXRpbnlcXEB3aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnUtbWFyZ2luLWxlZnQtc21hbGxcXEB3aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC51LW1hcmdpbi1sZWZ0LWxhcmdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQycHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tbGVmdC1odWdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDg0cHggIWltcG9ydGFudDsgfVxuICAudS1tYXJnaW4tbGVmdC1ub25lXFxAd2lkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjUFJJTlRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFZlcnkgY3J1ZGUsIHJlc2V0LWxpa2Ugc3R5bGVzIHRha2VuIGZyb20gdGhlIEhUTUw1IEJvaWxlcnBsYXRlOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi81LjMuMC9kaXN0L2RvYy9jc3MubWQjcHJpbnQtc3R5bGVzXG4gKiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9kaXN0L2Nzcy9tYWluLmNzcyNMMjA1LUwyODJcbiAqL1xuQG1lZGlhIHByaW50IHtcbiAgLyoqXG4gICAqIDEuIEJsYWNrIHByaW50cyBmYXN0ZXI6IGh0dHA6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1M1xuICAgKi9cbiAgKixcbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIsXG4gICo6Zmlyc3QtbGV0dGVyLFxuICAqOmZpcnN0LWxpbmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAvKiBbMV0gKi9cbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgLyoqXG4gICAqIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YFxuICAgKiBwc2V1ZG8gcHJvdG9jb2wuXG4gICAqL1xuICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgLyoqXG4gICAqIFByaW50aW5nIFRhYmxlczogaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAqL1xuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjSElERVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICovXG4udS1oaWRkZW4tdmlzdWFsbHkge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLlxuICovXG4udS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNSRVNQT05TSVZFLUhJREVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1pbi13aWR0aDogMjMuNDM3NWVtKSB7XG4gIC51LWhpZGRlblxcQG1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDIzLjQyNzVlbSkge1xuICAudS1oaWRkZW5cXEB1bnRpbC1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LWhpZGRlblxcQHRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ2LjI0ZW0pIHtcbiAgLnUtaGlkZGVuXFxAdW50aWwtdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1oaWRkZW5cXEBkZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjEuMjRlbSkge1xuICAudS1oaWRkZW5cXEB1bnRpbC1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1oaWRkZW5cXEB3aWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogODEuMjRlbSkge1xuICAudS1oaWRkZW5cXEB1bnRpbC13aWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1RFWFRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRleHQgaGVscGVycy5cbiAqL1xuLnUtdGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi51LXRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLnUtdGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLnUtdGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAyMy40Mzc1ZW0pIHtcbiAgLnUtdGV4dC1sZWZ0XFxAbW9iaWxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnUtdGV4dC1jZW50ZXJcXEBtb2JpbGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtcmlnaHRcXEBtb2JpbGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnUtdGV4dC1qdXN0aWZ5XFxAbW9iaWxlIHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjMuNDI3NWVtKSB7XG4gIC51LXRleHQtbGVmdFxcQHVudGlsLW1vYmlsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtY2VudGVyXFxAdW50aWwtbW9iaWxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAudS10ZXh0LXJpZ2h0XFxAdW50aWwtbW9iaWxlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtanVzdGlmeVxcQHVudGlsLW1vYmlsZSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtdGV4dC1sZWZ0XFxAdGFibGV0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnUtdGV4dC1jZW50ZXJcXEB0YWJsZXQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtcmlnaHRcXEB0YWJsZXQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnUtdGV4dC1qdXN0aWZ5XFxAdGFibGV0IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDYuMjRlbSkge1xuICAudS10ZXh0LWxlZnRcXEB1bnRpbC10YWJsZXQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudS10ZXh0LWNlbnRlclxcQHVudGlsLXRhYmxldCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnUtdGV4dC1yaWdodFxcQHVudGlsLXRhYmxldCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudS10ZXh0LWp1c3RpZnlcXEB1bnRpbC10YWJsZXQge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LXRleHQtbGVmdFxcQGRlc2t0b3Age1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudS10ZXh0LWNlbnRlclxcQGRlc2t0b3Age1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtcmlnaHRcXEBkZXNrdG9wIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtanVzdGlmeVxcQGRlc2t0b3Age1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MS4yNGVtKSB7XG4gIC51LXRleHQtbGVmdFxcQHVudGlsLWRlc2t0b3Age1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudS10ZXh0LWNlbnRlclxcQHVudGlsLWRlc2t0b3Age1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtcmlnaHRcXEB1bnRpbC1kZXNrdG9wIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtanVzdGlmeVxcQHVudGlsLWRlc2t0b3Age1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXRleHQtbGVmdFxcQHdpZGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudS10ZXh0LWNlbnRlclxcQHdpZGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtcmlnaHRcXEB3aWRlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtanVzdGlmeVxcQHdpZGUge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MS4yNGVtKSB7XG4gIC51LXRleHQtbGVmdFxcQHVudGlsLXdpZGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudS10ZXh0LWNlbnRlclxcQHVudGlsLXdpZGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtcmlnaHRcXEB1bnRpbC13aWRlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC51LXRleHQtanVzdGlmeVxcQHVudGlsLXdpZGUge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjSUNPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoaXMgaXMgYSBicmllZiBkZXNjcmlwdGlvblxuICovXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmljb24tLWxhcmdlIHtcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuM2VtOyB9XG5cbi5pY29uLS1odWdlIHtcbiAgd2lkdGg6IDIuNWVtO1xuICBoZWlnaHQ6IDIuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuM2V4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIFNpbmdsZS1jb2xvcmVkIGljb25zIGNhbiBiZSBtb2RpZmllZCBsaWtlIHNvOlxuIC5pY29uLW5hbWUge1xuICAgZm9udC1zaXplOiAzMnB4O1xuICAgY29sb3I6IHJlZDtcbiB9XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaWNvbi1jaGVjayB7XG4gIHZlcnRpY2FsLWFsaWduOiAtMC4yZXg7IH1cblxuLnUtbGluay10aW55IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXNpemU6IDAuNzE0MjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE7XG4gIGNvbG9yOiAjMDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC42OXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogMTAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnUtbGluay1kaXNjcmVldCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElOVUlUQ1NTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIGludWl0Y3NzLCBieSBAY3Nzd2l6YXJkcnlcbiAqXG4gKiBnaXRodWIuY29tL2ludWl0Y3NzIHwgaW51aXRjc3MuY29tXG4gKi9cblxuLyoqXG4gKiBUaGlzIGlzIGFuIGV4YW1wbGUgaW51aXRjc3MgbWFuaWZlc3QgZmlsZS4gRE8gTk9UIE1PRElGWSBUSElTIEZJTEUgRElSRUNUTFkuXG4gKiBJbnN0ZWFkLCBjb3B5IGFuZCBwYXN0ZSBpdCBpbnRvIHlvdXIgb3duIENTUyBkaXJlY3RvcnkgYW5kIG1ha2UgYWRkaXRpb25zLFxuICogZXh0ZW5zaW9ucywgYW5kIG1vZGlmaWNhdGlvbnMgdGhlcmUuXG4gKi9cblxuLyoqXG4gKiBDT05URU5UU1xuICpcbiAqIFNFVFRJTkdTXG4gKiBDb25maWcuLi4uLi4uLi4uLi4uLi5Qcm9qZWN0LWxldmVsIGNvbmZpZ3VyYXRpb24gYW5kIGZlYXR1cmUgc3dpdGNoZXMuXG4gKiBDb3JlLi4uLi4uLi4uLi4uLi4uLi5pbnVpdGNzc+KAmSBjb3JlIGFuZCBzZXR1cCBzZXR0aW5ncy5cbiAqIEdsb2JhbC4uLi4uLi4uLi4uLi4uLlByb2plY3Qtd2lkZSB2YXJpYWJsZXMgYW5kIHNldHRpbmdzLlxuICpcbiAqIFRPT0xTXG4gKiBSZW0uLi4uLi4uLi4uLi4uLi4uLi5Ub29scyBmb3IgY29udmVydGluZyBwaXhlbCBpbnB1dHMgaW50byB0aGVpciByZW1cbiAqICAgICAgICAgICAgICAgICAgICAgIGVxdWl2YWxlbnRzLlxuICogRm9udC1zaXplLi4uLi4uLi4uLi4uQSBtaXhpbiB3aGljaCBndWFyYW50ZWVzIGJhc2VsaW5lLWZyaWVuZGx5IGxpbmUtaGVpZ2h0cy5cbiAqIFNjYWxpbmctZm9udC1zaXplLi4uLkdlbmVyYXRlIGEgc2NhbGluZyBmb250LXNpemUgYW5kIGJhc2VsaW5lLWNvbXBhdGlibGVcbiAqICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0IGJhc2VkIG9uIHZ3IHVuaXRzLlxuICogQ2xlYXJmaXguLi4uLi4uLi4uLi4uTWljcm8gY2xlYXJmaXggbWl4aW4uXG4gKiBIaWRkZW4uLi4uLi4uLi4uLi4uLi5NaXhpbiBmb3IgaGlkaW5nIGVsZW1lbnRzLlxuICogU2FzcyBNUS4uLi4uLi4uLi4uLi4uaW51aXRjc3PigJkgZGVmYXVsdCBtZWRpYSBxdWVyeSBtYW5hZ2VyLlxuICogSG9jdXMuLi4uLi4uLi4uLi4uLi4uR2VuZXJhdGUgYDpob3ZlcmAgYW5kIGA6Zm9jdXNgIHN0eWxlcyBpbiBvbmUgZ28uXG4gKiBIeXBoZW5hdGUuLi4uLi4uLi4uLi5NaXhpbiB0byBxdWlja2x5IGFwcGx5IGh5cGhlbmF0aW9uLlxuICogUGxhY2Vob2xkZXIuLi4uLi4uLi4uTWl4aW4gdG8gcXVpY2tpbHkgc3R5bGUgcGxhY2Vob2xkZXJzLlxuICogU2Nyb2xsYmFycy4uLi4uLi4uLi4uTWl4aW4gdG8gY3VzdG9taXplIHNjcm9sbGJhcnMuXG4gKiBBbGlhc2VzLi4uLi4uLi4uLi4uLi5SZWFzc2luZyB2YXJpYWJsZXMgYW5kIG1peGlucyB0byBzaG9ydGVyIG9uZXMuXG4gKlxuICogR0VORVJJQ1xuICogQm94LXNpemluZy4uLi4uLi4uLi4uQmV0dGVyIGRlZmF1bHQgYGJveC1zaXppbmdgLlxuICogTm9ybWFsaXplLmNzcy4uLi4uLi4uQSBsZXZlbCBwbGF5aW5nIGZpZWxkIHVzaW5nIEBuZWNvbGFz4oCZIE5vcm1hbGl6ZS5jc3MuXG4gKiBSZXNldC4uLi4uLi4uLi4uLi4uLi5BIHRpbnkgcmVzZXQgdG8gY29tcGxlbWVudCBOb3JtYWxpemUuY3NzLlxuICogU2hhcmVkLi4uLi4uLi4uLi4uLi4uU2Vuc2libHkgYW5kIHRlcnNlbHkgc2hhcmUgc29tZSBnbG9iYWwgY29tbW9uYWxpdGllc1xuICogICAgICAgICAgICAgICAgICAgICAgKHBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiBtYW5hZ2luZyB2ZXJ0aWNhbCByaHl0aG0pLlxuICpcbiAqIEVMRU1FTlRTXG4gKiBQYWdlLi4uLi4uLi4uLi4uLi4uLi5TZXQgdXAgb3VyIGRvY3VtZW504oCZcyBkZWZhdWx0IGBmb250LXNpemVgIGFuZFxuICogICAgICAgICAgICAgICAgICAgICAgYGxpbmUtaGVpZ2h0YC5cbiAqIEhlYWRpbmdzLi4uLi4uLi4uLi4uLlZlcnkgbWluaW1hbCAoaS5lLiBvbmx5IGZvbnQtc2l6ZSBpbmZvcm1hdGlvbikgZm9yXG4gKiAgICAgICAgICAgICAgICAgICAgICBoZWFkaW5ncyAxIHRocm91Z2ggNi5cbiAqIEltYWdlcy4uLi4uLi4uLi4uLi4uLkJhc2UgaW1hZ2Ugc3R5bGVzLlxuICogVGFibGVzLi4uLi4uLi4uLi4uLi4uU2ltcGxlIHRhYmxlIHN0eWxlcy5cbiAqIEJyZWFrcG9pbnRzLi4uLi4uLi4uLkNTUyBicmVha3BvaW50cyBmb3IgdXNlIGluIEpTLlxuICpcbiAqIE9CSkVDVFNcbiAqIFdyYXBwZXIuLi4uLi4uLi4uLi4uLlBhZ2UgY29uc3RyYWludCBvYmplY3QuXG4gKiBMYXlvdXQuLi4uLi4uLi4uLi4uLi5HZW5lcmljIGxheW91dCBtb2R1bGUuXG4gKiBNZWRpYS4uLi4uLi4uLi4uLi4uLi5JbWFnZS0gYW5kIHRleHQtbGlrZSBjb250ZW50IHNpZGUgYnkgc2lkZS4gVGhlXG4gKiAgICAgICAgICAgICAgICAgICAgICBwb3N0ZXItY2hpbGQgb2YgT09DU1MuXG4gKiBGbGFnLi4uLi4uLi4uLi4uLi4uLi5UYWJsZS1sYXlvdXQtYmFzZWQgYWR2YW5jZW1lbnQgb24gdGhlIE1lZGlhIG9iamVjdC5cbiAqIExpc3QtYmFyZS4uLi4uLi4uLi4uLkxpc3RzIHdpdGggbm8gYnVsbGV0cyBvciBpbmRlbnRzLlxuICogTGlzdC1pbmxpbmUuLi4uLi4uLi4uQSBsaXN0IHdob3NlIGl0ZW1zIGFsbCBzaXRlIGluIGEgbGluZS5cbiAqIEJveC4uLi4uLi4uLi4uLi4uLi4uLlNpbXBsZSBib3hpbmcgYWJzdHJhY3Rpb24uXG4gKiBCbG9jay4uLi4uLi4uLi4uLi4uLi5JbWFnZS1vbi10b3Atb2YtdGV4dCBvYmplY3QuXG4gKiBSYXRpby4uLi4uLi4uLi4uLi4uLi5BIGNvbnRhaW5lciBmb3IgbWFpbnRhaW5pbmcgYXNwZWN0IHJhdGlvIG9mIGNvbnRlbnQuXG4gKiBDcm9wLi4uLi4uLi4uLi4uLi4uLi5Qcm92aWRlIGEgY3JvcHBpbmcgY29udGV4dCBmb3IgbWVkaWEgKGltYWdlcywgZXRjLikuXG4gKiBUYWJsZXMuLi4uLi4uLi4uLi4uLi5DbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgYHRhYmxlYHMuXG4gKiBQYWNrLi4uLi4uLi4uLi4uLi4uLi5QYWNrIGl0ZW1zIGludG8gYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UuXG4gKiBUYWJzLi4uLi4uLi4uLi4uLi4uLi5TaW1wbGUgdGFicyBvYmplY3QuXG4gKlxuICogQ09NUE9ORU5UU1xuICogQnV0dG9ucy4uLi4uLi4uLi4uLi4uQW4gZXhhbXBsZSBidXR0b24gY29tcG9uZW50LCBhbmQgaG93IGl0IGZpdHMgaW50byB0aGVcbiAqICAgICAgICAgICAgICAgICAgICAgIGludWl0Y3NzIGZyYW1ld29yay5cbiAqIE5hdiBtYWluLi4uLi4uLi4uLi4uLk1haW4gbmF2aWdhdGlvbiBzdHlsZXNcbiAqIFBhZ2UtaGVhZC4uLi4uLi4uLi4uLk1haW4gcGFnZSBoZWFkIHN0eWxpbmcuXG4gKiBGb3JtLi4uLi4uLi4uLi4uLi4uLi5CYXNpYyBmb3JtIGNvbXBvbmVudC5cbiAqXG4gKiBVVElMSVRJRVNcbiAqIENsZWFyZml4Li4uLi4uLi4uLi4uLkJpbmQgb3VyIGNsZWFyZml4IG9udG8gYSB1dGlsaXR5IGNsYXNzLlxuICogV2lkdGhzLi4uLi4uLi4uLi4uLi4uU2ltcGxlIHdpZHRoIGhlbHBlciBjbGFzc2VzLlxuICogSGVhZGluZ3MuLi4uLi4uLi4uLi4uUmVhc3NpZ25pbmcgb3VyIGhlYWRpbmcgc3R5bGVzIHRvIGhlbHBlciBjbGFzc2VzLlxuICogU3BhY2luZy4uLi4uLi4uLi4uLi4uTnVkZ2UgYml0cyBvZiB0aGUgRE9NIGFyb3VuZCB3aXRoIHRoZXNlIHNwYWNpbmdcbiAqICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMuXG4gKiBQcmludC4uLi4uLi4uLi4uLi4uLi5SZXNldC1saWtlIHN0eWxlcyB0YWtlbiBmcm9tIHRoZSBIVE1MNSBCb2lsZXJwbGF0ZS5cbiAqIEhpZGUuLi4uLi4uLi4uLi4uLi4uLkhlbHBlciBjbGFzc2VzIHRvIGhpZGUgY29udGVudC5cbiAqIFJlc3BvbnNpdmUgSGlkZS4uLi4uLlJlc3BvbnNpdmUgaGlkZSBoZWxwZXJzLlxuICogVGV4dCBBbGlnbi4uLi4uLi4uLi4uVGV4dCBhbGlnbm1lbnQgaGVscGVycy5cbiAqIEljb25zLi4uLi4uLi4uLi4uLi4uLlN0eWxpbmcgZm9yIFNWRyBTcHJpdGVzLlxuICovXG5cbi8vIFNFVFRJTkdTXG5AaW1wb3J0IFwic2V0dGluZ3Mvc2V0dGluZ3MuY29uZmlnXCI7XG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy9zZXR0aW5ncy9zZXR0aW5ncy5jb3JlXCI7XG5AaW1wb3J0IFwic2V0dGluZ3Mvc2V0dGluZ3MuZ2xvYmFsXCI7XG5cblxuXG5cblxuLy8gVE9PTFNcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL3Rvb2xzL3Rvb2xzLnJlbVwiO1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3MvdG9vbHMvdG9vbHMuZm9udC1zaXplXCI7XG5AaW1wb3J0IFwidG9vbHMvdG9vbHMuc2NhbGluZy1mb250LXNpemVcIjtcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL3Rvb2xzL3Rvb2xzLmNsZWFyZml4XCI7XG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy90b29scy90b29scy5oaWRkZW5cIjtcblxuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgMzc1cHgsXG4gICAgdGFibGV0OiAgNzQwcHgsXG4gICAgZGVza3RvcDogOTgwcHgsXG4gICAgd2lkZTogICAgMTMwMHB4XG4pO1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2Fzcy1tcS9tcVwiO1xuQGltcG9ydCBcInRvb2xzL3Rvb2xzLmhvY3VzXCI7XG5AaW1wb3J0IFwidG9vbHMvdG9vbHMuaHlwaGVuYXRlXCI7XG5AaW1wb3J0IFwidG9vbHMvdG9vbHMucGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJ0b29scy90b29scy5zY3JvbGxiYXJzXCI7XG5AaW1wb3J0IFwidG9vbHMvdG9vbHMuYWxpYXNlc1wiO1xuQGltcG9ydCBcInRvb2xzL3Rvb2xzLmxpc3QtYmFyZVwiO1xuXG5cblxuXG5cbi8vIEdFTkVSSUNcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL2dlbmVyaWMvZ2VuZXJpYy5ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy9nZW5lcmljL2dlbmVyaWMubm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy9nZW5lcmljL2dlbmVyaWMucmVzZXRcIjtcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL2dlbmVyaWMvZ2VuZXJpYy5zaGFyZWRcIjtcblxuXG5cblxuXG4vLyBFTEVNRU5UU1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3MvZWxlbWVudHMvZWxlbWVudHMucGFnZVwiO1xuQGltcG9ydCBcImVsZW1lbnRzL2VsZW1lbnRzLnBhZ2VcIjtcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL2VsZW1lbnRzL2VsZW1lbnRzLmhlYWRpbmdzXCI7XG5AaW1wb3J0IFwiZWxlbWVudHMvZWxlbWVudHMuaGVhZGluZ3NcIjtcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL2VsZW1lbnRzL2VsZW1lbnRzLmltYWdlc1wiO1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3MvZWxlbWVudHMvZWxlbWVudHMudGFibGVzXCI7XG5AaW1wb3J0IFwiZWxlbWVudHMvZWxlbWVudHMuYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJlbGVtZW50cy9lbGVtZW50cy5saW5rc1wiO1xuQGltcG9ydCBcImVsZW1lbnRzL2VsZW1lbnRzLmhyXCI7XG5cblxuXG5cblxuLy8gT0JKRUNUU1xuLy9cbi8vIFVuY29tbWVudCBhbmQgYWRkIHRvIHRoaXMgc2VjdGlvbiBhcyBuZWNlc3NhcnkuXG4kaW51aXQtd3JhcHBlci13aWR0aDogMTEyMnB4O1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9vYmplY3RzLndyYXBwZXJcIjtcbkBpbXBvcnQgXCJvYmplY3RzL29iamVjdHMud3JhcHBlclwiO1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9vYmplY3RzLmxheW91dFwiO1xuLm8tbGF5b3V0LS1wdWxsZWQge1xuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwN3B4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwJTtcbiAgICB9XG59XG5cbi5vLWxheW91dC0tcHVzaGVkIHtcbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTA3cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEwJTtcbiAgICB9XG59XG5cbi5vLWxheW91dC0tZ2FsbGVyeSB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kdW5pdC1zbWFsbDtcblxuICAgICAgICA+IC5vLWxheW91dF9faXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR1bml0LXNtYWxsO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHVuaXQtc21hbGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHVuaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vLWxheW91dC0taW5zdGFncmFtIHtcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSR1bml0LXNtYWxsO1xuXG4gICAgICAgID4gLm8tbGF5b3V0X19pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHVuaXQtc21hbGw7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdW5pdC1zbWFsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdW5pdDtcbiAgICB9XG59XG5cbi5vLWxheW91dC0tZGVzaWduZXJzIHtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHVuaXQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdW5pdDtcbiAgICB9XG5cbiAgICA+IC5vLWxheW91dF9faXRlbSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjY2JjYmNiO1xuICAgIH1cbn1cblxuLmMtcGFnZS1mb290X19sYXlvdXQge1xuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cbi5jLXBhZ2UtZm9vdF9faXRlbS0tZ3JvdyB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cbn1cbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL29iamVjdHMvb2JqZWN0cy5tZWRpYVwiO1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9vYmplY3RzLmZsYWdcIjtcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL29iamVjdHMvb2JqZWN0cy5saXN0LWJhcmVcIjtcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL29iamVjdHMvb2JqZWN0cy5saXN0LWlubGluZVwiO1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9vYmplY3RzLmJveFwiO1xuLm8tYm94LS1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xufVxuLm8tYm94LS1sYXJnZVxcQHRhYmxldCB7XG4gICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6ICR1bml0LWxhcmdlO1xuICAgIH1cbn1cblxuLm8tYm94LS1hYm91dCB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLm8tYm94LS1nYWxsZXJ5IHtcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICBtYXJnaW46IC0kdW5pdCAkdW5pdC1zbWFsbCAwO1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiAkdW5pdC1sYXJnZTtcbiAgICB9XG59XG5cbi5vLWJveC0tY29udGFjdCB7XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHVuaXQtc21hbGw7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6ICR1bml0LWxhcmdlO1xuICAgIH1cbn1cbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL29iamVjdHMvb2JqZWN0cy5ibG9ja1wiO1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9vYmplY3RzLnJhdGlvXCI7XG4kaW51aXQtY3JvcHM6IChcbiAgKDE6MSksXG4gICgyOjEpLFxuICAoNDozKSxcbiAgKDE2OjkpLFxuKTtcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL29iamVjdHMvb2JqZWN0cy5jcm9wXCI7XG4uby1jcm9wX19jb250ZW50LS16b29tIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTsgfVxuXG4uby1jcm9wLS1kZXNpZ25lcnMge1xuICAgIC5vLWNyb3BfX2NvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5cbkBlYWNoICRpbnVpdC1icC1uYW1lLCAkaW51aXQtYnAtdmFsdWUgaW4gJG1xLWJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGludWl0LWJwLW5hbWUpIHtcbiAgICAgICAgQGVhY2ggJGNyb3AgaW4gJGludWl0LWNyb3BzIHtcblxuICAgICAgICAgIEBlYWNoICRhbnRlY2VkZW50LCAkY29uc2VxdWVudCBpbiAkY3JvcCB7XG5cbiAgICAgICAgICAgIEBpZiAodHlwZS1vZigkYW50ZWNlZGVudCkgIT0gbnVtYmVyKSB7XG4gICAgICAgICAgICAgIEBlcnJvciBcImAjeyRhbnRlY2VkZW50fWAgbmVlZHMgdG8gYmUgYSBudW1iZXIuXCJcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICh0eXBlLW9mKCRjb25zZXF1ZW50KSAhPSBudW1iZXIpIHtcbiAgICAgICAgICAgICAgQGVycm9yIFwiYCN7JGNvbnNlcXVlbnR9YCBuZWVkcyB0byBiZSBhIG51bWJlci5cIlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuby1jcm9wLS0jeyRhbnRlY2VkZW50fVxcOiN7JGNvbnNlcXVlbnR9XFxAI3skaW51aXQtYnAtbmFtZX0ge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogKCRjb25zZXF1ZW50LyRhbnRlY2VkZW50KSAqIDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9vYmplY3RzLnRhYmxlc1wiO1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvaW51aXRjc3Mvb2JqZWN0cy9vYmplY3RzLnBhY2tcIjtcbkBpbXBvcnQgXCJvYmplY3RzL29iamVjdHMudGFic1wiO1xuQGltcG9ydCBcIm9iamVjdHMvb2JqZWN0cy5iZWx0XCI7XG5cblxuXG5cblxuLy8gQ09NUE9ORU5UU1xuLy9cbi8vIEJ1aWxkIGFuZCBpbmNsdWRlIHlvdXIgcHJvamVjdOKAmXMgVUkgQ29tcG9tZW50cyBoZXJlLlxuQGltcG9ydCBcImNvbXBvbmVudHMvY29tcG9uZW50cy5idXR0b25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb21wb25lbnRzLm5hdi1tYWluXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb21wb25lbnRzLm5hdi1mb290XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb21wb25lbnRzLm5hdi1zaWRlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb21wb25lbnRzLnBhZ2UtaGVhZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29tcG9uZW50cy5wYWdlLW1haW5cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbXBvbmVudHMucGFnZS1mb290XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb21wb25lbnRzLmZvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbXBvbmVudHMuaW5zdGFncmFtXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb21wb25lbnRzLnNsaWRlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb21wb25lbnRzLnByb2R1Y3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbXBvbmVudHMuc2Itc2VhcmNoXCI7XG5cbi5jLXNlYXJjaC1mb290IHtcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NCQ0JDQjtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYy1zZWFyY2gtZm9vdF9faW5wdXQge1xuICAgIGhlaWdodDogMzZweDtcbiAgICBwYWRkaW5nOiAkdW5pdC1zbWFsbDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEycHgsIDEuMik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG4uYy1zZWFyY2gtZm9vdF9faW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogIzc4Nzg3ODs7XG59XG5cbi5jLXNlYXJjaC1mb290X19pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICM3ODc4Nzg7O1xufVxuXG4uYy1zZWFyY2gtZm9vdF9faW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogIzc4Nzg3ODs7XG59XG5cbi5jLXNlYXJjaC1mb290X19pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogIzc4Nzg3ODs7XG59XG5cbi5jLXNlYXJjaC1mb290X19idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzOXB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIHBhZGRpbmc6ICR1bml0LXNtYWxsO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG5cblxuXG5cbi8vIFNDT1BFU1xuQGltcG9ydCBcInNjb3Blcy9zY29wZXMudW5zbGlkZXJcIjtcbkBpbXBvcnQgXCJzY29wZXMvc2NvcGVzLm1hZ25pZmljLXBvcHVwXCI7XG4ucy1ydGUge1xuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjI0JTIyJTIwaGVpZ2h0JTNEJTIyOSUyMiUyMHZpZXdCb3glM0QlMjI3NjIlMjAxMTg4JTIwNCUyMDQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTc2Mi41MDclMjAxMTg4Ljc5NGMuMjU4LS4yODcuNjMzLS40MyUyMDEuMTI1LS40My40NzglMjAwJTIwLjg1LjE0JTIwMS4xMTQuNDIzLjI2NC4yODMuMzk3LjcwNC4zOTclMjAxLjI2NSUyMDAlMjAuNTQyLS4xMzEuOTYtLjM5MyUyMDEuMjU0LS4yNjMuMjk0LS42MzUuNDQxLTEuMTE4LjQ0MS0uNDg4JTIwMC0uODYxLS4xNS0xLjEyMS0uNDQ4LS4yNi0uMjk4LS4zOS0uNzE0LS4zOS0xLjI0NyUyMDAtLjU1Mi4xMjktLjk3LjM4Ni0xLjI1OHolMjIlMjBmaWxsJTNEJTIyJTIzOTY5Njk2JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRScpO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHVuaXQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdW5pdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuXG4vLyBVVElMSVRJRVNcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL3V0aWxpdGllcy91dGlsaXRpZXMuY2xlYXJmaXhcIjtcblxuJGludWl0LWZyYWN0aW9uczogMSAyIDMgNCA1IDYgMTEgMTIgMTc7XG4kaW51aXQtb2Zmc2V0czogdHJ1ZTtcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ludWl0Y3NzL3V0aWxpdGllcy91dGlsaXRpZXMud2lkdGhzXCI7XG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy91dGlsaXRpZXMvdXRpbGl0aWVzLmhlYWRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy91dGlsaXRpZXMvdXRpbGl0aWVzLnNwYWNpbmdcIjtcblxuQGVhY2ggJGludWl0LWJwLW5hbWUsICRpbnVpdC1icC12YWx1ZSBpbiAkbXEtYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiAkaW51aXQtYnAtbmFtZSkge1xuICAgICAgICBAZWFjaCAkcHJvcGVydHksICRwcm9wZXJ0eS1uYW1lc3BhY2UgaW4gJGludWl0LXNwYWNpbmctcHJvcGVydGllcyB7XG4gICAgICAgICAgICBAZWFjaCAkZGlyZWN0aW9uLCAkZGlyZWN0aW9uLW5hbWVzcGFjZSBpbiAkaW51aXQtc3BhY2luZy1kaXJlY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluICRpbnVpdC1zcGFjaW5nLXNpemVzIHtcbiAgICAgICAgICAgICAgICAgICAgLnUtI3skcHJvcGVydHktbmFtZXNwYWNlfSN7JGRpcmVjdGlvbi1uYW1lc3BhY2V9I3skc2l6ZX1cXEAjeyRpbnVpdC1icC1uYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX0jeyRkaXJlY3Rpb259OiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy91dGlsaXRpZXMvdXRpbGl0aWVzLnByaW50XCI7XG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9pbnVpdGNzcy91dGlsaXRpZXMvdXRpbGl0aWVzLmhpZGVcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdXRpbGl0aWVzLnJlc3BvbnNpdmUtaGlkZVwiO1xuQGltcG9ydCBcInV0aWxpdGllcy91dGlsaXRpZXMudGV4dC1hbGlnblwiO1xuQGltcG9ydCBcInV0aWxpdGllcy91dGlsaXRpZXMuaWNvbnNcIjtcbi51LWxpbmstdGlueSB7XG4gICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDEwcHgpO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjY5cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnUtbGluay1kaXNjcmVldCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNMSVNULUJBUkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogU3RyaXAgbGlzdC1saWtlIGFwcGVhcmFuY2UgZnJvbSBsaXN0cyBieSByZW1vdmluZyB0aGVpciBidWxsZXRzLCBhbmQgYW55XG4gKiBpbmRlbnRhdGlvbi5cbiAqL1xuXG5AbWl4aW4gaW51aXQtbGlzdC1iYXJlKCkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCT1gtU0laSU5HXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3gtc2l6aW5nOlxuICogY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlXG4gKi9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbioge1xuXG4gICYsXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNSRVNFVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHZlcnkgc2ltcGxlIHJlc2V0IHRoYXQgc2l0cyBvbiB0b3Agb2YgTm9ybWFsaXplLmNzcy5cbiAqL1xuXG5ib2R5LFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbmJsb2NrcXVvdGUsIHAsIHByZSxcbmRsLCBkZCwgb2wsIHVsLFxuZmlndXJlLFxuaHIsXG5maWVsZHNldCwgbGVnZW5kIHtcbiAgbWFyZ2luOiAgMDtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vKipcbiAqIFJlbW92ZSB0cmFpbGluZyBtYXJnaW5zIGZyb20gbmVzdGVkIGxpc3RzLlxuICovXG5cbmxpID4ge1xuXG4gIG9sLFxuICB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG59XG5cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB0YWJsZSBzcGFjaW5nLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cblxuLyoqXG4gKiAxLiBSZXNldCBDaHJvbWUgYW5kIEZpcmVmb3ggYmVoYXZpb3VyIHdoaWNoIHNldHMgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgXG4gKiAgICBvbiBmaWVsZHNldHMuXG4gKi9cblxuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7IC8qIFsxXSAqL1xuICBib3JkZXI6IDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1NIQVJFRFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBTaGFyZWQgZGVjbGFyYXRpb25zIGZvciBjZXJ0YWluIGVsZW1lbnRzLlxuICovXG5cbi8qKlxuICogQWx3YXlzIGRlY2xhcmUgbWFyZ2lucyBpbiB0aGUgc2FtZSBkaXJlY3Rpb246XG4gKiBjc3N3aXphcmRyeS5jb20vMjAxMi8wNi9zaW5nbGUtZGlyZWN0aW9uLW1hcmdpbi1kZWNsYXJhdGlvbnNcbiAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXIgKi9cblxuYWRkcmVzcyxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG5ibG9ja3F1b3RlLCBwLCBwcmUsXG5kbCwgb2wsIHVsLFxuZmlndXJlLFxuaHIsXG50YWJsZSxcbmZpZWxkc2V0IHtcbiAgQGluY2x1ZGUgaW51aXQtcmVtKG1hcmdpbi1ib3R0b20sICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0KTtcbn1cblxuXG4vKipcbiAqIENvbnNpc3RlbnQgaW5kZW50YXRpb24gZm9yIGxpc3RzLlxuICovXG5cbmRkLCBvbCwgdWwge1xuICBAaW5jbHVkZSBpbnVpdC1yZW0obWFyZ2luLWxlZnQsICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0KTtcbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXIgKi9cbiIsIi8vLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICNSRU1cbi8vICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIENvbnZlcnQgYW55IHB4IHZhbHVlIGludG8gaXRzIHJlbSBlcXVpdmFsZW50LlxuXG5AZnVuY3Rpb24gaW51aXQtcmVtKCR2YWx1ZSkge1xuXG4gIEBpZiAodHlwZS1vZigkdmFsdWUpID09IG51bWJlcikge1xuXG4gICAgQGlmICh1bml0KCR2YWx1ZSkgIT0gXCJweFwiKSB7XG4gICAgICBAZXJyb3IgXCJgI3skdmFsdWV9YCBuZWVkcyB0byBiZSBhIHBpeGVsIHZhbHVlLlwiO1xuICAgIH1cblxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJgI3skdmFsdWV9YCBuZWVkcyB0byBiZSBhIG51bWJlci5cIjtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlIC8gJGludWl0LWdsb2JhbC1mb250LXNpemUgKiAxcmVtO1xuXG59XG5cblxuLy8gTWl4aW4gdG8gY3JlYXRlIGEgZGVjbGFyYXRpb24gd2hvc2UgdmFsdWUgaXMgYSByZW0gdW5pdC4gQWxzbyBwcm92aWRlIHBpeGVsXG4vLyBmYWxsYmFjay5cbi8vXG4vLyAuc2ltcGxlLXVzYWdlIHtcbi8vICAgQGluY2x1ZGUgaW51aXQtcmVtKHBhZGRpbmcsIDEwcHgpO1xuLy8gfVxuXG5AbWl4aW4gaW51aXQtcmVtKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG5cbiAgQGlmICh0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyKSB7XG5cbiAgICBAaWYgKHVuaXQoJHZhbHVlKSAhPSBcInB4XCIpIHtcbiAgICAgIEBlcnJvciBcImAjeyR2YWx1ZX1gIG5lZWRzIHRvIGJlIGEgcGl4ZWwgdmFsdWUuXCI7XG4gICAgfVxuXG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcImAjeyR2YWx1ZX1gIG5lZWRzIHRvIGJlIGEgbnVtYmVyLlwiO1xuICB9XG5cbiAgLy8gV2UgcHJvdmlkZSBhIGBweGAgZmFsbGJhY2sgZm9yIG9sZCBJRXMgbm90IHN1cHBvcnRpbmcgYHJlbWAgdmFsdWVzLlxuICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcblxuICAjeyRwcm9wZXJ0eX06IGludWl0LXJlbSgkdmFsdWUpO1xuXG59XG4iLCIvLy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAjQ09SRVxuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gVGhpcyBjb3JlIGZpbGUgc2V0cyB1cCBpbnVpdGNzc+KAmSBtb3N0IGltcG9ydGFudCBzZXR1cCB2YXJpYWJsZXMuIFRoZXlcbi8vIHVuZGVycGluIGEgbG90IG9mIGhvdyB0aGUgZnJhbWV3b3JrIGZ1bmN0aW9ucyBhbmQgc2hvdWxkIGJlIG1vZGlmaWVkIGFuZFxuLy8gcHJlY29uZmlndXJlZCB3aXRoIGNhdXRpb24uXG5cblxuLy8gQmFzZSB0eXBvZ3JhcGhpY2FsIHN0eWxlcyBhbmQgYmFzZWxpbmUgZ3JpZC4gWW91IG5lZWQgdG8gZGVmaW5lIHRoZXNlIHZhbHVlc1xuLy8gaW4gcGl4ZWxzOiBpbnVpdGNzcyB3aWxsIGNvbnZlcnQgdGhlbSB0byBtb3JlIGFwcHJvcHJpYXRlIHVuaXRzLlxuXG4kaW51aXQtZ2xvYmFsLWZvbnQtc2l6ZTogICAgMTZweCAhZGVmYXVsdDtcbiRpbnVpdC1nbG9iYWwtbGluZS1oZWlnaHQ6ICAyNHB4ICFkZWZhdWx0O1xuXG5cblxuXG5cbi8vIFNwYWNpbmcgdmFsdWVzIGFyZSBkZXRlcm1pbmVkIGJhc2VkIG9uIHlvdXIgcHJvamVjdOKAmXMgZ2xvYmFsIGxpbmUgaGVpZ2h0IChpLmVcbi8vIHlvdXIgYmFzZWxpbmUgZ3JpZCkuIEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0aGF0IHlvdSBtb2RpZnkgdGhlc2UgZm9sbG93aW5nXG4vLyB2YXJpYWJsZXMgKGl0IGNhbiBicmVhayB5b3VyIHZlcnRpY2FsIHJoeXRobSksIGJ1dCBpZiB5b3UgbmVlZCB0bywgeW91IGNhbi5cblxuJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQ6IHJvdW5kKCRpbnVpdC1nbG9iYWwtbGluZS1oZWlnaHQpICFkZWZhdWx0O1xuXG5cbi8vIEhvdyBtYW55IHRpbWVzIGxhcmdlci9zbWFsbGVyIHRoYW4gdGhlIGRlZmF1bHQgc2hvdWxkIG91ciBzcGFjaW5nIHVuaXRcbi8vIHZhcmlhbnRzIGJlP1xuXG4kaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1mYWN0b3ItdGlueTogICAwLjI1ICFkZWZhdWx0O1xuJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtZmFjdG9yLXNtYWxsOiAgMC41ICAhZGVmYXVsdDtcbiRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWZhY3Rvci1sYXJnZTogIDIgICAgIWRlZmF1bHQ7XG4kaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1mYWN0b3ItaHVnZTogICA0ICAgICFkZWZhdWx0O1xuXG5cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVyBBIFIgTiBJIE4gRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLyAgICAgICAgICAgICAgICAgIERPIE5PVCBNT0RJRlkgQU5ZVEhJTkcgQkVZT05EIFRISVMgUE9JTlQgICAgICAgICAgICAgICAgICAvL1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8gQ2hlY2sgdGhhdCB0aGUgY2hvc2VuIGZvbnQgcnVsZXMgYXJlIHBpeGVsIG51bWJlcnMuXG5cbkBlYWNoICRfaW51aXQtZm9udC1nbG9iYWxzIGluXG4gICAgICAkaW51aXQtZ2xvYmFsLWZvbnQtc2l6ZVxuICAgICAgJGludWl0LWdsb2JhbC1saW5lLWhlaWdodCB7XG5cbiAgQGlmICh0eXBlLW9mKCRfaW51aXQtZm9udC1nbG9iYWxzKSA9PSBudW1iZXIpIHtcblxuICAgIEBpZiAodW5pdCgkX2ludWl0LWZvbnQtZ2xvYmFscykgIT0gXCJweFwiKSB7XG4gICAgICBAZXJyb3IgXCJgI3skX2ludWl0LWZvbnQtZ2xvYmFsc31gIG5lZWRzIHRvIGJlIGEgcGl4ZWwgdmFsdWUuXCI7XG4gICAgfVxuXG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcImAjeyRfaW51aXQtZm9udC1nbG9iYWxzfWAgbmVlZHMgdG8gYmUgYSBudW1iZXIuXCI7XG4gIH1cblxufVxuXG5cbi8vIENoZWNrIHRoYXQgdGhlIGNob3NlbiBzaXplIGZhY3RvcnMgYXJlIHVuaXRsZXNzIG51bWJlcnMuXG5cbkBlYWNoICRfaW51aXQtc3BhY2luZy11bml0IGluXG4gICAgICAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1mYWN0b3ItdGlueVxuICAgICAgJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtZmFjdG9yLXNtYWxsXG4gICAgICAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1mYWN0b3ItbGFyZ2VcbiAgICAgICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWZhY3Rvci1odWdlIHtcblxuICBAaWYgKHR5cGUtb2YoJF9pbnVpdC1zcGFjaW5nLXVuaXQpID09IG51bWJlcikge1xuXG4gICAgQGlmICh1bml0bGVzcygkX2ludWl0LXNwYWNpbmctdW5pdCkgPT0gZmFsc2UpIHtcbiAgICAgIEBlcnJvciBcImAjeyRfaW51aXQtc3BhY2luZy11bml0fWAgbmVlZHMgdG8gYmUgdW5pdGxlc3MuXCI7XG4gICAgfVxuXG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcImAjeyRfaW51aXQtc3BhY2luZy11bml0fWAgbmVlZHMgdG8gYmUgYSBudW1iZXIuXCI7XG4gIH1cblxufVxuXG5cbi8vIFByaXZhdGUvZnJhbWV3b3JrLW9ubHkgcmVhc3NpZ25tZW50LiBEbyBub3QgYWx0ZXIgYW55dGhpbmcgYmVsb3cuXG5cbiRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LXRpbnk6ICByb3VuZCgkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdCAqICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWZhY3Rvci10aW55KTtcbiRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LXNtYWxsOiByb3VuZCgkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdCAqICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWZhY3Rvci1zbWFsbCk7XG4kaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1sYXJnZTogcm91bmQoJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQgKiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1mYWN0b3ItbGFyZ2UpO1xuJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtaHVnZTogIHJvdW5kKCRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0ICogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtZmFjdG9yLWh1Z2UpO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQQUdFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNpbXBsZSBwYWdlLWxldmVsIHNldHVwLlxuICpcbiAqIDEuIFNldCB0aGUgZGVmYXVsdCBgZm9udC1zaXplYCBhbmQgYGxpbmUtaGVpZ2h0YCBmb3IgdGhlIGVudGlyZSBwcm9qZWN0LFxuICogICAgc291cmNlZCBmcm9tIG91ciBkZWZhdWx0IHZhcmlhYmxlcy4gVGhlIGBmb250LXNpemVgIGlzIGNhbGN1bGF0ZWQgdG8gZXhpc3RcbiAqICAgIGluIGVtcywgdGhlIGBsaW5lLWhlaWdodGAgaXMgY2FsY3VsYXRlZCB0byBleGlzdCB1bml0bGVzc2x5LlxuICogMi4gRm9yY2Ugc2Nyb2xsYmFycyB0byBhbHdheXMgYmUgdmlzaWJsZSB0byBwcmV2ZW50IGF3a3dhcmQg4oCYanVtcHPigJkgd2hlblxuICogICAgbmF2aWdhdGluZyBiZXR3ZWVuIHBhZ2VzIHRoYXQgZG8vZG8gbm90IGhhdmUgZW5vdWdoIGNvbnRlbnQgdG8gcHJvZHVjZVxuICogICAgc2Nyb2xsYmFycyBuYXR1cmFsbHkuXG4gKiAzLiBFbnN1cmUgdGhlIHBhZ2UgYWx3YXlzIGZpbGxzIGF0IGxlYXN0IHRoZSBlbnRpcmUgaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydC5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1zaXplOiAoJGludWl0LWdsb2JhbC1mb250LXNpemUgLyAxNnB4KSAqIDFlbTsgLyogWzFdICovXG4gIGxpbmUtaGVpZ2h0OiAkaW51aXQtZ2xvYmFsLWxpbmUtaGVpZ2h0IC8gJGludWl0LWdsb2JhbC1mb250LXNpemU7IC8qIFsxXSAqL1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIFsyXSAqL1xuICBtaW4taGVpZ2h0OiAxMDAlOyAvKiBbM10gKi9cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjUEFHRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBFeHRlbmRlZCBwYWdlLWxldmVsIHNldHVwLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBPcGVuIFNhbnMsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICRjb2xvci1ib2R5O1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgJi5oYXMtbWFpbi1uYXYtb3BlbiB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxufVxuXG5bb25DbGlja10ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuIiwiLy8vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgI0dMT0JBTFxuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gVGhlIGdsb2JhbCBzZXR0aW5ncyBmaWxlIGNvbnRhaW5zIGFueSBwcm9qZWN0LXdpZGUgdmFyaWFibGVzOyB0aGluZ3MgdGhhdFxuLy8gbmVlZCB0byBiZSBtYWRlIGF2YWlsYWJsZSB0byB0aGUgZW50aXJlIGNvZGViYXNlLlxuXG4vLyBTdGFuZGFyZGlzZSBzb21lIFVJIHRyZWF0bWVudHMuXG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdHJhbnNpdGlvbjogMjUwbXM7XG5cbi8vIEhlYWRpbmcgc2l6ZXNcbiRpbnVpdC1mb250LXNpemUtaDE6ICAyNHB4O1xuJGludWl0LWZvbnQtc2l6ZS1oMjogIDE2cHg7XG4kaW51aXQtZm9udC1zaXplLWgzOiAgMTZweDtcbiRpbnVpdC1mb250LXNpemUtaDQ6ICAxNnB4O1xuJGludWl0LWZvbnQtc2l6ZS1oNTogIDE2cHg7XG4kaW51aXQtZm9udC1zaXplLWg2OiAgMTZweDtcblxuJGdsb2JhbC1jb2xvcnM6IChcbiAgcHJpbWFyeTogICAgICAjMzMzMzMzLFxuICBzZWNvbmRhcnk6ICAgICM3ODc4NzgsXG4gIHRlcnRpYXJ5OiAgICAgI2NiY2JjYixcbiAgY3VhdGVybmFyeTogICAjOTY5Njk2LFxuKTtcblxuLy8gWW91IGNhbiBhY2Nlc3MgZGF0YSBpbiB0aGlzIG1hcCB1c2luZyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uOlxuLy9cbi8vIGNvbmZpZyg8a2V5Pilcbi8vXG4vLyBFeGFtcGxlIHVzYWdlOlxuLy9cbi8vIEBpZiAoZ2xvYmFsLWNvbG9ycyhwcmltYXJ5KSkgeyAuLi4gIH1cblxuQGZ1bmN0aW9uIGNvbG9yKCRrZXkpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRnbG9iYWwtY29sb3JzLCAka2V5KTtcbn1cblxuXG4vLyBNb3JlIGNvbG9yc1xuJGNvbG9yLXByaW1hcnk6ICAgY29sb3IocHJpbWFyeSk7XG4kY29sb3ItaGVhZGluZ3M6ICBjb2xvcihwcmltYXJ5KTtcbiRjb2xvci1ib2R5OiAgICAgIGNvbG9yKGN1YXRlcm5hcnkpO1xuXG5cblxuXG5cblxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0hFQURJTkdTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNpbXBsZSBkZWZhdWx0IHN0eWxlcyBmb3IgaGVhZGluZ3MgMSB0aHJvdWdoIDYuIEFueXRoaW5nIG1vcmUgb3BpbmlvbmF0ZWRcbiAqIHRoYW4gc2ltcGxlIGZvbnQtc2l6ZSBjaGFuZ2VzIHNob3VsZCBsaWtlbHkgYmUgYXBwbGllZCB2aWEgY2xhc3NlcyAoc2VlOlxuICogaHR0cDovL2Nzc3dpemFyZHJ5LmNvbS8yMDE2LzAyL21hbmFnaW5nLXR5cG9ncmFwaHktb24tbGFyZ2UtYXBwcy8pLlxuICovXG5cblxuLy8gV2UgaGF2ZSBhbGwgb2Ygb3VyIGhlYWRpbmcgZm9udCBzaXplcyBkZWZpbmVkIGhlcmUuIFBhc3NpbmcgdGhlc2UgcGl4ZWxcbi8vIHZhbHVlcyBpbnRvIG91ciBgaW51aXQtZm9udC1zaXplKClgIG1peGluIHdpbGwgZ2VuZXJhdGUgYSByZW0tYmFzZWRcbi8vIGBmb250LXNpemVgIHdpdGggYSBwaXhlbCBmYWxsYmFjaywgYXMgd2VsbCBhcyBnZW5lcmF0aW5nIGEgYGxpbmUtaGVpZ2h0YCB0aGF0XG4vLyB3aWxsIHNpdCBvbiBvdXIgYmFzZWxpbmUgZ3JpZC5cblxuJGludWl0LWZvbnQtc2l6ZS1oMTogIDM2cHggIWRlZmF1bHQ7XG4kaW51aXQtZm9udC1zaXplLWgyOiAgMjhweCAhZGVmYXVsdDtcbiRpbnVpdC1mb250LXNpemUtaDM6ICAyNHB4ICFkZWZhdWx0O1xuJGludWl0LWZvbnQtc2l6ZS1oNDogIDIwcHggIWRlZmF1bHQ7XG4kaW51aXQtZm9udC1zaXplLWg1OiAgMThweCAhZGVmYXVsdDtcbiRpbnVpdC1mb250LXNpemUtaDY6ICAxNnB4ICFkZWZhdWx0O1xuXG5cbmgxIHtcbiAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKCRpbnVpdC1mb250LXNpemUtaDEpO1xufVxuXG5oMiB7XG4gIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgkaW51aXQtZm9udC1zaXplLWgyKTtcbn1cblxuaDMge1xuICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoJGludWl0LWZvbnQtc2l6ZS1oMyk7XG59XG5cbmg0IHtcbiAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKCRpbnVpdC1mb250LXNpemUtaDQpO1xufVxuXG5oNSB7XG4gIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgkaW51aXQtZm9udC1zaXplLWg1KTtcbn1cblxuaDYge1xuICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoJGludWl0LWZvbnQtc2l6ZS1oNik7XG59XG4iLCIvLy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAjRk9OVC1TSVpFXG4vLyAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBHZW5lcmF0ZSBhIGZvbnQtc2l6ZSBhbmQgYmFzZWxpbmUtY29tcGF0aWJsZSBsaW5lLWhlaWdodC5cbkBtaXhpbiBpbnVpdC1mb250LXNpemUoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0OiBhdXRvLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuXG4gIEBpZiAodHlwZS1vZigkZm9udC1zaXplKSA9PSBudW1iZXIpIHtcbiAgICBAaWYgKHVuaXQoJGZvbnQtc2l6ZSkgIT0gXCJweFwiKSB7XG4gICAgICBAZXJyb3IgXCJgI3skZm9udC1zaXplfWAgbmVlZHMgdG8gYmUgYSBwaXhlbCB2YWx1ZS5cIjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcImAjeyRmb250LXNpemV9YCBuZWVkcyB0byBiZSBhIG51bWJlci5cIjtcbiAgfVxuXG4gIEBpZiAoJGltcG9ydGFudCA9PSB0cnVlKSB7XG4gICAgJGltcG9ydGFudDogIWltcG9ydGFudDtcbiAgfSBAZWxzZWlmICgkaW1wb3J0YW50ID09IGZhbHNlKSB7XG4gICAgJGltcG9ydGFudDogbnVsbDtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiYCN7JGltcG9ydGFudH1gIG5lZWRzIHRvIGJlIGB0cnVlYCBvciBgZmFsc2VgLlwiXG4gIH1cblxuICAvLyBXZSBwcm92aWRlIGEgYHB4YCBmYWxsYmFjayBmb3Igb2xkIElFcyBub3Qgc3VwcG9ydGluZyBgcmVtYCB2YWx1ZXMuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSAkaW1wb3J0YW50O1xuICBmb250LXNpemU6ICgkZm9udC1zaXplIC8gJGludWl0LWdsb2JhbC1mb250LXNpemUpICogMXJlbSAkaW1wb3J0YW50O1xuXG4gIEBpZiAoJGxpbmUtaGVpZ2h0ID09ICdhdXRvJykge1xuICAgIGxpbmUtaGVpZ2h0OiBjZWlsKCRmb250LXNpemUgLyAkaW51aXQtZ2xvYmFsLWxpbmUtaGVpZ2h0KSAqICgkaW51aXQtZ2xvYmFsLWxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZSkgJGltcG9ydGFudDtcbiAgfVxuXG4gIEBlbHNlIHtcblxuICAgIEBpZiAodHlwZS1vZigkbGluZS1oZWlnaHQpID09IG51bWJlciBvciAkbGluZS1oZWlnaHQgPT0gJ2luaGVyaXQnIG9yICRsaW5lLWhlaWdodCA9PSAnbm9ybWFsJykge1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCAkaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBlbHNlaWYgKCRsaW5lLWhlaWdodCAhPSAnbm9uZScgYW5kICRsaW5lLWhlaWdodCAhPSBmYWxzZSkge1xuICAgICAgQGVycm9yIFwiROKAmW9oISBgI3skbGluZS1oZWlnaHR9YCBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYCRsaW5lLWhlaWdodGAuXCJcbiAgICB9XG5cbiAgfVxuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0hFQURJTkdTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIERlZmF1bHQgZm9udCBmYW1pbHkgZm9yIGhlYWRpbmdzXG4gKi9cblxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBmb250LWZhbWlseTogTGlicmUgQmFza2VydmlsbGUsIHNlcmlmO1xuICAgIGNvbG9yOiAkY29sb3ItaGVhZGluZ3M7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAzLjMzcHg7XG59XG5cbmgxIHtcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoMThweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgyNHB4LCAxLjIxKTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0lNQUdFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBGbHVpZCBpbWFnZXMgZm9yIHJlc3BvbnNpdmUgcHVycG9zZXMuXG4gKiAyLiBPZmZzZXQgYGFsdGAgdGV4dCBmcm9tIHN1cnJvdW5kaW5nIGNvcHkuXG4gKiAzLiBTZXR0aW5nIGB2ZXJ0aWNhbC1hbGlnbmAgcmVtb3ZlcyB0aGUgd2hpdGVzcGFjZSB0aGF0IGFwcGVhcnMgdW5kZXIgYGltZ2BcbiAqICAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqICAgIHVzaW5nIGBkaXNwbGF5OiBibG9jaztgLlxuICovXG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgLyogWzFdICovXG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgLyogWzJdICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIFszXSAqL1xufVxuXG5cbi8qKlxuICogMS4gSWYgYSBgd2lkdGhgIGFuZC9vciBgaGVpZ2h0YCBhdHRyaWJ1dGUgaGF2ZSBiZWVuIGV4cGxpY2l0bHkgZGVmaW5lZCwgbGV04oCZc1xuICogICAgbm90IG1ha2UgdGhlIGltYWdlIGZsdWlkLlxuICovXG5cbmltZ1t3aWR0aF0sIC8qIFsxXSAqL1xuaW1nW2hlaWdodF0geyAgLyogWzFdICovXG4gIG1heC13aWR0aDogbm9uZTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjVEFCTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEVuc3VyZSB0YWJsZXMgZmlsbCB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLlxuICovXG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7IC8qIFsxXSAqL1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCUkVBS1BPSU5UU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDU1MgYnJlYWtwb2ludHMgZm9yIHVzZSBpbiBKU1xuICpcbiAqIEJhc2VkIG9uOlxuICogaHR0cHM6Ly93d3cubHVsbGFib3QuY29tL2FydGljbGVzL2ltcG9ydGluZy1jc3MtYnJlYWtwb2ludHMtaW50by1qYXZhc2NyaXB0XG4gKlxuICogVGhlc2UgdmFsdWVzIHdpbGwgbm90IHNob3cgdXAgaW4gY29udGVudCwgYnV0IGNhbiBiZVxuICogcXVlcmllZCBieSBKYXZhU2NyaXB0IHRvIGtub3cgd2hpY2ggYnJlYWtwb2ludCBpcyBhY3RpdmUuXG4gKiBBZGQgb3IgcmVtb3ZlIGFzIG1hbnkgYnJlYWtwb2ludHMgYXMgeW91IGxpa2UuXG4gKi9cbmJvZHkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLyogUHJldmVudCBmcm9tIGRpc3BsYXlpbmcuICovXG4gICAgICAgIGNvbnRlbnQ6IFwibW9iaWxlXCI7XG5cbiAgICAgICAgQGVhY2ggJGludWl0LWJwLW5hbWUsICRpbnVpdC1icC12YWx1ZSBpbiAkbXEtYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206ICRpbnVpdC1icC1uYW1lKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRpbnVpdC1icC1uYW1lfVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjTElOS1NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQmFzaWMgbGluayBzdHlsaW5nLlxuICovXG5cbmEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNIT1JJWk9OVEFMLVJVTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEJhc2ljIGhyIHN0eWxpbmcuXG4gKi9cblxuaHIge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xufVxuXG4udS1oci0tcHJpbWFyeSB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2JjYmNiO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnUtaHItLWFsdCB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2JjYmNiO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbi51LWhyLS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuQGVhY2ggJGludWl0LWJwLW5hbWUsICRpbnVpdC1icC12YWx1ZSBpbiAkbXEtYnJlYWtwb2ludHMge1xuICAgIC51LWhyLS1sZWZ0XFxAI3skaW51aXQtYnAtbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGludWl0LWJwLW5hbWUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51LWhyLS1sZWZ0XFxAdW50aWwtI3skaW51aXQtYnAtbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6ICRpbnVpdC1icC1uYW1lKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjV1JBUFBFUlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUGFnZS1sZXZlbCBjb25zdHJhaW5pbmcgYW5kIHdyYXBwaW5nIGVsZW1lbnRzLlxuICovXG5cbiRpbnVpdC13cmFwcGVyLXdpZHRoOiAxMjAwcHggIWRlZmF1bHQ7XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5AaWYgKHR5cGUtb2YoJGludWl0LXdyYXBwZXItd2lkdGgpICE9IG51bWJlcikge1xuICBAZXJyb3IgXCJgI3skaW51aXQtd3JhcHBlci13aWR0aH1gIG5lZWRzIHRvIGJlIGEgbnVtYmVyLlwiXG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbi5vLXdyYXBwZXIge1xuICBAaW5jbHVkZSBpbnVpdC1jbGVhcmZpeCgpO1xuICBwYWRkaW5nLXJpZ2h0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdDtcbiAgcGFkZGluZy1sZWZ0OiAgJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQ7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6ICBhdXRvO1xuICBtYXgtd2lkdGg6ICRpbnVpdC13cmFwcGVyLXdpZHRoO1xufVxuXG5cblxuXG5cbi8qIFNpemUgdmFyaWFudHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uby13cmFwcGVyLS10aW55IHtcbiAgcGFkZGluZy1yaWdodDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtdGlueTtcbiAgcGFkZGluZy1sZWZ0OiAgJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtdGlueTtcbn1cblxuLm8td3JhcHBlci0tc21hbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1zbWFsbDtcbiAgcGFkZGluZy1sZWZ0OiAgJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtc21hbGw7XG59XG5cbi5vLXdyYXBwZXItLWxhcmdlIHtcbiAgcGFkZGluZy1yaWdodDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtbGFyZ2U7XG4gIHBhZGRpbmctbGVmdDogICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWxhcmdlO1xufVxuXG4uby13cmFwcGVyLS1odWdlIHtcbiAgcGFkZGluZy1yaWdodDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtaHVnZTtcbiAgcGFkZGluZy1sZWZ0OiAgJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtaHVnZTtcbn1cbiIsIi8vLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICNDTEVBUkZJWFxuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTWl4aW4gdG8gZHJvcCBtaWNybyBjbGVhcmZpeCBpbnRvIGEgc2VsZWN0b3IuIEZ1cnRoZXIgcmVhZGluZzpcbi8vIGh0dHA6Ly93d3cuY3NzbW9qby5jb20vdGhlLXZlcnktbGF0ZXN0LWNsZWFyZml4LXJlbG9hZGVkL1xuLy9cbi8vIC51c2FnZSB7XG4vLyAgIEBpbmNsdWRlIGludWl0LWNsZWFyZml4KCk7XG4vLyB9XG5AbWl4aW4gaW51aXQtY2xlYXJmaXgoKSB7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcbiAgfVxuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1dSQVBQRVJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBNb3JlIHNpemUgdmFyaWFudHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uby13cmFwcGVyIHtcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICR1bml0LXNtYWxsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICR1bml0LXNtYWxsO1xuICB9XG59XG5cbi5vLXdyYXBwZXItLWZsdXNoIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uby13cmFwcGVyLS1tb3JlIHtcbiAgbWF4LXdpZHRoOiAxMzQ4cHg7XG59XG5cbi5vLXdyYXBwZXItLWxlc3Mge1xuICBtYXgtd2lkdGg6IDcxNHB4O1xufVxuXG4uby13cmFwcGVyLS1uYXJyb3dlc3Qge1xuICBtYXgtd2lkdGg6IDM4MHB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNMQVlPVVRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogR3JpZC1saWtlIGxheW91dCBzeXN0ZW0uXG4gKlxuICogVGhlIGxheW91dCBvYmplY3QgcHJvdmlkZXMgdXMgd2l0aCBhIGNvbHVtbi1zdHlsZSBsYXlvdXQgc3lzdGVtLiBUaGlzIGZpbGVcbiAqIGNvbnRhaW5zIHRoZSBiYXNpYyBzdHJ1Y3R1cmFsIGVsZW1lbnRzLCBidXQgY2xhc3NlcyBzaG91bGQgYmUgY29tcGxlbWVudGVkXG4gKiB3aXRoIHdpZHRoIHV0aWxpdGllcywgZm9yIGV4YW1wbGU6XG4gKlxuICogICA8ZGl2IGNsYXNzPVwiby1sYXlvdXRcIj5cbiAqICAgICA8ZGl2IGNsYXNzPVwiby1sYXlvdXRfX2l0ZW0gIHUtMS8yXCI+XG4gKiAgICAgPC9kaXY+XG4gKiAgICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMlwiPlxuICogICAgIDwvZGl2PlxuICogICA8L2Rpdj5cbiAqXG4gKiBUaGUgYWJvdmUgd2lsbCBjcmVhdGUgYSB0d28tY29sdW1uIHN0cnVjdHVyZSBpbiB3aGljaCBlYWNoIGNvbHVtbiB3aWxsXG4gKiBmbHVpZGx5IGZpbGwgaGFsZiBvZiB0aGUgd2lkdGggb2YgdGhlIHBhcmVudC4gV2UgY2FuIGhhdmUgbW9yZSBjb21wbGV4XG4gKiBzeXN0ZW1zOlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0XCI+XG4gKiAgICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMSAgdS0xLzNAbWVkaXVtXCI+XG4gKiAgICAgPC9kaXY+XG4gKiAgICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMiAgdS0xLzNAbWVkaXVtXCI+XG4gKiAgICAgPC9kaXY+XG4gKiAgICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMiAgdS0xLzNAbWVkaXVtXCI+XG4gKiAgICAgPC9kaXY+XG4gKiAgIDwvZGl2PlxuICpcbiAqIFRoZSBhYm92ZSB3aWxsIGNyZWF0ZSBhIHN5c3RlbSBpbiB3aGljaCB0aGUgZmlyc3QgaXRlbSB3aWxsIGJlIDEwMCUgd2lkdGhcbiAqIHVudGlsIHdlIGVudGVyIG91ciBtZWRpdW0gYnJlYWtwb2ludCwgd2hlbiBpdCB3aWxsIGJlY29tZSAzMy4zMzMlIHdpZHRoLiBUaGVcbiAqIHNlY29uZCBhbmQgdGhpcmQgaXRlbXMgd2lsbCBiZSA1MCUgb2YgdGhlaXIgcGFyZW50LCB1bnRpbCB0aGV5IGFsc28gYmVjb21lXG4gKiAzMy4zMzMlIHdpZHRoIGF0IHRoZSBtZWRpdW0gYnJlYWtwb2ludC5cbiAqXG4gKiBXZSBjYW4gYWxzbyBtYW5pcHVsYXRlIGVudGlyZSBsYXlvdXQgc3lzdGVtcyBieSBhZGRpbmcgYSBzZXJpZXMgb2YgbW9kaWZpZXJzXG4gKiB0byB0aGUgYC5vLWxheW91dGAgYmxvY2suIEZvciBleGFtcGxlOlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0ICBvLWxheW91dC0tcmV2ZXJzZVwiPlxuICpcbiAqIFRoaXMgd2lsbCByZXZlcnNlIHRoZSBkaXNwbGF5ZWQgb3JkZXIgb2YgdGhlIHN5c3RlbSBzbyB0aGF0IGl0IHJ1bnMgaW4gdGhlXG4gKiBvcHBvc2l0ZSBvcmRlciB0byBvdXIgc291cmNlLCBlZmZlY3RpdmVseSBmbGlwcGluZyB0aGUgc3lzdGVtIG92ZXIuXG4gKlxuICogICA8ZGl2IGNsYXNzPVwiby1sYXlvdXQgIG8tbGF5b3V0LS1bcmlnaHR8Y2VudGVyXVwiPlxuICpcbiAqIFRoaXMgd2lsbCBjYXVzZSB0aGUgc3lzdGVtIHRvIGZpbGwgdXAgZnJvbSBlaXRoZXIgdGhlIGNlbnRyZSBvciB0aGUgcmlnaHRcbiAqIGhhbmQgc2lkZS4gRGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gZmlsbCB1cCB0aGUgbGF5b3V0IHN5c3RlbSBmcm9tIHRoZSBsZWZ0LlxuICpcbiAqIFRoZXJlIGFyZSBwbGVudHkgbW9yZSBvcHRpb25zIGF2YWlsYWJsZSB0byB1czogZXhwbG9yZSB0aGVtIGJlbG93LlxuICovXG5cbi8vIEJ5IGRlZmF1bHQgd2UgdXNlIHRoZSBgZm9udC1zaXplOiAwO2AgdHJpY2sgdG8gcmVtb3ZlIHdoaXRlc3BhY2UgYmV0d2VlblxuLy8gaXRlbXMuIFNldCB0aGlzIHRvIHRydWUgaW4gb3JkZXIgdG8gdXNlIGEgbWFya3VwLWJhc2VkIHN0cmF0ZWd5IGxpa2Vcbi8vIGNvbW1lbnRpbmcgb3V0IHdoaXRlc3BhY2Ugb3IgbWluaWZ5aW5nIEhUTUwuXG4kaW51aXQtdXNlLW1hcmt1cC1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG5cblxuXG5cbi8qIERlZmF1bHQvbWFuZGF0b3J5IGNsYXNzZXMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFsbG93cyB1cyB0byB1c2UgdGhlIGxheW91dCBvYmplY3Qgb24gYW55IHR5cGUgb2YgZWxlbWVudC5cbiAqIDIuIFdlIG5lZWQgdG8gZGVmZW5zaXZlbHkgcmVzZXQgYW55IGJveC1tb2RlbCBwcm9wZXJ0aWVzLlxuICogMy4gVXNlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gdHJpY2sgZm9yIG11bHRpLXJvdyBncmlkczpcbiAqICAgIGh0dHA6Ly9jc3N3aXphcmRyeS5jb20vMjAxMS8wOC9idWlsZGluZy1iZXR0ZXItZ3JpZC1zeXN0ZW1zL1xuICovXG5cbi5vLWxheW91dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvKiBbMV0gKi9cbiAgbWFyZ2luOiAgMDsgLyogWzJdICovXG4gIHBhZGRpbmc6IDA7IC8qIFsyXSAqL1xuICBsaXN0LXN0eWxlOiBub25lOyAvKiBbMV0gKi9cbiAgbWFyZ2luLWxlZnQ6IC0kaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdDsgLyogWzNdICovXG5cbiAgQGlmICgkaW51aXQtdXNlLW1hcmt1cC1maXggPT0gZmFsc2UpIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxufVxuXG5cbiAgLyoqXG4gICAqIDEuIFJlcXVpcmVkIGluIG9yZGVyIHRvIGNvbWJpbmUgZmx1aWQgd2lkdGhzIHdpdGggZml4ZWQgZ3V0dGVycy5cbiAgICogMi4gQWxsb3dzIHVzIHRvIG1hbmlwdWxhdGUgZ3JpZHMgdmVydGljYWxseSwgd2l0aCB0ZXh0LWxldmVsIHByb3BlcnRpZXMsXG4gICAqICAgIGV0Yy5cbiAgICogMy4gRGVmYXVsdCBpdGVtIGFsaWdubWVudCBpcyB3aXRoIHRoZSB0b3BzIG9mIGVhY2ggb3RoZXIsIGxpa2UgbW9zdFxuICAgKiAgICB0cmFkaXRpb25hbCBncmlkL2xheW91dCBzeXN0ZW1zLlxuICAgKiA0LiBCeSBkZWZhdWx0LCBhbGwgbGF5b3V0IGl0ZW1zIGFyZSBmdWxsLXdpZHRoIChtb2JpbGUgZmlyc3QpLlxuICAgKiA1LiBHdXR0ZXJzIHByb3ZpZGVkIGJ5IGxlZnQgcGFkZGluZzpcbiAgICogICAgaHR0cDovL2Nzc3dpemFyZHJ5LmNvbS8yMDExLzA4L2J1aWxkaW5nLWJldHRlci1ncmlkLXN5c3RlbXMvXG4gICAqIDYuIEZhbGxiYWNrIGZvciBvbGQgSUVzIG5vdCBzdXBwb3J0aW5nIGByZW1gIHZhbHVlcy5cbiAgICovXG5cbiAgLm8tbGF5b3V0X19pdGVtIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBbMV0gKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIFsyXSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIFszXSAqL1xuICAgIHdpZHRoOiAxMDAlOyAvKiBbNF0gKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0OyAvKiBbNV0gKi9cblxuICAgIEBpZiAoJGludWl0LXVzZS1tYXJrdXAtZml4ID09IGZhbHNlKSB7XG4gICAgICBmb250LXNpemU6ICRpbnVpdC1nbG9iYWwtZm9udC1zaXplOyAvKiBbNl0gKi9cbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cbiAgfVxuXG5cblxuXG5cbi8qIEd1dHRlciBzaXplIG1vZGlmaWVycy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vLWxheW91dC0tdGlueSB7XG4gIG1hcmdpbi1sZWZ0OiAtJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtdGlueTtcblxuICA+IC5vLWxheW91dF9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC10aW55O1xuICB9XG5cbn1cblxuXG4uby1sYXlvdXQtLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IC0kaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1zbWFsbDtcblxuICA+IC5vLWxheW91dF9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1zbWFsbDtcbiAgfVxuXG59XG5cblxuLm8tbGF5b3V0LS1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtbGFyZ2U7XG5cbiAgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtbGFyZ2U7XG4gIH1cblxufVxuXG5cbi5vLWxheW91dC0taHVnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtaHVnZTtcblxuICA+IC5vLWxheW91dF9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1odWdlO1xuICB9XG5cbn1cblxuXG4uby1sYXlvdXQtLWZsdXNoIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG59XG5cblxuXG5cblxuLyogVmVydGljYWwgYWxpZ25tZW50IG1vZGlmaWVycy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWxpZ24gYWxsIGdyaWQgaXRlbXMgdG8gdGhlIG1pZGRsZXMgb2YgZWFjaCBvdGhlci5cbiAqL1xuXG4uby1sYXlvdXQtLW1pZGRsZSB7XG5cbiAgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxufVxuXG5cbi8qKlxuICogQWxpZ24gYWxsIGdyaWQgaXRlbXMgdG8gdGhlIGJvdHRvbXMgb2YgZWFjaCBvdGhlci5cbiAqL1xuXG4uby1sYXlvdXQtLWJvdHRvbSB7XG5cbiAgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cblxufVxuXG5cblxuXG5cbi8qIEZpbGwgb3JkZXIgbW9kaWZpZXJzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBGaWxsIHVwIHRoZSBsYXlvdXQgc3lzdGVtIGZyb20gdGhlIGNlbnRyZS5cbiAqL1xuXG4uby1sYXlvdXQtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICA+IC5vLWxheW91dF9faXRlbSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG59XG5cblxuLyoqXG4gKiBGaWxsIHVwIHRoZSBsYXlvdXQgc3lzdGVtIGZyb20gdGhlIHJpZ2h0LWhhbmQgc2lkZS5cbiAqL1xuXG4uby1sYXlvdXQtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxufVxuXG5cbi8qKlxuICogUmV2ZXJzZSB0aGUgcmVuZGVyZWQgb3JkZXIgb2YgdGhlIGdyaWQgc3lzdGVtLlxuICovXG5cbi5vLWxheW91dC0tcmV2ZXJzZSB7XG4gIGRpcmVjdGlvbjogcnRsO1xuXG4gID4gLm8tbGF5b3V0X19pdGVtIHtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbn1cbiIsIi8vLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICNDT05GSUdcbi8vICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEEgbWFwIG9mIGdsb2JhbCBjb25maWcgc2V0dGluZ3MuIERlZmluZSBhbnkgcHJvamVjdC1sZXZlbCBjb25maWd1cmF0aW9uLFxuLy8gZmVhdHVyZSBzd2l0Y2hlcywgZXRjLiBpbiBoZXJlLlxuXG4kaW51aXQtY29uZmlnOiAoXG4gIGVudjogZGV2LFxuICBoZWFsdGhjaGVjazogZmFsc2UsXG4gIGRlYnVnOiB0cnVlLFxuKTtcblxuLy8gWW91IGNhbiBhY2Nlc3MgZGF0YSBpbiB0aGlzIG1hcCB1c2luZyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uOlxuLy9cbi8vIGNvbmZpZyg8a2V5Pilcbi8vXG4vLyBFeGFtcGxlIHVzYWdlOlxuLy9cbi8vIEBpZiAoaW51aXQtY29uZmlnKGRlYnVnKSA9PSB0cnVlKSB7IC4uLiAgfVxuXG5AZnVuY3Rpb24gaW51aXQtY29uZmlnKCRrZXkpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRpbnVpdC1jb25maWcsICRrZXkpO1xufVxuXG4vLyBTZXQgZGVmYXVsdCBtZWRpYSBxdWVyeSBicmVha3BvaW50c1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgMzIwcHgsXG4gICAgdGFibGV0OiAgNzQwcHgsXG4gICAgZGVza3RvcDogOTgwcHgsXG4gICAgd2lkZTogICAgMTMwMHB4XG4pO1xuXG4kaW51aXQtZ2xvYmFsLWZvbnQtc2l6ZTogICAgMTRweDtcbiRpbnVpdC1nbG9iYWwtbGluZS1oZWlnaHQ6ICAyMXB4O1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNNRURJQVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBQbGFjZSBhbnkgaW1hZ2UtIGFuZCB0ZXh0LWxpa2UgY29udGVudCBzaWRlLWJ5LXNpZGUsIGFzIHBlcjpcbiAqIGh0dHA6Ly93d3cuc3R1YmJvcm5lbGxhLm9yZy9jb250ZW50LzIwMTAvMDYvMjUvdGhlLW1lZGlhLW9iamVjdC1zYXZlcy1odW5kcmVkcy1vZi1saW5lcy1vZi1jb2RlXG4gKi9cblxuLm8tbWVkaWEge1xuICBAaW5jbHVkZSBpbnVpdC1jbGVhcmZpeCgpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4gIC5vLW1lZGlhX19pbWcge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQ7XG5cbiAgICA+IGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgfVxuXG5cbiAgLm8tbWVkaWFfX2JvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmLFxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgfVxuXG5cblxuXG5cbi8qIFNpemUgdmFyaWFudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogTW9kaWZ5IHRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiBvdXIgaW1hZ2UgYW5kIG91ciB0ZXh0LiBXZSBhbHNvIGhhdmVcbiAqIHJldmVyc2libGUgb3B0aW9ucyBmb3IgYWxsIGF2YWlsYWJsZSBzaXplcy5cbiAqL1xuXG4uby1tZWRpYS0tdGlueSB7XG5cbiAgPiAuby1tZWRpYV9faW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LXRpbnk7XG4gIH1cblxuICAmLm8tbWVkaWEtLXJldmVyc2Uge1xuXG4gICAgPiAuby1tZWRpYV9faW1nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAgJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtdGlueTtcbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLm8tbWVkaWEtLXNtYWxsIHtcblxuICA+IC5vLW1lZGlhX19pbWcge1xuICAgIG1hcmdpbi1yaWdodDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtc21hbGw7XG4gIH1cblxuICAmLm8tbWVkaWEtLXJldmVyc2Uge1xuXG4gICAgPiAuby1tZWRpYV9faW1nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAgJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtc21hbGw7XG4gICAgfVxuXG4gIH1cblxufVxuXG5cbi5vLW1lZGlhLS1sYXJnZSB7XG5cbiAgPiAuby1tZWRpYV9faW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWxhcmdlO1xuICB9XG5cbiAgJi5vLW1lZGlhLS1yZXZlcnNlIHtcblxuICAgID4gLm8tbWVkaWFfX2ltZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWxhcmdlO1xuICAgIH1cblxuICB9XG5cbn1cblxuXG4uby1tZWRpYS0taHVnZSB7XG5cbiAgPiAuby1tZWRpYV9faW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWh1Z2U7XG4gIH1cblxuICAmLm8tbWVkaWEtLXJldmVyc2Uge1xuXG4gICAgPiAuby1tZWRpYV9faW1nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAgJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtaHVnZTtcbiAgICB9XG5cbiAgfVxuXG59XG5cblxuXG5cblxuLyogUmV2ZXJzZWQgbWVkaWEgb2JqZWN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm8tbWVkaWEtLXJldmVyc2Uge1xuXG4gID4gLm8tbWVkaWFfX2ltZyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQ7XG4gIH1cblxufVxuXG5cblxuXG5cbi8qIEd1dHRlcmxlc3MgbWVkaWEgb2JqZWN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm8tbWVkaWEtLWZsdXNoIHtcblxuICA+IC5vLW1lZGlhX19pbWcge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogIDA7XG4gIH1cblxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNGTEFHXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFRoZSBmbGFnIG9iamVjdCBpcyBhIGRlc2lnbiBwYXR0ZXJuIHNpbWlsYXIgdG8gdGhlIG1lZGlhIG9iamVjdCwgaG93ZXZlciBpdFxuICogdXRpbGlzZXMgYGRpc3BsYXk6IHRhYmxlWy1jZWxsXTtgIHRvIGdpdmUgdXMgY29udHJvbCBvdmVyIHRoZSB2ZXJ0aWNhbFxuICogYWxpZ25tZW50cyBvZiB0aGUgdGV4dCBhbmQgaW1hZ2UuXG4gKlxuICogaHR0cDovL2Nzc3dpemFyZHJ5LmNvbS8yMDEzLzA1L3RoZS1mbGFnLW9iamVjdC9cbiAqXG4gKiAxLiBBbGxvd3MgdXMgdG8gY29udHJvbCB2ZXJ0aWNhbCBhbGlnbm1lbnRzLlxuICogMi4gRm9yY2UgdGhlIG9iamVjdCB0byBiZSB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgcGFyZW50LiBDb21iaW5lZCB3aXRoIFsxXSxcbiAqICAgIHRoaXMgbWFrZXMgdGhlIG9iamVjdCBiZWhhdmUgaW4gYSBxdWFzaS1gZGlzcGxheTogYmxvY2s7YCBtYW5uZXIuXG4gKi9cblxuLm8tZmxhZyB7XG4gIGRpc3BsYXk6IHRhYmxlOyAvKiBbMV0gKi9cbiAgd2lkdGg6IDEwMCU7IC8qIFsyXSAqL1xufVxuXG5cbiAgLyoqXG4gICAqIEl0ZW1zIHdpdGhpbiBhIGZsYWcgb2JqZWN0LiBUaGVyZSBzaG91bGQgb25seSBldmVyIGJlIG9uZSBvZiBlYWNoLlxuICAgKlxuICAgKiAxLiBEZWZhdWx0IHRvIGFsaWduaW5nIGNvbnRlbnQgdG8gdGhlaXIgbWlkZGxlcy5cbiAgICovXG5cbiAgLm8tZmxhZ19faW1nLFxuICAuby1mbGFnX19ib2R5IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIFsxXSAqL1xuICB9XG5cblxuICAvKipcbiAgICogRmxhZyBpbWFnZXMgaGF2ZSBhIHNwYWNlIGJldHdlZW4gdGhlbSBhbmQgdGhlIGJvZHkgb2YgdGhlIG9iamVjdC5cbiAgICpcbiAgICogMS4gRm9yY2UgYC5mbGFnX19pbWdgIHRvIHRha2UgdXAgYXMgbGl0dGxlIHNwYWNlIGFzIHBvc3NpYmxlOlxuICAgKiAgICBodHRwczovL3BpeGVsc3ZzYnl0ZXMuY29tLzIwMTIvMDIvdGhpcy1jc3MtbGF5b3V0LWdyaWQtaXMtbm8taG9seS1ncmFpbC9cbiAgICovXG5cbiAgLm8tZmxhZ19faW1nIHtcbiAgICB3aWR0aDogMXB4OyAvKiBbMV0gKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdDtcblxuXG4gICAgLyoqXG4gICAgICogMS4gRml4ZXMgcHJvYmxlbSB3aXRoIGltYWdlcyBkaXNhcHBlYXJpbmcuXG4gICAgICovXG5cbiAgICA+IGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IC8qIFsxXSAqL1xuICAgIH1cblxuICB9XG5cblxuICAvKipcbiAgICogVGhlIGNvbnRhaW5lciBmb3IgdGhlIG1haW4gY29udGVudCBvZiB0aGUgZmxhZyBvYmplY3QuXG4gICAqXG4gICAqIDEuIEZvcmNlcyB0aGUgYC5mbGFnX19ib2R5YCB0byB0YWtlIHVwIGFsbCByZW1haW5pbmcgc3BhY2UuXG4gICAqL1xuXG4gIC5vLWZsYWdfX2JvZHkge1xuICAgIHdpZHRoOiBhdXRvOyAvKiBbMV0gKi9cblxuICAgICYsXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICB9XG5cblxuXG5cblxuLyogU2l6ZSB2YXJpYW50cy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vLWZsYWctLXRpbnkge1xuXG4gID4gLm8tZmxhZ19faW1nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC10aW55O1xuICB9XG5cbiAgJi5vLWZsYWctLXJldmVyc2Uge1xuXG4gICAgPiAuby1mbGFnX19pbWcge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtdGlueTtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5vLWZsYWctLXNtYWxsIHtcblxuICA+IC5vLWZsYWdfX2ltZyB7XG4gICAgcGFkZGluZy1yaWdodDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtc21hbGw7XG4gIH1cblxuICAmLm8tZmxhZy0tcmV2ZXJzZSB7XG5cbiAgICA+IC5vLWZsYWdfX2ltZyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1zbWFsbDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5vLWZsYWctLWxhcmdlIHtcblxuICA+IC5vLWZsYWdfX2ltZyB7XG4gICAgcGFkZGluZy1yaWdodDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtbGFyZ2U7XG4gIH1cblxuICAmLm8tZmxhZy0tcmV2ZXJzZSB7XG5cbiAgICA+IC5vLWZsYWdfX2ltZyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1sYXJnZTtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5vLWZsYWctLWh1Z2Uge1xuXG4gID4gLm8tZmxhZ19faW1nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1odWdlO1xuICB9XG5cbiAgJi5vLWZsYWctLXJldmVyc2Uge1xuXG4gICAgPiAuby1mbGFnX19pbWcge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtaHVnZTtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5vLWZsYWctLWZsdXNoIHtcblxuICA+IC5vLWZsYWdfX2ltZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6ICAwO1xuICB9XG5cbn1cblxuXG5cblxuXG4vKiBSZXZlcnNlZCBmbGFnLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBTd2FwIHRoZSByZW5kZXJlZCBkaXJlY3Rpb24gb2YgdGhlIG9iamVjdOKAplxuICogMi4g4oCmYW5kIHJlc2V0IGl0LlxuICogMy4gUmVhc3NpZ24gbWFyZ2lucyB0byB0aGUgY29ycmVjdCBzaWRlcy5cbiAqL1xuXG4uby1mbGFnLS1yZXZlcnNlIHtcbiAgZGlyZWN0aW9uOiBydGw7IC8qIFsxXSAqL1xuXG4gID4gLm8tZmxhZ19faW1nLFxuICA+IC5vLWZsYWdfX2JvZHkge1xuICAgIGRpcmVjdGlvbjogbHRyOyAvKiBbMl0gKi9cbiAgfVxuXG4gID4gLm8tZmxhZ19faW1nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvKiBbM10gKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0OyAvKiBbM10gKi9cbiAgfVxuXG59XG5cblxuXG5cblxuLyogQWxpZ25tZW50IHZhcmlhbnRzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBWZXJ0aWNhbGx5IGFsaWduIHRoZSBpbWFnZS0gYW5kIGJvZHktY29udGVudCBkaWZmZXJlbnRseS4gRGVmYXVsdHMgdG8gbWlkZGxlLlxuICovXG5cbi5vLWZsYWctLXRvcCB7XG5cbiAgPiAuby1mbGFnX19pbWcsXG4gID4gLm8tZmxhZ19fYm9keSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG59XG5cbi5vLWZsYWctLWJvdHRvbSB7XG5cbiAgPiAuby1mbGFnX19pbWcsXG4gID4gLm8tZmxhZ19fYm9keSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0xJU1QtQkFSRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBTdHJpcCBsaXN0LWxpa2UgYXBwZWFyYW5jZSBmcm9tIGxpc3RzIGJ5IHJlbW92aW5nIHRoZWlyIGJ1bGxldHMsIGFuZCBhbnlcbiAqIGluZGVudGF0aW9uLlxuICovXG5cbi5vLWxpc3QtYmFyZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNMSVNULUlOTElORVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGUgbGlzdC1pbmxpbmUgb2JqZWN0IHNpbXBseSBkaXNwbGF5cyBhIGxpc3Qgb2YgaXRlbXMgaW4gb25lIGxpbmUuXG4gKi9cblxuLm8tbGlzdC1pbmxpbmUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4gIC5vLWxpc3QtaW5saW5lX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuXG5cblxuXG4vKiBEZWxpbWl0ZWQgbGlzdC5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQnkgZGVmYXVsdCwgYXBwbHlpbmcgdGhpcyBjbGFzcyB3aWxsIGNvbW1hIHNlcGFyYXRlIHlvdXIgbGlzdCBpdGVtcy4gWW91IGNhblxuICogY2hhbmdlIHRoZSBkZWxpbWl0ZXIgYnkgcHJlZGVmaW5pbmcgdGhlIGZvbGxvd2luZyB2YXJpYWJsZTpcbiAqL1xuXG4kaW51aXQtbGlzdC1pbmxpbmUtZGVsaW1pdGVyOiAgIFwiLFxcMDBBMFwiICFkZWZhdWx0O1xuXG4vKipcbiAqIDEuIEZhbGxiYWNrIGZvciBvbGQgSUVzIG5vdCBzdXBwb3J0aW5nIGByZW1gIHZhbHVlcy5cbiAqL1xuXG4uby1saXN0LWlubGluZS0tZGVsaW1pdGVkIHtcbiAgZm9udC1zaXplOiAwO1xuXG4gID4gLm8tbGlzdC1pbmxpbmVfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogJGludWl0LWdsb2JhbC1mb250LXNpemU7IC8qIFsxXSAqL1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuXG4gID4gLm8tbGlzdC1pbmxpbmVfX2l0ZW0gKyAuby1saXN0LWlubGluZV9faXRlbSB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiN7JGludWl0LWxpc3QtaW5saW5lLWRlbGltaXRlcn1cIjtcbiAgICB9XG5cbiAgfVxuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0JPWFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGUgYm94IG9iamVjdCBzaW1wbHkgYm94ZXMgb2ZmIGNvbnRlbnQuIEV4dGVuZCB3aXRoIGNvc21ldGljIHN0eWxlcyBpbiB0aGVcbiAqIENvbXBvbmVudHMgbGF5ZXIuXG4gKlxuICogMS4gU28gd2UgY2FuIGFwcGx5IHRoZSBgLm8tYm94YCBjbGFzcyB0byBuYXR1cmFsbHktaW5saW5lIGVsZW1lbnRzLlxuICovXG5cbi5vLWJveCB7XG4gIEBpbmNsdWRlIGludWl0LWNsZWFyZml4KCk7XG4gIGRpc3BsYXk6IGJsb2NrOyAvKiBbMV0gKi9cbiAgcGFkZGluZzogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQ7XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG59XG5cblxuXG5cblxuLyogU2l6ZSB2YXJpYW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm8tYm94LS1mbHVzaCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5vLWJveC0tdGlueSB7XG4gIHBhZGRpbmc6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LXRpbnk7XG59XG5cbi5vLWJveC0tc21hbGwge1xuICBwYWRkaW5nOiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1zbWFsbDtcbn1cblxuLm8tYm94LS1sYXJnZSB7XG4gIHBhZGRpbmc6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWxhcmdlO1xufVxuXG4uby1ib3gtLWh1Z2Uge1xuICBwYWRkaW5nOiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1odWdlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCTE9DS1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBTdGFja2VkIGltYWdlLXdpdGgtdGV4dCBvYmplY3QuIEEgc2ltcGxlIGFic3RyYWN0aW9uIHRvIGNvdmVyIGEgdmVyeSBjb21tb25seVxuICogb2NjdXJyaW5nIGRlc2lnbiBwYXR0ZXJuLlxuICovXG5cbi5vLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4gIC5vLWJsb2NrX19pbWcge1xuICAgIG1hcmdpbi1ib3R0b206ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0O1xuXG5cbiAgICAvKiBTaXplIHZhcmlhbnRzLlxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC5vLWJsb2NrLS1mbHVzaCA+ICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuby1ibG9jay0tdGlueSA+ICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtdGlueTtcbiAgICB9XG5cbiAgICAuby1ibG9jay0tc21hbGwgPiAmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LXNtYWxsO1xuICAgIH1cblxuICAgIC5vLWJsb2NrLS1sYXJnZSA+ICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtbGFyZ2U7XG4gICAgfVxuXG4gICAgLm8tYmxvY2stLWh1Z2UgPiAmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWh1Z2U7XG4gICAgfVxuXG4gIH1cblxuXG4gIC5vLWJsb2NrX19ib2R5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG5cblxuXG5cbi8qIEFsaWdubWVudCB2YXJpYW50cy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vLWJsb2NrLS1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uby1ibG9jay0tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1JBVElPXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBBIGxpc3Qgb2YgYXNwZWN0IHJhdGlvcyB0aGF0IGdldCBnZW5lcmF0ZWQgYXMgbW9kaWZpZXIgY2xhc3Nlcy5cblxuJGludWl0LXJhdGlvczogKFxuICAoMjoxKSxcbiAgKDQ6MyksXG4gICgxNjo5KSxcbikgIWRlZmF1bHQ7XG5cblxuXG4vKipcbiAqIENyZWF0ZSByYXRpby1ib3VuZCBjb250ZW50IGJsb2NrcywgdG8ga2VlcCBtZWRpYSAoZS5nLiBpbWFnZXMsIHZpZGVvcykgaW5cbiAqIHRoZWlyIGNvcnJlY3QgYXNwZWN0IHJhdGlvcy5cbiAqXG4gKiBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9jcmVhdGluZy1pbnRyaW5zaWMtcmF0aW9zLWZvci12aWRlb1xuICpcbiAqIDEuIERlZmF1bHQgY3JvcHBpbmcgaXMgYSAxOjEgcmF0aW8gKGkuZS4gYSBwZXJmZWN0IHNxdWFyZSkuXG4gKi9cblxuLm8tcmF0aW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyAvKiBbMV0gKi9cbiAgfVxuXG59XG5cblxuICAuby1yYXRpb19fY29udGVudCxcbiAgLm8tcmF0aW8gPiBpZnJhbWUsXG4gIC5vLXJhdGlvID4gZW1iZWQsXG4gIC5vLXJhdGlvID4gb2JqZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAgICAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAgIDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAgMTAwJTtcbiAgfVxuXG5cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cblxuLyogUmF0aW8gdmFyaWFudHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEdlbmVyYXRlIGEgc2VyaWVzIG9mIHJhdGlvIGNsYXNzZXMgdG8gYmUgdXNlZCBsaWtlIHNvOlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tcmF0aW8gIG8tcmF0aW8tLTE2OjlcIj5cbiAqXG4gKi9cblxuQGVhY2ggJHJhdGlvIGluICRpbnVpdC1yYXRpb3Mge1xuXG4gIEBlYWNoICRhbnRlY2VkZW50LCAkY29uc2VxdWVudCBpbiAkcmF0aW8ge1xuXG4gICAgQGlmICh0eXBlLW9mKCRhbnRlY2VkZW50KSAhPSBudW1iZXIpIHtcbiAgICAgIEBlcnJvciBcImAjeyRhbnRlY2VkZW50fWAgbmVlZHMgdG8gYmUgYSBudW1iZXIuXCJcbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGNvbnNlcXVlbnQpICE9IG51bWJlcikge1xuICAgICAgQGVycm9yIFwiYCN7JGNvbnNlcXVlbnR9YCBuZWVkcyB0byBiZSBhIG51bWJlci5cIlxuICAgIH1cblxuICAgIC5vLXJhdGlvLS0jeyRhbnRlY2VkZW50fVxcOiN7JGNvbnNlcXVlbnR9OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogKCRjb25zZXF1ZW50LyRhbnRlY2VkZW50KSAqIDEwMCU7XG4gICAgfVxuXG4gIH1cblxufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0NST1BcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEEgbGlzdCBvZiBjcm9wcGluZyByYXRpb3MgdGhhdCBnZXQgZ2VuZXJhdGVkIGFzIG1vZGlmaWVyIGNsYXNzZXMuXG5cbiRpbnVpdC1jcm9wczogKFxuICAoMjoxKSxcbiAgKDQ6MyksXG4gICgxNjo5KSxcbikgIWRlZmF1bHQ7XG5cblxuXG4vKipcbiAqIFByb3ZpZGUgYSBjcm9wcGluZyBjb250YWluZXIgaW4gb3JkZXIgdG8gZGlzcGxheSBtZWRpYSAodXN1YWxseSBpbWFnZXMpXG4gKiBjcm9wcGVkIHRvIGNlcnRhaW4gcmF0aW9zLlxuICpcbiAqIDEuIFNldCB1cCBhIHBvc2l0aW9uaW5nIGNvbnRleHQgaW4gd2hpY2ggdGhlIGltYWdlIGNhbiBzaXQuXG4gKiAyLiBUaGlzIGlzIHRoZSBjcnVjaWFsIHBhcnQ6IHdoZXJlIHRoZSBjcm9wcGluZyBoYXBwZW5zLlxuICovXG5cbi5vLWNyb3Age1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFsxXSAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogWzJdICovXG59XG5cblxuICAvKipcbiAgICogQXBwbHkgdGhpcyBjbGFzcyB0byB0aGUgY29udGVudCAodXN1YWxseSBgaW1nYCkgdGhhdCBuZWVkcyBjcm9wcGluZy5cbiAgICpcbiAgICogMS4gSW1hZ2XigJlzIGRlZmF1bHQgcG9zaXRpb25pbmcgaXMgdG9wLWxlZnQgaW4gdGhlIGNyb3BwaW5nIGJveC5cbiAgICogMi4gTWFrZSBzdXJlIHRoZSBtZWRpYSBkb2VzbuKAmXQgc3RvcCBpdHNlbGYgdG9vIHNvb24uXG4gICAqL1xuXG4gIC5vLWNyb3BfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICAwOyAvKiBbMV0gKi9cbiAgICBsZWZ0OiAwOyAvKiBbMV0gKi9cbiAgICBtYXgtd2lkdGg6IG5vbmU7IC8qIFsyXSAqL1xuICB9XG5cblxuICAvKipcbiAgICogV2UgY2FuIHBvc2l0aW9uIHRoZSBtZWRpYSBpbiBkaWZmZXJlbnQgbG9jYXRpb25zIHdpdGhpbiB0aGUgY3JvcHBpbmcgYXJlYS5cbiAgICovXG5cbiAgLm8tY3JvcF9fY29udGVudC0tcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAuby1jcm9wX19jb250ZW50LS1ib3R0b20ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gIH1cblxuICAuby1jcm9wX19jb250ZW50LS1jZW50ZXIge1xuICAgIHRvcDogIDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cblxuXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5cbi8qIENyb3AtcmF0aW8gdmFyaWFudHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEdlbmVyYXRlIGEgc2VyaWVzIG9mIGNyb3AgY2xhc3NlcyB0byBiZSB1c2VkIGxpa2Ugc286XG4gKlxuICogICA8ZGl2IGNsYXNzPVwiby1jcm9wICBvLWNyb3AtLTE2OjlcIj5cbiAqXG4gKi9cblxuQGVhY2ggJGNyb3AgaW4gJGludWl0LWNyb3BzIHtcblxuICBAZWFjaCAkYW50ZWNlZGVudCwgJGNvbnNlcXVlbnQgaW4gJGNyb3Age1xuXG4gICAgQGlmICh0eXBlLW9mKCRhbnRlY2VkZW50KSAhPSBudW1iZXIpIHtcbiAgICAgIEBlcnJvciBcImAjeyRhbnRlY2VkZW50fWAgbmVlZHMgdG8gYmUgYSBudW1iZXIuXCJcbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGNvbnNlcXVlbnQpICE9IG51bWJlcikge1xuICAgICAgQGVycm9yIFwiYCN7JGNvbnNlcXVlbnR9YCBuZWVkcyB0byBiZSBhIG51bWJlci5cIlxuICAgIH1cblxuICAgIC5vLWNyb3AtLSN7JGFudGVjZWRlbnR9XFw6I3skY29uc2VxdWVudH0ge1xuICAgICAgcGFkZGluZy1ib3R0b206ICgkY29uc2VxdWVudC8kYW50ZWNlZGVudCkgKiAxMDAlO1xuICAgIH1cblxuICB9XG5cbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNUQUJMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBzaW1wbGUgb2JqZWN0IGZvciBtYW5pcHVsYXRpbmcgdGhlIHN0cnVjdHVyZSBvZiBIVE1MIGB0YWJsZWBzLlxuICovXG5cbi5vLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuXG5cblxuXG4vKiBFcXVhbC13aWR0aCB0YWJsZSBjZWxscy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogYHRhYmxlLWxheW91dDogZml4ZWRgIGZvcmNlcyBhbGwgY2VsbHMgd2l0aGluIGEgdGFibGUgdG8gb2NjdXB5IHRoZSBzYW1lXG4gKiB3aWR0aCBhcyBlYWNoIG90aGVyLiBUaGlzIGFsc28gaGFzIHBlcmZvcm1hbmNlIGJlbmVmaXRzOiBiZWNhdXNlIHRoZSBicm93c2VyXG4gKiBkb2VzIG5vdCBuZWVkIHRvIChyZSljYWxjdWxhdGUgY2VsbCBkaW1lbnNpb25zIGJhc2VkIG9uIGNvbnRlbnQgaXQgZGlzY292ZXJzLFxuICogdGhlIHRhYmxlIGNhbiBiZSByZW5kZXJlZCB2ZXJ5IHF1aWNrbHkuIEZ1cnRoZXIgcmVhZGluZzpcbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy90YWJsZS1sYXlvdXQjVmFsdWVzXG4gKi9cblxuLm8tdGFibGUtLWZpeGVkIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuXG5cblxuXG4vKiBTaXplIHZhcmlhbnRzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm8tdGFibGUtLXRpbnkge1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtdGlueTtcbiAgfVxuXG59XG5cbi5vLXRhYmxlLS1zbWFsbCB7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1zbWFsbDtcbiAgfVxuXG59XG5cbi5vLXRhYmxlLS1sYXJnZSB7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1sYXJnZTtcbiAgfVxuXG59XG5cbi5vLXRhYmxlLS1odWdlIHtcblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWh1Z2U7XG4gIH1cblxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQQUNLXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFRoZSBwYWNrIG9iamVjdCBzaW1wbHkgY2F1c2VzIGFueSBudW1iZXIgb2YgZWxlbWVudHMgcGFjayB1cCBob3Jpem9udGFsbHkgdG9cbiAqIGF1dG9tYXRpY2FsbHkgZmlsbCBhbiBlcXVhbCwgZmx1aWQgd2lkdGggb2YgdGhlaXIgcGFyZW50LlxuICpcbiAqIDEuIEZpbGwgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiAqIDIuIFJlbW92ZSBhbnkgbGVmdG92ZXIgc3R5bGluZyBmcm9tIGxpc3RzLlxuICogMy4gQ2F1c2UgY2hpbGRyZW4gdG8gYmUgYXV0b21hdGljYWxseSBlcXVhbGx5IHNpemVkLlxuICovXG5cbi5vLXBhY2sge1xuICB3aWR0aDogMTAwJTsgLyogWzFdICovXG4gIG1hcmdpbi1sZWZ0OiAwOyAvKiBbMl0gKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IC8qIFszXSAqL1xufVxuXG5cbiAgLyoqXG4gICAqIDEuIENhdXNlIGNoaWxkcmVuIHRvIGFkb3B0IHRhYmxlLWxpa2Ugc3RydWN0dXJlLlxuICAgKi9cbiAgLm8tcGFja19faXRlbSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgLyogWzFdICovXG5cblxuICAgIC8qIFZlcnRpY2FsIGFsaWdubWVudCB2YXJpYW50cy5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAuby1wYWNrLS1taWRkbGUgPiAmIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLm8tcGFjay0tYm90dG9tID4gJiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cblxuICB9XG5cblxuXG5cblxuLyogVW5lcXVhbC13aWR0aCBpdGVtcy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vLXBhY2stLWF1dG8ge1xuICB0YWJsZS1sYXlvdXQ6IGF1dG87XG59XG5cblxuXG5cblxuLyogU2l6ZSB2YXJpYW50cy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vLXBhY2stLXRpbnkge1xuICBib3JkZXItc3BhY2luZzogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtdGlueTtcbn1cblxuLm8tcGFjay0tc21hbGwge1xuICBib3JkZXItc3BhY2luZzogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtc21hbGw7XG59XG5cbi5vLXBhY2stLWxhcmdlIHtcbiAgYm9yZGVyLXNwYWNpbmc6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWxhcmdlO1xufVxuXG4uby1wYWNrLS1odWdlIHtcbiAgYm9yZGVyLXNwYWNpbmc6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWh1Z2U7XG59XG5cblxuXG5cblxuLyogUmV2ZXJzZWQgb3JkZXIgcGFja3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vLXBhY2stLXJldiB7XG4gIGRpcmVjdGlvbjogcnRsO1xuXG4gID4gLm8tcGFja19faXRlbSB7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gIH1cblxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNUQUJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNpbXBsZSB0YWJzIG9iamVjdFxuICovXG5cbi5vLXRhYnMge1xuICAgIEBpbmNsdWRlIGludWl0LWNsZWFyZml4KCk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbn1cblxuICAgIC5vLXRhYnNfX2l0ZW0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJlthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4uby10YWJzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgIGJvcmRlci10b3A6IDA7XG59XG5cbiAgICAuby10YWJzLWNvbnRlbnRfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG5cblxuLyogU2l6ZSB2YXJpYW50cy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vLXRhYnMtLXZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICA+IC5vLXRhYnNfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCRUxUXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNjcm9sbGFibGUgY29udmV5b3IgYmVsdCBsaWtlIGNvbXBvbmVudHMuXG4gKi9cblxuLm8tYmVsdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xufVxuXG4gICAgLm8tYmVsdF9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGludWl0LWxpc3QtYmFyZSgpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB9XG5cbiAgICAuby1iZWx0X19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAkdW5pdDtcbiAgICB9XG5cblxuXG5cblxuLyogRnVuY3Rpb25hbCB2YXJpYW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm8tYmVsdC0tc25hcHB5IHtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLXdlYmtpdC1zY3JvbGwtc25hcC10eXBlOiBtYW5kYXRvcnk7XG4gICAgLXdlYmtpdC1zY3JvbGwtc25hcC1kZXN0aW5hdGlvbjogNTAlIDUwJTtcblxuICAgIC5vLWJlbHRfX2l0ZW0ge1xuICAgICAgICAtd2Via2l0LXNjcm9sbC1zbmFwLWNvb3JkaW5hdGU6IDYwJSA1MCU7XG4gICAgfVxufVxuXG5cblxuXG5cblxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjQlVUVE9OU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGlzIGlzIGFuIGV4YW1wbGUgY29tcG9uZW50LiBFeHRlbmQgaW51aXRjc3MgYnkgYnVpbGRpbmcgeW91ciBvd24gY29tcG9uZW50c1xuICogdGhhdCBtYWtlIHVwIHlvdXIgVUkuIENvbXBvbmVudCBjbGFzc2VzIGFyZSBwcmVmaXhlZCB3aXRoIGEgYGMtYC5cbiAqL1xuXG4vKipcbiAqIDEuIEFsbG93IHVzIHRvIHN0eWxlIGJveCBtb2RlbCBwcm9wZXJ0aWVzLlxuICogMi4gTGluZSBkaWZmZXJlbnQgc2l6ZWQgYnV0dG9ucyB1cCBhIGxpdHRsZSBuaWNlci5cbiAqIDMuIE1ha2UgYnV0dG9ucyBpbmhlcml0IGZvbnQgc3R5bGVzIChvZnRlbiBuZWNlc3Nhcnkgd2hlbiBzdHlsaW5nIGBpbnB1dGBzIGFzXG4gKiAgICBidXR0b25zKS5cbiAqIDQuIFJlc2V0L25vcm1hbGl6ZSBzb21lIHN0eWxlcy5cbiAqIDUuIEZvcmNlIGFsbCBidXR0b24tc3R5bGVkIGVsZW1lbnRzIHRvIGFwcGVhciBjbGlja2FibGUuXG4gKi9cblxuLmMtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiBbMV0gKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogWzJdICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIFszXSAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIFs0XSAqL1xuICBtYXJnaW46IDA7IC8qIFs0XSAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIFs1XSAqL1xuICBwYWRkaW5nOiAkdW5pdC1zbWFsbCAkdW5pdDtcbiAgdHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1pbi13aWR0aDogMTUycHg7XG59XG5cblxuXG5cblxuLyogU3R5bGUgdmFyaWFudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJ0bi0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuXG4gICYsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8qIFs0XSAqL1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKGNvbG9yKHByaW1hcnkpLCAyMCUpO1xuICB9XG5cbn1cblxuLmMtYnRuLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnkpO1xuXG4gICYsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oY29sb3Ioc2Vjb25kYXJ5KSwgMjAlKTtcbiAgfVxuXG59XG5cbi5jLWJ0bi0tdGVydGlhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzRhOGVjMjtcblxuICAmLFxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjNGE4ZWMyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICMzNzc0YTI7XG4gIH1cblxufVxuXG5cblxuXG5cbi8qIFNpemUgdmFyaWFudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJ0bi0tc21hbGwge1xuICBwYWRkaW5nOiBpbnVpdC1yZW0oJHVuaXQtdGlueSkgaW51aXQtcmVtKCR1bml0LXNtYWxsKTtcbn1cblxuLmMtYnRuLS1sYXJnZSB7XG4gIHBhZGRpbmc6IGludWl0LXJlbSgkdW5pdCkgaW51aXQtcmVtKCR1bml0LWxhcmdlKTtcbn1cblxuLmMtYnRuLS1maXQge1xuICBtaW4td2lkdGg6IGluaXRpYWw7XG59XG5cblxuXG5cblxuLyogR2hvc3QgYnV0dG9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBHaG9zdCBidXR0b25zIGhhdmUgc2VlLXRocm91Z2ggYmFja2dyb3VuZHMgYW5kIGFyZSBib3JkZXJlZC5cbiAqL1xuXG4kYnRuLWdob3N0LWJvcmRlci13aWR0aDogMnB4O1xuXG4uYy1idG4tLWdob3N0IHtcbiAgYm9yZGVyOiAkYnRuLWdob3N0LWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIHBhZGRpbmc6ICgkdW5pdC1zbWFsbCAtICRidG4tZ2hvc3QtYm9yZGVyLXdpZHRoKSAoJHVuaXQgLSAkYnRuLWdob3N0LWJvcmRlci13aWR0aCk7XG5cbiAgJixcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICAmLmMtYnRuLS1zbWFsbCB7XG4gICAgcGFkZGluZzogKCR1bml0LXRpbnkgLSAkYnRuLWdob3N0LWJvcmRlci13aWR0aCkgKCR1bml0LXNtYWxsIC0gJGJ0bi1naG9zdC1ib3JkZXItd2lkdGgpO1xuICB9XG5cbiAgJi5jLWJ0bi0tbGFyZ2Uge1xuICAgIHBhZGRpbmc6ICgkdW5pdCAtICRidG4tZ2hvc3QtYm9yZGVyLXdpZHRoKSAoJHVuaXQtbGFyZ2UgLSAkYnRuLWdob3N0LWJvcmRlci13aWR0aCk7XG4gIH1cblxuICAmLmMtYnRuLS1wcmltYXJ5IHtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IGRhcmtlbihjb2xvcihwcmltYXJ5KSwgMjAlKTtcbiAgICB9XG5cbiAgfVxuXG4gICYuYy1idG4tLXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICMyZjQwNTQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICMxZDI3MzM7XG4gICAgfVxuXG4gIH1cblxuICAmLmMtYnRuLS10ZXJ0aWFyeSB7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gIH1cblxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNOQVYtTUFJTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGlzIGlzIGEgYnJpZWYgZGVzY3JpcHRpb25cbiAqL1xuXG4uYy1uYXYtbWFpbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEycHgsIDEuMik7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG59XG5cbiAgICAuYy1uYXYtbWFpbl9faXRlbSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0NCQ0JDQjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmMtbmF2LW1haW5fX2xpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6ICR1bml0LXNtYWxsO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAvLyAuaGFzLXN1Ym1lbnUgPiAmIHtcbiAgICAgICAgLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAuaGFzLXN1Ym1lbnUgPiAmIHtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIiArXCI7XG5cbiAgICAgICAgICAgICAgICAgICAgLmMtcGFnZS1mb290ICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgOmhvdmVyID4gJixcbiAgICAgICAgICAgIDpmb2N1cyA+ICYsXG4gICAgICAgICAgICAuaXMtYWN0aXZlID4gJiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jLW5hdi1tYWluX19pbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICB+IC5jLW5hdi1tYWluX19zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB+IC5jLW5hdi1tYWluX190b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICAuaWNvbi1yZW1vdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmljb24tYWRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1uYXYtbWFpbl9fdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMDVlbSAxLjE1ZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgei1pbmRleDogMzA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLXJlbW92ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuYy1uYXYtbWFpbl9fc3VibWVudSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44M2VtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDI1MG1zIGVhc2U7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00NSUpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAvLyBib3R0b206IC0zLjJlbTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcblxuICAgICAgICAgICAgLmMtbmF2LW1haW5fX2l0ZW06aG92ZXIgPiAmIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgLmMtcGFnZS1mb290ICYge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmMtbmF2LW1haW5fX2l0ZW06Zmlyc3Qtb2YtdHlwZSA+ICYge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jLW5hdi1tYWluX19pdGVtOmxhc3Qtb2YtdHlwZSA+ICYge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYy1uYXYtbWFpbl9faXRlbTpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSA+ICYge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC01MCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmMtbmF2LW1haW5fX3N1Yml0ZW0ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgICAgICAuYy1uYXYtbWFpbl9fbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkdW5pdCAkdW5pdC1zbWFsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI05BVi1mb290XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFRoaXMgaXMgYSBicmllZiBkZXNjcmlwdGlvblxuICovXG5cbi5jLW5hdi1mb290IHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTJweCk7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiAgICAuYy1uYXYtZm9vdF9faXRlbSB7XG5cbiAgICB9XG5cbiAgICAuYy1uYXYtZm9vdF9fbGluayB7fVxuXG4gICAgLmMtbmF2LWZvb3RfX3N1Ym1lbnUge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jLW5hdi1mb290X19zdWJpdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuXG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNOQVYtc2lkZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGlzIGlzIGEgYnJpZWYgZGVzY3JpcHRpb25cbiAqL1xuXG4uYy1uYXYtc2lkZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEycHgsIDEuMik7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgID4gLmMtbmF2LXNpZGVfX2l0ZW0ge1xuXG4gICAgICAgICAgICAmICsgLmMtbmF2LXNpZGVfX2l0ZW0ge1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4gICAgLmMtbmF2LXNpZGVfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDQkNCQ0I7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jLW5hdi1zaWRlX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6ICR1bml0LXNtYWxsO1xuXG4gICAgICAgIC5oYXMtc3VibWVudSA+ICYge1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiArXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA6aG92ZXIgPiAmLFxuICAgICAgICA6Zm9jdXMgPiAmLFxuICAgICAgICAuaXMtYWN0aXZlID4gJiB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmMtbmF2LXNpZGVfX3N1Ym1lbnUge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAuYy1uYXYtc2lkZV9faXRlbTpob3ZlciA+ICYge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmMtbmF2LXNpZGVfX3N1Yml0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG5cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1BBR0UtSEVBRFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBNYWluIHBhZ2UgaGVhZCBzdHlsaW5nLlxuICovXG5cbi5jLXBhZ2UtaGVhZCB7XG4gICAgcGFkZGluZzogJHVuaXQgMDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuICAgIC5jLXBhZ2UtaGVhZF9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1wYWdlLWhlYWRfX2xvZ28ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQQUdFLU1BSU5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVGhpcyBpcyBhIGJyaWVmIGRlc2NyaXB0aW9uXG4gKi9cblxuLmMtcGFnZS1tYWluIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdW5pdDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4gICAgLmMtcGFnZS1tYWluX190aXRsZSxcbiAgICAuYy1wYWdlLW1haW5fX2JvZHkge1xuICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jLXBhZ2UtbWFpbl9fc3ViaGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoMThweCwgMS4zKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDI0cHgsIDEuMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1wYWdlLW1haW5fX3N1YmhlYWRpbmctLWFsdCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmMtcGFnZS1tYWluX19zdWJoZWFkaW5nLS1zbWFsbCB7XG4gICAgICAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgxOHB4LCAxLjMpO1xuICAgIH1cblxuXG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQQUdFLUZPT1RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogTWFpbiBwYWdlIGZvb3Qgc3R5bGluZy5cbiAqL1xuXG4uYy1wYWdlLWZvb3Qge1xuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6ICR1bml0IDA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6ICR1bml0O1xuICAgICAgICBjb2xvcjogIzc4Nzg3ODtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGdsb2JhbC10cmFuc2l0aW9uIGVhc2U7XG5cbiAgICAgICAgLmhhcy1tYWluLW5hdi1vcGVuICYge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcbiAgICAgICAgcGFkZGluZzogJHVuaXQtc21hbGwgMDtcblxuICAgICAgICBociB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdW5pdC1zbWFsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuICAgIC5jLXBhZ2UtZm9vdF9fd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1wYWdlLWZvb3RfX2xvZ28ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHVuaXQtc21hbGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1wYWdlLWZvb3RfX21lbnUge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkdW5pdC1zbWFsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kdW5pdC1zbWFsbDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSR1bml0LXNtYWxsO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgLmMtbmF2LXNpZGVfX2l0ZW0ge1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciA+IC5jLW5hdi1zaWRlX19saW5rLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMgPiAuYy1uYXYtc2lkZV9fbGluayxcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSA+IC5jLW5hdi1zaWRlX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1wYWdlLWZvb3RfX2NvcHkge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEwcHgsIDEuMik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtc21hbGw7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR1bml0LXNtYWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEwcHgsIDEuMik7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdW5pdC10aW55O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYy1wYWdlLWZvb3RfX3NvY2lhbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMCAkdW5pdC10aW55O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmMtcGFnZS1mb290X19zb2NpYWwtLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogJHVuaXQtdGlueTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuLmMtcGFnZS1mb290LWJ0biB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjU1ZW0gMC42ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IodGVydGlhcnkpO1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICB9XG59XG5cbi5jLXBhZ2UtZm9vdC1vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRnbG9iYWwtdHJhbnNpdGlvbiBlYXNlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICB6LWluZGV4OiAzMDtcblxuICAgICAgICAuaGFzLW1haW4tbmF2LW9wZW4gJiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNGUk9NXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEJhc2ljIGZvcm0gY29tcG9uZW50LlxuICovXG5cbi5jLWZvcm0ge31cblxuICAgIC5jLWZvcm1fX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdW5pdDtcbiAgICB9XG5cbiAgICAuYy1mb3JtX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHVuaXQtc21hbGw7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jLWZvcm1fX2Vycm9ycyB7fVxuXG4gICAgLmMtZm9ybV9fZXJyb3ItbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGludWl0LWxpc3QtYmFyZSgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jLWZvcm1fX2Vycm9yLWl0ZW0ge1xuICAgIH1cblxuICAgIC5jLWZvcm1fX2Vycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEzcHgpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdW5pdC1zbWFsbDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6IHJlZDtcbiAgICB9XG5cbiAgICAuYy1mb3JtX192YWx1ZSB7XG5cbiAgICAgICAgaW5wdXQ6bm90KFt0eXBlXSksXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcblxuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2NiY2JjYjtcbiAgICAgICAgICAgIC8vIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdW5pdC10aW55ICR1bml0LXRpbnk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgICAgIH1cblxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VEMGlNVEp3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpSd2VDSWdhR1ZwWjJoMFBTSXpjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJJRE1pSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURZZ015SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0kxTGprNU1pd3dJREl1T1RreUxETWdMVEF1TURBNExEQWdJaTgrUEM5emRtYytcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lICAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmMtZm9ybV9fc3VibWl0IHt9XG5cblxuXG5cblxuLmMtZm9ybS0tZnJhbmNoaXNlIHtcblxuICAgIGZvcm0ge1xuICAgICAgICBAZXh0ZW5kIC5vLWxheW91dDtcbiAgICAgICAgQGV4dGVuZCAuby1sYXlvdXQtLWxhcmdlO1xuICAgIH1cbn1cblxuXG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiNJTlNUQUdSQU1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuKiBUaGlzIGlzIHRoZSBtYWluIGluc3RhZ3JhbSBmZWVkIHN0eWxpbmcuXG4qL1xuXG4uYy1pbnN0YWdyYW0ge31cblxuLmMtaW5zdGFncmFtX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmMtaW5zdGFncmFtX19vdmVybGF5IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1pbnN0YWdyYW1fX2xpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWluc3RhZ3JhbV9fb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEwcHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6ICR1bml0LWxhcmdlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMgZWFzZTtcbn1cblxuXG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiNTTElERVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4qIFRoaXMgaXMgdGhlIG1haW4gbGlzdGluZyBzbGlkZSBvciBpdGVtLlxuKi9cblxuLmMtc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vICY6YWZ0ZXIge1xuICAgIC8vICAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgLy8gICAgIHRvcDogMDtcbiAgICAvLyAgICAgbGVmdDogMDtcbiAgICAvLyAgICAgYm90dG9tOiAwO1xuICAgIC8vICAgICByaWdodDogMDtcbiAgICAvLyB9XG59XG5cbi5jLXNsaWRlX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkdW5pdDtcbiAgICBsZWZ0OiAkdW5pdDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDEpO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5jLXNsaWRlX190aXRsZSB7XG4gICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDI0cHgsIDEuMjEpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG1hcmdpbi1ib3R0b206ICR1bml0LXRpbnk7XG59XG5cbi5jLXNsaWRlX19saW5rIHtcbiAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoMTFweCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICR1bml0LXNtYWxsO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjI1JTIyJTIwaGVpZ2h0JTNEJTIyNyUyMiUyMHZpZXdCb3glM0QlMjIxMTklMjA0JTIwNSUyMDclMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBzdHJva2UlM0QlMjIlMjNGRkYlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGQlM0QlMjJNMTIwJTIwOS44OTZsMi41NzUtMi4zMzZMMTIwJTIwNSUyMiUyRiUzRSUzQyUyRnN2ZyUzRScpO1xufVxuXG4uYy1zbGlkZV9fbGluay0tZGFyayB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjI1JTIyJTIwaGVpZ2h0JTNEJTIyNyUyMiUyMHZpZXdCb3glM0QlMjIxMTklMjA0JTIwNSUyMDclMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBzdHJva2UlM0QlMjIlMjMwMDAlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGQlM0QlMjJNMTIwJTIwOS44OTZsMi41NzUtMi4zMzZMMTIwJTIwNSUyMiUyRiUzRSUzQyUyRnN2ZyUzRScpO1xufVxuXG5cbi5jLXNsaWRlLS1saWdodCB7XG4gICAgLmMtc2xpZGVfX2NvbnRlbnQge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIC5jLXNsaWRlX19saW5rIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNSUyMiUyMGhlaWdodCUzRCUyMjclMjIlMjB2aWV3Qm94JTNEJTIyMTE5JTIwNCUyMDUlMjA3JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwc3Ryb2tlJTNEJTIyJTIzMDAwJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBkJTNEJTIyTTEyMCUyMDkuODk2bDIuNTc1LTIuMzM2TDEyMCUyMDUlMjIlMkYlM0UlM0MlMkZzdmclM0UnKTtcbiAgICB9XG59XG5cblxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjUFJPRFVDVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGUgcHJvZHVjdCBsaXN0aW5nIHNpbmdsZSBpdGVtLlxuICovXG5cbi5jLXByb2R1Y3Qge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5jLXByb2R1Y3RfX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogJHVuaXQtc21hbGw7XG59XG5cbi5jLXByb2R1Y3RfX3RlYXNlciB7XG4gIG1hcmdpbi1ib3R0b206ICR1bml0LXNtYWxsO1xufVxuXG4uYy1wcm9kdWN0LS1mZWF0dXJlZCB7XG5cbiAgLmMtcHJvZHVjdF9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgxNHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuIiwiJHNlYXJjaC1mb3JtLXNpemU6IDE2cHg7XG4kc2VhcmNoLWZvcm0taGVpZ2h0OiAzMnB4O1xuXG4uYy1zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6ICRzZWFyY2gtZm9ybS1oZWlnaHQ7XG59XG5cbi5jLXNlYXJjaF9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG59XG5cbi5zYi1zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwJTtcbiAgbWluLXdpZHRoOiAkc2VhcmNoLWZvcm0tc2l6ZTtcbiAgaGVpZ2h0OiAkc2VhcmNoLWZvcm0taGVpZ2h0O1xuICBmbG9hdDogcmlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2Itc2VhcmNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzZWFyY2gtZm9ybS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDAgJHNlYXJjaC1mb3JtLXNpemU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnNiLWljb24tc2VhcmNoLFxuLnNiLXNlYXJjaC1zdWJtaXQgIHtcbiAgd2lkdGg6ICRzZWFyY2gtZm9ybS1zaXplO1xuICBoZWlnaHQ6ICRzZWFyY2gtZm9ybS1oZWlnaHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6ICRzZWFyY2gtZm9ybS1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnNiLXNlYXJjaC1zdWJtaXQge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyAvKiBJRSBuZWVkcyB0aGlzICovXG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjsgLyogSUUgOCAqL1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgLyogSUUgNS03ICovXG4gICAgb3BhY2l0eTogMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uc2ItaWNvbi1zZWFyY2gge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogOTA7XG4gIHNwZWFrOiBub25lO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLyogT3BlbiBzdGF0ZSAqL1xuLnNiLXNlYXJjaC5zYi1zZWFyY2gtb3Blbixcbi5uby1qcyAuc2Itc2VhcmNoIHtcbiAgd2lkdGg6IDY0MHB4O1xuXG4gIEBpbmNsdWRlIG1xKGRlc2t0b3ApIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtcSh3aWRlKSB7XG4gICAgd2lkdGg6IDU2MHB4O1xuICB9XG4gIFxufVxuXG4uc2Itc2VhcmNoLnNiLXNlYXJjaC1vcGVuIC5zYi1pY29uLXNlYXJjaCxcbi5uby1qcyAuc2Itc2VhcmNoIC5zYi1pY29uLXNlYXJjaCB7XG4gIGNvbG9yOiAjZmZmO1xuICB6LWluZGV4OiAxMTtcbn1cblxuLnNiLXNlYXJjaC5zYi1zZWFyY2gtb3BlbiAuc2Itc2VhcmNoLXN1Ym1pdCxcbi5uby1qcyAuc2Itc2VhcmNoIC5zYi1zZWFyY2gtc3VibWl0IHtcbiAgei1pbmRleDogOTA7XG59XG4iLCIvKipcbiAqICAgRGVmYXVsdCB2YXJpYWJsZXNcbiAqXG4gKiAgIFdoaWxlIHRoZXNlIGNhbiBiZSBzZXQgd2l0aCBKYXZhU2NyaXB0LCBpdCdzIHByb2JhYmx5XG4gKiAgIGJldHRlciBhbmQgZmFzdGVyIHRvIGp1c3Qgc2V0IHRoZW0gaGVyZSwgY29tcGlsZSB0b1xuICogICBDU1MgYW5kIGluY2x1ZGUgdGhhdCBpbnN0ZWFkIHRvIHVzZSBzb21lIG9mIHRoYXRcbiAqICAgaGFyZHdhcmUtYWNjZWxlcmF0ZWQgZ29vZG5lc3MuXG4gKi9cblxuLy8gIFVuc2xpZGVyIDIgaGFzIG5hdmlnYXRpb24gc3R5bGVzIHByZS1kZXNpZ25lZC4gWW91IGNhbiB0dXJuIGl0IG9mZiBoZXJlLlxuJHVuc2xpZGVyLWRvdC1uYXZpZ2F0aW9uOiB0cnVlO1xuJHVuc2xpZGVyLWRvdC1jb2xvdXI6ICNEOEQ4RDg7XG5cbi8vICBVbnNsaWRlciAyIGhhcyBuYXZpZ2F0aW9uIHN0eWxlcyBwcmUtZGVzaWduZWQuIFlvdSBjYW4gdHVybiBpdCBvZmYgaGVyZS5cbiR1bnNsaWRlci10cmFuc2l0aW9uLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQyLDAsLjU4LDEpO1xuXG4vLyBTZXQgYSBuYW1lc3BhY2UgZm9yIFVuc2xpZGVyXG4kdW5zbGlkZXItbmFtZXNwYWNlOiAndW5zbGlkZXInO1xuXG5AaWYoJHVuc2xpZGVyLWRvdC1uYXZpZ2F0aW9uKXtcbiAgICAuI3skdW5zbGlkZXItbmFtZXNwYWNlfS1uYXYsICUjeyR1bnNsaWRlci1uYW1lc3BhY2V9LW5hdiB7XG4gICAgICAgIHBhZGRpbmc6ICR1bml0LXRpbnk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHVuc2xpZGVyLWRvdC1jb2xvdXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHVuc2xpZGVyLWRvdC1jb2xvdXI7XG5cbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAmLnVuc2xpZGVyLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHVuc2xpZGVyLW5hbWVzcGFjZX0sICUjeyR1bnNsaWRlci1uYW1lc3BhY2V9IHtcbiAgICAvLyAgU2hvdWxkIGVpdGhlciBiZSByZWxhdGl2ZSBvciBhYnNvbHV0ZVxuICAgIC8vICBhcyBsb25nIGFzIGl0J3Mgbm90IHN0YXRpYywgYnV0IHdlJ2xsXG4gICAgLy8gIHNldCBpdCB1c2luZyBqUXVlcnlcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi51bnNsaWRlci1jYXJvdXNlbCA+IGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gIFZlcnRpY2FsIHNsaWRlcnMgZG9uJ3QgZmxvYXQgbGVmdFxuICAgICYtdmVydGljYWwge1xuICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAgRmFkaW5nIG5lZWRzIGV2ZXJ5dGhpbmcgdG8gYXBwZWFyIG9uIHRvcCBvZlxuICAgIC8vICBlYWNoIG90aGVyXG4gICAgJi1mYWRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC51bnNsaWRlci13cmFwIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDg7XG5cbiAgICAgICAgICAgICYudW5zbGlkZXItYWN0aXZlIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsLCBvbCwgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIC8qIFJlc2V0IGFueSB3ZWlyZCBzcGFjaW5nICovXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAwLjM1ZXg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgIH1cblxuICAgICYtYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDQxJTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogJHVuaXQtdGlueSAkdW5pdC1zbWFsbCAkdW5pdC10aW55ICR1bml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjI1JTIyJTIwaGVpZ2h0JTNEJTIyNyUyMiUyMHZpZXdCb3glM0QlMjItMSUyMDQlMjA1JTIwNyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMHN0cm9rZSUzRCUyMiUyMzAwMCUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwZCUzRCUyMk0yLjU3NSUyMDVMMCUyMDcuMzM2bDIuNTc1JTIwMi41NiUyMiUyRiUzRSUzQyUyRnN2ZyUzRScpO1xuXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogNDElO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICR1bml0LXRpbnkgJHVuaXQgJHVuaXQtdGlueSAkdW5pdC1zbWFsbDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjUlMjIlMjBoZWlnaHQlM0QlMjI3JTIyJTIwdmlld0JveCUzRCUyMjExOSUyMDQlMjA1JTIwNyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMHN0cm9rZSUzRCUyMiUyMzAwMCUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwZCUzRCUyMk0xMjAlMjA5Ljg5NmwyLjU3NS0yLjMzNkwxMjAlMjA1JTIyJTJGJTNFJTNDJTJGc3ZnJTNFJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQ29udGVudHM6XG4vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vICAgIC0gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi8vICAgIC0gQ29udGFpbmVycywgd3JhcHBlcnNcbi8vICAgIC0gQ3Vyc29yc1xuLy8gICAgLSBIZWxwZXIgY2xhc3Nlc1xuLy8gMi4gQXBwZWFyYW5jZVxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi8vICAgIC0gQ1NTIHJlc2V0IGZvciBidXR0b25zXG4vLyAgICAtIENsb3NlIGljb25cbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXG4vLyAgICAtIE5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFycm93c1xuLy8gICAgLSBJZnJhbWUgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIE1lZGlhIHF1ZXJ5IHdoZXJlIHNpemUgb2YgYXJyb3dzIGlzIHJlZHVjZWRcbi8vICAgIC0gSUU3IHN1cHBvcnRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgU2V0dGluZ3MgICAgICAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIG92ZXJsYXlcbiRtZnAtb3ZlcmxheS1jb2xvcjogICAgICAgICAgICAgICAgICAgIzBiMGIwYiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIG92ZXJsYXkgc2NyZWVuXG4kbWZwLW92ZXJsYXktb3BhY2l0eTogICAgICAgICAgICAgICAgIDAuNjg7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDsgLy8gU2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuXG4vLyBzcGFjaW5nXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgIDhweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSB6LWluZGV4IG9mIHBvcHVwXG5cbi8vIGNvbnRyb2xzXG4kbWZwLWluY2x1ZGUtYXJyb3dzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNsdWRlIHN0eWxlcyBmb3IgbmF2IGFycm93c1xuJG1mcC1jb250cm9scy1vcGFjaXR5OiAgICAgICAgICAgICAgICAwLjY1ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1jb2xvcjogICAgICAgICAgICAgICAgICAkY29sb3ItcHJpbWFyeTsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIGNvbnRyb2xzXG4kbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjogICAgICAgICAgICMzRjNGM0YgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBCb3JkZXIgY29sb3Igb2YgY29udHJvbHNcbiRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjogICAgICAgICAgIzMzMyAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIGNsb3NlIGJ1dHRvbiB3aGVuIGluc2lkZVxuJG1mcC1jb250cm9scy10ZXh0LWNvbG9yOiAgICAgICAgICAgICAkY29sb3ItYm9keTsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjogICAgICAgI0ZGRiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdmVyIGNvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcblxuLy8gSWZyYW1lLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlOiAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIElmcmFtZS10eXBlIHBvcHVwc1xuJG1mcC1pZnJhbWUtcGFkZGluZy10b3A6ICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSWZyYW1lIHBhZGRpbmcgdG9wXG4kbWZwLWlmcmFtZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLW1heC13aWR0aDogICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vIE1heGltdW0gd2lkdGggb2YgaWZyYW1lc1xuJG1mcC1pZnJhbWUtcmF0aW86ICAgICAgICAgICAgICAgICAgICA5LzE2ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gUmF0aW8gb2YgaWZyYW1lICg5LzE2ID0gd2lkZXNjcmVlbiwgMy80ID0gc3RhbmRhcmQsIGV0Yy4pXG5cbi8vIEltYWdlLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWltYWdlLXR5cGU6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIEltYWdlLXR5cGUgcG9wdXBzXG4kbWZwLWltYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbWZwLWltYWdlLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgIDA7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBwYWRkaW5nIHRvcFxuJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyBib3R0b21cbiRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZTogdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZXMgcGFkZGluZ3MgZnJvbSB0b3AgYW5kIGJvdHRvbVxuXG4vLyBJbWFnZSBjYXB0aW9uIG9wdGlvbnNcbiRtZnAtY2FwdGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgJGNvbG9yLWJvZHk7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHRpdGxlIGNvbG9yXG4kbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I6ICAgICAgICAgICNCREJEQkQgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHN1YnRpdGxlIGNvbG9yXG5cbi8vIEExMXlcbiRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vIEhpZGUgY29udGVudCBmcm9tIGJyb3dzZXJzLCBidXQgbWFrZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAxLiBHZW5lcmFsIHN0eWxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIFRyYW5zbHVzY2VudCBvdmVybGF5XG4ubWZwLWJnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogJG1mcC1vdmVybGF5LWNvbG9yO1xuICBvcGFjaXR5OiAkbWZwLW92ZXJsYXktb3BhY2l0eTtcbn1cblxuLy8gV3JhcHBlciBmb3IgcG9wdXBcbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIGZpeGVzIHdlYmtpdCBidWcgdGhhdCBjYW4gY2F1c2UgXCJmYWxzZVwiIHNjcm9sbGJhclxufVxuXG4vLyBSb290IGNvbnRhaW5lclxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBWZXJ0aWNhbCBjZW50ZXJlciBoZWxwZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi8vIFJlbW92ZSB2ZXJ0aWNhbCBjZW50ZXJpbmcgd2hlbiBwb3B1cCBoYXMgY2xhc3MgYG1mcC1hbGlnbi10b3BgXG4ubWZwLWFsaWduLXRvcCB7XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQb3B1cCBjb250ZW50IGhvbGRlclxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDU7XG59XG5cbi5tZnAtaW5saW5lLWhvbGRlciwgLm1mcC1hamF4LWhvbGRlciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi8vIEN1cnNvcnNcbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuXG4ubWZwLXpvb20tb3V0LWN1ciB7XG4gICYsIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgIGN1cnNvcjogLW1vei16b29tLW91dDtcbiAgICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gICAgY3Vyc29yOiB6b29tLW91dDtcbiAgfVxufVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluO1xufVxuXG4ubWZwLWF1dG8tY3Vyc29yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1mcC1jbG9zZSwgLm1mcC1hcnJvdywgLm1mcC1wcmVsb2FkZXIsIC5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLyBIaWRlIHRoZSBpbWFnZSBkdXJpbmcgdGhlIGxvYWRpbmdcbi5tZnAtbG9hZGluZyB7XG4gICYubWZwLWZpZ3VyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiBvcHRpb25hbGx5IGhpZGUgYXJyb3dzIHVudGlsIGltYWdlIGlzIGRpc3BsYXllZCAqL1xuLm1mcC1zLWxvYWRpbmcgLm1mcC1hcnJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIEhlbHBlciBjbGFzcyB0aGF0IGhpZGVzIHN0dWZmXG5AaWYgJG1mcC11c2UtdmlzdWFsbHloaWRkZW4ge1xuICAvLyBGcm9tIEhUTUw1IEJvaWxlcnBsYXRlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvdjQuMi4wL2RvYy9jc3MubWQjdmlzdWFsbHloaWRkZW5cbiAgLm1mcC1oaWRlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZnAtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAyLiBBcHBlYXJhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gUHJlbG9hZGVyIGFuZCB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcblxuICBhIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIaWRlIHByZWxvYWRlciB3aGVuIGNvbnRlbnQgc3VjY2Vzc2Z1bGx5IGxvYWRlZFxuLm1mcC1zLXJlYWR5IHtcbiAgLm1mcC1wcmVsb2FkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gSGlkZSBjb250ZW50IHdoZW4gaXQgd2FzIG5vdCBsb2FkZWRcbi5tZnAtcy1lcnJvciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBDU1MtcmVzZXQgZm9yIGJ1dHRvbnNcbmJ1dHRvbiB7XG4gICYubWZwLWNsb3NlLCAmLm1mcC1hcnJvdyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAvLyBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuXG4vLyBDbG9zZSBpY29uXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgLy8gbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcbiAgcGFkZGluZzogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtc21hbGw7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjMzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgPiAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gcHJldmVudCBjbG9zaW5nIHdoZW4gdXNpbmcgc3ZncyBpbnNpZGVcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLm1mcC1jbG9zZS1idG4taW4ge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yO1xuICB9XG59XG5cbi5tZnAtaW1hZ2UtaG9sZGVyLCAubWZwLWlmcmFtZS1ob2xkZXIge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICAvLyByaWdodDogLTZweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAvLyBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gXCIxIG9mIFhcIiBjb3VudGVyXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIE5hdmlnYXRpb24gYXJyb3dzXG5AaWYgJG1mcC1pbmNsdWRlLWFycm93cyB7XG4gICRtZnAtYXJyb3ctd2lkdGg6IDkwcHg7XG5cbiAgLm1mcC1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTU1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogJG1mcC1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6IDExMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG5cbiAgICA+ICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIHByZXZlbnQgY2xvc2luZyB3aGVuIHVzaW5nIHN2Z3MgaW5zaWRlXG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLTU0cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC8vICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAvLyAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAvLyAgIHdpZHRoOiAwO1xuICAgIC8vICAgaGVpZ2h0OiAwO1xuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgbGVmdDogMDtcbiAgICAvLyAgIHRvcDogMDtcbiAgICAvLyAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgLy8gICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICAvLyAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50O1xuICAgIC8vIH1cblxuICAgIC8vICY6YWZ0ZXIge1xuICAgIC8vICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICAvLyAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gICAgLy8gICB0b3A6IDhweDtcbiAgICAvLyB9XG5cbiAgICAvLyAmOmJlZm9yZSB7XG4gICAgLy8gICBib3JkZXItdG9wLXdpZHRoOiAyMXB4O1xuICAgIC8vICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgICAvLyAgIG9wYWNpdHk6IDAuNztcbiAgICAvLyB9XG4gIH1cblxuICAubWZwLWFycm93LWxlZnQge1xuICAgIGxlZnQ6IC0kbWZwLWFycm93LXdpZHRoO1xuXG4gICAgLy8gJjphZnRlciB7XG4gICAgLy8gICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICAvLyAgIG1hcmdpbi1sZWZ0OiAzMXB4O1xuICAgIC8vIH1cblxuICAgIC8vICY6YmVmb3JlIHtcbiAgICAvLyAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIC8vICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yO1xuICAgIC8vIH1cbiAgfVxuXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIHJpZ2h0OiAtJG1mcC1hcnJvdy13aWR0aDtcblxuICAgIC8vICY6YWZ0ZXIge1xuICAgIC8vICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICAvLyAgIG1hcmdpbi1sZWZ0OiAzOXB4O1xuICAgIC8vIH1cblxuICAgIC8vICY6YmVmb3JlIHtcbiAgICAvLyAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yO1xuICAgIC8vIH1cbiAgfVxufVxuXG5cblxuLy8gSWZyYW1lIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZSB7XG4gIC5tZnAtaWZyYW1lLWhvbGRlciB7XG4gICAgcGFkZGluZy10b3A6ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgIHBhZGRpbmctYm90dG9tOiAkbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDtcblxuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAkbWZwLWlmcmFtZS1tYXgtd2lkdGg7XG4gICAgfVxuXG4gICAgLm1mcC1jbG9zZSB7XG4gICAgICB0b3A6IC00MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5tZnAtaWZyYW1lLXNjYWxlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6ICRtZnAtaWZyYW1lLXJhdGlvICogMTAwJTtcblxuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pZnJhbWUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIEltYWdlIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pbWFnZS10eXBlIHtcblxuICAvKiBNYWluIGltYWdlIGluIHBvcHVwICovXG4gIGltZyB7XG4gICAgJi5tZnAtaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wIDAgJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAubWZwLWZpZ3VyZSB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3A7XG4gICAgICBib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pbWFnZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSAtICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LXNtYWxsICsgOTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIHBhZGRpbmc6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LXNtYWxsO1xuICB9XG5cbiAgLm1mcC10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXRpdGxlLWNvbG9yO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyAvLyBsZWF2ZSBzb21lIHNwYWNlIGZvciBjb3VudGVyIGF0IHJpZ2h0IHNpZGVcbiAgfVxuXG4gIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICAubWZwLWNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZnAtZ2FsbGVyeSB7XG4gICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgLm1mcC1maWd1cmUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAgICAgLm1mcC1pbWctbW9iaWxlIHtcbiAgICAgICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAmLm1mcC1pbWcge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgICAgLy8gVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWZwLWJvdHRvbS1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZnAtY291bnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZnAtY2xvc2Uge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gU2NhbGUgbmF2aWdhdGlvbiBhcnJvd3MgYW5kIHJlZHVjZSBwYWRkaW5nIGZyb20gc2lkZXNcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICB9XG5cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgfVxuXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICB9XG5cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNDTEVBUkZJWFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBdHRhY2ggb3VyIGNsZWFyZml4IG1peGluIHRvIGEgdXRpbGl0eSBjbGFzcy5cbiAqL1xuXG4udS1jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGludWl0LWNsZWFyZml4KCk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1dJRFRIU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBpbnVpdGNzcyBnZW5lcmF0ZXMgYSBzZXJpZXMgb2YgdXRpbGl0eSBjbGFzc2VzIHRoYXQgZ2l2ZSBhIGZsdWlkIHdpZHRoIHRvXG4gKiB3aGljaGV2ZXIgZWxlbWVudCB0aGV54oCZcmUgYXBwbGllZCwgZS5nLjpcbiAqXG4gKiAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgY2xhc3M9XCJ1LTEvMlwiIC8+XG4gKlxuICogVGhlc2UgY2xhc3NlcyBhcmUgbW9zdCBjb21tb25seSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggb3VyIGxheW91dCBzeXN0ZW0sXG4gKiBlLmcuOlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMlwiPlxuICpcbiAqIEJ5IGRlZmF1bHQsIGludWl0Y3NzIHdpbGwgYWxzbyBnZW5lcmF0ZSByZXNwb25zaXZlIHZhcmlhbnRzIG9mIGVhY2ggb2YgdGhlc2VcbiAqIGNsYXNzZXMgYnkgdXNpbmcgeW91ciBTYXNzIE1RIGNvbmZpZ3VyYXRpb24sIGUuZy46XG4gKlxuICogICA8ZGl2IGNsYXNzPVwiby1sYXlvdXRfX2l0ZW0gIHUtMS8xICB1LTEvMkB0YWJsZXQgIHUtMS8zQGRlc2t0b3BcIj5cbiAqXG4gKiBPcHRpb25hbGx5LCBpbnVpdGNzcyBjYW4gZ2VuZXJhdGUgb2Zmc2V0IGNsYXNzZXMgd2hpY2ggY2FuIHB1c2ggYW5kIHB1bGxcbiAqIGVsZW1lbnRzIGxlZnQgYW5kIHJpZ2h0IGJ5IGEgc3BlY2lmaWVkIGFtb3VudCwgZS5nLjpcbiAqXG4gKiAgIDxkaXYgY2xhc3M9XCJvLWxheW91dF9faXRlbSAgdS0yLzMgIHUtcHVsbC0xLzNcIj5cbiAqXG4gKiBUaGlzIGlzIHVzZWZ1bCBmb3IgbWFraW5nIHZlcnkgZ3JhbnVsYXIgY2hhbmdlcyB0byB0aGUgcmVuZGVyZWQgb3JkZXIgb2ZcbiAqIGl0ZW1zIGluIGEgbGF5b3V0LlxuICpcbiAqIE4uQi4gVGhpcyBvcHRpb24gaXMgdHVybmVkIG9mZiBieSBkZWZhdWx0LlxuICovXG5cblxuXG5cblxuLy8gV2hpY2ggZnJhY3Rpb25zIHdvdWxkIHlvdSBsaWtlIGluIHlvdXIgZ3JpZCBzeXN0ZW0ocyk/IEJ5IGRlZmF1bHQsIGludWl0Y3NzXG4vLyBwcm92aWRlcyB5b3UgZnJhY3Rpb25zIG9mIG9uZSB3aG9sZSwgaGFsdmVzLCB0aGlyZHMsIHF1YXJ0ZXJzIGFuZCBmaWZ0aHMsXG4vLyBlLmcuOlxuLy9cbi8vICAgLnUtMS8yXG4vLyAgIC51LTIvNVxuLy8gICAudS0zLzRcbi8vICAgLnUtMi8zXG5cbiRpbnVpdC1mcmFjdGlvbnM6IDEgMiAzIDQgNSAhZGVmYXVsdDtcblxuXG5cblxuXG4vLyBPcHRpb25hbGx5LCBpbnVpdGNzcyBjYW4gZ2VuZXJhdGUgY2xhc3NlcyB0byBvZmZzZXQgaXRlbXMgYnkgYSBjZXJ0YWluIHdpZHRoLlxuLy8gV291bGQgeW91IGxpa2UgdG8gZ2VuZXJhdGUgdGhlc2UgdHlwZXMgb2YgY2xhc3MgYXMgd2VsbD8gRS5nLjpcbi8vXG4vLyAgIC51LXB1c2gtMS8zXG4vLyAgIC51LXB1bGwtMi80XG4vLyAgIC51LXB1bGwtMS81XG4vLyAgIC51LXB1c2gtMi8zXG5cbiRpbnVpdC1vZmZzZXRzOiBmYWxzZSAhZGVmYXVsdDtcblxuXG5cblxuXG4vLyBCeSBkZWZhdWx0LCBpbnVpdGNzcyB1c2VzIGZyYWN0aW9ucy1saWtlIGNsYXNzZXMgbGlrZSBgPGRpdiBjbGFzcz1cInUtMS80XCI+YC5cbi8vIFlvdSBjYW4gY2hhbmdlIHRoZSBgL2AgdG8gd2hhdGV2ZXIgeW91IGZhbmN5IHdpdGggdGhpcyB2YXJpYWJsZS5cbiRpbnVpdC13aWR0aHMtZGVsaW1pdGVyOiBcXC8gIWRlZmF1bHQ7XG5cblxuXG5cblxuLy8gV2hlbiB1c2luZyBTYXNzLU1RLCB0aGlzIGRlZmluZXMgdGhlIHNlcGFyYXRvciBmb3IgdGhlIGJyZWFrcG9pbnRzIHN1ZmZpeFxuLy8gaW4gdGhlIGNsYXNzIG5hbWUuIEJ5IGRlZmF1bHQsIHdlIGFyZSBnZW5lcmF0aW5nIHRoZSByZXNwb25zaXZlIHN1ZmZpeGVzXG4vLyBmb3IgdGhlIGNsYXNzZXMgd2l0aCBhIGBAYCBzeW1ib2wgc28geW91IGdldCBjbGFzc2VzIGxpa2U6XG4vLyA8ZGl2IGNsYXNzPVwidS0zLzEyQG1vYmlsZVwiPlxuJGludWl0LXdpZHRocy1icmVha3BvaW50LXNlcGFyYXRvcjogXFxAICFkZWZhdWx0O1xuXG5cblxuXG5cbi8vIEEgbWl4aW4gdG8gc3BpdCBvdXQgb3VyIHdpZHRoIGNsYXNzZXMuIFBhc3MgaW4gdGhlIGNvbHVtbnMgd2Ugd2FudCB0aGUgd2lkdGhzXG4vLyB0byBoYXZlLCBhbmQgYW4gb3B0aW9uYWwgc3VmZml4IGZvciByZXNwb25zaXZlIHdpZHRocy4gRS5nLiB0byBjcmVhdGUgdGhpcmRzXG4vLyBhbmQgcXVhcnRlcnMgZm9yIGEgc21hbGwgYnJlYWtwb2ludDpcbi8vXG4vLyBAaW5jbHVkZSB3aWR0aHMoMyA0LCAtc20pO1xuXG5AbWl4aW4gaW51aXQtd2lkdGhzKCRjb2x1bW5zLCAkYnJlYWtwb2ludDogbnVsbCkge1xuXG4gIC8vIExvb3AgdGhyb3VnaCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgZm9yIGVhY2ggZGVub21pbmF0b3Igb2Ygb3VyIGZyYWN0aW9ucy5cbiAgQGVhY2ggJGRlbm9taW5hdG9yIGluICRjb2x1bW5zIHtcblxuICAgIC8vIEJlZ2luIGNyZWF0aW5nIGEgbnVtZXJhdG9yIGZvciBvdXIgZnJhY3Rpb24gdXAgdW50aWwgd2UgaGl0IHRoZVxuICAgIC8vIGRlbm9taW5hdG9yLlxuICAgIEBmb3IgJG51bWVyYXRvciBmcm9tIDEgdGhyb3VnaCAkZGVub21pbmF0b3Ige1xuXG4gICAgICAvLyBCdWlsZCBhIGNsYXNzIGluIHRoZSBmb3JtYXQgYC51LTMvNFtAPGJyZWFrcG9pbnQ+XWAuXG4gICAgICAudS0jeyRudW1lcmF0b3J9I3skaW51aXQtd2lkdGhzLWRlbGltaXRlcn0jeyRkZW5vbWluYXRvcn0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIHdpZHRoOiAoJG51bWVyYXRvciAvICRkZW5vbWluYXRvcikgKiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIEBpZiAoJGludWl0LW9mZnNldHMgPT0gdHJ1ZSkge1xuXG4gICAgICAgIC8qKlxuICAgICAgICAqIDEuIFJlc2V0IGFueSBsZWZ0b3ZlciBvciBjb25mbGljdGluZyBgbGVmdGAvYHJpZ2h0YCB2YWx1ZXMuXG4gICAgICAgICovXG5cbiAgICAgICAgLy8gQnVpbGQgYSBjbGFzcyBpbiB0aGUgZm9ybWF0IGAudS1wdXNoLTEvMltAPGJyZWFrcG9pbnQ+XWAuXG4gICAgICAgIC51LXB1c2gtI3skbnVtZXJhdG9yfSN7JGludWl0LXdpZHRocy1kZWxpbWl0ZXJ9I3skZGVub21pbmF0b3J9I3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IC8qIFsxXSAqL1xuICAgICAgICAgIGxlZnQ6ICgkbnVtZXJhdG9yIC8gJGRlbm9taW5hdG9yKSAqIDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1aWxkIGEgY2xhc3MgaW4gdGhlIGZvcm1hdCBgLnUtcHVsbC01LzZbQDxicmVha3BvaW50Pl1gLlxuICAgICAgICAudS1wdWxsLSN7JG51bWVyYXRvcn0jeyRpbnVpdC13aWR0aHMtZGVsaW1pdGVyfSN7JGRlbm9taW5hdG9yfSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICByaWdodDogKCRudW1lcmF0b3IgLyAkZGVub21pbmF0b3IpICogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDsgLyogWzFdICovXG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuXG5cblxuXG4vKipcbiAqIEEgc2VyaWVzIG9mIHdpZHRoIGhlbHBlciBjbGFzc2VzIHRoYXQgeW91IGNhbiB1c2UgdG8gc2l6ZSB0aGluZ3MgbGlrZSBncmlkXG4gKiBzeXN0ZW1zLiBDbGFzc2VzIHRha2UgYSBmcmFjdGlvbi1saWtlIGZvcm1hdCAoZS5nLiBgLnUtMi8zYCkuIFVzZSB0aGVzZSBpblxuICogeW91ciBtYXJrdXA6XG4gKlxuICogPGRpdiBjbGFzcz1cInUtNy8xMlwiPlxuICpcbiAqIFRoZSBmb2xsb3dpbmcgd2lsbCBnZW5lcmF0ZSB3aWR0aHMgaGVscGVyIGNsYXNzZXMgYmFzZWQgb24gdGhlIGZyYWN0aW9uc1xuICogZGVmaW5lZCBpbiB0aGUgYCRpbnVpdC1mcmFjdGlvbnNgIGxpc3QuXG4gKi9cblxuQGluY2x1ZGUgaW51aXQtd2lkdGhzKCRpbnVpdC1mcmFjdGlvbnMpO1xuXG5cblxuXG4vKipcbiAqIElmIHdl4oCZcmUgdXNpbmcgU2Fzcy1NUSwgYXV0b21hdGljYWxseSBnZW5lcmF0ZSBncmlkIHN5c3RlbShzKSBmb3IgZWFjaCBvZiBvdXJcbiAqIGRlZmluZWQgYnJlYWtwb2ludHMsIGFuZCBnaXZlIHRoZW0gYSBSZXNwb25zaXZlIFN1ZmZpeCwgZS5nLjpcbiAqXG4gKiA8ZGl2IGNsYXNzPVwidS0zLzEyQG1vYmlsZVwiPlxuICovXG5cbkBpZiAodmFyaWFibGUtZXhpc3RzKG1xLWJyZWFrcG9pbnRzKSkge1xuXG4gIEBlYWNoICRpbnVpdC1icC1uYW1lLCAkaW51aXQtYnAtdmFsdWUgaW4gJG1xLWJyZWFrcG9pbnRzIHtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiAkaW51aXQtYnAtbmFtZSkge1xuICAgICAgQGluY2x1ZGUgaW51aXQtd2lkdGhzKCRpbnVpdC1mcmFjdGlvbnMsICN7JGludWl0LXdpZHRocy1icmVha3BvaW50LXNlcGFyYXRvcn0jeyRpbnVpdC1icC1uYW1lfSk7XG4gICAgfVxuXG4gIH1cblxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNIRUFESU5HU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZWRlZmluZSBhbGwgb2Ygb3VyIGJhc2ljIGhlYWRpbmcgc3R5bGVzIGFnYWluc3QgdXRpbGl0eSBjbGFzc2VzIHNvIGFzIHRvXG4gKiBhbGxvdyBmb3IgZG91YmxlIHN0cmFuZGVkIGhlYWRpbmcgaGllcmFyY2h5LCBlLmcuIHdlIHNlbWFudGljYWxseSBuZWVkIGFuIEgyLFxuICogYnV0IHdlIHdhbnQgaXQgdG8gYmUgc2l6ZWQgbGlrZSBhbiBIMTpcbiAqXG4gKiAgIDxoMiBjbGFzcz1cInUtaDFcIj48L2gyPlxuICpcbiAqL1xuXG4udS1oMSB7XG4gIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgkaW51aXQtZm9udC1zaXplLWgxLCAkaW1wb3J0YW50OiB0cnVlKTtcbn1cblxuLnUtaDIge1xuICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoJGludWl0LWZvbnQtc2l6ZS1oMiwgJGltcG9ydGFudDogdHJ1ZSk7XG59XG5cbi51LWgzIHtcbiAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKCRpbnVpdC1mb250LXNpemUtaDMsICRpbXBvcnRhbnQ6IHRydWUpO1xufVxuXG4udS1oNCB7XG4gIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgkaW51aXQtZm9udC1zaXplLWg0LCAkaW1wb3J0YW50OiB0cnVlKTtcbn1cblxuLnUtaDUge1xuICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoJGludWl0LWZvbnQtc2l6ZS1oNSwgJGltcG9ydGFudDogdHJ1ZSk7XG59XG5cbi51LWg2IHtcbiAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKCRpbnVpdC1mb250LXNpemUtaDYsICRpbXBvcnRhbnQ6IHRydWUpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNTUEFDSU5HXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3NlcyB0byBwdXQgc3BlY2lmaWMgc3BhY2luZyB2YWx1ZXMgb250byBlbGVtZW50cy4gVGhlIGJlbG93IGxvb3BcbiAqIHdpbGwgZ2VuZXJhdGUgdXMgYSBzdWl0ZSBvZiBjbGFzc2VzIGxpa2U6XG4gKlxuICogICAudS1tYXJnaW4tdG9wIHt9XG4gKiAgIC51LXBhZGRpbmctbGVmdC1sYXJnZSB7fVxuICogICAudS1tYXJnaW4tcmlnaHQtc21hbGwge31cbiAqICAgLnUtcGFkZGluZyB7fVxuICogICAudS1wYWRkaW5nLXJpZ2h0LW5vbmUge31cbiAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzdHJpbmctcXVvdGVzICovXG5cbiRpbnVpdC1zcGFjaW5nLWRpcmVjdGlvbnM6IChcbiAgbnVsbDogbnVsbCxcbiAgJy10b3AnOiAnLXRvcCcsXG4gICctcmlnaHQnOiAnLXJpZ2h0JyxcbiAgJy1ib3R0b20nOiAnLWJvdHRvbScsXG4gICctbGVmdCc6ICctbGVmdCcsXG4pICFkZWZhdWx0O1xuXG4kaW51aXQtc3BhY2luZy1wcm9wZXJ0aWVzOiAoXG4gICdwYWRkaW5nJzogJ3BhZGRpbmcnLFxuICAnbWFyZ2luJzogJ21hcmdpbicsXG4pICFkZWZhdWx0O1xuXG4kaW51aXQtc3BhY2luZy1zaXplczogKFxuICBudWxsOiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdCxcbiAgJy10aW55JzogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtdGlueSxcbiAgJy1zbWFsbCc6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LXNtYWxsLFxuICAnLWxhcmdlJzogJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQtbGFyZ2UsXG4gICctaHVnZSc6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0LWh1Z2UsXG4gICctbm9uZSc6IDBcbikgIWRlZmF1bHQ7XG5cblxuQGVhY2ggJHByb3BlcnR5LCAkcHJvcGVydHktbmFtZXNwYWNlIGluICRpbnVpdC1zcGFjaW5nLXByb3BlcnRpZXMge1xuXG4gIEBlYWNoICRkaXJlY3Rpb24sICRkaXJlY3Rpb24tbmFtZXNwYWNlIGluICRpbnVpdC1zcGFjaW5nLWRpcmVjdGlvbnMge1xuXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiAkaW51aXQtc3BhY2luZy1zaXplcyB7XG5cbiAgICAgIC51LSN7JHByb3BlcnR5LW5hbWVzcGFjZX0jeyRkaXJlY3Rpb24tbmFtZXNwYWNlfSN7JHNpemV9IHtcbiAgICAgICAgI3skcHJvcGVydHl9I3skZGlyZWN0aW9ufTogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgc3RyaW5nLXF1b3RlcyAqL1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQUklOVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBWZXJ5IGNydWRlLCByZXNldC1saWtlIHN0eWxlcyB0YWtlbiBmcm9tIHRoZSBIVE1MNSBCb2lsZXJwbGF0ZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvNS4zLjAvZGlzdC9kb2MvY3NzLm1kI3ByaW50LXN0eWxlc1xuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvZGlzdC9jc3MvbWFpbi5jc3MjTDIwNS1MMjgyXG4gKi9cblxuQG1lZGlhIHByaW50IHtcblxuICAvKipcbiAgICogMS4gQmxhY2sgcHJpbnRzIGZhc3RlcjogaHR0cDovL3d3dy5zYW5iZWlqaS5jb20vYXJjaGl2ZXMvOTUzXG4gICAqL1xuXG4gICosXG4gICo6YmVmb3JlLFxuICAqOmFmdGVyLFxuICAqOmZpcnN0LWxldHRlcixcbiAgKjpmaXJzdC1saW5lIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IC8qIFsxXSAqL1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cblxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cblxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG5cblxuICAvKipcbiAgICogRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycywgb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgXG4gICAqIHBzZXVkbyBwcm90b2NvbC5cbiAgICovXG5cbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBQcmludGluZyBUYWJsZXM6IGh0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xuICAgKi9cblxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG5cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuXG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cblxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNISURFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqL1xuXG4udS1oaWRkZW4tdmlzdWFsbHkge1xuICBAaW5jbHVkZSBpbnVpdC1oaWRkZW4tdmlzdWFsbHkoKTtcbn1cblxuXG4vKipcbiAqIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMuXG4gKi9cblxuLnUtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgI0hJRERFTi1WSVNVQUxMWVxuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTWl4aW4gdG8gcXVpY2tseSBhcHBseSBhY2Nlc3NpYmxlIGhpZGluZyB0byBlbGVtZW50cy5cbkBtaXhpbiBpbnVpdC1oaWRkZW4tdmlzdWFsbHkoKSB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjUkVTUE9OU0lWRS1ISURFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBSZXNwb25zaXZlIGhpZGUgaGVscGVyc1xuQGVhY2ggJGludWl0LWJwLW5hbWUsICRpbnVpdC1icC12YWx1ZSBpbiAkbXEtYnJlYWtwb2ludHMge1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiAkaW51aXQtYnAtbmFtZSkge1xuICAgIC51LWhpZGRlblxcQCN7JGludWl0LWJwLW5hbWV9IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkdW50aWw6ICRpbnVpdC1icC1uYW1lKSB7XG4gICAgLnUtaGlkZGVuXFxAdW50aWwtI3skaW51aXQtYnAtbmFtZX0ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1RFWFRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVGV4dCBoZWxwZXJzLlxuICovXG5cbiRpbnVpdC10ZXh0LWRpcmVjdGlvbnM6IChcbiAgJ2xlZnQnLFxuICAnY2VudGVyJyxcbiAgJ3JpZ2h0JyxcbiAgJ2p1c3RpZnknLFxuKTtcblxuQGVhY2ggJGRpcmVjdGlvbiBpbiAkaW51aXQtdGV4dC1kaXJlY3Rpb25zIHtcbiAgICAudS10ZXh0LSN7JGRpcmVjdGlvbn0ge1xuICAgICAgICB0ZXh0LWFsaWduOiAjeyRkaXJlY3Rpb259ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AZWFjaCAkaW51aXQtYnAtbmFtZSwgJGludWl0LWJwLXZhbHVlIGluICRtcS1icmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206ICRpbnVpdC1icC1uYW1lKSB7XG4gICAgICAgIEBlYWNoICRkaXJlY3Rpb24gaW4gJGludWl0LXRleHQtZGlyZWN0aW9ucyB7XG4gICAgICAgICAgICAudS10ZXh0LSN7JGRpcmVjdGlvbn1cXEAjeyRpbnVpdC1icC1uYW1lfSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogI3skZGlyZWN0aW9ufSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogJGludWl0LWJwLW5hbWUpIHtcbiAgICAgICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkaW51aXQtdGV4dC1kaXJlY3Rpb25zIHtcbiAgICAgICAgICAgIC51LXRleHQtI3skZGlyZWN0aW9ufVxcQHVudGlsLSN7JGludWl0LWJwLW5hbWV9IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAjeyRkaXJlY3Rpb259ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjSUNPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVGhpcyBpcyBhIGJyaWVmIGRlc2NyaXB0aW9uXG4gKi9cblxuIFtjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICB3aWR0aDogMWVtO1xuICAgaGVpZ2h0OiAxZW07XG4gICBzdHJva2Utd2lkdGg6IDA7XG4gICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gfVxuXG4uaWNvbi0tbGFyZ2Uge1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMC4zZW07XG59XG5cbi5pY29uLS1odWdlIHtcbiAgICB3aWR0aDogMi41ZW07XG4gICAgaGVpZ2h0OiAyLjVlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuM2V4O1xufVxuXG4gLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gU2luZ2xlLWNvbG9yZWQgaWNvbnMgY2FuIGJlIG1vZGlmaWVkIGxpa2Ugc286XG4gLmljb24tbmFtZSB7XG4gICBmb250LXNpemU6IDMycHg7XG4gICBjb2xvcjogcmVkO1xuIH1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmljb24tY2hlY2sge1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMC4yZXg7XG59XG5cblxuXG5cblxuXG5cbiJdfQ== */
