/** Clearfix mixin for reuse Taken from BootstrapV4 docs */
/** Mixin setup for grids and containers */
@font-face { font-family: "Warnock"; src: url("/assets/fonts/warnockpro-semibolddisp.otf") format("opentype"); font-weight: normal; font-style: normal; }

/** Browser reset and normalize */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
html { box-sizing: border-box; font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

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

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

/* HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }

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

/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
[hidden], template { display: none; }

/* Links ========================================================================== */
/** Remove the gray background color from active links in IE 10. */
a { background-color: transparent; }

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

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

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

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

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

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

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

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

sup { top: -0.5em; }

sub { bottom: -0.25em; }

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

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

/* Grouping content ========================================================================== */
/** Address margin not present in IE 8/9 and Safari. */
figure { margin: 1em 40px; }

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

/** Contain overflow in all browsers. */
pre { overflow: auto; }

/** Address odd `em`-unit font size rendering in all browsers. */
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }

/* Forms ========================================================================== */
/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }

/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
button { overflow: visible; }

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

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

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

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

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

/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width. 1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }

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

/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

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

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

/** Remove default vertical scrollbar in IE 8/9/10/11. */
textarea { overflow: auto; }

/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup { font-weight: bold; }

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

td, th { padding: 0; }

html { box-sizing: border-box; }

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

@-moz-viewport { width: device-width; }

@-ms-viewport { width: device-width; }

@-o-viewport { width: device-width; }

@-webkit-viewport { width: device-width; }

@viewport { width: device-width; }

html { font-size: 16px; -webkit-tap-highlight-color: transparent; height: 100%; }

body { background-color: #2E1711; color: #E5DDD8; font-family: "Warnock", Georgia, "Times New Roman", Times, serif; font-size: 1rem; line-height: 1.5; margin: 0 auto; height: 100%; }

main { height: 100%; }

[tabindex="-1"]:focus { outline: none !important; }

h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: .5rem; }

p { margin-top: 0; margin-bottom: 1rem; }

address { font-style: normal; line-height: inherit; }

ol, ul, dl { margin-top: 0; margin-bottom: 1rem; }

a { color: #FFF; text-decoration: none; -webkit-transition: color 350ms ease-in-out; transition: color 350ms ease-in-out; }

a:focus, a:hover { color: #d9d9d9; text-decoration: none; }

a:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }

a.dark { color: #000; }

a.dark:focus, a.dark:hover { color: #262626; }

img { max-width: 100%; height: auto; }

label { display: inline-block; margin-bottom: .5rem; }

button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; }

input, button, select, textarea { margin: 0; line-height: inherit; border-radius: 0; }

textarea { resize: vertical; }

fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }

legend { display: block; width: 100%; padding: 0; margin-bottom: .5rem; font-size: 1.5rem; line-height: inherit; }

input[type="search"] { box-sizing: inherit; -webkit-appearance: none; }

[hidden] { display: none !important; }

/** All typography tags and specifics */
.lead { font-size: 1.25rem; font-weight: bold; margin: 1.75em auto; }

.small { font-size: 0.75rem; }

/** Creating a responsive grid for page structure */
.container { max-width: 100%; margin-left: auto; margin-right: auto; padding-left: 0.9375rem; padding-right: 0.9375rem; }

.container::after { content: ''; display: table; clear: both; }

@media (min-width: 544px) { .container { max-width: 500px; } }

@media (min-width: 768px) { .container { max-width: 600px; } }

@media (min-width: 992px) { .container { max-width: 700px; } }

@media (min-width: 1200px) { .container { max-width: 700px; } }

.container-fluid { margin-left: auto; margin-right: auto; padding-left: 0.9375rem; padding-right: 0.9375rem; }

.container-fluid::after { content: ''; display: table; clear: both; }

.row { margin-left: -0.9375rem; margin-right: -0.9375rem; }

.row::after { content: ''; display: table; clear: both; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 { position: relative; min-height: 1px; padding-left: 0.9375rem; padding-right: 0.9375rem; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; }

.col-xs-1 { width: 8.3333%; }

.col-xs-2 { width: 16.6667%; }

.col-xs-3 { width: 25%; }

.col-xs-4 { width: 33.3333%; }

.col-xs-5 { width: 41.6667%; }

.col-xs-6 { width: 50%; }

.col-xs-7 { width: 58.3333%; }

.col-xs-8 { width: 66.6667%; }

.col-xs-9 { width: 75%; }

.col-xs-10 { width: 83.3333%; }

.col-xs-11 { width: 91.6667%; }

.col-xs-12 { width: 100%; }

.col-xs-pull-0 { right: auto; }

.col-xs-pull-1 { right: 8.3333%; }

.col-xs-pull-2 { right: 16.6667%; }

.col-xs-pull-3 { right: 25%; }

.col-xs-pull-4 { right: 33.3333%; }

.col-xs-pull-5 { right: 41.6667%; }

.col-xs-pull-6 { right: 50%; }

.col-xs-pull-7 { right: 58.3333%; }

.col-xs-pull-8 { right: 66.6667%; }

.col-xs-pull-9 { right: 75%; }

.col-xs-pull-10 { right: 83.3333%; }

.col-xs-pull-11 { right: 91.6667%; }

.col-xs-pull-12 { right: 100%; }

.col-xs-push-0 { left: auto; }

.col-xs-push-1 { left: 8.3333%; }

.col-xs-push-2 { left: 16.6667%; }

.col-xs-push-3 { left: 25%; }

.col-xs-push-4 { left: 33.3333%; }

.col-xs-push-5 { left: 41.6667%; }

.col-xs-push-6 { left: 50%; }

.col-xs-push-7 { left: 58.3333%; }

.col-xs-push-8 { left: 66.6667%; }

.col-xs-push-9 { left: 75%; }

.col-xs-push-10 { left: 83.3333%; }

.col-xs-push-11 { left: 91.6667%; }

.col-xs-push-12 { left: 100%; }

.col-xs-offset-0 { margin-left: 0%; }

.col-xs-offset-1 { margin-left: 8.3333%; }

.col-xs-offset-2 { margin-left: 16.6667%; }

.col-xs-offset-3 { margin-left: 25%; }

.col-xs-offset-4 { margin-left: 33.3333%; }

.col-xs-offset-5 { margin-left: 41.6667%; }

.col-xs-offset-6 { margin-left: 50%; }

.col-xs-offset-7 { margin-left: 58.3333%; }

.col-xs-offset-8 { margin-left: 66.6667%; }

.col-xs-offset-9 { margin-left: 75%; }

.col-xs-offset-10 { margin-left: 83.3333%; }

.col-xs-offset-11 { margin-left: 91.6667%; }

.col-xs-offset-12 { margin-left: 100%; }

@media (min-width: 544px) { .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; }
  .col-sm-1 { width: 8.3333%; }
  .col-sm-2 { width: 16.6667%; }
  .col-sm-3 { width: 25%; }
  .col-sm-4 { width: 33.3333%; }
  .col-sm-5 { width: 41.6667%; }
  .col-sm-6 { width: 50%; }
  .col-sm-7 { width: 58.3333%; }
  .col-sm-8 { width: 66.6667%; }
  .col-sm-9 { width: 75%; }
  .col-sm-10 { width: 83.3333%; }
  .col-sm-11 { width: 91.6667%; }
  .col-sm-12 { width: 100%; }
  .col-sm-pull-0 { right: auto; }
  .col-sm-pull-1 { right: 8.3333%; }
  .col-sm-pull-2 { right: 16.6667%; }
  .col-sm-pull-3 { right: 25%; }
  .col-sm-pull-4 { right: 33.3333%; }
  .col-sm-pull-5 { right: 41.6667%; }
  .col-sm-pull-6 { right: 50%; }
  .col-sm-pull-7 { right: 58.3333%; }
  .col-sm-pull-8 { right: 66.6667%; }
  .col-sm-pull-9 { right: 75%; }
  .col-sm-pull-10 { right: 83.3333%; }
  .col-sm-pull-11 { right: 91.6667%; }
  .col-sm-pull-12 { right: 100%; }
  .col-sm-push-0 { left: auto; }
  .col-sm-push-1 { left: 8.3333%; }
  .col-sm-push-2 { left: 16.6667%; }
  .col-sm-push-3 { left: 25%; }
  .col-sm-push-4 { left: 33.3333%; }
  .col-sm-push-5 { left: 41.6667%; }
  .col-sm-push-6 { left: 50%; }
  .col-sm-push-7 { left: 58.3333%; }
  .col-sm-push-8 { left: 66.6667%; }
  .col-sm-push-9 { left: 75%; }
  .col-sm-push-10 { left: 83.3333%; }
  .col-sm-push-11 { left: 91.6667%; }
  .col-sm-push-12 { left: 100%; }
  .col-sm-offset-0 { margin-left: 0%; }
  .col-sm-offset-1 { margin-left: 8.3333%; }
  .col-sm-offset-2 { margin-left: 16.6667%; }
  .col-sm-offset-3 { margin-left: 25%; }
  .col-sm-offset-4 { margin-left: 33.3333%; }
  .col-sm-offset-5 { margin-left: 41.6667%; }
  .col-sm-offset-6 { margin-left: 50%; }
  .col-sm-offset-7 { margin-left: 58.3333%; }
  .col-sm-offset-8 { margin-left: 66.6667%; }
  .col-sm-offset-9 { margin-left: 75%; }
  .col-sm-offset-10 { margin-left: 83.3333%; }
  .col-sm-offset-11 { margin-left: 91.6667%; }
  .col-sm-offset-12 { margin-left: 100%; } }

@media (min-width: 768px) { .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; }
  .col-md-1 { width: 8.3333%; }
  .col-md-2 { width: 16.6667%; }
  .col-md-3 { width: 25%; }
  .col-md-4 { width: 33.3333%; }
  .col-md-5 { width: 41.6667%; }
  .col-md-6 { width: 50%; }
  .col-md-7 { width: 58.3333%; }
  .col-md-8 { width: 66.6667%; }
  .col-md-9 { width: 75%; }
  .col-md-10 { width: 83.3333%; }
  .col-md-11 { width: 91.6667%; }
  .col-md-12 { width: 100%; }
  .col-md-pull-0 { right: auto; }
  .col-md-pull-1 { right: 8.3333%; }
  .col-md-pull-2 { right: 16.6667%; }
  .col-md-pull-3 { right: 25%; }
  .col-md-pull-4 { right: 33.3333%; }
  .col-md-pull-5 { right: 41.6667%; }
  .col-md-pull-6 { right: 50%; }
  .col-md-pull-7 { right: 58.3333%; }
  .col-md-pull-8 { right: 66.6667%; }
  .col-md-pull-9 { right: 75%; }
  .col-md-pull-10 { right: 83.3333%; }
  .col-md-pull-11 { right: 91.6667%; }
  .col-md-pull-12 { right: 100%; }
  .col-md-push-0 { left: auto; }
  .col-md-push-1 { left: 8.3333%; }
  .col-md-push-2 { left: 16.6667%; }
  .col-md-push-3 { left: 25%; }
  .col-md-push-4 { left: 33.3333%; }
  .col-md-push-5 { left: 41.6667%; }
  .col-md-push-6 { left: 50%; }
  .col-md-push-7 { left: 58.3333%; }
  .col-md-push-8 { left: 66.6667%; }
  .col-md-push-9 { left: 75%; }
  .col-md-push-10 { left: 83.3333%; }
  .col-md-push-11 { left: 91.6667%; }
  .col-md-push-12 { left: 100%; }
  .col-md-offset-0 { margin-left: 0%; }
  .col-md-offset-1 { margin-left: 8.3333%; }
  .col-md-offset-2 { margin-left: 16.6667%; }
  .col-md-offset-3 { margin-left: 25%; }
  .col-md-offset-4 { margin-left: 33.3333%; }
  .col-md-offset-5 { margin-left: 41.6667%; }
  .col-md-offset-6 { margin-left: 50%; }
  .col-md-offset-7 { margin-left: 58.3333%; }
  .col-md-offset-8 { margin-left: 66.6667%; }
  .col-md-offset-9 { margin-left: 75%; }
  .col-md-offset-10 { margin-left: 83.3333%; }
  .col-md-offset-11 { margin-left: 91.6667%; }
  .col-md-offset-12 { margin-left: 100%; } }

@media (min-width: 992px) { .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; }
  .col-lg-1 { width: 8.3333%; }
  .col-lg-2 { width: 16.6667%; }
  .col-lg-3 { width: 25%; }
  .col-lg-4 { width: 33.3333%; }
  .col-lg-5 { width: 41.6667%; }
  .col-lg-6 { width: 50%; }
  .col-lg-7 { width: 58.3333%; }
  .col-lg-8 { width: 66.6667%; }
  .col-lg-9 { width: 75%; }
  .col-lg-10 { width: 83.3333%; }
  .col-lg-11 { width: 91.6667%; }
  .col-lg-12 { width: 100%; }
  .col-lg-pull-0 { right: auto; }
  .col-lg-pull-1 { right: 8.3333%; }
  .col-lg-pull-2 { right: 16.6667%; }
  .col-lg-pull-3 { right: 25%; }
  .col-lg-pull-4 { right: 33.3333%; }
  .col-lg-pull-5 { right: 41.6667%; }
  .col-lg-pull-6 { right: 50%; }
  .col-lg-pull-7 { right: 58.3333%; }
  .col-lg-pull-8 { right: 66.6667%; }
  .col-lg-pull-9 { right: 75%; }
  .col-lg-pull-10 { right: 83.3333%; }
  .col-lg-pull-11 { right: 91.6667%; }
  .col-lg-pull-12 { right: 100%; }
  .col-lg-push-0 { left: auto; }
  .col-lg-push-1 { left: 8.3333%; }
  .col-lg-push-2 { left: 16.6667%; }
  .col-lg-push-3 { left: 25%; }
  .col-lg-push-4 { left: 33.3333%; }
  .col-lg-push-5 { left: 41.6667%; }
  .col-lg-push-6 { left: 50%; }
  .col-lg-push-7 { left: 58.3333%; }
  .col-lg-push-8 { left: 66.6667%; }
  .col-lg-push-9 { left: 75%; }
  .col-lg-push-10 { left: 83.3333%; }
  .col-lg-push-11 { left: 91.6667%; }
  .col-lg-push-12 { left: 100%; }
  .col-lg-offset-0 { margin-left: 0%; }
  .col-lg-offset-1 { margin-left: 8.3333%; }
  .col-lg-offset-2 { margin-left: 16.6667%; }
  .col-lg-offset-3 { margin-left: 25%; }
  .col-lg-offset-4 { margin-left: 33.3333%; }
  .col-lg-offset-5 { margin-left: 41.6667%; }
  .col-lg-offset-6 { margin-left: 50%; }
  .col-lg-offset-7 { margin-left: 58.3333%; }
  .col-lg-offset-8 { margin-left: 66.6667%; }
  .col-lg-offset-9 { margin-left: 75%; }
  .col-lg-offset-10 { margin-left: 83.3333%; }
  .col-lg-offset-11 { margin-left: 91.6667%; }
  .col-lg-offset-12 { margin-left: 100%; } }

@media (min-width: 1200px) { .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 { float: left; }
  .col-xl-1 { width: 8.3333%; }
  .col-xl-2 { width: 16.6667%; }
  .col-xl-3 { width: 25%; }
  .col-xl-4 { width: 33.3333%; }
  .col-xl-5 { width: 41.6667%; }
  .col-xl-6 { width: 50%; }
  .col-xl-7 { width: 58.3333%; }
  .col-xl-8 { width: 66.6667%; }
  .col-xl-9 { width: 75%; }
  .col-xl-10 { width: 83.3333%; }
  .col-xl-11 { width: 91.6667%; }
  .col-xl-12 { width: 100%; }
  .col-xl-pull-0 { right: auto; }
  .col-xl-pull-1 { right: 8.3333%; }
  .col-xl-pull-2 { right: 16.6667%; }
  .col-xl-pull-3 { right: 25%; }
  .col-xl-pull-4 { right: 33.3333%; }
  .col-xl-pull-5 { right: 41.6667%; }
  .col-xl-pull-6 { right: 50%; }
  .col-xl-pull-7 { right: 58.3333%; }
  .col-xl-pull-8 { right: 66.6667%; }
  .col-xl-pull-9 { right: 75%; }
  .col-xl-pull-10 { right: 83.3333%; }
  .col-xl-pull-11 { right: 91.6667%; }
  .col-xl-pull-12 { right: 100%; }
  .col-xl-push-0 { left: auto; }
  .col-xl-push-1 { left: 8.3333%; }
  .col-xl-push-2 { left: 16.6667%; }
  .col-xl-push-3 { left: 25%; }
  .col-xl-push-4 { left: 33.3333%; }
  .col-xl-push-5 { left: 41.6667%; }
  .col-xl-push-6 { left: 50%; }
  .col-xl-push-7 { left: 58.3333%; }
  .col-xl-push-8 { left: 66.6667%; }
  .col-xl-push-9 { left: 75%; }
  .col-xl-push-10 { left: 83.3333%; }
  .col-xl-push-11 { left: 91.6667%; }
  .col-xl-push-12 { left: 100%; }
  .col-xl-offset-0 { margin-left: 0%; }
  .col-xl-offset-1 { margin-left: 8.3333%; }
  .col-xl-offset-2 { margin-left: 16.6667%; }
  .col-xl-offset-3 { margin-left: 25%; }
  .col-xl-offset-4 { margin-left: 33.3333%; }
  .col-xl-offset-5 { margin-left: 41.6667%; }
  .col-xl-offset-6 { margin-left: 50%; }
  .col-xl-offset-7 { margin-left: 58.3333%; }
  .col-xl-offset-8 { margin-left: 66.6667%; }
  .col-xl-offset-9 { margin-left: 75%; }
  .col-xl-offset-10 { margin-left: 83.3333%; }
  .col-xl-offset-11 { margin-left: 91.6667%; }
  .col-xl-offset-12 { margin-left: 100%; } }

.form-control { display: block; width: 100%; font-size: 1rem; line-height: 1.5; color: #f7f7f9; background-color: transparent; background-image: none; border: 0; border-bottom: 1px solid #E5DDD8; padding: .25em; }

.form-control::-ms-expand { background-color: transparent; border: 0; }

.form-control:focus { border-color: #f9f8f7; outline: none; }

.form-control::-webkit-input-placeholder { color: #999; opacity: 1; text-transform: uppercase; }

.form-control::-moz-placeholder { color: #999; opacity: 1; text-transform: uppercase; }

.form-control:-ms-input-placeholder { color: #999; opacity: 1; text-transform: uppercase; }

.form-control::placeholder { color: #999; opacity: 1; text-transform: uppercase; }

.form-control:disabled, .form-control[readonly] { background-color: #eceeef; opacity: 1; }

.form-control:disabled { cursor: not-allowed; }

.form-control-file, .form-control-range { display: block; }

.form-control-label { padding: 0.375rem 0.75rem; margin-bottom: 0; }

@media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { line-height: 2.25rem; }
  input[type="date"].input-sm, .input-group-sm input[type="date"].form-control, input[type="time"].input-sm, .input-group-sm input[type="time"].form-control, input[type="datetime-local"].input-sm, .input-group-sm input[type="datetime-local"].form-control, input[type="month"].input-sm, .input-group-sm input[type="month"].form-control { line-height: 1.8625rem; }
  input[type="date"].input-lg, .input-group-lg input[type="date"].form-control, input[type="time"].input-lg, .input-group-lg input[type="time"].form-control, input[type="datetime-local"].input-lg, .input-group-lg input[type="datetime-local"].form-control, input[type="month"].input-lg, .input-group-lg input[type="month"].form-control { line-height: 3.1667rem; } }

.form-control-static { min-height: 2.25rem; padding-top: 0.375rem; padding-bottom: 0.375rem; margin-bottom: 0; }

.form-control-static.form-control-sm, .form-control-static.form-control-lg { padding-right: 0; padding-left: 0; }

.form-control-sm { padding: 0.275rem 0.75rem; font-size: 0.875rem; line-height: 1.5; border-radius: 0.2rem; }

.form-control-lg { padding: 0.75rem 1.25rem; font-size: 1.25rem; line-height: 1.3333; border-radius: 0.3rem; }

.form-group { margin-bottom: 2.25rem; }

.radio, .checkbox { position: relative; display: block; margin-bottom: 0.75rem; }

.radio label, .checkbox label { padding-left: 1.25rem; margin-bottom: 0; font-weight: normal; cursor: pointer; }

.radio label input:only-child, .checkbox label input:only-child { position: static; }

.radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-top: .25rem; margin-left: -1.25rem; }

.radio + .radio, .checkbox + .checkbox { margin-top: -.25rem; }

.radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 1.25rem; margin-bottom: 0; font-weight: normal; vertical-align: middle; cursor: pointer; }

.radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: .75rem; }

input[type="radio"]:disabled, input[type="radio"].disabled, input[type="checkbox"]:disabled, input[type="checkbox"].disabled { cursor: not-allowed; }

.radio-inline.disabled, .checkbox-inline.disabled { cursor: not-allowed; }

.radio.disabled label, .checkbox.disabled label { cursor: not-allowed; }

.form-control-success, .form-control-warning, .form-control-danger { background-repeat: no-repeat; background-position: center right 0.2812rem; background-size: 1.4625rem 1.4625rem; }

.has-success .text-help, .has-success .form-control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #5cb85c; }

.has-success .form-control { border-color: #5cb85c; }

.has-success .input-group-addon { color: #5cb85c; border-color: #5cb85c; background-color: #eaf6ea; }

.has-success .form-control-feedback { color: #5cb85c; }

.has-success .form-control-success { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjNWNiODVjIiBkPSJNMjMzLjggNjEwYy0xMy4zIDAtMjYtNi0zNC0xNi44TDkwLjUgNDQ4LjhDNzYuMyA0MzAgODAgNDAzLjMgOTguOCAzODljMTguOC0xNC4yIDQ1LjUtMTAuNCA1OS44IDguNGw3MiA5NUw0NTEuMyAyNDJjMTIuNS0yMCAzOC44LTI2LjIgNTguOC0xMy43IDIwIDEyLjQgMjYgMzguNyAxMy43IDU4LjhMMjcwIDU5MGMtNy40IDEyLTIwLjIgMTkuNC0zNC4zIDIwaC0yeiIvPjwvc3ZnPg=="); }

.has-warning .text-help, .has-warning .form-control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #f0ad4e; }

.has-warning .form-control { border-color: #f0ad4e; }

.has-warning .input-group-addon { color: #f0ad4e; border-color: #f0ad4e; background-color: white; }

.has-warning .form-control-feedback { color: #f0ad4e; }

.has-warning .form-control-warning { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZjBhZDRlIiBkPSJNNjAzIDY0MC4ybC0yNzguNS01MDljLTMuOC02LjYtMTAuOC0xMC42LTE4LjUtMTAuNnMtMTQuNyA0LTE4LjUgMTAuNkw5IDY0MC4yYy0zLjcgNi41LTMuNiAxNC40LjIgMjAuOCAzLjggNi41IDEwLjggMTAuNCAxOC4zIDEwLjRoNTU3YzcuNiAwIDE0LjYtNCAxOC40LTEwLjQgMy41LTYuNCAzLjYtMTQuNCAwLTIwLjh6bS0yNjYuNC0zMGgtNjEuMlY1NDloNjEuMnY2MS4yem0wLTEwN2gtNjEuMlYzMDRoNjEuMnYxOTl6Ii8+PC9zdmc+"); }

.has-danger .text-help, .has-danger .form-control-label, .has-danger .radio, .has-danger .checkbox, .has-danger .radio-inline, .has-danger .checkbox-inline, .has-danger.radio label, .has-danger.checkbox label, .has-danger.radio-inline label, .has-danger.checkbox-inline label { color: #d9534f; }

.has-danger .form-control { border-color: #d9534f; }

.has-danger .input-group-addon { color: #d9534f; border-color: #d9534f; background-color: #fdf7f7; }

.has-danger .form-control-feedback { color: #d9534f; }

.has-danger .form-control-danger { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZDk1MzRmIiBkPSJNNDQ3IDU0NC40Yy0xNC40IDE0LjQtMzcuNiAxNC40LTUyIDBsLTg5LTkyLjctODkgOTIuN2MtMTQuNSAxNC40LTM3LjcgMTQuNC01MiAwLTE0LjQtMTQuNC0xNC40LTM3LjYgMC01Mmw5Mi40LTk2LjMtOTIuNC05Ni4zYy0xNC40LTE0LjQtMTQuNC0zNy42IDAtNTJzMzcuNi0xNC4zIDUyIDBsODkgOTIuOCA4OS4yLTkyLjdjMTQuNC0xNC40IDM3LjYtMTQuNCA1MiAwIDE0LjMgMTQuNCAxNC4zIDM3LjYgMCA1MkwzNTQuNiAzOTZsOTIuNCA5Ni40YzE0LjQgMTQuNCAxNC40IDM3LjYgMCA1MnoiLz48L3N2Zz4="); }

@media (min-width: 544px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; }
  .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; }
  .form-inline .form-control-static { display: inline-block; }
  .form-inline .input-group { display: inline-table; vertical-align: middle; }
  .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; }
  .form-inline .input-group > .form-control { width: 100%; }
  .form-inline .form-control-label { margin-bottom: 0; vertical-align: middle; }
  .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; }
  .form-inline .radio label, .form-inline .checkbox label { padding-left: 0; }
  .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; }
  .form-inline .has-feedback .form-control-feedback { top: 0; } }

.form-floating-label { position: relative; }

.form-floating-label .form-control-label { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -1; -webkit-transition: 50ms all ease-in-out; transition: 50ms all ease-in-out; }

.form-floating-label .form-control:focus + .form-control-label, .form-floating-label .form-control:valid + .form-control-label { top: -1.75em; font-size: .9em; }

ul { padding-left: 0; margin-bottom: 0; }

li { position: relative; display: block; padding: 0 .5rem; }

.background { background-color: #2E1711; background-position: center center; background-repeat: no-repeat; background-size: cover; }

.splash-overlay-toggle { position: fixed; top: 1.5em; left: 1.5em; height: 2em; width: 2em; border: 2px solid #E5DDD8; border-radius: 50%; background: transparent; z-index: 11; outline: 0 !important; }

.splash-overlay-toggle:before, .splash-overlay-toggle:after { content: ''; background: #E5DDD8; height: 2px; width: 1.25em; position: absolute; -webkit-transition: -webkit-transform 50ms ease-in-out; transition: -webkit-transform 50ms ease-in-out; transition: transform 50ms ease-in-out; transition: transform 50ms ease-in-out, -webkit-transform 50ms ease-in-out; }

.splash-overlay-toggle:before { -webkit-transform: translate(-50%, -50%) rotate(90deg); transform: translate(-50%, -50%) rotate(90deg); }

.splash-overlay-toggle:after { -webkit-transform: translate(-50%, -50%) rotate(0deg); transform: translate(-50%, -50%) rotate(0deg); }

.splash-overlay-toggle.active:before { -webkit-transform: translate(-50%, -50%) rotate(45deg); transform: translate(-50%, -50%) rotate(45deg); }

.splash-overlay-toggle.active:after { -webkit-transform: translate(-50%, -50%) rotate(-45deg); transform: translate(-50%, -50%) rotate(-45deg); }

.overlay { background: rgba(46, 23, 17, 0.8); position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 10; opacity: 0; visibility: hidden; -webkit-transition: opacity 150ms ease-in-out 0s, visibility 0s linear 0s; transition: opacity 150ms ease-in-out 0s, visibility 0s linear 0s; }

.overlay.active { opacity: 1; visibility: visible; }

.site-details { height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.site-details .services { margin-bottom: 50px; }

.splash { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.block-image { display: block; }

.clearfix::after { content: ''; display: table; clear: both; }

.center-block { display: block; margin-left: auto; margin-right: auto; float: initial; }

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

.pull-xs-right { float: right !important; }

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

@media (min-width: 544px) { .pull-sm-left { float: left !important; }
  .pull-sm-right { float: right !important; }
  .pull-sm-none { float: none !important; } }

@media (min-width: 768px) { .pull-md-left { float: left !important; }
  .pull-md-right { float: right !important; }
  .pull-md-none { float: none !important; } }

@media (min-width: 992px) { .pull-lg-left { float: left !important; }
  .pull-lg-right { float: right !important; }
  .pull-lg-none { float: none !important; } }

@media (min-width: 1200px) { .pull-xl-left { float: left !important; }
  .pull-xl-right { float: right !important; }
  .pull-xl-none { float: none !important; } }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }

.invisible { visibility: hidden !important; }

.text-hide { font: "0/0" a; color: transparent; text-shadow: none; background-color: transparent; border: 0; }

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

.text-nowrap { white-space: nowrap !important; }

.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.text-xs-left { text-align: left !important; }

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

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

@media (min-width: 544px) { .text-sm-left { text-align: left !important; }
  .text-sm-right { text-align: right !important; }
  .text-sm-center { text-align: center !important; } }

@media (min-width: 768px) { .text-md-left { text-align: left !important; }
  .text-md-right { text-align: right !important; }
  .text-md-center { text-align: center !important; } }

@media (min-width: 992px) { .text-lg-left { text-align: left !important; }
  .text-lg-right { text-align: right !important; }
  .text-lg-center { text-align: center !important; } }

@media (min-width: 1200px) { .text-xl-left { text-align: left !important; }
  .text-xl-right { text-align: right !important; }
  .text-xl-center { text-align: center !important; } }

.text-lowercase { text-transform: lowercase !important; }

.text-uppercase { text-transform: uppercase !important; }

.text-capitalize { text-transform: capitalize !important; }

.font-weight-normal { font-weight: normal; }

.font-weight-bold { font-weight: bold; }

.font-italic { font-style: italic; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vZHVsZXMvX2NsZWFyZml4LnNjc3MiLCJtb2R1bGVzL19ncmlkLnNjc3MiLCJwYXJ0aWFscy9fdHlwZWZhY2Uuc2NzcyIsInBhcnRpYWxzL19yZXNldC5zY3NzIiwic3R5bGVzLmNzcyIsInBhcnRpYWxzL19yZWJvb3Quc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIm1vZHVsZXMvX2hvdmVyLnNjc3MiLCJtb2R1bGVzL190YWItZm9jdXMuc2NzcyIsInBhcnRpYWxzL190eXBvZ3JhcGh5LnNjc3MiLCJwYXJ0aWFscy9fZ3JpZHMuc2NzcyIsIm1vZHVsZXMvX2JyZWFrcG9pbnRzLnNjc3MiLCJtb2R1bGVzL19ncmlkLWZyYW1ld29yay5zY3NzIiwicGFydGlhbHMvX2Zvcm1zLnNjc3MiLCJtb2R1bGVzL19mb3Jtcy5zY3NzIiwibW9kdWxlcy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwicGFydGlhbHMvX2xpc3RzLnNjc3MiLCJwYXJ0aWFscy9fYmFja2dyb3VuZC5zY3NzIiwicGFydGlhbHMvX292ZXJsYXkuc2NzcyIsInBhcnRpYWxzL19zcGxhc2guc2NzcyIsInBhcnRpYWxzL191dGlsaXRpZXMuc2NzcyIsIm1vZHVsZXMvX2NlbnRlci1ibG9jay5zY3NzIiwibW9kdWxlcy9fcHVsbHMuc2NzcyIsIm1vZHVsZXMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIm1vZHVsZXMvX3RleHQtaGlkZS5zY3NzIiwibW9kdWxlcy9fdGV4dC10cnVuY2F0ZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJEQUdHO0FDSEgsMkNBRUc7QUNGSCxhQUNFLHVCQUF1QixDQUN2Qix5RUFBNEQsQ0FDNUQsb0JBQW9CLENBQ3BCLG1CQUFtQixFQUFBOztBQ0pyQixrQ0FFRztBQUVGLDREQUE0RDtBQUU1RCx1SUFJRztBQUVILE9BQ0UsdUJBQXVCLENBQ3ZCLHdCQUF3QixDQUFFLE9BQU8sQ0FDakMsMkJBQTJCLENBQUUsT0FBTyxDQUNwQywrQkFBK0IsQ0FBRSxPQUFP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LFdBQWlCLEVXdEJaOztBQUxELFlYMkJKLGdCQUFpQixFV3RCWjs7QUFMRCxZWDJCSixnQkFBaUIsRVd0Qlo7O0FBTEQsWVgyQkosV0FBaUIsRVd0Qlo7O0FBTEQsWVgyQkosZ0JBQWlCLEVXdEJaOztBQUxELFlYMkJKLGdCQUFpQixFV3RCWjs7QUFMRCxZWDJCSixXQUFpQixFV3RCWjs7QUFMRCxhWDJCSixnQkFBaUIsRVd0Qlo7O0FBTEQsYVgyQkosZ0JBQWlCLEVXdEJaOztBQUxELGFYMkJKLFlBQWlCLEVXdEJaOztBQUlDLGlCWCtCUixZQUF1RCxFVzdCOUM7O0FBRkQsaUJYK0JSLGVBQStCLEVXN0J0Qjs7QUFGRCxpQlgrQlIsZ0JBQStCLEVXN0J0Qjs7QUFGRCxpQlgrQlIsV0FBK0IsRVc3QnRCOztBQUZELGlCWCtCUixnQkFBK0IsRVc3QnRCOztBQUZELGlCWCtCUixnQkFBK0IsRVc3QnRCOztBQUZELGlCWCtCUixXQUErQixFVzdCdEI7O0FBRkQsaUJYK0JSLGdCQUErQixFVzdCdEI7O0FBRkQsaUJYK0JSLGdCQUErQixFVzdCdEI7O0FBRkQsaUJYK0JSLFdBQStCLEVXN0J0Qjs7QUFGRCxrQlgrQlIsZ0JBQStCLEVXN0J0Qjs7QUFGRCxrQlgrQlIsZ0JBQStCLEVXN0J0Qjs7QUFGRCxrQlgrQlIsWUFBK0IsRVc3QnRCOztBQUZELGlCWDJCUixXQUFzRCxFV3pCN0M7O0FBRkQsaUJYMkJSLGNBQThCLEVXekJyQjs7QUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCOztBQUZELGlCWDJCUixVQUE4QixFV3pCckI7O0FBRkQsaUJYMkJSLGVBQThCLEVXekJyQjs7QUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCOztBQUZELGlCWDJCUixVQUE4QixFV3pCckI7O0FBRkQsaUJYMkJSLGVBQThCLEVXekJyQjs7QUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCOztBQUZELGlCWDJCUixVQUE4QixFV3pCckI7O0FBRkQsa0JYMkJSLGVBQThCLEVXekJyQjs7QUFGRCxrQlgyQlIsZUFBOEIsRVd6QnJCOztBQUZELGtCWDJCUixXQUE4QixFV3pCckI7O0FBRkQsbUJYdUJSLGdCQUF1QixFV3JCZDs7QUFGRCxtQlh1QlIscUJBQXVCLEVXckJkOztBQUZELG1CWHVCUixzQkFBdUIsRVdyQmQ7O0FBRkQsbUJYdUJSLGlCQUF1QixFV3JCZDs7QUFGRCxtQlh1QlIsc0JBQXVCLEVXckJkOztBQUZELG1CWHVCUixzQkFBdUIsRVdyQmQ7O0FBRkQsbUJYdUJSLGlCQUF1QixFV3JCZDs7QUFGRCxtQlh1QlIsc0JBQXVCLEVXckJkOztBQUZELG1CWHVCUixzQkFBdUIsRVdyQmQ7O0FBRkQsbUJYdUJSLGlCQUF1QixFV3JCZDs7QUFGRCxvQlh1QlIsc0JBQXVCLEVXckJkOztBQUZELG9CWHVCUixzQkFBdUIsRVdyQmQ7O0FBRkQsb0JYdUJSLGtCQUF1QixFV3JCZDs7QURPUCw0QkN0QkUsd0lBQ0UsWUFBWSxFQUNiO0VBRUMsWVgyQkosZUFBaUIsRVd0Qlo7RUFMRCxZWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxZWDJCSixXQUFpQixFV3RCWjtFQUxELFlYMkJKLGdCQUFpQixFV3RCWjtFQUxELFlYMkJKLGdCQUFpQixFV3RCWjtFQUxELFlYMkJKLFdBQWlCLEVXdEJaO0VBTEQsWVgyQkosZ0JBQWlCLEVXdEJaO0VBTEQsWVgyQkosZ0JBQWlCLEVXdEJaO0VBTEQsWVgyQkosV0FBaUIsRVd0Qlo7RUFMRCxhWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxhWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxhWDJCSixZQUFpQixFV3RCWjtFQUlDLGlCWCtCUixZQUF1RCxFVzdCOUM7RUFGRCxpQlgrQlIsZUFBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsV0FBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsZ0JBQStCLEVXN0J0QjtFQUZELGlCWCtCUixXQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsZ0JBQStCLEVXN0J0QjtFQUZELGlCWCtCUixnQkFBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLFdBQStCLEVXN0J0QjtFQUZELGtCWCtCUixnQkFBK0IsRVc3QnRCO0VBRkQsa0JYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxrQlgrQlIsWUFBK0IsRVc3QnRCO0VBRkQsaUJYMkJSLFdBQXNELEVXekI3QztFQUZELGlCWDJCUixjQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGlCWDJCUixlQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGlCWDJCUixlQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGtCWDJCUixlQUE4QixFV3pCckI7RUFGRCxrQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsa0JYMkJSLFdBQThCLEVXekJyQjtFQUZELG1CWHVCUixnQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIscUJBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIsc0JBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIsc0JBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFGRCxvQlh1QlIsc0JBQXVCLEVXckJkO0VBRkQsb0JYdUJSLHNCQUF1QixFV3JCZDtFQUZELG9CWHVCUixrQkFBdUIsRVdyQmQsRUFBQTs7QURPUCw0QkN0QkUsd0lBQ0UsWUFBWSxFQUNiO0VBRUMsWVgyQkosZUFBaUIsRVd0Qlo7RUFMRCxZWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxZWDJCSixXQUFpQixFV3RCWjtFQUxELFlYMkJKLGdCQUFpQixFV3RCWjtFQUxELFlYMkJKLGdCQUFpQixFV3RCWjtFQUxELFlYMkJKLFdBQWlCLEVXdEJaO0VBTEQsWVgyQkosZ0JBQWlCLEVXdEJaO0VBTEQsWVgyQkosZ0JBQWlCLEVXdEJaO0VBTEQsWVgyQkosV0FBaUIsRVd0Qlo7RUFMRCxhWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxhWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxhWDJCSixZQUFpQixFV3RCWjtFQUlDLGlCWCtCUixZQUF1RCxFVzdCOUM7RUFGRCxpQlgrQlIsZUFBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsV0FBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsZ0JBQStCLEVXN0J0QjtFQUZELGlCWCtCUixXQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsZ0JBQStCLEVXN0J0QjtFQUZELGlCWCtCUixnQkFBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLFdBQStCLEVXN0J0QjtFQUZELGtCWCtCUixnQkFBK0IsRVc3QnRCO0VBRkQsa0JYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxrQlgrQlIsWUFBK0IsRVc3QnRCO0VBRkQsaUJYMkJSLFdBQXNELEVXekI3QztFQUZELGlCWDJCUixjQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGlCWDJCUixlQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGlCWDJCUixlQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGtCWDJCUixlQUE4QixFV3pCckI7RUFGRCxrQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsa0JYMkJSLFdBQThCLEVXekJyQjtFQUZELG1CWHVCUixnQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIscUJBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIsc0JBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIsc0JBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFGRCxvQlh1QlIsc0JBQXVCLEVXckJkO0VBRkQsb0JYdUJSLHNCQUF1QixFV3JCZDtFQUZELG9CWHVCUixrQkFBdUIsRVdyQmQsRUFBQTs7QURPUCw0QkN0QkUsd0lBQ0UsWUFBWSxFQUNiO0VBRUMsWVgyQkosZUFBaUIsRVd0Qlo7RUFMRCxZWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxZWDJCSixXQUFpQixFV3RCWjtFQUxELFlYMkJKLGdCQUFpQixFV3RCWjtFQUxELFlYMkJKLGdCQUFpQixFV3RCWjtFQUxELFlYMkJKLFdBQWlCLEVXdEJaO0VBTEQsWVgyQkosZ0JBQWlCLEVXdEJaO0VBTEQsWVgyQkosZ0JBQWlCLEVXdEJaO0VBTEQsWVgyQkosV0FBaUIsRVd0Qlo7RUFMRCxhWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxhWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxhWDJCSixZQUFpQixFV3RCWjtFQUlDLGlCWCtCUixZQUF1RCxFVzdCOUM7RUFGRCxpQlgrQlIsZUFBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsV0FBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsZ0JBQStCLEVXN0J0QjtFQUZELGlCWCtCUixXQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsZ0JBQStCLEVXN0J0QjtFQUZELGlCWCtCUixnQkFBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLFdBQStCLEVXN0J0QjtFQUZELGtCWCtCUixnQkFBK0IsRVc3QnRCO0VBRkQsa0JYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxrQlgrQlIsWUFBK0IsRVc3QnRCO0VBRkQsaUJYMkJSLFdBQXNELEVXekI3QztFQUZELGlCWDJCUixjQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGlCWDJCUixlQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGlCWDJCUixlQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGtCWDJCUixlQUE4QixFV3pCckI7RUFGRCxrQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsa0JYMkJSLFdBQThCLEVXekJyQjtFQUZELG1CWHVCUixnQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIscUJBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIsc0JBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIsc0JBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFGRCxvQlh1QlIsc0JBQXVCLEVXckJkO0VBRkQsb0JYdUJSLHNCQUF1QixFV3JCZDtFQUZELG9CWHVCUixrQkFBdUIsRVdyQmQsRUFBQTs7QURPUCw2QkN0QkUsd0lBQ0UsWUFBWSxFQUNiO0VBRUMsWVgyQkosZUFBaUIsRVd0Qlo7RUFMRCxZWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxZWDJCSixXQUFpQixFV3RCWjtFQUxELFlYMkJKLGdCQUFpQixFV3RCWjtFQUxELFlYMkJKLGdCQUFpQixFV3RCWjtFQUxELFlYMkJKLFdBQWlCLEVXdEJaO0VBTEQsWVgyQkosZ0JBQWlCLEVXdEJaO0VBTEQsWVgyQkosZ0JBQWlCLEVXdEJaO0VBTEQsWVgyQkosV0FBaUIsRVd0Qlo7RUFMRCxhWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxhWDJCSixnQkFBaUIsRVd0Qlo7RUFMRCxhWDJCSixZQUFpQixFV3RCWjtFQUlDLGlCWCtCUixZQUF1RCxFVzdCOUM7RUFGRCxpQlgrQlIsZUFBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsV0FBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsZ0JBQStCLEVXN0J0QjtFQUZELGlCWCtCUixXQUErQixFVzdCdEI7RUFGRCxpQlgrQlIsZ0JBQStCLEVXN0J0QjtFQUZELGlCWCtCUixnQkFBK0IsRVc3QnRCO0VBRkQsaUJYK0JSLFdBQStCLEVXN0J0QjtFQUZELGtCWCtCUixnQkFBK0IsRVc3QnRCO0VBRkQsa0JYK0JSLGdCQUErQixFVzdCdEI7RUFGRCxrQlgrQlIsWUFBK0IsRVc3QnRCO0VBRkQsaUJYMkJSLFdBQXNELEVXekI3QztFQUZELGlCWDJCUixjQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGlCWDJCUixlQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGlCWDJCUixlQUE4QixFV3pCckI7RUFGRCxpQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsaUJYMkJSLFVBQThCLEVXekJyQjtFQUZELGtCWDJCUixlQUE4QixFV3pCckI7RUFGRCxrQlgyQlIsZUFBOEIsRVd6QnJCO0VBRkQsa0JYMkJSLFdBQThCLEVXekJyQjtFQUZELG1CWHVCUixnQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIscUJBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFGRCxtQlh1QlIsc0JBQXVCLEVXckJkO0VBRkQsbUJYdUJSLHNCQUF1QixFV3JCZDtFQUZELG1CWHVCUixpQkFBdUIsRVdyQmQ7RUFG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NEJBQTRCLEVBQUk7O0FBQ2xDLGlCQUFFLDZCQUE2QixFQUFJOztBQUNuQyxrQkFBRSw4QkFBOEIsRUFBSTs7QVRyQmxDLDRCU21CRixnQkFBRSw0QkFBNEIsRUFBSTtFQUNsQyxpQkFBRSw2QkFBNkIsRUFBSTtFQUNuQyxrQkFBRSw4QkFBOEIsRUFBSSxFQUFBOztBVHJCbEMsNEJTbUJGLGdCQUFFLDRCQUE0QixFQUFJO0VBQ2xDLGlCQUFFLDZCQUE2QixFQUFJO0VBQ25DLGtCQUFFLDhCQUE4QixFQUFJLEVBQUE7O0FUckJsQyw0QlNtQkYsZ0JBQUUsNEJBQTRCLEVBQUk7RUFDbEMsaUJBQUUsNkJBQTZCLEVBQUk7RUFDbkMsa0JBQUUsOEJBQThCLEVBQUksRUFBQTs7QVRyQmxDLDZCU21CRixnQkFBRSw0QkFBNEIsRUFBSTtFQUNsQyxpQkFBRSw2QkFBNkIsRUFBSTtFQUNuQyxrQkFBRSw4QkFBOEIsRUFBSSxFQUFBOztBQU10QyxrQkFBa0IscUNBQXFDLEVBQUk7O0FBQzNELGtCQUFrQixxQ0FBcUMsRUFBSTs7QUFDM0QsbUJBQW1CLHNDQUFzQyxFQUFJOztBQUk3RCxzQkFBc0Isb0JBQW9CLEVBQUk7O0FBQzlDLG9CQUFvQixrQkFBa0IsRUFBSTs7QUFDMUMsZUFBZSxtQkFBbUIsRUFBSSIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDbGVhcmZpeCBtaXhpbiBmb3IgcmV1c2VcbiAqIFRha2VuIGZyb20gQm9vdHN0cmFwVjQgZG9jc1xuICovXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG59XG4iLCIvKipcbiAqIE1peGluIHNldHVwIGZvciBncmlkcyBhbmQgY29udGFpbmVyc1xuICovXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0cGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuXHRwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXHRAaWYgbm90ICRlbmFibGUtZmxleCB7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXgoKTtcblx0fVxufVxuXG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzKSB7XG5cdEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuXHRcdFx0bWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuXHRAaWYgJGVuYWJsZS1mbGV4IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXgoKTtcblx0fVxuXHRtYXJnaW4tbGVmdDogKCRndXR0ZXIgLyAtMik7XG5cdG1hcmdpbi1yaWdodDogKCRndXR0ZXIgLyAtMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRAaWYgbm90ICRlbmFibGUtZmxleCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdH1cblx0bWluLWhlaWdodDogMXB4O1xuXHRwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG5cdHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG59XG5cblxuQG1peGluIG1ha2UtY29sLXNwYW4oJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICB9IEBlbHNlIHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXB1c2goJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGxlZnQ6IGlmKCRzaXplID4gMCwgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKSwgYXV0byk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1wdWxsKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICByaWdodDogaWYoJHNpemUgPiAwLCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpLCBhdXRvKTtcbn1cblxuQG1peGluIG1ha2UtY29sLW1vZGlmaWVyKCR0eXBlLCAkc2l6ZSwgJGNvbHVtbnMpIHtcbiAgLy8gV29yayBhcm91bmQgdGhlIGxhY2sgb2YgZHluYW1pYyBtaXhpbiBAaW5jbHVkZSBzdXBwb3J0IChodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy82MjYpXG4gIEBpZiAkdHlwZSA9PSBwdXNoIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1wdXNoKCRzaXplLCAkY29sdW1ucyk7XG4gIH0gQGVsc2UgaWYgJHR5cGUgPT0gcHVsbCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcHVsbCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9IEBlbHNlIGlmICR0eXBlID09IG9mZnNldCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1ucyk7XG4gIH1cbn1cbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJXYXJub2NrXCI7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy93YXJub2NrcHJvLXNlbWlib2xkZGlzcC5vdGZcIikgZm9ybWF0KCdvcGVudHlwZScpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4iLCIvKipcbiAqIEJyb3dzZXIgcmVzZXQgYW5kIG5vcm1hbGl6ZVxuICovXG5cbiAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuIC8qKlxuICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gICogICAgdXNlciB6b29tLlxuICAqL1xuXG4gaHRtbCB7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiB9XG5cbiAqLFxuICo6OmJlZm9yZSxcbiAqOjphZnRlciB7XG4gICBib3gtc2l6aW5nOiBpbmhlcml0O1xuIH1cblxuIC8qKlxuICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgKi9cblxuIGJvZHkge1xuICAgbWFyZ2luOiAwO1xuIH1cblxuIC8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLyoqXG4gICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAqIGFuZCBGaXJlZm94LlxuICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICovXG5cbiBhcnRpY2xlLFxuIGFzaWRlLFxuIGRldGFpbHMsXG4gZmlnY2FwdGlvbixcbiBmaWd1cmUsXG4gZm9vdGVyLFxuIGhlYWRlcixcbiBoZ3JvdXAsXG4gbWFpbixcbiBtZW51LFxuIG5hdixcbiBzZWN0aW9uLFxuIHN1bW1hcnkge1xuICAgZGlzcGxheTogYmxvY2s7XG4gfVxuXG4gLyoqXG4gICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICovXG5cbiBhdWRpbyxcbiBjYW52YXMsXG4gcHJvZ3Jlc3MsXG4gdmlkZW8ge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiB9XG5cbiAvKipcbiAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICovXG5cbiBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgZGlzcGxheTogbm9uZTtcbiAgIGhlaWdodDogMDtcbiB9XG5cbiAvKipcbiAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAqL1xuXG4gW2hpZGRlbl0sXG4gdGVtcGxhdGUge1xuICAgZGlzcGxheTogbm9uZTtcbiB9XG5cbiAvKiBMaW5rc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAvKipcbiAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgKi9cblxuIGEge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gfVxuXG4gLyoqXG4gICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gICovXG5cbiBhOmFjdGl2ZSxcbiBhOmhvdmVyIHtcbiAgIG91dGxpbmU6IDA7XG4gfVxuXG4gLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLyoqXG4gICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAqL1xuXG4gYWJiclt0aXRsZV0ge1xuICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiB9XG5cbiAvKipcbiAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICovXG5cbiBiLFxuIHN0cm9uZyB7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiB9XG5cbiAvKipcbiAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICovXG5cbiBkZm4ge1xuICAgZm9udC1zdHlsZTogaXRhbGljO1xuIH1cblxuIC8qKlxuICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICovXG5cbiBoMSB7XG4gICBmb250LXNpemU6IDJlbTtcbiAgIG1hcmdpbjogMC42N2VtIDA7XG4gfVxuXG4gLyoqXG4gICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgKi9cblxuIG1hcmsge1xuICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgIGNvbG9yOiAjMDAwO1xuIH1cblxuIC8qKlxuICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuXG4gc21hbGwge1xuICAgZm9udC1zaXplOiA4MCU7XG4gfVxuXG4gLyoqXG4gICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuXG4gc3ViLFxuIHN1cCB7XG4gICBmb250LXNpemU6IDc1JTtcbiAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuIH1cblxuIHN1cCB7XG4gICB0b3A6IC0wLjVlbTtcbiB9XG5cbiBzdWIge1xuICAgYm90dG9tOiAtMC4yNWVtO1xuIH1cblxuIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLyoqXG4gICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICovXG5cbiBpbWcge1xuICAgYm9yZGVyOiAwO1xuIH1cblxuIC8qKlxuICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAqL1xuXG4gc3ZnOm5vdCg6cm9vdCkge1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiB9XG5cbiAvKiBHcm91cGluZyBjb250ZW50XG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC8qKlxuICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAqL1xuXG4gZmlndXJlIHtcbiAgIG1hcmdpbjogMWVtIDQwcHg7XG4gfVxuXG4gLyoqXG4gICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAqL1xuXG4gaHIge1xuICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgaGVpZ2h0OiAwO1xuIH1cblxuIC8qKlxuICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuXG4gcHJlIHtcbiAgIG92ZXJmbG93OiBhdXRvO1xuIH1cblxuIC8qKlxuICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgKi9cblxuIGNvZGUsXG4ga2JkLFxuIHByZSxcbiBzYW1wIHtcbiAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgIGZvbnQtc2l6ZTogMWVtO1xuIH1cblxuIC8qIEZvcm1zXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC8qKlxuICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAqL1xuXG4gLyoqXG4gICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICovXG5cbiBidXR0b24sXG4gaW5wdXQsXG4gb3B0Z3JvdXAsXG4gc2VsZWN0LFxuIHRleHRhcmVhIHtcbiAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICBtYXJnaW46IDA7IC8qIDMgKi9cbiB9XG5cbiAvKipcbiAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgKi9cblxuIGJ1dHRvbiB7XG4gICBvdmVyZmxvdzogdmlzaWJsZTtcbiB9XG5cbiAvKipcbiAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgKi9cblxuIGJ1dHRvbixcbiBzZWxlY3Qge1xuICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gfVxuXG4gLyoqXG4gICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICovXG5cbiBidXR0b24sXG4gaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuIH1cblxuIC8qKlxuICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICovXG5cbiBidXR0b25bZGlzYWJsZWRdLFxuIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgIGN1cnNvcjogZGVmYXVsdDtcbiB9XG5cbiAvKipcbiAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICovXG5cbiBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgYm9yZGVyOiAwO1xuICAgcGFkZGluZzogMDtcbiB9XG5cbiAvKipcbiAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICovXG5cbiBpbnB1dCB7XG4gICBsaW5lLWhlaWdodDogbm9ybWFsO1xuIH1cblxuIC8qKlxuICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAqXG4gICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAqL1xuXG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICBwYWRkaW5nOiAwOyAvKiAyICovXG4gfVxuXG4gLyoqXG4gICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgKi9cblxuIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICBoZWlnaHQ6IGF1dG87XG4gfVxuXG4gLyoqXG4gICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICAqL1xuXG4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuIH1cblxuIC8qKlxuICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICovXG5cbiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuIH1cblxuIC8qKlxuICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgKi9cblxuIGZpZWxkc2V0IHtcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICBtYXJnaW46IDAgMnB4O1xuICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuIH1cblxuIC8qKlxuICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICovXG5cbiBsZWdlbmQge1xuICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICBwYWRkaW5nOiAwOyAvKiAyICovXG4gfVxuXG4gLyoqXG4gICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgKi9cblxuIHRleHRhcmVhIHtcbiAgIG92ZXJmbG93OiBhdXRvO1xuIH1cblxuIC8qKlxuICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgKi9cblxuIG9wdGdyb3VwIHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuIH1cblxuIC8qIFRhYmxlc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAvKipcbiAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICovXG5cbiB0YWJsZSB7XG4gICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gfVxuXG4gdGQsXG4gdGgge1xuICAgcGFkZGluZzogMDtcbiB9XG4iLCIvKiogQ2xlYXJmaXggbWl4aW4gZm9yIHJldXNlIFRha2VuIGZyb20gQm9vdHN0cmFwVjQgZG9jcyAqL1xuLyoqIE1peGluIHNldHVwIGZvciBncmlkcyBhbmQgY29udGFpbmVycyAqL1xuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcIldhcm5vY2tcIjsgc3JjOiB1cmwoXCIvYXNzZXRzL2ZvbnRzL3dhcm5vY2twcm8tc2VtaWJvbGRkaXNwLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qKiBCcm93c2VyIHJlc2V0IGFuZCBub3JtYWxpemUgKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyoqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uICovXG5odG1sIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi8gLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi8gLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovIH1cblxuKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLyoqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi4gKi9cbmJvZHkgeyBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9ucyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExIGFuZCBGaXJlZm94LiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLiAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS4gKi9cbmF1ZGlvLCBjYW52YXMsIHByb2dyZXNzLCB2aWRlbyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqLyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi8gfVxuXG4vKiogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy4gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7IGRpc3BsYXk6IG5vbmU7IGhlaWdodDogMDsgfVxuXG4vKiogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuICovXG5baGlkZGVuXSwgdGVtcGxhdGUgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuICovXG5hIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLiAqL1xuYTphY3RpdmUsIGE6aG92ZXIgeyBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLiAqL1xuYWJiclt0aXRsZV0geyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuICovXG5iLCBzdHJvbmcgeyBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLiAqL1xuZGZuIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS4gKi9cbmgxIHsgZm9udC1zaXplOiAyZW07IG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuICovXG5tYXJrIHsgYmFja2dyb3VuZDogI2ZmMDsgY29sb3I6ICMwMDA7IH1cblxuLyoqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLiAqL1xuc21hbGwgeyBmb250LXNpemU6IDgwJTsgfVxuXG4vKiogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLiAqL1xuc3ViLCBzdXAgeyBmb250LXNpemU6IDc1JTsgbGluZS1oZWlnaHQ6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7IGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuICovXG5pbWcgeyBib3JkZXI6IDA7IH1cblxuLyoqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLiAqL1xuc3ZnOm5vdCg6cm9vdCkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS4gKi9cbmZpZ3VyZSB7IG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy4gKi9cbmhyIHsgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgYm94LXNpemluZzogY29udGVudC1ib3g7IGhlaWdodDogMDsgfVxuXG4vKiogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuICovXG5wcmUgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLiAqL1xuY29kZSwga2JkLCBwcmUsIHNhbXAgeyBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWQgc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LiAqL1xuLyoqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC4gS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLiAqL1xuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEgeyBjb2xvcjogaW5oZXJpdDsgLyogMSAqLyBmb250OiBpbmhlcml0OyAvKiAyICovIG1hcmdpbjogMDsgLyogMyAqLyB9XG5cbi8qKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS4gKi9cbmJ1dHRvbiB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC4gKi9cbmJ1dHRvbiwgc2VsZWN0IHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gIGNvbnRyb2xzLiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlIGBpbnB1dGAgYW5kIG90aGVycy4gKi9cbmJ1dHRvbiwgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCBpbnB1dFt0eXBlPVwicmVzZXRcIl0sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0geyAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqLyBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi8gfVxuXG4vKiogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHsgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHsgYm9yZGVyOiAwOyBwYWRkaW5nOiAwOyB9XG5cbi8qKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluIHRoZSBVQSBzdHlsZXNoZWV0LiAqL1xuaW5wdXQgeyBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi8gcGFkZGluZzogMDsgLyogMiAqLyB9XG5cbi8qKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpbiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZSBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS4gMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZSAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0geyAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqLyAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC4gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhcyBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuICovXG5maWVsZHNldCB7IGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7IG1hcmdpbjogMCAycHg7IHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKiogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuICovXG5sZWdlbmQgeyBib3JkZXI6IDA7IC8qIDEgKi8gcGFkZGluZzogMDsgLyogMiAqLyB9XG5cbi8qKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLiAqL1xudGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC4gKi9cbm9wdGdyb3VwIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLiAqL1xudGFibGUgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCwgdGggeyBwYWRkaW5nOiAwOyB9XG5cbmh0bWwgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbkAtbW96LXZpZXdwb3J0IHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5ALW1zLXZpZXdwb3J0IHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5ALW8tdmlld3BvcnQgeyB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG5cbkAtd2Via2l0LXZpZXdwb3J0IHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5Admlld3BvcnQgeyB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG5cbmh0bWwgeyBmb250LXNpemU6IDE2cHg7IC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IGhlaWdodDogMTAwJTsgfVxuXG5ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogIzJFMTcxMTsgY29sb3I6ICNFNURERDg7IGZvbnQtZmFtaWx5OiBcIldhcm5vY2tcIiwgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmOyBmb250LXNpemU6IDFyZW07IGxpbmUtaGVpZ2h0OiAxLjU7IG1hcmdpbjogMCBhdXRvOyBoZWlnaHQ6IDEwMCU7IH1cblxubWFpbiB7IGhlaWdodDogMTAwJTsgfVxuXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7IG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cblxucCB7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuYWRkcmVzcyB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxub2wsIHVsLCBkbCB7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuYSB7IGNvbG9yOiAjRkZGOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHRyYW5zaXRpb246IGNvbG9yIDM1MG1zIGVhc2UtaW4tb3V0OyB9XG5cbmE6Zm9jdXMsIGE6aG92ZXIgeyBjb2xvcjogI2Q5ZDlkOTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmE6Zm9jdXMgeyBvdXRsaW5lOiB0aGluIGRvdHRlZDsgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yOyBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5hLmRhcmsgeyBjb2xvcjogIzAwMDsgfVxuXG5hLmRhcms6Zm9jdXMsIGEuZGFyazpob3ZlciB7IGNvbG9yOiAjMjYyNjI2OyB9XG5cbmltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG5cbmxhYmVsIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuXG5idXR0b246Zm9jdXMgeyBvdXRsaW5lOiAxcHggZG90dGVkOyBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7IH1cblxuaW5wdXQsIGJ1dHRvbiwgc2VsZWN0LCB0ZXh0YXJlYSB7IG1hcmdpbjogMDsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IGJvcmRlci1yYWRpdXM6IDA7IH1cblxudGV4dGFyZWEgeyByZXNpemU6IHZlcnRpY2FsOyB9XG5cbmZpZWxkc2V0IHsgbWluLXdpZHRoOiAwOyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IGJvcmRlcjogMDsgfVxuXG5sZWdlbmQgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDA7IG1hcmdpbi1ib3R0b206IC41cmVtOyBmb250LXNpemU6IDEuNXJlbTsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7IGJveC1zaXppbmc6IGluaGVyaXQ7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5baGlkZGVuXSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiogQWxsIHR5cG9ncmFwaHkgdGFncyBhbmQgc3BlY2lmaWNzICovXG4ubGVhZCB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbjogMS43NWVtIGF1dG87IH1cblxuLnNtYWxsIHsgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi8qKiBDcmVhdGluZyBhIHJlc3BvbnNpdmUgZ3JpZCBmb3IgcGFnZSBzdHJ1Y3R1cmUgKi9cbi5jb250YWluZXIgeyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuLmNvbnRhaW5lcjo6YWZ0ZXIgeyBjb250ZW50OiAnJzsgZGlzcGxheTogdGFibGU7IGNsZWFyOiBib3RoOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkgeyAuY29udGFpbmVyIHsgbWF4LXdpZHRoOiA1MDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgeyAuY29udGFpbmVyIHsgbWF4LXdpZHRoOiA2MDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgeyAuY29udGFpbmVyIHsgbWF4LXdpZHRoOiA3MDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsgLmNvbnRhaW5lciB7IG1heC13aWR0aDogNzAwcHg7IH0gfVxuXG4uY29udGFpbmVyLWZsdWlkIHsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG4uY29udGFpbmVyLWZsdWlkOjphZnRlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiB0YWJsZTsgY2xlYXI6IGJvdGg7IH1cblxuLnJvdyB7IG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH1cblxuLnJvdzo6YWZ0ZXIgeyBjb250ZW50OiAnJzsgZGlzcGxheTogdGFibGU7IGNsZWFyOiBib3RoOyB9XG5cbi5jb2wteHMtMSwgLmNvbC14cy0yLCAuY29sLXhzLTMsIC5jb2wteHMtNCwgLmNvbC14cy01LCAuY29sLXhzLTYsIC5jb2wteHMtNywgLmNvbC14cy04LCAuY29sLXhzLTksIC5jb2wteHMtMTAsIC5jb2wteHMtMTEsIC5jb2wteHMtMTIsIC5jb2wtc20tMSwgLmNvbC1zbS0yLCAuY29sLXNtLTMsIC5jb2wtc20tNCwgLmNvbC1zbS01LCAuY29sLXNtLTYsIC5jb2wtc20tNywgLmNvbC1zbS04LCAuY29sLXNtLTksIC5jb2wtc20tMTAsIC5jb2wtc20tMTEsIC5jb2wtc20tMTIsIC5jb2wtbWQtMSwgLmNvbC1tZC0yLCAuY29sLW1kLTMsIC5jb2wtbWQtNCwgLmNvbC1tZC01LCAuY29sLW1kLTYsIC5jb2wtbWQtNywgLmNvbC1tZC04LCAuY29sLW1kLTksIC5jb2wtbWQtMTAsIC5jb2wtbWQtMTEsIC5jb2wtbWQtMTIsIC5jb2wtbGctMSwgLmNvbC1sZy0yLCAuY29sLWxnLTMsIC5jb2wtbGctNCwgLmNvbC1sZy01LCAuY29sLWxnLTYsIC5jb2wtbGctNywgLmNvbC1sZy04LCAuY29sLWxnLTksIC5jb2wtbGctMTAsIC5jb2wtbGctMTEsIC5jb2wtbGctMTIsIC5jb2wteGwtMSwgLmNvbC14bC0yLCAuY29sLXhsLTMsIC5jb2wteGwtNCwgLmNvbC14bC01LCAuY29sLXhsLTYsIC5jb2wteGwtNywgLmNvbC14bC04LCAuY29sLXhsLTksIC5jb2wteGwtMTAsIC5jb2wteGwtMTEsIC5jb2wteGwtMTIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG1pbi1oZWlnaHQ6IDFweDsgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG4uY29sLXhzLTEsIC5jb2wteHMtMiwgLmNvbC14cy0zLCAuY29sLXhzLTQsIC5jb2wteHMtNSwgLmNvbC14cy02LCAuY29sLXhzLTcsIC5jb2wteHMtOCwgLmNvbC14cy05LCAuY29sLXhzLTEwLCAuY29sLXhzLTExLCAuY29sLXhzLTEyIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbC14cy0xIHsgd2lkdGg6IDguMzMzMyU7IH1cblxuLmNvbC14cy0yIHsgd2lkdGg6IDE2LjY2NjclOyB9XG5cbi5jb2wteHMtMyB7IHdpZHRoOiAyNSU7IH1cblxuLmNvbC14cy00IHsgd2lkdGg6IDMzLjMzMzMlOyB9XG5cbi5jb2wteHMtNSB7IHdpZHRoOiA0MS42NjY3JTsgfVxuXG4uY29sLXhzLTYgeyB3aWR0aDogNTAlOyB9XG5cbi5jb2wteHMtNyB7IHdpZHRoOiA1OC4zMzMzJTsgfVxuXG4uY29sLXhzLTggeyB3aWR0aDogNjYuNjY2NyU7IH1cblxuLmNvbC14cy05IHsgd2lkdGg6IDc1JTsgfVxuXG4uY29sLXhzLTEwIHsgd2lkdGg6IDgzLjMzMzMlOyB9XG5cbi5jb2wteHMtMTEgeyB3aWR0aDogOTEuNjY2NyU7IH1cblxuLmNvbC14cy0xMiB7IHdpZHRoOiAxMDAlOyB9XG5cbi5jb2wteHMtcHVsbC0wIHsgcmlnaHQ6IGF1dG87IH1cblxuLmNvbC14cy1wdWxsLTEgeyByaWdodDogOC4zMzMzJTsgfVxuXG4uY29sLXhzLXB1bGwtMiB7IHJpZ2h0OiAxNi42NjY3JTsgfVxuXG4uY29sLXhzLXB1bGwtMyB7IHJpZ2h0OiAyNSU7IH1cblxuLmNvbC14cy1wdWxsLTQgeyByaWdodDogMzMuMzMzMyU7IH1cblxuLmNvbC14cy1wdWxsLTUgeyByaWdodDogNDEuNjY2NyU7IH1cblxuLmNvbC14cy1wdWxsLTYgeyByaWdodDogNTAlOyB9XG5cbi5jb2wteHMtcHVsbC03IHsgcmlnaHQ6IDU4LjMzMzMlOyB9XG5cbi5jb2wteHMtcHVsbC04IHsgcmlnaHQ6IDY2LjY2NjclOyB9XG5cbi5jb2wteHMtcHVsbC05IHsgcmlnaHQ6IDc1JTsgfVxuXG4uY29sLXhzLXB1bGwtMTAgeyByaWdodDogODMuMzMzMyU7IH1cblxuLmNvbC14cy1wdWxsLTExIHsgcmlnaHQ6IDkxLjY2NjclOyB9XG5cbi5jb2wteHMtcHVsbC0xMiB7IHJpZ2h0OiAxMDAlOyB9XG5cbi5jb2wteHMtcHVzaC0wIHsgbGVmdDogYXV0bzsgfVxuXG4uY29sLXhzLXB1c2gtMSB7IGxlZnQ6IDguMzMzMyU7IH1cblxuLmNvbC14cy1wdXNoLTIgeyBsZWZ0OiAxNi42NjY3JTsgfVxuXG4uY29sLXhzLXB1c2gtMyB7IGxlZnQ6IDI1JTsgfVxuXG4uY29sLXhzLXB1c2gtNCB7IGxlZnQ6IDMzLjMzMzMlOyB9XG5cbi5jb2wteHMtcHVzaC01IHsgbGVmdDogNDEuNjY2NyU7IH1cblxuLmNvbC14cy1wdXNoLTYgeyBsZWZ0OiA1MCU7IH1cblxuLmNvbC14cy1wdXNoLTcgeyBsZWZ0OiA1OC4zMzMzJTsgfVxuXG4uY29sLXhzLXB1c2gtOCB7IGxlZnQ6IDY2LjY2NjclOyB9XG5cbi5jb2wteHMtcHVzaC05IHsgbGVmdDogNzUlOyB9XG5cbi5jb2wteHMtcHVzaC0xMCB7IGxlZnQ6IDgzLjMzMzMlOyB9XG5cbi5jb2wteHMtcHVzaC0xMSB7IGxlZnQ6IDkxLjY2NjclOyB9XG5cbi5jb2wteHMtcHVzaC0xMiB7IGxlZnQ6IDEwMCU7IH1cblxuLmNvbC14cy1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uY29sLXhzLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMyU7IH1cblxuLmNvbC14cy1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiAxNi42NjY3JTsgfVxuXG4uY29sLXhzLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uY29sLXhzLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NyU7IH1cblxuLmNvbC14cy1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmNvbC14cy1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiA1OC4zMzMzJTsgfVxuXG4uY29sLXhzLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjclOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjclOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTEyIHsgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7IC5jb2wtc20tMSwgLmNvbC1zbS0yLCAuY29sLXNtLTMsIC5jb2wtc20tNCwgLmNvbC1zbS01LCAuY29sLXNtLTYsIC5jb2wtc20tNywgLmNvbC1zbS04LCAuY29sLXNtLTksIC5jb2wtc20tMTAsIC5jb2wtc20tMTEsIC5jb2wtc20tMTIgeyBmbG9hdDogbGVmdDsgfVxuICAuY29sLXNtLTEgeyB3aWR0aDogOC4zMzMzJTsgfVxuICAuY29sLXNtLTIgeyB3aWR0aDogMTYuNjY2NyU7IH1cbiAgLmNvbC1zbS0zIHsgd2lkdGg6IDI1JTsgfVxuICAuY29sLXNtLTQgeyB3aWR0aDogMzMuMzMzMyU7IH1cbiAgLmNvbC1zbS01IHsgd2lkdGg6IDQxLjY2NjclOyB9XG4gIC5jb2wtc20tNiB7IHdpZHRoOiA1MCU7IH1cbiAgLmNvbC1zbS03IHsgd2lkdGg6IDU4LjMzMzMlOyB9XG4gIC5jb2wtc20tOCB7IHdpZHRoOiA2Ni42NjY3JTsgfVxuICAuY29sLXNtLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5jb2wtc20tMTAgeyB3aWR0aDogODMuMzMzMyU7IH1cbiAgLmNvbC1zbS0xMSB7IHdpZHRoOiA5MS42NjY3JTsgfVxuICAuY29sLXNtLTEyIHsgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbC1zbS1wdWxsLTAgeyByaWdodDogYXV0bzsgfVxuICAuY29sLXNtLXB1bGwtMSB7IHJpZ2h0OiA4LjMzMzMlOyB9XG4gIC5jb2wtc20tcHVsbC0yIHsgcmlnaHQ6IDE2LjY2NjclOyB9XG4gIC5jb2wtc20tcHVsbC0zIHsgcmlnaHQ6IDI1JTsgfVxuICAuY29sLXNtLXB1bGwtNCB7IHJpZ2h0OiAzMy4zMzMzJTsgfVxuICAuY29sLXNtLXB1bGwtNSB7IHJpZ2h0OiA0MS42NjY3JTsgfVxuICAuY29sLXNtLXB1bGwtNiB7IHJpZ2h0OiA1MCU7IH1cbiAgLmNvbC1zbS1wdWxsLTcgeyByaWdodDogNTguMzMzMyU7IH1cbiAgLmNvbC1zbS1wdWxsLTggeyByaWdodDogNjYuNjY2NyU7IH1cbiAgLmNvbC1zbS1wdWxsLTkgeyByaWdodDogNzUlOyB9XG4gIC5jb2wtc20tcHVsbC0xMCB7IHJpZ2h0OiA4My4zMzMzJTsgfVxuICAuY29sLXNtLXB1bGwtMTEgeyByaWdodDogOTEuNjY2NyU7IH1cbiAgLmNvbC1zbS1wdWxsLTEyIHsgcmlnaHQ6IDEwMCU7IH1cbiAgLmNvbC1zbS1wdXNoLTAgeyBsZWZ0OiBhdXRvOyB9XG4gIC5jb2wtc20tcHVzaC0xIHsgbGVmdDogOC4zMzMzJTsgfVxuICAuY29sLXNtLXB1c2gtMiB7IGxlZnQ6IDE2LjY2NjclOyB9XG4gIC5jb2wtc20tcHVzaC0zIHsgbGVmdDogMjUlOyB9XG4gIC5jb2wtc20tcHVzaC00IHsgbGVmdDogMzMuMzMzMyU7IH1cbiAgLmNvbC1zbS1wdXNoLTUgeyBsZWZ0OiA0MS42NjY3JTsgfVxuICAuY29sLXNtLXB1c2gtNiB7IGxlZnQ6IDUwJTsgfVxuICAuY29sLXNtLXB1c2gtNyB7IGxlZnQ6IDU4LjMzMzMlOyB9XG4gIC5jb2wtc20tcHVzaC04IHsgbGVmdDogNjYuNjY2NyU7IH1cbiAgLmNvbC1zbS1wdXNoLTkgeyBsZWZ0OiA3NSU7IH1cbiAgLmNvbC1zbS1wdXNoLTEwIHsgbGVmdDogODMuMzMzMyU7IH1cbiAgLmNvbC1zbS1wdXNoLTExIHsgbGVmdDogOTEuNjY2NyU7IH1cbiAgLmNvbC1zbS1wdXNoLTEyIHsgbGVmdDogMTAwJTsgfVxuICAuY29sLXNtLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogOC4zMzMzJTsgfVxuICAuY29sLXNtLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjclOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiA0MS42NjY3JTsgfVxuICAuY29sLXNtLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuY29sLXNtLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IDU4LjMzMzMlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogODMuMzMzMyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMTIgeyBtYXJnaW4tbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgeyAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbC1tZC0xIHsgd2lkdGg6IDguMzMzMyU7IH1cbiAgLmNvbC1tZC0yIHsgd2lkdGg6IDE2LjY2NjclOyB9XG4gIC5jb2wtbWQtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLmNvbC1tZC00IHsgd2lkdGg6IDMzLjMzMzMlOyB9XG4gIC5jb2wtbWQtNSB7IHdpZHRoOiA0MS42NjY3JTsgfVxuICAuY29sLW1kLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5jb2wtbWQtNyB7IHdpZHRoOiA1OC4zMzMzJTsgfVxuICAuY29sLW1kLTggeyB3aWR0aDogNjYuNjY2NyU7IH1cbiAgLmNvbC1tZC05IHsgd2lkdGg6IDc1JTsgfVxuICAuY29sLW1kLTEwIHsgd2lkdGg6IDgzLjMzMzMlOyB9XG4gIC5jb2wtbWQtMTEgeyB3aWR0aDogOTEuNjY2NyU7IH1cbiAgLmNvbC1tZC0xMiB7IHdpZHRoOiAxMDAlOyB9XG4gIC5jb2wtbWQtcHVsbC0wIHsgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbC1tZC1wdWxsLTEgeyByaWdodDogOC4zMzMzJTsgfVxuICAuY29sLW1kLXB1bGwtMiB7IHJpZ2h0OiAxNi42NjY3JTsgfVxuICAuY29sLW1kLXB1bGwtMyB7IHJpZ2h0OiAyNSU7IH1cbiAgLmNvbC1tZC1wdWxsLTQgeyByaWdodDogMzMuMzMzMyU7IH1cbiAgLmNvbC1tZC1wdWxsLTUgeyByaWdodDogNDEuNjY2NyU7IH1cbiAgLmNvbC1tZC1wdWxsLTYgeyByaWdodDogNTAlOyB9XG4gIC5jb2wtbWQtcHVsbC03IHsgcmlnaHQ6IDU4LjMzMzMlOyB9XG4gIC5jb2wtbWQtcHVsbC04IHsgcmlnaHQ6IDY2LjY2NjclOyB9XG4gIC5jb2wtbWQtcHVsbC05IHsgcmlnaHQ6IDc1JTsgfVxuICAuY29sLW1kLXB1bGwtMTAgeyByaWdodDogODMuMzMzMyU7IH1cbiAgLmNvbC1tZC1wdWxsLTExIHsgcmlnaHQ6IDkxLjY2NjclOyB9XG4gIC5jb2wtbWQtcHVsbC0xMiB7IHJpZ2h0OiAxMDAlOyB9XG4gIC5jb2wtbWQtcHVzaC0wIHsgbGVmdDogYXV0bzsgfVxuICAuY29sLW1kLXB1c2gtMSB7IGxlZnQ6IDguMzMzMyU7IH1cbiAgLmNvbC1tZC1wdXNoLTIgeyBsZWZ0OiAxNi42NjY3JTsgfVxuICAuY29sLW1kLXB1c2gtMyB7IGxlZnQ6IDI1JTsgfVxuICAuY29sLW1kLXB1c2gtNCB7IGxlZnQ6IDMzLjMzMzMlOyB9XG4gIC5jb2wtbWQtcHVzaC01IHsgbGVmdDogNDEuNjY2NyU7IH1cbiAgLmNvbC1tZC1wdXNoLTYgeyBsZWZ0OiA1MCU7IH1cbiAgLmNvbC1tZC1wdXNoLTcgeyBsZWZ0OiA1OC4zMzMzJTsgfVxuICAuY29sLW1kLXB1c2gtOCB7IGxlZnQ6IDY2LjY2NjclOyB9XG4gIC5jb2wtbWQtcHVzaC05IHsgbGVmdDogNzUlOyB9XG4gIC5jb2wtbWQtcHVzaC0xMCB7IGxlZnQ6IDgzLjMzMzMlOyB9XG4gIC5jb2wtbWQtcHVzaC0xMSB7IGxlZnQ6IDkxLjY2NjclOyB9XG4gIC5jb2wtbWQtcHVzaC0xMiB7IGxlZnQ6IDEwMCU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuY29sLW1kLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiAxNi42NjY3JTsgfVxuICAuY29sLW1kLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuY29sLW1kLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiA1OC4zMzMzJTsgfVxuICAuY29sLW1kLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjclOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjclOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEyIHsgbWFyZ2luLWxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsgLmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2wtbGctMSB7IHdpZHRoOiA4LjMzMzMlOyB9XG4gIC5jb2wtbGctMiB7IHdpZHRoOiAxNi42NjY3JTsgfVxuICAuY29sLWxnLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5jb2wtbGctNCB7IHdpZHRoOiAzMy4zMzMzJTsgfVxuICAuY29sLWxnLTUgeyB3aWR0aDogNDEuNjY2NyU7IH1cbiAgLmNvbC1sZy02IHsgd2lkdGg6IDUwJTsgfVxuICAuY29sLWxnLTcgeyB3aWR0aDogNTguMzMzMyU7IH1cbiAgLmNvbC1sZy04IHsgd2lkdGg6IDY2LjY2NjclOyB9XG4gIC5jb2wtbGctOSB7IHdpZHRoOiA3NSU7IH1cbiAgLmNvbC1sZy0xMCB7IHdpZHRoOiA4My4zMzMzJTsgfVxuICAuY29sLWxnLTExIHsgd2lkdGg6IDkxLjY2NjclOyB9XG4gIC5jb2wtbGctMTIgeyB3aWR0aDogMTAwJTsgfVxuICAuY29sLWxnLXB1bGwtMCB7IHJpZ2h0OiBhdXRvOyB9XG4gIC5jb2wtbGctcHVsbC0xIHsgcmlnaHQ6IDguMzMzMyU7IH1cbiAgLmNvbC1sZy1wdWxsLTIgeyByaWdodDogMTYuNjY2NyU7IH1cbiAgLmNvbC1sZy1wdWxsLTMgeyByaWdodDogMjUlOyB9XG4gIC5jb2wtbGctcHVsbC00IHsgcmlnaHQ6IDMzLjMzMzMlOyB9XG4gIC5jb2wtbGctcHVsbC01IHsgcmlnaHQ6IDQxLjY2NjclOyB9XG4gIC5jb2wtbGctcHVsbC02IHsgcmlnaHQ6IDUwJTsgfVxuICAuY29sLWxnLXB1bGwtNyB7IHJpZ2h0OiA1OC4zMzMzJTsgfVxuICAuY29sLWxnLXB1bGwtOCB7IHJpZ2h0OiA2Ni42NjY3JTsgfVxuICAuY29sLWxnLXB1bGwtOSB7IHJpZ2h0OiA3NSU7IH1cbiAgLmNvbC1sZy1wdWxsLTEwIHsgcmlnaHQ6IDgzLjMzMzMlOyB9XG4gIC5jb2wtbGctcHVsbC0xMSB7IHJpZ2h0OiA5MS42NjY3JTsgfVxuICAuY29sLWxnLXB1bGwtMTIgeyByaWdodDogMTAwJTsgfVxuICAuY29sLWxnLXB1c2gtMCB7IGxlZnQ6IGF1dG87IH1cbiAgLmNvbC1sZy1wdXNoLTEgeyBsZWZ0OiA4LjMzMzMlOyB9XG4gIC5jb2wtbGctcHVzaC0yIHsgbGVmdDogMTYuNjY2NyU7IH1cbiAgLmNvbC1sZy1wdXNoLTMgeyBsZWZ0OiAyNSU7IH1cbiAgLmNvbC1sZy1wdXNoLTQgeyBsZWZ0OiAzMy4zMzMzJTsgfVxuICAuY29sLWxnLXB1c2gtNSB7IGxlZnQ6IDQxLjY2NjclOyB9XG4gIC5jb2wtbGctcHVzaC02IHsgbGVmdDogNTAlOyB9XG4gIC5jb2wtbGctcHVzaC03IHsgbGVmdDogNTguMzMzMyU7IH1cbiAgLmNvbC1sZy1wdXNoLTggeyBsZWZ0OiA2Ni42NjY3JTsgfVxuICAuY29sLWxnLXB1c2gtOSB7IGxlZnQ6IDc1JTsgfVxuICAuY29sLWxnLXB1c2gtMTAgeyBsZWZ0OiA4My4zMzMzJTsgfVxuICAuY29sLWxnLXB1c2gtMTEgeyBsZWZ0OiA5MS42NjY3JTsgfVxuICAuY29sLWxnLXB1c2gtMTIgeyBsZWZ0OiAxMDAlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiA4LjMzMzMlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiAzMy4zMzMzJTsgfVxuICAuY29sLWxnLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjclOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiA2Ni42NjY3JTsgfVxuICAuY29sLWxnLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuY29sLWxnLW9mZnNldC0xMCB7IG1hcmdpbi1sZWZ0OiA4My4zMzMzJTsgfVxuICAuY29sLWxnLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiA5MS42NjY3JTsgfVxuICAuY29sLWxnLW9mZnNldC0xMiB7IG1hcmdpbi1sZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgeyAuY29sLXhsLTEsIC5jb2wteGwtMiwgLmNvbC14bC0zLCAuY29sLXhsLTQsIC5jb2wteGwtNSwgLmNvbC14bC02LCAuY29sLXhsLTcsIC5jb2wteGwtOCwgLmNvbC14bC05LCAuY29sLXhsLTEwLCAuY29sLXhsLTExLCAuY29sLXhsLTEyIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbC14bC0xIHsgd2lkdGg6IDguMzMzMyU7IH1cbiAgLmNvbC14bC0yIHsgd2lkdGg6IDE2LjY2NjclOyB9XG4gIC5jb2wteGwtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLmNvbC14bC00IHsgd2lkdGg6IDMzLjMzMzMlOyB9XG4gIC5jb2wteGwtNSB7IHdpZHRoOiA0MS42NjY3JTsgfVxuICAuY29sLXhsLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5jb2wteGwtNyB7IHdpZHRoOiA1OC4zMzMzJTsgfVxuICAuY29sLXhsLTggeyB3aWR0aDogNjYuNjY2NyU7IH1cbiAgLmNvbC14bC05IHsgd2lkdGg6IDc1JTsgfVxuICAuY29sLXhsLTEwIHsgd2lkdGg6IDgzLjMzMzMlOyB9XG4gIC5jb2wteGwtMTEgeyB3aWR0aDogOTEuNjY2NyU7IH1cbiAgLmNvbC14bC0xMiB7IHdpZHRoOiAxMDAlOyB9XG4gIC5jb2wteGwtcHVsbC0wIHsgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbC14bC1wdWxsLTEgeyByaWdodDogOC4zMzMzJTsgfVxuICAuY29sLXhsLXB1bGwtMiB7IHJpZ2h0OiAxNi42NjY3JTsgfVxuICAuY29sLXhsLXB1bGwtMyB7IHJpZ2h0OiAyNSU7IH1cbiAgLmNvbC14bC1wdWxsLTQgeyByaWdodDogMzMuMzMzMyU7IH1cbiAgLmNvbC14bC1wdWxsLTUgeyByaWdodDogNDEuNjY2NyU7IH1cbiAgLmNvbC14bC1wdWxsLTYgeyByaWdodDogNTAlOyB9XG4gIC5jb2wteGwtcHVsbC03IHsgcmlnaHQ6IDU4LjMzMzMlOyB9XG4gIC5jb2wteGwtcHVsbC04IHsgcmlnaHQ6IDY2LjY2NjclOyB9XG4gIC5jb2wteGwtcHVsbC05IHsgcmlnaHQ6IDc1JTsgfVxuICAuY29sLXhsLXB1bGwtMTAgeyByaWdodDogODMuMzMzMyU7IH1cbiAgLmNvbC14bC1wdWxsLTExIHsgcmlnaHQ6IDkxLjY2NjclOyB9XG4gIC5jb2wteGwtcHVsbC0xMiB7IHJpZ2h0OiAxMDAlOyB9XG4gIC5jb2wteGwtcHVzaC0wIHsgbGVmdDogYXV0bzsgfVxuICAuY29sLXhsLXB1c2gtMSB7IGxlZnQ6IDguMzMzMyU7IH1cbiAgLmNvbC14bC1wdXNoLTIgeyBsZWZ0OiAxNi42NjY3JTsgfVxuICAuY29sLXhsLXB1c2gtMyB7IGxlZnQ6IDI1JTsgfVxuICAuY29sLXhsLXB1c2gtNCB7IGxlZnQ6IDMzLjMzMzMlOyB9XG4gIC5jb2wteGwtcHVzaC01IHsgbGVmdDogNDEuNjY2NyU7IH1cbiAgLmNvbC14bC1wdXNoLTYgeyBsZWZ0OiA1MCU7IH1cbiAgLmNvbC14bC1wdXNoLTcgeyBsZWZ0OiA1OC4zMzMzJTsgfVxuICAuY29sLXhsLXB1c2gtOCB7IGxlZnQ6IDY2LjY2NjclOyB9XG4gIC5jb2wteGwtcHVzaC05IHsgbGVmdDogNzUlOyB9XG4gIC5jb2wteGwtcHVzaC0xMCB7IGxlZnQ6IDgzLjMzMzMlOyB9XG4gIC5jb2wteGwtcHVzaC0xMSB7IGxlZnQ6IDkxLjY2NjclOyB9XG4gIC5jb2wteGwtcHVzaC0xMiB7IGxlZnQ6IDEwMCU7IH1cbiAgLmNvbC14bC1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuY29sLXhsLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMyU7IH1cbiAgLmNvbC14bC1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiAxNi42NjY3JTsgfVxuICAuY29sLXhsLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuY29sLXhsLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlOyB9XG4gIC5jb2wteGwtb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NyU7IH1cbiAgLmNvbC14bC1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmNvbC14bC1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiA1OC4zMzMzJTsgfVxuICAuY29sLXhsLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjclOyB9XG4gIC5jb2wteGwtb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5jb2wteGwtb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMlOyB9XG4gIC5jb2wteGwtb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjclOyB9XG4gIC5jb2wteGwtb2Zmc2V0LTEyIHsgbWFyZ2luLWxlZnQ6IDEwMCU7IH0gfVxuXG4uZm9ybS1jb250cm9sIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBmb250LXNpemU6IDFyZW07IGxpbmUtaGVpZ2h0OiAxLjU7IGNvbG9yOiAjZjdmN2Y5OyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgYm9yZGVyOiAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U1REREODsgcGFkZGluZzogLjI1ZW07IH1cblxuLmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZCB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBib3JkZXI6IDA7IH1cblxuLmZvcm0tY29udHJvbDpmb2N1cyB7IGJvcmRlci1jb2xvcjogI2Y5ZjhmNzsgb3V0bGluZTogbm9uZTsgfVxuXG4uZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAjOTk5OyBvcGFjaXR5OiAxOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldIHsgYmFja2dyb3VuZC1jb2xvcjogI2VjZWVlZjsgb3BhY2l0eTogMTsgfVxuXG4uZm9ybS1jb250cm9sOmRpc2FibGVkIHsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uZm9ybS1jb250cm9sLWZpbGUsIC5mb3JtLWNvbnRyb2wtcmFuZ2UgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4uZm9ybS1jb250cm9sLWxhYmVsIHsgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7IGlucHV0W3R5cGU9XCJkYXRlXCJdLmZvcm0tY29udHJvbCwgaW5wdXRbdHlwZT1cInRpbWVcIl0uZm9ybS1jb250cm9sLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uZm9ybS1jb250cm9sLCBpbnB1dFt0eXBlPVwibW9udGhcIl0uZm9ybS1jb250cm9sIHsgbGluZS1oZWlnaHQ6IDIuMjVyZW07IH1cbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0uaW5wdXQtc20sIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5mb3JtLWNvbnRyb2wsIGlucHV0W3R5cGU9XCJ0aW1lXCJdLmlucHV0LXNtLCAuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1cInRpbWVcIl0uZm9ybS1jb250cm9sLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uaW5wdXQtc20sIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uZm9ybS1jb250cm9sLCBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtc20sIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPVwibW9udGhcIl0uZm9ybS1jb250cm9sIHsgbGluZS1oZWlnaHQ6IDEuODYyNXJlbTsgfVxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5pbnB1dC1sZywgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9XCJkYXRlXCJdLmZvcm0tY29udHJvbCwgaW5wdXRbdHlwZT1cInRpbWVcIl0uaW5wdXQtbGcsIC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPVwidGltZVwiXS5mb3JtLWNvbnRyb2wsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5pbnB1dC1sZywgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5mb3JtLWNvbnRyb2wsIGlucHV0W3R5cGU9XCJtb250aFwiXS5pbnB1dC1sZywgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9XCJtb250aFwiXS5mb3JtLWNvbnRyb2wgeyBsaW5lLWhlaWdodDogMy4xNjY3cmVtOyB9IH1cblxuLmZvcm0tY29udHJvbC1zdGF0aWMgeyBtaW4taGVpZ2h0OiAyLjI1cmVtOyBwYWRkaW5nLXRvcDogMC4zNzVyZW07IHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybS1jb250cm9sLXN0YXRpYy5mb3JtLWNvbnRyb2wtc20sIC5mb3JtLWNvbnRyb2wtc3RhdGljLmZvcm0tY29udHJvbC1sZyB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4uZm9ybS1jb250cm9sLXNtIHsgcGFkZGluZzogMC4yNzVyZW0gMC43NXJlbTsgZm9udC1zaXplOiAwLjg3NXJlbTsgbGluZS1oZWlnaHQ6IDEuNTsgYm9yZGVyLXJhZGl1czogMC4ycmVtOyB9XG5cbi5mb3JtLWNvbnRyb2wtbGcgeyBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07IGZvbnQtc2l6ZTogMS4yNXJlbTsgbGluZS1oZWlnaHQ6IDEuMzMzMzsgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XG5cbi5mb3JtLWdyb3VwIHsgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTsgfVxuXG4ucmFkaW8sIC5jaGVja2JveCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cblxuLnJhZGlvIGxhYmVsLCAuY2hlY2tib3ggbGFiZWwgeyBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IG1hcmdpbi1ib3R0b206IDA7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucmFkaW8gbGFiZWwgaW5wdXQ6b25seS1jaGlsZCwgLmNoZWNrYm94IGxhYmVsIGlucHV0Om9ubHktY2hpbGQgeyBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sIC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLCAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCAuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbWFyZ2luLXRvcDogLjI1cmVtOyBtYXJnaW4tbGVmdDogLTEuMjVyZW07IH1cblxuLnJhZGlvICsgLnJhZGlvLCAuY2hlY2tib3ggKyAuY2hlY2tib3ggeyBtYXJnaW4tdG9wOiAtLjI1cmVtOyB9XG5cbi5yYWRpby1pbmxpbmUsIC5jaGVja2JveC1pbmxpbmUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyBtYXJnaW4tYm90dG9tOiAwOyBmb250LXdlaWdodDogbm9ybWFsOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnJhZGlvLWlubGluZSArIC5yYWRpby1pbmxpbmUsIC5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWxlZnQ6IC43NXJlbTsgfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJyYWRpb1wiXS5kaXNhYmxlZCwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uZGlzYWJsZWQgeyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5yYWRpby1pbmxpbmUuZGlzYWJsZWQsIC5jaGVja2JveC1pbmxpbmUuZGlzYWJsZWQgeyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5yYWRpby5kaXNhYmxlZCBsYWJlbCwgLmNoZWNrYm94LmRpc2FibGVkIGxhYmVsIHsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmZvcm0tY29udHJvbC1kYW5nZXIgeyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMC4yODEycmVtOyBiYWNrZ3JvdW5kLXNpemU6IDEuNDYyNXJlbSAxLjQ2MjVyZW07IH1cblxuLmhhcy1zdWNjZXNzIC50ZXh0LWhlbHAsIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWxhYmVsLCAuaGFzLXN1Y2Nlc3MgLnJhZGlvLCAuaGFzLXN1Y2Nlc3MgLmNoZWNrYm94LCAuaGFzLXN1Y2Nlc3MgLnJhZGlvLWlubGluZSwgLmhhcy1zdWNjZXNzIC5jaGVja2JveC1pbmxpbmUsIC5oYXMtc3VjY2Vzcy5yYWRpbyBsYWJlbCwgLmhhcy1zdWNjZXNzLmNoZWNrYm94IGxhYmVsLCAuaGFzLXN1Y2Nlc3MucmFkaW8taW5saW5lIGxhYmVsLCAuaGFzLXN1Y2Nlc3MuY2hlY2tib3gtaW5saW5lIGxhYmVsIHsgY29sb3I6ICM1Y2I4NWM7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wgeyBib3JkZXItY29sb3I6ICM1Y2I4NWM7IH1cblxuLmhhcy1zdWNjZXNzIC5pbnB1dC1ncm91cC1hZGRvbiB7IGNvbG9yOiAjNWNiODVjOyBib3JkZXItY29sb3I6ICM1Y2I4NWM7IGJhY2tncm91bmQtY29sb3I6ICNlYWY2ZWE7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sgeyBjb2xvcjogIzVjYjg1YzsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1zdWNjZXNzIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqTldOaU9EVmpJaUJrUFNKTk1qTXpMamdnTmpFd1l5MHhNeTR6SURBdE1qWXROaTB6TkMweE5pNDRURGt3TGpVZ05EUTRMamhETnpZdU15QTBNekFnT0RBZ05EQXpMak1nT1RndU9DQXpPRGxqTVRndU9DMHhOQzR5SURRMUxqVXRNVEF1TkNBMU9TNDRJRGd1Tkd3M01pQTVOVXcwTlRFdU15QXlOREpqTVRJdU5TMHlNQ0F6T0M0NExUSTJMaklnTlRndU9DMHhNeTQzSURJd0lERXlMalFnTWpZZ016Z3VOeUF4TXk0M0lEVTRMamhNTWpjd0lEVTVNR010Tnk0MElERXlMVEl3TGpJZ01Ua3VOQzB6TkM0eklESXdhQzB5ZWlJdlBqd3ZjM1puUGc9PVwiKTsgfVxuXG4uaGFzLXdhcm5pbmcgLnRleHQtaGVscCwgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtbGFiZWwsIC5oYXMtd2FybmluZyAucmFkaW8sIC5oYXMtd2FybmluZyAuY2hlY2tib3gsIC5oYXMtd2FybmluZyAucmFkaW8taW5saW5lLCAuaGFzLXdhcm5pbmcgLmNoZWNrYm94LWlubGluZSwgLmhhcy13YXJuaW5nLnJhZGlvIGxhYmVsLCAuaGFzLXdhcm5pbmcuY2hlY2tib3ggbGFiZWwsIC5oYXMtd2FybmluZy5yYWRpby1pbmxpbmUgbGFiZWwsIC5oYXMtd2FybmluZy5jaGVja2JveC1pbmxpbmUgbGFiZWwgeyBjb2xvcjogI2YwYWQ0ZTsgfVxuXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbCB7IGJvcmRlci1jb2xvcjogI2YwYWQ0ZTsgfVxuXG4uaGFzLXdhcm5pbmcgLmlucHV0LWdyb3VwLWFkZG9uIHsgY29sb3I6ICNmMGFkNGU7IGJvcmRlci1jb2xvcjogI2YwYWQ0ZTsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sgeyBjb2xvcjogI2YwYWQ0ZTsgfVxuXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbC13YXJuaW5nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWmpCaFpEUmxJaUJrUFNKTk5qQXpJRFkwTUM0eWJDMHlOemd1TlMwMU1EbGpMVE11T0MwMkxqWXRNVEF1T0MweE1DNDJMVEU0TGpVdE1UQXVObk10TVRRdU55QTBMVEU0TGpVZ01UQXVOa3c1SURZME1DNHlZeTB6TGpjZ05pNDFMVE11TmlBeE5DNDBMaklnTWpBdU9DQXpMamdnTmk0MUlERXdMamdnTVRBdU5DQXhPQzR6SURFd0xqUm9OVFUzWXpjdU5pQXdJREUwTGpZdE5DQXhPQzQwTFRFd0xqUWdNeTQxTFRZdU5DQXpMall0TVRRdU5DQXdMVEl3TGpoNmJTMHlOall1TkMwek1HZ3ROakV1TWxZMU5EbG9OakV1TW5ZMk1TNHllbTB3TFRFd04yZ3ROakV1TWxZek1EUm9OakV1TW5ZeE9UbDZJaTgrUEM5emRtYytcIik7IH1cblxuLmhhcy1kYW5nZXIgLnRleHQtaGVscCwgLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1sYWJlbCwgLmhhcy1kYW5nZXIgLnJhZGlvLCAuaGFzLWRhbmdlciAuY2hlY2tib3gsIC5oYXMtZGFuZ2VyIC5yYWRpby1pbmxpbmUsIC5oYXMtZGFuZ2VyIC5jaGVja2JveC1pbmxpbmUsIC5oYXMtZGFuZ2VyLnJhZGlvIGxhYmVsLCAuaGFzLWRhbmdlci5jaGVja2JveCBsYWJlbCwgLmhhcy1kYW5nZXIucmFkaW8taW5saW5lIGxhYmVsLCAuaGFzLWRhbmdlci5jaGVja2JveC1pbmxpbmUgbGFiZWwgeyBjb2xvcjogI2Q5NTM0ZjsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sIHsgYm9yZGVyLWNvbG9yOiAjZDk1MzRmOyB9XG5cbi5oYXMtZGFuZ2VyIC5pbnB1dC1ncm91cC1hZGRvbiB7IGNvbG9yOiAjZDk1MzRmOyBib3JkZXItY29sb3I6ICNkOTUzNGY7IGJhY2tncm91bmQtY29sb3I6ICNmZGY3Zjc7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7IGNvbG9yOiAjZDk1MzRmOyB9XG5cbi5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wtZGFuZ2VyIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWkRrMU16Um1JaUJrUFNKTk5EUTNJRFUwTkM0MFl5MHhOQzQwSURFMExqUXRNemN1TmlBeE5DNDBMVFV5SURCc0xUZzVMVGt5TGpjdE9Ea2dPVEl1TjJNdE1UUXVOU0F4TkM0MExUTTNMamNnTVRRdU5DMDFNaUF3TFRFMExqUXRNVFF1TkMweE5DNDBMVE0zTGpZZ01DMDFNbXc1TWk0MExUazJMak10T1RJdU5DMDVOaTR6WXkweE5DNDBMVEUwTGpRdE1UUXVOQzB6Tnk0MklEQXROVEp6TXpjdU5pMHhOQzR6SURVeUlEQnNPRGtnT1RJdU9DQTRPUzR5TFRreUxqZGpNVFF1TkMweE5DNDBJRE0zTGpZdE1UUXVOQ0ExTWlBd0lERTBMak1nTVRRdU5DQXhOQzR6SURNM0xqWWdNQ0ExTWt3ek5UUXVOaUF6T1Rac09USXVOQ0E1Tmk0MFl6RTBMalFnTVRRdU5DQXhOQzQwSURNM0xqWWdNQ0ExTW5vaUx6NDhMM04yWno0PVwiKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHsgLmZvcm0taW5saW5lIC5mb3JtLWdyb3VwIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tYm90dG9tOiAwOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogYXV0bzsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1zdGF0aWMgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCB7IGRpc3BsYXk6IGlubGluZS10YWJsZTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbiwgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRuLCAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wgeyB3aWR0aDogYXV0bzsgfVxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7IHdpZHRoOiAxMDAlOyB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLWxhYmVsIHsgbWFyZ2luLWJvdHRvbTogMDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLnJhZGlvLCAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5mb3JtLWlubGluZSAucmFkaW8gbGFiZWwsIC5mb3JtLWlubGluZSAuY2hlY2tib3ggbGFiZWwgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmZvcm0taW5saW5lIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sIC5mb3JtLWlubGluZSAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tbGVmdDogMDsgfVxuICAuZm9ybS1pbmxpbmUgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsgdG9wOiAwOyB9IH1cblxuLmZvcm0tZmxvYXRpbmctbGFiZWwgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZvcm0tZmxvYXRpbmctbGFiZWwgLmZvcm0tY29udHJvbC1sYWJlbCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyB6LWluZGV4OiAtMTsgdHJhbnNpdGlvbjogNTBtcyBhbGwgZWFzZS1pbi1vdXQ7IH1cblxuLmZvcm0tZmxvYXRpbmctbGFiZWwgLmZvcm0tY29udHJvbDpmb2N1cyArIC5mb3JtLWNvbnRyb2wtbGFiZWwsIC5mb3JtLWZsb2F0aW5nLWxhYmVsIC5mb3JtLWNvbnRyb2w6dmFsaWQgKyAuZm9ybS1jb250cm9sLWxhYmVsIHsgdG9wOiAtMS43NWVtOyBmb250LXNpemU6IC45ZW07IH1cblxudWwgeyBwYWRkaW5nLWxlZnQ6IDA7IG1hcmdpbi1ib3R0b206IDA7IH1cblxubGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAwIC41cmVtOyB9XG5cbi5iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogIzJFMTcxMTsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uc3BsYXNoLW92ZXJsYXktdG9nZ2xlIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDEuNWVtOyBsZWZ0OiAxLjVlbTsgaGVpZ2h0OiAyZW07IHdpZHRoOiAyZW07IGJvcmRlcjogMnB4IHNvbGlkICNFNURERDg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IHotaW5kZXg6IDExOyBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNwbGFzaC1vdmVybGF5LXRvZ2dsZTpiZWZvcmUsIC5zcGxhc2gtb3ZlcmxheS10b2dnbGU6YWZ0ZXIgeyBjb250ZW50OiAnJzsgYmFja2dyb3VuZDogI0U1REREODsgaGVpZ2h0OiAycHg7IHdpZHRoOiAxLjI1ZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLnNwbGFzaC1vdmVybGF5LXRvZ2dsZTpiZWZvcmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoOTBkZWcpOyB9XG5cbi5zcGxhc2gtb3ZlcmxheS10b2dnbGU6YWZ0ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMGRlZyk7IH1cblxuLnNwbGFzaC1vdmVybGF5LXRvZ2dsZS5hY3RpdmU6YmVmb3JlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTsgfVxuXG4uc3BsYXNoLW92ZXJsYXktdG9nZ2xlLmFjdGl2ZTphZnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5vdmVybGF5IHsgYmFja2dyb3VuZDogcmdiYSg0NiwgMjMsIDE3LCAwLjgpOyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgei1pbmRleDogMTA7IG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjsgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBlYXNlLWluLW91dCAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHM7IH1cblxuLm92ZXJsYXkuYWN0aXZlIHsgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc2l0ZS1kZXRhaWxzIHsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc2l0ZS1kZXRhaWxzIC5zZXJ2aWNlcyB7IG1hcmdpbi1ib3R0b206IDUwcHg7IH1cblxuLnNwbGFzaCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5ibG9jay1pbWFnZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIgeyBjb250ZW50OiAnJzsgZGlzcGxheTogdGFibGU7IGNsZWFyOiBib3RoOyB9XG5cbi5jZW50ZXItYmxvY2sgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgZmxvYXQ6IGluaXRpYWw7IH1cblxuLnB1bGwteHMtbGVmdCB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLnB1bGwteHMtcmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4ucHVsbC14cy1ub25lIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHsgLnB1bGwtc20tbGVmdCB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnB1bGwtc20tcmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAucHVsbC1zbS1ub25lIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgeyAucHVsbC1tZC1sZWZ0IHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAucHVsbC1tZC1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5wdWxsLW1kLW5vbmUgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7IC5wdWxsLWxnLWxlZnQgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5wdWxsLWxnLXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnB1bGwtbGctbm9uZSB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7IC5wdWxsLXhsLWxlZnQgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5wdWxsLXhsLXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnB1bGwteGwtbm9uZSB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc3Itb25seSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmc6IDA7IG1hcmdpbjogLTFweDsgb3ZlcmZsb3c6IGhpZGRlbjsgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgYm9yZGVyOiAwOyB9XG5cbi5pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4udGV4dC1oaWRlIHsgZm9udDogXCIwLzBcIiBhOyBjb2xvcjogdHJhbnNwYXJlbnQ7IHRleHQtc2hhZG93OiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAwOyB9XG5cbi50ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXRydW5jYXRlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnRleHQteHMtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuXG4udGV4dC14cy1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQteHMtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7IC50ZXh0LXNtLWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtc20tcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXNtLWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7IC50ZXh0LW1kLWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtbWQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LW1kLWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7IC50ZXh0LWxnLWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtbGctcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxnLWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgeyAudGV4dC14bC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXhsLXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudGV4dC14bC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbi50ZXh0LWxvd2VyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4udGV4dC11cHBlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtd2VpZ2h0LW5vcm1hbCB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmZvbnQtd2VpZ2h0LWJvbGQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZm9udC1pdGFsaWMgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiIsIi8vIFJlYm9vdFxuLy9cbi8vIFNvbWUgZ2xvYmFsIHNldHRpbmdzIGFuZCByZXNldHMgdG8gY29tbW9uIEhUTUwgZWxlbWVudHMgZm9yIGVhc2llciB1c2FnZS5cbi8vIE1vcmUgc3BlY2lmaWMgdGhhbiByZXNldC9ub3JtYWxpemVcblxuLy8gUmVzZXQgYm94IHNpemluZ1xuaHRtbCB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG5cdGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8vIFZpZXdwb3J0IHJlc3BvbnNpdmVcbkBhdC1yb290IHtcblx0QC1tb3otdmlld3BvcnQgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQC1tcy12aWV3cG9ydCAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQC1vLXZpZXdwb3J0ICAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQC13ZWJraXQtdmlld3BvcnQgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQHZpZXdwb3J0ICAgICAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbn1cblxuLy8gUmVzZXQgSFRNTCwgYm9keVxuaHRtbCB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yb290O1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc207XG4gIG1hcmdpbjogMCBhdXRvO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbm1haW4ge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi8vIFN1cHJlc3MgdGFiaW5kZXggZm9yIHVud2FudGVkIGZvY3VzIG91dGxpbmVzXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gVHlwb2dyYXBoeVxuXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG5wIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuYWRkcmVzcyB7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLCB1bCwgZGwge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4vLyBMaW5rc1xuXG5hIHtcblx0Y29sb3I6ICRsaW5rLWNvbG9yO1xuXHR0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cdHRyYW5zaXRpb246IGNvbG9yIDM1MG1zIGVhc2UtaW4tb3V0O1xuXG5cdEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcblx0XHRjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0QGluY2x1ZGUgdGFiLWZvY3VzKCk7XG5cdH1cblxuXHQmLmRhcmsge1xuXHRcdGNvbG9yOiAkbGluay1jb2xvci1kYXJrO1xuXG5cdFx0QGluY2x1ZGUgaG92ZXItZm9jdXMge1xuXHRcdFx0Y29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yLWRhcms7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEltYWdlc1xuXG5pbWcge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybXNcblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuLy8gIGJvcmRlcjogMDtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gSGlkZGVuIHV0aWxpdHkgYmFzZWQgb24gSFRNTCBhdHRyaWJ1dGVzXG5baGlkZGVuXSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgICAgIzM3M2EzYyAhZGVmYXVsdDtcbiRncmF5OiAgICAgICAgICAgICAgICAgICAgICAjNTU1OTVjICFkZWZhdWx0O1xuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgICAgICM4MThhOTEgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgICAgI2VjZWVlZiAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0ZXN0OiAgICAgICAgICAgICAjZjdmN2Y5ICFkZWZhdWx0O1xuXG4kd2hpdGU6ICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRibGFjazogICAgICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgICAgICMyRTE3MTEgIWRlZmF1bHQ7XG4kYnJhbmQtc2Vjb25kYXJ5OiAgICAgICAgICAgI0U1REREOCAhZGVmYXVsdDtcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICAgICAgICAgICAgICAgICM1YmMwZGUgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZzogICAgICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4kZW5hYmxlLWZsZXg6IGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6IGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gU3BhY2luZ1xuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlci14OiAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlci15OiAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcblx0MDogKFxuXHRcdHg6IDAsXG5cdFx0eTogMFxuXHQpLFxuXHQxOiAoXG5cdFx0eDogJHNwYWNlci14LFxuXHRcdHk6ICRzcGFjZXIteVxuXHQpLFxuXHQyOiAoXG5cdFx0eDogKCRzcGFjZXIteCAqIDEuNSksXG5cdFx0eTogKCRzcGFjZXIteSAqIDEuNSlcblx0KSxcblx0MzogKFxuXHRcdHg6ICgkc3BhY2VyLXggKiAzKSxcblx0XHR5OiAoJHNwYWNlci15ICogMylcblx0KVxuKSAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8gQm9keSA8Ym9keT5cbiRib2R5LWJnOiAkYnJhbmQtcHJpbWFyeTtcbiRib2R5LWNvbG9yOiAkYnJhbmQtc2Vjb25kYXJ5XHQ7XG5cbi8vIExpbmtzIOKAlCBzdHlsZSBhbmNob3IgZWxlbWVudHMuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstY29sb3ItZGFyazogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvci1kYXJrOiAgICAgIGxpZ2h0ZW4oJGxpbmstY29sb3ItZGFyaywgMTUlKSAhZGVmYXVsdDtcblxuLy8gR3JpZCBCcmVha3BvaW50c1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU0NHB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuLy8gR3JpZCBDb250YWluZXJzXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTAwcHgsXG4gIG1kOiA2MDBweCxcbiAgbGc6IDcwMHB4LFxuICB4bDogNzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vIEdyaWQgQ29sdW1uc1xuXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogMS44NzVyZW0gIWRlZmF1bHQ7IC8vIDMwcHhcblxuLy8gVHlwb2dyYXBoeVxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBcIldhcm5vY2tcIiwgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICRmb250LWZhbWlseS1zZXJpZiAhZGVmYXVsdDtcblxuLy8gUGl4ZWwgdmFsdWUgdXNlZCB0byByZXNwb25zaXZlbHkgc2NhbGUgYWxsIHR5cG9ncmFwaHkuIEFwcGxpZWQgdG8gdGhlIDxodG1sPiBlbGVtZW50XG5cbiRmb250LXNpemUtcm9vdDogMTZweCAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogMS4yNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206IC44NzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8gQ29tcG9uZW50c1xuXG4kbGluZS1oZWlnaHQtbGc6ICg0IC8gMykgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206IDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6IC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAuMnJlbSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXdpZHRoLWxnOiAgICAgICAgICRjYXJldC13aWR0aCAhZGVmYXVsdDtcblxuJGN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbnNcblxuJGJ0bi1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogLjM3NXJlbSAhZGVmYXVsdDtcbiRidG4tZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgJGJ0bi1wcmltYXJ5LWJnICFkZWZhdWx0O1xuXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJ0bi1zZWNvbmRhcnktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4taW5mby1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgICRidG4taW5mby1iZyAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgJGJ0bi1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgJGJ0bi1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuLy8gRm9ybXNcblxuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXN0ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zXG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICBsaWdodGVuKCRicmFuZC1zZWNvbmRhcnksIDEwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogICAgICAgICByZ2JhKDEwMiwxNzUsMjMzLC42KSAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjI3NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQpICsgKCRpbnB1dC1wYWRkaW5nLXkgKiAyKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAoKCRmb250LXNpemUtbGcgKiAkbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAoKCRmb250LXNpemUtc20gKiAkbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyKSkgIWRlZmF1bHQ7XG5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICgkc3BhY2VyLXkgKiAyLjI1KSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiRmb3JtLWljb24tc3VjY2VzczogXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBMk1USWdOemt5SWo0OGNHRjBhQ0JtYVd4c1BTSWpOV05pT0RWaklpQmtQU0pOTWpNekxqZ2dOakV3WXkweE15NHpJREF0TWpZdE5pMHpOQzB4Tmk0NFREa3dMalVnTkRRNExqaEROell1TXlBME16QWdPREFnTkRBekxqTWdPVGd1T0NBek9EbGpNVGd1T0MweE5DNHlJRFExTGpVdE1UQXVOQ0ExT1M0NElEZ3VOR3czTWlBNU5VdzBOVEV1TXlBeU5ESmpNVEl1TlMweU1DQXpPQzQ0TFRJMkxqSWdOVGd1T0MweE15NDNJREl3SURFeUxqUWdNallnTXpndU55QXhNeTQzSURVNExqaE1NamN3SURVNU1HTXROeTQwSURFeUxUSXdMaklnTVRrdU5DMHpOQzR6SURJd2FDMHllaUl2UGp3dmMzWm5QZz09XCIgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXdhcm5pbmc6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWmpCaFpEUmxJaUJrUFNKTk5qQXpJRFkwTUM0eWJDMHlOemd1TlMwMU1EbGpMVE11T0MwMkxqWXRNVEF1T0MweE1DNDJMVEU0TGpVdE1UQXVObk10TVRRdU55QTBMVEU0TGpVZ01UQXVOa3c1SURZME1DNHlZeTB6TGpjZ05pNDFMVE11TmlBeE5DNDBMaklnTWpBdU9DQXpMamdnTmk0MUlERXdMamdnTVRBdU5DQXhPQzR6SURFd0xqUm9OVFUzWXpjdU5pQXdJREUwTGpZdE5DQXhPQzQwTFRFd0xqUWdNeTQxTFRZdU5DQXpMall0TVRRdU5DQXdMVEl3TGpoNmJTMHlOall1TkMwek1HZ3ROakV1TWxZMU5EbG9OakV1TW5ZMk1TNHllbTB3TFRFd04yZ3ROakV1TWxZek1EUm9OakV1TW5ZeE9UbDZJaTgrUEM5emRtYytcIiAhZGVmYXVsdDtcbiRmb3JtLWljb24tZGFuZ2VyOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTVRJZ056a3lJajQ4Y0dGMGFDQm1hV3hzUFNJalpEazFNelJtSWlCa1BTSk5ORFEzSURVME5DNDBZeTB4TkM0MElERTBMalF0TXpjdU5pQXhOQzQwTFRVeUlEQnNMVGc1TFRreUxqY3RPRGtnT1RJdU4yTXRNVFF1TlNBeE5DNDBMVE0zTGpjZ01UUXVOQzAxTWlBd0xURTBMalF0TVRRdU5DMHhOQzQwTFRNM0xqWWdNQzAxTW13NU1pNDBMVGsyTGpNdE9USXVOQzA1Tmk0ell5MHhOQzQwTFRFMExqUXRNVFF1TkMwek55NDJJREF0TlRKek16Y3VOaTB4TkM0eklEVXlJREJzT0RrZ09USXVPQ0E0T1M0eUxUa3lMamRqTVRRdU5DMHhOQzQwSURNM0xqWXRNVFF1TkNBMU1pQXdJREUwTGpNZ01UUXVOQ0F4TkM0eklETTNMallnTUNBMU1rd3pOVFF1TmlBek9UWnNPVEl1TkNBNU5pNDBZekUwTGpRZ01UUXVOQ0F4TkM0MElETTNMallnTUNBMU1ub2lMejQ4TDNOMlp6ND1cIiAhZGVmYXVsdDtcblxuLy8gWi1pbmRleCBNYXN0ZXIgTGlzdFxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLXN0aWNreTogICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJnOiAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyXG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogJHNwYWNlciAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuMjUpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgwLDAsMCwuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG5cbi8vIE5hdnNcbiRuYXYtbGluay1wYWRkaW5nOiAuNWVtIDFlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuIiwiQG1peGluIGhvdmVyIHtcblx0QGlmICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuXHRcdEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG5cdFx0XHQmaG92ZXIgeyBAY29udGVudCB9XG5cdFx0fVxuXHR9XG5cdEBlbHNlIHtcblx0XHQmOmhvdmVyIHsgQGNvbnRlbnQgfVxuXHR9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cyB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmOmZvY3VzIHsgQGNvbnRlbnQgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHsgQGNvbnRlbnQgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgQGlmICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuICAgICYsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJixcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHsgQGNvbnRlbnQgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFdlYmtpdC1zdHlsZSBmb2N1c1xuXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuXHQvLyBEZWZhdWx0XG5cdG91dGxpbmU6IHRoaW4gZG90dGVkO1xuXHQvLyBXZWJraXRcblx0b3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuXHRvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIi8qKlxuICogQWxsIHR5cG9ncmFwaHkgdGFncyBhbmQgc3BlY2lmaWNzXG4gKi9cblxuLmxlYWQge1xuICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xuICBtYXJnaW46IDEuNzVlbSBhdXRvO1xufVxuXG4uc21hbGwge1xuICBmb250LXNpemU6ICRmb250LXNpemUteHM7XG59XG4iLCIvKipcbiAqIENyZWF0aW5nIGEgcmVzcG9uc2l2ZSBncmlkIGZvciBwYWdlIHN0cnVjdHVyZVxuICovXG5cbi8vIENvbnRhaW5lciB3aXRoIGEgd2lkdGhcbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbn1cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vLyBGb2xsb3dzIGNvbnRhaW5lciBidXQgd2l0aG91dCBnaXZpbmcgaXQgYSBkZWZpbmVkIHdpZHRoXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbn1cblxuLy8gUm93XG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG59XG5cbi8vIENvbHVtbnNcbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG5cbi8vIEZsZXhib3ggdmFyaWF0aW9uXG5cbkBpZiAkZW5hYmxlLWZsZXggYW5kICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAuY29sLSN7JGJyZWFrcG9pbnR9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG4gICAgICAuY29sLSN7JGJyZWFrcG9pbnR9LWxhc3QgIHsgb3JkZXI6IDE7IH1cbiAgICB9XG4gIH1cblxuICAvLyBBbGlnbm1lbnQgZm9yIGV2ZXJ5IGNvbHVtbiBpbiByb3dcblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIC5yb3ctI3skYnJlYWtwb2ludH0tdG9wICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5yb3ctI3skYnJlYWtwb2ludH0tY2VudGVyIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLnJvdy0jeyRicmVha3BvaW50fS1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICB9XG4gIH1cblxuICAvLyBBbGlnbm1lbnQgcGVyIGNvbHVtblxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLmNvbC0jeyRicmVha3BvaW50fS10b3AgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuY29sLSN7JGJyZWFrcG9pbnR9LWNlbnRlciB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAgICAgLmNvbC0jeyRicmVha3BvaW50fS1ib3R0b20geyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllc1xuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICA1NDRweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4xLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KSlcbi8vICAgIDc2N3B4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAxcHgsIG51bGwpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuXHQlZ3JpZC1jb2x1bW4ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtaW4taGVpZ2h0OiAxcHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cdH1cblx0QGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG5cdFx0XHQuY29sLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcblx0XHRcdFx0QGV4dGVuZCAlZ3JpZC1jb2x1bW47XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIFdvcmsgYXJvdW5kIGNyb3NzLW1lZGlhIEBleHRlbmQgKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzEwNTApXG4gICAgICAlZ3JpZC1jb2x1bW4tZmxvYXQtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgICBAaWYgbm90ICRlbmFibGUtZmxleCB7XG4gICAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbi1mbG9hdC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtc3BhbigkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWFjaCAkbW9kaWZpZXIgaW4gKHB1bGwsIHB1c2gsIG9mZnNldCkge1xuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sLSN7JGJyZWFrcG9pbnR9LSN7JG1vZGlmaWVyfS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1tb2RpZmllcigkbW9kaWZpZXIsICRpLCAkY29sdW1ucylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cdH1cbn1cbiIsIi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgLy8gaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAvLyBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNC5cbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJyYW5kLXNlY29uZGFyeTtcblxuICBwYWRkaW5nOiAuMjVlbTtcbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICAvLyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgLy8gQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIC8vIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cyk7XG5cbiAgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKS5cbiAgLy8gT25seSBhcHBseSB0aGUgaGVpZ2h0IHRvIHRleHR1YWwgaW5wdXRzIGFuZCBzb21lIHNlbGVjdHMuXG4gIC8vICY6bm90KHRleHRhcmVhKSxcbiAgLy8gJjpub3Qoc2VsZWN0W3NpemVdKSxcbiAgLy8gJjpub3Qoc2VsZWN0W211bHRpcGxlXSkge1xuICAvLyAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgLy8gfVxuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgdGV4dCB0b1xuLy8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPmAgZGVmYXVsdFxufVxuXG4vLyBUb2RvOiBjbGVhciB0aGlzIHVwXG5cbi8vIFNwZWNpYWwgc3R5bGVzIGZvciBpT1MgdGVtcG9yYWwgaW5wdXRzXG4vL1xuLy8gSW4gTW9iaWxlIFNhZmFyaSwgc2V0dGluZyBgZGlzcGxheTogYmxvY2tgIG9uIHRlbXBvcmFsIGlucHV0cyBjYXVzZXMgdGhlXG4vLyB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgdG8gYmVjb21lIHZlcnRpY2FsbHkgbWlzYWxpZ25lZC4gQXMgYSB3b3JrYXJvdW5kLCB3ZVxuLy8gc2V0IGEgcGl4ZWwgbGluZS1oZWlnaHQgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBoZWlnaHQgb2YgdGhlIGlucHV0LCBidXQgb25seVxuLy8gZm9yIFNhZmFyaS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbi8vXG4vLyBOb3RlIHRoYXQgYXMgb2YgOC4zLCBpT1MgZG9lc24ndCBzdXBwb3J0IGBkYXRldGltZWAgb3IgYHdlZWtgLlxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIH1cblxuICAgICYuaW5wdXQtc20sXG4gICAgLmlucHV0LWdyb3VwLXNtICYuZm9ybS1jb250cm9sIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICAgIH1cblxuICAgICYuaW5wdXQtbGcsXG4gICAgLmlucHV0LWdyb3VwLWxnICYuZm9ybS1jb250cm9sIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGFuIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW4gYVxuLy8gaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15O1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICAvLyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIC8vIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIG1hcmdpbi10b3A6ICAgICgkc3BhY2VyICogLjc1KTtcbiAgbWFyZ2luLWJvdHRvbTogKCRzcGFjZXIgKiAuNzUpO1xuXG4gIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIFdoZW4gdGhlcmUncyBubyBsYWJlbHMsIGRvbid0IHBvc2l0aW9uIHRoZSBpbnB1dC5cbiAgICBpbnB1dDpvbmx5LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuICB9XG59XG4ucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgLy8gbWFyZ2luLXRvcDogNHB4IFxcOTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xufVxuXG4ucmFkaW8gKyAucmFkaW8sXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICAvLyBNb3ZlIHVwIHNpYmxpbmcgcmFkaW9zIG9yIGNoZWNrYm94ZXMgZm9yIHRpZ2h0ZXIgc3BhY2luZ1xuICBtYXJnaW4tdG9wOiAtLjI1cmVtO1xufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogLjc1cmVtO1xufVxuXG4vLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXG4vLyBTb21lIHNwZWNpYWwgY2FyZSBpcyBuZWVkZWQgYmVjYXVzZSA8bGFiZWw+cyBkb24ndCBpbmhlcml0IHRoZWlyIHBhcmVudCdzIGBjdXJzb3JgLlxuLy9cbi8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBkaXJlY3RseSBvbiA8bGFiZWw+c1xuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICAmLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICAmLmRpc2FibGVkIHtcbiAgICBsYWJlbCB7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xuLy9cbi8vIEFwcGx5IGNvbnRleHR1YWwgYW5kIHNlbWFudGljIHN0YXRlcyB0byBpbmRpdmlkdWFsIGZvcm0gY29udHJvbHMuXG5cbi5mb3JtLWNvbnRyb2wtc3VjY2Vzcyxcbi5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgLy8gcGFkZGluZy1yaWdodDogKCRpbnB1dC1wYWRkaW5nLXggKiAzKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0ICgkaW5wdXQtaGVpZ2h0ICogLjEyNSAgKTtcbiAgYmFja2dyb3VuZC1zaXplOiAoJGlucHV0LWhlaWdodCAqIC42NSkgKCRpbnB1dC1oZWlnaHQgKiAuNjUpO1xufVxuXG4vLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4uaGFzLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkYnJhbmQtc3VjY2Vzcyk7XG5cbiAgLmZvcm0tY29udHJvbC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZvcm0taWNvbi1zdWNjZXNzKTtcbiAgfVxufVxuXG4uaGFzLXdhcm5pbmcge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkYnJhbmQtd2FybmluZyk7XG5cbiAgLmZvcm0tY29udHJvbC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZvcm0taWNvbi13YXJuaW5nKTtcbiAgfVxufVxuXG4uaGFzLWRhbmdlciB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRicmFuZC1kYW5nZXIpO1xuXG4gIC5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZvcm0taWNvbi1kYW5nZXIpO1xuICB9XG59XG5cbi8vIC5mb3JtLWNvbnRyb2wtc3VjY2VzcyB7XG4vLyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZvcm0taWNvbi1zdWNjZXNzfVwiKTtcbi8vICAgYm9yZGVyLWNvbG9yOiAkYnJhbmQtc3VjY2Vzcztcbi8vIH1cbi8vXG4vLyAuZm9ybS1jb250cm9sLXdhcm5pbmcge1xuLy8gICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmb3JtLWljb24td2FybmluZ31cIik7XG4vLyAgIGJvcmRlci1jb2xvcjogJGJyYW5kLXdhcm5pbmc7XG4vLyB9XG4vL1xuLy8gLmZvcm0tY29udHJvbC1lcnJvciB7XG4vLyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZvcm0taWNvbi1kYW5nZXJ9XCIpO1xuLy8gICBib3JkZXItY29sb3I6ICRicmFuZC1kYW5nZXI7XG4vLyB9XG5cbi8vIC5oYXMtZmVlZGJhY2sge1xuLy8gICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbi8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy9cbi8vICAgLy8gRW5zdXJlIGljb25zIGRvbid0IG92ZXJsYXAgdGV4dFxuLy8gICAuZm9ybS1jb250cm9sIHtcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiAoJGlucHV0LWhlaWdodCAqIDEuMjUpO1xuLy8gICB9XG4vLyB9XG4vLyAvLyBGZWVkYmFjayBpY29uXG4vLyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICB0b3A6IDA7XG4vLyAgIHJpZ2h0OiAwO1xuLy8gICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbi8vICAgZGlzcGxheTogYmxvY2s7XG4vLyAgIHdpZHRoOiAkaW5wdXQtaGVpZ2h0O1xuLy8gICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4vLyAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuLy8gfVxuLy8gLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi8vIC5pbnB1dC1ncm91cC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuLy8gICB3aWR0aDogJGlucHV0LWhlaWdodC1sZztcbi8vICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuLy8gICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbi8vIH1cbi8vIC5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4vLyAuaW5wdXQtZ3JvdXAtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbi8vICAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtc207XG4vLyAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbi8vICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4vLyB9XG4vL1xuLy8gLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy8gLmhhcy1zdWNjZXNzIHtcbi8vICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xuLy8gfVxuLy8gLmhhcy13YXJuaW5nIHtcbi8vICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctYmcpO1xuLy8gfVxuLy8gLmhhcy1kYW5nZXIge1xuLy8gICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci1iZyk7XG4vLyB9XG4vL1xuLy8gLy8gUmVwb3NpdGlvbiBmZWVkYmFjayBpY29uIGlmIGlucHV0IGhhcyB2aXNpYmxlIGxhYmVsIGFib3ZlXG4vLyAuaGFzLWZlZWRiYWNrIGxhYmVsIHtcbi8vXG4vLyAgIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4vLyAgICAgLy8gVE9ETzogcmVkbyB0aGlzIHNpbmNlIHdlIG51a2VkIHRoZSBgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkYFxuLy8gICAgIHRvcDogMDsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4vLyAgIH1cbi8vXG4vLyAgICYuc3Itb25seSB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuLy8gICAgIHRvcDogMDtcbi8vICAgfVxuLy8gfVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gUmUtb3ZlcnJpZGUgdGhlIGZlZWRiYWNrIGljb24uXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4uZm9ybS1mbG9hdGluZy1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuZm9ybS1jb250cm9sLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgdHJhbnNpdGlvbjogNTBtcyBhbGwgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAuZm9ybS1jb250cm9sOmZvY3VzICsgLmZvcm0tY29udHJvbC1sYWJlbCwgLmZvcm0tY29udHJvbDp2YWxpZCArIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgIHRvcDogLTEuNzVlbTtcblxuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgfVxufVxuIiwiLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gX2Zvcm1zLnNjc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJGNvbG9yKSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC50ZXh0LWhlbHAsXG4gIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lLFxuICAmLnJhZGlvIGxhYmVsLFxuICAmLmNoZWNrYm94IGxhYmVsLFxuICAmLnJhZGlvLWlubGluZSBsYWJlbCxcbiAgJi5jaGVja2JveC1pbmxpbmUgbGFiZWwgIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAvLyBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIC8vICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIC8vIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3IsIDQwJSk7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYEBpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkaW5wdXQtYm94LXNoYWRvdy1mb2N1cztcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuXHRAaWYgJGVuYWJsZS1yb3VuZGVkIHtcblx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXHR9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG5cdEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG5cdH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuXHRAaWYgJGVuYWJsZS1yb3VuZGVkIHtcblx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcblx0fVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuXHRAaWYgJGVuYWJsZS1yb3VuZGVkIHtcblx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuXHR9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuXHRAaWYgJGVuYWJsZS1yb3VuZGVkIHtcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG5cdH1cbn1cbiIsInVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5saSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgLjVyZW07XG59XG4iLCIuYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuIiwiLnNwbGFzaC1vdmVybGF5LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxLjVlbTtcbiAgbGVmdDogMS41ZW07XG5cbiAgaGVpZ2h0OiAyZW07XG4gIHdpZHRoOiAyZW07XG5cbiAgYm9yZGVyOiAycHggc29saWQgJGJyYW5kLXNlY29uZGFyeTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gIHotaW5kZXg6IDExO1xuXG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcblxuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtc2Vjb25kYXJ5O1xuXG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDEuMjVlbTtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MG1zIGVhc2UtaW4tb3V0O1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIHRyY