/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *  user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * 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 6/7/8/9 and Firefox 3.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevents 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; }

/**
 * Addresses 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;
  font-size: 70%;
  line-height: 2.8;
  vertical-align: top; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
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.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
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.
 * 4. Improves appearance and consistency in all browsers.
 */
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.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
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; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
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.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
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; }

/**
This file is a duplicate of the core bootstrap variables file.
It is customized for our project, and used in place of core variables.
This is done so that customizations are not overriden if bower components are udpdated.
**/
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

a:active,
a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

h1 {
  margin: 0.67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em;
  font-size: 70%;
  line-height: 2.8;
  vertical-align: top; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"], input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

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

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

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

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  select {
    background: #fff !important; }
  .navbar {
    display: none; }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important; }
  .label {
    border: 1px solid #000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important; } }

@font-face {
  font-family: 'Glyphicons Halflings';
  src: url("/National_Library/20160330061658oe_/https://www.logitech.com/asset/fonts/bootstrap/glyphicons-halflings-regular.eot");
  src: url("/National_Library/20160330061658oe_/https://www.logitech.com/asset/fonts/bootstrap/glyphicons-halflings-regular.eot#iefix") format("embedded-opentype"), url("/National_Library/20160330061658oe_/https://www.logitech.com/asset/fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"), url("/National_Library/20160330061658oe_/https://www.logitech.com/asset/fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"), url("/National_Library/20160330061658oe_/https://www.logitech.com/asset/fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), url("/National_Library/20160330061658oe_/https://www.logitech.com/asset/fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); }

.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.glyphicon-asterisk:before {
  content: "\2a"; }

.glyphicon-plus:before {
  content: "\2b"; }

.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac"; }

.glyphicon-minus:before {
  content: "\2212"; }

.glyphicon-cloud:before {
  content: "\2601"; }

.glyphicon-envelope:before {
  content: "\2709"; }

.glyphicon-pencil:before {
  content: "\270f"; }

.glyphicon-glass:before {
  content: "\e001"; }

.glyphicon-music:before {
  content: "\e002"; }

.glyphicon-search:before {
  content: "\e003"; }

.glyphicon-heart:before {
  content: "\e005"; }

.glyphicon-star:before {
  content: "\e006"; }

.glyphicon-star-empty:before {
  content: "\e007"; }

.glyphicon-user:before {
  content: "\e008"; }

.glyphicon-film:before {
  content: "\e009"; }

.glyphicon-th-large:before {
  content: "\e010"; }

.glyphicon-th:before {
  content: "\e011"; }

.glyphicon-th-list:before {
  content: "\e012"; }

.glyphicon-ok:before {
  content: "\e013"; }

.glyphicon-remove:before {
  content: "\e014"; }

.glyphicon-zoom-in:before {
  content: "\e015"; }

.glyphicon-zoom-out:before {
  content: "\e016"; }

.glyphicon-off:before {
  content: "\e017"; }

.glyphicon-signal:before {
  content: "\e018"; }

.glyphicon-cog:before {
  content: "\e019"; }

.glyphicon-trash:before {
  content: "\e020"; }

.glyphicon-home:before {
  content: "\e021"; }

.glyphicon-file:before {
  content: "\e022"; }

.glyphicon-time:before {
  content: "\e023"; }

.glyphicon-road:before {
  content: "\e024"; }

.glyphicon-download-alt:before {
  content: "\e025"; }

.glyphicon-download:before {
  content: "\e026"; }

.glyphicon-upload:before {
  content: "\e027"; }

.glyphicon-inbox:before {
  content: "\e028"; }

.glyphicon-play-circle:before {
  content: "\e029"; }

.glyphicon-repeat:before {
  content: "\e030"; }

.glyphicon-refresh:before {
  content: "\e031"; }

.glyphicon-list-alt:before {
  content: "\e032"; }

.glyphicon-lock:before {
  content: "\e033"; }

.glyphicon-flag:before {
  content: "\e034"; }

.glyphicon-headphones:before {
  content: "\e035"; }

.glyphicon-volume-off:before {
  content: "\e036"; }

.glyphicon-volume-down:before {
  content: "\e037"; }

.glyphicon-volume-up:before {
  content: "\e038"; }

.glyphicon-qrcode:before {
  content: "\e039"; }

.glyphicon-barcode:before {
  content: "\e040"; }

.glyphicon-tag:before {
  content: "\e041"; }

.glyphicon-tags:before {
  content: "\e042"; }

.glyphicon-book:before {
  content: "\e043"; }

.glyphicon-bookmark:before {
  content: "\e044"; }

.glyphicon-print:before {
  content: "\e045"; }

.glyphicon-camera:before {
  content: "\e046"; }

.glyphicon-font:before {
  content: "\e047"; }

.glyphicon-bold:before {
  content: "\e048"; }

.glyphicon-italic:before {
  content: "\e049"; }

.glyphicon-text-height:before {
  content: "\e050"; }

.glyphicon-text-width:before {
  content: "\e051"; }

.glyphicon-align-left:before {
  content: "\e052"; }

.glyphicon-align-center:before {
  content: "\e053"; }

.glyphicon-align-right:before {
  content: "\e054"; }

.glyphicon-align-justify:before {
  content: "\e055"; }

.glyphicon-list:before {
  content: "\e056"; }

.glyphicon-indent-left:before {
  content: "\e057"; }

.glyphicon-indent-right:before {
  content: "\e058"; }

.glyphicon-facetime-video:before {
  content: "\e059"; }

.glyphicon-picture:before {
  content: "\e060"; }

.glyphicon-map-marker:before {
  content: "\e062"; }

.glyphicon-adjust:before {
  content: "\e063"; }

.glyphicon-tint:before {
  content: "\e064"; }

.glyphicon-edit:before {
  content: "\e065"; }

.glyphicon-share:before {
  content: "\e066"; }

.glyphicon-check:before {
  content: "\e067"; }

.glyphicon-move:before {
  content: "\e068"; }

.glyphicon-step-backward:before {
  content: "\e069"; }

.glyphicon-fast-backward:before {
  content: "\e070"; }

.glyphicon-backward:before {
  content: "\e071"; }

.glyphicon-play:before {
  content: "\e072"; }

.glyphicon-pause:before {
  content: "\e073"; }

.glyphicon-stop:before {
  content: "\e074"; }

.glyphicon-forward:before {
  content: "\e075"; }

.glyphicon-fast-forward:before {
  content: "\e076"; }

.glyphicon-step-forward:before {
  content: "\e077"; }

.glyphicon-eject:before {
  content: "\e078"; }

.glyphicon-chevron-left:before {
  content: "\e079"; }

.glyphicon-chevron-right:before {
  content: "\e080"; }

.glyphicon-plus-sign:before {
  content: "\e081"; }

.glyphicon-minus-sign:before {
  content: "\e082"; }

.glyphicon-remove-sign:before {
  content: "\e083"; }

.glyphicon-ok-sign:before {
  content: "\e084"; }

.glyphicon-question-sign:before {
  content: "\e085"; }

.glyphicon-info-sign:before {
  content: "\e086"; }

.glyphicon-screenshot:before {
  content: "\e087"; }

.glyphicon-remove-circle:before {
  content: "\e088"; }

.glyphicon-ok-circle:before {
  content: "\e089"; }

.glyphicon-ban-circle:before {
  content: "\e090"; }

.glyphicon-arrow-left:before {
  content: "\e091"; }

.glyphicon-arrow-right:before {
  content: "\e092"; }

.glyphicon-arrow-up:before {
  content: "\e093"; }

.glyphicon-arrow-down:before {
  content: "\e094"; }

.glyphicon-share-alt:before {
  content: "\e095"; }

.glyphicon-resize-full:before {
  content: "\e096"; }

.glyphicon-resize-small:before {
  content: "\e097"; }

.glyphicon-exclamation-sign:before {
  content: "\e101"; }

.glyphicon-gift:before {
  content: "\e102"; }

.glyphicon-leaf:before {
  content: "\e103"; }

.glyphicon-fire:before {
  content: "\e104"; }

.glyphicon-eye-open:before {
  content: "\e105"; }

.glyphicon-eye-close:before {
  content: "\e106"; }

.glyphicon-warning-sign:before {
  content: "\e107"; }

.glyphicon-plane:before {
  content: "\e108"; }

.glyphicon-calendar:before {
  content: "\e109"; }

.glyphicon-random:before {
  content: "\e110"; }

.glyphicon-comment:before {
  content: "\e111"; }

.glyphicon-magnet:before {
  content: "\e112"; }

.glyphicon-chevron-up:before {
  content: "\e113"; }

.glyphicon-chevron-down:before {
  content: "\e114"; }

.glyphicon-retweet:before {
  content: "\e115"; }

.glyphicon-shopping-cart:before {
  content: "\e116"; }

.glyphicon-folder-close:before {
  content: "\e117"; }

.glyphicon-folder-open:before {
  content: "\e118"; }

.glyphicon-resize-vertical:before {
  content: "\e119"; }

.glyphicon-resize-horizontal:before {
  content: "\e120"; }

.glyphicon-hdd:before {
  content: "\e121"; }

.glyphicon-bullhorn:before {
  content: "\e122"; }

.glyphicon-bell:before {
  content: "\e123"; }

.glyphicon-certificate:before {
  content: "\e124"; }

.glyphicon-thumbs-up:before {
  content: "\e125"; }

.glyphicon-thumbs-down:before {
  content: "\e126"; }

.glyphicon-hand-right:before {
  content: "\e127"; }

.glyphicon-hand-left:before {
  content: "\e128"; }

.glyphicon-hand-up:before {
  content: "\e129"; }

.glyphicon-hand-down:before {
  content: "\e130"; }

.glyphicon-circle-arrow-right:before {
  content: "\e131"; }

.glyphicon-circle-arrow-left:before {
  content: "\e132"; }

.glyphicon-circle-arrow-up:before {
  content: "\e133"; }

.glyphicon-circle-arrow-down:before {
  content: "\e134"; }

.glyphicon-globe:before {
  content: "\e135"; }

.glyphicon-wrench:before {
  content: "\e136"; }

.glyphicon-tasks:before {
  content: "\e137"; }

.glyphicon-filter:before {
  content: "\e138"; }

.glyphicon-briefcase:before {
  content: "\e139"; }

.glyphicon-fullscreen:before {
  content: "\e140"; }

.glyphicon-dashboard:before {
  content: "\e141"; }

.glyphicon-paperclip:before {
  content: "\e142"; }

.glyphicon-heart-empty:before {
  content: "\e143"; }

.glyphicon-link:before {
  content: "\e144"; }

.glyphicon-phone:before {
  content: "\e145"; }

.glyphicon-pushpin:before {
  content: "\e146"; }

.glyphicon-usd:before {
  content: "\e148"; }

.glyphicon-gbp:before {
  content: "\e149"; }

.glyphicon-sort:before {
  content: "\e150"; }

.glyphicon-sort-by-alphabet:before {
  content: "\e151"; }

.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152"; }

.glyphicon-sort-by-order:before {
  content: "\e153"; }

.glyphicon-sort-by-order-alt:before {
  content: "\e154"; }

.glyphicon-sort-by-attributes:before {
  content: "\e155"; }

.glyphicon-sort-by-attributes-alt:before {
  content: "\e156"; }

.glyphicon-unchecked:before {
  content: "\e157"; }

.glyphicon-expand:before {
  content: "\e158"; }

.glyphicon-collapse-down:before {
  content: "\e159"; }

.glyphicon-collapse-up:before {
  content: "\e160"; }

.glyphicon-log-in:before {
  content: "\e161"; }

.glyphicon-flash:before {
  content: "\e162"; }

.glyphicon-log-out:before {
  content: "\e163"; }

.glyphicon-new-window:before {
  content: "\e164"; }

.glyphicon-record:before {
  content: "\e165"; }

.glyphicon-save:before {
  content: "\e166"; }

.glyphicon-open:before {
  content: "\e167"; }

.glyphicon-saved:before {
  content: "\e168"; }

.glyphicon-import:before {
  content: "\e169"; }

.glyphicon-export:before {
  content: "\e170"; }

.glyphicon-send:before {
  content: "\e171"; }

.glyphicon-floppy-disk:before {
  content: "\e172"; }

.glyphicon-floppy-saved:before {
  content: "\e173"; }

.glyphicon-floppy-remove:before {
  content: "\e174"; }

.glyphicon-floppy-save:before {
  content: "\e175"; }

.glyphicon-floppy-open:before {
  content: "\e176"; }

.glyphicon-credit-card:before {
  content: "\e177"; }

.glyphicon-transfer:before {
  content: "\e178"; }

.glyphicon-cutlery:before {
  content: "\e179"; }

.glyphicon-header:before {
  content: "\e180"; }

.glyphicon-compressed:before {
  content: "\e181"; }

.glyphicon-earphone:before {
  content: "\e182"; }

.glyphicon-phone-alt:before {
  content: "\e183"; }

.glyphicon-tower:before {
  content: "\e184"; }

.glyphicon-stats:before {
  content: "\e185"; }

.glyphicon-sd-video:before {
  content: "\e186"; }

.glyphicon-hd-video:before {
  content: "\e187"; }

.glyphicon-subtitles:before {
  content: "\e188"; }

.glyphicon-sound-stereo:before {
  content: "\e189"; }

.glyphicon-sound-dolby:before {
  content: "\e190"; }

.glyphicon-sound-5-1:before {
  content: "\e191"; }

.glyphicon-sound-6-1:before {
  content: "\e192"; }

.glyphicon-sound-7-1:before {
  content: "\e193"; }

.glyphicon-copyright-mark:before {
  content: "\e194"; }

.glyphicon-registration-mark:before {
  content: "\e195"; }

.glyphicon-cloud-download:before {
  content: "\e197"; }

.glyphicon-cloud-upload:before {
  content: "\e198"; }

.glyphicon-tree-conifer:before {
  content: "\e199"; }

.glyphicon-tree-deciduous:before {
  content: "\e200"; }

.glyphicon-cd:before {
  content: "\e201"; }

.glyphicon-save-file:before {
  content: "\e202"; }

.glyphicon-open-file:before {
  content: "\e203"; }

.glyphicon-level-up:before {
  content: "\e204"; }

.glyphicon-copy:before {
  content: "\e205"; }

.glyphicon-paste:before {
  content: "\e206"; }

.glyphicon-alert:before {
  content: "\e209"; }

.glyphicon-equalizer:before {
  content: "\e210"; }

.glyphicon-king:before {
  content: "\e211"; }

.glyphicon-queen:before {
  content: "\e212"; }

.glyphicon-pawn:before {
  content: "\e213"; }

.glyphicon-bishop:before {
  content: "\e214"; }

.glyphicon-knight:before {
  content: "\e215"; }

.glyphicon-baby-formula:before {
  content: "\e216"; }

.glyphicon-tent:before {
  content: "\26fa"; }

.glyphicon-blackboard:before {
  content: "\e218"; }

.glyphicon-bed:before {
  content: "\e219"; }

.glyphicon-apple:before {
  content: "\f8ff"; }

.glyphicon-erase:before {
  content: "\e221"; }

.glyphicon-hourglass:before {
  content: "\231b"; }

.glyphicon-lamp:before {
  content: "\e223"; }

.glyphicon-duplicate:before {
  content: "\e224"; }

.glyphicon-piggy-bank:before {
  content: "\e225"; }

.glyphicon-scissors:before {
  content: "\e226"; }

.glyphicon-bitcoin:before {
  content: "\e227"; }

.glyphicon-btc:before {
  content: "\e227"; }

.glyphicon-xbt:before {
  content: "\e227"; }

.glyphicon-yen:before {
  content: "\00a5"; }

.glyphicon-jpy:before {
  content: "\00a5"; }

.glyphicon-ruble:before {
  content: "\20bd"; }

.glyphicon-rub:before {
  content: "\20bd"; }

.glyphicon-scale:before {
  content: "\e230"; }

.glyphicon-ice-lolly:before {
  content: "\e231"; }

.glyphicon-ice-lolly-tasted:before {
  content: "\e232"; }

.glyphicon-education:before {
  content: "\e233"; }

.glyphicon-option-horizontal:before {
  content: "\e234"; }

.glyphicon-option-vertical:before {
  content: "\e235"; }

.glyphicon-menu-hamburger:before {
  content: "\e236"; }

.glyphicon-modal-window:before {
  content: "\e237"; }

.glyphicon-oil:before {
  content: "\e238"; }

.glyphicon-grain:before {
  content: "\e239"; }

.glyphicon-sunglasses:before {
  content: "\e240"; }

.glyphicon-text-size:before {
  content: "\e241"; }

.glyphicon-text-color:before {
  content: "\e242"; }

.glyphicon-text-background:before {
  content: "\e243"; }

.glyphicon-object-align-top:before {
  content: "\e244"; }

.glyphicon-object-align-bottom:before {
  content: "\e245"; }

.glyphicon-object-align-horizontal:before {
  content: "\e246"; }

.glyphicon-object-align-left:before {
  content: "\e247"; }

.glyphicon-object-align-vertical:before {
  content: "\e248"; }

.glyphicon-object-align-right:before {
  content: "\e249"; }

.glyphicon-triangle-right:before {
  content: "\e250"; }

.glyphicon-triangle-left:before {
  content: "\e251"; }

.glyphicon-triangle-bottom:before {
  content: "\e252"; }

.glyphicon-triangle-top:before {
  content: "\e253"; }

.glyphicon-console:before {
  content: "\e254"; }

.glyphicon-superscript:before {
  content: "\e255"; }

.glyphicon-subscript:before {
  content: "\e256"; }

.glyphicon-menu-left:before {
  content: "\e257"; }

.glyphicon-menu-right:before {
  content: "\e258"; }

.glyphicon-menu-down:before {
  content: "\e259"; }

.glyphicon-menu-up:before {
  content: "\e260"; }

* {
  box-sizing: border-box;
  -webkit-padding-start: 0;
  padding: 0;
  margin: 0; }

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

html {
  font-size: 10px;
  -webkit-tap-highlight-color: transparent; }

body {
  font-family: "Helvetica", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.42857;
  color: #000;
  background-color: #fff; }

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

a {
  color: #337ab7;
  text-decoration: none; }
  a:hover,
  a:focus {
    color: #23527c;
    text-decoration: underline; }
  a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }

figure {
  margin: 0; }

img {
  vertical-align: middle; }

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto; }

.img-rounded {
  border-radius: 6px; }

.img-thumbnail {
  padding: 4px;
  line-height: 1.42857;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto; }

.img-circle {
  border-radius: 50%; }

hr {
  margin-top: 22px;
  margin-bottom: 22px;
  border: 0;
  border-top: 1px solid #eeeeee; }

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

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

[role="button"] {
  cursor: pointer; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Brown-Pro-Regular", Helvetica, sans-serif;
  font-weight: 500;
  line-height: 1.1;
  color: inherit; }
  h1 small,
  h1 .small, h2 small,
  h2 .small, h3 small,
  h3 .small, h4 small,
  h4 .small, h5 small,
  h5 .small, h6 small,
  h6 .small,
  .h1 small,
  .h1 .small, .h2 small,
  .h2 .small, .h3 small,
  .h3 .small, .h4 small,
  .h4 .small, .h5 small,
  .h5 .small, .h6 small,
  .h6 .small {
    font-weight: normal;
    line-height: 1;
    color: #777777; }

h1, .h1,
h2, .h2,
h3, .h3 {
  margin-top: 22px;
  margin-bottom: 11px; }
  h1 small,
  h1 .small, .h1 small,
  .h1 .small,
  h2 small,
  h2 .small, .h2 small,
  .h2 .small,
  h3 small,
  h3 .small, .h3 small,
  .h3 .small {
    font-size: 65%; }

h4, .h4,
h5, .h5,
h6, .h6 {
  margin-top: 11px;
  margin-bottom: 11px; }
  h4 small,
  h4 .small, .h4 small,
  .h4 .small,
  h5 small,
  h5 .small, .h5 small,
  .h5 .small,
  h6 small,
  h6 .small, .h6 small,
  .h6 .small {
    font-size: 75%; }

h1, .h1 {
  font-size: 41px; }

h2, .h2 {
  font-size: 34px; }

h3, .h3 {
  font-size: 28px; }

h4, .h4 {
  font-size: 20px; }

h5, .h5 {
  font-size: 16px; }

h6, .h6 {
  font-size: 14px; }

p {
  margin: 0 0 11px; }

.lead {
  margin-bottom: 22px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.4; }
  @media (min-width: 768px) {
    .lead {
      font-size: 24px; } }

small,
.small {
  font-size: 87%; }

mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em; }

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

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

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

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

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

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

.text-uppercase, .initialism {
  text-transform: uppercase; }

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

.text-muted {
  color: #777777; }

.text-primary {
  color: #337ab7; }

a.text-primary:hover {
  color: #286090; }

.text-success {
  color: #3c763d; }

a.text-success:hover {
  color: #2b542c; }

.text-info {
  color: #31708f; }

a.text-info:hover {
  color: #245269; }

.text-warning {
  color: #8a6d3b; }

a.text-warning:hover {
  color: #66512c; }

.text-danger {
  color: #a94442; }

a.text-danger:hover {
  color: #843534; }

.bg-primary {
  color: #fff; }

.bg-primary {
  background-color: #337ab7; }

a.bg-primary:hover {
  background-color: #286090; }

.bg-success {
  background-color: #dff0d8; }

a.bg-success:hover {
  background-color: #c1e2b3; }

.bg-info {
  background-color: #d9edf7; }

a.bg-info:hover {
  background-color: #afd9ee; }

.bg-warning {
  background-color: #fcf8e3; }

a.bg-warning:hover {
  background-color: #f7ecb5; }

.bg-danger {
  background-color: #f2dede; }

a.bg-danger:hover {
  background-color: #e4b9b9; }

.page-header {
  padding-bottom: 10px;
  margin: 44px 0 22px;
  border-bottom: 1px solid #eeeeee; }

ul,
ol {
  margin-top: 0;
  margin-bottom: 11px; }
  ul ul,
  ul ol,
  ol ul,
  ol ol {
    margin-bottom: 0; }

.list-unstyled {
  padding-left: 0;
  list-style: none; }

.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px; }
  .list-inline > li {
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px; }

dl {
  margin-top: 0;
  margin-bottom: 22px; }

dt,
dd {
  line-height: 1.42857; }

dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

.dl-horizontal dd:before,
.dl-horizontal dd:after {
  content: " ";
  display: table; }

.dl-horizontal dd:after {
  clear: both; }

@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .dl-horizontal dd {
    margin-left: 180px; } }

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777; }

.initialism {
  font-size: 90%; }

blockquote {
  padding: 11px 22px;
  margin: 0 0 22px;
  font-size: 20px;
  border-left: 5px solid #eeeeee; }
  blockquote p:last-child,
  blockquote ul:last-child,
  blockquote ol:last-child {
    margin-bottom: 0; }
  blockquote footer,
  blockquote small,
  blockquote .small {
    display: block;
    font-size: 80%;
    line-height: 1.42857;
    color: #777777; }
    blockquote footer:before,
    blockquote small:before,
    blockquote .small:before {
      content: '\2014 \00A0'; }

.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right; }
  .blockquote-reverse footer:before,
  .blockquote-reverse small:before,
  .blockquote-reverse .small:before,
  blockquote.pull-right footer:before,
  blockquote.pull-right small:before,
  blockquote.pull-right .small:before {
    content: ''; }
  .blockquote-reverse footer:after,
  .blockquote-reverse small:after,
  .blockquote-reverse .small:after,
  blockquote.pull-right footer:after,
  blockquote.pull-right small:after,
  blockquote.pull-right .small:after {
    content: '\00A0 \2014'; }

address {
  margin-bottom: 22px;
  font-style: normal;
  line-height: 1.42857; }

code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }

code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 4px; }

kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #fff;
  background-color: #000;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: bold;
    box-shadow: none; }

pre {
  display: block;
  padding: 10.5px;
  margin: 0 0 11px;
  font-size: 15px;
  line-height: 1.42857;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px; }
  pre code {
    padding: 0;
    font-size: inherit;
    color: inherit;
    white-space: pre-wrap;
    background-color: transparent;
    border-radius: 0; }

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll; }

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 10px;
  padding-right: 10px; }
  .container:before,
  .container:after {
    content: " ";
    display: table; }
  .container:after {
    clear: both; }
  @media (min-width: 768px) {
    .container {
      min-width: 740px; } }
  @media (min-width: 992px) {
    .container {
      min-width: 960px; } }
  @media (min-width: 1260px) {
    .container {
      width: 1240px; } }

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 10px;
  padding-right: 10px; }
  .container-fluid:before,
  .container-fluid:after {
    content: " ";
    display: table; }
  .container-fluid:after {
    clear: both; }

.row {
  margin-left: -10px;
  margin-right: -10px; }
  .row:before,
  .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 768px) {
  .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.33333%; }
  .col-sm-2 {
    width: 16.66667%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-4 {
    width: 33.33333%; }
  .col-sm-5 {
    width: 41.66667%; }
  .col-sm-6 {
    width: 50%; }
  .col-sm-7 {
    width: 58.33333%; }
  .col-sm-8 {
    width: 66.66667%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-10 {
    width: 83.33333%; }
  .col-sm-11 {
    width: 91.66667%; }
  .col-sm-12 {
    width: 100%; }
  .col-sm-pull-0 {
    right: auto; }
  .col-sm-pull-1 {
    right: 8.33333%; }
  .col-sm-pull-2 {
    right: 16.66667%; }
  .col-sm-pull-3 {
    right: 25%; }
  .col-sm-pull-4 {
    right: 33.33333%; }
  .col-sm-pull-5 {
    right: 41.66667%; }
  .col-sm-pull-6 {
    right: 50%; }
  .col-sm-pull-7 {
    right: 58.33333%; }
  .col-sm-pull-8 {
    right: 66.66667%; }
  .col-sm-pull-9 {
    right: 75%; }
  .col-sm-pull-10 {
    right: 83.33333%; }
  .col-sm-pull-11 {
    right: 91.66667%; }
  .col-sm-pull-12 {
    right: 100%; }
  .col-sm-push-0 {
    left: auto; }
  .col-sm-push-1 {
    left: 8.33333%; }
  .col-sm-push-2 {
    left: 16.66667%; }
  .col-sm-push-3 {
    left: 25%; }
  .col-sm-push-4 {
    left: 33.33333%; }
  .col-sm-push-5 {
    left: 41.66667%; }
  .col-sm-push-6 {
    left: 50%; }
  .col-sm-push-7 {
    left: 58.33333%; }
  .col-sm-push-8 {
    left: 66.66667%; }
  .col-sm-push-9 {
    left: 75%; }
  .col-sm-push-10 {
    left: 83.33333%; }
  .col-sm-push-11 {
    left: 91.66667%; }
  .col-sm-push-12 {
    left: 100%; }
  .col-sm-offset-0 {
    margin-left: 0%; }
  .col-sm-offset-1 {
    margin-left: 8.33333%; }
  .col-sm-offset-2 {
    margin-left: 16.66667%; }
  .col-sm-offset-3 {
    margin-left: 25%; }
  .col-sm-offset-4 {
    margin-left: 33.33333%; }
  .col-sm-offset-5 {
    margin-left: 41.66667%; }
  .col-sm-offset-6 {
    margin-left: 50%; }
  .col-sm-offset-7 {
    margin-left: 58.33333%; }
  .col-sm-offset-8 {
    margin-left: 66.66667%; }
  .col-sm-offset-9 {
    margin-left: 75%; }
  .col-sm-offset-10 {
    margin-left: 83.33333%; }
  .col-sm-offset-11 {
    margin-left: 91.66667%; }
  .col-sm-offset-12 {
    margin-left: 100%; } }

@media (min-width: 992px) {
  .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.33333%; }
  .col-md-2 {
    width: 16.66667%; }
  .col-md-3 {
    width: 25%; }
  .col-md-4 {
    width: 33.33333%; }
  .col-md-5 {
    width: 41.66667%; }
  .col-md-6 {
    width: 50%; }
  .col-md-7 {
    width: 58.33333%; }
  .col-md-8 {
    width: 66.66667%; }
  .col-md-9 {
    width: 75%; }
  .col-md-10 {
    width: 83.33333%; }
  .col-md-11 {
    width: 91.66667%; }
  .col-md-12 {
    width: 100%; }
  .col-md-pull-0 {
    right: auto; }
  .col-md-pull-1 {
    right: 8.33333%; }
  .col-md-pull-2 {
    right: 16.66667%; }
  .col-md-pull-3 {
    right: 25%; }
  .col-md-pull-4 {
    right: 33.33333%; }
  .col-md-pull-5 {
    right: 41.66667%; }
  .col-md-pull-6 {
    right: 50%; }
  .col-md-pull-7 {
    right: 58.33333%; }
  .col-md-pull-8 {
    right: 66.66667%; }
  .col-md-pull-9 {
    right: 75%; }
  .col-md-pull-10 {
    right: 83.33333%; }
  .col-md-pull-11 {
    right: 91.66667%; }
  .col-md-pull-12 {
    right: 100%; }
  .col-md-push-0 {
    left: auto; }
  .col-md-push-1 {
    left: 8.33333%; }
  .col-md-push-2 {
    left: 16.66667%; }
  .col-md-push-3 {
    left: 25%; }
  .col-md-push-4 {
    left: 33.33333%; }
  .col-md-push-5 {
    left: 41.66667%; }
  .col-md-push-6 {
    left: 50%; }
  .col-md-push-7 {
    left: 58.33333%; }
  .col-md-push-8 {
    left: 66.66667%; }
  .col-md-push-9 {
    left: 75%; }
  .col-md-push-10 {
    left: 83.33333%; }
  .col-md-push-11 {
    left: 91.66667%; }
  .col-md-push-12 {
    left: 100%; }
  .col-md-offset-0 {
    margin-left: 0%; }
  .col-md-offset-1 {
    margin-left: 8.33333%; }
  .col-md-offset-2 {
    margin-left: 16.66667%; }
  .col-md-offset-3 {
    margin-left: 25%; }
  .col-md-offset-4 {
    margin-left: 33.33333%; }
  .col-md-offset-5 {
    margin-left: 41.66667%; }
  .col-md-offset-6 {
    margin-left: 50%; }
  .col-md-offset-7 {
    margin-left: 58.33333%; }
  .col-md-offset-8 {
    margin-left: 66.66667%; }
  .col-md-offset-9 {
    margin-left: 75%; }
  .col-md-offset-10 {
    margin-left: 83.33333%; }
  .col-md-offset-11 {
    margin-left: 91.66667%; }
  .col-md-offset-12 {
    margin-left: 100%; } }

@media (min-width: 1260px) {
  .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.33333%; }
  .col-lg-2 {
    width: 16.66667%; }
  .col-lg-3 {
    width: 25%; }
  .col-lg-4 {
    width: 33.33333%; }
  .col-lg-5 {
    width: 41.66667%; }
  .col-lg-6 {
    width: 50%; }
  .col-lg-7 {
    width: 58.33333%; }
  .col-lg-8 {
    width: 66.66667%; }
  .col-lg-9 {
    width: 75%; }
  .col-lg-10 {
    width: 83.33333%; }
  .col-lg-11 {
    width: 91.66667%; }
  .col-lg-12 {
    width: 100%; }
  .col-lg-pull-0 {
    right: auto; }
  .col-lg-pull-1 {
    right: 8.33333%; }
  .col-lg-pull-2 {
    right: 16.66667%; }
  .col-lg-pull-3 {
    right: 25%; }
  .col-lg-pull-4 {
    right: 33.33333%; }
  .col-lg-pull-5 {
    right: 41.66667%; }
  .col-lg-pull-6 {
    right: 50%; }
  .col-lg-pull-7 {
    right: 58.33333%; }
  .col-lg-pull-8 {
    right: 66.66667%; }
  .col-lg-pull-9 {
    right: 75%; }
  .col-lg-pull-10 {
    right: 83.33333%; }
  .col-lg-pull-11 {
    right: 91.66667%; }
  .col-lg-pull-12 {
    right: 100%; }
  .col-lg-push-0 {
    left: auto; }
  .col-lg-push-1 {
    left: 8.33333%; }
  .col-lg-push-2 {
    left: 16.66667%; }
  .col-lg-push-3 {
    left: 25%; }
  .col-lg-push-4 {
    left: 33.33333%; }
  .col-lg-push-5 {
    left: 41.66667%; }
  .col-lg-push-6 {
    left: 50%; }
  .col-lg-push-7 {
    left: 58.33333%; }
  .col-lg-push-8 {
    left: 66.66667%; }
  .col-lg-push-9 {
    left: 75%; }
  .col-lg-push-10 {
    left: 83.33333%; }
  .col-lg-push-11 {
    left: 91.66667%; }
  .col-lg-push-12 {
    left: 100%; }
  .col-lg-offset-0 {
    margin-left: 0%; }
  .col-lg-offset-1 {
    margin-left: 8.33333%; }
  .col-lg-offset-2 {
    margin-left: 16.66667%; }
  .col-lg-offset-3 {
    margin-left: 25%; }
  .col-lg-offset-4 {
    margin-left: 33.33333%; }
  .col-lg-offset-5 {
    margin-left: 41.66667%; }
  .col-lg-offset-6 {
    margin-left: 50%; }
  .col-lg-offset-7 {
    margin-left: 58.33333%; }
  .col-lg-offset-8 {
    margin-left: 66.66667%; }
  .col-lg-offset-9 {
    margin-left: 75%; }
  .col-lg-offset-10 {
    margin-left: 83.33333%; }
  .col-lg-offset-11 {
    margin-left: 91.66667%; }
  .col-lg-offset-12 {
    margin-left: 100%; } }

table {
  background-color: transparent; }

caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left; }

th {
  text-align: left; }

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 22px; }
  .table > thead > tr > th,
  .table > thead > tr > td,
  .table > tbody > tr > th,
  .table > tbody > tr > td,
  .table > tfoot > tr > th,
  .table > tfoot > tr > td {
    padding: 8px;
    line-height: 1.42857;
    vertical-align: top;
    border-top: 1px solid #ddd; }
  .table > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid #ddd; }
  .table > caption + thead > tr:first-child > th,
  .table > caption + thead > tr:first-child > td,
  .table > colgroup + thead > tr:first-child > th,
  .table > colgroup + thead > tr:first-child > td,
  .table > thead:first-child > tr:first-child > th,
  .table > thead:first-child > tr:first-child > td {
    border-top: 0; }
  .table > tbody + tbody {
    border-top: 2px solid #ddd; }
  .table .table {
    background-color: #fff; }

.table-condensed > thead > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > th,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > th,
.table-condensed > tfoot > tr > td {
  padding: 5px; }

.table-bordered {
  border: 1px solid #ddd; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td,
  .table-bordered > tbody > tr > th,
  .table-bordered > tbody > tr > td,
  .table-bordered > tfoot > tr > th,
  .table-bordered > tfoot > tr > td {
    border: 1px solid #ddd; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td {
    border-bottom-width: 2px; }

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9; }

.table-hover > tbody > tr:hover {
  background-color: #f5f5f5; }

table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column; }

table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell; }

.table > thead > tr > td.active,
.table > thead > tr > th.active,
.table > thead > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tfoot > tr > td.active,
.table > tfoot > tr > th.active,
.table > tfoot > tr.active > td,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5; }

.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8; }

.table > thead > tr > td.success,
.table > thead > tr > th.success,
.table > thead > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr > td.success,
.table > tbody > tr > th.success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th,
.table > tfoot > tr > td.success,
.table > tfoot > tr > th.success,
.table > tfoot > tr.success > td,
.table > tfoot > tr.success > th {
  background-color: #dff0d8; }

.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6; }

.table > thead > tr > td.info,
.table > thead > tr > th.info,
.table > thead > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr > td.info,
.table > tbody > tr > th.info,
.table > tbody > tr.info > td,
.table > tbody > tr.info > th,
.table > tfoot > tr > td.info,
.table > tfoot > tr > th.info,
.table > tfoot > tr.info > td,
.table > tfoot > tr.info > th {
  background-color: #d9edf7; }

.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3; }

.table > thead > tr > td.warning,
.table > thead > tr > th.warning,
.table > thead > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr > td.warning,
.table > tbody > tr > th.warning,
.table > tbody > tr.warning > td,
.table > tbody > tr.warning > th,
.table > tfoot > tr > td.warning,
.table > tfoot > tr > th.warning,
.table > tfoot > tr.warning > td,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3; }

.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc; }

.table > thead > tr > td.danger,
.table > thead > tr > th.danger,
.table > thead > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr > td.danger,
.table > tbody > tr > th.danger,
.table > tbody > tr.danger > td,
.table > tbody > tr.danger > th,
.table > tfoot > tr > td.danger,
.table > tfoot > tr > th.danger,
.table > tfoot > tr.danger > td,
.table > tfoot > tr.danger > th {
  background-color: #f2dede; }

.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc; }

.table-responsive {
  overflow-x: auto;
  min-height: 0.01%; }
  @media screen and (max-width: 767px) {
    .table-responsive {
      width: 100%;
      margin-bottom: 16.5px;
      overflow-y: hidden;
      -ms-overflow-style: -ms-autohiding-scrollbar;
      border: 1px solid #ddd; }
      .table-responsive > .table {
        margin-bottom: 0; }
        .table-responsive > .table > thead > tr > th,
        .table-responsive > .table > thead > tr > td,
        .table-responsive > .table > tbody > tr > th,
        .table-responsive > .table > tbody > tr > td,
        .table-responsive > .table > tfoot > tr > th,
        .table-responsive > .table > tfoot > tr > td {
          white-space: nowrap; }
      .table-responsive > .table-bordered {
        border: 0; }
        .table-responsive > .table-bordered > thead > tr > th:first-child,
        .table-responsive > .table-bordered > thead > tr > td:first-child,
        .table-responsive > .table-bordered > tbody > tr > th:first-child,
        .table-responsive > .table-bordered > tbody > tr > td:first-child,
        .table-responsive > .table-bordered > tfoot > tr > th:first-child,
        .table-responsive > .table-bordered > tfoot > tr > td:first-child {
          border-left: 0; }
        .table-responsive > .table-bordered > thead > tr > th:last-child,
        .table-responsive > .table-bordered > thead > tr > td:last-child,
        .table-responsive > .table-bordered > tbody > tr > th:last-child,
        .table-responsive > .table-bordered > tbody > tr > td:last-child,
        .table-responsive > .table-bordered > tfoot > tr > th:last-child,
        .table-responsive > .table-bordered > tfoot > tr > td:last-child {
          border-right: 0; }
        .table-responsive > .table-bordered > tbody > tr:last-child > th,
        .table-responsive > .table-bordered > tbody > tr:last-child > td,
        .table-responsive > .table-bordered > tfoot > tr:last-child > th,
        .table-responsive > .table-bordered > tfoot > tr:last-child > td {
          border-bottom: 0; } }

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

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 22px;
  font-size: 24px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5; }

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold; }

input[type="search"] {
  box-sizing: border-box; }

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal; }

input[type="file"] {
  display: block; }

input[type="range"] {
  display: block;
  width: 100%; }

select[multiple],
select[size] {
  height: auto; }

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

output {
  display: block;
  padding-top: 7px;
  font-size: 16px;
  line-height: 1.42857;
  color: #aaaaaa; }

.form-control {
  display: block;
  width: 100%;
  height: 36px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.42857;
  color: #aaaaaa;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
  .form-control:focus {
    border-color: #66afe9;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }
  .form-control::-moz-placeholder {
    color: #999;
    opacity: 1; }
  .form-control:-ms-input-placeholder {
    color: #999; }
  .form-control::-webkit-input-placeholder {
    color: #999; }
  .form-control[disabled],
  .form-control[readonly],
  fieldset[disabled] .form-control {
    background-color: #eeeeee;
    opacity: 1; }
  .form-control[disabled],
  fieldset[disabled] .form-control {
    cursor: not-allowed; }

textarea.form-control {
  height: auto; }

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

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"] {
    line-height: 36px; }
    input[type="date"].input-sm,
    .input-group-sm > input[type="date"].form-control,
    .input-group-sm > input[type="date"].input-group-addon,
    .input-group-sm > .input-group-btn > input[type="date"].btn,
    .input-group-sm input[type="date"],
    input[type="time"].input-sm,
    .input-group-sm > input[type="time"].form-control,
    .input-group-sm > input[type="time"].input-group-addon,
    .input-group-sm > .input-group-btn > input[type="time"].btn,
    .input-group-sm input[type="time"],
    input[type="datetime-local"].input-sm,
    .input-group-sm > input[type="datetime-local"].form-control,
    .input-group-sm > input[type="datetime-local"].input-group-addon,
    .input-group-sm > .input-group-btn > input[type="datetime-local"].btn,
    .input-group-sm input[type="datetime-local"],
    input[type="month"].input-sm,
    .input-group-sm > input[type="month"].form-control,
    .input-group-sm > input[type="month"].input-group-addon,
    .input-group-sm > .input-group-btn > input[type="month"].btn,
    .input-group-sm input[type="month"] {
      line-height: 33px; }
    input[type="date"].input-lg,
    .input-group-lg > input[type="date"].form-control,
    .input-group-lg > input[type="date"].input-group-addon,
    .input-group-lg > .input-group-btn > input[type="date"].btn,
    .input-group-lg input[type="date"],
    input[type="time"].input-lg,
    .input-group-lg > input[type="time"].form-control,
    .input-group-lg > input[type="time"].input-group-addon,
    .input-group-lg > .input-group-btn > input[type="time"].btn,
    .input-group-lg input[type="time"],
    input[type="datetime-local"].input-lg,
    .input-group-lg > input[type="datetime-local"].form-control,
    .input-group-lg > input[type="datetime-local"].input-group-addon,
    .input-group-lg > .input-group-btn > input[type="datetime-local"].btn,
    .input-group-lg input[type="datetime-local"],
    input[type="month"].input-lg,
    .input-group-lg > input[type="month"].form-control,
    .input-group-lg > input[type="month"].input-group-addon,
    .input-group-lg > .input-group-btn > input[type="month"].btn,
    .input-group-lg input[type="month"] {
      line-height: 49px; } }

.form-group {
  margin-bottom: 15px; }

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px; }
  .radio label,
  .checkbox label {
    min-height: 22px;
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer; }

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9; }

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px; }

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

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px; }

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

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

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

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 38px; }
  .form-control-static.input-lg,
  .input-group-lg > .form-control-static.form-control,
  .input-group-lg > .form-control-static.input-group-addon,
  .input-group-lg > .input-group-btn > .form-control-static.btn,
  .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,
  .input-group-sm > .form-control-static.input-group-addon,
  .input-group-sm > .input-group-btn > .form-control-static.btn {
    padding-left: 0;
    padding-right: 0; }

.input-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 33px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px; }

select.input-sm, .input-group-sm > select.form-control,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn {
  height: 33px;
  line-height: 33px; }

textarea.input-sm,
.input-group-sm > textarea.form-control,
.input-group-sm > textarea.input-group-addon,
.input-group-sm > .input-group-btn > textarea.btn,
select[multiple].input-sm, .input-group-sm > select[multiple].form-control,
.input-group-sm > select[multiple].input-group-addon,
.input-group-sm > .input-group-btn > select[multiple].btn {
  height: auto; }

.form-group-sm .form-control {
  height: 33px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px; }

.form-group-sm select.form-control {
  height: 33px;
  line-height: 33px; }

.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto; }

.form-group-sm .form-control-static {
  height: 33px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  min-height: 36px; }

.input-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 49px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333;
  border-radius: 6px; }

select.input-lg, .input-group-lg > select.form-control,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn {
  height: 49px;
  line-height: 49px; }

textarea.input-lg,
.input-group-lg > textarea.form-control,
.input-group-lg > textarea.input-group-addon,
.input-group-lg > .input-group-btn > textarea.btn,
select[multiple].input-lg, .input-group-lg > select[multiple].form-control,
.input-group-lg > select[multiple].input-group-addon,
.input-group-lg > .input-group-btn > select[multiple].btn {
  height: auto; }

.form-group-lg .form-control {
  height: 49px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333;
  border-radius: 6px; }

.form-group-lg select.form-control {
  height: 49px;
  line-height: 49px; }

.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto; }

.form-group-lg .form-control-static {
  height: 49px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333;
  min-height: 42px; }

.has-feedback {
  position: relative; }
  .has-feedback .form-control {
    padding-right: 45px; }

.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 36px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  pointer-events: none; }

.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback,
.input-group-lg > .input-group-addon + .form-control-feedback,
.input-group-lg > .input-group-btn > .btn + .form-control-feedback {
  width: 49px;
  height: 49px;
  line-height: 49px; }

.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback,
.input-group-sm > .input-group-addon + .form-control-feedback,
.input-group-sm > .input-group-btn > .btn + .form-control-feedback {
  width: 33px;
  height: 33px;
  line-height: 33px; }

.has-success .help-block,
.has-success .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: #3c763d; }

.has-success .form-control {
  border-color: #3c763d;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-success .form-control:focus {
    border-color: #2b542c;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }

.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8; }

.has-success .form-control-feedback {
  color: #3c763d; }

.has-warning .help-block,
.has-warning .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: #8a6d3b; }

.has-warning .form-control {
  border-color: #8a6d3b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-warning .form-control:focus {
    border-color: #66512c;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }

.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3; }

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

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442; }

.has-error .form-control {
  border-color: #a94442;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-error .form-control:focus {
    border-color: #843534;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; }

.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede; }

.has-error .form-control-feedback {
  color: #a94442; }

.has-feedback label ~ .form-control-feedback {
  top: 27px; }

.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0; }

.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #404040; }

@media (min-width: 768px) {
  .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 .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-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px; }

.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 29px; }

.form-horizontal .form-group {
  margin-left: -10px;
  margin-right: -10px; }
  .form-horizontal .form-group:before,
  .form-horizontal .form-group:after {
    content: " ";
    display: table; }
  .form-horizontal .form-group:after {
    clear: both; }

@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px; } }

.form-horizontal .has-feedback .form-control-feedback {
  right: 10px; }

@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 14.33333px; } }

@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px; } }

.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.42857;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .btn:focus,
  .btn.focus,
  .btn:active:focus,
  .btn:active.focus,
  .btn.active:focus,
  .btn.active.focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }
  .btn:hover,
  .btn:focus,
  .btn.focus {
    color: #000;
    text-decoration: none; }
  .btn:active,
  .btn.active {
    outline: 0;
    background-image: none;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
  .btn.disabled,
  .btn[disabled],
  fieldset[disabled] .btn {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.65;
    filter: alpha(opacity=65);
    box-shadow: none; }

.btn-default {
  color: #000;
  background-color: #fff;
  border-color: #ccc; }
  .btn-default:hover,
  .btn-default:focus,
  .btn-default.focus,
  .btn-default:active,
  .btn-default.active,
  .open > .btn-default.dropdown-toggle {
    color: #000;
    background-color: #e6e6e6;
    border-color: #adadad; }
  .btn-default:active,
  .btn-default.active,
  .open > .btn-default.dropdown-toggle {
    background-image: none; }
  .btn-default.disabled,
  .btn-default.disabled:hover,
  .btn-default.disabled:focus,
  .btn-default.disabled.focus,
  .btn-default.disabled:active,
  .btn-default.disabled.active,
  .btn-default[disabled],
  .btn-default[disabled]:hover,
  .btn-default[disabled]:focus,
  .btn-default[disabled].focus,
  .btn-default[disabled]:active,
  .btn-default[disabled].active,
  fieldset[disabled] .btn-default,
  fieldset[disabled] .btn-default:hover,
  fieldset[disabled] .btn-default:focus,
  fieldset[disabled] .btn-default.focus,
  fieldset[disabled] .btn-default:active,
  fieldset[disabled] .btn-default.active {
    background-color: #fff;
    border-color: #ccc; }
  .btn-default .badge {
    color: #fff;
    background-color: #000; }

.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4; }
  .btn-primary:hover,
  .btn-primary:focus,
  .btn-primary.focus,
  .btn-primary:active,
  .btn-primary.active,
  .open > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #286090;
    border-color: #204d74; }
  .btn-primary:active,
  .btn-primary.active,
  .open > .btn-primary.dropdown-toggle {
    background-image: none; }
  .btn-primary.disabled,
  .btn-primary.disabled:hover,
  .btn-primary.disabled:focus,
  .btn-primary.disabled.focus,
  .btn-primary.disabled:active,
  .btn-primary.disabled.active,
  .btn-primary[disabled],
  .btn-primary[disabled]:hover,
  .btn-primary[disabled]:focus,
  .btn-primary[disabled].focus,
  .btn-primary[disabled]:active,
  .btn-primary[disabled].active,
  fieldset[disabled] .btn-primary,
  fieldset[disabled] .btn-primary:hover,
  fieldset[disabled] .btn-primary:focus,
  fieldset[disabled] .btn-primary.focus,
  fieldset[disabled] .btn-primary:active,
  fieldset[disabled] .btn-primary.active {
    background-color: #337ab7;
    border-color: #2e6da4; }
  .btn-primary .badge {
    color: #337ab7;
    background-color: #fff; }

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c; }
  .btn-success:hover,
  .btn-success:focus,
  .btn-success.focus,
  .btn-success:active,
  .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #449d44;
    border-color: #398439; }
  .btn-success:active,
  .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    background-image: none; }
  .btn-success.disabled,
  .btn-success.disabled:hover,
  .btn-success.disabled:focus,
  .btn-success.disabled.focus,
  .btn-success.disabled:active,
  .btn-success.disabled.active,
  .btn-success[disabled],
  .btn-success[disabled]:hover,
  .btn-success[disabled]:focus,
  .btn-success[disabled].focus,
  .btn-success[disabled]:active,
  .btn-success[disabled].active,
  fieldset[disabled] .btn-success,
  fieldset[disabled] .btn-success:hover,
  fieldset[disabled] .btn-success:focus,
  fieldset[disabled] .btn-success.focus,
  fieldset[disabled] .btn-success:active,
  fieldset[disabled] .btn-success.active {
    background-color: #5cb85c;
    border-color: #4cae4c; }
  .btn-success .badge {
    color: #5cb85c;
    background-color: #fff; }

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da; }
  .btn-info:hover,
  .btn-info:focus,
  .btn-info.focus,
  .btn-info:active,
  .btn-info.active,
  .open > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #31b0d5;
    border-color: #269abc; }
  .btn-info:active,
  .btn-info.active,
  .open > .btn-info.dropdown-toggle {
    background-image: none; }
  .btn-info.disabled,
  .btn-info.disabled:hover,
  .btn-info.disabled:focus,
  .btn-info.disabled.focus,
  .btn-info.disabled:active,
  .btn-info.disabled.active,
  .btn-info[disabled],
  .btn-info[disabled]:hover,
  .btn-info[disabled]:focus,
  .btn-info[disabled].focus,
  .btn-info[disabled]:active,
  .btn-info[disabled].active,
  fieldset[disabled] .btn-info,
  fieldset[disabled] .btn-info:hover,
  fieldset[disabled] .btn-info:focus,
  fieldset[disabled] .btn-info.focus,
  fieldset[disabled] .btn-info:active,
  fieldset[disabled] .btn-info.active {
    background-color: #5bc0de;
    border-color: #46b8da; }
  .btn-info .badge {
    color: #5bc0de;
    background-color: #fff; }

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236; }
  .btn-warning:hover,
  .btn-warning:focus,
  .btn-warning.focus,
  .btn-warning:active,
  .btn-warning.active,
  .open > .btn-warning.dropdown-toggle {
    color: #fff;
    background-color: #ec971f;
    border-color: #d58512; }
  .btn-warning:active,
  .btn-warning.active,
  .open > .btn-warning.dropdown-toggle {
    background-image: none; }
  .btn-warning.disabled,
  .btn-warning.disabled:hover,
  .btn-warning.disabled:focus,
  .btn-warning.disabled.focus,
  .btn-warning.disabled:active,
  .btn-warning.disabled.active,
  .btn-warning[disabled],
  .btn-warning[disabled]:hover,
  .btn-warning[disabled]:focus,
  .btn-warning[disabled].focus,
  .btn-warning[disabled]:active,
  .btn-warning[disabled].active,
  fieldset[disabled] .btn-warning,
  fieldset[disabled] .btn-warning:hover,
  fieldset[disabled] .btn-warning:focus,
  fieldset[disabled] .btn-warning.focus,
  fieldset[disabled] .btn-warning:active,
  fieldset[disabled] .btn-warning.active {
    background-color: #f0ad4e;
    border-color: #eea236; }
  .btn-warning .badge {
    color: #f0ad4e;
    background-color: #fff; }

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a; }
  .btn-danger:hover,
  .btn-danger:focus,
  .btn-danger.focus,
  .btn-danger:active,
  .btn-danger.active,
  .open > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #c9302c;
    border-color: #ac2925; }
  .btn-danger:active,
  .btn-danger.active,
  .open > .btn-danger.dropdown-toggle {
    background-image: none; }
  .btn-danger.disabled,
  .btn-danger.disabled:hover,
  .btn-danger.disabled:focus,
  .btn-danger.disabled.focus,
  .btn-danger.disabled:active,
  .btn-danger.disabled.active,
  .btn-danger[disabled],
  .btn-danger[disabled]:hover,
  .btn-danger[disabled]:focus,
  .btn-danger[disabled].focus,
  .btn-danger[disabled]:active,
  .btn-danger[disabled].active,
  fieldset[disabled] .btn-danger,
  fieldset[disabled] .btn-danger:hover,
  fieldset[disabled] .btn-danger:focus,
  fieldset[disabled] .btn-danger.focus,
  fieldset[disabled] .btn-danger:active,
  fieldset[disabled] .btn-danger.active {
    background-color: #d9534f;
    border-color: #d43f3a; }
  .btn-danger .badge {
    color: #d9534f;
    background-color: #fff; }

.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0; }
  .btn-link,
  .btn-link:active,
  .btn-link.active,
  .btn-link[disabled],
  fieldset[disabled] .btn-link {
    background-color: transparent;
    box-shadow: none; }
  .btn-link,
  .btn-link:hover,
  .btn-link:focus,
  .btn-link:active {
    border-color: transparent; }
  .btn-link:hover,
  .btn-link:focus {
    color: #23527c;
    text-decoration: underline;
    background-color: transparent; }
  .btn-link[disabled]:hover,
  .btn-link[disabled]:focus,
  fieldset[disabled] .btn-link:hover,
  fieldset[disabled] .btn-link:focus {
    color: #777777;
    text-decoration: none; }

.btn-lg, .btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333;
  border-radius: 6px; }

.btn-sm, .btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px; }

.btn-xs, .btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px; }

.btn-block {
  display: block;
  width: 100%; }

.btn-block + .btn-block {
  margin-top: 5px; }

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%; }

.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }
  .fade.in {
    opacity: 1; }

.collapse {
  display: none; }
  .collapse.in {
    display: block; }

tr.collapse.in {
  display: table-row; }

tbody.collapse.in {
  display: table-row-group; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease; }

.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent; }

.dropup,
.dropdown {
  position: relative; }

.dropdown-toggle:focus {
  outline: 0; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 16px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box; }
  .dropdown-menu.pull-right {
    right: 0;
    left: auto; }
  .dropdown-menu .divider {
    height: 1px;
    margin: 10px 0;
    overflow: hidden;
    background-color: #e5e5e5; }
  .dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.42857;
    color: #333333;
    white-space: nowrap; }

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5; }

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7; }

.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777; }

.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed; }

.open > .dropdown-menu {
  display: block; }

.open > a {
  outline: 0; }

.dropdown-menu-right {
  left: auto;
  right: 0; }

.dropdown-menu-left {
  left: 0;
  right: auto; }

.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 14px;
  line-height: 1.42857;
  color: #777777;
  white-space: nowrap; }

.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990; }

.pull-right > .dropdown-menu {
  right: 0;
  left: auto; }

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px solid;
  content: ""; }

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px; }

@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    right: 0;
    left: auto; }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto; } }

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    float: left; }
    .btn-group > .btn:hover,
    .btn-group > .btn:focus,
    .btn-group > .btn:active,
    .btn-group > .btn.active,
    .btn-group-vertical > .btn:hover,
    .btn-group-vertical > .btn:focus,
    .btn-group-vertical > .btn:active,
    .btn-group-vertical > .btn.active {
      z-index: 2; }

.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px; }

.btn-toolbar {
  margin-left: -5px; }
  .btn-toolbar:before,
  .btn-toolbar:after {
    content: " ";
    display: table; }
  .btn-toolbar:after {
    clear: both; }
  .btn-toolbar .btn-group,
  .btn-toolbar .input-group {
    float: left; }
  .btn-toolbar > .btn,
  .btn-toolbar > .btn-group,
  .btn-toolbar > .input-group {
    margin-left: 5px; }

.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0; }

.btn-group > .btn:first-child {
  margin-left: 0; }
  .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0; }

.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

.btn-group > .btn-group {
  float: left; }

.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0; }

.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0; }

.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0; }

.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px; }

.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px; }

.btn-group.open .dropdown-toggle {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
  .btn-group.open .dropdown-toggle.btn-link {
    box-shadow: none; }

.btn .caret {
  margin-left: 0; }

.btn-lg .caret, .btn-group-lg > .btn .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0; }

.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {
  border-width: 0 5px 5px; }

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%; }

.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after {
  content: " ";
  display: table; }

.btn-group-vertical > .btn-group:after {
  clear: both; }

.btn-group-vertical > .btn-group > .btn {
  float: none; }

.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0; }

.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0; }

.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0; }

.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate; }
  .btn-group-justified > .btn,
  .btn-group-justified > .btn-group {
    float: none;
    display: table-cell;
    width: 1%; }
  .btn-group-justified > .btn-group .btn {
    width: 100%; }
  .btn-group-justified > .btn-group .dropdown-menu {
    left: auto; }

[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none; }

.input-group {
  position: relative;
  display: table;
  border-collapse: separate; }
  .input-group[class*="col-"] {
    float: none;
    padding-left: 0;
    padding-right: 0; }
  .input-group .form-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0; }

.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell; }
  .input-group-addon:not(:first-child):not(:last-child),
  .input-group-btn:not(:first-child):not(:last-child),
  .input-group .form-control:not(:first-child):not(:last-child) {
    border-radius: 0; }

.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle; }

.input-group-addon {
  padding: 6px 12px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1;
  color: #aaaaaa;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 4px; }
  .input-group-addon.input-sm, .input-group-sm > .input-group-addon,
  .input-group-sm > .input-group-btn > .input-group-addon.btn {
    padding: 5px 10px;
    font-size: 14px;
    border-radius: 3px; }
  .input-group-addon.input-lg, .input-group-lg > .input-group-addon,
  .input-group-lg > .input-group-btn > .input-group-addon.btn {
    padding: 10px 16px;
    font-size: 20px;
    border-radius: 6px; }
  .input-group-addon input[type="radio"],
  .input-group-addon input[type="checkbox"] {
    margin-top: 0; }

.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0; }

.input-group-addon:first-child {
  border-right: 0; }

.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

.input-group-addon:last-child {
  border-left: 0; }

.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap; }
  .input-group-btn > .btn {
    position: relative; }
    .input-group-btn > .btn + .btn {
      margin-left: -1px; }
    .input-group-btn > .btn:hover,
    .input-group-btn > .btn:focus,
    .input-group-btn > .btn:active {
      z-index: 2; }
  .input-group-btn:first-child > .btn,
  .input-group-btn:first-child > .btn-group {
    margin-right: -1px; }
  .input-group-btn:last-child > .btn,
  .input-group-btn:last-child > .btn-group {
    margin-left: -1px; }

.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none; }
  .nav:before,
  .nav:after {
    content: " ";
    display: table; }
  .nav:after {
    clear: both; }
  .nav > li {
    position: relative;
    display: block; }
    .nav > li > a {
      position: relative;
      display: block;
      padding: 10px 15px; }
      .nav > li > a:hover,
      .nav > li > a:focus {
        text-decoration: none;
        background-color: #eeeeee; }
    .nav > li.disabled > a {
      color: #777777; }
      .nav > li.disabled > a:hover,
      .nav > li.disabled > a:focus {
        color: #777777;
        text-decoration: none;
        background-color: transparent;
        cursor: not-allowed; }
  .nav .open > a,
  .nav .open > a:hover,
  .nav .open > a:focus {
    background-color: #eeeeee;
    border-color: #337ab7; }
  .nav .nav-divider {
    height: 1px;
    margin: 10px 0;
    overflow: hidden;
    background-color: #e5e5e5; }
  .nav > li > a > img {
    max-width: none; }

.nav-tabs {
  border-bottom: 1px solid #ddd; }
  .nav-tabs > li {
    float: left;
    margin-bottom: -1px; }
    .nav-tabs > li > a {
      margin-right: 2px;
      line-height: 1.42857;
      border: 1px solid transparent;
      border-radius: 4px 4px 0 0; }
      .nav-tabs > li > a:hover {
        border-color: #eeeeee #eeeeee #ddd; }
    .nav-tabs > li.active > a,
    .nav-tabs > li.active > a:hover,
    .nav-tabs > li.active > a:focus {
      color: #aaaaaa;
      background-color: #fff;
      border: 1px solid #ddd;
      border-bottom-color: transparent;
      cursor: default; }

.nav-pills > li {
  float: left; }
  .nav-pills > li > a {
    border-radius: 4px; }
  .nav-pills > li + li {
    margin-left: 2px; }
  .nav-pills > li.active > a,
  .nav-pills > li.active > a:hover,
  .nav-pills > li.active > a:focus {
    color: #fff;
    background-color: #337ab7; }

.nav-stacked > li {
  float: none; }
  .nav-stacked > li + li {
    margin-top: 2px;
    margin-left: 0; }

.nav-justified, .nav-tabs.nav-justified {
  width: 100%; }
  .nav-justified > li, .nav-tabs.nav-justified > li {
    float: none; }
    .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
      text-align: center;
      margin-bottom: 5px; }
  .nav-justified > .dropdown .dropdown-menu {
    top: auto;
    left: auto; }
  @media (min-width: 768px) {
    .nav-justified > li, .nav-tabs.nav-justified > li {
      display: table-cell;
      width: 1%; }
      .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
        margin-bottom: 0; } }

.nav-tabs-justified, .nav-tabs.nav-justified {
  border-bottom: 0; }
  .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
    margin-right: 0;
    border-radius: 4px; }
  .nav-tabs-justified > .active > a,
  .nav-tabs.nav-justified > .active > a, .nav-tabs-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {
    border: 1px solid #ddd; }
  @media (min-width: 768px) {
    .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
      border-bottom: 1px solid #ddd;
      border-radius: 4px 4px 0 0; }
    .nav-tabs-justified > .active > a,
    .nav-tabs.nav-justified > .active > a, .nav-tabs-justified > .active > a:hover,
    .nav-tabs.nav-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {
      border-bottom-color: #fff; } }

.tab-content > .tab-pane {
  display: none; }

.tab-content > .active {
  display: block; }

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 22px;
  border: 1px solid transparent; }
  .navbar:before,
  .navbar:after {
    content: " ";
    display: table; }
  .navbar:after {
    clear: both; }
  @media (min-width: 768px) {
    .navbar {
      border-radius: 4px; } }

.navbar-header:before,
.navbar-header:after {
  content: " ";
  display: table; }

.navbar-header:after {
  clear: both; }

@media (min-width: 768px) {
  .navbar-header {
    float: left; } }

.navbar-collapse {
  overflow-x: visible;
  padding-right: 10px;
  padding-left: 10px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch; }
  .navbar-collapse:before,
  .navbar-collapse:after {
    content: " ";
    display: table; }
  .navbar-collapse:after {
    clear: both; }
  .navbar-collapse.in {
    overflow-y: auto; }
  @media (min-width: 768px) {
    .navbar-collapse {
      width: auto;
      border-top: 0;
      box-shadow: none; }
      .navbar-collapse.collapse {
        display: block !important;
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important; }
      .navbar-collapse.in {
        overflow-y: visible; }
      .navbar-fixed-top .navbar-collapse,
      .navbar-static-top .navbar-collapse,
      .navbar-fixed-bottom .navbar-collapse {
        padding-left: 0;
        padding-right: 0; } }

.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px; }
  @media (max-device-width: 320px) and (orientation: landscape) {
    .navbar-fixed-top .navbar-collapse,
    .navbar-fixed-bottom .navbar-collapse {
      max-height: 200px; } }

.container > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-header,
.container-fluid > .navbar-collapse {
  margin-right: -10px;
  margin-left: -10px; }
  @media (min-width: 768px) {
    .container > .navbar-header,
    .container > .navbar-collapse,
    .container-fluid > .navbar-header,
    .container-fluid > .navbar-collapse {
      margin-right: 0;
      margin-left: 0; } }

.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px; }
  @media (min-width: 768px) {
    .navbar-static-top {
      border-radius: 0; } }

.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030; }
  @media (min-width: 768px) {
    .navbar-fixed-top,
    .navbar-fixed-bottom {
      border-radius: 0; } }

.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px; }

.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0; }

.navbar-brand {
  float: left;
  padding: 14px 10px;
  font-size: 20px;
  line-height: 22px;
  height: 50px; }
  .navbar-brand:hover,
  .navbar-brand:focus {
    text-decoration: none; }
  .navbar-brand > img {
    display: block; }
  @media (min-width: 768px) {
    .navbar > .container .navbar-brand,
    .navbar > .container-fluid .navbar-brand {
      margin-left: -10px; } }

.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 10px;
  padding: 9px 10px;
  margin-top: 8px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px; }
  .navbar-toggle:focus {
    outline: 0; }
  .navbar-toggle .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px; }
  .navbar-toggle .icon-bar + .icon-bar {
    margin-top: 4px; }
  @media (min-width: 768px) {
    .navbar-toggle {
      display: none; } }

.navbar-nav {
  margin: 7px -10px; }
  .navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 22px; }
  @media (max-width: 767px) {
    .navbar-nav .open .dropdown-menu {
      position: static;
      float: none;
      width: auto;
      margin-top: 0;
      background-color: transparent;
      border: 0;
      box-shadow: none; }
      .navbar-nav .open .dropdown-menu > li > a,
      .navbar-nav .open .dropdown-menu .dropdown-header {
        padding: 5px 15px 5px 25px; }
      .navbar-nav .open .dropdown-menu > li > a {
        line-height: 22px; }
        .navbar-nav .open .dropdown-menu > li > a:hover,
        .navbar-nav .open .dropdown-menu > li > a:focus {
          background-image: none; } }
  @media (min-width: 768px) {
    .navbar-nav {
      float: left;
      margin: 0; }
      .navbar-nav > li {
        float: left; }
        .navbar-nav > li > a {
          padding-top: 14px;
          padding-bottom: 14px; } }

.navbar-form {
  margin-left: -10px;
  margin-right: -10px;
  padding: 10px 10px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 7px;
  margin-bottom: 7px; }
  @media (min-width: 768px) {
    .navbar-form .form-group {
      display: inline-block;
      margin-bottom: 0;
      vertical-align: middle; }
    .navbar-form .form-control {
      display: inline-block;
      width: auto;
      vertical-align: middle; }
    .navbar-form .form-control-static {
      display: inline-block; }
    .navbar-form .input-group {
      display: inline-table;
      vertical-align: middle; }
      .navbar-form .input-group .input-group-addon,
      .navbar-form .input-group .input-group-btn,
      .navbar-form .input-group .form-control {
        width: auto; }
    .navbar-form .input-group > .form-control {
      width: 100%; }
    .navbar-form .control-label {
      margin-bottom: 0;
      vertical-align: middle; }
    .navbar-form .radio,
    .navbar-form .checkbox {
      display: inline-block;
      margin-top: 0;
      margin-bottom: 0;
      vertical-align: middle; }
      .navbar-form .radio label,
      .navbar-form .checkbox label {
        padding-left: 0; }
    .navbar-form .radio input[type="radio"],
    .navbar-form .checkbox input[type="checkbox"] {
      position: relative;
      margin-left: 0; }
    .navbar-form .has-feedback .form-control-feedback {
      top: 0; } }
  @media (max-width: 767px) {
    .navbar-form .form-group {
      margin-bottom: 5px; }
      .navbar-form .form-group:last-child {
        margin-bottom: 0; } }
  @media (min-width: 768px) {
    .navbar-form {
      width: auto;
      border: 0;
      margin-left: 0;
      margin-right: 0;
      padding-top: 0;
      padding-bottom: 0;
      box-shadow: none; } }

.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.navbar-btn {
  margin-top: 7px;
  margin-bottom: 7px; }
  .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn {
    margin-top: 8.5px;
    margin-bottom: 8.5px; }
  .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn {
    margin-top: 14px;
    margin-bottom: 14px; }

.navbar-text {
  margin-top: 14px;
  margin-bottom: 14px; }
  @media (min-width: 768px) {
    .navbar-text {
      float: left;
      margin-left: 10px;
      margin-right: 10px; } }

@media (min-width: 768px) {
  .navbar-left {
    float: left !important; }
  .navbar-right {
    float: right !important;
    margin-right: -10px; }
    .navbar-right ~ .navbar-right {
      margin-right: 0; } }

.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7; }
  .navbar-default .navbar-brand {
    color: #777; }
    .navbar-default .navbar-brand:hover,
    .navbar-default .navbar-brand:focus {
      color: #5e5e5e;
      background-color: transparent; }
  .navbar-default .navbar-text {
    color: #777; }
  .navbar-default .navbar-nav > li > a {
    color: #777; }
    .navbar-default .navbar-nav > li > a:hover,
    .navbar-default .navbar-nav > li > a:focus {
      color: #000;
      background-color: transparent; }
  .navbar-default .navbar-nav > .active > a,
  .navbar-default .navbar-nav > .active > a:hover,
  .navbar-default .navbar-nav > .active > a:focus {
    color: #555;
    background-color: #e7e7e7; }
  .navbar-default .navbar-nav > .disabled > a,
  .navbar-default .navbar-nav > .disabled > a:hover,
  .navbar-default .navbar-nav > .disabled > a:focus {
    color: #ccc;
    background-color: transparent; }
  .navbar-default .navbar-toggle {
    border-color: #ddd; }
    .navbar-default .navbar-toggle:hover,
    .navbar-default .navbar-toggle:focus {
      background-color: #ddd; }
    .navbar-default .navbar-toggle .icon-bar {
      background-color: #888; }
  .navbar-default .navbar-collapse,
  .navbar-default .navbar-form {
    border-color: #e7e7e7; }
  .navbar-default .navbar-nav > .open > a,
  .navbar-default .navbar-nav > .open > a:hover,
  .navbar-default .navbar-nav > .open > a:focus {
    background-color: #e7e7e7;
    color: #555; }
  @media (max-width: 767px) {
    .navbar-default .navbar-nav .open .dropdown-menu > li > a {
      color: #777; }
      .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
      .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
        color: #000;
        background-color: transparent; }
    .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
    .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
    .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
      color: #555;
      background-color: #e7e7e7; }
    .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
    .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
    .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
      color: #ccc;
      background-color: transparent; } }
  .navbar-default .navbar-link {
    color: #777; }
    .navbar-default .navbar-link:hover {
      color: #000; }
  .navbar-default .btn-link {
    color: #777; }
    .navbar-default .btn-link:hover,
    .navbar-default .btn-link:focus {
      color: #000; }
    .navbar-default .btn-link[disabled]:hover,
    .navbar-default .btn-link[disabled]:focus,
    fieldset[disabled] .navbar-default .btn-link:hover,
    fieldset[disabled] .navbar-default .btn-link:focus {
      color: #ccc; }

.navbar-inverse {
  background-color: #222;
  border-color: #090909; }
  .navbar-inverse .navbar-brand {
    color: #9d9d9d; }
    .navbar-inverse .navbar-brand:hover,
    .navbar-inverse .navbar-brand:focus {
      color: #fff;
      background-color: transparent; }
  .navbar-inverse .navbar-text {
    color: #9d9d9d; }
  .navbar-inverse .navbar-nav > li > a {
    color: #9d9d9d; }
    .navbar-inverse .navbar-nav > li > a:hover,
    .navbar-inverse .navbar-nav > li > a:focus {
      color: #fff;
      background-color: transparent; }
  .navbar-inverse .navbar-nav > .active > a,
  .navbar-inverse .navbar-nav > .active > a:hover,
  .navbar-inverse .navbar-nav > .active > a:focus {
    color: #fff;
    background-color: #090909; }
  .navbar-inverse .navbar-nav > .disabled > a,
  .navbar-inverse .navbar-nav > .disabled > a:hover,
  .navbar-inverse .navbar-nav > .disabled > a:focus {
    color: #444;
    background-color: transparent; }
  .navbar-inverse .navbar-toggle {
    border-color: #000; }
    .navbar-inverse .navbar-toggle:hover,
    .navbar-inverse .navbar-toggle:focus {
      background-color: #000; }
    .navbar-inverse .navbar-toggle .icon-bar {
      background-color: #fff; }
  .navbar-inverse .navbar-collapse,
  .navbar-inverse .navbar-form {
    border-color: #101010; }
  .navbar-inverse .navbar-nav > .open > a,
  .navbar-inverse .navbar-nav > .open > a:hover,
  .navbar-inverse .navbar-nav > .open > a:focus {
    background-color: #090909;
    color: #fff; }
  @media (max-width: 767px) {
    .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
      border-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
      background-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
      color: #9d9d9d; }
      .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
      .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
        color: #fff;
        background-color: transparent; }
    .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
    .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
    .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
      color: #fff;
      background-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
    .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
    .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
      color: #444;
      background-color: transparent; } }
  .navbar-inverse .navbar-link {
    color: #9d9d9d; }
    .navbar-inverse .navbar-link:hover {
      color: #fff; }
  .navbar-inverse .btn-link {
    color: #9d9d9d; }
    .navbar-inverse .btn-link:hover,
    .navbar-inverse .btn-link:focus {
      color: #fff; }
    .navbar-inverse .btn-link[disabled]:hover,
    .navbar-inverse .btn-link[disabled]:focus,
    fieldset[disabled] .navbar-inverse .btn-link:hover,
    fieldset[disabled] .navbar-inverse .btn-link:focus {
      color: #444; }

.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 22px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 4px; }
  .breadcrumb > li {
    display: inline-block; }
    .breadcrumb > li + li:before {
      content: "/\\00a0";
      padding: 0 5px;
      color: #ccc; }
  .breadcrumb > .active {
    color: #777777; }

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 22px 0;
  border-radius: 4px; }
  .pagination > li {
    display: inline; }
    .pagination > li > a,
    .pagination > li > span {
      position: relative;
      float: left;
      padding: 6px 12px;
      line-height: 1.42857;
      text-decoration: none;
      color: #337ab7;
      background-color: #fff;
      border: 1px solid #ddd;
      margin-left: -1px; }
    .pagination > li:first-child > a,
    .pagination > li:first-child > span {
      margin-left: 0;
      border-bottom-left-radius: 4px;
      border-top-left-radius: 4px; }
    .pagination > li:last-child > a,
    .pagination > li:last-child > span {
      border-bottom-right-radius: 4px;
      border-top-right-radius: 4px; }
  .pagination > li > a:hover,
  .pagination > li > a:focus,
  .pagination > li > span:hover,
  .pagination > li > span:focus {
    color: #23527c;
    background-color: #eeeeee;
    border-color: #ddd; }
  .pagination > .active > a,
  .pagination > .active > a:hover,
  .pagination > .active > a:focus,
  .pagination > .active > span,
  .pagination > .active > span:hover,
  .pagination > .active > span:focus {
    z-index: 2;
    color: #fff;
    background-color: #337ab7;
    border-color: #337ab7;
    cursor: default; }
  .pagination > .disabled > span,
  .pagination > .disabled > span:hover,
  .pagination > .disabled > span:focus,
  .pagination > .disabled > a,
  .pagination > .disabled > a:hover,
  .pagination > .disabled > a:focus {
    color: #777777;
    background-color: #fff;
    border-color: #ddd;
    cursor: not-allowed; }

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 20px; }

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px; }

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px; }

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 14px; }

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

.pager {
  padding-left: 0;
  margin: 22px 0;
  list-style: none;
  text-align: center; }
  .pager:before,
  .pager:after {
    content: " ";
    display: table; }
  .pager:after {
    clear: both; }
  .pager li {
    display: inline; }
    .pager li > a,
    .pager li > span {
      display: inline-block;
      padding: 5px 14px;
      background-color: #fff;
      border: 1px solid #ddd;
      border-radius: 15px; }
    .pager li > a:hover,
    .pager li > a:focus {
      text-decoration: none;
      background-color: #eeeeee; }
  .pager .next > a,
  .pager .next > span {
    float: right; }
  .pager .previous > a,
  .pager .previous > span {
    float: left; }
  .pager .disabled > a,
  .pager .disabled > a:hover,
  .pager .disabled > a:focus,
  .pager .disabled > span {
    color: #777777;
    background-color: #fff;
    cursor: not-allowed; }

.label {
  display: inline;
  padding: 0.2em 0.6em 0.3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em; }
  .label:empty {
    display: none; }
  .btn .label {
    position: relative;
    top: -1px; }

a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer; }

.label-default {
  background-color: #777777; }
  .label-default[href]:hover,
  .label-default[href]:focus {
    background-color: #5e5e5e; }

.label-primary {
  background-color: #337ab7; }
  .label-primary[href]:hover,
  .label-primary[href]:focus {
    background-color: #286090; }

.label-success {
  background-color: #5cb85c; }
  .label-success[href]:hover,
  .label-success[href]:focus {
    background-color: #449d44; }

.label-info {
  background-color: #5bc0de; }
  .label-info[href]:hover,
  .label-info[href]:focus {
    background-color: #31b0d5; }

.label-warning {
  background-color: #f0ad4e; }
  .label-warning[href]:hover,
  .label-warning[href]:focus {
    background-color: #ec971f; }

.label-danger {
  background-color: #d9534f; }
  .label-danger[href]:hover,
  .label-danger[href]:focus {
    background-color: #c9302c; }

.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: baseline;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px; }
  .badge:empty {
    display: none; }
  .btn .badge {
    position: relative;
    top: -1px; }
  .btn-xs .badge,
  .btn-group-xs > .btn .badge,
  .btn-group-xs > .btn .badge {
    top: 0;
    padding: 1px 5px; }
  .list-group-item.active > .badge,
  .nav-pills > .active > a > .badge {
    color: #337ab7;
    background-color: #fff; }
  .list-group-item > .badge {
    float: right; }
  .list-group-item > .badge + .badge {
    margin-right: 5px; }
  .nav-pills > li > a > .badge {
    margin-left: 3px; }

a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer; }

.jumbotron {
  padding: 30px 15px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee; }
  .jumbotron h1,
  .jumbotron .h1 {
    color: inherit; }
  .jumbotron p {
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: 200; }
  .jumbotron > hr {
    border-top-color: #d5d5d5; }
  .container .jumbotron,
  .container-fluid .jumbotron {
    border-radius: 6px; }
  .jumbotron .container {
    max-width: 100%; }
  @media screen and (min-width: 768px) {
    .jumbotron {
      padding: 48px 0; }
      .container .jumbotron,
      .container-fluid .jumbotron {
        padding-left: 60px;
        padding-right: 60px; }
      .jumbotron h1,
      .jumbotron .h1 {
        font-size: 72px; } }

.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 22px;
  line-height: 1.42857;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out; }
  .thumbnail > img,
  .thumbnail a > img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto; }
  .thumbnail .caption {
    padding: 9px;
    color: #000; }

a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7; }

.alert {
  padding: 15px;
  margin-bottom: 22px;
  border: 1px solid transparent;
  border-radius: 4px; }
  .alert h4 {
    margin-top: 0;
    color: inherit; }
  .alert .alert-link {
    font-weight: bold; }
  .alert > p,
  .alert > ul {
    margin-bottom: 0; }
  .alert > p + p {
    margin-top: 5px; }

.alert-dismissable, .alert-dismissible {
  padding-right: 35px; }
  .alert-dismissable .close, .alert-dismissible .close {
    position: relative;
    top: -2px;
    right: -21px;
    color: inherit; }

.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d; }
  .alert-success hr {
    border-top-color: #c9e2b3; }
  .alert-success .alert-link {
    color: #2b542c; }

.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f; }
  .alert-info hr {
    border-top-color: #a6e1ec; }
  .alert-info .alert-link {
    color: #245269; }

.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b; }
  .alert-warning hr {
    border-top-color: #f7e1b5; }
  .alert-warning .alert-link {
    color: #66512c; }

.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442; }
  .alert-danger hr {
    border-top-color: #e4b9c0; }
  .alert-danger .alert-link {
    color: #843534; }

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0; }
  to {
    background-position: 0 0; } }

@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0; }
  to {
    background-position: 0 0; } }

.progress {
  overflow: hidden;
  height: 22px;
  margin-bottom: 22px;
  background-color: #f5f5f5;
  border-radius: 4px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); }

.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 14px;
  line-height: 22px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease; }

.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px; }

.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite; }

.progress-bar-success {
  background-color: #5cb85c; }
  .progress-striped .progress-bar-success {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }

.progress-bar-info {
  background-color: #5bc0de; }
  .progress-striped .progress-bar-info {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }

.progress-bar-warning {
  background-color: #f0ad4e; }
  .progress-striped .progress-bar-warning {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }

.progress-bar-danger {
  background-color: #d9534f; }
  .progress-striped .progress-bar-danger {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }

.media {
  margin-top: 15px; }
  .media:first-child {
    margin-top: 0; }

.media,
.media-body {
  zoom: 1;
  overflow: hidden; }

.media-body {
  width: 10000px; }

.media-object {
  display: block; }

.media-right,
.media > .pull-right {
  padding-left: 10px; }

.media-left,
.media > .pull-left {
  padding-right: 10px; }

.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top; }

.media-middle {
  vertical-align: middle; }

.media-bottom {
  vertical-align: bottom; }

.media-heading {
  margin-top: 0;
  margin-bottom: 5px; }

.media-list {
  padding-left: 0;
  list-style: none; }

.list-group {
  margin-bottom: 20px;
  padding-left: 0; }

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd; }
  .list-group-item:first-child {
    border-top-right-radius: 4px;
    border-top-left-radius: 4px; }
  .list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px; }

a.list-group-item {
  color: #555; }
  a.list-group-item .list-group-item-heading {
    color: #000; }
  a.list-group-item:hover,
  a.list-group-item:focus {
    text-decoration: none;
    color: #555;
    background-color: #f5f5f5; }

.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed; }
  .list-group-item.disabled .list-group-item-heading,
  .list-group-item.disabled:hover .list-group-item-heading,
  .list-group-item.disabled:focus .list-group-item-heading {
    color: inherit; }
  .list-group-item.disabled .list-group-item-text,
  .list-group-item.disabled:hover .list-group-item-text,
  .list-group-item.disabled:focus .list-group-item-text {
    color: #777777; }

.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7; }
  .list-group-item.active .list-group-item-heading,
  .list-group-item.active .list-group-item-heading > small,
  .list-group-item.active .list-group-item-heading > .small,
  .list-group-item.active:hover .list-group-item-heading,
  .list-group-item.active:hover .list-group-item-heading > small,
  .list-group-item.active:hover .list-group-item-heading > .small,
  .list-group-item.active:focus .list-group-item-heading,
  .list-group-item.active:focus .list-group-item-heading > small,
  .list-group-item.active:focus .list-group-item-heading > .small {
    color: inherit; }
  .list-group-item.active .list-group-item-text,
  .list-group-item.active:hover .list-group-item-text,
  .list-group-item.active:focus .list-group-item-text {
    color: #c7ddef; }

.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8; }

a.list-group-item-success {
  color: #3c763d; }
  a.list-group-item-success .list-group-item-heading {
    color: inherit; }
  a.list-group-item-success:hover,
  a.list-group-item-success:focus {
    color: #3c763d;
    background-color: #d0e9c6; }
  a.list-group-item-success.active,
  a.list-group-item-success.active:hover,
  a.list-group-item-success.active:focus {
    color: #fff;
    background-color: #3c763d;
    border-color: #3c763d; }

.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7; }

a.list-group-item-info {
  color: #31708f; }
  a.list-group-item-info .list-group-item-heading {
    color: inherit; }
  a.list-group-item-info:hover,
  a.list-group-item-info:focus {
    color: #31708f;
    background-color: #c4e3f3; }
  a.list-group-item-info.active,
  a.list-group-item-info.active:hover,
  a.list-group-item-info.active:focus {
    color: #fff;
    background-color: #31708f;
    border-color: #31708f; }

.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3; }

a.list-group-item-warning {
  color: #8a6d3b; }
  a.list-group-item-warning .list-group-item-heading {
    color: inherit; }
  a.list-group-item-warning:hover,
  a.list-group-item-warning:focus {
    color: #8a6d3b;
    background-color: #faf2cc; }
  a.list-group-item-warning.active,
  a.list-group-item-warning.active:hover,
  a.list-group-item-warning.active:focus {
    color: #fff;
    background-color: #8a6d3b;
    border-color: #8a6d3b; }

.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede; }

a.list-group-item-danger {
  color: #a94442; }
  a.list-group-item-danger .list-group-item-heading {
    color: inherit; }
  a.list-group-item-danger:hover,
  a.list-group-item-danger:focus {
    color: #a94442;
    background-color: #ebcccc; }
  a.list-group-item-danger.active,
  a.list-group-item-danger.active:hover,
  a.list-group-item-danger.active:focus {
    color: #fff;
    background-color: #a94442;
    border-color: #a94442; }

.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px; }

.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3; }

.panel {
  margin-bottom: 22px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }

.panel-body {
  padding: 15px; }
  .panel-body:before,
  .panel-body:after {
    content: " ";
    display: table; }
  .panel-body:after {
    clear: both; }

.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px; }
  .panel-heading > .dropdown .dropdown-toggle {
    color: inherit; }

.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  color: inherit; }
  .panel-title > a,
  .panel-title > small,
  .panel-title > .small,
  .panel-title > small > a,
  .panel-title > .small > a {
    color: inherit; }

.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px; }

.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0; }
  .panel > .list-group .list-group-item,
  .panel > .panel-collapse > .list-group .list-group-item {
    border-width: 1px 0;
    border-radius: 0; }
  .panel > .list-group:first-child .list-group-item:first-child,
  .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
    border-top: 0;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px; }
  .panel > .list-group:last-child .list-group-item:last-child,
  .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
    border-bottom: 0;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px; }

.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0; }

.list-group + .panel-footer {
  border-top-width: 0; }

.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0; }
  .panel > .table caption,
  .panel > .table-responsive > .table caption,
  .panel > .panel-collapse > .table caption {
    padding-left: 15px;
    padding-right: 15px; }

.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px; }
  .panel > .table:first-child > thead:first-child > tr:first-child,
  .panel > .table:first-child > tbody:first-child > tr:first-child,
  .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
  .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px; }
    .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
    .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
      border-top-left-radius: 3px; }
    .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
    .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
      border-top-right-radius: 3px; }

.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px; }
  .panel > .table:last-child > tbody:last-child > tr:last-child,
  .panel > .table:last-child > tfoot:last-child > tr:last-child,
  .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
  .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px; }
    .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
    .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
      border-bottom-left-radius: 3px; }
    .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
    .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
      border-bottom-right-radius: 3px; }

.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd; }

.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0; }

.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0; }
  .panel > .table-bordered > thead > tr > th:first-child,
  .panel > .table-bordered > thead > tr > td:first-child,
  .panel > .table-bordered > tbody > tr > th:first-child,
  .panel > .table-bordered > tbody > tr > td:first-child,
  .panel > .table-bordered > tfoot > tr > th:first-child,
  .panel > .table-bordered > tfoot > tr > td:first-child,
  .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
  .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0; }
  .panel > .table-bordered > thead > tr > th:last-child,
  .panel > .table-bordered > thead > tr > td:last-child,
  .panel > .table-bordered > tbody > tr > th:last-child,
  .panel > .table-bordered > tbody > tr > td:last-child,
  .panel > .table-bordered > tfoot > tr > th:last-child,
  .panel > .table-bordered > tfoot > tr > td:last-child,
  .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
  .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0; }
  .panel > .table-bordered > thead > tr:first-child > td,
  .panel > .table-bordered > thead > tr:first-child > th,
  .panel > .table-bordered > tbody > tr:first-child > td,
  .panel > .table-bordered > tbody > tr:first-child > th,
  .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
  .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
  .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
  .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
    border-bottom: 0; }
  .panel > .table-bordered > tbody > tr:last-child > td,
  .panel > .table-bordered > tbody > tr:last-child > th,
  .panel > .table-bordered > tfoot > tr:last-child > td,
  .panel > .table-bordered > tfoot > tr:last-child > th,
  .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
  .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
    border-bottom: 0; }

.panel > .table-responsive {
  border: 0;
  margin-bottom: 0; }

.panel-group {
  margin-bottom: 22px; }
  .panel-group .panel {
    margin-bottom: 0;
    border-radius: 4px; }
    .panel-group .panel + .panel {
      margin-top: 5px; }
  .panel-group .panel-heading {
    border-bottom: 0; }
    .panel-group .panel-heading + .panel-collapse > .panel-body,
    .panel-group .panel-heading + .panel-collapse > .list-group {
      border-top: 1px solid #ddd; }
  .panel-group .panel-footer {
    border-top: 0; }
    .panel-group .panel-footer + .panel-collapse .panel-body {
      border-bottom: 1px solid #ddd; }

.panel-default {
  border-color: #ddd; }
  .panel-default > .panel-heading {
    color: #333333;
    background-color: #f5f5f5;
    border-color: #ddd; }
    .panel-default > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #ddd; }
    .panel-default > .panel-heading .badge {
      color: #f5f5f5;
      background-color: #333333; }
  .panel-default > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #ddd; }

.panel-primary {
  border-color: #337ab7; }
  .panel-primary > .panel-heading {
    color: #fff;
    background-color: #337ab7;
    border-color: #337ab7; }
    .panel-primary > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #337ab7; }
    .panel-primary > .panel-heading .badge {
      color: #337ab7;
      background-color: #fff; }
  .panel-primary > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #337ab7; }

.panel-success {
  border-color: #d6e9c6; }
  .panel-success > .panel-heading {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6; }
    .panel-success > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #d6e9c6; }
    .panel-success > .panel-heading .badge {
      color: #dff0d8;
      background-color: #3c763d; }
  .panel-success > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #d6e9c6; }

.panel-info {
  border-color: #bce8f1; }
  .panel-info > .panel-heading {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1; }
    .panel-info > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #bce8f1; }
    .panel-info > .panel-heading .badge {
      color: #d9edf7;
      background-color: #31708f; }
  .panel-info > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #bce8f1; }

.panel-warning {
  border-color: #faebcc; }
  .panel-warning > .panel-heading {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc; }
    .panel-warning > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #faebcc; }
    .panel-warning > .panel-heading .badge {
      color: #fcf8e3;
      background-color: #8a6d3b; }
  .panel-warning > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #faebcc; }

.panel-danger {
  border-color: #ebccd1; }
  .panel-danger > .panel-heading {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1; }
    .panel-danger > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #ebccd1; }
    .panel-danger > .panel-heading .badge {
      color: #f2dede;
      background-color: #a94442; }
  .panel-danger > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #ebccd1; }

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    border: 0; }

.embed-responsive-16by9 {
  padding-bottom: 56.25%; }

.embed-responsive-4by3 {
  padding-bottom: 75%; }

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }
  .well blockquote {
    border-color: #ddd;
    border-color: rgba(0, 0, 0, 0.15); }

.well-lg {
  padding: 24px;
  border-radius: 6px; }

.well-sm {
  padding: 9px;
  border-radius: 3px; }

.close {
  float: right;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20); }
  .close:hover,
  .close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: 0.5;
    filter: alpha(opacity=50); }

button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none; }

.modal-open {
  overflow: hidden; }

.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0; }
  .modal.fade .modal-dialog {
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    transform: translate(0, -25%);
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: transform 0.3s ease-out; }
  .modal.in .modal-dialog {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0); }

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px; }

.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0; }

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000; }
  .modal-backdrop.fade {
    opacity: 0;
    filter: alpha(opacity=0); }
  .modal-backdrop.in {
    opacity: 0.5;
    filter: alpha(opacity=50); }

.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
  min-height: 16.42857px; }

.modal-header .close {
  margin-top: -2px; }

.modal-title {
  margin: 0;
  line-height: 1.42857; }

.modal-body {
  position: relative;
  padding: 15px; }

.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5; }
  .modal-footer:before,
  .modal-footer:after {
    content: " ";
    display: table; }
  .modal-footer:after {
    clear: both; }
  .modal-footer .btn + .btn {
    margin-left: 5px;
    margin-bottom: 0; }
  .modal-footer .btn-group .btn + .btn {
    margin-left: -1px; }
  .modal-footer .btn-block + .btn-block {
    margin-left: 0; }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto; }
  .modal-content {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); }
  .modal-sm {
    width: 300px; } }

@media (min-width: 992px) {
  .modal-lg {
    width: 900px; } }

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica", Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.4;
  opacity: 0;
  filter: alpha(opacity=0); }
  .tooltip.in {
    opacity: 0.9;
    filter: alpha(opacity=90); }
  .tooltip.top {
    margin-top: -3px;
    padding: 5px 0; }
  .tooltip.right {
    margin-left: 3px;
    padding: 0 5px; }
  .tooltip.bottom {
    margin-top: 3px;
    padding: 5px 0; }
  .tooltip.left {
    margin-left: -3px;
    padding: 0 5px; }

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: left;
  text-decoration: none;
  background-color: #000;
  border-radius: 4px;
  white-space: pre-wrap; }

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid; }

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000; }

.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000; }

.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000; }

.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000; }

.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000; }

.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000; }

.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000; }

.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica", Arial, sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.42857;
  text-align: left;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  white-space: normal; }
  .popover.top {
    margin-top: -10px; }
  .popover.right {
    margin-left: 10px; }
  .popover.bottom {
    margin-top: 10px; }
  .popover.left {
    margin-left: -10px; }

.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 16px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 5px 5px 0 0; }

.popover-content {
  padding: 9px 14px; }

.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid; }

.popover > .arrow {
  border-width: 11px; }

.popover > .arrow:after {
  border-width: 10px;
  content: ""; }

.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px; }
  .popover.top > .arrow:after {
    content: " ";
    bottom: 1px;
    margin-left: -10px;
    border-bottom-width: 0;
    border-top-color: #fff; }

.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25); }
  .popover.right > .arrow:after {
    content: " ";
    left: 1px;
    bottom: -10px;
    border-left-width: 0;
    border-right-color: #fff; }

.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px; }
  .popover.bottom > .arrow:after {
    content: " ";
    top: 1px;
    margin-left: -10px;
    border-top-width: 0;
    border-bottom-color: #fff; }

.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25); }
  .popover.left > .arrow:after {
    content: " ";
    right: 1px;
    border-right-width: 0;
    border-left-color: #fff;
    bottom: -10px; }

.carousel {
  position: relative; }

.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%; }
  .carousel-inner > .item {
    display: none;
    position: relative;
    -webkit-transition: 0.6s ease-in-out left;
    transition: 0.6s ease-in-out left; }
    .carousel-inner > .item > img,
    .carousel-inner > .item > a > img {
      display: block;
      max-width: 100%;
      height: auto;
      line-height: 1; }
    @media all and (transform-3d), (-webkit-transform-3d) {
      .carousel-inner > .item {
        -webkit-transition: -webkit-transform 0.6s ease-in-out;
        transition: transform 0.6s ease-in-out;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-perspective: 1000;
        perspective: 1000; }
        .carousel-inner > .item.next,
        .carousel-inner > .item.active.right {
          -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
          left: 0; }
        .carousel-inner > .item.prev,
        .carousel-inner > .item.active.left {
          -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
          left: 0; }
        .carousel-inner > .item.next.left,
        .carousel-inner > .item.prev.right,
        .carousel-inner > .item.active {
          -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
          left: 0; } }
  .carousel-inner > .active,
  .carousel-inner > .next,
  .carousel-inner > .prev {
    display: block; }
  .carousel-inner > .active {
    left: 0; }
  .carousel-inner > .next,
  .carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%; }
  .carousel-inner > .next {
    left: 100%; }
  .carousel-inner > .prev {
    left: -100%; }
  .carousel-inner > .next.left,
  .carousel-inner > .prev.right {
    left: 0; }
  .carousel-inner > .active.left {
    left: -100%; }
  .carousel-inner > .active.right {
    left: 100%; }

.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
  .carousel-control.left {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }
  .carousel-control.right {
    left: auto;
    right: 0;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }
  .carousel-control:hover,
  .carousel-control:focus {
    outline: 0;
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
    filter: alpha(opacity=90); }
  .carousel-control .icon-prev,
  .carousel-control .icon-next,
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block; }
  .carousel-control .icon-prev,
  .carousel-control .glyphicon-chevron-left {
    left: 50%;
    margin-left: -10px; }
  .carousel-control .icon-next,
  .carousel-control .glyphicon-chevron-right {
    right: 50%;
    margin-right: -10px; }
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 20px;
    height: 20px;
    margin-top: -10px;
    line-height: 1;
    font-family: serif; }
  .carousel-control .icon-prev:before {
    content: '\2039'; }
  .carousel-control .icon-next:before {
    content: '\203a'; }

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center; }
  .carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    border: 1px solid #fff;
    border-radius: 10px;
    cursor: pointer;
    background-color: #000 \9;
    background-color: transparent; }
  .carousel-indicators .active {
    margin: 0;
    width: 12px;
    height: 12px;
    background-color: #fff; }

.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
  .carousel-caption .btn {
    text-shadow: none; }

@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-size: 30px; }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -15px; }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -15px; }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px; }
  .carousel-indicators {
    bottom: 20px; } }

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

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

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

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

.hide {
  display: none !important; }

.show {
  display: block !important; }

.invisible {
  visibility: hidden; }

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

.hidden {
  display: none !important; }

.affix {
  position: fixed; }

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

.visible-xs {
  display: none !important; }

.visible-sm {
  display: none !important; }

.visible-md {
  display: none !important; }

.visible-lg {
  display: none !important; }

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important; }

@media (max-width: 767px) {
  .visible-xs {
    display: block !important; }
  table.visible-xs {
    display: table; }
  tr.visible-xs {
    display: table-row !important; }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important; } }

@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important; } }

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important; } }

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important; }
  table.visible-sm {
    display: table; }
  tr.visible-sm {
    display: table-row !important; }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important; } }

@media (min-width: 992px) and (max-width: 1259px) {
  .visible-md {
    display: block !important; }
  table.visible-md {
    display: table; }
  tr.visible-md {
    display: table-row !important; }
  th.visible-md,
  td.visible-md {
    display: table-cell !important; } }

@media (min-width: 992px) and (max-width: 1259px) {
  .visible-md-block {
    display: block !important; } }

@media (min-width: 992px) and (max-width: 1259px) {
  .visible-md-inline {
    display: inline !important; } }

@media (min-width: 992px) and (max-width: 1259px) {
  .visible-md-inline-block {
    display: inline-block !important; } }

@media (min-width: 1260px) {
  .visible-lg {
    display: block !important; }
  table.visible-lg {
    display: table; }
  tr.visible-lg {
    display: table-row !important; }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important; } }

@media (min-width: 1260px) {
  .visible-lg-block {
    display: block !important; } }

@media (min-width: 1260px) {
  .visible-lg-inline {
    display: inline !important; } }

@media (min-width: 1260px) {
  .visible-lg-inline-block {
    display: inline-block !important; } }

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important; } }

@media (min-width: 992px) and (max-width: 1259px) {
  .hidden-md {
    display: none !important; } }

@media (min-width: 1260px) {
  .hidden-lg {
    display: none !important; } }

.visible-print {
  display: none !important; }

@media print {
  .visible-print {
    display: block !important; }
  table.visible-print {
    display: table; }
  tr.visible-print {
    display: table-row !important; }
  th.visible-print,
  td.visible-print {
    display: table-cell !important; } }

.visible-print-block {
  display: none !important; }
  @media print {
    .visible-print-block {
      display: block !important; } }

.visible-print-inline {
  display: none !important; }
  @media print {
    .visible-print-inline {
      display: inline !important; } }

.visible-print-inline-block {
  display: none !important; }
  @media print {
    .visible-print-inline-block {
      display: inline-block !important; } }

@media print {
  .hidden-print {
    display: none !important; } }

.dk-select, .dk-select-multi {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  line-height: 1.5em;
  width: 200px;
  cursor: pointer; }

.dk-selected:before, .dk-selected:after {
  content: '';
  display: block;
  position: absolute;
  right: 0; }

.dk-select {
  box-sizing: border-box; }
  .dk-select * {
    box-sizing: border-box; }
    .dk-select *:before {
      box-sizing: border-box; }
    .dk-select *:after {
      box-sizing: border-box; }
  .dk-select .dk-select-options {
    position: absolute;
    display: none;
    left: 0;
    right: 0; }

.dk-select-multi {
  box-sizing: border-box; }
  .dk-select-multi * {
    box-sizing: border-box; }
    .dk-select-multi *:before {
      box-sizing: border-box; }
    .dk-select-multi *:after {
      box-sizing: border-box; }
  .dk-select-multi .dk-select-options {
    max-height: 10em; }
  .dk-select-multi:focus {
    outline: none; }
    .dk-select-multi:focus .dk-select-options {
      display: block;
      border-color: #3297fd; }
  .dk-select-multi:hover {
    outline: none; }

.dk-selected {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  background-color: #000000;
  border: 1px solid #cccccc;
  border-radius: 0.4em;
  padding: 0 1.5em 0 0.5em;
  text-overflow: ellipsis; }
  .dk-selected:before {
    top: 50%;
    border: solid transparent;
    border-width: 0.25em 0.25em 0;
    border-top-color: #cccccc;
    margin: -0.125em 0.5em 0 0;
    width: 6px; }
  .dk-selected:after {
    top: 0;
    height: 100%;
    border-left: 1px solid #cccccc;
    margin: 0 1.5em 0 0; }
  .dk-selected:hover {
    outline: none;
    border-color: #3297fd; }
    .dk-selected:hover:before {
      border-top-color: #3297fd; }
    .dk-selected:hover:after {
      border-left-color: #3297fd; }
  .dk-selected:focus {
    outline: none;
    border-color: #3297fd; }
    .dk-selected:focus:before {
      border-top-color: #3297fd; }
    .dk-selected:focus:after {
      border-left-color: #3297fd; }

.dk-selected-disabled {
  color: #bbbbbb; }

.dk-select-open-up .dk-select-options {
  border-radius: 0.4em 0.4em 0 0;
  margin-bottom: -1px;
  bottom: 100%;
  display: block;
  border-color: #3297fd; }

.dk-select-open-up .dk-selected {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-color: #3297fd; }
  .dk-select-open-up .dk-selected:before {
    border-width: 0 0.25em 0.25em;
    border-bottom-color: #3297fd; }
  .dk-select-open-up .dk-selected:after {
    border-left-color: #3297fd; }

.dk-select-open-down .dk-select-options {
  border-radius: 0 0 0.4em 0.4em;
  margin-top: -1px;
  top: 100%;
  display: block;
  border-color: #3297fd; }

.dk-select-open-down .dk-selected {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-color: #3297fd; }
  .dk-select-open-down .dk-selected:before {
    border-width: 0 0.25em 0.25em;
    border-bottom-color: #3297fd; }
  .dk-select-open-down .dk-selected:after {
    border-left-color: #3297fd; }

.dk-select-options {
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 0.4em;
  list-style: none;
  margin: 0;
  max-height: 10.5em;
  min-width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0.25em 0;
  width: auto;
  z-index: 100; }
  .dk-select-options .dk-option-highlight {
    background-color: #3297fd;
    color: #ffffff; }
  .dk-select-options .dk-option-disabled {
    color: #bbbbbb;
    background-color: transparent; }

.dk-option-selected {
  background-color: #3297fd;
  color: #ffffff; }

.dk-option {
  padding: 0 0.5em; }

.dk-optgroup {
  border: solid #cccccc;
  border-width: 1px 0;
  padding: 0.25em 0;
  margin-top: 0.25em; }
  .dk-optgroup + .dk-option {
    margin-top: 0.25em; }
  .dk-optgroup + .dk-optgroup {
    border-top-width: 0;
    margin-top: 0; }
  .dk-optgroup:nth-child(2) {
    padding-top: 0;
    border-top: none;
    margin-top: 0; }
  .dk-optgroup:last-child {
    border-bottom-width: 0;
    margin-bottom: 0;
    padding-bottom: 0; }

.dk-optgroup-label {
  padding: 0 0.5em 0.25em;
  font-weight: bold;
  width: 100%; }

.dk-optgroup-options {
  list-style: none;
  padding-left: 0; }
  .dk-optgroup-options li {
    padding-left: 1.2em; }

.dk-select-disabled {
  opacity: 0.6;
  color: #bbbbbb;
  cursor: not-allowed; }
  .dk-select-disabled .dk-selected:hover {
    border-color: inherit; }
    .dk-select-disabled .dk-selected:hover:before {
      border-top-color: inherit; }
    .dk-select-disabled .dk-selected:hover:after {
      border-left-color: inherit; }
  .dk-select-disabled .dk-selected:focus {
    border-color: inherit; }
    .dk-select-disabled .dk-selected:focus:before {
      border-top-color: inherit; }
    .dk-select-disabled .dk-selected:focus:after {
      border-left-color: inherit; }

select[data-dkcacheid] {
  display: none; }

.dk-select-options-highlight .dk-option-selected {
  background-color: transparent;
  color: inherit; }

.footer-select .dk-select {
  width: auto; }

.footer-select .dk-selected {
  background: #555555;
  border-radius: 0;
  border: none;
  padding: 10px 50px 10px 15px; }
  .footer-select .dk-selected:before {
    top: 44%;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid #ffffff;
    margin: 0px 10px 0 0; }
  .footer-select .dk-selected:after {
    border: none; }

.footer-select .dk-select-open-down .dk-selected,
.footer-select .dk-select-open-up .dk-selected {
  background: #555555; }

.footer-select .dk-select-open-down .dk-select-options,
.footer-select .dk-select-open-up .dk-select-options {
  background: #555555;
  border-radius: 0;
  border: none; }

.footer-select .dk-select-open-down .dk-selected:before,
.footer-select .dk-select-open-up .dk-selected:before {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 6px solid #ffffff;
  border-top: none; }

.footer-select .dk-select-open-down .dk-selected:after,
.footer-select .dk-select-open-up .dk-selected:after {
  border: none; }

.footer-select .dk-select-options {
  padding: 0; }
  .footer-select .dk-select-options .dk-option-highlight {
    color: #ffffff;
    background: #000000; }

.footer-select .dk-option {
  padding: 10px; }

.footer-select .dk-option-selected {
  color: #ffffff;
  background: #000000; }

/*
 *  Core Owl Carousel CSS File
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y; }

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px); }

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

.owl-carousel .owl-item img {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  -webkit-transform-style: preserve-3d; }

.owl-carousel .owl-nav.disabled, .owl-carousel .owl-dots.disabled {
  display: none; }

.owl-carousel .owl-nav .owl-prev, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-dot {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-loaded {
  display: block; }

.owl-carousel.owl-loading {
  opacity: 0;
  display: block; }

.owl-carousel.owl-hidden {
  opacity: 0; }

.owl-carousel.owl-refresh .owl-item {
  display: none; }

.owl-carousel.owl-drag .owl-item {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
   * 	Default theme - Owl Carousel CSS File
   */
.owl-theme .owl-nav {
  margin-top: 10px;
  text-align: center;
  -webkit-tap-highlight-color: transparent; }

.owl-theme .owl-nav [class*='owl-'] {
  color: #FFF;
  font-size: 14px;
  margin: 5px;
  padding: 4px 7px;
  background: #D6D6D6;
  display: inline-block;
  cursor: pointer;
  border-radius: 3px; }

.owl-theme .owl-nav [class*='owl-']:hover {
  background: #869791;
  color: #FFF;
  text-decoration: none; }

.owl-theme .owl-nav .disabled {
  opacity: 0.5;
  cursor: default; }

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px; }

.owl-theme .owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent; }

.owl-theme .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1;
  *display: inline; }

.owl-theme .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 5px 7px;
  background: #D6D6D6;
  display: block;
  -webkit-backface-visibility: visible;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
  border-radius: 30px; }

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: #869791; }

html.home, body.home {
  margin: 0;
  padding: 0; }

#pp-nav li, .pp-slidesNav li {
  display: block;
  width: 14px;
  height: 13px;
  margin: 7px;
  position: relative; }

#pp-nav li a, .pp-slidesNav li a {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  cursor: pointer;
  text-decoration: none; }

#pp-nav span, .pp-slidesNav span {
  top: 2px;
  left: 2px;
  width: 8px;
  height: 8px;
  border: 1px solid #000;
  background: transparent;
  border-radius: 50%;
  position: absolute;
  z-index: 1; }

.pp-section {
  height: 100%;
  position: absolute;
  width: 100%; }
  .pp-section.pp-table {
    display: table; }

.pp-easing {
  -webkit-transition: all 1000ms cubic-bezier(0.55, 0.085, 0, 0.99);
          transition: all 1000ms cubic-bezier(0.55, 0.085, 0, 0.99);
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0, 0.99);
          transition-timing-function: cubic-bezier(0.55, 0.085, 0, 0.99); }

#pp-nav {
  position: fixed;
  z-index: 100;
  margin-top: -32px;
  top: 50%;
  opacity: 1; }
  #pp-nav.right {
    right: 17px; }
  #pp-nav.left {
    left: 17px; }
  #pp-nav ul {
    margin: 0;
    padding: 0; }
  #pp-nav li .active span {
    border-color: #dcfd00 !important;
    background: #dcfd00; }
  #pp-nav.hide {
    display: none; }

.pp-tableCell {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  height: 100%; }

.pp-slidesNav {
  position: absolute;
  z-index: 4;
  left: 50%;
  opacity: 1; }
  .pp-slidesNav.bottom {
    bottom: 17px; }
  .pp-slidesNav.top {
    top: 17px; }
  .pp-slidesNav ul {
    margin: 0;
    padding: 0; }
  .pp-slidesNav li {
    display: inline-block; }
  .pp-slidesNav .active span {
    background: #dbfd01; }

.pp-tooltip {
  position: absolute;
  top: -2px;
  color: #fff;
  font-size: 14px;
  font-family: arial, helvetica, sans-serif;
  white-space: nowrap;
  max-width: 220px; }
  .pp-tooltip.right {
    right: 20px; }
  .pp-tooltip.left {
    left: 20px; }

.pp-scrollable {
  overflow-y: scroll;
  height: 100%; }

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2015 Daniel Eden
*/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

.animated.flipOutX,
.animated.flipOutY {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

@keyframes bounce {
  from, 20%, 53%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
      transform-origin: center bottom; }

@-webkit-keyframes flash {
  from, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

@keyframes flash {
  from, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shake {
  from, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shake {
  from, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
      transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  100% {
    -webkit-transform: none;
    transform: none; } }

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  100% {
    -webkit-transform: none;
    transform: none; } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from, 11.1%, 100% {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from, 11.1%, 100% {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
      transform-origin: center; }

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  100% {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInDown {
  from, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  100% {
    -webkit-transform: none;
    transform: none; } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  100% {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  100% {
    -webkit-transform: none;
    transform: none; } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  100% {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInRight {
  from, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  100% {
    -webkit-transform: none;
    transform: none; } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  100% {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  100% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  100% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  100% {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  100% {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  100% {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  100% {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp; }

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zY3NzL19ub3JtYWxpemUuc2NzcyIsImxpYi9zY3NzL19ib290c3RyYXAtdmFyaWFibGVzLWN1c3RvbS5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbm9ybWFsaXplLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wcmludC5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZ2x5cGhpY29ucy5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fc2NhZmZvbGRpbmcuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL192ZW5kb3ItcHJlZml4ZXMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL190YWItZm9jdXMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19pbWFnZS5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdHlwZS5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RleHQtb3ZlcmZsb3cuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2NvZGUuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2dyaWQuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmlkLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3RhYmxlcy5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZm9ybXMuc2NzcyIsImxpYi9zY3NzL192YXJpYWJsZXMtbG9naXRlY2guc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19mb3Jtcy5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fYnV0dG9ucy5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19vcGFjaXR5LnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19jb21wb25lbnQtYW5pbWF0aW9ucy5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZHJvcGRvd25zLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNldC1maWx0ZXIuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2J1dHRvbi1ncm91cHMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19pbnB1dC1ncm91cHMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX25hdnMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX25hdmJhci5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fYnJlYWRjcnVtYnMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3BhZ2luYXRpb24uc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wYWdlci5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbGFiZWxzLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbGFiZWxzLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19iYWRnZXMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2p1bWJvdHJvbi5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdGh1bWJuYWlscy5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fYWxlcnRzLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fYWxlcnRzLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wcm9ncmVzcy1iYXJzLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19tZWRpYS5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbGlzdC1ncm91cC5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3BhbmVscy5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fd2VsbHMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2Nsb3NlLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19tb2RhbHMuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Rvb2x0aXAuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3BvcG92ZXJzLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19jYXJvdXNlbC5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdXRpbGl0aWVzLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fY2VudGVyLWJsb2NrLnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9faGlkZS10ZXh0LnNjc3MiLCJ2ZW5kb3IvYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19yZXNwb25zaXZlLXV0aWxpdGllcy5zY3NzIiwidmVuZG9yL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc3BvbnNpdmUtdmlzaWJpbGl0eS5zY3NzIiwibGliL3Njc3MvZWxlbWVudHMvX2Ryb3BraWNrLnNjc3MiLCJsaWIvc2Nzcy9fb3dsLWNhcm91c2VsLnNjc3MiLCJsaWIvc2Nzcy9fcGFnZS1waWxpbmcuc2NzcyIsInZlbmRvci9ib3dlcl9jb21wb25lbnRzL2FuaW1hdGUuY3NzL2FuaW1hdGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztnRkFFZ0Y7QUFDaEY7Ozs7R0FJRztBQUlIO2dGQUNnRjtBQUVoRjs7Ozs7O0dBTUc7QUFFSCxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsVUFBVztFQUFFLE9BQU87RUFDakMsb0JBQW9CLEVBQUUsSUFBSztFQUFFLE9BQU87RUFDcEMsd0JBQXdCLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFIcEM7O0FBU047O0dBRUc7QUFFSCxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBRSxHQUROOztBQUlOO2dGQUNnRjtBQUVoRjs7Ozs7R0FLRztBQWNILE9BQU87QUFDUCxLQUFLO0FBQ0wsT0FBTztBQUNQLFVBQVU7QUFDVixNQUFNO0FBQ04sTUFBTTtBQUNOLE1BQU07QUFDTixNQUFNO0FBQ04sSUFBSTtBQUNKLElBQUk7QUFDSixHQUFHO0FBQ0gsT0FBTztBQUNQLE9BQU8sQ0FaQztFQUNOLE9BQU8sRUFBRSxLQUFNLEdBRFI7O0FBSVQ7OztHQUdHO0FBS0gsS0FBSztBQUNMLE1BQU07QUFDTixRQUFRO0FBQ1IsS0FBSyxDQUhDO0VBQ0osT0FBTyxFQUFFLFlBQWE7RUFBRSxPQUFPO0VBQy9CLGNBQWMsRUFBRSxRQUFTO0VBQUUsT0FBTyxFQUY3Qjs7QUFTUDs7O0dBR0c7QUFFaUIsS0FBSyxLQUFLLENBQUEsUUFBQyxHQUFUO0VBQ3BCLE9BQU8sRUFBRSxJQUFLO0VBQ2QsTUFBTSxFQUFFLENBQUUsR0FGVzs7QUFLdkI7OztHQUdHO0NBR0gsTUFBQztBQUNELFFBQVEsQ0FEQztFQUNQLE9BQU8sRUFBRSxJQUFLLEdBRE47O0FBSVY7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUgsQ0FBQyxDQUFDO0VBQ0EsZ0JBQWdCLEVBQUUsV0FBWSxHQUQ3Qjs7QUFJSDs7R0FFRztBQUdVLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFWO0VBQ2hCLE9BQU8sRUFBRSxDQUFFLEdBRE07O0FBS3JCO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVPLElBQUksQ0FBQSxLQUFDLEVBQUg7RUFDVixhQUFhLEVBQUUsVUFBVyxHQURmOztBQUliOztHQUVHO0FBR0gsQ0FBQztBQUNELE1BQU0sQ0FEQztFQUNMLFdBQVcsRUFBRSxJQUFLLEdBRFo7O0FBVVI7O0dBRUc7QUFFSCxHQUFHLENBQUM7RUFDRixVQUFVLEVBQUUsTUFBTyxHQURoQjs7QUFJTDs7O0dBR0c7QUFFSCxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsR0FBSTtFQUNmLE1BQU0sRUFBRSxRQUFTLEdBRmY7O0FBZ0NKOztHQUVHO0FBRUgsSUFBSSxDQUFDO0VBQ0gsVUFBVSxFQUFFLElBQUs7RUFDakIsS0FBSyxFQUFFLElBQUssR0FGUjs7QUFtQ047O0dBRUc7QUFFSCxLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsR0FBSSxHQURWOztBQUlQOztHQUVHO0FBSUgsR0FBRztBQUNILEdBQUcsQ0FEQztFQUNGLFNBQVMsRUFBRSxHQUFJO0VBQ2YsV0FBVyxFQUFFLENBQUU7RUFDZixRQUFRLEVBQUUsUUFBUztFQUNuQixjQUFjLEVBQUUsUUFBUyxHQUp0Qjs7QUFPTCxHQUFHLENBQUM7RUFDRixHQUFHLEVBQUUsTUFBTztFQUNaLFNBQVMsRUFBRSxHQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUk7RUFDakIsY0FBYyxFQUFFLEdBQUksR0FKakI7O0FBT0wsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLE9BQVEsR0FEYjs7QUErQ0w7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEdBQUcsQ0FBQztFQUNGLE1BQU0sRUFBRSxDQUFFLEdBRFA7O0FBT0w7O0dBRUc7QUFFVSxHQUFHLEtBQUssS0FBSyxFQUFYO0VBQ2IsUUFBUSxFQUFFLE1BQU8sR0FESDs7QUFJaEI7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUgsTUFBTSxDQUFDO0VBQ0wsTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBRFY7O0FBSVI7O0dBRUc7QUFFSCxFQUFFLENBQUM7RUFDRCxlQUFlLEVBQUUsV0FBWTtFQUM3QixVQUFVLEVBQUUsV0FBWTtFQUN4QixNQUFNLEVBQUUsQ0FBRSxHQUhSOztBQU1KOztHQUVHO0FBRUgsR0FBRyxDQUFDO0VBQ0YsUUFBUSxFQUFFLElBQUssR0FEWjs7QUFJTDs7O0dBR0c7QUFLSCxJQUFJO0FBQ0osR0FBRztBQUNILEdBQUc7QUFDSCxJQUFJLENBSEM7RUFDSCxXQUFXLEVBQUUsb0JBQXFCO0VBSWxDLFNBQVMsRUFBRSxHQUFJLEdBTFg7O0FBUU47Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIOzs7Ozs7R0FNRztBQU1ILE1BQU07QUFDTixLQUFLO0FBQ0wsUUFBUTtBQUNSLE1BQU07QUFDTixRQUFRLENBSkM7RUFDUCxLQUFLLEVBQUUsT0FBUTtFQUFFLE9BQU87RUFDeEIsSUFBSSxFQUFFLE9BQVE7RUFBRSxPQUFPO0VBQ3ZCLE1BQU0sRUFBRSxDQUFFO0VBQUUsT0FBTyxFQUhYOztBQVVWOztHQUVHO0FBRUgsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLE9BQVEsR0FEWjs7QUFJUjs7Ozs7R0FLRztBQUdILE1BQU07QUFDTixNQUFNLENBREM7RUFDTCxjQUFjLEVBQUUsSUFBSyxHQURmOztBQUlSOzs7Ozs7OztHQVFHO0FBS2dCLE1BQU07QUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVk7QUFDN0MsS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsRUFGRTtFQUNuQixrQkFBa0IsRUFBRSxNQUFPO0VBQUUsT0FBTztFQUNwQyxNQUFNLEVBQUUsT0FBUTtFQUFFLE9BQU8sRUFGTDs7QUFRdEI7O0dBRUc7QUFHZ0IsTUFBTSxDQUFBLFFBQUM7QUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQSxRQUFDLEVBRFU7RUFDbkIsTUFBTSxFQUFFLE9BQVEsR0FESTs7QUFJdEI7O0dBRUc7QUFHRSxNQUFNLGtCQUFrQjtBQUM3QixLQUFLLGtCQUFrQixDQURDO0VBQ3RCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsT0FBTyxFQUFFLENBQUUsR0FGWTs7QUFLekI7OztHQUdHO0FBRUgsS0FBSyxDQUFDO0VBQ0osV0FBVyxFQUFFLE1BQU8sR0FEZjs7QUFJUDs7OztHQUlHO0FBR2UsS0FBSyxDQUFBLElBQUMsQ0FBSyxVQUFMLEFBQWU7QUFDdkMsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksRUFERTtFQUNsQixVQUFVLEVBQUUsVUFBVztFQUFFLE9BQU87RUFDaEMsT0FBTyxFQUFFLENBQUU7RUFBRSxPQUFPLEVBRkQ7O0FBU3JCOzs7O0dBSUc7QUFHaUIsS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsQ0FBQywyQkFBMkI7QUFDbkUsS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsQ0FBQywyQkFBMkIsQ0FEQztFQUM5QyxNQUFNLEVBQUUsSUFBSyxHQURrQzs7QUFJakQ7Ozs7R0FJRztBQUVnQixLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxFQUFqQjtFQUNuQixrQkFBa0IsRUFBRSxTQUFVO0VBQUUsT0FBTztFQUN2QyxlQUFlLEVBQUUsV0FBWTtFQUM3QixrQkFBa0IsRUFBRSxXQUFZO0VBQUUsT0FBTztFQUN6QyxVQUFVLEVBQUUsV0FBWSxHQUpKOztBQU90Qjs7OztHQUlHO0FBR2lCLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsOEJBQThCO0FBQ3RFLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsMkJBQTJCLENBREM7RUFDOUMsa0JBQWtCLEVBQUUsSUFBSyxHQURzQjs7QUFJakQ7O0dBRUc7QUFFSCxRQUFRLENBQUM7RUFDUCxNQUFNLEVBQUUsaUJBQWtCO0VBQzFCLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRztFQUNiLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FIdEI7O0FBTVY7Ozs7O0dBS0c7QUFFSCxNQUFNLENBQUM7RUFDTCxNQUFNLEVBQUUsQ0FBRTtFQUFFLE9BQU87RUFDbkIsT0FBTyxFQUFFLENBQUU7RUFBRSxPQUFPLEVBRmQ7O0FBU1I7O0dBRUc7QUFFSCxRQUFRLENBQUM7RUFDUCxRQUFRLEVBQUUsSUFBSyxHQURQOztBQUlWOzs7R0FHRztBQUVILFFBQVEsQ0FBQztFQUNQLFdBQVcsRUFBRSxJQUFLLEdBRFY7O0FBSVY7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUgsS0FBSyxDQUFDO0VBQ0osZUFBZSxFQUFFLFFBQVM7RUFDMUIsY0FBYyxFQUFFLENBQUUsR0FGYjs7QUFNUCxFQUFFO0FBQ0YsRUFBRSxDQURDO0VBQ0QsT0FBTyxFQUFFLENBQUUsR0FEVDs7QUN0a0JKOzs7O0dBSUc7QUNKSCw0REFBNEQ7QUFRNUQsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLFVBQVc7RUFDeEIsb0JBQW9CLEVBQUUsSUFBSztFQUMzQix3QkFBd0IsRUFBRSxJQUFLLEdBSDNCOztBQVVOLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFFLEdBRE47O0FBMEJOLE9BQU87QUFDUCxLQUFLO0FBQ0wsT0FBTztBQUNQLFVBQVU7QUFDVixNQUFNO0FBQ04sTUFBTTtBQUNOLE1BQU07QUFDTixNQUFNO0FBQ04sSUFBSTtBQUNKLElBQUk7QUFDSixHQUFHO0FBQ0gsT0FBTztBQUNQLE9BQU8sQ0FaQztFQUNOLE9BQU8sRUFBRSxLQUFNLEdBRFI7O0FBWVQsS0FBSztBQUNMLE1BQU07QUFDTixRQUFRO0FBQ1IsS0FBSyxDQUhDO0VBQ0osT0FBTyxFQUFFLFlBQWE7RUFDdEIsY0FBYyxFQUFFLFFBQVMsR0FGcEI7O0FBVWEsS0FBSyxLQUFLLENBQUEsUUFBQyxHQUFUO0VBQ3BCLE9BQU8sRUFBRSxJQUFLO0VBQ2QsTUFBTSxFQUFFLENBQUUsR0FGVzs7Q0FXdkIsTUFBQztBQUNELFFBQVEsQ0FEQztFQUNQLE9BQU8sRUFBRSxJQUFLLEdBRE47O0FBV1YsQ0FBQyxDQUFDO0VBQ0EsZ0JBQWdCLEVBQUUsV0FBWSxHQUQ3Qjs7QUFTRixDQUFDLE9BQU87QUFDVCxDQUFDLE1BQU0sQ0FEQztFQUNOLE9BQU8sRUFBRSxDQUFFLEdBREo7O0FBV0MsSUFBSSxDQUFBLEtBQUMsRUFBSDtFQUNWLGFBQWEsRUFBRSxVQUFXLEdBRGY7O0FBU2IsQ0FBQztBQUNELE1BQU0sQ0FEQztFQUNMLFdBQVcsRUFBRSxJQUFLLEdBRFo7O0FBUVIsR0FBRyxDQUFDO0VBQ0YsVUFBVSxFQUFFLE1BQU8sR0FEaEI7O0FBU0wsRUFBRSxDQUFDO0VBQ0QsTUFBTSxFQUFFLFFBQVMsR0FEZjs7QUFRSixJQUFJLENBQUM7RUFDSCxVQUFVLEVBQUUsSUFBSztFQUNqQixLQUFLLEVBQUUsSUFBSyxHQUZSOztBQVNOLEtBQUssQ0FBQztFQUNKLFNBQVMsRUFBRSxHQUFJLEdBRFY7O0FBU1AsR0FBRztBQUNILEdBQUcsQ0FEQztFQUNGLFNBQVMsRUFBRSxHQUFJO0VBQ2YsV0FBVyxFQUFFLENBQUU7RUFDZixRQUFRLEVBQUUsUUFBUztFQUNuQixjQUFjLEVBQUUsUUFBUyxHQUp0Qjs7QUFRTCxHQUFHLENBQUM7RUFDRixHQUFHLEVBQUUsTUFBTztFQUNaLFNBQVMsRUFBRSxHQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUk7RUFDakIsY0FBYyxFQUFFLEdBQUksR0FKakI7O0FBT0wsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLE9BQVEsR0FEYjs7QUFXTCxHQUFHLENBQUM7RUFDRixNQUFNLEVBQUUsQ0FBRSxHQURQOztBQVFRLEdBQUcsS0FBSyxLQUFLLEVBQVg7RUFDYixRQUFRLEVBQUUsTUFBTyxHQURIOztBQVdoQixNQUFNLENBQUM7RUFDTCxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksR0FEVjs7QUFRUixFQUFFLENBQUM7RUFDRCxlQUFlLEVBQUUsV0FBWTtFQUM3QixVQUFVLEVBQUUsV0FBWTtFQUN4QixNQUFNLEVBQUUsQ0FBRSxHQUhSOztBQVVKLEdBQUcsQ0FBQztFQUNGLFFBQVEsRUFBRSxJQUFLLEdBRFo7O0FBV0wsSUFBSTtBQUNKLEdBQUc7QUFDSCxHQUFHO0FBQ0gsSUFBSSxDQUhDO0VBQ0gsV0FBVyxFQUFFLG9CQUFxQjtFQUNsQyxTQUFTLEVBQUUsR0FBSSxHQUZYOztBQXdCTixNQUFNO0FBQ04sS0FBSztBQUNMLFFBQVE7QUFDUixNQUFNO0FBQ04sUUFBUSxDQUpDO0VBQ1AsS0FBSyxFQUFFLE9BQVE7RUFDZixJQUFJLEVBQUUsT0FBUTtFQUNkLE1BQU0sRUFBRSxDQUFFLEdBSEY7O0FBVVYsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLE9BQVEsR0FEWjs7QUFZUixNQUFNO0FBQ04sTUFBTSxDQURDO0VBQ0wsY0FBYyxFQUFFLElBQUssR0FEZjs7QUFlVyxNQUFNO0FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZO0FBQzdDLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLEVBRkU7RUFDbkIsa0JBQWtCLEVBQUUsTUFBTztFQUMzQixNQUFNLEVBQUUsT0FBUSxHQUZJOztBQVVILE1BQU0sQ0FBQSxRQUFDO0FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUEsUUFBQyxFQURVO0VBQ25CLE1BQU0sRUFBRSxPQUFRLEdBREk7O0FBU2pCLE1BQU0sa0JBQWtCO0FBQzdCLEtBQUssa0JBQWtCLENBREM7RUFDdEIsTUFBTSxFQUFFLENBQUU7RUFDVixPQUFPLEVBQUUsQ0FBRSxHQUZZOztBQVV6QixLQUFLLENBQUM7RUFDSixXQUFXLEVBQUUsTUFBTyxHQURmOztBQWFXLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlO0FBQ3ZDLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLEVBREU7RUFDbEIsVUFBVSxFQUFFLFVBQVc7RUFDdkIsT0FBTyxFQUFFLENBQUUsR0FGUTs7QUFZRCxLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLDJCQUEyQjtBQUNuRSxLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLDJCQUEyQixDQURDO0VBQzlDLE1BQU0sRUFBRSxJQUFLLEdBRGtDOztBQVU5QixLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxFQUFqQjtFQUNuQixrQkFBa0IsRUFBRSxTQUFVO0VBQzlCLGVBQWUsRUFBRSxXQUFZO0VBQzdCLGtCQUFrQixFQUFFLFdBQVk7RUFDaEMsVUFBVSxFQUFFLFdBQVksR0FKSjs7QUFjRixLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLDhCQUE4QjtBQUN0RSxLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLDJCQUEyQixDQURDO0VBQzlDLGtCQUFrQixFQUFFLElBQUssR0FEc0I7O0FBUWpELFFBQVEsQ0FBQztFQUNQLE1BQU0sRUFBRSxpQkFBa0I7RUFDMUIsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHO0VBQ2IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUh0Qjs7QUFXVixNQUFNLENBQUM7RUFDTCxNQUFNLEVBQUUsQ0FBRTtFQUNWLE9BQU8sRUFBRSxDQUFFLEdBRkw7O0FBU1IsUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLElBQUssR0FEUDs7QUFTVixRQUFRLENBQUM7RUFDUCxXQUFXLEVBQUUsSUFBSyxHQURWOztBQVdWLEtBQUssQ0FBQztFQUNKLGVBQWUsRUFBRSxRQUFTO0VBQzFCLGNBQWMsRUFBRSxDQUFFLEdBRmI7O0FBTVAsRUFBRTtBQUNGLEVBQUUsQ0FEQztFQUNELE9BQU8sRUFBRSxDQUFFLEdBRFQ7O0FDM2FKLHFGQUFxRjtBQU9yRixNQUFNLENBQU4sS0FBSztFQUdBLENBQUM7RUFDTixDQUFDLE9BQU87RUFDUixDQUFDLE1BQU0sQ0FGSztJQUNKLFVBQVUsRUFBRSxzQkFBdUI7SUFDbkMsS0FBSyxFQUFFLGVBQWdCO0lBQ3ZCLFVBQVUsRUFBRSxlQUFnQjtJQUM1QixXQUFXLEVBQUUsZUFBZ0IsR0FKeEI7RUFRUixDQUFDO0VBQ04sQ0FBQyxRQUFRLENBREs7SUFDTixlQUFlLEVBQUUsU0FBVSxHQURwQjtFQUlKLENBQUMsQ0FBQSxJQUFDLENBQUssTUFBTSxDQUFOO0lBQ1YsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFJLENBQU8sR0FBRyxHQURqQjtFQUlKLElBQUksQ0FBQSxLQUFDLENBQU0sTUFBTSxDQUFWO0lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFJLENBQVEsR0FBRyxHQURkO0VBT0csQ0FBQyxDQUFBLElBQUMsRUFBTSxHQUFOLEFBQVMsQ0FBQyxNQUFNO0VBQzVDLENBQUMsQ0FBQSxJQUFDLEVBQU0sYUFBTixBQUFtQixDQUFDLE1BQU0sQ0FESztJQUN6QixPQUFPLEVBQUUsRUFBRyxHQURjO0VBSzlCLEdBQUc7RUFDUCxVQUFVLENBREs7SUFDUCxNQUFNLEVBQUUsY0FBZTtJQUN2QixpQkFBaUIsRUFBRSxLQUFNLEdBRmpCO0VBS1osS0FBSyxDQUFDO0lBQ0YsT0FBTyxFQUFFLGtCQUFtQixHQUR6QjtFQUtQLEVBQUU7RUFDTixHQUFHLENBREs7SUFDQSxpQkFBaUIsRUFBRSxLQUFNLEdBRHhCO0VBSUwsR0FBRyxDQUFDO0lBQ0EsU0FBUyxFQUFFLGVBQWdCLEdBRDFCO0VBTUwsQ0FBQztFQUNMLEVBQUU7RUFDRixFQUFFLENBRks7SUFDQyxPQUFPLEVBQUUsQ0FBRTtJQUNYLE1BQU0sRUFBRSxDQUFFLEdBRlY7RUFNSixFQUFFO0VBQ04sRUFBRSxDQURLO0lBQ0MsZ0JBQWdCLEVBQUUsS0FBTSxHQUR4QjtFQVFKLE1BQU0sQ0FBQztJQUNILFVBQVUsRUFBRSxlQUFnQixHQUR4QjtFQUtSLE9BQU8sQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFLLEdBRFQ7RUFLSCxJQUFJLEdBQUcsTUFBTTtFQUN2QixPQUFPLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FETjtJQUNMLGdCQUFnQixFQUFFLGVBQWdCLEdBRDVCO0VBSWQsTUFBTSxDQUFDO0lBQ0gsTUFBTSxFQUFFLGNBQWUsR0FEbkI7RUFJUixNQUFNLENBQUM7SUFDSCxlQUFlLEVBQUUsbUJBQW9CLEdBRGpDO0lBSUosTUFBTSxDQUFDLEVBQUU7SUFDakIsTUFBTSxDQUFDLEVBQUUsQ0FERTtNQUNDLGdCQUFnQixFQUFFLGVBQWdCLEdBRGxDO0VBTUosZUFBZSxDQUFDLEVBQUU7RUFDMUIsZUFBZSxDQUFDLEVBQUUsQ0FEUDtJQUNDLE1BQU0sRUFBRSx5QkFBMEIsR0FEbEM7O0FDMUZaLFVBQVU7RUFDUixXQUFXLEVBQUUsc0JBQXVCO0VBQ3BDLEdBQUcsRUFBRSw4REFBRztFQUNSLEdBQUcsRUFBRSxxRUFBRyxDQUF5SiwyQkFBTSxFQUNsSyxnRUFBRyxDQUErSSxlQUFNLEVBQ3hKLCtEQUFHLENBQTZJLGNBQU0sRUFDdEosOERBQUcsQ0FBMkksa0JBQU0sRUFDcEosMEZBQUcsQ0FBcUwsYUFBTTs7QUFJck0sVUFBVSxDQUFDO0VBQ1QsUUFBUSxFQUFFLFFBQVM7RUFDbkIsR0FBRyxFQUFFLEdBQUk7RUFDVCxPQUFPLEVBQUUsWUFBYTtFQUN0QixXQUFXLEVBQUUsc0JBQXVCO0VBQ3BDLFVBQVUsRUFBRSxNQUFPO0VBQ25CLFdBQVcsRUFBRSxNQUFPO0VBQ3BCLFdBQVcsRUFBRSxDQUFFO0VBQ2Ysc0JBQXNCLEVBQUUsV0FBWTtFQUNwQyx1QkFBdUIsRUFBRSxTQUFVLEdBVHpCOztBQWF5QixtQkFBbUIsT0FBTyxDQUFsQjtFQUFFLE9BQU8sRUFBRSxLQUFNLEdBQWhCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLEtBQU0sR0FBaEI7O0FBRVQsZUFBZSxPQUFPO0FBQzNELGNBQWMsT0FBTyxDQUR3QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsbUJBQW1CLE9BQU8sQ0FBbEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxpQkFBaUIsT0FBTyxDQUFoQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsaUJBQWlCLE9BQU8sQ0FBaEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxxQkFBcUIsT0FBTyxDQUFwQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxtQkFBbUIsT0FBTyxDQUFsQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGFBQWEsT0FBTyxDQUFaO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsa0JBQWtCLE9BQU8sQ0FBakI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxhQUFhLE9BQU8sQ0FBWjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGlCQUFpQixPQUFPLENBQWhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsa0JBQWtCLE9BQU8sQ0FBakI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxtQkFBbUIsT0FBTyxDQUFsQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGNBQWMsT0FBTyxDQUFiO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsaUJBQWlCLE9BQU8sQ0FBaEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxjQUFjLE9BQU8sQ0FBYjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHVCQUF1QixPQUFPLENBQXRCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsbUJBQW1CLE9BQU8sQ0FBbEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxpQkFBaUIsT0FBTyxDQUFoQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxzQkFBc0IsT0FBTyxDQUFyQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGlCQUFpQixPQUFPLENBQWhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsa0JBQWtCLE9BQU8sQ0FBakI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxtQkFBbUIsT0FBTyxDQUFsQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxxQkFBcUIsT0FBTyxDQUFwQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHFCQUFxQixPQUFPLENBQXBCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsc0JBQXNCLE9BQU8sQ0FBckI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxvQkFBb0IsT0FBTyxDQUFuQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGlCQUFpQixPQUFPLENBQWhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsa0JBQWtCLE9BQU8sQ0FBakI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxjQUFjLE9BQU8sQ0FBYjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxtQkFBbUIsT0FBTyxDQUFsQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxpQkFBaUIsT0FBTyxDQUFoQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxpQkFBaUIsT0FBTyxDQUFoQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHNCQUFzQixPQUFPLENBQXJCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QscUJBQXFCLE9BQU8sQ0FBcEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxxQkFBcUIsT0FBTyxDQUFwQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHVCQUF1QixPQUFPLENBQXRCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsc0JBQXNCLE9BQU8sQ0FBckI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx3QkFBd0IsT0FBTyxDQUF2QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsc0JBQXNCLE9BQU8sQ0FBckI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx1QkFBdUIsT0FBTyxDQUF0QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHlCQUF5QixPQUFPLENBQXhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsa0JBQWtCLE9BQU8sQ0FBakI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxxQkFBcUIsT0FBTyxDQUFwQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGlCQUFpQixPQUFPLENBQWhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx3QkFBd0IsT0FBTyxDQUF2QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHdCQUF3QixPQUFPLENBQXZCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsbUJBQW1CLE9BQU8sQ0FBbEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGtCQUFrQixPQUFPLENBQWpCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsdUJBQXVCLE9BQU8sQ0FBdEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx1QkFBdUIsT0FBTyxDQUF0QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx1QkFBdUIsT0FBTyxDQUF0QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHdCQUF3QixPQUFPLENBQXZCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsb0JBQW9CLE9BQU8sQ0FBbkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxxQkFBcUIsT0FBTyxDQUFwQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHNCQUFzQixPQUFPLENBQXJCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsa0JBQWtCLE9BQU8sQ0FBakI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx3QkFBd0IsT0FBTyxDQUF2QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QscUJBQXFCLE9BQU8sQ0FBcEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx3QkFBd0IsT0FBTyxDQUF2QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QscUJBQXFCLE9BQU8sQ0FBcEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxxQkFBcUIsT0FBTyxDQUFwQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHNCQUFzQixPQUFPLENBQXJCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsbUJBQW1CLE9BQU8sQ0FBbEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxxQkFBcUIsT0FBTyxDQUFwQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsc0JBQXNCLE9BQU8sQ0FBckI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx1QkFBdUIsT0FBTyxDQUF0QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULDJCQUEyQixPQUFPLENBQTFCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsbUJBQW1CLE9BQU8sQ0FBbEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxvQkFBb0IsT0FBTyxDQUFuQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHVCQUF1QixPQUFPLENBQXRCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZ0JBQWdCLE9BQU8sQ0FBZjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG1CQUFtQixPQUFPLENBQWxCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsaUJBQWlCLE9BQU8sQ0FBaEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxrQkFBa0IsT0FBTyxDQUFqQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGlCQUFpQixPQUFPLENBQWhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QscUJBQXFCLE9BQU8sQ0FBcEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx1QkFBdUIsT0FBTyxDQUF0QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGtCQUFrQixPQUFPLENBQWpCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsd0JBQXdCLE9BQU8sQ0FBdkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx1QkFBdUIsT0FBTyxDQUF0QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHNCQUFzQixPQUFPLENBQXJCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsMEJBQTBCLE9BQU8sQ0FBekI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCw0QkFBNEIsT0FBTyxDQUEzQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGNBQWMsT0FBTyxDQUFiO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsbUJBQW1CLE9BQU8sQ0FBbEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHNCQUFzQixPQUFPLENBQXJCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsb0JBQW9CLE9BQU8sQ0FBbkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxzQkFBc0IsT0FBTyxDQUFyQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHFCQUFxQixPQUFPLENBQXBCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsb0JBQW9CLE9BQU8sQ0FBbkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxrQkFBa0IsT0FBTyxDQUFqQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsNkJBQTZCLE9BQU8sQ0FBNUI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCw0QkFBNEIsT0FBTyxDQUEzQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULDBCQUEwQixPQUFPLENBQXpCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsNEJBQTRCLE9BQU8sQ0FBM0I7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsaUJBQWlCLE9BQU8sQ0FBaEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsaUJBQWlCLE9BQU8sQ0FBaEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxvQkFBb0IsT0FBTyxDQUFuQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHFCQUFxQixPQUFPLENBQXBCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsb0JBQW9CLE9BQU8sQ0FBbkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxvQkFBb0IsT0FBTyxDQUFuQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHNCQUFzQixPQUFPLENBQXJCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsa0JBQWtCLE9BQU8sQ0FBakI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxjQUFjLE9BQU8sQ0FBYjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGNBQWMsT0FBTyxDQUFiO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCwyQkFBMkIsT0FBTyxDQUExQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULCtCQUErQixPQUFPLENBQTlCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsd0JBQXdCLE9BQU8sQ0FBdkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCw0QkFBNEIsT0FBTyxDQUEzQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULDZCQUE2QixPQUFPLENBQTVCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsaUNBQWlDLE9BQU8sQ0FBaEM7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxvQkFBb0IsT0FBTyxDQUFuQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGlCQUFpQixPQUFPLENBQWhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsd0JBQXdCLE9BQU8sQ0FBdkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxzQkFBc0IsT0FBTyxDQUFyQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGlCQUFpQixPQUFPLENBQWhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZ0JBQWdCLE9BQU8sQ0FBZjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGtCQUFrQixPQUFPLENBQWpCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QscUJBQXFCLE9BQU8sQ0FBcEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxpQkFBaUIsT0FBTyxDQUFoQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZUFBZSxPQUFPLENBQWQ7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsaUJBQWlCLE9BQU8sQ0FBaEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxpQkFBaUIsT0FBTyxDQUFoQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsc0JBQXNCLE9BQU8sQ0FBckI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx1QkFBdUIsT0FBTyxDQUF0QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHdCQUF3QixPQUFPLENBQXZCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsc0JBQXNCLE9BQU8sQ0FBckI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxzQkFBc0IsT0FBTyxDQUFyQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHNCQUFzQixPQUFPLENBQXJCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsbUJBQW1CLE9BQU8sQ0FBbEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxrQkFBa0IsT0FBTyxDQUFqQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGlCQUFpQixPQUFPLENBQWhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QscUJBQXFCLE9BQU8sQ0FBcEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxtQkFBbUIsT0FBTyxDQUFsQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZ0JBQWdCLE9BQU8sQ0FBZjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxtQkFBbUIsT0FBTyxDQUFsQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG1CQUFtQixPQUFPLENBQWxCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsb0JBQW9CLE9BQU8sQ0FBbkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx1QkFBdUIsT0FBTyxDQUF0QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHNCQUFzQixPQUFPLENBQXJCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsb0JBQW9CLE9BQU8sQ0FBbkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxvQkFBb0IsT0FBTyxDQUFuQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QseUJBQXlCLE9BQU8sQ0FBeEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCw0QkFBNEIsT0FBTyxDQUEzQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHlCQUF5QixPQUFPLENBQXhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsdUJBQXVCLE9BQU8sQ0FBdEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx1QkFBdUIsT0FBTyxDQUF0QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHlCQUF5QixPQUFPLENBQXhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsYUFBYSxPQUFPLENBQVo7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxvQkFBb0IsT0FBTyxDQUFuQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsbUJBQW1CLE9BQU8sQ0FBbEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFTVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsb0JBQW9CLE9BQU8sQ0FBbkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGlCQUFpQixPQUFPLENBQWhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsaUJBQWlCLE9BQU8sQ0FBaEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCx1QkFBdUIsT0FBTyxDQUF0QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGVBQWUsT0FBTyxDQUFkO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QscUJBQXFCLE9BQU8sQ0FBcEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxjQUFjLE9BQU8sQ0FBYjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsb0JBQW9CLE9BQU8sQ0FBbkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxlQUFlLE9BQU8sQ0FBZDtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QscUJBQXFCLE9BQU8sQ0FBcEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxtQkFBbUIsT0FBTyxDQUFsQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGtCQUFrQixPQUFPLENBQWpCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsY0FBYyxPQUFPLENBQWI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxjQUFjLE9BQU8sQ0FBYjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGNBQWMsT0FBTyxDQUFiO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsY0FBYyxPQUFPLENBQWI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsY0FBYyxPQUFPLENBQWI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxnQkFBZ0IsT0FBTyxDQUFmO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsb0JBQW9CLE9BQU8sQ0FBbkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCwyQkFBMkIsT0FBTyxDQUExQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsNEJBQTRCLE9BQU8sQ0FBM0I7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCwwQkFBMEIsT0FBTyxDQUF6QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHlCQUF5QixPQUFPLENBQXhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsdUJBQXVCLE9BQU8sQ0FBdEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxjQUFjLE9BQU8sQ0FBYjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULGdCQUFnQixPQUFPLENBQWY7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxxQkFBcUIsT0FBTyxDQUFwQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QscUJBQXFCLE9BQU8sQ0FBcEI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCwwQkFBMEIsT0FBTyxDQUF6QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULDJCQUEyQixPQUFPLENBQTFCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsOEJBQThCLE9BQU8sQ0FBN0I7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxrQ0FBa0MsT0FBTyxDQUFqQztFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULDRCQUE0QixPQUFPLENBQTNCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1QsZ0NBQWdDLE9BQU8sQ0FBL0I7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCw2QkFBNkIsT0FBTyxDQUE1QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHlCQUF5QixPQUFPLENBQXhCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsd0JBQXdCLE9BQU8sQ0FBdkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCwwQkFBMEIsT0FBTyxDQUF6QjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULHVCQUF1QixPQUFPLENBQXRCO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsa0JBQWtCLE9BQU8sQ0FBakI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxzQkFBc0IsT0FBTyxDQUFyQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsb0JBQW9CLE9BQU8sQ0FBbkI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUFDVCxxQkFBcUIsT0FBTyxDQUFwQjtFQUFFLE9BQU8sRUFBRSxPQUFRLEdBQWxCOztBQUNULG9CQUFvQixPQUFPLENBQW5CO0VBQUUsT0FBTyxFQUFFLE9BQVEsR0FBbEI7O0FBQ1Qsa0JBQWtCLE9BQU8sQ0FBakI7RUFBRSxPQUFPLEVBQUUsT0FBUSxHQUFsQjs7QUN0UzlDLENBQUMsQ0FBQztFQ2dFQSxrQkFBa0IsRUQvREMsVUFBVTtFQ2dFMUIsZUFBZSxFRGhFQyxVQUFVO0VDaUVyQixVQUFVLEVEakVDLFVBQVU7RUFDOUIscUJBQXFCLEVBQUUsQ0FBRTtFQUN6QixPQUFPLEVBQUUsQ0FBRTtFQUNYLE1BQU0sRUFBRSxDQUFFLEdBSlI7O0FBUUYsQ0FBQyxPQUFPO0FBQ1QsQ0FBQyxNQUFNLENBREM7RUN3RE4sa0JBQWtCLEVEdkRFLFVBQVU7RUN3RDNCLGVBQWUsRUR4REUsVUFBVTtFQ3lEdEIsVUFBVSxFRHpERSxVQUFVLEdBRHZCOztBQU9ULElBQUksQ0FBQztFQUNILFNBQVMsRUFBRSxJQUFLO0VBQ2hCLDJCQUEyQixFQUFFLFdBQUksR0FGN0I7O0FBS04sSUFBSSxDQUFDO0VBQ0gsV0FBVyxFSnNCYSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVU7RUlyQnRELFNBQVMsRUp1QmUsSUFBSTtFSXRCNUIsV0FBVyxFSmtDYSxPQUFXO0VJakNuQyxLQUFLLEVKbkJrQixJQUFJO0VJb0IzQixnQkFBZ0IsRUpGTSxJQUFJLEdJSHRCOztBQVlOLEtBQUs7QUFDTCxNQUFNO0FBQ04sTUFBTTtBQUNOLFFBQVEsQ0FIQztFQUNQLFdBQVcsRUFBRSxPQUFRO0VBQ3JCLFNBQVMsRUFBRSxPQUFRO0VBQ25CLFdBQVcsRUFBRSxPQUFRLEdBSGI7O0FBU1YsQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFSjlCaUIsT0FBTTtFSStCNUIsZUFBZSxFQUFFLElBQUssR0FGckI7RUFLQSxDQUFDLE1BQU07RUFDVixDQUFDLE1BQU0sQ0FERztJQUNOLEtBQUssRUpqQmUsT0FBTTtJSWtCMUIsZUFBZSxFSmhCSyxTQUFTLEdJY3RCO0VBS1IsQ0FBQyxNQUFNLENBQUE7SUV6RFIsT0FBTyxFQUFFLFdBQVk7SUFFckIsT0FBTyxFQUFFLGlDQUFrQztJQUMzQyxjQUFjLEVBQUUsSUFBSyxHRnNEWjs7QUFXWCxNQUFNLENBQUM7RUFDTCxNQUFNLEVBQUUsQ0FBRSxHQURKOztBQU9SLEdBQUcsQ0FBQztFQUNGLGNBQWMsRUFBRSxNQUFPLEdBRHBCOztBQUtMLGVBQWUsQ0FBQztFRzNFZCxPQUFPLEVBRHVCLEtBQUs7RUFFbkMsU0FBUyxFQUFFLElBQUs7RUFDaEIsTUFBTSxFQUFFLElBQUssR0h5RUU7O0FBS2pCLFlBQVksQ0FBQztFQUNYLGFBQWEsRUp3QmEsR0FBRyxHSXpCakI7O0FBT2QsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFSnlvQnFCLEdBQUc7RUl4b0IvQixXQUFXLEVKL0JhLE9BQVc7RUlnQ25DLGdCQUFnQixFSmxFTSxJQUFJO0VJbUUxQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0owb0JXLElBQUk7RUl6b0JoQyxhQUFhLEVKWWEsR0FBRztFS3dFN0Isa0JBQWtCLEVEbkZFLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFQ29GbEMsYUFBYSxFRHBGRSxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RUNxRi9CLFVBQVUsRURyRkUsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHN0Z2QyxPQUFPLEVIZ0dpQixZQUFZO0VHL0ZwQyxTQUFTLEVBQUUsSUFBSztFQUNoQixNQUFNLEVBQUUsSUFBSyxHSHFGQzs7QUFhaEIsV0FBVyxDQUFDO0VBQ1YsYUFBYSxFQUFFLEdBQUksR0FEUjs7QUFPYixFQUFFLENBQUM7RUFDRCxVQUFVLEVKaERjLElBQUs7RUlpRDdCLGFBQWEsRUpqRFcsSUFBSztFSWtEN0IsTUFBTSxFQUFFLENBQUU7RUFDVixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0pwR0UsT0FBTyxHSWdHNUI7O0FBWUosUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFFLEdBQUk7RUFDWCxNQUFNLEVBQUUsR0FBSTtFQUNaLE1BQU0sRUFBRSxJQUFLO0VBQ2IsT0FBTyxFQUFFLENBQUU7RUFDWCxRQUFRLEVBQUUsTUFBTztFQUNqQixJQUFJLEVBQUUsZ0JBQUk7RUFDVixNQUFNLEVBQUUsQ0FBRSxHQVJGOztBQWlCUCxrQkFBa0IsT0FBTztBQUM1QixrQkFBa0IsTUFBTSxDQURkO0VBQ04sUUFBUSxFQUFFLE1BQU87RUFDakIsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSztFQUNiLE1BQU0sRUFBRSxDQUFFO0VBQ1YsUUFBUSxFQUFFLE9BQVE7RUFDbEIsSUFBSSxFQUFFLElBQUssR0FOSjs7Q0FrQkcsSUFBQyxDQUFLLFFBQUwsQUFBYSxFQUFaO0VBQ2QsTUFBTSxFQUFFLE9BQVEsR0FERDs7QUkxSlEsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQy9DLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQURDO0VBQzNCLFdBQVcsRVJ1Q2EsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLFVBQVU7RVF0Q2xFLFdBQVcsRVI4RGEsR0FBRztFUTdEM0IsV0FBVyxFUjhEYSxHQUFHO0VRN0QzQixLQUFLLEVSOERtQixPQUFPLEdRbEVIO0VBTzVCLEVBQUUsQ0FBQyxLQUFLO0VBQ1YsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsS0FBSztFQUNuQixFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLO0VBQ25CLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEtBQUs7RUFDbkIsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsS0FBSztFQUNuQixFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLO0VBQ25CLEVBQUUsQ0FBQyxNQUFNO0VBQ1QsR0FBRyxDQUFDLEtBQUs7RUFDVCxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLO0VBQ3JCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUs7RUFDckIsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSztFQUNyQixHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLO0VBQ3JCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUs7RUFDckIsR0FBRyxDQUFDLE1BQU0sQ0FiRDtJQUNMLFdBQVcsRUFBRSxNQUFPO0lBQ3BCLFdBQVcsRUFBRSxDQUFFO0lBQ2YsS0FBSyxFUkFnQixPQUFPLEdRSHRCOztBQVNOLEVBQUUsRUFBRSxHQUFHO0FBQ1gsRUFBRSxFQUFFLEdBQUc7QUFDUCxFQUFFLEVBQUUsR0FBRyxDQUZDO0VBQ04sVUFBVSxFUjJDYyxJQUFLO0VRMUM3QixhQUFhLEVBQUcsSUFBcUIsR0FGOUI7RUFLUCxFQUFFLENBQUMsS0FBSztFQUNWLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUs7RUFDcEIsR0FBRyxDQUFDLE1BQU07RUFDVixFQUFFLENBQUMsS0FBSztFQUNSLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUs7RUFDcEIsR0FBRyxDQUFDLE1BQU07RUFDVixFQUFFLENBQUMsS0FBSztFQUNSLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUs7RUFDcEIsR0FBRyxDQUFDLE1BQU0sQ0FSRDtJQUNMLFNBQVMsRUFBRSxHQUFJLEdBRFQ7O0FBTU4sRUFBRSxFQUFFLEdBQUc7QUFDWCxFQUFFLEVBQUUsR0FBRztBQUNQLEVBQUUsRUFBRSxHQUFHLENBRkM7RUFDTixVQUFVLEVBQUcsSUFBcUI7RUFDbEMsYUFBYSxFQUFHLElBQXFCLEdBRjlCO0VBS1AsRUFBRSxDQUFDLEtBQUs7RUFDVixFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLO0VBQ3BCLEdBQUcsQ0FBQyxNQUFNO0VBQ1YsRUFBRSxDQUFDLEtBQUs7RUFDUixFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLO0VBQ3BCLEdBQUcsQ0FBQyxNQUFNO0VBQ1YsRUFBRSxDQUFDLEtBQUs7RUFDUixFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLO0VBQ3BCLEdBQUcsQ0FBQyxNQUFNLENBUkQ7SUFDTCxTQUFTLEVBQUUsR0FBSSxHQURUOztBQUtOLEVBQUUsRUFBRSxHQUFHLENBQUg7RUFBRSxTQUFTLEVSYU8sSUFBSyxHUWJ0Qjs7QUFDTCxFQUFFLEVBQUUsR0FBRyxDQUFIO0VBQUUsU0FBUyxFUmFPLElBQUssR1FidEI7O0FBQ0wsRUFBRSxFQUFFLEdBQUcsQ0FBSDtFQUFFLFNBQVMsRVJhTyxJQUFJLEdRYnJCOztBQUNMLEVBQUUsRUFBRSxHQUFHLENBQUg7RUFBRSxTQUFTLEVSYU8sSUFBSSxHUWJyQjs7QUFDTCxFQUFFLEVBQUUsR0FBRyxDQUFIO0VBQUUsU0FBUyxFUktPLElBQUksR1FMckI7O0FBQ0wsRUFBRSxFQUFFLEdBQUcsQ0FBSDtFQUFFLFNBQVMsRVJhTyxJQUFJLEdRYnJCOztBQU1ULENBQUMsQ0FBQztFQUNBLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFFLElBQXFCLEdBRGpDOztBQUlILEtBQUssQ0FBQztFQUNKLGFBQWEsRVJPVyxJQUFLO0VRTjdCLFNBQVMsRUFBRSxJQUFLO0VBQ2hCLFdBQVcsRUFBRSxHQUFJO0VBQ2pCLFdBQVcsRUFBRSxHQUFJLEdBSlo7RUFNTCxNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SUFObkIsS0FBSyxDQUFDO01BT0YsU0FBUyxFQUFHLElBQWUsR0FQeEI7O0FBaUJQLEtBQUs7QUFDTCxNQUFNLENBREM7RUFDTCxTQUFTLEVBQUUsR0FBSyxHQURWOztBQUtSLElBQUk7QUFDSixLQUFLLENBREM7RUFDSixnQkFBZ0IsRVJ5YWUsT0FBTztFUXhhdEMsT0FBTyxFQUFFLElBQUssR0FGVDs7QUFNUCxVQUFVLENBQVc7RUFBRSxVQUFVLEVBQUUsSUFBSyxHQUFsQjs7QUFDdEIsV0FBVyxDQUFVO0VBQUUsVUFBVSxFQUFFLEtBQU0sR0FBbkI7O0FBQ3RCLFlBQVksQ0FBUztFQUFFLFVBQVUsRUFBRSxNQUFPLEdBQXBCOztBQUN0QixhQUFhLENBQVE7RUFBRSxVQUFVLEVBQUUsT0FBUSxHQUFyQjs7QUFDdEIsWUFBWSxDQUFTO0VBQUUsV0FBVyxFQUFFLE1BQU8sR0FBckI7O0FBR3RCLGVBQWUsQ0FBTTtFQUFFLGNBQWMsRUFBRSxTQUFVLEdBQTNCOztBQUN0QixlQUFlLEVBQUUsV0FBVyxDQUFQO0VBQUUsY0FBYyxFQUFFLFNBQVUsR0FBM0I7O0FBQ3RCLGdCQUFnQixDQUFLO0VBQUUsY0FBYyxFQUFFLFVBQVcsR0FBNUI7O0FBR3RCLFdBQVcsQ0FBQztFQUNWLEtBQUssRVJuRmtCLE9BQU8sR1FrRm5COztBQ2xHa0MsYUFBYSxDQUN6RDtFQUNDLEtBQUssRVRpQmUsT0FBTSxHU2xCMUI7O0FBRUQsQ0FBQyxhQUFhLE1BQU0sQ0FDcEI7RUFDQyxLQUFLLEVBQUUsT0FBTSxHQURiOztBQUoyQyxhQUFhLENBQ3pEO0VBQ0MsS0FBSyxFVCtld0IsT0FBTyxHU2hmcEM7O0FBRUQsQ0FBQyxhQUFhLE1BQU0sQ0FDcEI7RUFDQyxLQUFLLEVBQUUsT0FBTSxHQURiOztBQUoyQyxVQUFVLENBQ3REO0VBQ0MsS0FBSyxFVG1md0IsT0FBTyxHU3BmcEM7O0FBRUQsQ0FBQyxVQUFVLE1BQU0sQ0FDakI7RUFDQyxLQUFLLEVBQUUsT0FBTSxHQURiOztBQUoyQyxhQUFhLENBQ3pEO0VBQ0MsS0FBSyxFVHVmd0IsT0FBTyxHU3hmcEM7O0FBRUQsQ0FBQyxhQUFhLE1BQU0sQ0FDcEI7RUFDQyxLQUFLLEVBQUUsT0FBTSxHQURiOztBQUoyQyxZQUFZLENBQ3hEO0VBQ0MsS0FBSyxFVDJmd0IsT0FBTyxHUzVmcEM7O0FBRUQsQ0FBQyxZQUFZLE1BQU0sQ0FDbkI7RUFDQyxLQUFLLEVBQUUsT0FBTSxHQURiOztBRCtHSixXQUFXLENBQUM7RUFHVixLQUFLLEVBQUUsSUFBSyxHQUhEOztBRW5IdUIsV0FBVyxDQUM1QztFQUNDLGdCQUFnQixFVmlCSSxPQUFNLEdVbEIxQjs7QUFFRCxDQUFDLFdBQVcsTUFBTSxDQUNsQjtFQUNDLGdCQUFnQixFQUFFLE9BQU0sR0FEeEI7O0FBSmdDLFdBQVcsQ0FDNUM7RUFDQyxnQkFBZ0IsRVZnZmEsT0FBTyxHVWpmcEM7O0FBRUQsQ0FBQyxXQUFXLE1BQU0sQ0FDbEI7RUFDQyxnQkFBZ0IsRUFBRSxPQUFNLEdBRHhCOztBQUpnQyxRQUFRLENBQ3pDO0VBQ0MsZ0JBQWdCLEVWb2ZhLE9BQU8sR1VyZnBDOztBQUVELENBQUMsUUFBUSxNQUFNLENBQ2Y7RUFDQyxnQkFBZ0IsRUFBRSxPQUFNLEdBRHhCOztBQUpnQyxXQUFXLENBQzVDO0VBQ0MsZ0JBQWdCLEVWd2ZhLE9BQU8sR1V6ZnBDOztBQUVELENBQUMsV0FBVyxNQUFNLENBQ2xCO0VBQ0MsZ0JBQWdCLEVBQUUsT0FBTSxHQUR4Qjs7QUFKZ0MsVUFBVSxDQUMzQztFQUNDLGdCQUFnQixFVjRmYSxPQUFPLEdVN2ZwQzs7QUFFRCxDQUFDLFVBQVUsTUFBTSxDQUNqQjtFQUNDLGdCQUFnQixFQUFFLE9BQU0sR0FEeEI7O0FGa0lKLFlBQVksQ0FBQztFQUNYLGNBQWMsRUFBSSxJQUFxQjtFQUN2QyxNQUFNLEVBQUcsSUFBcUIsQ0FBTSxDQUFDLENSdEViLElBQUs7RVF1RTdCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDUnhIRCxPQUFPLEdRcUhsQjs7QUFZZCxFQUFFO0FBQ0YsRUFBRSxDQURDO0VBQ0QsVUFBVSxFQUFFLENBQUU7RUFDZCxhQUFhLEVBQUcsSUFBcUIsR0FGbkM7RUFJRixFQUFFLENBQUMsRUFBRTtFQUNQLEVBQUUsQ0FBQyxFQUFFO0VBQ0wsRUFBRSxDQUFDLEVBQUU7RUFDTCxFQUFFLENBQUMsRUFBRSxDQUhBO0lBQ0QsYUFBYSxFQUFFLENBQUUsR0FEZjs7QUFhTixjQUFjLENBQUM7RUFKYixZQUFZLEVBQUUsQ0FBRTtFQUNoQixVQUFVLEVBQUUsSUFBSyxHQUdIOztBQU1oQixZQUFZLENBQUM7RUFWWCxZQUFZLEVBQUUsQ0FBRTtFQUNoQixVQUFVLEVBQUUsSUFBSztFQVdqQixXQUFXLEVBQUUsSUFBSyxHQUZOO0VBSVYsWUFBWSxHQUFHLEVBQUUsQ0FBZDtJQUNILE9BQU8sRUFBRSxZQUFhO0lBQ3RCLFlBQVksRUFBRSxHQUFJO0lBQ2xCLGFBQWEsRUFBRSxHQUFJLEdBSGY7O0FBUVIsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLENBQUU7RUFDZCxhQUFhLEVSckhXLElBQUssR1FtSDNCOztBQUtKLEVBQUU7QUFDRixFQUFFLENBREM7RUFDRCxXQUFXLEVSM0hhLE9BQVcsR1EwSGpDOztBQUdKLEVBQUUsQ0FBQztFQUNELFdBQVcsRUFBRSxJQUFLLEdBRGhCOztBQUdKLEVBQUUsQ0FBQztFQUNELFdBQVcsRUFBRSxDQUFFLEdBRGI7O0FHckxELGNBQWMsQ0FBQyxFQUFFLE9BQU87QUFDM0IsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQURiO0VBQ04sT0FBTyxFQUFFLEdBQUk7RUFDYixPQUFPLEVBQUUsS0FBTSxHQUZSOztBQUlSLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBaEI7RUFDTixLQUFLLEVBQUUsSUFBSyxHQURMOztBSCtMVCxNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7RUFDZixjQUFjLENBQUMsRUFBRSxDQUFkO0lBQ0QsS0FBSyxFQUFFLElBQUs7SUFDWixLQUFLLEVBQUcsS0FBcUI7SUFDN0IsS0FBSyxFQUFFLElBQUs7SUFDWixVQUFVLEVBQUUsS0FBTTtJSWxOdEIsUUFBUSxFQUFFLE1BQU87SUFDakIsYUFBYSxFQUFFLFFBQVM7SUFDeEIsV0FBVyxFQUFFLE1BQU8sR0o0TWQ7RUFPSixjQUFjLENBQUMsRUFBRSxDQUFkO0lBQ0QsV0FBVyxFUnduQmEsS0FBSyxHUXpuQjNCOztBQWFnQixJQUFJLENBQUEsS0FBQztBQUM3QixJQUFJLENBQUEsbUJBQUMsRUFEcUI7RUFDeEIsTUFBTSxFQUFFLElBQUs7RUFDYixhQUFhLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ1JyTkYsT0FBTyxHUW1OTDs7QUFJM0IsV0FBVyxDQUFDO0VBQ1YsU0FBUyxFQUFFLEdBQUksR0FESjs7QUFNYixVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUcsSUFBcUIsQ1I1S1AsSUFBSztFUTZLN0IsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENSN0thLElBQUs7RVE4SzdCLFNBQVMsRVJ5bUJvQixJQUFlO0VReG1CNUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENSaE9DLE9BQU8sR1E0TnBCO0VBU1AsVUFBVSxDQUFDLENBQUMsV0FBVztFQUM1QixVQUFVLENBQUMsRUFBRSxXQUFXO0VBQ3hCLFVBQVUsQ0FBQyxFQUFFLFdBQVcsQ0FGUDtJQUNYLGFBQWEsRUFBRSxDQUFFLEdBREw7RUFTaEIsVUFBVSxDQUFDLE1BQU07RUFDbkIsVUFBVSxDQUFDLEtBQUs7RUFDaEIsVUFBVSxDQUFDLE1BQU0sQ0FGUjtJQUNMLE9BQU8sRUFBRSxLQUFNO0lBQ2YsU0FBUyxFQUFFLEdBQUk7SUFDZixXQUFXLEVSbE1XLE9BQVc7SVFtTWpDLEtBQUssRVJuUGdCLE9BQU8sR1ErT3RCO0lBTUwsVUFBVSxDQUFDLE1BQU0sT0FBTztJQUM3QixVQUFVLENBQUMsS0FBSyxPQUFPO0lBQ3ZCLFVBQVUsQ0FBQyxNQUFNLE9BQU8sQ0FGWDtNQUNQLE9BQU8sRUFBRSxhQUFjLEdBRGY7O0FBVUosbUJBQW1CO0FBQzdCLFVBQVUsV0FBVyxDQURDO0VBQ3BCLGFBQWEsRUFBRSxJQUFLO0VBQ3BCLFlBQVksRUFBRSxDQUFFO0VBQ2hCLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDUmpRQSxPQUFPO0VRa1E5QixXQUFXLEVBQUUsQ0FBRTtFQUNmLFVBQVUsRUFBRSxLQUFNLEdBTEc7RUFXbEIsbUJBQW1CLENBQUMsTUFBTSxPQUFPO0VBQ3RDLG1CQUFtQixDQUFDLEtBQUssT0FBTztFQUNoQyxtQkFBbUIsQ0FBQyxNQUFNLE9BQU87RUFDakMsVUFBVSxXQUFXLENBQUMsTUFBTSxPQUFPO0VBQ25DLFVBQVUsV0FBVyxDQUFDLEtBQUssT0FBTztFQUNsQyxVQUFVLFdBQVcsQ0FBQyxNQUFNLE9BQU8sQ0FMdEI7SUFBRSxPQUFPLEVBQUUsRUFBRyxHQUFiO0VBQ1QsbUJBQW1CLENBQUMsTUFBTSxNQUFNO0VBQ3JDLG1CQUFtQixDQUFDLEtBQUssTUFBTTtFQUMvQixtQkFBbUIsQ0FBQyxNQUFNLE1BQU07RUFDaEMsVUFBVSxXQUFXLENBQUMsTUFBTSxNQUFNO0VBQ2xDLFVBQVUsV0FBVyxDQUFDLEtBQUssTUFBTTtFQUNqQyxVQUFVLFdBQVcsQ0FBQyxNQUFNLE1BQU0sQ0FMdEI7SUFDTixPQUFPLEVBQUUsYUFBYyxHQURoQjs7QUFPYixPQUFPLENBQUM7RUFDTixhQUFhLEVSak9XLElBQUs7RVFrTzdCLFVBQVUsRUFBRSxNQUFPO0VBQ25CLFdBQVcsRVJyT2EsT0FBVyxHUWtPNUI7O0FLNVJULElBQUk7QUFDSixHQUFHO0FBQ0gsR0FBRztBQUNILElBQUksQ0FIQztFQUNILFdBQVcsRWIwQ2EsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFNBQVMsR2EzQ3JFOztBQUtOLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxHQUFHLENBQUMsR0FBRztFQUNoQixTQUFTLEVBQUUsR0FBSTtFQUNmLEtBQUssRWJnekJ1QixPQUFPO0VhL3lCbkMsZ0JBQWdCLEViZ3pCWSxPQUFPO0VhL3lCbkMsYUFBYSxFYjhGYSxHQUFHLEdhbkd6Qjs7QUFTTixHQUFHLENBQUM7RUFDRixPQUFPLEVBQUUsR0FBRyxDQUFDLEdBQUc7RUFDaEIsU0FBUyxFQUFFLEdBQUk7RUFDZixLQUFLLEViMHlCdUIsSUFBSTtFYXp5QmhDLGdCQUFnQixFYjB5QlksSUFBSTtFYXp5QmhDLGFBQWEsRWJ1RmEsR0FBRztFYXRGN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUUsSUFBRyxDQUFDLENBQUMsQ0FBQyxtQkFBSSxHQU41QjtFQVFILEdBQUcsQ0FBQyxHQUFHLENBQUg7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSxJQUFLO0lBQ2hCLFdBQVcsRUFBRSxJQUFLO0lBQ2xCLFVBQVUsRUFBRSxJQUFLLEdBSmQ7O0FBU1AsR0FBRyxDQUFDO0VBQ0YsT0FBTyxFQUFFLEtBQU07RUFDZixPQUFPLEVBQUksTUFBcUI7RUFDaEMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUUsSUFBcUI7RUFDbEMsU0FBUyxFQUFHLElBQWU7RUFDM0IsV0FBVyxFYnNCYSxPQUFXO0VhckJuQyxVQUFVLEVBQUUsU0FBVTtFQUN0QixTQUFTLEVBQUUsVUFBVztFQUN0QixLQUFLLEViL0JrQixPQUFPO0VhZ0M5QixnQkFBZ0IsRWJzeEJZLE9BQU87RWFyeEJuQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2J1eEJXLElBQUk7RWF0eEJoQyxhQUFhLEViOERhLEdBQUcsR2F6RTFCO0VBY0gsR0FBRyxDQUFDLElBQUksQ0FBSDtJQUNILE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLE9BQVE7SUFDbkIsS0FBSyxFQUFFLE9BQVE7SUFDZixXQUFXLEVBQUUsUUFBUztJQUN0QixnQkFBZ0IsRUFBRSxXQUFZO0lBQzlCLGFBQWEsRUFBRSxDQUFFLEdBTmI7O0FBV1IsZUFBZSxDQUFDO0VBQ2QsVUFBVSxFYnd3QmtCLEtBQUs7RWF2d0JqQyxVQUFVLEVBQUUsTUFBTyxHQUZKOztBQ3hEakIsVUFBVSxDQUFDO0VDSFQsWUFBWSxFQUFFLElBQUs7RUFDbkIsV0FBVyxFQUFFLElBQUs7RUFDbEIsWUFBWSxFQUFJLElBQU87RUFDdkIsYUFBYSxFQUFHLElBQU8sR0RBYjtFSEtULFVBQVUsT0FBTztFQUNwQixVQUFVLE1BQU0sQ0FETjtJQUNOLE9BQU8sRUFBRSxHQUFJO0lBQ2IsT0FBTyxFQUFFLEtBQU0sR0FGUjtFQUlSLFVBQVUsTUFBTSxDQUFUO0lBQ04sS0FBSyxFQUFFLElBQUssR0FETDtFR05ULE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztJQUhuQixVQUFVLENBQUM7TUFJUCxTQUFTLEVkeVVtQixLQUFLLEdjN1V6QjtFQU1WLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztJQU5uQixVQUFVLENBQUM7TUFPUCxTQUFTLEVkMlVtQixLQUFLLEdjbFZ6QjtFQVNWLE1BQU0sRUFBTCxTQUFTLEVBQUUsTUFBTTtJQVRwQixVQUFVLENBQUM7TUFVUCxLQUFLLEVkNlV1QixNQUFNLEdjdlYxQjs7QUFvQlosZ0JBQWdCLENBQUM7RUN2QmYsWUFBWSxFQUFFLElBQUs7RUFDbkIsV0FBVyxFQUFFLElBQUs7RUFDbEIsWUFBWSxFQUFJLElBQU87RUFDdkIsYUFBYSxFQUFHLElBQU8sR0RvQlA7RUhmZixnQkFBZ0IsT0FBTztFQUMxQixnQkFBZ0IsTUFBTSxDQURaO0lBQ04sT0FBTyxFQUFFLEdBQUk7SUFDYixPQUFPLEVBQUUsS0FBTSxHQUZSO0VBSVIsZ0JBQWdCLE1BQU0sQ0FBZjtJQUNOLEtBQUssRUFBRSxJQUFLLEdBREw7O0FHb0JYLElBQUksQ0FBQztFQ3ZCSCxXQUFXLEVBQUksS0FBTztFQUN0QixZQUFZLEVBQUcsS0FBTyxHRHNCbEI7RUh4QkgsSUFBSSxPQUFPO0VBQ2QsSUFBSSxNQUFNLENBREE7SUFDTixPQUFPLEVBQUUsR0FBSTtJQUNiLE9BQU8sRUFBRSxLQUFNLEdBRlI7RUFJUixJQUFJLE1BQU0sQ0FBSDtJQUNOLEtBQUssRUFBRSxJQUFLLEdBREw7O0FLVFIsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQzFoQjtFQUNDLFFBQVEsRUFBRSxRQUFTO0VBRW5CLFVBQVUsRUFBRSxHQUFJO0VBRWhCLFlBQVksRUFBSSxJQUFrQjtFQUNsQyxhQUFhLEVBQUcsSUFBa0IsR0FObEM7O0FBZUQsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQ3JJO0VBQ0MsS0FBSyxFQUFFLElBQUssR0FEWjs7QUFPcUMsU0FBUyxDQUM3QztFQUNDLEtBQUssRUFBRSxRQUFVLEdBRGpCOztBQURtQyxTQUFTLENBQzdDO0VBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7O0FBRG1DLFNBQVMsQ0FDN0M7RUFDQyxLQUFLLEVBQUUsR0FBVSxHQURqQjs7QUFEbUMsU0FBUyxDQUM3QztFQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCOztBQURtQyxTQUFTLENBQzdDO0VBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7O0FBRG1DLFNBQVMsQ0FDN0M7RUFDQyxLQUFLLEVBQUUsR0FBVSxHQURqQjs7QUFEbUMsU0FBUyxDQUM3QztFQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCOztBQURtQyxTQUFTLENBQzdDO0VBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7O0FBRG1DLFNBQVMsQ0FDN0M7RUFDQyxLQUFLLEVBQUUsR0FBVSxHQURqQjs7QUFEbUMsVUFBVSxDQUM5QztFQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCOztBQURtQyxVQUFVLENBQzlDO0VBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7O0FBRG1DLFVBQVUsQ0FDOUM7RUFDQyxLQUFLLEVBQUUsSUFBVSxHQURqQjs7QUFtQm1DLGNBQWMsQ0FDbEQ7RUFDQyxLQUFLLEVBQUUsSUFBSyxHQURaOztBQU5rQyxjQUFjLENBQ2pEO0VBQ0MsS0FBSyxFQUFFLFFBQVUsR0FEakI7O0FBRGtDLGNBQWMsQ0FDakQ7RUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjs7QUFEa0MsY0FBYyxDQUNqRDtFQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCOztBQURrQyxjQUFjLENBQ2pEO0VBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7O0FBRGtDLGNBQWMsQ0FDakQ7RUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjs7QUFEa0MsY0FBYyxDQUNqRDtFQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCOztBQURrQyxjQUFjLENBQ2pEO0VBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7O0FBRGtDLGNBQWMsQ0FDakQ7RUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjs7QUFEa0MsY0FBYyxDQUNqRDtFQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCOztBQURrQyxlQUFlLENBQ2xEO0VBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7O0FBRGtDLGVBQWUsQ0FDbEQ7RUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjs7QUFEa0MsZUFBZSxDQUNsRDtFQUNDLEtBQUssRUFBRSxJQUFVLEdBRGpCOztBQU5tQyxjQUFjLENBQ2xEO0VBQ0MsSUFBSSxFQUFFLElBQUssR0FEWDs7QUFOa0MsY0FBYyxDQUNqRDtFQUNDLElBQUksRUFBRSxRQUFVLEdBRGhCOztBQURrQyxjQUFjLENBQ2pEO0VBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7O0FBRGtDLGNBQWMsQ0FDakQ7RUFDQyxJQUFJLEVBQUUsR0FBVSxHQURoQjs7QUFEa0MsY0FBYyxDQUNqRDtFQUNDLElBQUksRUFBRSxTQUFVLEdBRGhCOztBQURrQyxjQUFjLENBQ2pEO0VBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7O0FBRGtDLGNBQWMsQ0FDakQ7RUFDQyxJQUFJLEVBQUUsR0FBVSxHQURoQjs7QUFEa0MsY0FBYyxDQUNqRDtFQUNDLElBQUksRUFBRSxTQUFVLEdBRGhCOztBQURrQyxjQUFjLENBQ2pEO0VBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7O0FBRGtDLGNBQWMsQ0FDakQ7RUFDQyxJQUFJLEVBQUUsR0FBVSxHQURoQjs7QUFEa0MsZUFBZSxDQUNsRDtFQUNDLElBQUksRUFBRSxTQUFVLEdBRGhCOztBQURrQyxlQUFlLENBQ2xEO0VBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7O0FBRGtDLGVBQWUsQ0FDbEQ7RUFDQyxJQUFJLEVBQUUsSUFBVSxHQURoQjs7QUFtQm1CLGdCQUFnQixDQUNwQztFQUNDLFdBQVcsRUFBRSxFQUFVLEdBRHZCOztBQURtQixnQkFBZ0IsQ0FDcEM7RUFDQyxXQUFXLEVBQUUsUUFBVSxHQUR2Qjs7QUFEbUIsZ0JBQWdCLENBQ3BDO0VBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7O0FBRG1CLGdCQUFnQixDQUNwQztFQUNDLFdBQVcsRUFBRSxHQUFVLEdBRHZCOztBQURtQixnQkFBZ0IsQ0FDcEM7RUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2Qjs7QUFEbUIsZ0JBQWdCLENBQ3BDO0VBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7O0FBRG1CLGdCQUFnQixDQUNwQztFQUNDLFdBQVcsRUFBRSxHQUFVLEdBRHZCOztBQURtQixnQkFBZ0IsQ0FDcEM7RUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2Qjs7QUFEbUIsZ0JBQWdCLENBQ3BDO0VBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7O0FBRG1CLGdCQUFnQixDQUNwQztFQUNDLFdBQVcsRUFBRSxHQUFVLEdBRHZCOztBQURtQixpQkFBaUIsQ0FDckM7RUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2Qjs7QUFEbUIsaUJBQWlCLENBQ3JDO0VBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7O0FBRG1CLGlCQUFpQixDQUNyQztFQUNDLFdBQVcsRUFBRSxJQUFVLEdBRHZCOztBRklOLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztFRXRDZCxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FDckk7SUFDQyxLQUFLLEVBQUUsSUFBSyxHQURaO0VBT3FDLFNBQVMsQ0FDN0M7SUFDQyxLQUFLLEVBQUUsUUFBVSxHQURqQjtFQURtQyxTQUFTLENBQzdDO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEbUMsU0FBUyxDQUM3QztJQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCO0VBRG1DLFNBQVMsQ0FDN0M7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxTQUFTLENBQzdDO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEbUMsU0FBUyxDQUM3QztJQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCO0VBRG1DLFNBQVMsQ0FDN0M7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxTQUFTLENBQzdDO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEbUMsU0FBUyxDQUM3QztJQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCO0VBRG1DLFVBQVUsQ0FDOUM7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxVQUFVLENBQzlDO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEbUMsVUFBVSxDQUM5QztJQUNDLEtBQUssRUFBRSxJQUFVLEdBRGpCO0VBbUJtQyxjQUFjLENBQ2xEO0lBQ0MsS0FBSyxFQUFFLElBQUssR0FEWjtFQU5rQyxjQUFjLENBQ2pEO0lBQ0MsS0FBSyxFQUFFLFFBQVUsR0FEakI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxLQUFLLEVBQUUsR0FBVSxHQURqQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxLQUFLLEVBQUUsR0FBVSxHQURqQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxLQUFLLEVBQUUsR0FBVSxHQURqQjtFQURrQyxlQUFlLENBQ2xEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsZUFBZSxDQUNsRDtJQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCO0VBRGtDLGVBQWUsQ0FDbEQ7SUFDQyxLQUFLLEVBQUUsSUFBVSxHQURqQjtFQU5tQyxjQUFjLENBQ2xEO0lBQ0MsSUFBSSxFQUFFLElBQUssR0FEWDtFQU5rQyxjQUFjLENBQ2pEO0lBQ0MsSUFBSSxFQUFFLFFBQVUsR0FEaEI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLElBQUksRUFBRSxTQUFVLEdBRGhCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxJQUFJLEVBQUUsR0FBVSxHQURoQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLElBQUksRUFBRSxTQUFVLEdBRGhCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxJQUFJLEVBQUUsR0FBVSxHQURoQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLElBQUksRUFBRSxTQUFVLEdBRGhCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxJQUFJLEVBQUUsR0FBVSxHQURoQjtFQURrQyxlQUFlLENBQ2xEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsZUFBZSxDQUNsRDtJQUNDLElBQUksRUFBRSxTQUFVLEdBRGhCO0VBRGtDLGVBQWUsQ0FDbEQ7SUFDQyxJQUFJLEVBQUUsSUFBVSxHQURoQjtFQW1CbUIsZ0JBQWdCLENBQ3BDO0lBQ0MsV0FBVyxFQUFFLEVBQVUsR0FEdkI7RUFEbUIsZ0JBQWdCLENBQ3BDO0lBQ0MsV0FBVyxFQUFFLFFBQVUsR0FEdkI7RUFEbUIsZ0JBQWdCLENBQ3BDO0lBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7RUFEbUIsZ0JBQWdCLENBQ3BDO0lBQ0MsV0FBVyxFQUFFLEdBQVUsR0FEdkI7RUFEbUIsZ0JBQWdCLENBQ3BDO0lBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7RUFEbUIsZ0JBQWdCLENBQ3BDO0lBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7RUFEbUIsZ0JBQWdCLENBQ3BDO0lBQ0MsV0FBVyxFQUFFLEdBQVUsR0FEdkI7RUFEbUIsZ0JBQWdCLENBQ3BDO0lBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7RUFEbUIsZ0JBQWdCLENBQ3BDO0lBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7RUFEbUIsZ0JBQWdCLENBQ3BDO0lBQ0MsV0FBVyxFQUFFLEdBQVUsR0FEdkI7RUFEbUIsaUJBQWlCLENBQ3JDO0lBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7RUFEbUIsaUJBQWlCLENBQ3JDO0lBQ0MsV0FBVyxFQUFFLFNBQVUsR0FEdkI7RUFEbUIsaUJBQWlCLENBQ3JDO0lBQ0MsV0FBVyxFQUFFLElBQVUsR0FEdkI7O0FGYU4sTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0VFL0NkLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUNySTtJQUNDLEtBQUssRUFBRSxJQUFLLEdBRFo7RUFPcUMsU0FBUyxDQUM3QztJQUNDLEtBQUssRUFBRSxRQUFVLEdBRGpCO0VBRG1DLFNBQVMsQ0FDN0M7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxTQUFTLENBQzdDO0lBQ0MsS0FBSyxFQUFFLEdBQVUsR0FEakI7RUFEbUMsU0FBUyxDQUM3QztJQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCO0VBRG1DLFNBQVMsQ0FDN0M7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxTQUFTLENBQzdDO0lBQ0MsS0FBSyxFQUFFLEdBQVUsR0FEakI7RUFEbUMsU0FBUyxDQUM3QztJQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCO0VBRG1DLFNBQVMsQ0FDN0M7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxTQUFTLENBQzdDO0lBQ0MsS0FBSyxFQUFFLEdBQVUsR0FEakI7RUFEbUMsVUFBVSxDQUM5QztJQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCO0VBRG1DLFVBQVUsQ0FDOUM7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxVQUFVLENBQzlDO0lBQ0MsS0FBSyxFQUFFLElBQVUsR0FEakI7RUFtQm1DLGNBQWMsQ0FDbEQ7SUFDQyxLQUFLLEVBQUUsSUFBSyxHQURaO0VBTmtDLGNBQWMsQ0FDakQ7SUFDQyxLQUFLLEVBQUUsUUFBVSxHQURqQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCO0VBRGtDLGVBQWUsQ0FDbEQ7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURrQyxlQUFlLENBQ2xEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsZUFBZSxDQUNsRDtJQUNDLEtBQUssRUFBRSxJQUFVLEdBRGpCO0VBTm1DLGNBQWMsQ0FDbEQ7SUFDQyxJQUFJLEVBQUUsSUFBSyxHQURYO0VBTmtDLGNBQWMsQ0FDakQ7SUFDQyxJQUFJLEVBQUUsUUFBVSxHQURoQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLElBQUksRUFBRSxHQUFVLEdBRGhCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxJQUFJLEVBQUUsU0FBVSxHQURoQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLElBQUksRUFBRSxHQUFVLEdBRGhCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxJQUFJLEVBQUUsU0FBVSxHQURoQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLElBQUksRUFBRSxHQUFVLEdBRGhCO0VBRGtDLGVBQWUsQ0FDbEQ7SUFDQyxJQUFJLEVBQUUsU0FBVSxHQURoQjtFQURrQyxlQUFlLENBQ2xEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsZUFBZSxDQUNsRDtJQUNDLElBQUksRUFBRSxJQUFVLEdBRGhCO0VBbUJtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsRUFBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsUUFBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsR0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsR0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsR0FBVSxHQUR2QjtFQURtQixpQkFBaUIsQ0FDckM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixpQkFBaUIsQ0FDckM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixpQkFBaUIsQ0FDckM7SUFDQyxXQUFXLEVBQUUsSUFBVSxHQUR2Qjs7QUZzQk4sTUFBTSxFQUFMLFNBQVMsRUFBRSxNQUFNO0VFeERmLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUNySTtJQUNDLEtBQUssRUFBRSxJQUFLLEdBRFo7RUFPcUMsU0FBUyxDQUM3QztJQUNDLEtBQUssRUFBRSxRQUFVLEdBRGpCO0VBRG1DLFNBQVMsQ0FDN0M7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxTQUFTLENBQzdDO0lBQ0MsS0FBSyxFQUFFLEdBQVUsR0FEakI7RUFEbUMsU0FBUyxDQUM3QztJQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCO0VBRG1DLFNBQVMsQ0FDN0M7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxTQUFTLENBQzdDO0lBQ0MsS0FBSyxFQUFFLEdBQVUsR0FEakI7RUFEbUMsU0FBUyxDQUM3QztJQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCO0VBRG1DLFNBQVMsQ0FDN0M7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxTQUFTLENBQzdDO0lBQ0MsS0FBSyxFQUFFLEdBQVUsR0FEakI7RUFEbUMsVUFBVSxDQUM5QztJQUNDLEtBQUssRUFBRSxTQUFVLEdBRGpCO0VBRG1DLFVBQVUsQ0FDOUM7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURtQyxVQUFVLENBQzlDO0lBQ0MsS0FBSyxFQUFFLElBQVUsR0FEakI7RUFtQm1DLGNBQWMsQ0FDbEQ7SUFDQyxLQUFLLEVBQUUsSUFBSyxHQURaO0VBTmtDLGNBQWMsQ0FDakQ7SUFDQyxLQUFLLEVBQUUsUUFBVSxHQURqQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLEtBQUssRUFBRSxHQUFVLEdBRGpCO0VBRGtDLGVBQWUsQ0FDbEQ7SUFDQyxLQUFLLEVBQUUsU0FBVSxHQURqQjtFQURrQyxlQUFlLENBQ2xEO0lBQ0MsS0FBSyxFQUFFLFNBQVUsR0FEakI7RUFEa0MsZUFBZSxDQUNsRDtJQUNDLEtBQUssRUFBRSxJQUFVLEdBRGpCO0VBTm1DLGNBQWMsQ0FDbEQ7SUFDQyxJQUFJLEVBQUUsSUFBSyxHQURYO0VBTmtDLGNBQWMsQ0FDakQ7SUFDQyxJQUFJLEVBQUUsUUFBVSxHQURoQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLElBQUksRUFBRSxHQUFVLEdBRGhCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxJQUFJLEVBQUUsU0FBVSxHQURoQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLElBQUksRUFBRSxHQUFVLEdBRGhCO0VBRGtDLGNBQWMsQ0FDakQ7SUFDQyxJQUFJLEVBQUUsU0FBVSxHQURoQjtFQURrQyxjQUFjLENBQ2pEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsY0FBYyxDQUNqRDtJQUNDLElBQUksRUFBRSxHQUFVLEdBRGhCO0VBRGtDLGVBQWUsQ0FDbEQ7SUFDQyxJQUFJLEVBQUUsU0FBVSxHQURoQjtFQURrQyxlQUFlLENBQ2xEO0lBQ0MsSUFBSSxFQUFFLFNBQVUsR0FEaEI7RUFEa0MsZUFBZSxDQUNsRDtJQUNDLElBQUksRUFBRSxJQUFVLEdBRGhCO0VBbUJtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsRUFBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsUUFBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsR0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsR0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixnQkFBZ0IsQ0FDcEM7SUFDQyxXQUFXLEVBQUUsR0FBVSxHQUR2QjtFQURtQixpQkFBaUIsQ0FDckM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixpQkFBaUIsQ0FDckM7SUFDQyxXQUFXLEVBQUUsU0FBVSxHQUR2QjtFQURtQixpQkFBaUIsQ0FDckM7SUFDQyxXQUFXLEVBQUUsSUFBVSxHQUR2Qjs7QUN0RE4sS0FBSyxDQUFDO0VBQ0osZ0JBQWdCLEVqQm9JYyxXQUFXLEdpQnJJcEM7O0FBR1AsT0FBTyxDQUFDO0VBQ04sV0FBVyxFakI0SG1CLEdBQUc7RWlCM0hqQyxjQUFjLEVqQjJIZ0IsR0FBRztFaUIxSGpDLEtBQUssRWpCUWtCLE9BQU87RWlCUDlCLFVBQVUsRUFBRSxJQUFLLEdBSlY7O0FBTVQsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLElBQUssR0FEZjs7QUFPSixNQUFNLENBQUM7RUFDTCxLQUFLLEVBQUUsSUFBSztFQUNaLFNBQVMsRUFBRSxJQUFLO0VBQ2hCLGFBQWEsRWpCNkNXLElBQUssR2lCaER2QjtFQVVBLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDaEMsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUN4QixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFO0VBQ3hCLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDeEIsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUN4QixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBTGI7SUFDSCxPQUFPLEVqQnFHaUIsR0FBRztJaUJwRzNCLFdBQVcsRWpCa0NPLE9BQVc7SWlCakM3QixjQUFjLEVBQUUsR0FBSTtJQUNwQixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pCK0dHLElBQUksR2lCbkh4QjtFQVNLLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBckI7SUFDaEIsY0FBYyxFQUFFLE1BQU87SUFDdkIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqQndHSSxJQUFJLEdpQjFHZjtFQVViLE1BQU0sR0FBRyxPQUFPLEdBQUcsS0FBSyxHQUFHLEVBQUUsWUFBWSxHQUFHLEVBQUU7RUFDdEQsTUFBTSxHQUFHLE9BQU8sR0FBRyxLQUFLLEdBQUcsRUFBRSxZQUFZLEdBQUcsRUFBRTtFQUM5QyxNQUFNLEdBQUcsUUFBUSxHQUFHLEtBQUssR0FBRyxFQUFFLFlBQVksR0FBRyxFQUFFO0VBQy9DLE1BQU0sR0FBRyxRQUFRLEdBQUcsS0FBSyxHQUFHLEVBQUUsWUFBWSxHQUFHLEVBQUU7RUFDL0MsTUFBTSxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsWUFBWSxHQUFHLEVBQUU7RUFDaEQsTUFBTSxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsWUFBWSxHQUFHLEVBQUUsQ0FMckM7SUFDSCxVQUFVLEVBQUUsQ0FBRSxHQURWO0VBTUEsTUFBTSxHQUFHLEtBQUssR0FBRyxLQUFLLENBQWhCO0lBQ2QsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqQnlGTyxJQUFJLEdpQjFGakI7RUFLakIsTUFBTSxDQUFDLE1BQU0sQ0FBTjtJQUNMLGdCQUFnQixFakI3QkksSUFBSSxHaUI0QmxCOztBQWNGLGdCQUFnQixHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRTtBQUMxQyxnQkFBZ0IsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDbEMsZ0JBQWdCLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ2xDLGdCQUFnQixHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRTtBQUNsQyxnQkFBZ0IsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDbEMsZ0JBQWdCLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBTHZCO0VBQ0gsT0FBTyxFakIyRGlCLEdBQUcsR2lCNUR2Qjs7QUFZWixlQUFlLENBQUM7RUFDZCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pCMERhLElBQUksR2lCM0RuQjtFQU9ULGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDekMsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUNqQyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFO0VBQ2pDLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDakMsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUNqQyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBTHRCO0lBQ0gsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqQm1ETyxJQUFJLEdpQnBEeEI7RUFPTixlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFO0VBQ3ZDLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FEeEI7SUFDSCxtQkFBbUIsRUFBRSxHQUFJLEdBRHJCOztBQVlvQixjQUFjLEdBQUcsS0FBSyxHQUFHLEVBQUUsYUFBQSxBQUFhLEdBQUEsRUFBdEM7RUFDNUIsZ0JBQWdCLEVqQjBCWSxPQUFPLEdpQjNCTjs7QUFXbkIsWUFBWSxHQUFHLEtBQUssR0FBRyxFQUFFLE1BQU0sQ0FBeEI7RUFDakIsZ0JBQWdCLEVqQmlCWSxPQUFPLEdpQmxCakI7O0FBVUMsS0FBSyxDQUFDLEdBQUcsQ0FBQSxLQUFDLEVBQU8sTUFBUCxBQUFhLEVBQXJCO0VBQ3ZCLFFBQVEsRUFBRSxNQUFPO0VBQ2pCLEtBQUssRUFBRSxJQUFLO0VBQ1osT0FBTyxFQUFFLFlBQWEsR0FIRTs7QUFRUCxLQUFLLENBQUMsRUFBRSxDQUFBLEtBQUMsRUFBTyxNQUFQLEFBQWE7QUFDekMsS0FBSyxDQUFDLEVBQUUsQ0FBQSxLQUFDLEVBQU8sTUFBUCxBQUFhLEVBREQ7RUFDZixRQUFRLEVBQUUsTUFBTztFQUNqQixLQUFLLEVBQUUsSUFBSztFQUNaLE9BQU8sRUFBRSxVQUFXLEdBSEo7O0FDdklDLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTztBQUN0RCxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU87QUFDL0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLE9BQU8sR0FBRyxFQUFFO0FBQy9CLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxPQUFPLEdBQUcsRUFBRTtBQUMvQixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU87QUFDL0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPO0FBQy9CLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxPQUFPLEdBQUcsRUFBRTtBQUMvQixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsT0FBTyxHQUFHLEVBQUU7QUFDL0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPO0FBQy9CLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTztBQUMvQixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsT0FBTyxHQUFHLEVBQUU7QUFDL0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLE9BQU8sR0FBRyxFQUFFLENBVjFCO0VBQ0MsZ0JBQWdCLEVsQnFJVSxPQUFPLEdrQnRJakM7O0FBT3VCLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxNQUFNO0FBQ3hFLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxNQUFNO0FBQzNDLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxPQUFPLE1BQU0sR0FBRyxFQUFFO0FBQzNDLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxNQUFNLEdBQUcsT0FBTztBQUN6QyxZQUFZLEdBQUcsS0FBSyxHQUFHLEVBQUUsT0FBTyxNQUFNLEdBQUcsRUFBRSxDQUh0QztFQUNDLGdCQUFnQixFQUFFLE9BQU0sR0FEeEI7O0FBVGlCLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUTtBQUN2RCxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVE7QUFDaEMsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLFFBQVEsR0FBRyxFQUFFO0FBQ2hDLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxRQUFRLEdBQUcsRUFBRTtBQUNoQyxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVE7QUFDaEMsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRO0FBQ2hDLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxRQUFRLEdBQUcsRUFBRTtBQUNoQyxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsUUFBUSxHQUFHLEVBQUU7QUFDaEMsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRO0FBQ2hDLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUTtBQUNoQyxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsUUFBUSxHQUFHLEVBQUU7QUFDaEMsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLFFBQVEsR0FBRyxFQUFFLENBVjNCO0VBQ0MsZ0JBQWdCLEVsQjRlVyxPQUFPLEdrQjdlbEM7O0FBT3VCLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxNQUFNO0FBQ3pFLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxNQUFNO0FBQzVDLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxRQUFRLE1BQU0sR0FBRyxFQUFFO0FBQzVDLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxNQUFNLEdBQUcsUUFBUTtBQUMxQyxZQUFZLEdBQUcsS0FBSyxHQUFHLEVBQUUsUUFBUSxNQUFNLEdBQUcsRUFBRSxDQUh2QztFQUNDLGdCQUFnQixFQUFFLE9BQU0sR0FEeEI7O0FBVGlCLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSztBQUNwRCxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUs7QUFDN0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEtBQUssR0FBRyxFQUFFO0FBQzdCLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxLQUFLLEdBQUcsRUFBRTtBQUM3QixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUs7QUFDN0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLO0FBQzdCLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxLQUFLLEdBQUcsRUFBRTtBQUM3QixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsS0FBSyxHQUFHLEVBQUU7QUFDN0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLO0FBQzdCLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSztBQUM3QixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsS0FBSyxHQUFHLEVBQUU7QUFDN0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEtBQUssR0FBRyxFQUFFLENBVnhCO0VBQ0MsZ0JBQWdCLEVsQmdmVyxPQUFPLEdrQmpmbEM7O0FBT3VCLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxNQUFNO0FBQ3RFLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxNQUFNO0FBQ3pDLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxLQUFLLE1BQU0sR0FBRyxFQUFFO0FBQ3pDLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxNQUFNLEdBQUcsS0FBSztBQUN2QyxZQUFZLEdBQUcsS0FBSyxHQUFHLEVBQUUsS0FBSyxNQUFNLEdBQUcsRUFBRSxDQUhwQztFQUNDLGdCQUFnQixFQUFFLE9BQU0sR0FEeEI7O0FBVGlCLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUTtBQUN2RCxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVE7QUFDaEMsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLFFBQVEsR0FBRyxFQUFFO0FBQ2hDLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxRQUFRLEdBQUcsRUFBRTtBQUNoQyxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVE7QUFDaEMsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRO0FBQ2hDLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxRQUFRLEdBQUcsRUFBRTtBQUNoQyxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsUUFBUSxHQUFHLEVBQUU7QUFDaEMsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRO0FBQ2hDLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUTtBQUNoQyxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsUUFBUSxHQUFHLEVBQUU7QUFDaEMsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLFFBQVEsR0FBRyxFQUFFLENBVjNCO0VBQ0MsZ0JBQWdCLEVsQm9mVyxPQUFPLEdrQnJmbEM7O0FBT3VCLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxNQUFNO0FBQ3pFLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxNQUFNO0FBQzVDLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxRQUFRLE1BQU0sR0FBRyxFQUFFO0FBQzVDLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxNQUFNLEdBQUcsUUFBUTtBQUMxQyxZQUFZLEdBQUcsS0FBSyxHQUFHLEVBQUUsUUFBUSxNQUFNLEdBQUcsRUFBRSxDQUh2QztFQUNDLGdCQUFnQixFQUFFLE9BQU0sR0FEeEI7O0FBVGlCLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTztBQUN0RCxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU87QUFDL0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLE9BQU8sR0FBRyxFQUFFO0FBQy9CLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxPQUFPLEdBQUcsRUFBRTtBQUMvQixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU87QUFDL0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPO0FBQy9CLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxPQUFPLEdBQUcsRUFBRTtBQUMvQixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsT0FBTyxHQUFHLEVBQUU7QUFDL0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPO0FBQy9CLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTztBQUMvQixNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsT0FBTyxHQUFHLEVBQUU7QUFDL0IsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLE9BQU8sR0FBRyxFQUFFLENBVjFCO0VBQ0MsZ0JBQWdCLEVsQndmVyxPQUFPLEdrQnpmbEM7O0FBT3VCLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxNQUFNO0FBQ3hFLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxNQUFNO0FBQzNDLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxPQUFPLE1BQU0sR0FBRyxFQUFFO0FBQzNDLFlBQVksR0FBRyxLQUFLLEdBQUcsRUFBRSxNQUFNLEdBQUcsT0FBTztBQUN6QyxZQUFZLEdBQUcsS0FBSyxHQUFHLEVBQUUsT0FBTyxNQUFNLEdBQUcsRUFBRSxDQUh0QztFQUNDLGdCQUFnQixFQUFFLE9BQU0sR0FEeEI7O0FEMEpOLGlCQUFpQixDQUFDO0VBQ2hCLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFVBQVUsRUFBRSxLQUFNLEdBRkQ7RUFJakIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJQUo5QixpQkFBaUIsQ0FBQztNQUtkLEtBQUssRUFBRSxJQUFLO01BQ1osYUFBYSxFQUFHLE1BQXFCO01BQ3JDLFVBQVUsRUFBRSxNQUFPO01BQ25CLGtCQUFrQixFQUFFLHdCQUF5QjtNQUM3QyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pCakNXLElBQUksR2lCd0JqQjtNQVliLGlCQUFpQixHQUFHLE1BQU0sQ0FBbkI7UUFDUCxhQUFhLEVBQUUsQ0FBRSxHQURUO1FBU0YsaUJBQWlCLEdBQUcsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRTtRQUN4RCxpQkFBaUIsR0FBRyxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFO1FBQzVDLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUU7UUFDNUMsaUJBQWlCLEdBQUcsTUFBTSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRTtRQUM1QyxpQkFBaUIsR0FBRyxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFO1FBQzVDLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FMN0I7VUFDSCxXQUFXLEVBQUUsTUFBTyxHQURoQjtNQVFWLGlCQUFpQixHQUFHLGVBQWUsQ0FBbkI7UUFDaEIsTUFBTSxFQUFFLENBQUUsR0FETztRQVNULGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWTtRQUMvRSxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVk7UUFDakUsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZO1FBQ2pFLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWTtRQUNqRSxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVk7UUFDakUsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZLENBTHRDO1VBQ2YsV0FBVyxFQUFFLENBQUUsR0FEQztRQUlkLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVztRQUM5RSxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFdBQVc7UUFDaEUsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxXQUFXO1FBQ2hFLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVztRQUNoRSxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFdBQVc7UUFDaEUsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxXQUFXLENBTHRDO1VBQ2QsWUFBWSxFQUFFLENBQUUsR0FERDtRQWFmLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUM1RSxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsV0FBVyxHQUFHLEVBQUU7UUFDaEUsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLFdBQVcsR0FBRyxFQUFFO1FBQ2hFLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxXQUFXLEdBQUcsRUFBRSxDQUhqRDtVQUNILGFBQWEsRUFBRSxDQUFFLEdBRGI7O0FFeE5oQixRQUFRLENBQUM7RUFDUCxPQUFPLEVBQUUsQ0FBRTtFQUNYLE1BQU0sRUFBRSxDQUFFO0VBQ1YsTUFBTSxFQUFFLENBQUU7RUFJVixTQUFTLEVBQUUsQ0FBRSxHQVBMOztBQVVWLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxLQUFNO0VBQ2YsS0FBSyxFQUFFLElBQUs7RUFDWixPQUFPLEVBQUUsQ0FBRTtFQUNYLGFBQWEsRW5COENXLElBQUs7RW1CN0M3QixTQUFTLEVBQUcsSUFBZTtFQUMzQixXQUFXLEVBQUUsT0FBUTtFQUNyQixLQUFLLEVuQlRrQixPQUFPO0VtQlU5QixNQUFNLEVBQUUsQ0FBRTtFQUNWLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDbkJpTU8sT0FBTyxHbUIxTWhDOztBQVlSLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLFNBQVMsRUFBRSxJQUFLO0VBQ2hCLGFBQWEsRUFBRSxHQUFJO0VBQ25CLFdBQVcsRUFBRSxJQUFLLEdBSmI7O0FBZVksS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsRUFBakI7RWQ0Qm5CLGtCQUFrQixFYzNCRSxVQUFVO0VkNEIzQixlQUFlLEVjNUJFLFVBQVU7RWQ2QnRCLFVBQVUsRWM3QkUsVUFBVSxHQURWOztBQU1ELEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZO0FBQ3ZDLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlLEVBREU7RUFDckIsTUFBTSxFQUFFLE9BQVE7RUFDaEIsVUFBVSxFQUFFLE1BQU87RUFDbkIsV0FBVyxFQUFFLE1BQU8sR0FIRTs7QUFPUCxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxFQUFmO0VBQ2pCLE9BQU8sRUFBRSxLQUFNLEdBREc7O0FBS0YsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksRUFBaEI7RUFDbEIsT0FBTyxFQUFFLEtBQU07RUFDZixLQUFLLEVBQUUsSUFBSyxHQUZPOztBQU9WLE1BQU0sQ0FBQSxRQUFDO0FBQ2xCLE1BQU0sQ0FBQSxJQUFDLEVBRE07RUFDWCxNQUFNLEVBQUUsSUFBSyxHQUREOztBQU9RLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsTUFBTTtBQUM5QyxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLE1BQU07QUFDekIsS0FBSyxDQUFBLElBQUMsQ0FBSyxVQUFMLEFBQWUsQ0FBQyxNQUFNLENBRkM7RWIxRTNCLE9BQU8sRUFBRSxXQUFZO0VBRXJCLE9BQU8sRUFBRSxpQ0FBa0M7RUFDM0MsY0FBYyxFQUFFLElBQUssR2F1RU87O0FBSzlCLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxLQUFNO0VBQ2YsV0FBVyxFQUFHLEdBQXNCO0VBQ3BDLFNBQVMsRW5CL0JlLElBQUk7RW1CZ0M1QixXQUFXLEVuQnBCYSxPQUFXO0VtQnFCbkMsS0FBSyxFQ3ZFb0IsT0FBTyxHRGtFMUI7O0FBK0JSLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxLQUFNO0VBQ2YsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVuQjhGMEIsSUFBcUI7RW1CN0ZyRCxPQUFPLEVuQnBCbUIsR0FBRyxDQUNILElBQUk7RW1Cb0I5QixTQUFTLEVuQmhFZSxJQUFJO0VtQmlFNUIsV0FBVyxFbkJyRGEsT0FBVztFbUJzRG5DLEtBQUssRUN4R29CLE9BQU87RUR5R2hDLGdCQUFnQixFbkJpRWUsSUFBSTtFbUJoRW5DLGdCQUFnQixFQUFFLElBQUs7RUFDdkIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENuQnNFYyxJQUFJO0VtQnJFbkMsYUFBYSxFbkJaYSxHQUFHO0VLN0M3QixrQkFBa0IsRWMwREUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG9CQUFJO0VkekRoQyxVQUFVLEVjeURFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBSTtFZDJEeEMsa0JBQWtCLEVjMURFLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSTtFZDJEekUsYUFBYSxFYzNERSxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUk7RWQ0RHRFLFVBQVUsRWM1REUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFJLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFJLEdBYmpFO0VFMURaLGFBQWEsTUFBTSxDQUFaO0lBQ04sWUFBWSxFckJvSmlCLE9BQU87SXFCbkpwQyxPQUFPLEVBQUUsQ0FBRTtJaEJVYixrQkFBa0IsRWdCVEksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG9CQUFJLEVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBSmxELHdCQUFJO0loQmNULFVBQVUsRWdCVkksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG9CQUFJLEVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBSmxELHdCQUFJLEdBQ1I7RWhCOENSLGFBQWEsa0JBQWtCLENBQVo7SUFDbEIsS0FBSyxFTHlHd0IsSUFBSTtJS3hHakMsT0FBTyxFQUFFLENBQUUsR0FGUTtFQUlwQixhQUFhLHNCQUFzQixDQUFaO0lBQUUsS0FBSyxFTHNHQSxJQUFJLEdLdEdWO0VBQ3hCLGFBQWEsMkJBQTJCLENBQVg7SUFBRSxLQUFLLEVMcUdOLElBQUksR0tyR0o7RWNtQ1osYUFBYSxDQUFBLFFBQUM7RUFDbkMsYUFBYSxDQUFBLFFBQUM7RUFDZCxRQUFRLENBQUEsUUFBQyxFQUFVLGFBQWEsQ0FGVDtJQUNuQixnQkFBZ0IsRW5CM0hLLE9BQU87SW1CNEg1QixPQUFPLEVBQUUsQ0FBRSxHQUZTO0VBTUgsYUFBYSxDQUFBLFFBQUM7RUFDbkMsUUFBUSxDQUFBLFFBQUMsRUFBVSxhQUFhLENBRFQ7SUFDbkIsTUFBTSxFbkJnRnVCLFdBQVcsR21CakZwQjs7QUFRaEIsUUFBUSxhQUFhLENBQVA7RUFDcEIsTUFBTSxFQUFFLElBQUssR0FEUTs7QUFZSixLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxFQUFqQjtFQUNuQixrQkFBa0IsRUFBRSxJQUFLLEdBREw7O0FBWXRCLE1BQU0sQ0FBTixNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQztFQUl6QixLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVztFQUNyQyxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVztFQUNqQixLQUFLLENBQUEsSUFBQyxDQUFLLGdCQUFMLEFBQXFCO0VBQzNCLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLEVBSEk7SUFDbEIsV0FBVyxFbkIwQm1CLElBQXFCLEdtQjNCaEM7SUFJSCxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLFNBQVM7SUFDL0MsZUFBZSxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsYUFBYTtJQUNqRCxlQUFlLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxrQkFBa0I7SUFDdEQsZUFBZSxHQUFHLGdCQUFnQixHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsSUFBSTtJQUMzRCxlQUFlLENBQUMsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVc7SUFDakMsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxTQUFTO0lBQzNCLGVBQWUsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLGFBQWE7SUFDakQsZUFBZSxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsa0JBQWtCO0lBQ3RELGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLElBQUk7SUFDM0QsZUFBZSxDQUFDLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXO0lBQ2pDLEtBQUssQ0FBQSxJQUFDLENBQUssZ0JBQUwsQUFBcUIsQ0FBQyxTQUFTO0lBQ3JDLGVBQWUsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLGdCQUFMLEFBQXFCLENBQUMsYUFBYTtJQUMzRCxlQUFlLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxnQkFBTCxBQUFxQixDQUFDLGtCQUFrQjtJQUNoRSxlQUFlLEdBQUcsZ0JBQWdCLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxnQkFBTCxBQUFxQixDQUFDLElBQUk7SUFDckUsZUFBZSxDQUFDLEtBQUssQ0FBQSxJQUFDLENBQUssZ0JBQUwsQUFBcUI7SUFDM0MsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxTQUFTO0lBQzVCLGVBQWUsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLGFBQWE7SUFDbEQsZUFBZSxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsa0JBQWtCO0lBQ3ZELGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLElBQUk7SUFDNUQsZUFBZSxDQUFDLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLEVBbkJaO01BQ2hCLFdBQVcsRW5CMEJpQixJQUFLLEdtQjNCaEI7SUFLSCxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLFNBQVM7SUFDL0MsZUFBZSxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsYUFBYTtJQUNqRCxlQUFlLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxrQkFBa0I7SUFDdEQsZUFBZSxHQUFHLGdCQUFnQixHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsSUFBSTtJQUMzRCxlQUFlLENBQUMsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVc7SUFDakMsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxTQUFTO0lBQzNCLGVBQWUsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLGFBQWE7SUFDakQsZUFBZSxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsa0JBQWtCO0lBQ3RELGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLElBQUk7SUFDM0QsZUFBZSxDQUFDLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXO0lBQ2pDLEtBQUssQ0FBQSxJQUFDLENBQUssZ0JBQUwsQUFBcUIsQ0FBQyxTQUFTO0lBQ3JDLGVBQWUsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLGdCQUFMLEFBQXFCLENBQUMsYUFBYTtJQUMzRCxlQUFlLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxnQkFBTCxBQUFxQixDQUFDLGtCQUFrQjtJQUNoRSxlQUFlLEdBQUcsZ0JBQWdCLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxnQkFBTCxBQUFxQixDQUFDLElBQUk7SUFDckUsZUFBZSxDQUFDLEtBQUssQ0FBQSxJQUFDLENBQUssZ0JBQUwsQUFBcUI7SUFDM0MsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxTQUFTO0lBQzVCLGVBQWUsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLGFBQWE7SUFDbEQsZUFBZSxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsa0JBQWtCO0lBQ3ZELGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLElBQUk7SUFDNUQsZUFBZSxDQUFDLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLEVBbkJaO01BQ2hCLFdBQVcsRW5CbUJpQixJQUFJLEdtQnBCZjs7QUFZdkIsV0FBVyxDQUFDO0VBQ1YsYUFBYSxFbkJZa0IsSUFBSSxHbUJieEI7O0FBVWIsTUFBTTtBQUNOLFNBQVMsQ0FEQztFQUNSLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRUFBRSxLQUFNO0VBQ2YsVUFBVSxFQUFFLElBQUs7RUFDakIsYUFBYSxFQUFFLElBQUssR0FKWDtFQU1ULE1BQU0sQ0FBQyxLQUFLO0VBQ2QsU0FBUyxDQUFDLEtBQUssQ0FEUDtJQUNKLFVBQVUsRW5CekpZLElBQUs7SW1CMEozQixZQUFZLEVBQUUsSUFBSztJQUNuQixhQUFhLEVBQUUsQ0FBRTtJQUNqQixXQUFXLEVBQUUsTUFBTztJQUNwQixNQUFNLEVBQUUsT0FBUSxHQUxYOztBQVc2QixNQUFNLENBQUMsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVk7QUFDL0QsYUFBYSxDQUFDLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZO0FBQ2hDLFNBQVMsQ0FBQyxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZTtBQUMvQixnQkFBZ0IsQ0FBQyxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxFQUhFO0VBQ3RDLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFdBQVcsRUFBRSxLQUFNO0VBQ25CLFVBQVUsRUFBRSxNQUFPLEdBSG9COztBQU83QixNQUFNLEdBQUcsTUFBTTtBQUMzQixTQUFTLEdBQUcsU0FBUyxDQURDO0VBQ3BCLFVBQVUsRUFBRSxJQUFLLEdBREk7O0FBTXZCLGFBQWE7QUFDYixnQkFBZ0IsQ0FEQztFQUNmLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLFlBQVksRUFBRSxJQUFLO0VBQ25CLGFBQWEsRUFBRSxDQUFFO0VBQ2pCLGNBQWMsRUFBRSxNQUFPO0VBQ3ZCLFdBQVcsRUFBRSxNQUFPO0VBQ3BCLE1BQU0sRUFBRSxPQUFRLEdBUEE7O0FBVUMsYUFBYSxHQUFHLGFBQWE7QUFDaEQsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBREM7RUFDbEMsVUFBVSxFQUFFLENBQUU7RUFDZCxXQUFXLEVBQUUsSUFBSyxHQUZpQjs7QUFhaEIsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksRUFBQyxRQUFDO0FBQ3pDLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsU0FBUztBQUM1QixRQUFRLENBQUEsUUFBQyxFQUFVLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZO0FBQ3JDLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlLEVBQUMsUUFBQztBQUN2QixLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxDQUFDLFNBQVM7QUFDL0IsUUFBUSxDQUFBLFFBQUMsRUFBVSxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxFQUxqQjtFQUNuQixNQUFNLEVuQnhDdUIsV0FBVyxHbUJ1Q3BCOztBQVFILGFBQWEsU0FBUztBQUMzQyxRQUFRLENBQUEsUUFBQyxFQUFVLGFBQWE7QUFDaEMsZ0JBQWdCLFNBQVM7QUFDekIsUUFBUSxDQUFBLFFBQUMsRUFBVSxnQkFBZ0IsQ0FIWjtFQUNuQixNQUFNLEVuQmhEdUIsV0FBVyxHbUIrQ3BCOztBQVNwQixNQUFNLFNBQVMsQ0FBQyxLQUFLO0FBQ3pCLFFBQVEsQ0FBQSxRQUFDLEVBQVUsTUFBTSxDQUFDLEtBQUs7QUFDL0IsU0FBUyxTQUFTLENBQUMsS0FBSztBQUN4QixRQUFRLENBQUEsUUFBQyxFQUFVLFNBQVMsQ0FBQyxLQUFLLENBSHhCO0VBQ0osTUFBTSxFbkJ6RHFCLFdBQVcsR21Cd0RqQzs7QUFZWCxvQkFBb0IsQ0FBQztFQUVuQixXQUFXLEVBQUcsR0FBc0I7RUFDcEMsY0FBYyxFQUFHLEdBQXNCO0VBRXZDLGFBQWEsRUFBRSxDQUFFO0VBQ2pCLFVBQVUsRUFBRyxJQUFxQixHQU5kO0VBU25CLG9CQUFvQixTQUFTO0VBQ2hDLGVBQWUsR0FBRyxvQkFBb0IsYUFBYTtFQUNuRCxlQUFlLEdBQUcsb0JBQW9CLGtCQUFrQjtFQUN4RCxlQUFlLEdBQUcsZ0JBQWdCLEdBQUcsb0JBQW9CLElBQUk7RUFDN0Qsb0JBQW9CLFNBQVMsRUFBRSxlQUFlLEdBQUcsb0JBQW9CLGFBQWE7RUFDbEYsZUFBZSxHQUFHLG9CQUFvQixrQkFBa0I7RUFDeEQsZUFBZSxHQUFHLGdCQUFnQixHQUFHLG9CQUFvQixJQUFJLENBTmhEO0lBQ1QsWUFBWSxFQUFFLENBQUU7SUFDaEIsYUFBYSxFQUFFLENBQUUsR0FGUDs7QUU3TytHLFNBQVMsRUFBRSxlQUFlLEdBQUcsYUFBYTtBQUN2SyxlQUFlLEdBQUcsa0JBQWtCO0FBQ3BDLGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBRHRDO0VBQ0MsTUFBTSxFckJnSndCLElBQUs7RXFCL0luQyxPQUFPLEVyQmdDaUIsR0FBRyxDQUNILElBQUk7RXFCaEM1QixTQUFTLEVyQmhCYSxJQUFJO0VxQmlCMUIsV0FBVyxFckJxQ2EsR0FBRztFcUJwQzNCLGFBQWEsRXJCd0NXLEdBQUcsR3FCN0MzQjs7QUFNRCxNQUFNLFNBQVMsRUFBRSxlQUFlLEdBQUcsTUFBTSxhQUFhO0FBQ3pELGVBQWUsR0FBRyxNQUFNLGtCQUFrQjtBQUMxQyxlQUFlLEdBQUcsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQTVDO0VBQ0MsTUFBTSxFckJ3SXdCLElBQUs7RXFCdkluQyxXQUFXLEVyQnVJbUIsSUFBSyxHcUJ6SW5DOztBQUdELFFBQVEsU0FBUztBQUNwQixlQUFlLEdBQUcsUUFBUSxhQUFhO0FBQ3ZDLGVBQWUsR0FBRyxRQUFRLGtCQUFrQjtBQUM1QyxlQUFlLEdBQUcsZ0JBQWdCLEdBQUcsUUFBUSxJQUFJO0FBQ2pELE1BQU0sQ0FBQSxRQUFDLENBQVMsU0FBUyxFQUFFLGVBQWUsR0FBRyxNQUFNLENBQUEsUUFBQyxDQUFTLGFBQWE7QUFDMUUsZUFBZSxHQUFHLE1BQU0sQ0FBQSxRQUFDLENBQVMsa0JBQWtCO0FBQ3BELGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUEsUUFBQyxDQUFTLElBQUksQ0FKdEQ7RUFDQyxNQUFNLEVBQUUsSUFBSyxHQURiOztBQWR5SCxjQUFjLENBQUMsYUFBYSxDQUN0SjtFQUNDLE1BQU0sRXJCZ0p3QixJQUFLO0VxQi9JbkMsT0FBTyxFckJnQ2lCLEdBQUcsQ0FDSCxJQUFJO0VxQmhDNUIsU0FBUyxFckJoQmEsSUFBSTtFcUJpQjFCLFdBQVcsRXJCcUNhLEdBQUc7RXFCcEMzQixhQUFhLEVyQndDVyxHQUFHLEdxQjdDM0I7O0FBTUQsY0FBYyxDQUFDLE1BQU0sYUFBYSxDQUVsQztFQUNDLE1BQU0sRXJCd0l3QixJQUFLO0VxQnZJbkMsV0FBVyxFckJ1SW1CLElBQUssR3FCekluQzs7QUFHRCxjQUFjLENBQUMsUUFBUSxhQUFhO0FBQ3ZDLGNBQWMsQ0FBQyxNQUFNLENBQUEsUUFBQyxDQUFTLGFBQWEsQ0FDekM7RUFDQyxNQUFNLEVBQUUsSUFBSyxHQURiOztBRm1QRixjQUFjLENBQUMsb0JBQW9CLENBQWQ7RUFDbkIsTUFBTSxFbkJoSHdCLElBQUs7RW1CaUhuQyxPQUFPLEVuQmhPaUIsR0FBRyxDQUNILElBQUk7RW1CZ081QixTQUFTLEVuQmhSYSxJQUFJO0VtQmlSMUIsV0FBVyxFbkIzTmEsR0FBRztFbUI0TjNCLFVBQVUsRUFBRyxJQUFxQixHQUxkOztBRWpRcUcsU0FBUyxFQUFFLGVBQWUsR0FBRyxhQUFhO0FBQ3ZLLGVBQWUsR0FBRyxrQkFBa0I7QUFDcEMsZUFBZSxHQUFHLGdCQUFnQixHQUFHLElBQUksQ0FEdEM7RUFDQyxNQUFNLEVyQjhJd0IsSUFBSTtFcUI3SWxDLE9BQU8sRXJCNkJpQixJQUFJLENBQ0osSUFBSTtFcUI3QjVCLFNBQVMsRXJCakJhLElBQUk7RXFCa0IxQixXQUFXLEVyQm9DYSxPQUFTO0VxQm5DakMsYUFBYSxFckJ1Q1csR0FBRyxHcUI1QzNCOztBQU1ELE1BQU0sU0FBUyxFQUFFLGVBQWUsR0FBRyxNQUFNLGFBQWE7QUFDekQsZUFBZSxHQUFHLE1BQU0sa0JBQWtCO0FBQzFDLGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBNUM7RUFDQyxNQUFNLEVyQnNJd0IsSUFBSTtFcUJySWxDLFdBQVcsRXJCcUltQixJQUFJLEdxQnZJbEM7O0FBR0QsUUFBUSxTQUFTO0FBQ3BCLGVBQWUsR0FBRyxRQUFRLGFBQWE7QUFDdkMsZUFBZSxHQUFHLFFBQVEsa0JBQWtCO0FBQzVDLGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyxRQUFRLElBQUk7QUFDakQsTUFBTSxDQUFBLFFBQUMsQ0FBUyxTQUFTLEVBQUUsZUFBZSxHQUFHLE1BQU0sQ0FBQSxRQUFDLENBQVMsYUFBYTtBQUMxRSxlQUFlLEdBQUcsTUFBTSxDQUFBLFFBQUMsQ0FBUyxrQkFBa0I7QUFDcEQsZUFBZSxHQUFHLGdCQUFnQixHQUFHLE1BQU0sQ0FBQSxRQUFDLENBQVMsSUFBSSxDQUp0RDtFQUNDLE1BQU0sRUFBRSxJQUFLLEdBRGI7O0FBZHlILGNBQWMsQ0FBQyxhQUFhLENBQ3RKO0VBQ0MsTUFBTSxFckI4SXdCLElBQUk7RXFCN0lsQyxPQUFPLEVyQjZCaUIsSUFBSSxDQUNKLElBQUk7RXFCN0I1QixTQUFTLEVyQmpCYSxJQUFJO0VxQmtCMUIsV0FBVyxFckJvQ2EsT0FBUztFcUJuQ2pDLGFBQWEsRXJCdUNXLEdBQUcsR3FCNUMzQjs7QUFNRCxjQUFjLENBQUMsTUFBTSxhQUFhLENBRWxDO0VBQ0MsTUFBTSxFckJzSXdCLElBQUk7RXFCcklsQyxXQUFXLEVyQnFJbUIsSUFBSSxHcUJ2SWxDOztBQUdELGNBQWMsQ0FBQyxRQUFRLGFBQWE7QUFDdkMsY0FBYyxDQUFDLE1BQU0sQ0FBQSxRQUFDLENBQVMsYUFBYSxDQUN6QztFQUNDLE1BQU0sRUFBRSxJQUFLLEdBRGI7O0FGaVFGLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBZDtFQUNuQixNQUFNLEVuQmhJd0IsSUFBSTtFbUJpSWxDLE9BQU8sRW5CalBpQixJQUFJLENBQ0osSUFBSTtFbUJpUDVCLFNBQVMsRW5CL1JhLElBQUk7RW1CZ1MxQixXQUFXLEVuQjFPYSxPQUFTO0VtQjJPakMsVUFBVSxFQUFHLElBQXFCLEdBTGQ7O0FBY3hCLGFBQWEsQ0FBQztFQUVaLFFBQVEsRUFBRSxRQUFTLEdBRk47RUFLYixhQUFhLENBQUMsYUFBYSxDQUFiO0lBQ1osYUFBYSxFQUFHLElBQWtCLEdBRHJCOztBQUtqQixzQkFBc0IsQ0FBQztFQUNyQixRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsQ0FBRTtFQUNQLEtBQUssRUFBRSxDQUFFO0VBQ1QsT0FBTyxFQUFFLENBQUU7RUFDWCxPQUFPLEVBQUUsS0FBTTtFQUNmLEtBQUssRW5CL0oyQixJQUFxQjtFbUJnS3JELE1BQU0sRW5CaEswQixJQUFxQjtFbUJpS3JELFdBQVcsRW5CaktxQixJQUFxQjtFbUJrS3JELFVBQVUsRUFBRSxNQUFPO0VBQ25CLGNBQWMsRUFBRSxJQUFLLEdBVkM7O0FBWVosU0FBUyxHQUFHLHNCQUFzQixFQUFFLGVBQWUsR0FBRyxhQUFhLEdBQUcsc0JBQXNCO0FBQ3hHLGVBQWUsR0FBRyxrQkFBa0IsR0FBRyxzQkFBc0I7QUFDN0QsZUFBZSxHQUFHLGdCQUFnQixHQUFHLElBQUksR0FBRyxzQkFBc0IsQ0FGL0I7RUFDakMsS0FBSyxFbkJwSzJCLElBQUk7RW1CcUtwQyxNQUFNLEVuQnJLMEIsSUFBSTtFbUJzS3BDLFdBQVcsRW5CdEtxQixJQUFJLEdtQm1LRjs7QUFLeEIsU0FBUyxHQUFHLHNCQUFzQixFQUFFLGVBQWUsR0FBRyxhQUFhLEdBQUcsc0JBQXNCO0FBQ3hHLGVBQWUsR0FBRyxrQkFBa0IsR0FBRyxzQkFBc0I7QUFDN0QsZUFBZSxHQUFHLGdCQUFnQixHQUFHLElBQUksR0FBRyxzQkFBc0IsQ0FGL0I7RUFDakMsS0FBSyxFbkJ2SzJCLElBQUs7RW1Cd0tyQyxNQUFNLEVuQnhLMEIsSUFBSztFbUJ5S3JDLFdBQVcsRW5CektxQixJQUFLLEdtQnNLSDs7QUU3V2hCLFlBQVksQ0FBQyxXQUFXO0FBQzVDLFlBQVksQ0FBQyxjQUFjO0FBQzNCLFlBQVksQ0FBQyxNQUFNO0FBQ25CLFlBQVksQ0FBQyxTQUFTO0FBQ3RCLFlBQVksQ0FBQyxhQUFhO0FBQzFCLFlBQVksQ0FBQyxnQkFBZ0I7QUFDN0IsWUFBWSxNQUFNLENBQUMsS0FBSztBQUN4QixZQUFZLFNBQVMsQ0FBQyxLQUFLO0FBQzNCLFlBQVksYUFBYSxDQUFDLEtBQUs7QUFDL0IsWUFBWSxnQkFBZ0IsQ0FBQyxLQUFLLENBVFA7RUFDdkIsS0FBSyxFckJtZXdCLE9BQU8sR3FCcGVaOztBQUkxQixZQUFZLENBQUMsYUFBYSxDQUFaO0VBQ1osWUFBWSxFckIrZGlCLE9BQU87RUtoYnRDLGtCQUFrQixFZ0I5Q0ksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG9CQUFJO0VoQitDbEMsVUFBVSxFZ0IvQ0ksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG9CQUFJLEdBRjNCO0VBR1osWUFBWSxDQUFDLGFBQWEsTUFBTSxDQUF6QjtJQUNOLFlBQVksRUFBRSxPQUFNO0loQjRDeEIsa0JBQWtCLEVnQjNDTCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsb0JBQUksRUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPO0loQjRDdEQsVUFBVSxFZ0I1Q0wsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG9CQUFJLEVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUZuRDs7QUFPWCxZQUFZLENBQUMsa0JBQWtCLENBQVo7RUFDakIsS0FBSyxFckJxZHdCLE9BQU87RXFCcGRwQyxZQUFZLEVyQm9kaUIsT0FBTztFcUJuZHBDLGdCQUFnQixFckJvZGEsT0FBTyxHcUJ2ZGxCOztBQU1wQixZQUFZLENBQUMsc0JBQXNCLENBQVo7RUFDckIsS0FBSyxFckIrY3dCLE9BQU8sR3FCaGRkOztBQXBCTixZQUFZLENBQUMsV0FBVztBQUM1QyxZQUFZLENBQUMsY0FBYztBQUMzQixZQUFZLENBQUMsTUFBTTtBQUNuQixZQUFZLENBQUMsU0FBUztBQUN0QixZQUFZLENBQUMsYUFBYTtBQUMxQixZQUFZLENBQUMsZ0JBQWdCO0FBQzdCLFlBQVksTUFBTSxDQUFDLEtBQUs7QUFDeEIsWUFBWSxTQUFTLENBQUMsS0FBSztBQUMzQixZQUFZLGFBQWEsQ0FBQyxLQUFLO0FBQy9CLFlBQVksZ0JBQWdCLENBQUMsS0FBSyxDQVRQO0VBQ3ZCLEtBQUssRXJCMmV3QixPQUFPLEdxQjVlWjs7QUFJMUIsWUFBWSxDQUFDLGFBQWEsQ0FBWjtFQUNaLFlBQVksRXJCdWVpQixPQUFPO0VLeGJ0QyxrQkFBa0IsRWdCOUNJLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBSTtFaEIrQ2xDLFVBQVUsRWdCL0NJLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBSSxHQUYzQjtFQUdaLFlBQVksQ0FBQyxhQUFhLE1BQU0sQ0FBekI7SUFDTixZQUFZLEVBQUUsT0FBTTtJaEI0Q3hCLGtCQUFrQixFZ0IzQ0wsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG9CQUFJLEVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTztJaEI0Q3RELFVBQVUsRWdCNUNMLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBSSxFQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FGbkQ7O0FBT1gsWUFBWSxDQUFDLGtCQUFrQixDQUFaO0VBQ2pCLEtBQUssRXJCNmR3QixPQUFPO0VxQjVkcEMsWUFBWSxFckI0ZGlCLE9BQU87RXFCM2RwQyxnQkFBZ0IsRXJCNGRhLE9BQU8sR3FCL2RsQjs7QUFNcEIsWUFBWSxDQUFDLHNCQUFzQixDQUFaO0VBQ3JCLEtBQUssRXJCdWR3QixPQUFPLEdxQnhkZDs7QUFwQk4sVUFBVSxDQUFDLFdBQVc7QUFDMUMsVUFBVSxDQUFDLGNBQWM7QUFDekIsVUFBVSxDQUFDLE1BQU07QUFDakIsVUFBVSxDQUFDLFNBQVM7QUFDcEIsVUFBVSxDQUFDLGFBQWE7QUFDeEIsVUFBVSxDQUFDLGdCQUFnQjtBQUMzQixVQUFVLE1BQU0sQ0FBQyxLQUFLO0FBQ3RCLFVBQVUsU0FBUyxDQUFDLEtBQUs7QUFDekIsVUFBVSxhQUFhLENBQUMsS0FBSztBQUM3QixVQUFVLGdCQUFnQixDQUFDLEtBQUssQ0FUTDtFQUN2QixLQUFLLEVyQitld0IsT0FBTyxHcUJoZlo7O0FBSTFCLFVBQVUsQ0FBQyxhQUFhLENBQVY7RUFDWixZQUFZLEVyQjJlaUIsT0FBTztFSzVidEMsa0JBQWtCLEVnQjlDSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsb0JBQUk7RWhCK0NsQyxVQUFVLEVnQi9DSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsb0JBQUksR0FGM0I7RUFHWixVQUFVLENBQUMsYUFBYSxNQUFNLENBQXZCO0lBQ04sWUFBWSxFQUFFLE9BQU07SWhCNEN4QixrQkFBa0IsRWdCM0NMLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBSSxFQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU87SWhCNEN0RCxVQUFVLEVnQjVDTCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsb0JBQUksRUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBRm5EOztBQU9YLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBVjtFQUNqQixLQUFLLEVyQmlld0IsT0FBTztFcUJoZXBDLFlBQVksRXJCZ2VpQixPQUFPO0VxQi9kcEMsZ0JBQWdCLEVyQmdlYSxPQUFPLEdxQm5lbEI7O0FBTXBCLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBVjtFQUNyQixLQUFLLEVyQjJkd0IsT0FBTyxHcUI1ZGQ7O0FGNldwQixhQUFhLENBQUMsS0FBSyxHQUFHLHNCQUFzQixDQUFyQjtFQUN4QixHQUFHLEVBQUcsSUFBcUIsR0FERjs7QUFHaEIsYUFBYSxDQUFDLEtBQUssUUFBUSxHQUFHLHNCQUFzQixDQUE3QjtFQUNoQyxHQUFHLEVBQUUsQ0FBRSxHQUQwQjs7QUFXdEMsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLEtBQU07RUFDZixVQUFVLEVBQUUsR0FBSTtFQUNoQixhQUFhLEVBQUUsSUFBSztFQUNwQixLQUFLLEVBQUUsT0FBTyxHQUpIOztBQXVCWCxNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7RUFFZixZQUFZLENBQUMsV0FBVyxDQUFaO0lBQ1YsT0FBTyxFQUFFLFlBQWE7SUFDdEIsYUFBYSxFQUFFLENBQUU7SUFDakIsY0FBYyxFQUFFLE1BQU8sR0FIWjtFQU9iLFlBQVksQ0FBQyxhQUFhLENBQVo7SUFDWixPQUFPLEVBQUUsWUFBYTtJQUN0QixLQUFLLEVBQUUsSUFBSztJQUNaLGNBQWMsRUFBRSxNQUFPLEdBSFY7RUFPZixZQUFZLENBQUMsb0JBQW9CLENBQVo7SUFDbkIsT0FBTyxFQUFFLFlBQWEsR0FERjtFQUl0QixZQUFZLENBQUMsWUFBWSxDQUFaO0lBQ1gsT0FBTyxFQUFFLFlBQWE7SUFDdEIsY0FBYyxFQUFFLE1BQU8sR0FGWDtJQU1aLFlBQVksQ0FBQyxZQUFZLENBQUMsa0JBQWtCO0lBQ2xELFlBQVksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCO0lBQzFDLFlBQVksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUZuQjtNQUNaLEtBQUssRUFBRSxJQUFLLEdBREM7RUFNRixZQUFZLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBM0I7SUFDM0IsS0FBSyxFQUFFLElBQUssR0FEZ0I7RUFJOUIsWUFBWSxDQUFDLGNBQWMsQ0FBWjtJQUNiLGFBQWEsRUFBRSxDQUFFO0lBQ2pCLGNBQWMsRUFBRSxNQUFPLEdBRlQ7RUFRaEIsWUFBWSxDQUFDLE1BQU07RUFDdkIsWUFBWSxDQUFDLFNBQVMsQ0FEUjtJQUNSLE9BQU8sRUFBRSxZQUFhO0lBQ3RCLFVBQVUsRUFBRSxDQUFFO0lBQ2QsYUFBYSxFQUFFLENBQUU7SUFDakIsY0FBYyxFQUFFLE1BQU8sR0FKZDtJQU1ULFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSztJQUMvQixZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FEaEI7TUFDSixZQUFZLEVBQUUsQ0FBRSxHQURYO0VBS3NCLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVk7RUFDekUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxFQURQO0lBQy9CLFFBQVEsRUFBRSxRQUFTO0lBQ25CLFdBQVcsRUFBRSxDQUFFLEdBRmlCO0VBTXBCLFlBQVksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQTFCO0lBQ25DLEdBQUcsRUFBRSxDQUFFLEdBRDZCOztBQXlCeEMsZ0JBQWdCLENBQUMsTUFBTTtBQUN6QixnQkFBZ0IsQ0FBQyxTQUFTO0FBQzFCLGdCQUFnQixDQUFDLGFBQWE7QUFDOUIsZ0JBQWdCLENBQUMsZ0JBQWdCLENBSGQ7RUFDZixVQUFVLEVBQUUsQ0FBRTtFQUNkLGFBQWEsRUFBRSxDQUFFO0VBQ2pCLFdBQVcsRUFBRyxHQUFzQixHQUhwQjs7QUFRbEIsZ0JBQWdCLENBQUMsTUFBTTtBQUN6QixnQkFBZ0IsQ0FBQyxTQUFTLENBRGQ7RUFDUixVQUFVLEVBQUcsSUFBcUIsR0FEekI7O0FBS1gsZ0JBQWdCLENBQUMsV0FBVyxDQUFoQjtFSjFnQlosV0FBVyxFQUFJLEtBQU87RUFDdEIsWUFBWSxFQUFHLEtBQU8sR0l5Z0JUO0VSM2dCWixnQkFBZ0IsQ0FBQyxXQUFXLE9BQU87RUFDdEMsZ0JBQWdCLENBQUMsV0FBVyxNQUFNLENBRHhCO0lBQ04sT0FBTyxFQUFFLEdBQUk7SUFDYixPQUFPLEVBQUUsS0FBTSxHQUZSO0VBSVIsZ0JBQWdCLENBQUMsV0FBVyxNQUFNLENBQTNCO0lBQ04sS0FBSyxFQUFFLElBQUssR0FETDs7QVE2Z0JULE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztFQUNmLGdCQUFnQixDQUFDLGNBQWMsQ0FBaEI7SUFDYixVQUFVLEVBQUUsS0FBTTtJQUNsQixhQUFhLEVBQUUsQ0FBRTtJQUNqQixXQUFXLEVBQUcsR0FBc0IsR0FIdEI7O0FBV0osZ0JBQWdCLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUE5QjtFQUNuQyxLQUFLLEVBQUcsSUFBa0IsR0FEVTs7QUFTcEMsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0VBQ2YsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBL0I7SUFDYixXQUFXLEVBQUksVUFBdUIsR0FEeEI7O0FBTWxCLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztFQUNmLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQS9CO0lBQ2IsV0FBVyxFQUFHLEdBQXVCLEdBRHZCOztBR3BqQnRCLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxZQUFhO0VBQ3RCLGFBQWEsRUFBRSxDQUFFO0VBQ2pCLFdBQVcsRXRCOElvQixNQUFNO0VzQjdJckMsVUFBVSxFQUFFLE1BQU87RUFDbkIsY0FBYyxFQUFFLE1BQU87RUFDdkIsWUFBWSxFQUFFLFlBQWE7RUFDM0IsTUFBTSxFQUFFLE9BQVE7RUFDaEIsZ0JBQWdCLEVBQUUsSUFBSztFQUN2QixNQUFNLEVBQUUscUJBQXNCO0VBQzlCLFdBQVcsRUFBRSxNQUFPO0VDNkJwQixPQUFPLEV2Qm1EbUIsR0FBRyxDQUNILElBQUk7RXVCbkQ5QixTQUFTLEV2Qk9lLElBQUk7RXVCTjVCLFdBQVcsRXZCa0JhLE9BQVc7RXVCakJuQyxhQUFhLEV2QitEYSxHQUFHO0VLd0c3QixtQkFBbUIsRWlCck1FLElBQUk7RWpCc010QixnQkFBZ0IsRWlCdE1FLElBQUk7RWpCdU1yQixlQUFlLEVpQnZNRSxJQUFJO0VqQndNakIsV0FBVyxFaUJ4TUUsSUFBSSxHQVpyQjtFQWtCRCxJQUFJLE1BQU07RUFDZixJQUFJLE1BQU07RUFDVixJQUFJLE9BQU8sTUFBTTtFQUNqQixJQUFJLE9BQU8sTUFBTTtFQUNqQixJQUFJLE9BQU8sTUFBTTtFQUNqQixJQUFJLE9BQU8sTUFBTSxDQUxMO0loQnRCVixPQUFPLEVBQUUsV0FBWTtJQUVyQixPQUFPLEVBQUUsaUNBQWtDO0lBQzNDLGNBQWMsRUFBRSxJQUFLLEdnQm1CVjtFQU9WLElBQUksTUFBTTtFQUNiLElBQUksTUFBTTtFQUNWLElBQUksTUFBTSxDQUZBO0lBQ04sS0FBSyxFdEJ5SHdCLElBQUk7SXNCeEhqQyxlQUFlLEVBQUUsSUFBSyxHQUZmO0VBTVIsSUFBSSxPQUFPO0VBQ2QsSUFBSSxPQUFPLENBREE7SUFDUCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGdCQUFnQixFQUFFLElBQUs7SWpCMkJ6QixrQkFBa0IsRWlCMUJJLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBSTtJakIyQmxDLFVBQVUsRWlCM0JJLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBSSxHQUhoQztFQVFTLElBQUksU0FBUztFQUNsQyxJQUFJLENBQUEsUUFBQztFQUNMLFFBQVEsQ0FBQSxRQUFDLEVBQVUsSUFBSSxDQUZBO0lBQ25CLE1BQU0sRXRCcUx1QixXQUFXO0lzQnBMeEMsY0FBYyxFQUFFLElBQUs7SUU5Q3ZCLE9BQU8sRUYrQ1ksSUFBRztJRTVDdEIsTUFBTSxFQUFFLGlCQUFLO0luQjhEYixrQkFBa0IsRWlCakJJLElBQUk7SWpCa0JsQixVQUFVLEVpQmxCSSxJQUFJLEdBSko7O0FBWXhCLFlBQVksQ0FBQztFQ3JEWCxLQUFLLEV2QnFKMEIsSUFBSTtFdUJwSm5DLGdCQUFnQixFdkJxSmUsSUFBSTtFdUJwSm5DLFlBQVksRXZCcUptQixJQUFJLEdzQmxHdkI7RUM1Q0gsWUFBWSxNQUFNO0VBQzdCLFlBQVksTUFBTTtFQUNsQixZQUFZLE1BQU07RUFDbEIsWUFBWSxPQUFPO0VBQ25CLFlBQVksT0FBTztFQUNuQixLQUFLLEdBQUcsWUFBWSxnQkFBZ0IsQ0FMUjtJQUN4QixLQUFLLEV2QjJJd0IsSUFBSTtJdUIxSWpDLGdCQUFnQixFQUFFLE9BQU07SUFDcEIsWUFBWSxFQUFFLE9BQU0sR0FIQztFQU9sQixZQUFZLE9BQU87RUFDOUIsWUFBWSxPQUFPO0VBQ25CLEtBQUssR0FBRyxZQUFZLGdCQUFnQixDQUZSO0lBQ3hCLGdCQUFnQixFQUFFLElBQUssR0FERTtFQVd4QixZQUFZLFNBQVM7RUFDMUIsWUFBWSxTQUFTLE1BQU07RUFDM0IsWUFBWSxTQUFTLE1BQU07RUFDM0IsWUFBWSxTQUFTLE1BQU07RUFDM0IsWUFBWSxTQUFTLE9BQU87RUFDNUIsWUFBWSxTQUFTLE9BQU87RUFDNUIsWUFBWSxDQUFBLFFBQUM7RUFDYixZQUFZLENBQUEsUUFBQyxDQUFTLE1BQU07RUFDNUIsWUFBWSxDQUFBLFFBQUMsQ0FBUyxNQUFNO0VBQzVCLFlBQVksQ0FBQSxRQUFDLENBQVMsTUFBTTtFQUM1QixZQUFZLENBQUEsUUFBQyxDQUFTLE9BQU87RUFDN0IsWUFBWSxDQUFBLFFBQUMsQ0FBUyxPQUFPO0VBQzdCLFFBQVEsQ0FBQSxRQUFDLEVBQVUsWUFBWTtFQUMvQixRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksTUFBTTtFQUNyQyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksTUFBTTtFQUNyQyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksTUFBTTtFQUNyQyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksT0FBTztFQUN0QyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksT0FBTyxDQWpCekI7SUFDUCxnQkFBZ0IsRXZCMEhXLElBQUk7SXVCekgzQixZQUFZLEV2QjBIVyxJQUFJLEd1QjVIdkI7RUFNWixZQUFZLENBQUMsTUFBTSxDQUFaO0lBQ0wsS0FBSyxFdkJvSHdCLElBQUk7SXVCbkhqQyxnQkFBZ0IsRXZCa0hhLElBQUksR3VCcEgzQjs7QUR1QlYsWUFBWSxDQUFDO0VDeERYLEtBQUssRXZCeUowQixJQUFJO0V1QnhKbkMsZ0JBQWdCLEV2QmVNLE9BQU07RXVCZDVCLFlBQVksRXZCeUptQixPQUFNLEdzQm5HekI7RUMvQ0gsWUFBWSxNQUFNO0VBQzdCLFlBQVksTUFBTTtFQUNsQixZQUFZLE1BQU07RUFDbEIsWUFBWSxPQUFPO0VBQ25CLFlBQVksT0FBTztFQUNuQixLQUFLLEdBQUcsWUFBWSxnQkFBZ0IsQ0FMUjtJQUN4QixLQUFLLEV2QitJd0IsSUFBSTtJdUI5SWpDLGdCQUFnQixFQUFFLE9BQU07SUFDcEIsWUFBWSxFQUFFLE9BQU0sR0FIQztFQU9sQixZQUFZLE9BQU87RUFDOUIsWUFBWSxPQUFPO0VBQ25CLEtBQUssR0FBRyxZQUFZLGdCQUFnQixDQUZSO0lBQ3hCLGdCQUFnQixFQUFFLElBQUssR0FERTtFQVd4QixZQUFZLFNBQVM7RUFDMUIsWUFBWSxTQUFTLE1BQU07RUFDM0IsWUFBWSxTQUFTLE1BQU07RUFDM0IsWUFBWSxTQUFTLE1BQU07RUFDM0IsWUFBWSxTQUFTLE9BQU87RUFDNUIsWUFBWSxTQUFTLE9BQU87RUFDNUIsWUFBWSxDQUFBLFFBQUM7RUFDYixZQUFZLENBQUEsUUFBQyxDQUFTLE1BQU07RUFDNUIsWUFBWSxDQUFBLFFBQUMsQ0FBUyxNQUFNO0VBQzVCLFlBQVksQ0FBQSxRQUFDLENBQVMsTUFBTTtFQUM1QixZQUFZLENBQUEsUUFBQyxDQUFTLE9BQU87RUFDN0IsWUFBWSxDQUFBLFFBQUMsQ0FBUyxPQUFPO0VBQzdCLFFBQVEsQ0FBQSxRQUFDLEVBQVUsWUFBWTtFQUMvQixRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksTUFBTTtFQUNyQyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksTUFBTTtFQUNyQyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksTUFBTTtFQUNyQyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksT0FBTztFQUN0QyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksT0FBTyxDQWpCekI7SUFDUCxnQkFBZ0IsRXZCWkUsT0FBTTtJdUJhcEIsWUFBWSxFdkI4SFcsT0FBTSxHdUJoSXpCO0VBTVosWUFBWSxDQUFDLE1BQU0sQ0FBWjtJQUNMLEtBQUssRXZCbEJlLE9BQU07SXVCbUIxQixnQkFBZ0IsRXZCc0hhLElBQUksR3VCeEgzQjs7QUQyQlYsWUFBWSxDQUFDO0VDNURYLEtBQUssRXZCNkowQixJQUFJO0V1QjVKbkMsZ0JBQWdCLEV2QmdCTSxPQUFPO0V1QmY3QixZQUFZLEV2QjZKbUIsT0FBTSxHc0JuR3pCO0VDbkRILFlBQVksTUFBTTtFQUM3QixZQUFZLE1BQU07RUFDbEIsWUFBWSxNQUFNO0VBQ2xCLFlBQVksT0FBTztFQUNuQixZQUFZLE9BQU87RUFDbkIsS0FBSyxHQUFHLFlBQVksZ0JBQWdCLENBTFI7SUFDeEIsS0FBSyxFdkJtSndCLElBQUk7SXVCbEpqQyxnQkFBZ0IsRUFBRSxPQUFNO0lBQ3BCLFlBQVksRUFBRSxPQUFNLEdBSEM7RUFPbEIsWUFBWSxPQUFPO0VBQzlCLFlBQVksT0FBTztFQUNuQixLQUFLLEdBQUcsWUFBWSxnQkFBZ0IsQ0FGUjtJQUN4QixnQkFBZ0IsRUFBRSxJQUFLLEdBREU7RUFXeEIsWUFBWSxTQUFTO0VBQzFCLFlBQVksU0FBUyxNQUFNO0VBQzNCLFlBQVksU0FBUyxNQUFNO0VBQzNCLFlBQVksU0FBUyxNQUFNO0VBQzNCLFlBQVksU0FBUyxPQUFPO0VBQzVCLFlBQVksU0FBUyxPQUFPO0VBQzVCLFlBQVksQ0FBQSxRQUFDO0VBQ2IsWUFBWSxDQUFBLFFBQUMsQ0FBUyxNQUFNO0VBQzVCLFlBQVksQ0FBQSxRQUFDLENBQVMsTUFBTTtFQUM1QixZQUFZLENBQUEsUUFBQyxDQUFTLE1BQU07RUFDNUIsWUFBWSxDQUFBLFFBQUMsQ0FBUyxPQUFPO0VBQzdCLFlBQVksQ0FBQSxRQUFDLENBQVMsT0FBTztFQUM3QixRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVk7RUFDL0IsUUFBUSxDQUFBLFFBQUMsRUFBVSxZQUFZLE1BQU07RUFDckMsUUFBUSxDQUFBLFFBQUMsRUFBVSxZQUFZLE1BQU07RUFDckMsUUFBUSxDQUFBLFFBQUMsRUFBVSxZQUFZLE1BQU07RUFDckMsUUFBUSxDQUFBLFFBQUMsRUFBVSxZQUFZLE9BQU87RUFDdEMsUUFBUSxDQUFBLFFBQUMsRUFBVSxZQUFZLE9BQU8sQ0FqQnpCO0lBQ1AsZ0JBQWdCLEV2QlhFLE9BQU87SXVCWXJCLFlBQVksRXZCa0lXLE9BQU0sR3VCcEl6QjtFQU1aLFlBQVksQ0FBQyxNQUFNLENBQVo7SUFDTCxLQUFLLEV2QmpCZSxPQUFPO0l1QmtCM0IsZ0JBQWdCLEV2QjBIYSxJQUFJLEd1QjVIM0I7O0FEK0JWLFNBQVMsQ0FBQztFQ2hFUixLQUFLLEV2QmlLMEIsSUFBSTtFdUJoS25DLGdCQUFnQixFdkJpQk0sT0FBTztFdUJoQjdCLFlBQVksRXZCaUttQixPQUFNLEdzQm5HNUI7RUN2REEsU0FBUyxNQUFNO0VBQzFCLFNBQVMsTUFBTTtFQUNmLFNBQVMsTUFBTTtFQUNmLFNBQVMsT0FBTztFQUNoQixTQUFTLE9BQU87RUFDaEIsS0FBSyxHQUFHLFNBQVMsZ0JBQWdCLENBTEw7SUFDeEIsS0FBSyxFdkJ1SndCLElBQUk7SXVCdEpqQyxnQkFBZ0IsRUFBRSxPQUFNO0lBQ3BCLFlBQVksRUFBRSxPQUFNLEdBSEM7RUFPbEIsU0FBUyxPQUFPO0VBQzNCLFNBQVMsT0FBTztFQUNoQixLQUFLLEdBQUcsU0FBUyxnQkFBZ0IsQ0FGTDtJQUN4QixnQkFBZ0IsRUFBRSxJQUFLLEdBREU7RUFXeEIsU0FBUyxTQUFTO0VBQ3ZCLFNBQVMsU0FBUyxNQUFNO0VBQ3hCLFNBQVMsU0FBUyxNQUFNO0VBQ3hCLFNBQVMsU0FBUyxNQUFNO0VBQ3hCLFNBQVMsU0FBUyxPQUFPO0VBQ3pCLFNBQVMsU0FBUyxPQUFPO0VBQ3pCLFNBQVMsQ0FBQSxRQUFDO0VBQ1YsU0FBUyxDQUFBLFFBQUMsQ0FBUyxNQUFNO0VBQ3pCLFNBQVMsQ0FBQSxRQUFDLENBQVMsTUFBTTtFQUN6QixTQUFTLENBQUEsUUFBQyxDQUFTLE1BQU07RUFDekIsU0FBUyxDQUFBLFFBQUMsQ0FBUyxPQUFPO0VBQzFCLFNBQVMsQ0FBQSxRQUFDLENBQVMsT0FBTztFQUMxQixRQUFRLENBQUEsUUFBQyxFQUFVLFNBQVM7RUFDNUIsUUFBUSxDQUFBLFFBQUMsRUFBVSxTQUFTLE1BQU07RUFDbEMsUUFBUSxDQUFBLFFBQUMsRUFBVSxTQUFTLE1BQU07RUFDbEMsUUFBUSxDQUFBLFFBQUMsRUFBVSxTQUFTLE1BQU07RUFDbEMsUUFBUSxDQUFBLFFBQUMsRUFBVSxTQUFTLE9BQU87RUFDbkMsUUFBUSxDQUFBLFFBQUMsRUFBVSxTQUFTLE9BQU8sQ0FqQnRCO0lBQ1AsZ0JBQWdCLEV2QlZFLE9BQU87SXVCV3JCLFlBQVksRXZCc0lXLE9BQU0sR3VCeEl6QjtFQU1aLFNBQVMsQ0FBQyxNQUFNLENBQVQ7SUFDTCxLQUFLLEV2QmhCZSxPQUFPO0l1QmlCM0IsZ0JBQWdCLEV2QjhIYSxJQUFJLEd1QmhJM0I7O0FEbUNWLFlBQVksQ0FBQztFQ3BFWCxLQUFLLEV2QnFLMEIsSUFBSTtFdUJwS25DLGdCQUFnQixFdkJrQk0sT0FBTztFdUJqQjdCLFlBQVksRXZCcUttQixPQUFNLEdzQm5HekI7RUMzREgsWUFBWSxNQUFNO0VBQzdCLFlBQVksTUFBTTtFQUNsQixZQUFZLE1BQU07RUFDbEIsWUFBWSxPQUFPO0VBQ25CLFlBQVksT0FBTztFQUNuQixLQUFLLEdBQUcsWUFBWSxnQkFBZ0IsQ0FMUjtJQUN4QixLQUFLLEV2QjJKd0IsSUFBSTtJdUIxSmpDLGdCQUFnQixFQUFFLE9BQU07SUFDcEIsWUFBWSxFQUFFLE9BQU0sR0FIQztFQU9sQixZQUFZLE9BQU87RUFDOUIsWUFBWSxPQUFPO0VBQ25CLEtBQUssR0FBRyxZQUFZLGdCQUFnQixDQUZSO0lBQ3hCLGdCQUFnQixFQUFFLElBQUssR0FERTtFQVd4QixZQUFZLFNBQVM7RUFDMUIsWUFBWSxTQUFTLE1BQU07RUFDM0IsWUFBWSxTQUFTLE1BQU07RUFDM0IsWUFBWSxTQUFTLE1BQU07RUFDM0IsWUFBWSxTQUFTLE9BQU87RUFDNUIsWUFBWSxTQUFTLE9BQU87RUFDNUIsWUFBWSxDQUFBLFFBQUM7RUFDYixZQUFZLENBQUEsUUFBQyxDQUFTLE1BQU07RUFDNUIsWUFBWSxDQUFBLFFBQUMsQ0FBUyxNQUFNO0VBQzVCLFlBQVksQ0FBQSxRQUFDLENBQVMsTUFBTTtFQUM1QixZQUFZLENBQUEsUUFBQyxDQUFTLE9BQU87RUFDN0IsWUFBWSxDQUFBLFFBQUMsQ0FBUyxPQUFPO0VBQzdCLFFBQVEsQ0FBQSxRQUFDLEVBQVUsWUFBWTtFQUMvQixRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksTUFBTTtFQUNyQyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksTUFBTTtFQUNyQyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksTUFBTTtFQUNyQyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksT0FBTztFQUN0QyxRQUFRLENBQUEsUUFBQyxFQUFVLFlBQVksT0FBTyxDQWpCekI7SUFDUCxnQkFBZ0IsRXZCVEUsT0FBTztJdUJVckIsWUFBWSxFdkIwSVcsT0FBTSxHdUI1SXpCO0VBTVosWUFBWSxDQUFDLE1BQU0sQ0FBWjtJQUNMLEtBQUssRXZCZmUsT0FBTztJdUJnQjNCLGdCQUFnQixFdkJrSWEsSUFBSSxHdUJwSTNCOztBRHVDVixXQUFXLENBQUM7RUN4RVYsS0FBSyxFdkJ5SzBCLElBQUk7RXVCeEtuQyxnQkFBZ0IsRXZCbUJNLE9BQU87RXVCbEI3QixZQUFZLEV2QnlLbUIsT0FBTSxHc0JuRzFCO0VDL0RGLFdBQVcsTUFBTTtFQUM1QixXQUFXLE1BQU07RUFDakIsV0FBVyxNQUFNO0VBQ2pCLFdBQVcsT0FBTztFQUNsQixXQUFXLE9BQU87RUFDbEIsS0FBSyxHQUFHLFdBQVcsZ0JBQWdCLENBTFA7SUFDeEIsS0FBSyxFdkIrSndCLElBQUk7SXVCOUpqQyxnQkFBZ0IsRUFBRSxPQUFNO0lBQ3BCLFlBQVksRUFBRSxPQUFNLEdBSEM7RUFPbEIsV0FBVyxPQUFPO0VBQzdCLFdBQVcsT0FBTztFQUNsQixLQUFLLEdBQUcsV0FBVyxnQkFBZ0IsQ0FGUDtJQUN4QixnQkFBZ0IsRUFBRSxJQUFLLEdBREU7RUFXeEIsV0FBVyxTQUFTO0VBQ3pCLFdBQVcsU0FBUyxNQUFNO0VBQzFCLFdBQVcsU0FBUyxNQUFNO0VBQzFCLFdBQVcsU0FBUyxNQUFNO0VBQzFCLFdBQVcsU0FBUyxPQUFPO0VBQzNCLFdBQVcsU0FBUyxPQUFPO0VBQzNCLFdBQVcsQ0FBQSxRQUFDO0VBQ1osV0FBVyxDQUFBLFFBQUMsQ0FBUyxNQUFNO0VBQzNCLFdBQVcsQ0FBQSxRQUFDLENBQVMsTUFBTTtFQUMzQixXQUFXLENBQUEsUUFBQyxDQUFTLE1BQU07RUFDM0IsV0FBVyxDQUFBLFFBQUMsQ0FBUyxPQUFPO0VBQzVCLFdBQVcsQ0FBQSxRQUFDLENBQVMsT0FBTztFQUM1QixRQUFRLENBQUEsUUFBQyxFQUFVLFdBQVc7RUFDOUIsUUFBUSxDQUFBLFFBQUMsRUFBVSxXQUFXLE1BQU07RUFDcEMsUUFBUSxDQUFBLFFBQUMsRUFBVSxXQUFXLE1BQU07RUFDcEMsUUFBUSxDQUFBLFFBQUMsRUFBVSxXQUFXLE1BQU07RUFDcEMsUUFBUSxDQUFBLFFBQUMsRUFBVSxXQUFXLE9BQU87RUFDckMsUUFBUSxDQUFBLFFBQUMsRUFBVSxXQUFXLE9BQU8sQ0FqQnhCO0lBQ1AsZ0JBQWdCLEV2QlJFLE9BQU87SXVCU3JCLFlBQVksRXZCOElXLE9BQU0sR3VCaEp6QjtFQU1aLFdBQVcsQ0FBQyxNQUFNLENBQVg7SUFDTCxLQUFLLEV2QmRlLE9BQU87SXVCZTNCLGdCQUFnQixFdkJzSWEsSUFBSSxHdUJ4STNCOztBRGdEVixTQUFTLENBQUM7RUFDUixLQUFLLEV0QmxFaUIsT0FBTTtFc0JtRTVCLFdBQVcsRUFBRSxNQUFPO0VBQ3BCLGFBQWEsRUFBRSxDQUFFLEdBSFI7RUFTVSxTQUFTO0VBQzlCLFNBQVMsT0FBTztFQUNoQixTQUFTLE9BQU87RUFDaEIsU0FBUyxDQUFBLFFBQUM7RUFDVixRQUFRLENBQUEsUUFBQyxFQUFVLFNBQVMsQ0FKTDtJQUNuQixnQkFBZ0IsRUFBRSxXQUFZO0lqQjdCaEMsa0JBQWtCLEVpQjhCSSxJQUFJO0lqQjdCbEIsVUFBVSxFaUI2QkksSUFBSSxHQUZKO0VBT3JCLFNBQVM7RUFDWixTQUFTLE1BQU07RUFDZixTQUFTLE1BQU07RUFDZixTQUFTLE9BQU8sQ0FITDtJQUNQLFlBQVksRUFBRSxXQUFZLEdBRGxCO0VBSVQsU0FBUyxNQUFNO0VBQ2xCLFNBQVMsTUFBTSxDQURMO0lBQ04sS0FBSyxFdEJwRWUsT0FBTTtJc0JxRTFCLGVBQWUsRXRCbkVLLFNBQVM7SXNCb0U3QixnQkFBZ0IsRUFBRSxXQUFZLEdBSHZCO0VBUU4sU0FBUyxDQUFBLFFBQUMsQ0FBUyxNQUFNO0VBQzlCLFNBQVMsQ0FBQSxRQUFDLENBQVMsTUFBTTtFQUN6QixRQUFRLENBQUEsUUFBQyxFQUFVLFNBQVMsTUFBTTtFQUNsQyxRQUFRLENBQUEsUUFBQyxFQUFVLFNBQVMsTUFBTSxDQUh0QjtJQUNOLEtBQUssRXRCakdjLE9BQU87SXNCa0cxQixlQUFlLEVBQUUsSUFBSyxHQUZmOztBQVdiLE9BQU8sRUFBRSxhQUFhLEdBQUcsSUFBSSxDQUFyQjtFQy9FTixPQUFPLEV2QnNEbUIsSUFBSSxDQUNKLElBQUk7RXVCdEQ5QixTQUFTLEV2QlFlLElBQUk7RXVCUDVCLFdBQVcsRXZCNkRlLE9BQVM7RXVCNURuQyxhQUFhLEV2QmdFYSxHQUFHLEdzQll0Qjs7QUFJVCxPQUFPLEVBQUUsYUFBYSxHQUFHLElBQUksQ0FBckI7RUNuRk4sT0FBTyxFdkJ5RG1CLEdBQUcsQ0FDSCxJQUFJO0V1QnpEOUIsU0FBUyxFdkJTZSxJQUFJO0V1QlI1QixXQUFXLEV2QjhEZSxHQUFHO0V1QjdEN0IsYUFBYSxFdkJpRWEsR0FBRyxHc0JldEI7O0FBSVQsT0FBTyxFQUFFLGFBQWEsR0FBRyxJQUFJLENBQXJCO0VDdkZOLE9BQU8sRXZCNERtQixHQUFHLENBQ0gsR0FBRztFdUI1RDdCLFNBQVMsRXZCU2UsSUFBSTtFdUJSNUIsV0FBVyxFdkI4RGUsR0FBRztFdUI3RDdCLGFBQWEsRXZCaUVhLEdBQUcsR3NCbUJ0Qjs7QUFRVCxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsS0FBTTtFQUNmLEtBQUssRUFBRSxJQUFLLEdBRkY7O0FBTUMsVUFBVSxHQUFHLFVBQVUsQ0FBWjtFQUN0QixVQUFVLEVBQUUsR0FBSSxHQURPOztBQVF0QixLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLFVBQVU7QUFDakMsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxVQUFVO0FBQzdCLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsVUFBVSxDQUZoQjtFQUNWLEtBQUssRUFBRSxJQUFLLEdBREQ7O0FHbkpmLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxDQUFFO0VwQitLWCxrQkFBa0IsRW9COUtFLE9BQU8sQ0FBQyxLQUFJLENBQUMsTUFBTTtFcEIrS2xDLGFBQWEsRW9CL0tFLE9BQU8sQ0FBQyxLQUFJLENBQUMsTUFBTTtFcEJnTC9CLFVBQVUsRW9CaExFLE9BQU8sQ0FBQyxLQUFJLENBQUMsTUFBTSxHQUZsQztFQUdKLEtBQUssR0FBRyxDQUFKO0lBQ0gsT0FBTyxFQUFFLENBQUUsR0FEUDs7QUFLUixTQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSyxHQURMO0VBR1IsU0FBUyxHQUFHLENBQUg7SUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFoQjs7QUFLRixFQUFFLFNBQVMsR0FBRyxDQUFQO0VBQUUsT0FBTyxFQUFFLFNBQVUsR0FBcEI7O0FBRUwsS0FBSyxTQUFTLEdBQUcsQ0FBYjtFQUFFLE9BQU8sRUFBRSxlQUFnQixHQUExQjs7QUFFbkIsV0FBVyxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVM7RUFDbkIsTUFBTSxFQUFFLENBQUU7RUFDVixRQUFRLEVBQUUsTUFBTztFcEI4SmpCLDJCQUEyQixFb0I3SkUsTUFBTSxFQUFFLFVBQVU7RXBCOEp2QyxtQkFBbUIsRW9COUpFLE1BQU0sRUFBRSxVQUFVO0VwQnFLL0MsMkJBQTJCLEVvQnBLRSxLQUFJO0VwQnFLekIsbUJBQW1CLEVvQnJLRSxLQUFJO0VwQndLakMsa0NBQWtDLEVvQnZLRSxJQUFJO0VwQndLaEMsMEJBQTBCLEVvQnhLRSxJQUFJLEdBTjdCOztBQ3ZCYixNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsWUFBYTtFQUN0QixLQUFLLEVBQUUsQ0FBRTtFQUNULE1BQU0sRUFBRSxDQUFFO0VBQ1YsV0FBVyxFQUFFLEdBQUk7RUFDakIsY0FBYyxFQUFFLE1BQU87RUFDdkIsVUFBVSxFMUIrR2dCLEdBQUcsQzBCL0dHLE1BQU07RUFDdEMsWUFBWSxFMUI4R2MsR0FBRyxDMEI5R0csS0FBSyxDQUFDLFdBQVc7RUFDakQsV0FBVyxFMUI2R2UsR0FBRyxDMEI3R0csS0FBSyxDQUFDLFdBQVcsR0FSM0M7O0FBYVIsT0FBTztBQUNQLFNBQVMsQ0FEQztFQUNSLFFBQVEsRUFBRSxRQUFTLEdBRFY7O0FBS0ssZ0JBQWdCLE1BQU0sQ0FBZjtFQUNyQixPQUFPLEVBQUUsQ0FBRSxHQURXOztBQUt4QixjQUFjLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsSUFBSztFQUNWLElBQUksRUFBRSxDQUFFO0VBQ1IsT0FBTyxFMUJrUGtCLElBQUk7RTBCalA3QixPQUFPLEVBQUUsSUFBSztFQUNkLEtBQUssRUFBRSxJQUFLO0VBQ1osU0FBUyxFQUFFLEtBQU07RUFDakIsT0FBTyxFQUFFLEtBQU07RUFDZixNQUFNLEVBQUUsT0FBUTtFQUNoQixVQUFVLEVBQUUsSUFBSztFQUNqQixTQUFTLEUxQmVlLElBQUk7RTBCZDVCLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLGdCQUFnQixFMUJtTWUsSUFBSTtFMEJsTW5DLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUJzTWMsSUFBSTtFMEJyTW5DLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUJtTWMsbUJBQUk7RTBCbE1uQyxhQUFhLEUxQm9FYSxHQUFHO0VLN0M3QixrQkFBa0IsRXFCdEJFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFJO0VyQnVCM0IsVUFBVSxFcUJ2QkUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQUk7RUFDbkMsZUFBZSxFQUFFLFdBQVksR0FsQmY7RUF1QmIsY0FBYyxXQUFXLENBQWI7SUFDWCxLQUFLLEVBQUUsQ0FBRTtJQUNULElBQUksRUFBRSxJQUFLLEdBRkM7RUFNZCxjQUFjLENBQUMsUUFBUSxDQUFkO0lDckRULE1BQU0sRUFBRSxHQUFJO0lBQ1osTUFBTSxFQUFJLElBQXFCLENBQVcsQ0FBQztJQUMzQyxRQUFRLEVBQUUsTUFBTztJQUNqQixnQkFBZ0IsRTNCMk9lLE9BQU8sRzBCekw1QjtFQUtILGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFyQjtJQUNQLE9BQU8sRUFBRSxLQUFNO0lBQ2YsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJO0lBQ2pCLEtBQUssRUFBRSxJQUFLO0lBQ1osV0FBVyxFQUFFLE1BQU87SUFDcEIsV0FBVyxFMUJEVyxPQUFXO0kwQkVqQyxLQUFLLEUxQnBEZ0IsT0FBTztJMEJxRDVCLFdBQVcsRUFBRSxNQUFPLEdBUFo7O0FBY1QsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU07QUFDaEMsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FEbkI7RUFDTixlQUFlLEVBQUUsSUFBSztFQUN0QixLQUFLLEUxQnlLd0IsT0FBTTtFMEJ4S25DLGdCQUFnQixFMUIwS2EsT0FBTyxHMEI3SzdCOztBQVdSLGNBQWMsR0FBRyxPQUFPLEdBQUcsQ0FBQztBQUMvQixjQUFjLEdBQUcsT0FBTyxHQUFHLENBQUMsTUFBTTtBQUNsQyxjQUFjLEdBQUcsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUZ4QjtFQUNOLEtBQUssRTFCNkJtQixJQUFJO0UwQjVCNUIsZUFBZSxFQUFFLElBQUs7RUFDdEIsT0FBTyxFQUFFLENBQUU7RUFDWCxnQkFBZ0IsRTFCdEVJLE9BQU0sRzBCa0VuQjs7QUFlUixjQUFjLEdBQUcsU0FBUyxHQUFHLENBQUM7QUFDakMsY0FBYyxHQUFHLFNBQVMsR0FBRyxDQUFDLE1BQU07QUFDcEMsY0FBYyxHQUFHLFNBQVMsR0FBRyxDQUFDLE1BQU0sQ0FGMUI7RUFDTixLQUFLLEUxQnJGZ0IsT0FBTyxHMEJvRnJCOztBQU1SLGNBQWMsR0FBRyxTQUFTLEdBQUcsQ0FBQyxNQUFNO0FBQ3ZDLGNBQWMsR0FBRyxTQUFTLEdBQUcsQ0FBQyxNQUFNLENBRDFCO0VBQ04sZUFBZSxFQUFFLElBQUs7RUFDdEIsZ0JBQWdCLEVBQUUsV0FBWTtFQUM5QixnQkFBZ0IsRUFBRSxJQUFLO0VFMUd6QixNQUFNLEVBQUUsMkRBQTJEO0VGNEdqRSxNQUFNLEUxQm1IdUIsV0FBVyxHMEJ4SGpDOztBQVlQLEtBQUssR0FBRyxjQUFjLENBQVA7RUFDZixPQUFPLEVBQUUsS0FBTSxHQURDOztBQUtoQixLQUFLLEdBQUcsQ0FBQyxDQUFQO0VBQ0YsT0FBTyxFQUFFLENBQUUsR0FEUjs7QUFTUCxvQkFBb0IsQ0FBQztFQUNuQixJQUFJLEVBQUUsSUFBSztFQUNYLEtBQUssRUFBRSxDQUFFLEdBRlc7O0FBVXRCLG1CQUFtQixDQUFDO0VBQ2xCLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQUFFLElBQUssR0FGTzs7QUFNckIsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsS0FBTTtFQUNmLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSTtFQUNqQixTQUFTLEUxQmpHZSxJQUFJO0UwQmtHNUIsV0FBVyxFMUJ4RmEsT0FBVztFMEJ5Rm5DLEtBQUssRTFCeklrQixPQUFPO0UwQjBJOUIsV0FBVyxFQUFFLE1BQU8sR0FOSjs7QUFVbEIsa0JBQWtCLENBQUM7RUFDakIsUUFBUSxFQUFFLEtBQU07RUFDaEIsSUFBSSxFQUFFLENBQUU7RUFDUixLQUFLLEVBQUUsQ0FBRTtFQUNULE1BQU0sRUFBRSxDQUFFO0VBQ1YsR0FBRyxFQUFFLENBQUU7RUFDUCxPQUFPLEVBQUcsR0FBZ0IsR0FOUjs7QUFVTixXQUFXLEdBQUcsY0FBYyxDQUFiO0VBQzNCLEtBQUssRUFBRSxDQUFFO0VBQ1QsSUFBSSxFQUFFLElBQUssR0FGaUI7O0FBWTVCLE9BQU8sQ0FBQyxNQUFNO0FBQ2hCLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBRDVCO0VBQ0wsVUFBVSxFQUFFLENBQUU7RUFDZCxhQUFhLEUxQjlEVyxHQUFHLEMwQjhETSxLQUFLO0VBQ3RDLE9BQU8sRUFBRSxFQUFHLEdBSE47O0FBTVIsT0FBTyxDQUFDLGNBQWM7QUFDeEIsb0JBQW9CLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FENUI7RUFDYixHQUFHLEVBQUUsSUFBSztFQUNWLE1BQU0sRUFBRSxJQUFLO0VBQ2IsYUFBYSxFQUFFLEdBQUksR0FITDs7QUFZbEIsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0VBRWIsYUFBYSxDQUFDLGNBQWMsQ0FBYjtJQUNiLEtBQUssRUFBRSxDQUFFO0lBQUUsSUFBSSxFQUFFLElBQUssR0FEUjtFQUtoQixhQUFhLENBQUMsbUJBQW1CLENBQWI7SUFDbEIsSUFBSSxFQUFFLENBQUU7SUFBRSxLQUFLLEVBQUUsSUFBSyxHQURIOztBRzFNekIsVUFBVTtBQUNWLG1CQUFtQixDQURDO0VBQ2xCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLGNBQWMsRUFBRSxNQUFPLEdBSEo7RUFJakIsVUFBVSxHQUFHLElBQUk7RUFDckIsbUJBQW1CLEdBQUcsSUFBSSxDQURqQjtJQUNMLFFBQVEsRUFBRSxRQUFTO0lBQ25CLEtBQUssRUFBRSxJQUFLLEdBRk47SUFPTCxVQUFVLEdBQUcsSUFBSSxNQUFNO0lBQzVCLFVBQVUsR0FBRyxJQUFJLE1BQU07SUFDdkIsVUFBVSxHQUFHLElBQUksT0FBTztJQUN4QixVQUFVLEdBQUcsSUFBSSxPQUFPO0lBQ3hCLG1CQUFtQixHQUFHLElBQUksTUFBTTtJQUNoQyxtQkFBbUIsR0FBRyxJQUFJLE1BQU07SUFDaEMsbUJBQW1CLEdBQUcsSUFBSSxPQUFPO0lBQ2pDLG1CQUFtQixHQUFHLElBQUksT0FBTyxDQVBwQjtNQUNQLE9BQU8sRUFBRSxDQUFFLEdBREg7O0FBV0MsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJO0FBQ3JDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsVUFBVTtBQUM1QixVQUFVLENBQUMsVUFBVSxHQUFHLElBQUk7QUFDNUIsVUFBVSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBSFI7RUFDdEIsV0FBVyxFQUFFLElBQUssR0FESzs7QUFNM0IsWUFBWSxDQUFDO0VBQ1gsV0FBVyxFQUFFLElBQUssR0FETjtFbEJwQlgsWUFBWSxPQUFPO0VBQ3RCLFlBQVksTUFBTSxDQURSO0lBQ04sT0FBTyxFQUFFLEdBQUk7SUFDYixPQUFPLEVBQUUsS0FBTSxHQUZSO0VBSVIsWUFBWSxNQUFNLENBQVg7SUFDTixLQUFLLEVBQUUsSUFBSyxHQURMO0VrQnFCVCxZQUFZLENBQUMsVUFBVTtFQUN6QixZQUFZLENBQUMsWUFBWSxDQURWO0lBQ1gsS0FBSyxFQUFFLElBQUssR0FEQTtFQUtaLFlBQVksR0FBRyxJQUFJO0VBQ3ZCLFlBQVksR0FBRyxVQUFVO0VBQ3pCLFlBQVksR0FBRyxZQUFZLENBRlY7SUFDYixXQUFXLEVBQUUsR0FBSSxHQURIOztBQUt1RCxVQUFVLEdBQUcsSUFBSSxLQUFLLFlBQVksQ0FBQyxLQUFLLFdBQVcsQ0FBQyxLQUFLLGdCQUFnQixFQUF2RTtFQUN6RSxhQUFhLEVBQUUsQ0FBRSxHQUR5RDs7QUFLM0QsVUFBVSxHQUFHLElBQUksWUFBWSxDQUFoQjtFQUM1QixXQUFXLEVBQUUsQ0FBRSxHQURjO0VBRVUsVUFBVSxHQUFHLElBQUksWUFBWSxLQUFLLFdBQVcsQ0FBQyxLQUFLLGdCQUFnQixFQUFqRTtJQ2pEekMsMEJBQTBCLEVEa0RLLENBQUM7SUNqRDdCLHVCQUF1QixFRGlESyxDQUFDLEdBRFU7O0FBTUUsVUFBVSxHQUFHLElBQUksV0FBVyxLQUFLLFlBQVk7QUFDM0YsVUFBVSxHQUFHLGdCQUFnQixLQUFLLFlBQVksRUFERTtFQy9DOUMseUJBQXlCLEVEZ0RHLENBQUM7RUMvQzFCLHNCQUFzQixFRCtDRyxDQUFDLEdBRGtCOztBQUtwQyxVQUFVLEdBQUcsVUFBVSxDQUFaO0VBQ3RCLEtBQUssRUFBRSxJQUFLLEdBRFc7O0FBR29DLFVBQVUsR0FBRyxVQUFVLEtBQUssWUFBWSxDQUFDLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBNUQ7RUFDaEUsYUFBYSxFQUFFLENBQUUsR0FEZ0Q7O0FBSy9ELFVBQVUsR0FBRyxVQUFVLFlBQVksS0FBSyxXQUFXLElBQUksSUFBSSxXQUFXO0FBQzFFLFVBQVUsR0FBRyxVQUFVLFlBQVksS0FBSyxXQUFXLElBQUksZ0JBQWdCLENBRGxEO0VDcEVuQiwwQkFBMEIsRURxRUssQ0FBQztFQ3BFN0IsdUJBQXVCLEVEb0VLLENBQUMsR0FEWjs7QUFJcUMsVUFBVSxHQUFHLFVBQVUsV0FBVyxLQUFLLFlBQVksSUFBSSxJQUFJLFlBQVksQ0FBMUQ7RUNoRXRFLHlCQUF5QixFRGlFRyxDQUFDO0VDaEUxQixzQkFBc0IsRURnRUcsQ0FBQyxHQUQwQzs7QUFNekQsVUFBVSxDQUFDLGdCQUFnQixPQUFPO0FBQ2xELFVBQVUsS0FBSyxDQUFDLGdCQUFnQixDQURDO0VBQy9CLE9BQU8sRUFBRSxDQUFFLEdBRHFCOztBQWtCZCxVQUFVLEdBQUcsSUFBSSxHQUFHLGdCQUFnQixDQUFuQjtFQUNuQyxZQUFZLEVBQUUsR0FBSTtFQUNsQixhQUFhLEVBQUUsR0FBSSxHQUZpQjs7QUFJZixVQUFVLEdBQUcsT0FBTyxHQUFHLGdCQUFnQixFQUFFLGFBQWEsVUFBVSxHQUFHLElBQUksR0FBRyxnQkFBZ0IsQ0FBekU7RUFDdEMsWUFBWSxFQUFFLElBQUs7RUFDbkIsYUFBYSxFQUFFLElBQUssR0FGbUI7O0FBT3pCLFVBQVUsS0FBSyxDQUFDLGdCQUFnQixDQUFmO0V4QjlDL0Isa0JBQWtCLEV3QitDRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsb0JBQUk7RXhCOUNoQyxVQUFVLEV3QjhDRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsb0JBQUksR0FEUjtFQUkvQixVQUFVLEtBQUssQ0FBQyxnQkFBZ0IsU0FBUyxDQUEvQjtJeEJsRFgsa0JBQWtCLEV3Qm1ESSxJQUFJO0l4QmxEbEIsVUFBVSxFd0JrREksSUFBSSxHQURkOztBQU9ULElBQUksQ0FBQyxNQUFNLENBQUo7RUFDVixXQUFXLEVBQUUsQ0FBRSxHQURKOztBQUlMLE9BQU8sQ0FBQyxNQUFNLEVBQUUsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQXBDO0VBQ2IsWUFBWSxFN0JMYyxHQUFHLENBQUgsR0FBRyxDNkJLdUIsQ0FBQztFQUNyRCxtQkFBbUIsRUFBRSxDQUFFLEdBRlQ7O0FBS0EsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFwRDtFQUNyQixZQUFZLEVBQUUsQ0FBQyxDN0JWVyxHQUFHLENBQUgsR0FBRyxHNkJTUDs7QUFXUCxtQkFBbUIsR0FBRyxJQUFJO0FBQzNDLG1CQUFtQixHQUFHLFVBQVU7QUFDaEMsbUJBQW1CLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FGakI7RUFDbEIsT0FBTyxFQUFFLEtBQU07RUFDZixLQUFLLEVBQUUsSUFBSztFQUNaLEtBQUssRUFBRSxJQUFLO0VBQ1osU0FBUyxFQUFFLElBQUssR0FKRzs7QWxCbklwQixtQkFBbUIsR0FBRyxVQUFVLE9BQU87QUFDMUMsbUJBQW1CLEdBQUcsVUFBVSxNQUFNLENBRDVCO0VBQ04sT0FBTyxFQUFFLEdBQUk7RUFDYixPQUFPLEVBQUUsS0FBTSxHQUZSOztBQUlSLG1CQUFtQixHQUFHLFVBQVUsTUFBTSxDQUEvQjtFQUNOLEtBQUssRUFBRSxJQUFLLEdBREw7O0FrQnlJTCxtQkFBbUIsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFsQztFQUNMLEtBQUssRUFBRSxJQUFLLEdBRE47O0FBUUssbUJBQW1CLEdBQUcsSUFBSSxHQUFHLElBQUk7QUFDbEQsbUJBQW1CLEdBQUcsSUFBSSxHQUFHLFVBQVU7QUFDdkMsbUJBQW1CLEdBQUcsVUFBVSxHQUFHLElBQUk7QUFDdkMsbUJBQW1CLEdBQUcsVUFBVSxHQUFHLFVBQVUsQ0FIakI7RUFDeEIsVUFBVSxFQUFFLElBQUs7RUFDakIsV0FBVyxFQUFFLENBQUUsR0FGVTs7QUFPUSxtQkFBbUIsR0FBRyxJQUFJLEtBQUssWUFBWSxDQUFDLEtBQUssV0FBVyxFQUExRDtFQUNuQyxhQUFhLEVBQUUsQ0FBRSxHQURtQjs7QUFHVCxtQkFBbUIsR0FBRyxJQUFJLFlBQVksS0FBSyxXQUFXLEVBQXBEO0VBQzdCLHVCQUF1QixFN0I3REMsR0FBRztFOEJ0RzdCLDBCQUEwQixFRG9LTSxDQUFDO0VDbktoQyx5QkFBeUIsRURtS00sQ0FBQyxHQUZEOztBQUlILG1CQUFtQixHQUFHLElBQUksV0FBVyxLQUFLLFlBQVksRUFBcEQ7RUFDN0IseUJBQXlCLEU3QmpFRCxHQUFHO0U4QjlHN0IsdUJBQXVCLEVEZ0xNLENBQUM7RUMvSzdCLHNCQUFzQixFRCtLTSxDQUFDLEdBRkU7O0FBS29DLG1CQUFtQixHQUFHLFVBQVUsS0FBSyxZQUFZLENBQUMsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFyRTtFQUN6RSxhQUFhLEVBQUUsQ0FBRSxHQUR5RDs7QUFLeEUsbUJBQW1CLEdBQUcsVUFBVSxZQUFZLEtBQUssV0FBVyxJQUFJLElBQUksV0FBVztBQUNuRixtQkFBbUIsR0FBRyxVQUFVLFlBQVksS0FBSyxXQUFXLElBQUksZ0JBQWdCLENBRDNEO0VDaExuQiwwQkFBMEIsRURpTE0sQ0FBQztFQ2hMaEMseUJBQXlCLEVEZ0xNLENBQUMsR0FEYjs7QUFJOEMsbUJBQW1CLEdBQUcsVUFBVSxXQUFXLEtBQUssWUFBWSxJQUFJLElBQUksWUFBWSxDQUFuRTtFQzVML0UsdUJBQXVCLEVENkxJLENBQUM7RUM1TDNCLHNCQUFzQixFRDRMSSxDQUFDLEdBRG9EOztBQVFsRixvQkFBb0IsQ0FBQztFQUNuQixPQUFPLEVBQUUsS0FBTTtFQUNmLEtBQUssRUFBRSxJQUFLO0VBQ1osWUFBWSxFQUFFLEtBQU07RUFDcEIsZUFBZSxFQUFFLFFBQVMsR0FKTjtFQU1sQixvQkFBb0IsR0FBRyxJQUFJO0VBQy9CLG9CQUFvQixHQUFHLFVBQVUsQ0FEbEI7SUFDWCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxVQUFXO0lBQ3BCLEtBQUssRUFBRSxFQUFHLEdBSEU7RUFLRCxvQkFBb0IsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFqQztJQUNoQixLQUFLLEVBQUUsSUFBSyxHQURLO0VBSU4sb0JBQW9CLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBakM7SUFDMUIsSUFBSSxFQUFFLElBQUssR0FEZ0I7O0NBc0JOLFdBQUMsQ0FBWSxTQUFaLEFBQXFCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZO0NBQzFFLFdBQUMsQ0FBWSxTQUFaLEFBQXFCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlO0NBQ3BELFdBQUMsQ0FBWSxTQUFaLEFBQXFCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWTtDQUM5RCxXQUFDLENBQVksU0FBWixBQUFxQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBLElBQUMsQ0FBSyxVQUFMLEFBQWUsRUFIdEM7RUFDckIsUUFBUSxFQUFFLFFBQVM7RUFDbkIsSUFBSSxFQUFFLGdCQUFJO0VBQ1YsY0FBYyxFQUFFLElBQUssR0FIQzs7QUV0TzVCLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRUFBRSxLQUFNO0VBQ2YsZUFBZSxFQUFFLFFBQVMsR0FIZDtFQU1HLFlBQVksQ0FBQSxLQUFDLEVBQU8sTUFBUCxBQUFhLEVBQXhCO0lBQ2YsS0FBSyxFQUFFLElBQUs7SUFDWixZQUFZLEVBQUUsQ0FBRTtJQUNoQixhQUFhLEVBQUUsQ0FBRSxHQUhEO0VBTWxCLFlBQVksQ0FBQyxhQUFhLENBQVo7SUFHWixRQUFRLEVBQUUsUUFBUztJQUNuQixPQUFPLEVBQUUsQ0FBRTtJQUtYLEtBQUssRUFBRSxJQUFLO0lBRVosS0FBSyxFQUFFLElBQUs7SUFDWixhQUFhLEVBQUUsQ0FBRSxHQVpKOztBQXFDSixrQkFBa0I7QUFDL0IsZ0JBQWdCO0FBQ2hCLFlBQVksQ0FBQyxhQUFhLENBRkM7RUFDekIsT0FBTyxFQUFFLFVBQVcsR0FETTtFQUdTLGtCQUFrQixLQUFLLFlBQVksQ0FBQyxLQUFLLFdBQVc7RUFDekYsZ0JBQWdCLEtBQUssWUFBWSxDQUFDLEtBQUssV0FBVztFQUNsRCxZQUFZLENBQUMsYUFBYSxLQUFLLFlBQVksQ0FBQyxLQUFLLFdBQVcsRUFGckI7SUFDbkMsYUFBYSxFQUFFLENBQUUsR0FEbUI7O0FBTXhDLGtCQUFrQjtBQUNsQixnQkFBZ0IsQ0FEQztFQUNmLEtBQUssRUFBRSxFQUFHO0VBQ1YsV0FBVyxFQUFFLE1BQU87RUFDcEIsY0FBYyxFQUFFLE1BQU8sR0FIUDs7QUFRbEIsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFL0J5Qm1CLEdBQUcsQ0FDSCxJQUFJO0UrQnpCOUIsU0FBUyxFL0JuQmUsSUFBSTtFK0JvQjVCLFdBQVcsRUFBRSxNQUFPO0VBQ3BCLFdBQVcsRUFBRSxDQUFFO0VBQ2YsS0FBSyxFWDVEb0IsT0FBTztFVzZEaEMsVUFBVSxFQUFFLE1BQU87RUFDbkIsZ0JBQWdCLEUvQjNETyxPQUFPO0UrQjREOUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMvQmtIYyxJQUFJO0UrQmpIbkMsYUFBYSxFL0JnQ2EsR0FBRyxHK0J6Q1g7RUFZakIsa0JBQWtCLFNBQVMsRUFBRSxlQUFlLEdBQUcsa0JBQWtCO0VBQ3BFLGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyxrQkFBa0IsSUFBSSxDQUQ5QztJQUNULE9BQU8sRS9CbUJpQixHQUFHLENBQ0gsSUFBSTtJK0JuQjVCLFNBQVMsRS9CN0JhLElBQUk7SStCOEIxQixhQUFhLEUvQjRCVyxHQUFHLEcrQi9CakI7RUFLWCxrQkFBa0IsU0FBUyxFQUFFLGVBQWUsR0FBRyxrQkFBa0I7RUFDcEUsZUFBZSxHQUFHLGdCQUFnQixHQUFHLGtCQUFrQixJQUFJLENBRDlDO0lBQ1QsT0FBTyxFL0JXaUIsSUFBSSxDQUNKLElBQUk7SStCWDVCLFNBQVMsRS9CbkNhLElBQUk7SStCb0MxQixhQUFhLEUvQnNCVyxHQUFHLEcrQnpCakI7RUFRUyxrQkFBa0IsQ0FBQyxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWTtFQUM1RCxrQkFBa0IsQ0FBQyxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxFQURmO0lBQ3JCLFVBQVUsRUFBRSxDQUFFLEdBRFE7O0FBWWtDLFlBQVksQ0FBQyxhQUFhLFlBQVk7QUFDbEcsa0JBQWtCLFlBQVk7QUFDOUIsZ0JBQWdCLFlBQVksR0FBRyxJQUFJO0FBQ25DLGdCQUFnQixZQUFZLEdBQUcsVUFBVSxHQUFHLElBQUk7QUFDaEQsZ0JBQWdCLFlBQVksR0FBRyxnQkFBZ0I7QUFDL0MsZ0JBQWdCLFdBQVcsR0FBRyxJQUFJLEtBQUssV0FBVyxDQUFDLEtBQUssZ0JBQWdCO0FBQ3hFLGdCQUFnQixXQUFXLEdBQUcsVUFBVSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBTkM7RUR0Ry9ELDBCQUEwQixFQ3VHRyxDQUFDO0VEdEczQix1QkFBdUIsRUNzR0csQ0FBQyxHQURrQzs7QUFHaEQsa0JBQWtCLFlBQVksQ0FBakI7RUFDN0IsWUFBWSxFQUFFLENBQUUsR0FEYzs7QUFTOEIsWUFBWSxDQUFDLGFBQWEsV0FBVztBQUNuRyxrQkFBa0IsV0FBVztBQUM3QixnQkFBZ0IsV0FBVyxHQUFHLElBQUk7QUFDbEMsZ0JBQWdCLFdBQVcsR0FBRyxVQUFVLEdBQUcsSUFBSTtBQUMvQyxnQkFBZ0IsV0FBVyxHQUFHLGdCQUFnQjtBQUM5QyxnQkFBZ0IsWUFBWSxHQUFHLElBQUksS0FBSyxZQUFZO0FBQ3BELGdCQUFnQixZQUFZLEdBQUcsVUFBVSxLQUFLLFlBQVksSUFBSSxJQUFJLENBTkM7RUQxR2pFLHlCQUF5QixFQzJHRyxDQUFDO0VEMUcxQixzQkFBc0IsRUMwR0csQ0FBQyxHQURxQzs7QUFHbEQsa0JBQWtCLFdBQVcsQ0FBakI7RUFDNUIsV0FBVyxFQUFFLENBQUUsR0FEYzs7QUFNL0IsZ0JBQWdCLENBQUM7RUFDZixRQUFRLEVBQUUsUUFBUztFQUduQixTQUFTLEVBQUUsQ0FBRTtFQUNiLFdBQVcsRUFBRSxNQUFPLEdBTEo7RUFTZCxnQkFBZ0IsR0FBRyxJQUFJLENBQWxCO0lBQ0wsUUFBUSxFQUFFLFFBQVMsR0FEYjtJQUVKLGdCQUFnQixHQUFHLElBQUksR0FBRyxJQUFJLENBQXpCO01BQ0wsV0FBVyxFQUFFLElBQUssR0FEWjtJQU1QLGdCQUFnQixHQUFHLElBQUksTUFBTTtJQUNsQyxnQkFBZ0IsR0FBRyxJQUFJLE1BQU07SUFDN0IsZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLENBRmpCO01BQ1AsT0FBTyxFQUFFLENBQUUsR0FESDtFQVFSLGdCQUFnQixZQUFZLEdBQUcsSUFBSTtFQUN6QyxnQkFBZ0IsWUFBWSxHQUFHLFVBQVUsQ0FEeEI7SUFDWCxZQUFZLEVBQUUsSUFBSyxHQURQO0VBTVosZ0JBQWdCLFdBQVcsR0FBRyxJQUFJO0VBQ3hDLGdCQUFnQixXQUFXLEdBQUcsVUFBVSxDQUR2QjtJQUNYLFdBQVcsRUFBRSxJQUFLLEdBRE47O0FDekpsQixJQUFJLENBQUM7RUFDSCxhQUFhLEVBQUUsQ0FBRTtFQUNqQixZQUFZLEVBQUUsQ0FBRTtFQUNoQixVQUFVLEVBQUUsSUFBSyxHQUhiO0VyQk1ILElBQUksT0FBTztFQUNkLElBQUksTUFBTSxDQURBO0lBQ04sT0FBTyxFQUFFLEdBQUk7SUFDYixPQUFPLEVBQUUsS0FBTSxHQUZSO0VBSVIsSUFBSSxNQUFNLENBQUg7SUFDTixLQUFLLEVBQUUsSUFBSyxHQURMO0VxQkpQLElBQUksR0FBRyxFQUFFLENBQU47SUFDSCxRQUFRLEVBQUUsUUFBUztJQUNuQixPQUFPLEVBQUUsS0FBTSxHQUZYO0lBSUYsSUFBSSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQVg7TUFDRixRQUFRLEVBQUUsUUFBUztNQUNuQixPQUFPLEVBQUUsS0FBTTtNQUNmLE9BQU8sRWhDbVorQixJQUFJLENBQUMsSUFBSSxHZ0N0WjVDO01BS0YsSUFBSSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU07TUFDMUIsSUFBSSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FETDtRQUNOLGVBQWUsRUFBRSxJQUFLO1FBQ3RCLGdCQUFnQixFaENMQyxPQUFPLEdnQ0dqQjtJQU9FLElBQUksR0FBRyxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQXBCO01BQ2IsS0FBSyxFaENaYyxPQUFPLEdnQ1daO01BSWIsSUFBSSxHQUFHLEVBQUUsU0FBUyxHQUFHLENBQUMsTUFBTTtNQUNuQyxJQUFJLEdBQUcsRUFBRSxTQUFTLEdBQUcsQ0FBQyxNQUFNLENBRGQ7UUFDTixLQUFLLEVoQ2hCWSxPQUFPO1FnQ2lCeEIsZUFBZSxFQUFFLElBQUs7UUFDdEIsZ0JBQWdCLEVBQUUsV0FBWTtRQUM5QixNQUFNLEVoQytMbUIsV0FBVyxHZ0NuTTdCO0VBYVYsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDO0VBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFNO0VBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBRlI7SUFDTixnQkFBZ0IsRWhDNUJHLE9BQU87SWdDNkIxQixZQUFZLEVoQzNCTSxPQUFNLEdnQ3lCakI7RUFXWCxJQUFJLENBQUMsWUFBWSxDQUFKO0lMckRiLE1BQU0sRUFBRSxHQUFJO0lBQ1osTUFBTSxFQUFJLElBQXFCLENBQVcsQ0FBQztJQUMzQyxRQUFRLEVBQUUsTUFBTztJQUNqQixnQkFBZ0IsRUFKUyxPQUFPLEdLc0RsQjtFQU9ILElBQUksR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBZjtJQUNiLFNBQVMsRUFBRSxJQUFLLEdBREY7O0FBVWxCLFNBQVMsQ0FBQztFQUNSLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDaENtV2tCLElBQUksR2dDcFdyQztFQUVQLFNBQVMsR0FBRyxFQUFFLENBQVg7SUFDSCxLQUFLLEVBQUUsSUFBSztJQUVaLGFBQWEsRUFBRSxJQUFLLEdBSGhCO0lBTUYsU0FBUyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQWhCO01BQ0YsWUFBWSxFQUFFLEdBQUk7TUFDbEIsV0FBVyxFaENsQlMsT0FBVztNZ0NtQi9CLE1BQU0sRUFBRSxxQkFBc0I7TUFDOUIsYUFBYSxFaEMwQlMsR0FBRyxDQUFILEdBQUcsQ2dDMUI4QixDQUFDLENBQUMsQ0FBQyxHQUp2RDtNQUtGLFNBQVMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQWpCO1FBQ04sWUFBWSxFaENyRUssT0FBTyxDQUFQLE9BQU8sQ0EyWlksSUFBSSxHZ0N2VmpDO0lBU1IsU0FBUyxHQUFHLEVBQUUsT0FBTyxHQUFHLENBQUM7SUFDaEMsU0FBUyxHQUFHLEVBQUUsT0FBTyxHQUFHLENBQUMsTUFBTTtJQUMvQixTQUFTLEdBQUcsRUFBRSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBRmpCO01BQ04sS0FBSyxFWmpGYyxPQUFPO01Za0YxQixnQkFBZ0IsRWhDbEVBLElBQUk7TWdDbUVwQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2hDaVZtQixJQUFJO01nQ2hWeEMsbUJBQW1CLEVBQUUsV0FBWTtNQUNqQyxNQUFNLEVBQUUsT0FBUSxHQUxUOztBQW9CWCxVQUFVLEdBQUcsRUFBRSxDQUFaO0VBQ0gsS0FBSyxFQUFFLElBQUssR0FEUjtFQUlGLFVBQVUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFqQjtJQUNGLGFBQWEsRWhDVFMsR0FBRyxHZ0NRdEI7RUFHSCxVQUFVLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBakI7SUFDSCxXQUFXLEVBQUUsR0FBSSxHQURiO0VBUUgsVUFBVSxHQUFHLEVBQUUsT0FBTyxHQUFHLENBQUM7RUFDakMsVUFBVSxHQUFHLEVBQUUsT0FBTyxHQUFHLENBQUMsTUFBTTtFQUNoQyxVQUFVLEdBQUcsRUFBRSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBRmxCO0lBQ04sS0FBSyxFaENmZSxJQUFJO0lnQ2dCeEIsZ0JBQWdCLEVoQ2hIQSxPQUFNLEdnQzhHZjs7QUFXWCxZQUFZLEdBQUcsRUFBRSxDQUFkO0VBQ0gsS0FBSyxFQUFFLElBQUssR0FEUjtFQUVGLFlBQVksR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFuQjtJQUNILFVBQVUsRUFBRSxHQUFJO0lBQ2hCLFdBQVcsRUFBRSxDQUFFLEdBRlg7O0FBY1YsY0FBYyxFQUFFLFNBQVMsY0FBYyxDQUF4QjtFQUNiLEtBQUssRUFBRSxJQUFLLEdBREU7RUFHWixjQUFjLEdBQUcsRUFBRSxFQUFFLFNBQVMsY0FBYyxHQUFHLEVBQUUsQ0FBOUM7SUFDSCxLQUFLLEVBQUUsSUFBSyxHQURSO0lBRUYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsU0FBUyxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBdkQ7TUFDRixVQUFVLEVBQUUsTUFBTztNQUNuQixhQUFhLEVBQUUsR0FBSSxHQUZoQjtFQU1LLGNBQWMsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUExQjtJQUN6QixHQUFHLEVBQUUsSUFBSztJQUNWLElBQUksRUFBRSxJQUFLLEdBRmU7RUFLNUIsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0lBQ2IsY0FBYyxHQUFHLEVBQUUsRUFBRSxTQUFTLGNBQWMsR0FBRyxFQUFFLENBQTlDO01BQ0gsT0FBTyxFQUFFLFVBQVc7TUFDcEIsS0FBSyxFQUFFLEVBQUcsR0FGTjtNQUdGLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLFNBQVMsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQXZEO1FBQ0YsYUFBYSxFQUFFLENBQUUsR0FEZDs7QUFVWCxtQkFBbUIsRUFBRSxTQUFTLGNBQWMsQ0FBeEI7RUFDbEIsYUFBYSxFQUFFLENBQUUsR0FERTtFQUdaLG1CQUFtQixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsU0FBUyxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBNUQ7SUFFUCxZQUFZLEVBQUUsQ0FBRTtJQUNoQixhQUFhLEVoQ2xGVyxHQUFHLEdnQytFbkI7RUFRRyxtQkFBbUIsR0FBRyxPQUFPLEdBQUcsQ0FBQztFQUNoRCxTQUFTLGNBQWMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLE9BQU8sR0FBRyxDQUFDLE1BQU07RUFDOUUsU0FBUyxjQUFjLEdBQUcsT0FBTyxHQUFHLENBQUMsTUFBTSxFQUFFLG1CQUFtQixHQUFHLE9BQU8sR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLGNBQWMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBRjNHO0lBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDaEM4TzZCLElBQUksR2dDL08vQjtFQUlyQixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SUFDUixtQkFBbUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLFNBQVMsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQTVEO01BQ1AsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoQ3lPb0IsSUFBSTtNZ0N4T2hELGFBQWEsRWhDOUZTLEdBQUcsQ0FBSCxHQUFHLENnQzhGOEIsQ0FBQyxDQUFDLENBQUMsR0FGbEQ7SUFNRyxtQkFBbUIsR0FBRyxPQUFPLEdBQUcsQ0FBQztJQUNsRCxTQUFTLGNBQWMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLE9BQU8sR0FBRyxDQUFDLE1BQU07SUFDOUUsU0FBUyxjQUFjLEdBQUcsT0FBTyxHQUFHLENBQUMsTUFBTSxFQUFFLG1CQUFtQixHQUFHLE9BQU8sR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLGNBQWMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBRnpHO01BQ2xCLG1CQUFtQixFaENuTEQsSUFBSSxHZ0NrTEg7O0FBWXJCLFlBQVksR0FBRyxTQUFTLENBQWQ7RUFDVixPQUFPLEVBQUUsSUFBSyxHQURIOztBQUdYLFlBQVksR0FBRyxPQUFPLENBQWQ7RUFDUixPQUFPLEVBQUUsS0FBTSxHQUROOztBQVVILFNBQVMsQ0FBQyxjQUFjLENBQVQ7RUFFdkIsVUFBVSxFQUFFLElBQUs7RUYzT2pCLHVCQUF1QixFRTZPSSxDQUFDO0VGNU8zQixzQkFBc0IsRUU0T0ksQ0FBQyxHQUpKOztBQ2xPMUIsT0FBTyxDQUFDO0VBQ04sUUFBUSxFQUFFLFFBQVM7RUFDbkIsVUFBVSxFakM4VnVCLElBQUk7RWlDN1ZyQyxhQUFhLEVqQ3dEVyxJQUFLO0VpQ3ZEN0IsTUFBTSxFQUFFLHFCQUFzQixHQUp2QjtFdEJJTixPQUFPLE9BQU87RUFDakIsT0FBTyxNQUFNLENBREg7SUFDTixPQUFPLEVBQUUsR0FBSTtJQUNiLE9BQU8sRUFBRSxLQUFNLEdBRlI7RUFJUixPQUFPLE1BQU0sQ0FBTjtJQUNOLEtBQUssRUFBRSxJQUFLLEdBREw7RXNCQ1QsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0lBVG5CLE9BQU8sQ0FBQztNQVVKLGFBQWEsRWpDNkZXLEdBQUcsR2lDdkd0Qjs7QXRCSU4sY0FBYyxPQUFPO0FBQ3hCLGNBQWMsTUFBTSxDQURWO0VBQ04sT0FBTyxFQUFFLEdBQUk7RUFDYixPQUFPLEVBQUUsS0FBTSxHQUZSOztBQUlSLGNBQWMsTUFBTSxDQUFiO0VBQ04sS0FBSyxFQUFFLElBQUssR0FETDs7QXNCZVQsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0VBSG5CLGNBQWMsQ0FBQztJQUlYLEtBQUssRUFBRSxJQUFLLEdBSkE7O0FBbUJoQixnQkFBZ0IsQ0FBQztFQUNmLFVBQVUsRUFBRSxPQUFRO0VBQ3BCLGFBQWEsRWpDMFRvQixJQUFLO0VpQ3pUdEMsWUFBWSxFakN5VHFCLElBQUs7RWlDeFR0QyxVQUFVLEVBQUUscUJBQXNCO0VBQ2xDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQUk7RUFFOUIsMEJBQTBCLEVBQUUsS0FBTSxHQVBsQjtFdEJuQ2YsZ0JBQWdCLE9BQU87RUFDMUIsZ0JBQWdCLE1BQU0sQ0FEWjtJQUNOLE9BQU8sRUFBRSxHQUFJO0lBQ2IsT0FBTyxFQUFFLEtBQU0sR0FGUjtFQUlSLGdCQUFnQixNQUFNLENBQWY7SUFDTixLQUFLLEVBQUUsSUFBSyxHQURMO0VzQndDUixnQkFBZ0IsR0FBRyxDQUFmO0lBQ0gsVUFBVSxFQUFFLElBQUssR0FEYjtFQUlOLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztJQWJuQixnQkFBZ0IsQ0FBQztNQWNiLEtBQUssRUFBRSxJQUFLO01BQ1osVUFBVSxFQUFFLENBQUU7TUFDZCxVQUFVLEVBQUUsSUFBSyxHQWhCSDtNQWtCYixnQkFBZ0IsU0FBUyxDQUFmO1FBQ1QsT0FBTyxFQUFFLGdCQUFpQjtRQUMxQixNQUFNLEVBQUUsZUFBZ0I7UUFDeEIsY0FBYyxFQUFFLENBQUU7UUFDbEIsUUFBUSxFQUFFLGtCQUFtQixHQUpuQjtNQU9YLGdCQUFnQixHQUFHLENBQWY7UUFDSCxVQUFVLEVBQUUsT0FBUSxHQURoQjtNQVFlLGlCQUFpQixDQUFDLGdCQUFnQjtNQUMzRCxrQkFBa0IsQ0FBQyxnQkFBZ0I7TUFDbkMsb0JBQW9CLENBQUMsZ0JBQWdCLENBRlY7UUFDckIsWUFBWSxFQUFFLENBQUU7UUFDaEIsYUFBYSxFQUFFLENBQUUsR0FGSzs7QUFTMUIsaUJBQWlCLENBQUMsZ0JBQWdCO0FBQ3BDLG9CQUFvQixDQUFDLGdCQUFnQixDQURsQjtFQUNmLFVBQVUsRWpDbVJxQixLQUFLLEdpQ3BScEI7RUFHaEIsTUFBTSxFQUFMLGdCQUFnQixFQUFFLEtBQUssT0FBTyxXQUFXLEVBQUUsU0FBUztJQUh2RCxpQkFBaUIsQ0FBQyxnQkFBZ0I7SUFDcEMsb0JBQW9CLENBQUMsZ0JBQWdCLENBRGxCO01BSWIsVUFBVSxFQUFFLEtBQU0sR0FKSjs7QUFpQmhCLFVBQVUsR0FBRyxjQUFjO0FBQy9CLFVBQVUsR0FBRyxnQkFBZ0I7QUFDN0IsZ0JBQWdCLEdBQUcsY0FBYztBQUNqQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FIZDtFQUNqQixZQUFZLEVqQ2dRbUIsS0FBSztFaUMvUHBDLFdBQVcsRWpDK1BvQixLQUFLLEdpQ2pRbEI7RUFJbEIsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0lBSmpCLFVBQVUsR0FBRyxjQUFjO0lBQy9CLFVBQVUsR0FBRyxnQkFBZ0I7SUFDN0IsZ0JBQWdCLEdBQUcsY0FBYztJQUNqQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FIZDtNQUtmLFlBQVksRUFBRSxDQUFFO01BQ2hCLFdBQVcsRUFBRyxDQUFFLEdBTkE7O0FBbUJ0QixrQkFBa0IsQ0FBQztFQUNqQixPQUFPLEVqQ2tKa0IsSUFBSTtFaUNqSjdCLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FGSDtFQUlsQixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SUFKbkIsa0JBQWtCLENBQUM7TUFLZixhQUFhLEVBQUUsQ0FBRSxHQUxEOztBQVdwQixpQkFBaUI7QUFDakIsb0JBQW9CLENBREM7RUFDbkIsUUFBUSxFQUFFLEtBQU07RUFDaEIsS0FBSyxFQUFFLENBQUU7RUFDVCxJQUFJLEVBQUUsQ0FBRTtFQUNSLE9BQU8sRWpDd0lrQixJQUFJLEdpQzVJVDtFQU9wQixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SUFQbkIsaUJBQWlCO0lBQ2pCLG9CQUFvQixDQURDO01BUWpCLGFBQWEsRUFBRSxDQUFFLEdBUkM7O0FBV3RCLGlCQUFpQixDQUFDO0VBQ2hCLEdBQUcsRUFBRSxDQUFFO0VBQ1AsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUZKOztBQUluQixvQkFBb0IsQ0FBQztFQUNuQixNQUFNLEVBQUUsQ0FBRTtFQUNWLGFBQWEsRUFBRSxDQUFFO0VBQ2pCLFlBQVksRUFBRSxPQUFRLEdBSEY7O0FBU3RCLGFBQWEsQ0FBQztFQUNaLEtBQUssRUFBRSxJQUFLO0VBQ1osT0FBTyxFakMwTTRCLElBQWMsQ0FEaEIsSUFBSztFaUN4TXRDLFNBQVMsRWpDN0dlLElBQUk7RWlDOEc1QixXQUFXLEVqQ2pHYSxJQUFLO0VpQ2tHN0IsTUFBTSxFakNtTTJCLElBQUksR2lDeE14QjtFQVFaLGFBQWEsTUFBTTtFQUN0QixhQUFhLE1BQU0sQ0FEVDtJQUNOLGVBQWUsRUFBRSxJQUFLLEdBRGY7RUFJUCxhQUFhLEdBQUcsR0FBRyxDQUFmO0lBQ0osT0FBTyxFQUFFLEtBQU0sR0FEVjtFQUlQLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztJQUVZLE9BQU8sR0FBRyxVQUFVLENBQUMsYUFBYTtJQUNqRSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQURQO01BQzNCLFdBQVcsRWpDd0xrQixLQUFLLEdpQ3pMTjs7QUFZbEMsY0FBYyxDQUFDO0VBQ2IsUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFFLEtBQU07RUFDYixZQUFZLEVqQzBLcUIsSUFBSztFaUN6S3RDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSTtFQzlMakIsVUFBVSxFQUFJLEdBQWM7RUFDNUIsYUFBYSxFQUFJLEdBQWM7RUQrTC9CLGdCQUFnQixFQUFFLFdBQVk7RUFDOUIsZ0JBQWdCLEVBQUUsSUFBSztFQUN2QixNQUFNLEVBQUUscUJBQXNCO0VBQzlCLGFBQWEsRWpDeEZhLEdBQUcsR2lDK0VmO0VBYWIsY0FBYyxNQUFNLENBQWI7SUFDTixPQUFPLEVBQUUsQ0FBRSxHQURKO0VBS1QsY0FBYyxDQUFDLFNBQVMsQ0FBZDtJQUNSLE9BQU8sRUFBRSxLQUFNO0lBQ2YsS0FBSyxFQUFFLElBQUs7SUFDWixNQUFNLEVBQUUsR0FBSTtJQUNaLGFBQWEsRUFBRSxHQUFJLEdBSlY7RUFNQyxjQUFjLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBMUI7SUFDcEIsVUFBVSxFQUFFLEdBQUksR0FESztFQUl2QixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SUE1Qm5CLGNBQWMsQ0FBQztNQTZCWCxPQUFPLEVBQUUsSUFBSyxHQTdCRjs7QUF1Q2hCLFdBQVcsQ0FBQztFQUNWLE1BQU0sRUFBRyxHQUF3QixDakNxSUEsS0FBSyxHaUN0STNCO0VBR0osV0FBVyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQWxCO0lBQ1AsV0FBVyxFQUFLLElBQUs7SUFDckIsY0FBYyxFQUFFLElBQUs7SUFDckIsV0FBVyxFakN4S1csSUFBSyxHaUNxS25CO0VBTVYsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0lBRVQsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQWpCO01BQ25CLFFBQVEsRUFBRSxNQUFPO01BQ2pCLEtBQUssRUFBRSxJQUFLO01BQ1osS0FBSyxFQUFFLElBQUs7TUFDWixVQUFVLEVBQUUsQ0FBRTtNQUNkLGdCQUFnQixFQUFFLFdBQVk7TUFDOUIsTUFBTSxFQUFFLENBQUU7TUFDVixVQUFVLEVBQUUsSUFBSyxHQVBHO01BU3BCLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDO01BQy9DLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUQxQjtRQUNmLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBRFY7TUFHWCxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUF2QztRQUNQLFdBQVcsRWpDMUxPLElBQUssR2lDeUxmO1FBR1AsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTTtRQUN4RCxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBRC9CO1VBQ04sZ0JBQWdCLEVBQUUsSUFBSyxHQURoQjtFQVFmLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztJQWxDbkIsV0FBVyxDQUFDO01BbUNSLEtBQUssRUFBRSxJQUFLO01BQ1osTUFBTSxFQUFFLENBQUUsR0FwQ0Q7TUFzQ1AsV0FBVyxHQUFHLEVBQUUsQ0FBYjtRQUNILEtBQUssRUFBRSxJQUFLLEdBRFI7UUFFRixXQUFXLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBbEI7VUFDRixXQUFXLEVqQzhGa0IsSUFBYztVaUM3RjNDLGNBQWMsRWpDNkZlLElBQWMsR2lDL0Z4Qzs7QUFjWCxZQUFZLENBQUM7RUFDWCxXQUFXLEVqQytFc0IsS0FBSztFaUM5RXRDLFlBQVksRWpDOEVxQixLQUFLO0VpQzdFdEMsT0FBTyxFQUFFLElBQUksQ2pDNkVvQixJQUFLO0VpQzVFdEMsVUFBVSxFQUFFLHFCQUFzQjtFQUNsQyxhQUFhLEVBQUUscUJBQXNCO0U1QjlOckMsa0JBQWtCLEU0QitOVCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQUksRUFBa0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQUk7RTVCOU5qRCxVQUFVLEU0QjhOVCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQUksRUFBa0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQUk7RUM3UnpELFVBQVUsRUFBSSxHQUFjO0VBQzVCLGFBQWEsRUFBSSxHQUFjLEdEc1JuQjtFZHlKWixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SUFFZixZQUFZLENBQUMsV0FBVyxDQUFaO01BQ1YsT0FBTyxFQUFFLFlBQWE7TUFDdEIsYUFBYSxFQUFFLENBQUU7TUFDakIsY0FBYyxFQUFFLE1BQU8sR0FIWjtJQU9iLFlBQVksQ0FBQyxhQUFhLENBQVo7TUFDWixPQUFPLEVBQUUsWUFBYTtNQUN0QixLQUFLLEVBQUUsSUFBSztNQUNaLGNBQWMsRUFBRSxNQUFPLEdBSFY7SUFPZixZQUFZLENBQUMsb0JBQW9CLENBQVo7TUFDbkIsT0FBTyxFQUFFLFlBQWEsR0FERjtJQUl0QixZQUFZLENBQUMsWUFBWSxDQUFaO01BQ1gsT0FBTyxFQUFFLFlBQWE7TUFDdEIsY0FBYyxFQUFFLE1BQU8sR0FGWDtNQU1aLFlBQVksQ0FBQyxZQUFZLENBQUMsa0JBQWtCO01BQ2xELFlBQVksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCO01BQzFDLFlBQVksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUZuQjtRQUNaLEtBQUssRUFBRSxJQUFLLEdBREM7SUFNRixZQUFZLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBM0I7TUFDM0IsS0FBSyxFQUFFLElBQUssR0FEZ0I7SUFJOUIsWUFBWSxDQUFDLGNBQWMsQ0FBWjtNQUNiLGFBQWEsRUFBRSxDQUFFO01BQ2pCLGNBQWMsRUFBRSxNQUFPLEdBRlQ7SUFRaEIsWUFBWSxDQUFDLE1BQU07SUFDdkIsWUFBWSxDQUFDLFNBQVMsQ0FEUjtNQUNSLE9BQU8sRUFBRSxZQUFhO01BQ3RCLFVBQVUsRUFBRSxDQUFFO01BQ2QsYUFBYSxFQUFFLENBQUU7TUFDakIsY0FBYyxFQUFFLE1BQU8sR0FKZDtNQU1ULFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSztNQUMvQixZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FEaEI7UUFDSixZQUFZLEVBQUUsQ0FBRSxHQURYO0lBS3NCLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVk7SUFDekUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxFQURQO01BQy9CLFFBQVEsRUFBRSxRQUFTO01BQ25CLFdBQVcsRUFBRSxDQUFFLEdBRmlCO0lBTXBCLFlBQVksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQTFCO01BQ25DLEdBQUcsRUFBRSxDQUFFLEdBRDZCO0Vjek10QyxNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SUFEbkIsWUFBWSxDQUFDLFdBQVcsQ0FBWjtNQUVSLGFBQWEsRUFBRSxHQUFJLEdBRlY7TUFJUixZQUFZLENBQUMsV0FBVyxXQUFXLENBQXZCO1FBQ1gsYUFBYSxFQUFFLENBQUUsR0FETDtFQVVsQixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SUExQm5CLFlBQVksQ0FBQztNQTJCVCxLQUFLLEVBQUUsSUFBSztNQUNaLE1BQU0sRUFBRSxDQUFFO01BQ1YsV0FBVyxFQUFFLENBQUU7TUFDZixZQUFZLEVBQUUsQ0FBRTtNQUNoQixXQUFXLEVBQUUsQ0FBRTtNQUNmLGNBQWMsRUFBRSxDQUFFO001QnpQcEIsa0JBQWtCLEU0QjBQSSxJQUFJO001QnpQbEIsVUFBVSxFNEJ5UEksSUFBSSxHQWpDZDs7QUF5Q0ssV0FBVyxHQUFHLEVBQUUsR0FBRyxjQUFjLENBQWxCO0VBQ2hDLFVBQVUsRUFBRSxDQUFFO0VIcFVkLHVCQUF1QixFR3FVSSxDQUFDO0VIcFUzQixzQkFBc0IsRUdvVUksQ0FBQyxHQUZLOztBQUtLLG9CQUFvQixDQUFDLFdBQVcsR0FBRyxFQUFFLEdBQUcsY0FBYyxDQUF2QztFQUNyRCxhQUFhLEVBQUUsQ0FBRTtFSHpVakIsdUJBQXVCLEU5QjhHRyxHQUFHO0U4QjdHNUIsc0JBQXNCLEU5QjZHRyxHQUFHO0U4QnRHN0IsMEJBQTBCLEVHbVVJLENBQUM7RUhsVTlCLHlCQUF5QixFR2tVSSxDQUFDLEdBSHVCOztBQVd4RCxXQUFXLENBQUM7RUNoVlYsVUFBVSxFQUFJLEdBQWM7RUFDNUIsYUFBYSxFQUFJLEdBQWMsR0QrVXBCO0VBR1YsV0FBVyxPQUFPLEVBQUUsYUFBYSxHQUFHLFdBQVcsSUFBSSxDQUEzQztJQ25WVCxVQUFVLEVBQUksS0FBYztJQUM1QixhQUFhLEVBQUksS0FBYyxHRGtWckI7RUFHVCxXQUFXLE9BQU8sRUFBRSxhQUFhLEdBQUcsV0FBVyxJQUFJLENBQTNDO0lDdFZULFVBQVUsRUFBSSxJQUFjO0lBQzVCLGFBQWEsRUFBSSxJQUFjLEdEcVZyQjs7QUFVWixZQUFZLENBQUM7RUNoV1gsVUFBVSxFQUFJLElBQWM7RUFDNUIsYUFBYSxFQUFJLElBQWMsR0QrVm5CO0VBR1osTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0lBSG5CLFlBQVksQ0FBQztNQUlULEtBQUssRUFBRSxJQUFLO01BQ1osV0FBVyxFakNFb0IsSUFBSztNaUNEcEMsWUFBWSxFakNDbUIsSUFBSyxHaUNQMUI7O0FBbUJkLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztFQUNmLFlBQVksQ0FBQztJQUNYLEtBQUssRUFBRSxlQUFnQixHQURYO0VBR2QsYUFBYSxDQUFDO0lBQ1osS0FBSyxFQUFFLGdCQUFpQjtJQUMxQixZQUFZLEVqQ2xCcUIsS0FBSyxHaUNnQnZCO0lBSVgsYUFBYSxHQUFHLGFBQWEsQ0FBZjtNQUNkLFlBQVksRUFBRSxDQUFFLEdBREQ7O0FBV3JCLGVBQWUsQ0FBQztFQUNkLGdCQUFnQixFakMzQmlCLE9BQU87RWlDNEJ4QyxZQUFZLEVqQzNCcUIsT0FBTSxHaUN5QnhCO0VBSWYsZUFBZSxDQUFDLGFBQWEsQ0FBZjtJQUNaLEtBQUssRWpDM0JrQyxJQUFJLEdpQzBCOUI7SUFHWixlQUFlLENBQUMsYUFBYSxNQUFNO0lBQ3hDLGVBQWUsQ0FBQyxhQUFhLE1BQU0sQ0FEdkI7TUFDTixLQUFLLEVqQ3BCZ0MsT0FBTTtNaUNxQjNDLGdCQUFnQixFakNwQnFCLFdBQVcsR2lDa0J6QztFQU1YLGVBQWUsQ0FBQyxZQUFZLENBQWY7SUFDWCxLQUFLLEVqQ3pDMEIsSUFBSSxHaUN3Q3ZCO0VBS0wsZUFBZSxDQUFDLFdBQVcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFsQztJQUNQLEtBQUssRWpDekNnQyxJQUFJLEdpQ3dDakM7SUFJUCxlQUFlLENBQUMsV0FBVyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU07SUFDakQsZUFBZSxDQUFDLFdBQVcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBRDVCO01BQ04sS0FBSyxFakM1QzhCLElBQUk7TWlDNkN2QyxnQkFBZ0IsRWpDNUNtQixXQUFXLEdpQzBDdkM7RUFRUixlQUFlLENBQUMsV0FBVyxHQUFHLE9BQU8sR0FBRyxDQUFDO0VBQ2hELGVBQWUsQ0FBQyxXQUFXLEdBQUcsT0FBTyxHQUFHLENBQUMsTUFBTTtFQUMvQyxlQUFlLENBQUMsV0FBVyxHQUFHLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FGakM7SUFDTixLQUFLLEVqQ2xEOEIsSUFBSTtJaUNtRHZDLGdCQUFnQixFakNsRG1CLE9BQU0sR2lDZ0RsQztFQVFSLGVBQWUsQ0FBQyxXQUFXLEdBQUcsU0FBUyxHQUFHLENBQUM7RUFDbEQsZUFBZSxDQUFDLFdBQVcsR0FBRyxTQUFTLEdBQUcsQ0FBQyxNQUFNO0VBQ2pELGVBQWUsQ0FBQyxXQUFXLEdBQUcsU0FBUyxHQUFHLENBQUMsTUFBTSxDQUZuQztJQUNOLEtBQUssRWpDeEQ4QixJQUFJO0lpQ3lEdkMsZ0JBQWdCLEVqQ3hEbUIsV0FBVyxHaUNzRHZDO0VBT2IsZUFBZSxDQUFDLGNBQWMsQ0FBZjtJQUNiLFlBQVksRWpDcEQyQixJQUFJLEdpQ21EN0I7SUFHYixlQUFlLENBQUMsY0FBYyxNQUFNO0lBQ3pDLGVBQWUsQ0FBQyxjQUFjLE1BQU0sQ0FEeEI7TUFDTixnQkFBZ0IsRWpDekRxQixJQUFJLEdpQ3dEbEM7SUFHVCxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBOUI7TUFDUixnQkFBZ0IsRWpDM0RxQixJQUFJLEdpQzBEaEM7RUFNYixlQUFlLENBQUMsZ0JBQWdCO0VBQ2xDLGVBQWUsQ0FBQyxZQUFZLENBRGI7SUFDWCxZQUFZLEVqQ25GbUIsT0FBTSxHaUNrRnpCO0VBVVQsZUFBZSxDQUFDLFdBQVcsR0FBRyxLQUFLLEdBQUcsQ0FBQztFQUM5QyxlQUFlLENBQUMsV0FBVyxHQUFHLEtBQUssR0FBRyxDQUFDLE1BQU07RUFDN0MsZUFBZSxDQUFDLFdBQVcsR0FBRyxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBRi9CO0lBQ04sZ0JBQWdCLEVqQ3RGbUIsT0FBTTtJaUN1RnpDLEtBQUssRWpDeEY4QixJQUFJLEdpQ3NGaEM7RUFNWCxNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SUFHTixlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBdkQ7TUFDUCxLQUFLLEVqQ25HNEIsSUFBSSxHaUNrRzdCO01BR1AsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU07TUFDMUUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FEN0M7UUFDTixLQUFLLEVqQ3JHMEIsSUFBSTtRaUNzR25DLGdCQUFnQixFakNyR2UsV0FBVyxHaUNtR25DO0lBUVIsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLE9BQU8sR0FBRyxDQUFDO0lBQ3pFLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxNQUFNO0lBQ3BFLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBRmxEO01BQ04sS0FBSyxFakMzRzBCLElBQUk7TWlDNEduQyxnQkFBZ0IsRWpDM0dlLE9BQU0sR2lDeUc5QjtJQVFSLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxTQUFTLEdBQUcsQ0FBQztJQUMzRSxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsU0FBUyxHQUFHLENBQUMsTUFBTTtJQUN0RSxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsU0FBUyxHQUFHLENBQUMsTUFBTSxDQUZwRDtNQUNOLEtBQUssRWpDakgwQixJQUFJO01pQ2tIbkMsZ0JBQWdCLEVqQ2pIZSxXQUFXLEdpQytHbkM7RUFjakIsZUFBZSxDQUFDLFlBQVksQ0FBZjtJQUNYLEtBQUssRWpDcElrQyxJQUFJLEdpQ21JL0I7SUFFWCxlQUFlLENBQUMsWUFBWSxNQUFNLENBQTNCO01BQ04sS0FBSyxFakNySWdDLElBQUksR2lDb0lsQztFQUtYLGVBQWUsQ0FBQyxTQUFTLENBQWY7SUFDUixLQUFLLEVqQzNJa0MsSUFBSSxHaUMwSWxDO0lBR1IsZUFBZSxDQUFDLFNBQVMsTUFBTTtJQUNwQyxlQUFlLENBQUMsU0FBUyxNQUFNLENBRG5CO01BQ04sS0FBSyxFakM3SWdDLElBQUksR2lDNElsQztJQU1OLGVBQWUsQ0FBQyxTQUFTLENBQUEsUUFBQyxDQUFTLE1BQU07SUFDaEQsZUFBZSxDQUFDLFNBQVMsQ0FBQSxRQUFDLENBQVMsTUFBTTtJQUN6QyxRQUFRLENBQUEsUUFBQyxFQUFVLGVBQWUsQ0FBQyxTQUFTLE1BQU07SUFDbEQsUUFBUSxDQUFBLFFBQUMsRUFBVSxlQUFlLENBQUMsU0FBUyxNQUFNLENBSHBDO01BQ04sS0FBSyxFakMvSThCLElBQUksR2lDOEloQzs7QUFTZixlQUFlLENBQUM7RUFDZCxnQkFBZ0IsRWpDdkkwQixJQUFJO0VpQ3dJOUMsWUFBWSxFakN2SThCLE9BQU0sR2lDcUlqQztFQUlmLGVBQWUsQ0FBQyxhQUFhLENBQWY7SUFDWixLQUFLLEVqQ3ZJbUMsT0FBTyxHaUNzSWxDO0lBR1osZUFBZSxDQUFDLGFBQWEsTUFBTTtJQUN4QyxlQUFlLENBQUMsYUFBYSxNQUFNLENBRHZCO01BQ04sS0FBSyxFakNoSWlDLElBQUk7TWlDaUkxQyxnQkFBZ0IsRWpDaElzQixXQUFXLEdpQzhIMUM7RUFNWCxlQUFlLENBQUMsWUFBWSxDQUFmO0lBQ1gsS0FBSyxFakNySm1DLE9BQU8sR2lDb0puQztFQUtMLGVBQWUsQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBbEM7SUFDUCxLQUFLLEVqQ3JKaUMsT0FBTyxHaUNvSnJDO0lBSVAsZUFBZSxDQUFDLFdBQVcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNO0lBQ2pELGVBQWUsQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUQ1QjtNQUNOLEtBQUssRWpDeEorQixJQUFJO01pQ3lKeEMsZ0JBQWdCLEVqQ3hKb0IsV0FBVyxHaUNzSnhDO0VBUVIsZUFBZSxDQUFDLFdBQVcsR0FBRyxPQUFPLEdBQUcsQ0FBQztFQUNoRCxlQUFlLENBQUMsV0FBVyxHQUFHLE9BQU8sR0FBRyxDQUFDLE1BQU07RUFDL0MsZUFBZSxDQUFDLFdBQVcsR0FBRyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBRmpDO0lBQ04sS0FBSyxFakNoSytCLElBQUk7SWlDaUt4QyxnQkFBZ0IsRWpDOUpvQixPQUFNLEdpQzRKbkM7RUFRUixlQUFlLENBQUMsV0FBVyxHQUFHLFNBQVMsR0FBRyxDQUFDO0VBQ2xELGVBQWUsQ0FBQyxXQUFXLEdBQUcsU0FBUyxHQUFHLENBQUMsTUFBTTtFQUNqRCxlQUFlLENBQUMsV0FBVyxHQUFHLFNBQVMsR0FBRyxDQUFDLE1BQU0sQ0FGbkM7SUFDTixLQUFLLEVqQ3BLK0IsSUFBSTtJaUNxS3hDLGdCQUFnQixFakNwS29CLFdBQVcsR2lDa0t4QztFQVFiLGVBQWUsQ0FBQyxjQUFjLENBQWY7SUFDYixZQUFZLEVqQ2pLNEIsSUFBSSxHaUNnSzlCO0lBR2IsZUFBZSxDQUFDLGNBQWMsTUFBTTtJQUN6QyxlQUFlLENBQUMsY0FBYyxNQUFNLENBRHhCO01BQ04sZ0JBQWdCLEVqQ3RLc0IsSUFBSSxHaUNxS25DO0lBR1QsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQTlCO01BQ1IsZ0JBQWdCLEVqQ3hLc0IsSUFBSSxHaUN1S2pDO0VBTWIsZUFBZSxDQUFDLGdCQUFnQjtFQUNsQyxlQUFlLENBQUMsWUFBWSxDQURiO0lBQ1gsWUFBWSxFQUFFLE9BQU0sR0FEUjtFQVNULGVBQWUsQ0FBQyxXQUFXLEdBQUcsS0FBSyxHQUFHLENBQUM7RUFDOUMsZUFBZSxDQUFDLFdBQVcsR0FBRyxLQUFLLEdBQUcsQ0FBQyxNQUFNO0VBQzdDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsS0FBSyxHQUFHLENBQUMsTUFBTSxDQUYvQjtJQUNOLGdCQUFnQixFakNsTW9CLE9BQU07SWlDbU0xQyxLQUFLLEVqQ3RNK0IsSUFBSSxHaUNvTWpDO0VBTVgsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0lBR1gsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFsRDtNQUNqQixZQUFZLEVqQ2xOc0IsT0FBTSxHaUNpTnRCO0lBR3BCLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQWhEO01BQ1AsZ0JBQWdCLEVqQ3JOa0IsT0FBTSxHaUNvTmhDO0lBR0gsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQXZEO01BQ1AsS0FBSyxFakNyTjZCLE9BQU8sR2lDb05qQztNQUdQLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNO01BQzFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBRDdDO1FBQ04sS0FBSyxFakN2TjJCLElBQUk7UWlDd05wQyxnQkFBZ0IsRWpDdk5nQixXQUFXLEdpQ3FOcEM7SUFRUixlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsT0FBTyxHQUFHLENBQUM7SUFDekUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLE9BQU8sR0FBRyxDQUFDLE1BQU07SUFDcEUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FGbEQ7TUFDTixLQUFLLEVqQy9OMkIsSUFBSTtNaUNnT3BDLGdCQUFnQixFakM3TmdCLE9BQU0sR2lDMk4vQjtJQVFSLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxTQUFTLEdBQUcsQ0FBQztJQUMzRSxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsU0FBUyxHQUFHLENBQUMsTUFBTTtJQUN0RSxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsU0FBUyxHQUFHLENBQUMsTUFBTSxDQUZwRDtNQUNOLEtBQUssRWpDbk8yQixJQUFJO01pQ29PcEMsZ0JBQWdCLEVqQ25PZ0IsV0FBVyxHaUNpT3BDO0VBU2pCLGVBQWUsQ0FBQyxZQUFZLENBQWY7SUFDWCxLQUFLLEVqQ2pQbUMsT0FBTyxHaUNnUG5DO0lBRVgsZUFBZSxDQUFDLFlBQVksTUFBTSxDQUEzQjtNQUNOLEtBQUssRWpDbFBpQyxJQUFJLEdpQ2lQbkM7RUFLWCxlQUFlLENBQUMsU0FBUyxDQUFmO0lBQ1IsS0FBSyxFakN4UG1DLE9BQU8sR2lDdVB0QztJQUdSLGVBQWUsQ0FBQyxTQUFTLE1BQU07SUFDcEMsZUFBZSxDQUFDLFNBQVMsTUFBTSxDQURuQjtNQUNOLEtBQUssRWpDMVBpQyxJQUFJLEdpQ3lQbkM7SUFNTixlQUFlLENBQUMsU0FBUyxDQUFBLFFBQUMsQ0FBUyxNQUFNO0lBQ2hELGVBQWUsQ0FBQyxTQUFTLENBQUEsUUFBQyxDQUFTLE1BQU07SUFDekMsUUFBUSxDQUFBLFFBQUMsRUFBVSxlQUFlLENBQUMsU0FBUyxNQUFNO0lBQ2xELFFBQVEsQ0FBQSxRQUFDLEVBQVUsZUFBZSxDQUFDLFNBQVMsTUFBTSxDQUhwQztNQUNOLEtBQUssRWpDNVArQixJQUFJLEdpQzJQakM7O0FFM29CZixXQUFXLENBQUM7RUFDVixPQUFPLEVuQ2l4QnVCLEdBQUcsQ0FDSCxJQUFJO0VtQ2p4QmxDLGFBQWEsRW5DOERXLElBQUs7RW1DN0Q3QixVQUFVLEVBQUUsSUFBSztFQUNqQixnQkFBZ0IsRW5DaXhCYyxPQUFPO0VtQ2h4QnJDLGFBQWEsRW5DdUdhLEdBQUcsR21DNUdsQjtFQU9ULFdBQVcsR0FBRyxFQUFFLENBQWI7SUFDSCxPQUFPLEVBQUUsWUFBYSxHQURsQjtJQUdBLFdBQVcsR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQXBCO01BQ1YsT0FBTyxFQUFFLFNBQStCO01BQ3hDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRztNQUNkLEtBQUssRW5DMHdCcUIsSUFBSSxHbUM3d0JuQjtFQU9iLFdBQVcsR0FBRyxPQUFPLENBQWI7SUFDUixLQUFLLEVuQ0pnQixPQUFPLEdtQ0duQjs7QUNuQmIsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLFlBQWE7RUFDdEIsWUFBWSxFQUFFLENBQUU7RUFDaEIsTUFBTSxFcEMrRGtCLElBQUssQ29DL0RDLENBQUM7RUFDL0IsYUFBYSxFcEMwR2EsR0FBRyxHb0M5R2xCO0VBTVQsV0FBVyxHQUFHLEVBQUUsQ0FBYjtJQUNILE9BQU8sRUFBRSxNQUFPLEdBRFo7SUFHRixXQUFXLEdBQUcsRUFBRSxHQUFHLENBQUM7SUFDMUIsV0FBVyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBRFo7TUFDTCxRQUFRLEVBQUUsUUFBUztNQUNuQixLQUFLLEVBQUUsSUFBSztNQUNaLE9BQU8sRXBDbUZlLEdBQUcsQ0FDSCxJQUFJO01vQ25GMUIsV0FBVyxFcENtRFMsT0FBVztNb0NsRC9CLGVBQWUsRUFBRSxJQUFLO01BQ3RCLEtBQUssRXBDSWEsT0FBTTtNb0NIeEIsZ0JBQWdCLEVwQ2tiaUIsSUFBSTtNb0NqYnJDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDcENrYmdCLElBQUk7TW9DamJyQyxXQUFXLEVBQUUsSUFBSyxHQVRaO0lBYUosV0FBVyxHQUFHLEVBQUUsWUFBWSxHQUFHLENBQUM7SUFDeEMsV0FBVyxHQUFHLEVBQUUsWUFBWSxHQUFHLElBQUksQ0FEdEI7TUFDTCxXQUFXLEVBQUUsQ0FBRTtNTlhyQix5QkFBeUIsRTlCa0dDLEdBQUc7TThCakcxQixzQkFBc0IsRTlCaUdDLEdBQUcsR29DeEZqQjtJQU9OLFdBQVcsR0FBRyxFQUFFLFdBQVcsR0FBRyxDQUFDO0lBQ3ZDLFdBQVcsR0FBRyxFQUFFLFdBQVcsR0FBRyxJQUFJLENBRHJCO01OekJYLDBCQUEwQixFOUIwR0EsR0FBRztNOEJ6RzFCLHVCQUF1QixFOUJ5R0EsR0FBRyxHb0NqRmpCO0VBU1QsV0FBVyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU07RUFDL0IsV0FBVyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU07RUFDMUIsV0FBVyxHQUFHLEVBQUUsR0FBRyxJQUFJLE1BQU07RUFDN0IsV0FBVyxHQUFHLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FIakI7SUFDTixLQUFLLEVwQ0ZhLE9BQU07SW9DR3hCLGdCQUFnQixFcEN2QkcsT0FBTztJb0N3QjFCLFlBQVksRXBDOFpxQixJQUFJLEdvQ2phOUI7RUFXUixXQUFXLEdBQUcsT0FBTyxHQUFHLENBQUM7RUFDOUIsV0FBVyxHQUFHLE9BQU8sR0FBRyxDQUFDLE1BQU07RUFDL0IsV0FBVyxHQUFHLE9BQU8sR0FBRyxDQUFDLE1BQU07RUFDL0IsV0FBVyxHQUFHLE9BQU8sR0FBRyxJQUFJO0VBQzVCLFdBQVcsR0FBRyxPQUFPLEdBQUcsSUFBSSxNQUFNO0VBQ2xDLFdBQVcsR0FBRyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBTHRCO0lBQ04sT0FBTyxFQUFFLENBQUU7SUFDWCxLQUFLLEVwQ3NaNEIsSUFBSTtJb0NyWnJDLGdCQUFnQixFcENqQ0UsT0FBTTtJb0NrQ3hCLFlBQVksRXBDbENNLE9BQU07SW9DbUN4QixNQUFNLEVBQUUsT0FBUSxHQUxUO0VBZU4sV0FBVyxHQUFHLFNBQVMsR0FBRyxJQUFJO0VBQ3JDLFdBQVcsR0FBRyxTQUFTLEdBQUcsSUFBSSxNQUFNO0VBQ3BDLFdBQVcsR0FBRyxTQUFTLEdBQUcsSUFBSSxNQUFNO0VBQ3BDLFdBQVcsR0FBRyxTQUFTLEdBQUcsQ0FBQztFQUMzQixXQUFXLEdBQUcsU0FBUyxHQUFHLENBQUMsTUFBTTtFQUNqQyxXQUFXLEdBQUcsU0FBUyxHQUFHLENBQUMsTUFBTSxDQUxuQjtJQUNSLEtBQUssRXBDakRjLE9BQU87SW9Da0QxQixnQkFBZ0IsRXBDNFlpQixJQUFJO0lvQzNZckMsWUFBWSxFcEM0WXFCLElBQUk7SW9DM1lyQyxNQUFNLEVwQzhKcUIsV0FBVyxHb0NsSzdCOztBQzlEVCxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDN0IsY0FBYyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBRGY7RUFDTCxPQUFPLEVyQytGZSxJQUFJLENBQ0osSUFBSTtFcUMvRjFCLFNBQVMsRXJDaURXLElBQUksR3FDbkRsQjs7QUFNSixjQUFjLEdBQUcsRUFBRSxZQUFZLEdBQUcsQ0FBQztBQUMzQyxjQUFjLEdBQUcsRUFBRSxZQUFZLEdBQUcsSUFBSSxDQUR6QjtFUElYLHlCQUF5QixFOUJtR0MsR0FBRztFOEJsRzFCLHNCQUFzQixFOUJrR0MsR0FBRyxHcUN2R2pCOztBQU1OLGNBQWMsR0FBRyxFQUFFLFdBQVcsR0FBRyxDQUFDO0FBQzFDLGNBQWMsR0FBRyxFQUFFLFdBQVcsR0FBRyxJQUFJLENBRHhCO0VQVlgsMEJBQTBCLEU5QjJHQSxHQUFHO0U4QjFHMUIsdUJBQXVCLEU5QjBHQSxHQUFHLEdxQ2pHakI7O0FBWlIsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQzdCLGNBQWMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQURmO0VBQ0wsT0FBTyxFckNrR2UsR0FBRyxDQUNILElBQUk7RXFDbEcxQixTQUFTLEVyQ2tEVyxJQUFJLEdxQ3BEbEI7O0FBTUosY0FBYyxHQUFHLEVBQUUsWUFBWSxHQUFHLENBQUM7QUFDM0MsY0FBYyxHQUFHLEVBQUUsWUFBWSxHQUFHLElBQUksQ0FEekI7RVBJWCx5QkFBeUIsRTlCb0dDLEdBQUc7RThCbkcxQixzQkFBc0IsRTlCbUdDLEdBQUcsR3FDeEdqQjs7QUFNTixjQUFjLEdBQUcsRUFBRSxXQUFXLEdBQUcsQ0FBQztBQUMxQyxjQUFjLEdBQUcsRUFBRSxXQUFXLEdBQUcsSUFBSSxDQUR4QjtFUFZYLDBCQUEwQixFOUI0R0EsR0FBRztFOEIzRzFCLHVCQUF1QixFOUIyR0EsR0FBRyxHcUNsR2pCOztBQ1pkLE1BQU0sQ0FBQztFQUNMLFlBQVksRUFBRSxDQUFFO0VBQ2hCLE1BQU0sRXRDOERrQixJQUFLLENzQzlEQyxDQUFDO0VBQy9CLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFVBQVUsRUFBRSxNQUFPLEdBSmI7RTNCU0wsTUFBTSxPQUFPO0VBQ2hCLE1BQU0sTUFBTSxDQURGO0lBQ04sT0FBTyxFQUFFLEdBQUk7SUFDYixPQUFPLEVBQUUsS0FBTSxHQUZSO0VBSVIsTUFBTSxNQUFNLENBQUw7SUFDTixLQUFLLEVBQUUsSUFBSyxHQURMO0UyQlBULE1BQU0sQ0FBQyxFQUFFLENBQU47SUFDRCxPQUFPLEVBQUUsTUFBTyxHQURkO0lBR0EsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ25CLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQURMO01BQ0wsT0FBTyxFQUFFLFlBQWE7TUFDdEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJO01BQ2pCLGdCQUFnQixFdENvYmlCLElBQUk7TXNDbmJyQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3RDb2JnQixJQUFJO01zQ25ickMsYUFBYSxFdEN3Y29CLElBQUksR3NDN2MvQjtJQVNMLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNO0lBQzFCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBREw7TUFDUixlQUFlLEVBQUUsSUFBSztNQUN0QixnQkFBZ0IsRXRDTEcsT0FBTyxHc0NHakI7RUFRVCxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUM7RUFDdEIsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBRFI7SUFDTCxLQUFLLEVBQUUsS0FBTSxHQURQO0VBT04sTUFBTSxDQUFDLFNBQVMsR0FBRyxDQUFDO0VBQzFCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQURaO0lBQ0wsS0FBSyxFQUFFLElBQUssR0FETjtFQVNOLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQztFQUMxQixNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsTUFBTTtFQUMxQixNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsTUFBTTtFQUMxQixNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FIWjtJQUNMLEtBQUssRXRDN0JjLE9BQU87SXNDOEIxQixnQkFBZ0IsRXRDb1ppQixJQUFJO0lzQ25ackMsTUFBTSxFdENtTHFCLFdBQVcsR3NDdExoQzs7QUMzQ1osTUFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLE1BQU87RUFDaEIsT0FBTyxFQUFFLEtBQUksQ0FBQyxLQUFJLENBQUMsS0FBSTtFQUN2QixTQUFTLEVBQUUsR0FBSTtFQUNmLFdBQVcsRUFBRSxJQUFLO0VBQ2xCLFdBQVcsRUFBRSxDQUFFO0VBQ2YsS0FBSyxFdkM0akJ1QixJQUFJO0V1QzNqQmhDLFVBQVUsRUFBRSxNQUFPO0VBQ25CLFdBQVcsRUFBRSxNQUFPO0VBQ3BCLGNBQWMsRUFBRSxRQUFTO0VBQ3pCLGFBQWEsRUFBRSxLQUFNLEdBVmY7RUFlTCxNQUFNLE1BQU0sQ0FBTDtJQUNOLE9BQU8sRUFBRSxJQUFLLEdBRFA7RUFLSixJQUFJLENBQUMsTUFBTSxDQUFUO0lBQ0wsUUFBUSxFQUFFLFFBQVM7SUFDbkIsR0FBRyxFQUFFLElBQUssR0FGSjs7QUFTUCxDQUFDLE1BQU0sTUFBTTtBQUNoQixDQUFDLE1BQU0sTUFBTSxDQURIO0VBQ04sS0FBSyxFdkNzaUJxQixJQUFJO0V1Q3JpQjlCLGVBQWUsRUFBRSxJQUFLO0VBQ3RCLE1BQU0sRUFBRSxPQUFRLEdBSFQ7O0FBVVgsY0FBYyxDQUFDO0VDeENiLGdCQUFnQixFeENnQk8sT0FBTyxHdUN3QmhCO0VDcENYLGNBQWMsQ0FBQSxJQUFDLENBQUssTUFBTTtFQUMvQixjQUFjLENBQUEsSUFBQyxDQUFLLE1BQU0sQ0FEZDtJQUNOLGdCQUFnQixFQUFFLE9BQU0sR0FEakI7O0FEd0NiLGNBQWMsQ0FBQztFQzVDYixnQkFBZ0IsRXhDbUJNLE9BQU0sR3VDeUJkO0VDeENYLGNBQWMsQ0FBQSxJQUFDLENBQUssTUFBTTtFQUMvQixjQUFjLENBQUEsSUFBQyxDQUFLLE1BQU0sQ0FEZDtJQUNOLGdCQUFnQixFQUFFLE9BQU0sR0FEakI7O0FENENiLGNBQWMsQ0FBQztFQ2hEYixnQkFBZ0IsRXhDb0JNLE9BQU8sR3VDNEJmO0VDNUNYLGNBQWMsQ0FBQSxJQUFDLENBQUssTUFBTTtFQUMvQixjQUFjLENBQUEsSUFBQyxDQUFLLE1BQU0sQ0FEZDtJQUNOLGdCQUFnQixFQUFFLE9BQU0sR0FEakI7O0FEZ0RiLFdBQVcsQ0FBQztFQ3BEVixnQkFBZ0IsRXhDcUJNLE9BQU8sR3VDK0JsQjtFQ2hEUixXQUFXLENBQUEsSUFBQyxDQUFLLE1BQU07RUFDNUIsV0FBVyxDQUFBLElBQUMsQ0FBSyxNQUFNLENBRFg7SUFDTixnQkFBZ0IsRUFBRSxPQUFNLEdBRGpCOztBRG9EYixjQUFjLENBQUM7RUN4RGIsZ0JBQWdCLEV4Q3NCTSxPQUFPLEd1Q2tDZjtFQ3BEWCxjQUFjLENBQUEsSUFBQyxDQUFLLE1BQU07RUFDL0IsY0FBYyxDQUFBLElBQUMsQ0FBSyxNQUFNLENBRGQ7SUFDTixnQkFBZ0IsRUFBRSxPQUFNLEdBRGpCOztBRHdEYixhQUFhLENBQUM7RUM1RFosZ0JBQWdCLEV4Q3VCTSxPQUFPLEd1Q3FDaEI7RUN4RFYsYUFBYSxDQUFBLElBQUMsQ0FBSyxNQUFNO0VBQzlCLGFBQWEsQ0FBQSxJQUFDLENBQUssTUFBTSxDQURiO0lBQ04sZ0JBQWdCLEVBQUUsT0FBTSxHQURqQjs7QUNEYixNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsWUFBYTtFQUN0QixTQUFTLEVBQUUsSUFBSztFQUNoQixPQUFPLEVBQUUsR0FBRyxDQUFDLEdBQUc7RUFDaEIsU0FBUyxFekMrQ2UsSUFBSTtFeUM5QzVCLFdBQVcsRXpDbXdCaUIsSUFBSTtFeUNsd0JoQyxLQUFLLEV6Q3d2QnVCLElBQUk7RXlDdnZCaEMsV0FBVyxFekNrd0JpQixDQUFDO0V5Q2p3QjdCLGNBQWMsRUFBRSxRQUFTO0VBQ3pCLFdBQVcsRUFBRSxNQUFPO0VBQ3BCLFVBQVUsRUFBRSxNQUFPO0VBQ25CLGdCQUFnQixFekNFTyxPQUFPO0V5Q0Q5QixhQUFhLEV6Qzh2QmUsSUFBSSxHeUMxd0IxQjtFQWVMLE1BQU0sTUFBTSxDQUFMO0lBQ04sT0FBTyxFQUFFLElBQUssR0FEUDtFQUtKLElBQUksQ0FBQyxNQUFNLENBQVQ7SUFDTCxRQUFRLEVBQUUsUUFBUztJQUNuQixHQUFHLEVBQUUsSUFBSyxHQUZKO0VBTWEsT0FBTyxDQUFDLE1BQU07RUFDckMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNO0VBQzNCLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUZGO0lBQ3JCLEdBQUcsRUFBRSxDQUFFO0lBQ1AsT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBRk07RUFTRyxnQkFBZ0IsT0FBTyxHQUFHLE1BQU07RUFDN0QsVUFBVSxHQUFHLE9BQU8sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQURGO0lBQzNCLEtBQUssRXpDcEJlLE9BQU07SXlDcUIxQixnQkFBZ0IsRXpDaXVCVSxJQUFJLEd5Q251QkY7RUFLWCxnQkFBZ0IsR0FBRyxNQUFNLENBQXZCO0lBQ25CLEtBQUssRUFBRSxLQUFNLEdBRE87RUFJQyxnQkFBZ0IsR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFoQztJQUN2QixZQUFZLEVBQUUsR0FBSSxHQURNO0VBSUosVUFBVSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUExQjtJQUN0QixXQUFXLEVBQUUsR0FBSSxHQURNOztBQVF4QixDQUFDLE1BQU0sTUFBTTtBQUNoQixDQUFDLE1BQU0sTUFBTSxDQURIO0VBQ04sS0FBSyxFekN1c0JxQixJQUFJO0V5Q3RzQjlCLGVBQWUsRUFBRSxJQUFLO0VBQ3RCLE1BQU0sRUFBRSxPQUFRLEdBSFQ7O0FDekRYLFVBQVUsQ0FBQztFQUNULE9BQU8sRTFDbWV3QixJQUFJLEMwQ25lTixJQUFrQjtFQUMvQyxhQUFhLEUxQ2tla0IsSUFBSTtFMENqZW5DLEtBQUssRTFDa2UwQixPQUFPO0UwQ2pldEMsZ0JBQWdCLEUxQ1dPLE9BQU8sRzBDZnBCO0VBT1YsVUFBVSxDQUFDLEVBQUU7RUFDZixVQUFVLENBQUMsR0FBRyxDQURSO0lBQ0YsS0FBSyxFMUMrZHdCLE9BQU8sRzBDaGVqQztFQUlMLFVBQVUsQ0FBQyxDQUFDLENBQVY7SUFDQSxhQUFhLEVBQUcsSUFBa0I7SUFDbEMsU0FBUyxFMUMyZG9CLElBQUk7STBDMWRqQyxXQUFXLEVBQUUsR0FBSSxHQUhoQjtFQU1ELFVBQVUsR0FBRyxFQUFFLENBQVo7SUFDSCxnQkFBZ0IsRUFBRSxPQUFNLEdBRHBCO0VBS1csVUFBVSxDQUFDLFVBQVU7RUFDeEMsZ0JBQWdCLENBQUMsVUFBVSxDQUROO0lBQ2pCLGFBQWEsRTFDc0ZXLEdBQUcsRzBDdkZUO0VBSXBCLFVBQVUsQ0FBQyxVQUFVLENBQVY7SUFDVCxTQUFTLEVBQUUsSUFBSyxHQUROO0VBSVosTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJQTlCOUIsVUFBVSxDQUFDO01BK0JQLE9BQU8sRUFBRyxJQUFrQixDQUFRLENBQUMsR0EvQjdCO01Ba0NTLFVBQVUsQ0FBQyxVQUFVO01BQzFDLGdCQUFnQixDQUFDLFVBQVUsQ0FESjtRQUNqQixZQUFZLEVBQUksSUFBa0I7UUFDbEMsYUFBYSxFQUFHLElBQWtCLEdBRmhCO01BTXBCLFVBQVUsQ0FBQyxFQUFFO01BQ2pCLFVBQVUsQ0FBQyxHQUFHLENBRE47UUFDRixTQUFTLEVBQUcsSUFBZSxHQUR4Qjs7QUN2Q1QsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLEtBQU07RUFDZixPQUFPLEUzQ2t1QnFCLEdBQUc7RTJDanVCL0IsYUFBYSxFM0M0RFcsSUFBSztFMkMzRDdCLFdBQVcsRTNDeURhLE9BQVc7RTJDeERuQyxnQkFBZ0IsRTNDc0JNLElBQUk7RTJDckIxQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzNDa3VCVyxJQUFJO0UyQ2p1QmhDLGFBQWEsRTNDb0dhLEdBQUc7RUt3RTdCLGtCQUFrQixFc0MzS0UsTUFBTSxDQUFDLElBQUcsQ0FBQyxXQUFXO0V0QzRLckMsYUFBYSxFc0M1S0UsTUFBTSxDQUFDLElBQUcsQ0FBQyxXQUFXO0V0QzZLbEMsVUFBVSxFc0M3S0UsTUFBTSxDQUFDLElBQUcsQ0FBQyxXQUFXLEdBUmhDO0VBV04sVUFBVSxHQUFHLEdBQUc7RUFDdEIsVUFBVSxDQUFDLENBQUMsR0FBRyxHQUFHLENBRFI7SXBDUlIsT0FBTyxFQUR1QixLQUFLO0lBRW5DLFNBQVMsRUFBRSxJQUFLO0lBQ2hCLE1BQU0sRUFBRSxJQUFLO0lvQ1FYLFdBQVcsRUFBRSxJQUFLO0lBQ2xCLFlBQVksRUFBRSxJQUFLLEdBSFo7RUFTVCxVQUFVLENBQUMsUUFBUSxDQUFWO0lBQ1AsT0FBTyxFM0MwdEJtQixHQUFHO0kyQ3p0QjdCLEtBQUssRTNDYmdCLElBQUksRzJDV2pCOztBQVNELENBQUMsVUFBVSxNQUFNO0FBQzVCLENBQUMsVUFBVSxNQUFNO0FBQ2pCLENBQUMsVUFBVSxPQUFPLENBRkM7RUFDakIsWUFBWSxFM0NkVSxPQUFNLEcyQ2FWOztBQzNCcEIsTUFBTSxDQUFDO0VBQ0wsT0FBTyxFNUN1bUJxQixJQUFJO0U0Q3RtQmhDLGFBQWEsRTVDMkRXLElBQUs7RTRDMUQ3QixNQUFNLEVBQUUscUJBQXNCO0VBQzlCLGFBQWEsRTVDcUdhLEdBQUcsRzRDekd2QjtFQU9OLE1BQU0sQ0FBQyxFQUFFLENBQU47SUFDRCxVQUFVLEVBQUUsQ0FBRTtJQUVkLEtBQUssRUFBRSxPQUFRLEdBSGI7RUFPSixNQUFNLENBQUMsV0FBVyxDQUFOO0lBQ1YsV0FBVyxFNUMybEJlLElBQUksRzRDNWxCbkI7RUFNWCxNQUFNLEdBQUcsQ0FBQztFQUNkLE1BQU0sR0FBRyxFQUFFLENBREo7SUFDSCxhQUFhLEVBQUUsQ0FBRSxHQURiO0VBSUEsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQVo7SUFDTixVQUFVLEVBQUUsR0FBSSxHQURUOztBQVVYLGtCQUFrQixFQUFFLGtCQUFrQixDQUFuQjtFQUNqQixhQUFhLEVBQUcsSUFBYyxHQURaO0VBSWxCLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQTdDO0lBQ0wsUUFBUSxFQUFFLFFBQVM7SUFDbkIsR0FBRyxFQUFFLElBQUs7SUFDVixLQUFLLEVBQUUsS0FBTTtJQUNiLEtBQUssRUFBRSxPQUFRLEdBSlQ7O0FBWVYsY0FBYyxDQUFDO0VDdkRiLGdCQUFnQixFN0NrZmUsT0FBTztFNkNqZnRDLFlBQVksRTdDa2ZtQixPQUFNO0U2Q2pmckMsS0FBSyxFN0MrZTBCLE9BQU8sRzRDMWJ4QjtFQ25EZCxjQUFjLENBQUMsRUFBRSxDQUFkO0lBQ0QsZ0JBQWdCLEVBQUUsT0FBTSxHQUR0QjtFQUdKLGNBQWMsQ0FBQyxXQUFXLENBQWQ7SUFDVixLQUFLLEVBQUUsT0FBTSxHQURGOztBRG9EZixXQUFXLENBQUM7RUMzRFYsZ0JBQWdCLEU3Q3NmZSxPQUFPO0U2Q3JmdEMsWUFBWSxFN0NzZm1CLE9BQU07RTZDcmZyQyxLQUFLLEU3Q21mMEIsT0FBTyxHNEMxYjNCO0VDdkRYLFdBQVcsQ0FBQyxFQUFFLENBQVg7SUFDRCxnQkFBZ0IsRUFBRSxPQUFNLEdBRHRCO0VBR0osV0FBVyxDQUFDLFdBQVcsQ0FBWDtJQUNWLEtBQUssRUFBRSxPQUFNLEdBREY7O0FEd0RmLGNBQWMsQ0FBQztFQy9EYixnQkFBZ0IsRTdDMGZlLE9BQU87RTZDemZ0QyxZQUFZLEU3QzBmbUIsT0FBTTtFNkN6ZnJDLEtBQUssRTdDdWYwQixPQUFPLEc0QzFieEI7RUMzRGQsY0FBYyxDQUFDLEVBQUUsQ0FBZDtJQUNELGdCQUFnQixFQUFFLE9BQU0sR0FEdEI7RUFHSixjQUFjLENBQUMsV0FBVyxDQUFkO0lBQ1YsS0FBSyxFQUFFLE9BQU0sR0FERjs7QUQ0RGYsYUFBYSxDQUFDO0VDbkVaLGdCQUFnQixFN0M4ZmUsT0FBTztFNkM3ZnRDLFlBQVksRTdDOGZtQixPQUFNO0U2QzdmckMsS0FBSyxFN0MyZjBCLE9BQU8sRzRDMWJ6QjtFQy9EYixhQUFhLENBQUMsRUFBRSxDQUFiO0lBQ0QsZ0JBQWdCLEVBQUUsT0FBTSxHQUR0QjtFQUdKLGFBQWEsQ0FBQyxXQUFXLENBQWI7SUFDVixLQUFLLEVBQUUsT0FBTSxHQURGOztBQ0RmLGtCQUFrQixDQUFDLG9CQUFvQjtFQUNyQyxJQUFJO0lBQUksbUJBQW1CLEVBQUUsTUFBTztFQUNwQyxFQUFFO0lBQU0sbUJBQW1CLEVBQUUsR0FBSTs7QUFJbkMsVUFBVSxDQUFDLG9CQUFvQjtFQUM3QixJQUFJO0lBQUksbUJBQW1CLEVBQUUsTUFBTztFQUNwQyxFQUFFO0lBQU0sbUJBQW1CLEVBQUUsR0FBSTs7QUFRbkMsU0FBUyxDQUFDO0VBQ1IsUUFBUSxFQUFFLE1BQU87RUFDakIsTUFBTSxFOUMwQ2tCLElBQUs7RThDekM3QixhQUFhLEU5Q3lDVyxJQUFLO0U4Q3hDN0IsZ0JBQWdCLEU5QzZtQlksT0FBTztFOEM1bUJuQyxhQUFhLEU5Q21GYSxHQUFHO0VLN0M3QixrQkFBa0IsRXlDckNFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBSTtFekNzQ2hDLFVBQVUsRXlDdENFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBSSxHQU4vQjs7QUFVWCxhQUFhLENBQUM7RUFDWixLQUFLLEVBQUUsSUFBSztFQUNaLEtBQUssRUFBRSxFQUFHO0VBQ1YsTUFBTSxFQUFFLElBQUs7RUFDYixTQUFTLEU5Q2tCZSxJQUFJO0U4Q2pCNUIsV0FBVyxFOUM2QmEsSUFBSztFOEM1QjdCLEtBQUssRTlDbW1CdUIsSUFBSTtFOENsbUJoQyxVQUFVLEVBQUUsTUFBTztFQUNuQixnQkFBZ0IsRTlDckJNLE9BQU07RUs4QzVCLGtCQUFrQixFeUN4QkUsS0FBSyxDQUFDLENBQUMsQ0FBRSxJQUFHLENBQUMsQ0FBQyxDQUFDLG1CQUFJO0V6Q3lCL0IsVUFBVSxFeUN6QkUsS0FBSyxDQUFDLENBQUMsQ0FBRSxJQUFHLENBQUMsQ0FBQyxDQUFDLG1CQUFJO0V6QzZJdkMsa0JBQWtCLEV5QzVJRSxLQUFLLENBQUMsSUFBRyxDQUFDLElBQUk7RXpDNkk3QixhQUFhLEV5QzdJRSxLQUFLLENBQUMsSUFBRyxDQUFDLElBQUk7RXpDOEkxQixVQUFVLEV5QzlJRSxLQUFLLENBQUMsSUFBRyxDQUFDLElBQUksR0FWckI7O0FBbUJmLGlCQUFpQixDQUFDLGFBQWE7QUFDL0IscUJBQXFCLENBREM7RUNBcEIsZ0JBQWdCLEVBQUUsMkxBQXVCO0VBQ3pDLGdCQUFnQixFQUFFLHNMQUFrQjtFQUNwQyxnQkFBZ0IsRUFBRSxtTEFBZTtFREFqQyxlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksR0FGTDs7QUFVVixTQUFTLE9BQU8sQ0FBQyxhQUFhO0FBQzNDLGFBQWEsT0FBTyxDQURDO0V6QzdDbkIsaUJBQWlCLEV5QzhDRSxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVE7RXpDN0NyRCxZQUFZLEV5QzZDRSxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVE7RXpDNUNsRCxTQUFTLEV5QzRDRSxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FEdEM7O0FBUXRCLHFCQUFxQixDQUFDO0VFckVwQixnQkFBZ0IsRWhEb0JNLE9BQU8sRzhDaURSO0VFbEVILGlCQUFpQixDQUFDLHFCQUFxQixDQUFyQztJRGdEcEIsZ0JBQWdCLEVBQUUsMkxBQXVCO0lBQ3pDLGdCQUFnQixFQUFFLHNMQUFrQjtJQUNwQyxnQkFBZ0IsRUFBRSxtTEFBZSxHQ2xEWjs7QUZzRXZCLGtCQUFrQixDQUFDO0VFekVqQixnQkFBZ0IsRWhEcUJNLE9BQU8sRzhDb0RYO0VFdEVBLGlCQUFpQixDQUFDLGtCQUFrQixDQUFsQztJRGdEcEIsZ0JBQWdCLEVBQUUsMkxBQXVCO0lBQ3pDLGdCQUFnQixFQUFFLHNMQUFrQjtJQUNwQyxnQkFBZ0IsRUFBRSxtTEFBZSxHQ2xEWjs7QUYwRXZCLHFCQUFxQixDQUFDO0VFN0VwQixnQkFBZ0IsRWhEc0JNLE9BQU8sRzhDdURSO0VFMUVILGlCQUFpQixDQUFDLHFCQUFxQixDQUFyQztJRGdEcEIsZ0JBQWdCLEVBQUUsMkxBQXVCO0lBQ3pDLGdCQUFnQixFQUFFLHNMQUFrQjtJQUNwQyxnQkFBZ0IsRUFBRSxtTEFBZSxHQ2xEWjs7QUY4RXZCLG9CQUFvQixDQUFDO0VFakZuQixnQkFBZ0IsRWhEdUJNLE9BQU8sRzhDMERUO0VFOUVGLGlCQUFpQixDQUFDLG9CQUFvQixDQUFwQztJRGdEcEIsZ0JBQWdCLEVBQUUsMkxBQXVCO0lBQ3pDLGdCQUFnQixFQUFFLHNMQUFrQjtJQUNwQyxnQkFBZ0IsRUFBRSxtTEFBZSxHQ2xEWjs7QUNOdkIsTUFBTSxDQUFDO0VBRUwsVUFBVSxFQUFFLElBQUssR0FGWDtFQUlMLE1BQU0sWUFBWSxDQUFMO0lBQ1osVUFBVSxFQUFFLENBQUUsR0FERDs7QUFNakIsTUFBTTtBQUNOLFdBQVcsQ0FEQztFQUNWLElBQUksRUFBRSxDQUFFO0VBQ1IsUUFBUSxFQUFFLE1BQU8sR0FGTjs7QUFLYixXQUFXLENBQUM7RUFDVixLQUFLLEVBQUUsT0FBUSxHQURKOztBQUliLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxLQUFNLEdBREY7O0FBS04sWUFBWTtBQUNyQixNQUFNLEdBQUcsV0FBVyxDQURDO0VBQ25CLFlBQVksRUFBRSxJQUFLLEdBREM7O0FBS2IsV0FBVztBQUNwQixNQUFNLEdBQUcsVUFBVSxDQURDO0VBQ2xCLGFBQWEsRUFBRSxJQUFLLEdBREQ7O0FBTXJCLFdBQVc7QUFDWCxZQUFZO0FBQ1osV0FBVyxDQUZDO0VBQ1YsT0FBTyxFQUFFLFVBQVc7RUFDcEIsY0FBYyxFQUFFLEdBQUksR0FGVDs7QUFLYixhQUFhLENBQUM7RUFDWixjQUFjLEVBQUUsTUFBTyxHQURWOztBQUlmLGFBQWEsQ0FBQztFQUNaLGNBQWMsRUFBRSxNQUFPLEdBRFY7O0FBS2YsY0FBYyxDQUFDO0VBQ2IsVUFBVSxFQUFFLENBQUU7RUFDZCxhQUFhLEVBQUUsR0FBSSxHQUZMOztBQVFoQixXQUFXLENBQUM7RUFDVixZQUFZLEVBQUUsQ0FBRTtFQUNoQixVQUFVLEVBQUUsSUFBSyxHQUZOOztBQ2hEYixXQUFXLENBQUM7RUFFVixhQUFhLEVBQUUsSUFBSztFQUNwQixZQUFZLEVBQUUsQ0FBRSxHQUhMOztBQVdiLGdCQUFnQixDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVM7RUFDbkIsT0FBTyxFQUFFLEtBQU07RUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUk7RUFFbEIsYUFBYSxFQUFFLElBQUs7RUFDcEIsZ0JBQWdCLEVsRHVvQmMsSUFBSTtFa0R0b0JsQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2xEd29CYSxJQUFJLEdrRC9vQmxCO0VBVWYsZ0JBQWdCLFlBQVksQ0FBZjtJcEIzQmQsdUJBQXVCLEU5QjhHRyxHQUFHO0k4QjdHNUIsc0JBQXNCLEU5QjZHRyxHQUFHLEdrRG5GZDtFQUdkLGdCQUFnQixXQUFXLENBQWY7SUFDWCxhQUFhLEVBQUUsQ0FBRTtJcEJ2Qm5CLDBCQUEwQixFOUJzR0EsR0FBRztJOEJyRzVCLHlCQUF5QixFOUJxR0EsR0FBRyxHa0RoRmY7O0FBWWYsQ0FBQyxnQkFBZ0IsQ0FBQTtFQUNoQixLQUFLLEVsRDJvQnlCLElBQUksR2tENW9CakI7RUFHakIsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBakI7SUFDdkIsS0FBSyxFbEQwb0J1QixJQUFJLEdrRDNvQlI7RUFNekIsQ0FBQyxnQkFBZ0IsTUFBTTtFQUMxQixDQUFDLGdCQUFnQixNQUFNLENBRGI7SUFDTixlQUFlLEVBQUUsSUFBSztJQUN0QixLQUFLLEVsRGlvQnVCLElBQUk7SWtEaG9CaEMsZ0JBQWdCLEVsRCttQlksT0FBTyxHa0RsbkI1Qjs7QUFXQyxnQkFBZ0IsU0FBUztBQUNyQyxnQkFBZ0IsU0FBUyxNQUFNO0FBQy9CLGdCQUFnQixTQUFTLE1BQU0sQ0FGWjtFQUNmLGdCQUFnQixFbEQ5Q0ssT0FBTztFa0QrQzVCLEtBQUssRWxEaERnQixPQUFPO0VrRGlENUIsTUFBTSxFbERpS3VCLFdBQVcsR2tEcEt4QjtFQU1oQixnQkFBZ0IsU0FBUyxDQUFDLHdCQUF3QjtFQUN0RCxnQkFBZ0IsU0FBUyxNQUFNLENBQUMsd0JBQXdCO0VBQ3hELGdCQUFnQixTQUFTLE1BQU0sQ0FBQyx3QkFBd0IsQ0FGM0I7SUFDdkIsS0FBSyxFQUFFLE9BQVEsR0FEUztFQUcxQixnQkFBZ0IsU0FBUyxDQUFDLHFCQUFxQjtFQUNuRCxnQkFBZ0IsU0FBUyxNQUFNLENBQUMscUJBQXFCO0VBQ3JELGdCQUFnQixTQUFTLE1BQU0sQ0FBQyxxQkFBcUIsQ0FGM0I7SUFDcEIsS0FBSyxFbER4RGMsT0FBTyxHa0R1REw7O0FBUWpCLGdCQUFnQixPQUFPO0FBQ2pDLGdCQUFnQixPQUFPLE1BQU07QUFDN0IsZ0JBQWdCLE9BQU8sTUFBTSxDQUZaO0VBQ2IsT0FBTyxFQUFFLENBQUU7RUFDWCxLQUFLLEVsRGtDbUIsSUFBSTtFa0RqQzVCLGdCQUFnQixFbEQvREksT0FBTTtFa0RnRTFCLFlBQVksRWxEaEVRLE9BQU0sR2tENERaO0VBU2EsZ0JBQWdCLE9BQU8sQ0FBQyx3QkFBd0I7RUFDL0UsZ0JBQWdCLE9BQU8sQ0FBQyx3QkFBd0IsR0FBRyxLQUFLO0VBQ3hELGdCQUFnQixPQUFPLENBQUMsd0JBQXdCLEdBQUcsTUFBTTtFQUN6RCxnQkFBZ0IsT0FBTyxNQUFNLENBQUMsd0JBQXdCO0VBQ3RELGdCQUFnQixPQUFPLE1BQU0sQ0FBQyx3QkFBd0IsR0FBRyxLQUFLO0VBQzlELGdCQUFnQixPQUFPLE1BQU0sQ0FBQyx3QkFBd0IsR0FBRyxNQUFNO0VBQy9ELGdCQUFnQixPQUFPLE1BQU0sQ0FBQyx3QkFBd0I7RUFDdEQsZ0JBQWdCLE9BQU8sTUFBTSxDQUFDLHdCQUF3QixHQUFHLEtBQUs7RUFDOUQsZ0JBQWdCLE9BQU8sTUFBTSxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FSekI7SUFDaEMsS0FBSyxFQUFFLE9BQVEsR0FEa0I7RUFHbkMsZ0JBQWdCLE9BQU8sQ0FBQyxxQkFBcUI7RUFDakQsZ0JBQWdCLE9BQU8sTUFBTSxDQUFDLHFCQUFxQjtFQUNuRCxnQkFBZ0IsT0FBTyxNQUFNLENBQUMscUJBQXFCLENBRnpCO0lBQ3BCLEtBQUssRWxEaWxCcUIsT0FBTyxHa0RsbEJaOztBQzVGa0Msd0JBQXdCLENBQ2xGO0VBQ0MsS0FBSyxFbkRnZndCLE9BQU87RW1EL2VwQyxnQkFBZ0IsRW5EZ2ZhLE9BQU8sR21EbGZwQzs7QUFLRCxDQUFDLHdCQUF3QixDQUV6QjtFQUNDLEtBQUssRW5EeWV3QixPQUFPLEdtRDFlcEM7RUFHQSxDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUF6QjtJQUN2QixLQUFLLEVBQUUsT0FBUSxHQURTO0VBS3pCLENBQUMsd0JBQXdCLE1BQU07RUFDcEMsQ0FBQyx3QkFBd0IsTUFBTSxDQURuQjtJQUNOLEtBQUssRW5EaWVzQixPQUFPO0ltRGhlbEMsZ0JBQWdCLEVBQUUsT0FBTSxHQUZqQjtFQU1ELENBQUMsd0JBQXdCLE9BQU87RUFDNUMsQ0FBQyx3QkFBd0IsT0FBTyxNQUFNO0VBQ3RDLENBQUMsd0JBQXdCLE9BQU8sTUFBTSxDQUZuQjtJQUNiLEtBQUssRUFBRSxJQUFLO0lBQ1osZ0JBQWdCLEVuRDBkVyxPQUFPO0ltRHpkbEMsWUFBWSxFbkR5ZGUsT0FBTyxHbUQ1ZHBCOztBQXRCeUMscUJBQXFCLENBQy9FO0VBQ0MsS0FBSyxFbkRvZndCLE9BQU87RW1EbmZwQyxnQkFBZ0IsRW5Eb2ZhLE9BQU8sR21EdGZwQzs7QUFLRCxDQUFDLHFCQUFxQixDQUV0QjtFQUNDLEtBQUssRW5ENmV3QixPQUFPLEdtRDllcEM7RUFHQSxDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQUF0QjtJQUN2QixLQUFLLEVBQUUsT0FBUSxHQURTO0VBS3pCLENBQUMscUJBQXFCLE1BQU07RUFDakMsQ0FBQyxxQkFBcUIsTUFBTSxDQURoQjtJQUNOLEtBQUssRW5EcWVzQixPQUFPO0ltRHBlbEMsZ0JBQWdCLEVBQUUsT0FBTSxHQUZqQjtFQU1ELENBQUMscUJBQXFCLE9BQU87RUFDekMsQ0FBQyxxQkFBcUIsT0FBTyxNQUFNO0VBQ25DLENBQUMscUJBQXFCLE9BQU8sTUFBTSxDQUZoQjtJQUNiLEtBQUssRUFBRSxJQUFLO0lBQ1osZ0JBQWdCLEVuRDhkVyxPQUFPO0ltRDdkbEMsWUFBWSxFbkQ2ZGUsT0FBTyxHbURoZXBCOztBQXRCeUMsd0JBQXdCLENBQ2xGO0VBQ0MsS0FBSyxFbkR3ZndCLE9BQU87RW1EdmZwQyxnQkFBZ0IsRW5Ed2ZhLE9BQU8sR21EMWZwQzs7QUFLRCxDQUFDLHdCQUF3QixDQUV6QjtFQUNDLEtBQUssRW5EaWZ3QixPQUFPLEdtRGxmcEM7RUFHQSxDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUF6QjtJQUN2QixLQUFLLEVBQUUsT0FBUSxHQURTO0VBS3pCLENBQUMsd0JBQXdCLE1BQU07RUFDcEMsQ0FBQyx3QkFBd0IsTUFBTSxDQURuQjtJQUNOLEtBQUssRW5EeWVzQixPQUFPO0ltRHhlbEMsZ0JBQWdCLEVBQUUsT0FBTSxHQUZqQjtFQU1ELENBQUMsd0JBQXdCLE9BQU87RUFDNUMsQ0FBQyx3QkFBd0IsT0FBTyxNQUFNO0VBQ3RDLENBQUMsd0JBQXdCLE9BQU8sTUFBTSxDQUZuQjtJQUNiLEtBQUssRUFBRSxJQUFLO0lBQ1osZ0JBQWdCLEVuRGtlVyxPQUFPO0ltRGplbEMsWUFBWSxFbkRpZWUsT0FBTyxHbURwZXBCOztBQXRCeUMsdUJBQXVCLENBQ2pGO0VBQ0MsS0FBSyxFbkQ0ZndCLE9BQU87RW1EM2ZwQyxnQkFBZ0IsRW5ENGZhLE9BQU8sR21EOWZwQzs7QUFLRCxDQUFDLHVCQUF1QixDQUV4QjtFQUNDLEtBQUssRW5EcWZ3QixPQUFPLEdtRHRmcEM7RUFHQSxDQUFDLHVCQUF1QixDQUFDLHdCQUF3QixDQUF4QjtJQUN2QixLQUFLLEVBQUUsT0FBUSxHQURTO0VBS3pCLENBQUMsdUJBQXVCLE1BQU07RUFDbkMsQ0FBQyx1QkFBdUIsTUFBTSxDQURsQjtJQUNOLEtBQUssRW5ENmVzQixPQUFPO0ltRDVlbEMsZ0JBQWdCLEVBQUUsT0FBTSxHQUZqQjtFQU1ELENBQUMsdUJBQXVCLE9BQU87RUFDM0MsQ0FBQyx1QkFBdUIsT0FBTyxNQUFNO0VBQ3JDLENBQUMsdUJBQXVCLE9BQU8sTUFBTSxDQUZsQjtJQUNiLEtBQUssRUFBRSxJQUFLO0lBQ1osZ0JBQWdCLEVuRHNlVyxPQUFPO0ltRHJlbEMsWUFBWSxFbkRxZWUsT0FBTyxHbUR4ZXBCOztBRDRGcEIsd0JBQXdCLENBQUM7RUFDdkIsVUFBVSxFQUFFLENBQUU7RUFDZCxhQUFhLEVBQUUsR0FBSSxHQUZLOztBQUkxQixxQkFBcUIsQ0FBQztFQUNwQixhQUFhLEVBQUUsQ0FBRTtFQUNqQixXQUFXLEVBQUUsR0FBSSxHQUZJOztBRWxIdkIsTUFBTSxDQUFDO0VBQ0wsYUFBYSxFcEQ4RFcsSUFBSztFb0Q3RDdCLGdCQUFnQixFcEQwckJZLElBQUk7RW9EenJCaEMsTUFBTSxFQUFFLHFCQUFzQjtFQUM5QixhQUFhLEVwRHVHYSxHQUFHO0VLN0M3QixrQkFBa0IsRStDekRFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFJO0UvQzBEMUIsVUFBVSxFK0MxREUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQUksR0FMNUI7O0FBU1IsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFcERtckJxQixJQUFJLEdvRHByQnJCO0V6Q0RWLFdBQVcsT0FBTztFQUNyQixXQUFXLE1BQU0sQ0FEUDtJQUNOLE9BQU8sRUFBRSxHQUFJO0lBQ2IsT0FBTyxFQUFFLEtBQU0sR0FGUjtFQUlSLFdBQVcsTUFBTSxDQUFWO0lBQ04sS0FBSyxFQUFFLElBQUssR0FETDs7QXlDR1gsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFcEQ4cUJxQixJQUFJLENBQUMsSUFBSTtFb0Q3cUJyQyxhQUFhLEVBQUUscUJBQXNCO0V0QnBCckMsdUJBQXVCLEVzQnFCSyxHQUFvQjtFdEJwQi9DLHNCQUFzQixFc0JvQkssR0FBb0IsR0FIbEM7RUFLRixjQUFjLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUExQjtJQUMzQixLQUFLLEVBQUUsT0FBUSxHQURhOztBQU1oQyxZQUFZLENBQUM7RUFDWCxVQUFVLEVBQUUsQ0FBRTtFQUNkLGFBQWEsRUFBRSxDQUFFO0VBQ2pCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLE9BQVEsR0FKSDtFQVVELFlBQVksR0FBRyxDQUFDO0VBQzdCLFlBQVksR0FBRyxLQUFLO0VBQ3BCLFlBQVksR0FBRyxNQUFNO0VBQ3JCLFlBQVksR0FBRyxLQUFLLEdBQUcsQ0FBQztFQUN4QixZQUFZLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FKVjtJQUNYLEtBQUssRUFBRSxPQUFRLEdBREg7O0FBTWhCLGFBQWEsQ0FBQztFQUNaLE9BQU8sRXBEbXBCcUIsSUFBSSxDQUFDLElBQUk7RW9EbHBCckMsZ0JBQWdCLEVwRHdwQlksT0FBTztFb0R2cEJuQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BEc3BCTyxJQUFJO0U4QjlyQmhDLDBCQUEwQixFc0J5Q0ssR0FBb0I7RXRCeENsRCx5QkFBeUIsRXNCd0NLLEdBQW9CLEdBSnRDOztBQWVPLE1BQU0sR0FBRyxXQUFXO0FBQzFDLE1BQU0sR0FBRyxlQUFlLEdBQUcsV0FBVyxDQURKO0VBQzlCLGFBQWEsRUFBRSxDQUFFLEdBRGM7RUFHL0IsTUFBTSxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0I7RUFDekMsTUFBTSxHQUFHLGVBQWUsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBRGxDO0lBQ2YsWUFBWSxFQUFFLEtBQU07SUFDcEIsYUFBYSxFQUFFLENBQUUsR0FGRDtFQU9BLE1BQU0sR0FBRyxXQUFXLFlBQVksQ0FBQyxnQkFBZ0IsWUFBWTtFQUNuRixNQUFNLEdBQUcsZUFBZSxHQUFHLFdBQVcsWUFBWSxDQUFDLGdCQUFnQixZQUFZLENBRDVDO0lBQzNCLFVBQVUsRUFBRSxDQUFFO0l0QnZFcEIsdUJBQXVCLEVzQndFVyxHQUFvQjtJdEJ2RXJELHNCQUFzQixFc0J1RVcsR0FBb0IsR0FGcEI7RUFPZCxNQUFNLEdBQUcsV0FBVyxXQUFXLENBQUMsZ0JBQWdCLFdBQVc7RUFDakYsTUFBTSxHQUFHLGVBQWUsR0FBRyxXQUFXLFdBQVcsQ0FBQyxnQkFBZ0IsV0FBVyxDQUQzQztJQUMxQixhQUFhLEVBQUUsQ0FBRTtJdEJ0RXZCLDBCQUEwQixFc0J1RVcsR0FBb0I7SXRCdEV4RCx5QkFBeUIsRXNCc0VXLEdBQW9CLEdBRnhCOztBQVNqQixjQUFjLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixZQUFZLENBQTVDO0VBQzNCLGdCQUFnQixFQUFFLENBQUUsR0FEUTs7QUFJbEIsV0FBVyxHQUFHLGFBQWEsQ0FBYjtFQUMxQixnQkFBZ0IsRUFBRSxDQUFFLEdBRE87O0FBWVAsTUFBTSxHQUFHLE1BQU07QUFDckMsTUFBTSxHQUFHLGlCQUFpQixHQUFHLE1BQU07QUFDbkMsTUFBTSxHQUFHLGVBQWUsR0FBRyxNQUFNLENBRko7RUFDekIsYUFBYSxFQUFFLENBQUUsR0FEUztFQUcxQixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU87RUFDM0IsTUFBTSxHQUFHLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxPQUFPO0VBQzNDLE1BQU0sR0FBRyxlQUFlLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FGN0I7SUFDTixZQUFZLEVwRHNsQlksSUFBSTtJb0RybEI1QixhQUFhLEVwRHFsQlcsSUFBSSxHb0R2bEJyQjs7QUFPNkIsTUFBTSxHQUFHLE1BQU0sWUFBWTtBQUNyRSxNQUFNLEdBQUcsaUJBQWlCLFlBQVksR0FBRyxNQUFNLFlBQVksQ0FESjtFdEJoSHJELHVCQUF1QixFc0JpSE8sR0FBb0I7RXRCaEhqRCxzQkFBc0IsRXNCZ0hPLEdBQW9CLEdBREk7RUFLOUMsTUFBTSxHQUFHLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsWUFBWTtFQUMxRSxNQUFNLEdBQUcsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEdBQUcsRUFBRSxZQUFZO0VBQ2hFLE1BQU0sR0FBRyxpQkFBaUIsWUFBWSxHQUFHLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsWUFBWTtFQUNoRyxNQUFNLEdBQUcsaUJBQWlCLFlBQVksR0FBRyxNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksR0FBRyxFQUFFLFlBQVksQ0FIekU7SUFDZixzQkFBc0IsRUFBRyxHQUFvQjtJQUM3Qyx1QkFBdUIsRUFBRyxHQUFvQixHQUY5QjtJQUtkLE1BQU0sR0FBRyxNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksR0FBRyxFQUFFLFlBQVksQ0FBQyxFQUFFLFlBQVk7SUFDekYsTUFBTSxHQUFHLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsWUFBWSxDQUFDLEVBQUUsWUFBWTtJQUMvRSxNQUFNLEdBQUcsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRSxZQUFZO0lBQy9FLE1BQU0sR0FBRyxNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksR0FBRyxFQUFFLFlBQVksQ0FBQyxFQUFFLFlBQVk7SUFDL0UsTUFBTSxHQUFHLGlCQUFpQixZQUFZLEdBQUcsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRSxZQUFZO0lBQy9HLE1BQU0sR0FBRyxpQkFBaUIsWUFBWSxHQUFHLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsWUFBWSxDQUFDLEVBQUUsWUFBWTtJQUMvRyxNQUFNLEdBQUcsaUJBQWlCLFlBQVksR0FBRyxNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksR0FBRyxFQUFFLFlBQVksQ0FBQyxFQUFFLFlBQVk7SUFDL0csTUFBTSxHQUFHLGlCQUFpQixZQUFZLEdBQUcsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRSxZQUFZLENBUHhGO01BQ2Isc0JBQXNCLEVBQUcsR0FBb0IsR0FEL0I7SUFJZCxNQUFNLEdBQUcsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRSxXQUFXO0lBQ3hGLE1BQU0sR0FBRyxNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksR0FBRyxFQUFFLFlBQVksQ0FBQyxFQUFFLFdBQVc7SUFDOUUsTUFBTSxHQUFHLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsWUFBWSxDQUFDLEVBQUUsV0FBVztJQUM5RSxNQUFNLEdBQUcsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRSxXQUFXO0lBQzlFLE1BQU0sR0FBRyxpQkFBaUIsWUFBWSxHQUFHLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsWUFBWSxDQUFDLEVBQUUsV0FBVztJQUM5RyxNQUFNLEdBQUcsaUJBQWlCLFlBQVksR0FBRyxNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksR0FBRyxFQUFFLFlBQVksQ0FBQyxFQUFFLFdBQVc7SUFDOUcsTUFBTSxHQUFHLGlCQUFpQixZQUFZLEdBQUcsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRSxXQUFXO0lBQzlHLE1BQU0sR0FBRyxpQkFBaUIsWUFBWSxHQUFHLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsWUFBWSxDQUFDLEVBQUUsV0FBVyxDQVB4RjtNQUNaLHVCQUF1QixFQUFHLEdBQW9CLEdBRGpDOztBQVFrQixNQUFNLEdBQUcsTUFBTSxXQUFXO0FBQ25FLE1BQU0sR0FBRyxpQkFBaUIsV0FBVyxHQUFHLE1BQU0sV0FBVyxDQURKO0V0QjlIbkQsMEJBQTBCLEVzQitITyxHQUFvQjtFdEI5SHBELHlCQUF5QixFc0I4SE8sR0FBb0IsR0FERDtFQUs1QyxNQUFNLEdBQUcsTUFBTSxXQUFXLEdBQUcsS0FBSyxXQUFXLEdBQUcsRUFBRSxXQUFXO0VBQ3ZFLE1BQU0sR0FBRyxNQUFNLFdBQVcsR0FBRyxLQUFLLFdBQVcsR0FBRyxFQUFFLFdBQVc7RUFDN0QsTUFBTSxHQUFHLGlCQUFpQixXQUFXLEdBQUcsTUFBTSxXQUFXLEdBQUcsS0FBSyxXQUFXLEdBQUcsRUFBRSxXQUFXO0VBQzVGLE1BQU0sR0FBRyxpQkFBaUIsV0FBVyxHQUFHLE1BQU0sV0FBVyxHQUFHLEtBQUssV0FBVyxHQUFHLEVBQUUsV0FBVyxDQUh0RTtJQUNkLHlCQUF5QixFQUFHLEdBQW9CO0lBQ2hELDBCQUEwQixFQUFHLEdBQW9CLEdBRmxDO0lBS2IsTUFBTSxHQUFHLE1BQU0sV0FBVyxHQUFHLEtBQUssV0FBVyxHQUFHLEVBQUUsV0FBVyxDQUFDLEVBQUUsWUFBWTtJQUN0RixNQUFNLEdBQUcsTUFBTSxXQUFXLEdBQUcsS0FBSyxXQUFXLEdBQUcsRUFBRSxXQUFXLENBQUMsRUFBRSxZQUFZO0lBQzVFLE1BQU0sR0FBRyxNQUFNLFdBQVcsR0FBRyxLQUFLLFdBQVcsR0FBRyxFQUFFLFdBQVcsQ0FBQyxFQUFFLFlBQVk7SUFDNUUsTUFBTSxHQUFHLE1BQU0sV0FBVyxHQUFHLEtBQUssV0FBVyxHQUFHLEVBQUUsV0FBVyxDQUFDLEVBQUUsWUFBWTtJQUM1RSxNQUFNLEdBQUcsaUJBQWlCLFdBQVcsR0FBRyxNQUFNLFdBQVcsR0FBRyxLQUFLLFdBQVcsR0FBRyxFQUFFLFdBQVcsQ0FBQyxFQUFFLFlBQVk7SUFDM0csTUFBTSxHQUFHLGlCQUFpQixXQUFXLEdBQUcsTUFBTSxXQUFXLEdBQUcsS0FBSyxXQUFXLEdBQUcsRUFBRSxXQUFXLENBQUMsRUFBRSxZQUFZO0lBQzNHLE1BQU0sR0FBRyxpQkFBaUIsV0FBVyxHQUFHLE1BQU0sV0FBVyxHQUFHLEtBQUssV0FBVyxHQUFHLEVBQUUsV0FBVyxDQUFDLEVBQUUsWUFBWTtJQUMzRyxNQUFNLEdBQUcsaUJBQWlCLFdBQVcsR0FBRyxNQUFNLFdBQVcsR0FBRyxLQUFLLFdBQVcsR0FBRyxFQUFFLFdBQVcsQ0FBQyxFQUFFLFlBQVksQ0FQcEY7TUFDYix5QkFBeUIsRUFBRyxHQUFvQixHQURsQztJQUlkLE1BQU0sR0FBRyxNQUFNLFdBQVcsR0FBRyxLQUFLLFdBQVcsR0FBRyxFQUFFLFdBQVcsQ0FBQyxFQUFFLFdBQVc7SUFDckYsTUFBTSxHQUFHLE1BQU0sV0FBVyxHQUFHLEtBQUssV0FBVyxHQUFHLEVBQUUsV0FBVyxDQUFDLEVBQUUsV0FBVztJQUMzRSxNQUFNLEdBQUcsTUFBTSxXQUFXLEdBQUcsS0FBSyxXQUFXLEdBQUcsRUFBRSxXQUFXLENBQUMsRUFBRSxXQUFXO0lBQzNFLE1BQU0sR0FBRyxNQUFNLFdBQVcsR0FBRyxLQUFLLFdBQVcsR0FBRyxFQUFFLFdBQVcsQ0FBQyxFQUFFLFdBQVc7SUFDM0UsTUFBTSxHQUFHLGlCQUFpQixXQUFXLEdBQUcsTUFBTSxXQUFXLEdBQUcsS0FBSyxXQUFXLEdBQUcsRUFBRSxXQUFXLENBQUMsRUFBRSxXQUFXO0lBQzFHLE1BQU0sR0FBRyxpQkFBaUIsV0FBVyxHQUFHLE1BQU0sV0FBVyxHQUFHLEtBQUssV0FBVyxHQUFHLEVBQUUsV0FBVyxDQUFDLEVBQUUsV0FBVztJQUMxRyxNQUFNLEdBQUcsaUJBQWlCLFdBQVcsR0FBRyxNQUFNLFdBQVcsR0FBRyxLQUFLLFdBQVcsR0FBRyxFQUFFLFdBQVcsQ0FBQyxFQUFFLFdBQVc7SUFDMUcsTUFBTSxHQUFHLGlCQUFpQixXQUFXLEdBQUcsTUFBTSxXQUFXLEdBQUcsS0FBSyxXQUFXLEdBQUcsRUFBRSxXQUFXLENBQUMsRUFBRSxXQUFXLENBUHBGO01BQ1osMEJBQTBCLEVBQUcsR0FBb0IsR0FEcEM7O0FBU0MsTUFBTSxHQUFHLFdBQVcsR0FBRyxNQUFNO0FBQ3JELE1BQU0sR0FBRyxXQUFXLEdBQUcsaUJBQWlCO0FBQ3hDLE1BQU0sR0FBRyxNQUFNLEdBQUcsV0FBVztBQUM3QixNQUFNLEdBQUcsaUJBQWlCLEdBQUcsV0FBVyxDQUhKO0VBQ2hDLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDcERmTyxJQUFJLEdvRGNDOztBQUlXLE1BQU0sR0FBRyxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRTtBQUN2RyxNQUFNLEdBQUcsTUFBTSxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FESjtFQUMvQyxVQUFVLEVBQUUsQ0FBRSxHQURrQzs7QUFJNUIsTUFBTSxHQUFHLGVBQWU7QUFDaEQsTUFBTSxHQUFHLGlCQUFpQixHQUFHLGVBQWUsQ0FESjtFQUNwQyxNQUFNLEVBQUUsQ0FBRSxHQUQyQjtFQU83QixNQUFNLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZO0VBQ2xFLE1BQU0sR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVk7RUFDdEQsTUFBTSxHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWTtFQUN0RCxNQUFNLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZO0VBQ3RELE1BQU0sR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVk7RUFDdEQsTUFBTSxHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWTtFQUN0RCxNQUFNLEdBQUcsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZO0VBQzFFLE1BQU0sR0FBRyxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVk7RUFDMUUsTUFBTSxHQUFHLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWTtFQUMxRSxNQUFNLEdBQUcsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZO0VBQzFFLE1BQU0sR0FBRyxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVk7RUFDMUUsTUFBTSxHQUFHLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWSxDQVhqRDtJQUNmLFdBQVcsRUFBRSxDQUFFLEdBREM7RUFJZCxNQUFNLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxXQUFXO0VBQ2pFLE1BQU0sR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFdBQVc7RUFDckQsTUFBTSxHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVztFQUNyRCxNQUFNLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxXQUFXO0VBQ3JELE1BQU0sR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFdBQVc7RUFDckQsTUFBTSxHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVztFQUNyRCxNQUFNLEdBQUcsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxXQUFXO0VBQ3pFLE1BQU0sR0FBRyxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFdBQVc7RUFDekUsTUFBTSxHQUFHLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVztFQUN6RSxNQUFNLEdBQUcsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxXQUFXO0VBQ3pFLE1BQU0sR0FBRyxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFdBQVc7RUFDekUsTUFBTSxHQUFHLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxDQVhqRDtJQUNkLFlBQVksRUFBRSxDQUFFLEdBREQ7RUFTZixNQUFNLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLFlBQVksR0FBRyxFQUFFO0VBQ2hFLE1BQU0sR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsWUFBWSxHQUFHLEVBQUU7RUFDdEQsTUFBTSxHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxZQUFZLEdBQUcsRUFBRTtFQUN0RCxNQUFNLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLFlBQVksR0FBRyxFQUFFO0VBQ3RELE1BQU0sR0FBRyxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsWUFBWSxHQUFHLEVBQUU7RUFDMUUsTUFBTSxHQUFHLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxZQUFZLEdBQUcsRUFBRTtFQUMxRSxNQUFNLEdBQUcsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLFlBQVksR0FBRyxFQUFFO0VBQzFFLE1BQU0sR0FBRyxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsWUFBWSxHQUFHLEVBQUUsQ0FQN0Q7SUFDSCxhQUFhLEVBQUUsQ0FBRSxHQURiO0VBU0osTUFBTSxHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxXQUFXLEdBQUcsRUFBRTtFQUMvRCxNQUFNLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLFdBQVcsR0FBRyxFQUFFO0VBQ3JELE1BQU0sR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsV0FBVyxHQUFHLEVBQUU7RUFDckQsTUFBTSxHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxXQUFXLEdBQUcsRUFBRTtFQUNyRCxNQUFNLEdBQUcsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLFdBQVcsR0FBRyxFQUFFO0VBQ3pFLE1BQU0sR0FBRyxpQkFBaUIsR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLEVBQUUsV0FBVyxHQUFHLEVBQUU7RUFDekUsTUFBTSxHQUFHLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsRUFBRSxXQUFXLEdBQUcsRUFBRTtFQUN6RSxNQUFNLEdBQUcsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLEtBQUssR0FBRyxFQUFFLFdBQVcsR0FBRyxFQUFFLENBUDVEO0lBQ0gsYUFBYSxFQUFFLENBQUUsR0FEYjs7QUFNVixNQUFNLEdBQUcsaUJBQWlCLENBQVI7RUFDbEIsTUFBTSxFQUFFLENBQUU7RUFDVixhQUFhLEVBQUUsQ0FBRSxHQUZFOztBQVl2QixZQUFZLENBQUM7RUFDWCxhQUFhLEVwRG5KVyxJQUFLLEdvRGtKakI7RUFJWixZQUFZLENBQUMsTUFBTSxDQUFaO0lBQ0wsYUFBYSxFQUFFLENBQUU7SUFDakIsYUFBYSxFcEQ1R1csR0FBRyxHb0QwR3JCO0lBSUosWUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQXJCO01BQ1AsVUFBVSxFQUFFLEdBQUksR0FEUjtFQUtaLFlBQVksQ0FBQyxjQUFjLENBQVo7SUFDYixhQUFhLEVBQUUsQ0FBRSxHQURIO0lBSU0sWUFBWSxDQUFDLGNBQWMsR0FBRyxlQUFlLEdBQUcsV0FBVztJQUNuRixZQUFZLENBQUMsY0FBYyxHQUFHLGVBQWUsR0FBRyxXQUFXLENBRHZCO01BQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDcERnZUcsSUFBSSxHb0RqZUc7RUFLbkMsWUFBWSxDQUFDLGFBQWEsQ0FBWjtJQUNaLFVBQVUsRUFBRSxDQUFFLEdBREQ7SUFFSyxZQUFZLENBQUMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQTVDO01BQzVCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDcER5ZEEsSUFBSSxHb0QxZEM7O0FBUW5DLGNBQWMsQ0FBQztFQ3BQYixZQUFZLEVyRDBzQmdCLElBQUksR29EdGRsQjtFQ2xQVixjQUFjLEdBQUcsY0FBYyxDQUFoQjtJQUNqQixLQUFLLEVyRFdnQixPQUFPO0lxRFY1QixnQkFBZ0IsRXJEdXNCVSxPQUFPO0lxRHRzQmpDLFlBQVksRXJEcXNCYyxJQUFJLEdxRHhzQlo7SUFLRSxjQUFjLEdBQUcsY0FBYyxHQUFHLGVBQWUsR0FBRyxXQUFXLENBQW5EO01BQzlCLGdCQUFnQixFckRrc0JRLElBQUksR3FEbnNCRztJQUdqQyxjQUFjLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBL0I7TUFDTCxLQUFLLEVyRGdzQm1CLE9BQU87TXFEL3JCL0IsZ0JBQWdCLEVyREVHLE9BQU8sR3FESnBCO0VBTVksY0FBYyxHQUFHLGFBQWEsR0FBRyxlQUFlLEdBQUcsV0FBVyxDQUFsRDtJQUM5QixtQkFBbUIsRXJEeXJCSyxJQUFJLEdxRDFyQkc7O0FEdU9yQyxjQUFjLENBQUM7RUN2UGIsWUFBWSxFckRtQlUsT0FBTSxHb0RvT2Q7RUNyUFYsY0FBYyxHQUFHLGNBQWMsQ0FBaEI7SUFDakIsS0FBSyxFckQwc0JxQixJQUFJO0lxRHpzQjlCLGdCQUFnQixFckRlSSxPQUFNO0lxRGQxQixZQUFZLEVyRGNRLE9BQU0sR3FEakJSO0lBS0UsY0FBYyxHQUFHLGNBQWMsR0FBRyxlQUFlLEdBQUcsV0FBVyxDQUFuRDtNQUM5QixnQkFBZ0IsRXJEV0UsT0FBTSxHcURaTztJQUdqQyxjQUFjLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBL0I7TUFDTCxLQUFLLEVyRFFhLE9BQU07TXFEUHhCLGdCQUFnQixFckRpc0JRLElBQUksR3FEbnNCdEI7RUFNWSxjQUFjLEdBQUcsYUFBYSxHQUFHLGVBQWUsR0FBRyxXQUFXLENBQWxEO0lBQzlCLG1CQUFtQixFckRFRCxPQUFNLEdxREhPOztBRDBPckMsY0FBYyxDQUFDO0VDMVBiLFlBQVksRXJEbWZtQixPQUFNLEdvRHpQdkI7RUN4UFYsY0FBYyxHQUFHLGNBQWMsQ0FBaEI7SUFDakIsS0FBSyxFckQ4ZXdCLE9BQU87SXFEN2VwQyxnQkFBZ0IsRXJEOGVhLE9BQU87SXFEN2VwQyxZQUFZLEVyRDhlaUIsT0FBTSxHcURqZmpCO0lBS0UsY0FBYyxHQUFHLGNBQWMsR0FBRyxlQUFlLEdBQUcsV0FBVyxDQUFuRDtNQUM5QixnQkFBZ0IsRXJEMmVXLE9BQU0sR3FENWVGO0lBR2pDLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUEvQjtNQUNMLEtBQUssRXJEdWVzQixPQUFPO01xRHRlbEMsZ0JBQWdCLEVyRHFlVyxPQUFPLEdxRHZlNUI7RUFNWSxjQUFjLEdBQUcsYUFBYSxHQUFHLGVBQWUsR0FBRyxXQUFXLENBQWxEO0lBQzlCLG1CQUFtQixFckRrZVEsT0FBTSxHcURuZUY7O0FENk9yQyxXQUFXLENBQUM7RUM3UFYsWUFBWSxFckR1Zm1CLE9BQU0sR29EMVAxQjtFQzNQUCxXQUFXLEdBQUcsY0FBYyxDQUFiO0lBQ2pCLEtBQUssRXJEa2Z3QixPQUFPO0lxRGpmcEMsZ0JBQWdCLEVyRGtmYSxPQUFPO0lxRGpmcEMsWUFBWSxFckRrZmlCLE9BQU0sR3FEcmZqQjtJQUtFLFdBQVcsR0FBRyxjQUFjLEdBQUcsZUFBZSxHQUFHLFdBQVcsQ0FBaEQ7TUFDOUIsZ0JBQWdCLEVyRCtlVyxPQUFNLEdxRGhmRjtJQUdqQyxXQUFXLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBNUI7TUFDTCxLQUFLLEVyRDJlc0IsT0FBTztNcUQxZWxDLGdCQUFnQixFckR5ZVcsT0FBTyxHcUQzZTVCO0VBTVksV0FBVyxHQUFHLGFBQWEsR0FBRyxlQUFlLEdBQUcsV0FBVyxDQUEvQztJQUM5QixtQkFBbUIsRXJEc2VRLE9BQU0sR3FEdmVGOztBRGdQckMsY0FBYyxDQUFDO0VDaFFiLFlBQVksRXJEMmZtQixPQUFNLEdvRDNQdkI7RUM5UFYsY0FBYyxHQUFHLGNBQWMsQ0FBaEI7SUFDakIsS0FBSyxFckRzZndCLE9BQU87SXFEcmZwQyxnQkFBZ0IsRXJEc2ZhLE9BQU87SXFEcmZwQyxZQUFZLEVyRHNmaUIsT0FBTSxHcUR6ZmpCO0lBS0UsY0FBYyxHQUFHLGNBQWMsR0FBRyxlQUFlLEdBQUcsV0FBVyxDQUFuRDtNQUM5QixnQkFBZ0IsRXJEbWZXLE9BQU0sR3FEcGZGO0lBR2pDLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUEvQjtNQUNMLEtBQUssRXJEK2VzQixPQUFPO01xRDllbEMsZ0JBQWdCLEVyRDZlVyxPQUFPLEdxRC9lNUI7RUFNWSxjQUFjLEdBQUcsYUFBYSxHQUFHLGVBQWUsR0FBRyxXQUFXLENBQWxEO0lBQzlCLG1CQUFtQixFckQwZVEsT0FBTSxHcUQzZUY7O0FEbVByQyxhQUFhLENBQUM7RUNuUVosWUFBWSxFckQrZm1CLE9BQU0sR29ENVB4QjtFQ2pRVCxhQUFhLEdBQUcsY0FBYyxDQUFmO0lBQ2pCLEtBQUssRXJEMGZ3QixPQUFPO0lxRHpmcEMsZ0JBQWdCLEVyRDBmYSxPQUFPO0lxRHpmcEMsWUFBWSxFckQwZmlCLE9BQU0sR3FEN2ZqQjtJQUtFLGFBQWEsR0FBRyxjQUFjLEdBQUcsZUFBZSxHQUFHLFdBQVcsQ0FBbEQ7TUFDOUIsZ0JBQWdCLEVyRHVmVyxPQUFNLEdxRHhmRjtJQUdqQyxhQUFhLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBOUI7TUFDTCxLQUFLLEVyRG1mc0IsT0FBTztNcURsZmxDLGdCQUFnQixFckRpZlcsT0FBTyxHcURuZjVCO0VBTVksYUFBYSxHQUFHLGFBQWEsR0FBRyxlQUFlLEdBQUcsV0FBVyxDQUFqRDtJQUM5QixtQkFBbUIsRXJEOGVRLE9BQU0sR3FEL2VGOztBQ2ZyQyxpQkFBaUIsQ0FBQztFQUNoQixRQUFRLEVBQUUsUUFBUztFQUNuQixPQUFPLEVBQUUsS0FBTTtFQUNmLE1BQU0sRUFBRSxDQUFFO0VBQ1YsT0FBTyxFQUFFLENBQUU7RUFDWCxRQUFRLEVBQUUsTUFBTyxHQUxBO0VBV2pCLGlCQUFpQixDQUFDLHNCQUFzQjtFQUMxQyxpQkFBaUIsQ0FBQyxNQUFNO0VBQ3hCLGlCQUFpQixDQUFDLEtBQUs7RUFDdkIsaUJBQWlCLENBQUMsTUFBTTtFQUN4QixpQkFBaUIsQ0FBQyxLQUFLLENBSmY7SUFDSixRQUFRLEVBQUUsUUFBUztJQUNuQixHQUFHLEVBQUUsQ0FBRTtJQUNQLElBQUksRUFBRSxDQUFFO0lBQ1IsTUFBTSxFQUFFLENBQUU7SUFDVixNQUFNLEVBQUUsSUFBSztJQUNiLEtBQUssRUFBRSxJQUFLO0lBQ1osTUFBTSxFQUFFLENBQUUsR0FQTDs7QUFZVCx1QkFBdUIsQ0FBQztFQUN0QixjQUFjLEVBQUUsTUFBTyxHQURBOztBQUt6QixzQkFBc0IsQ0FBQztFQUNyQixjQUFjLEVBQUUsR0FBSSxHQURFOztBQzFCeEIsS0FBSyxDQUFDO0VBQ0osVUFBVSxFQUFFLElBQUs7RUFDakIsT0FBTyxFQUFFLElBQUs7RUFDZCxhQUFhLEVBQUUsSUFBSztFQUNwQixnQkFBZ0IsRXZEa3ZCWSxPQUFPO0V1RGp2Qm5DLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDdkRrdkJXLE9BQU07RXVEanZCbEMsYUFBYSxFdkRxR2EsR0FBRztFSzdDN0Isa0JBQWtCLEVrRHZERSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQUk7RWxEd0RoQyxVQUFVLEVrRHhERSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQUksR0FQbkM7RUFRTCxLQUFLLENBQUMsVUFBVSxDQUFMO0lBQ1QsWUFBWSxFQUFFLElBQUs7SUFDbkIsWUFBWSxFQUFFLG1CQUFJLEdBRlI7O0FBT2QsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLElBQUs7RUFDZCxhQUFhLEV2RDJGYSxHQUFHLEd1RDdGckI7O0FBSVYsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLEdBQUk7RUFDYixhQUFhLEV2RHdGYSxHQUFHLEd1RDFGckI7O0FDcEJWLE1BQU0sQ0FBQztFQUNMLEtBQUssRUFBRSxLQUFNO0VBQ2IsU0FBUyxFQUFHLElBQWU7RUFDM0IsV0FBVyxFeERnekJpQixJQUFJO0V3RC95QmhDLFdBQVcsRUFBRSxDQUFFO0VBQ2YsS0FBSyxFeEQreUJ1QixJQUFJO0V3RDl5QmhDLFdBQVcsRXhEK3lCaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSTtFd0J2ekJ4QyxPQUFPLEVnQ1NVLEdBQUU7RWhDTm5CLE1BQU0sRUFBRSxpQkFBSyxHZ0NEUDtFQVVMLE1BQU0sTUFBTTtFQUNmLE1BQU0sTUFBTSxDQURGO0lBQ04sS0FBSyxFeER5eUJxQixJQUFJO0l3RHh5QjlCLGVBQWUsRUFBRSxJQUFLO0lBQ3RCLE1BQU0sRUFBRSxPQUFRO0loQ2ZsQixPQUFPLEVnQ2dCWSxHQUFFO0loQ2JyQixNQUFNLEVBQUUsaUJBQUssR2dDU0o7O0FBY0wsTUFBTSxNQUFNLENBQUw7RUFDWCxPQUFPLEVBQUUsQ0FBRTtFQUNYLE1BQU0sRUFBRSxPQUFRO0VBQ2hCLFVBQVUsRUFBRSxXQUFZO0VBQ3hCLE1BQU0sRUFBRSxDQUFFO0VBQ1Ysa0JBQWtCLEVBQUUsSUFBSyxHQUxiOztBQ25CZCxXQUFXLENBQUM7RUFDVixRQUFRLEVBQUUsTUFBTyxHQUROOztBQUtiLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxJQUFLO0VBQ2QsUUFBUSxFQUFFLE1BQU87RUFDakIsUUFBUSxFQUFFLEtBQU07RUFDaEIsR0FBRyxFQUFFLENBQUU7RUFDUCxLQUFLLEVBQUUsQ0FBRTtFQUNULE1BQU0sRUFBRSxDQUFFO0VBQ1YsSUFBSSxFQUFFLENBQUU7RUFDUixPQUFPLEV6RGlRa0IsSUFBSTtFeURoUTdCLDBCQUEwQixFQUFFLEtBQU07RUFJbEMsT0FBTyxFQUFFLENBQUUsR0FiTDtFQWdCQyxNQUFNLEtBQUssQ0FBQyxhQUFhLENBQVg7SXBEMEdyQixpQkFBaUIsRUFBRSxrQkFBUztJQUN4QixhQUFhLEVBQUUsa0JBQVM7SUFDdkIsWUFBWSxFQUFFLGtCQUFTO0lBQ3BCLFNBQVMsRUFBRSxrQkFBUztJQWtFNUIsa0JBQWtCLEVBQUUsaUJBQUMsQ29EN0tXLElBQUksQ0FBQyxRQUFRO0lwRDhLMUMsZUFBZSxFQUFFLGNBQUMsQ29EOUtXLElBQUksQ0FBQyxRQUFRO0lwRCtLeEMsYUFBYSxFQUFFLFlBQUMsQ29EL0tXLElBQUksQ0FBQyxRQUFRO0lwRGdMckMsVUFBVSxFQUFFLFNBQVMsQ29EaExHLElBQUksQ0FBQyxRQUFRLEdBRnZCO0VBSWpCLE1BQU0sR0FBRyxDQUFDLGFBQWEsQ0FBVDtJcERzR25CLGlCQUFpQixFQUFFLGVBQVM7SUFDeEIsYUFBYSxFQUFFLGVBQVM7SUFDdkIsWUFBWSxFQUFFLGVBQVM7SUFDcEIsU0FBUyxFQUFFLGVBQVMsR29EekdSOztBQUVWLFdBQVcsQ0FBQyxNQUFNLENBQVg7RUFDakIsVUFBVSxFQUFFLE1BQU87RUFDbkIsVUFBVSxFQUFFLElBQUssR0FGQzs7QUFNcEIsYUFBYSxDQUFDO0VBQ1osUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSyxHQUhBOztBQU9mLGNBQWMsQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFTO0VBQ25CLGdCQUFnQixFekRvaUI2QixJQUFJO0V5RG5pQmpELE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDekR1aUI0QixJQUFJO0V5RHRpQmpELE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDekRvaUI0QixrQkFBSTtFeURuaUJqRCxhQUFhLEV6RDJEYSxHQUFHO0VLOUM3QixrQkFBa0IsRW9EWkUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQUk7RXBEYTFCLFVBQVUsRW9EYkUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQUk7RUFDbEMsZUFBZSxFQUFFLFdBQVk7RUFFN0IsT0FBTyxFQUFFLENBQUUsR0FURzs7QUFhaEIsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLEtBQU07RUFDaEIsR0FBRyxFQUFFLENBQUU7RUFDUCxLQUFLLEVBQUUsQ0FBRTtFQUNULE1BQU0sRUFBRSxDQUFFO0VBQ1YsSUFBSSxFQUFFLENBQUU7RUFDUixPQUFPLEV6RGtOa0IsSUFBSTtFeURqTjdCLGdCQUFnQixFekR5aEJZLElBQUksR3lEaGlCakI7RUFTZCxlQUFlLEtBQUssQ0FBZDtJakNyRVAsT0FBTyxFaUNxRW1CLENBQUM7SWpDbEUzQixNQUFNLEVBQUUsZ0JBQUssR2lDa0VMO0VBQ1AsZUFBZSxHQUFHLENBQWQ7SWpDdEVMLE9BQU8sRXhCOGxCcUIsR0FBRTtJd0IzbEI5QixNQUFNLEVBQUUsaUJBQUssR2lDbUVQOztBQUtSLGFBQWEsQ0FBQztFQUNaLE9BQU8sRXpEb2dCcUIsSUFBSTtFeURuZ0JoQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3pEbWhCSSxPQUFPO0V5RGxoQm5DLFVBQVUsRUFBRyxVQUFvQixHQUhwQjs7QUFNRCxhQUFhLENBQUMsTUFBTSxDQUFiO0VBQ25CLFVBQVUsRUFBRSxJQUFLLEdBREc7O0FBS3RCLFlBQVksQ0FBQztFQUNYLE1BQU0sRUFBRSxDQUFFO0VBQ1YsV0FBVyxFekR4QmEsT0FBVyxHeURzQnZCOztBQU9kLFdBQVcsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRXpEOGVxQixJQUFJLEd5RGhmckI7O0FBTWIsYUFBYSxDQUFDO0VBQ1osT0FBTyxFekR5ZXFCLElBQUk7RXlEeGVoQyxVQUFVLEVBQUUsS0FBTTtFQUNsQixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3pEMGZPLE9BQU8sR3lEN2Z0QjtFOUN4RlosYUFBYSxPQUFPO0VBQ3ZCLGFBQWEsTUFBTSxDQURUO0lBQ04sT0FBTyxFQUFFLEdBQUk7SUFDYixPQUFPLEVBQUUsS0FBTSxHQUZSO0VBSVIsYUFBYSxNQUFNLENBQVo7SUFDTixLQUFLLEVBQUUsSUFBSyxHQURMO0U4QzJGRixhQUFhLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBcEI7SUFDVixXQUFXLEVBQUUsR0FBSTtJQUNqQixhQUFhLEVBQUUsQ0FBRSxHQUZOO0VBS0ssYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUEvQjtJQUNyQixXQUFXLEVBQUUsSUFBSyxHQURJO0VBSVgsYUFBYSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQTFCO0lBQ3RCLFdBQVcsRUFBRSxDQUFFLEdBRFE7O0FBTTNCLHdCQUF3QixDQUFDO0VBQ3ZCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxPQUFRO0VBQ2IsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSztFQUNiLFFBQVEsRUFBRSxNQUFPLEdBTE87O0FBUzFCLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztFQUVmLGFBQWEsQ0FBQztJQUNaLEtBQUssRXpEZ2VxQixLQUFLO0l5RC9kL0IsTUFBTSxFQUFFLFNBQVUsR0FGTDtFQUlmLGNBQWMsQ0FBQztJcER2RWYsa0JBQWtCLEVvRHdFSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBSTtJcER2RTdCLFVBQVUsRW9EdUVJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFJLEdBRHJCO0VBS2hCLFNBQVMsQ0FBQztJQUFFLEtBQUssRXpEeWRXLEtBQUssR3lEemR0Qjs7QUFHYixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7RUFDZixTQUFTLENBQUM7SUFBRSxLQUFLLEV6RG1kVyxLQUFLLEd5RG5kdEI7O0FDOUliLFFBQVEsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRTFENlFrQixJQUFJO0UwRDVRN0IsT0FBTyxFQUFFLEtBQU07RUFFZixXQUFXLEUxRDBDYSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVU7RTBEekN0RCxTQUFTLEUxRDZDZSxJQUFJO0UwRDVDNUIsV0FBVyxFQUFFLE1BQU87RUFDcEIsV0FBVyxFQUFFLEdBQUk7RWxDWGpCLE9BQU8sRWtDWVUsQ0FBQztFbENUbEIsTUFBTSxFQUFFLGdCQUFLLEdrQ0FMO0VBV1AsUUFBUSxHQUFHLENBQUg7SWxDZFQsT0FBTyxFeEI0Z0JxQixHQUFFO0l3QnpnQjlCLE1BQU0sRUFBRSxpQkFBSyxHa0NXSDtFQUNULFFBQVEsSUFBSSxDQUFKO0lBQUUsVUFBVSxFQUFHLElBQUs7SUFBRSxPQUFPLEUxRGdnQlYsR0FBRyxDMERoZ0I4QixDQUFDLEdBQXBEO0VBQ1QsUUFBUSxNQUFNLENBQU47SUFBRSxXQUFXLEVBQUcsR0FBSTtJQUFFLE9BQU8sRUFBRSxDQUFDLEMxRCtmYixHQUFHLEcwRC9mckI7RUFDVCxRQUFRLE9BQU8sQ0FBUDtJQUFFLFVBQVUsRUFBSSxHQUFJO0lBQUUsT0FBTyxFMUQ4ZlYsR0FBRyxDMEQ5ZjhCLENBQUMsR0FBcEQ7RUFDVCxRQUFRLEtBQUssQ0FBTDtJQUFFLFdBQVcsRUFBRSxJQUFLO0lBQUUsT0FBTyxFQUFFLENBQUMsQzFENmZiLEdBQUcsRzBEN2ZyQjs7QUFJWixjQUFjLENBQUM7RUFDYixTQUFTLEUxRGdmbUIsS0FBSztFMEQvZWpDLE9BQU8sRUFBRSxHQUFHLENBQUMsR0FBRztFQUNoQixLQUFLLEUxRGdmdUIsSUFBSTtFMEQvZWhDLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLGVBQWUsRUFBRSxJQUFLO0VBQ3RCLGdCQUFnQixFMUQrZVksSUFBSTtFMEQ5ZWhDLGFBQWEsRTFEaUZhLEdBQUc7RTBEaEY3QixXQUFXLEVBQUMsUUFBUyxHQVJQOztBQVloQixjQUFjLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsQ0FBRTtFQUNULE1BQU0sRUFBRSxDQUFFO0VBQ1YsWUFBWSxFQUFFLFdBQVk7RUFDMUIsWUFBWSxFQUFFLEtBQU0sR0FMTjs7QUFTUixRQUFRLElBQUksQ0FBQyxjQUFjLENBQVo7RUFDbkIsTUFBTSxFQUFFLENBQUU7RUFDVixJQUFJLEVBQUUsR0FBSTtFQUNWLFdBQVcsRTFEaWVlLElBQUc7RTBEaGU3QixZQUFZLEUxRGdlYyxHQUFHLENBQUgsR0FBRyxDMERoZTJCLENBQUM7RUFDekQsZ0JBQWdCLEUxRDJkVSxJQUFJLEcwRGhlVjs7QUFPWCxRQUFRLFNBQVMsQ0FBQyxjQUFjLENBQWpCO0VBQ3hCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsS0FBSyxFMUQyZHFCLEdBQUc7RTBEMWQ3QixhQUFhLEUxRDBkYSxJQUFHO0UwRHpkN0IsWUFBWSxFMUR5ZGMsR0FBRyxDQUFILEdBQUcsQzBEemQyQixDQUFDO0VBQ3pELGdCQUFnQixFMURvZFUsSUFBSSxHMER6ZEw7O0FBT2YsUUFBUSxVQUFVLENBQUMsY0FBYyxDQUFsQjtFQUN6QixNQUFNLEVBQUUsQ0FBRTtFQUNWLElBQUksRTFEb2RzQixHQUFHO0UwRG5kN0IsYUFBYSxFMURtZGEsSUFBRztFMERsZDdCLFlBQVksRTFEa2RjLEdBQUcsQ0FBSCxHQUFHLEMwRGxkMkIsQ0FBQztFQUN6RCxnQkFBZ0IsRTFENmNVLElBQUksRzBEbGRKOztBQU9wQixRQUFRLE1BQU0sQ0FBQyxjQUFjLENBQWQ7RUFDckIsR0FBRyxFQUFFLEdBQUk7RUFDVCxJQUFJLEVBQUUsQ0FBRTtFQUNSLFVBQVUsRTFENGNnQixJQUFHO0UwRDNjN0IsWUFBWSxFMUQyY2MsR0FBRyxDQUFILEdBQUcsQ0FBSCxHQUFHLEMwRDNjZ0QsQ0FBQztFQUM5RSxrQkFBa0IsRTFEc2NRLElBQUksRzBEM2NSOztBQU9qQixRQUFRLEtBQUssQ0FBQyxjQUFjLENBQWI7RUFDcEIsR0FBRyxFQUFFLEdBQUk7RUFDVCxLQUFLLEVBQUUsQ0FBRTtFQUNULFVBQVUsRTFEcWNnQixJQUFHO0UwRHBjN0IsWUFBWSxFMURvY2MsR0FBRyxDMERwY00sQ0FBQyxDMURvY1YsR0FBRyxDQUFILEdBQUc7RTBEbmM3QixpQkFBaUIsRTFEK2JTLElBQUksRzBEcGNUOztBQU9kLFFBQVEsT0FBTyxDQUFDLGNBQWMsQ0FBZjtFQUN0QixHQUFHLEVBQUUsQ0FBRTtFQUNQLElBQUksRUFBRSxHQUFJO0VBQ1YsV0FBVyxFMUQ4YmUsSUFBRztFMEQ3YjdCLFlBQVksRUFBRSxDQUFDLEMxRDZiVyxHQUFHLENBQUgsR0FBRztFMEQ1YjdCLG1CQUFtQixFMUR3Yk8sSUFBSSxHMEQ3YlA7O0FBT1gsUUFBUSxZQUFZLENBQUMsY0FBYyxDQUFwQjtFQUMzQixHQUFHLEVBQUUsQ0FBRTtFQUNQLEtBQUssRTFEd2JxQixHQUFHO0UwRHZiN0IsVUFBVSxFMUR1YmdCLElBQUc7RTBEdGI3QixZQUFZLEVBQUUsQ0FBQyxDMURzYlcsR0FBRyxDQUFILEdBQUc7RTBEcmI3QixtQkFBbUIsRTFEaWJPLElBQUksRzBEdGJGOztBQU9mLFFBQVEsYUFBYSxDQUFDLGNBQWMsQ0FBckI7RUFDNUIsR0FBRyxFQUFFLENBQUU7RUFDUCxJQUFJLEUxRGlic0IsR0FBRztFMERoYjdCLFVBQVUsRTFEZ2JnQixJQUFHO0UwRC9hN0IsWUFBWSxFQUFFLENBQUMsQzFEK2FXLEdBQUcsQ0FBSCxHQUFHO0UwRDlhN0IsbUJBQW1CLEUxRDBhTyxJQUFJLEcwRC9hRDs7QUMxRmpDLFFBQVEsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxDQUFFO0VBQ1AsSUFBSSxFQUFFLENBQUU7RUFDUixPQUFPLEUzRDJRa0IsSUFBSTtFMkQxUTdCLE9BQU8sRUFBRSxJQUFLO0VBQ2QsU0FBUyxFM0RtaEIyQixLQUFLO0UyRGxoQnpDLE9BQU8sRUFBRSxHQUFJO0VBRWIsV0FBVyxFM0R1Q2EsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVO0UyRHRDdEQsU0FBUyxFM0R3Q2UsSUFBSTtFMkR2QzVCLFdBQVcsRUFBRSxNQUFPO0VBQ3BCLFdBQVcsRTNEa0RhLE9BQVc7RTJEakRuQyxVQUFVLEVBQUUsSUFBSztFQUNqQixnQkFBZ0IsRTNEeWdCb0IsSUFBSTtFMkR4Z0J4QyxlQUFlLEVBQUUsV0FBWTtFQUM3QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzNENmdCbUIsSUFBSTtFMkQ1Z0J4QyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzNEMGdCbUIsa0JBQUk7RTJEemdCeEMsYUFBYSxFM0QyRmEsR0FBRztFSzlDN0Isa0JBQWtCLEVzRDVDRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBSTtFdEQ2QzNCLFVBQVUsRXNEN0NFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFJO0VBR25DLFdBQVcsRUFBRSxNQUFPLEdBdEJaO0VBeUJQLFFBQVEsSUFBSSxDQUFIO0lBQUUsVUFBVSxFM0QwZ0JjLEtBQUksRzJEMWdCN0I7RUFDVixRQUFRLE1BQU0sQ0FBTDtJQUFFLFdBQVcsRTNEeWdCYSxJQUFJLEcyRHpnQjdCO0VBQ1YsUUFBUSxPQUFPLENBQU47SUFBRSxVQUFVLEUzRHdnQmMsSUFBSSxHMkR4Z0I3QjtFQUNWLFFBQVEsS0FBSyxDQUFKO0lBQUUsV0FBVyxFM0R1Z0JhLEtBQUksRzJEdmdCN0I7O0FBR2IsY0FBYyxDQUFDO0VBQ2IsTUFBTSxFQUFFLENBQUU7RUFDVixPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUk7RUFDakIsU0FBUyxFM0RnQmUsSUFBSTtFMkRmNUIsZ0JBQWdCLEUzRDZmb0IsT0FBTTtFMkQ1ZjFDLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU07RUFDL0IsYUFBYSxFQUFHLEdBQW9CLENBQU8sR0FBb0IsQ0FBTSxDQUFDLENBQUMsQ0FBQyxHQU4xRDs7QUFTaEIsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksR0FERDs7QUFVZixRQUFRLEdBQUcsTUFBTTtBQUNwQixRQUFRLEdBQUcsTUFBTSxNQUFNLENBRGI7RUFDTixRQUFRLEVBQUUsUUFBUztFQUNuQixPQUFPLEVBQUUsS0FBTTtFQUNmLEtBQUssRUFBRSxDQUFFO0VBQ1QsTUFBTSxFQUFFLENBQUU7RUFDVixZQUFZLEVBQUUsV0FBWTtFQUMxQixZQUFZLEVBQUUsS0FBTSxHQU5iOztBQVNBLFFBQVEsR0FBRyxNQUFNLENBQVY7RUFDaEIsWUFBWSxFM0Q0ZXlCLElBQW9CLEcyRDdleEM7O0FBR0YsUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFoQjtFQUN0QixZQUFZLEUzRG9ld0IsSUFBSTtFMkRuZXhDLE9BQU8sRUFBRSxFQUFHLEdBRlc7O0FBTWYsUUFBUSxJQUFJLEdBQUcsTUFBTSxDQUFkO0VBQ2IsSUFBSSxFQUFFLEdBQUk7RUFDVixXQUFXLEUzRGtld0IsS0FBb0I7RTJEamV2RCxtQkFBbUIsRUFBRSxDQUFFO0VBQ3ZCLGdCQUFnQixFM0RvZWtCLE9BQU07RTJEbmV4QyxnQkFBZ0IsRTNEaWVrQixtQkFBTztFMkRoZXpDLE1BQU0sRTNEOGQ2QixLQUFvQixHMkRwZXpDO0VBT2IsUUFBUSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQXBCO0lBQ04sT0FBTyxFQUFFLEdBQUk7SUFDYixNQUFNLEVBQUUsR0FBSTtJQUNaLFdBQVcsRTNEcWRxQixLQUFJO0kyRHBkcEMsbUJBQW1CLEVBQUUsQ0FBRTtJQUN2QixnQkFBZ0IsRTNEdWNnQixJQUFJLEcyRDVjN0I7O0FBUUQsUUFBUSxNQUFNLEdBQUcsTUFBTSxDQUFoQjtFQUNmLEdBQUcsRUFBRSxHQUFJO0VBQ1QsSUFBSSxFM0RtZCtCLEtBQW9CO0UyRGxkdkQsVUFBVSxFM0RrZHlCLEtBQW9CO0UyRGpkdkQsaUJBQWlCLEVBQUUsQ0FBRTtFQUNyQixrQkFBa0IsRTNEb2RnQixPQUFNO0UyRG5keEMsa0JBQWtCLEUzRGlkZ0IsbUJBQU8sRzJEdmR6QjtFQU9mLFFBQVEsTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUF0QjtJQUNOLE9BQU8sRUFBRSxHQUFJO0lBQ2IsSUFBSSxFQUFFLEdBQUk7SUFDVixNQUFNLEUzRHNjMEIsS0FBSTtJMkRyY3BDLGlCQUFpQixFQUFFLENBQUU7SUFDckIsa0JBQWtCLEUzRHdiYyxJQUFJLEcyRDdiN0I7O0FBUUEsUUFBUSxPQUFPLEdBQUcsTUFBTSxDQUFqQjtFQUNoQixJQUFJLEVBQUUsR0FBSTtFQUNWLFdBQVcsRTNEb2N3QixLQUFvQjtFMkRuY3ZELGdCQUFnQixFQUFFLENBQUU7RUFDcEIsbUJBQW1CLEUzRHNjZSxPQUFNO0UyRHJjeEMsbUJBQW1CLEUzRG1jZSxtQkFBTztFMkRsY3pDLEdBQUcsRTNEZ2NnQyxLQUFvQixHMkR0Y3RDO0VBT2hCLFFBQVEsT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUF2QjtJQUNOLE9BQU8sRUFBRSxHQUFJO0lBQ2IsR0FBRyxFQUFFLEdBQUk7SUFDVCxXQUFXLEUzRHVicUIsS0FBSTtJMkR0YnBDLGdCQUFnQixFQUFFLENBQUU7SUFDcEIsbUJBQW1CLEUzRHlhYSxJQUFJLEcyRDlhN0I7O0FBU0YsUUFBUSxLQUFLLEdBQUcsTUFBTSxDQUFmO0VBQ2QsR0FBRyxFQUFFLEdBQUk7RUFDVCxLQUFLLEUzRG9iOEIsS0FBb0I7RTJEbmJ2RCxVQUFVLEUzRG1ieUIsS0FBb0I7RTJEbGJ2RCxrQkFBa0IsRUFBRSxDQUFFO0VBQ3RCLGlCQUFpQixFM0RxYmlCLE9BQU07RTJEcGJ4QyxpQkFBaUIsRTNEa2JpQixtQkFBTyxHMkR4YjFCO0VBT2QsUUFBUSxLQUFLLEdBQUcsTUFBTSxNQUFNLENBQXJCO0lBQ04sT0FBTyxFQUFFLEdBQUk7SUFDYixLQUFLLEVBQUUsR0FBSTtJQUNYLGtCQUFrQixFQUFFLENBQUU7SUFDdEIsaUJBQWlCLEUzRDBaZSxJQUFJO0kyRHpacEMsTUFBTSxFM0RxYTBCLEtBQUksRzJEMWE3Qjs7QUN4SGIsU0FBUyxDQUFDO0VBQ1IsUUFBUSxFQUFFLFFBQVMsR0FEVjs7QUFJWCxlQUFlLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUztFQUNuQixRQUFRLEVBQUUsTUFBTztFQUNqQixLQUFLLEVBQUUsSUFBSyxHQUhHO0VBS2IsZUFBZSxHQUFHLEtBQUssQ0FBakI7SUFDTixPQUFPLEVBQUUsSUFBSztJQUNkLFFBQVEsRUFBRSxRQUFTO0l2RHdLckIsa0JBQWtCLEV1RHZLSSxJQUFHLENBQUMsV0FBVyxDQUFDLElBQUk7SXZEd0tyQyxhQUFhLEV1RHhLSSxJQUFHLENBQUMsV0FBVyxDQUFDLElBQUk7SXZEeUtsQyxVQUFVLEV1RHpLSSxJQUFHLENBQUMsV0FBVyxDQUFDLElBQUksR0FIakM7SUFPRCxlQUFlLEdBQUcsS0FBSyxHQUFHLEdBQUc7SUFDdkMsZUFBZSxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsR0FBRyxDQURuQjtNckRiWixPQUFPLEVBRHVCLEtBQUs7TUFFbkMsU0FBUyxFQUFFLElBQUs7TUFDaEIsTUFBTSxFQUFFLElBQUs7TXFEYVQsV0FBVyxFQUFFLENBQUUsR0FGTjtJQU1YLE1BQU0sQ0FBTixHQUFHLE1BQU0sWUFBWSxLQUFLLG1CQUFtQjtNQWI3QyxlQUFlLEdBQUcsS0FBSyxDQUFqQjtRdkQrTFIsa0JBQWtCLEVBQUUsaUJBQUMsQ3VEakxhLElBQUksQ0FBQyxXQUFXO1F2RGtML0MsZUFBZSxFQUFFLGNBQUMsQ3VEbExhLElBQUksQ0FBQyxXQUFXO1F2RG1MN0MsYUFBYSxFQUFFLFlBQUMsQ3VEbkxhLElBQUksQ0FBQyxXQUFXO1F2RG9MMUMsVUFBVSxFQUFFLFNBQVMsQ3VEcExLLElBQUksQ0FBQyxXQUFXO1F2RDRCbEQsMkJBQTJCLEV1RDNCTSxNQUFNO1F2RDRCcEMsd0JBQXdCLEV1RDVCTSxNQUFNO1F2RDZCL0IsbUJBQW1CLEV1RDdCTSxNQUFNO1F2RHVJdkMsbUJBQW1CLEV1RHRJTSxJQUFJO1F2RHVJMUIsZ0JBQWdCLEV1RHZJTSxJQUFJO1F2RHdJckIsV0FBVyxFdUR4SU0sSUFBSSxHQWhCcEI7UUFtQkcsZUFBZSxHQUFHLEtBQUssS0FBSztRQUMxQyxlQUFlLEdBQUcsS0FBSyxPQUFPLE1BQU0sQ0FEZjtVdkQ2R25CLGlCQUFpQixFQUFFLHVCQUFXO1VBQ3RCLFNBQVMsRUFBRSx1QkFBVztVdUQ1R3hCLElBQUksRUFBRSxDQUFFLEdBRk07UUFLUixlQUFlLEdBQUcsS0FBSyxLQUFLO1FBQzFDLGVBQWUsR0FBRyxLQUFLLE9BQU8sS0FBSyxDQURmO1V2RHdHbEIsaUJBQWlCLEVBQUUsd0JBQVc7VUFDdEIsU0FBUyxFQUFFLHdCQUFXO1V1RHZHeEIsSUFBSSxFQUFFLENBQUUsR0FGSztRQU1kLGVBQWUsR0FBRyxLQUFLLEtBQUssS0FBSztRQUN4QyxlQUFlLEdBQUcsS0FBSyxLQUFLLE1BQU07UUFDbEMsZUFBZSxHQUFHLEtBQUssT0FBTyxDQUZmO1V2RGtHYixpQkFBaUIsRUFBRSxvQkFBVztVQUN0QixTQUFTLEVBQUUsb0JBQVc7VXVEakd4QixJQUFJLEVBQUUsQ0FBRSxHQUZBO0VBU1osZUFBZSxHQUFHLE9BQU87RUFDN0IsZUFBZSxHQUFHLEtBQUs7RUFDdkIsZUFBZSxHQUFHLEtBQUssQ0FGYjtJQUNOLE9BQU8sRUFBRSxLQUFNLEdBRFI7RUFJUCxlQUFlLEdBQUcsT0FBTyxDQUFqQjtJQUNSLElBQUksRUFBRSxDQUFFLEdBREM7RUFLVCxlQUFlLEdBQUcsS0FBSztFQUMzQixlQUFlLEdBQUcsS0FBSyxDQURiO0lBQ04sUUFBUSxFQUFFLFFBQVM7SUFDbkIsR0FBRyxFQUFFLENBQUU7SUFDUCxLQUFLLEVBQUUsSUFBSyxHQUhMO0VBTVAsZUFBZSxHQUFHLEtBQUssQ0FBakI7SUFDTixJQUFJLEVBQUUsSUFBSyxHQURKO0VBR1AsZUFBZSxHQUFHLEtBQUssQ0FBakI7SUFDTixJQUFJLEVBQUUsS0FBTSxHQURMO0VBSUYsZUFBZSxHQUFHLEtBQUssS0FBSztFQUNyQyxlQUFlLEdBQUcsS0FBSyxNQUFNLENBRGI7SUFDWixJQUFJLEVBQUUsQ0FBRSxHQURLO0VBSU4sZUFBZSxHQUFHLE9BQU8sS0FBSyxDQUF4QjtJQUNiLElBQUksRUFBRSxLQUFNLEdBREU7RUFHUCxlQUFlLEdBQUcsT0FBTyxNQUFNLENBQXhCO0lBQ2QsSUFBSSxFQUFFLElBQUssR0FESTs7QUFTbkIsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVM7RUFDbkIsR0FBRyxFQUFFLENBQUU7RUFDUCxJQUFJLEVBQUUsQ0FBRTtFQUNSLE1BQU0sRUFBRSxDQUFFO0VBQ1YsS0FBSyxFNUR5c0J1QyxHQUFHO0V3QnZ5Qi9DLE9BQU8sRXhCd3lCcUMsR0FBRTtFd0JyeUI5QyxNQUFNLEVBQUUsaUJBQUs7RW9DNkZiLFNBQVMsRTVEeXNCbUMsSUFBSTtFNER4c0JoRCxLQUFLLEU1RHFzQnVDLElBQUk7RTREcHNCaEQsVUFBVSxFQUFFLE1BQU87RUFDbkIsV0FBVyxFNURpc0JpQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBSSxHNEQzc0J6QztFQWVoQixpQkFBaUIsS0FBSyxDQUFoQjtJYmxHUCxnQkFBZ0IsRUFBRSxnRkFBdUI7SUFDekMsZ0JBQWdCLEVBQUUsMkVBQWtCO0lBQ3BDLGdCQUFnQixFQUFFLDRFQUFlO0lBQ2pDLGlCQUFpQixFQUFFLFFBQVM7SUFDNUIsTUFBTSxFQUFFLDhHQUFnSixHYThGaEo7RUFHUCxpQkFBaUIsTUFBTSxDQUFoQjtJQUNOLElBQUksRUFBRSxJQUFLO0lBQ1gsS0FBSyxFQUFFLENBQUU7SWJ2R1gsZ0JBQWdCLEVBQUUsZ0ZBQXVCO0lBQ3pDLGdCQUFnQixFQUFFLDJFQUFrQjtJQUNwQyxnQkFBZ0IsRUFBRSw0RUFBZTtJQUNqQyxpQkFBaUIsRUFBRSxRQUFTO0lBQzVCLE1BQU0sRUFBRSw4R0FBZ0osR2FpRy9JO0VBUVIsaUJBQWlCLE1BQU07RUFDMUIsaUJBQWlCLE1BQU0sQ0FEYjtJQUNOLE9BQU8sRUFBRSxDQUFFO0lBQ1gsS0FBSyxFNURpckJxQyxJQUFJO0k0RGhyQjlDLGVBQWUsRUFBRSxJQUFLO0lwQ3RIeEIsT0FBTyxFb0N1SFksR0FBRTtJcENwSHJCLE1BQU0sRUFBRSxpQkFBSyxHb0NnSEo7RUFXVCxpQkFBaUIsQ0FBQyxVQUFVO0VBQzlCLGlCQUFpQixDQUFDLFVBQVU7RUFDNUIsaUJBQWlCLENBQUMsdUJBQXVCO0VBQ3pDLGlCQUFpQixDQUFDLHdCQUF3QixDQUhmO0lBQ3ZCLFFBQVEsRUFBRSxRQUFTO0lBQ25CLEdBQUcsRUFBRSxHQUFJO0lBQ1QsT0FBTyxFQUFFLENBQUU7SUFDWCxPQUFPLEVBQUUsWUFBYSxHQUpFO0VBTzFCLGlCQUFpQixDQUFDLFVBQVU7RUFDOUIsaUJBQWlCLENBQUMsdUJBQXVCLENBRGY7SUFDdEIsSUFBSSxFQUFFLEdBQUk7SUFDVixXQUFXLEVBQUUsS0FBTSxHQUZJO0VBS3pCLGlCQUFpQixDQUFDLFVBQVU7RUFDOUIsaUJBQWlCLENBQUMsd0JBQXdCLENBRGY7SUFDdkIsS0FBSyxFQUFFLEdBQUk7SUFDWCxZQUFZLEVBQUUsS0FBTSxHQUZJO0VBSzFCLGlCQUFpQixDQUFDLFVBQVU7RUFDOUIsaUJBQWlCLENBQUMsVUFBVSxDQURmO0lBQ1QsS0FBSyxFQUFHLElBQUs7SUFDYixNQUFNLEVBQUUsSUFBSztJQUNiLFVBQVUsRUFBRSxLQUFNO0lBQ2xCLFdBQVcsRUFBRSxDQUFFO0lBQ2YsV0FBVyxFQUFFLEtBQU0sR0FMVDtFQVVULGlCQUFpQixDQUFDLFVBQVUsT0FBTyxDQUEzQjtJQUNQLE9BQU8sRUFBRSxPQUFRLEdBRFQ7RUFLVCxpQkFBaUIsQ0FBQyxVQUFVLE9BQU8sQ0FBM0I7SUFDUCxPQUFPLEVBQUUsT0FBUSxHQURUOztBQVdkLG9CQUFvQixDQUFDO0VBQ25CLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE1BQU0sRUFBRSxJQUFLO0VBQ2IsSUFBSSxFQUFFLEdBQUk7RUFDVixPQUFPLEVBQUUsRUFBRztFQUNaLEtBQUssRUFBRSxHQUFJO0VBQ1gsV0FBVyxFQUFFLElBQUs7RUFDbEIsWUFBWSxFQUFFLENBQUU7RUFDaEIsVUFBVSxFQUFFLElBQUs7RUFDakIsVUFBVSxFQUFFLE1BQU8sR0FUQztFQVdwQixvQkFBb0IsQ0FBQyxFQUFFLENBQXBCO0lBQ0QsT0FBTyxFQUFFLFlBQWE7SUFDdEIsS0FBSyxFQUFHLElBQUs7SUFDYixNQUFNLEVBQUUsSUFBSztJQUNiLE1BQU0sRUFBRSxHQUFJO0lBQ1osV0FBVyxFQUFFLE1BQU87SUFDcEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM1RGtuQnlCLElBQUk7STREam5COUMsYUFBYSxFQUFFLElBQUs7SUFDcEIsTUFBTSxFQUFFLE9BQVE7SUFXaEIsZ0JBQWdCLEVBQUUsT0FBUTtJQUMxQixnQkFBZ0IsRUFBRSxXQUFJLEdBcEJwQjtFQXNCSixvQkFBb0IsQ0FBQyxPQUFPLENBQXBCO0lBQ04sTUFBTSxFQUFFLENBQUU7SUFDVixLQUFLLEVBQUcsSUFBSztJQUNiLE1BQU0sRUFBRSxJQUFLO0lBQ2IsZ0JBQWdCLEU1RDZsQjBCLElBQUksRzREam1CdkM7O0FBV1gsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVM7RUFDbkIsSUFBSSxFQUFFLEdBQUk7RUFDVixLQUFLLEVBQUUsR0FBSTtFQUNYLE1BQU0sRUFBRSxJQUFLO0VBQ2IsT0FBTyxFQUFFLEVBQUc7RUFDWixXQUFXLEVBQUUsSUFBSztFQUNsQixjQUFjLEVBQUUsSUFBSztFQUNyQixLQUFLLEU1RGlsQnVDLElBQUk7RTREaGxCaEQsVUFBVSxFQUFFLE1BQU87RUFDbkIsV0FBVyxFNURxa0JpQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBSSxHNEQva0J6QztFQVdmLGlCQUFpQixDQUFDLElBQUksQ0FBakI7SUFDTCxXQUFXLEVBQUUsSUFBSyxHQURaOztBQU9WLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUFPeEIsaUJBQWlCLENBQUMsdUJBQXVCO0VBQzdDLGlCQUFpQixDQUFDLHdCQUF3QjtFQUMxQyxpQkFBaUIsQ0FBQyxVQUFVO0VBQzVCLGlCQUFpQixDQUFDLFVBQVUsQ0FIYjtJQUNULEtBQUssRUFBRSxJQUFLO0lBQ1osTUFBTSxFQUFFLElBQUs7SUFDYixVQUFVLEVBQUUsS0FBTTtJQUNsQixTQUFTLEVBQUUsSUFBSyxHQUpOO0VBT1osaUJBQWlCLENBQUMsdUJBQXVCO0VBQzdDLGlCQUFpQixDQUFDLFVBQVUsQ0FEYjtJQUNULFdBQVcsRUFBRSxLQUFNLEdBRFQ7RUFJWixpQkFBaUIsQ0FBQyx3QkFBd0I7RUFDOUMsaUJBQWlCLENBQUMsVUFBVSxDQURiO0lBQ1QsWUFBWSxFQUFFLEtBQU0sR0FEVjtFQU1kLGlCQUFpQixDQUFDO0lBQ2hCLElBQUksRUFBRSxHQUFJO0lBQ1YsS0FBSyxFQUFFLEdBQUk7SUFDWCxjQUFjLEVBQUUsSUFBSyxHQUhKO0VBT25CLG9CQUFvQixDQUFDO0lBQ25CLE1BQU0sRUFBRSxJQUFLLEdBRE87O0FqRDNQckIsU0FBUyxPQUFPO0FBQ25CLFNBQVMsTUFBTSxDQURMO0VBQ04sT0FBTyxFQUFFLEdBQUk7RUFDYixPQUFPLEVBQUUsS0FBTSxHQUZSOztBQUlSLFNBQVMsTUFBTSxDQUFSO0VBQ04sS0FBSyxFQUFFLElBQUssR0FETDs7QWtEUFgsYUFBYSxDQUFDO0VDUlosT0FBTyxFQUFFLEtBQU07RUFDZixXQUFXLEVBQUUsSUFBSztFQUNsQixZQUFZLEVBQUUsSUFBSyxHRE1OOztBQUdmLFdBQVcsQ0FBQztFQUNWLEtBQUssRUFBRSxnQkFBaUIsR0FEYjs7QUFHYixVQUFVLENBQUM7RUFDVCxLQUFLLEVBQUUsZUFBZ0IsR0FEYjs7QUFTWixLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsZUFBZ0IsR0FEcEI7O0FBR1AsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLGdCQUFpQixHQURyQjs7QUFHUCxVQUFVLENBQUM7RUFDVCxVQUFVLEVBQUUsTUFBTyxHQURUOztBQUdaLFVBQVUsQ0FBQztFRXpCVCxJQUFJLEVBQUUsS0FBTTtFQUNaLEtBQUssRUFBRSxXQUFZO0VBQ25CLFdBQVcsRUFBRSxJQUFLO0VBQ2xCLGdCQUFnQixFQUFFLFdBQVk7RUFDOUIsTUFBTSxFQUFFLENBQUUsR0ZxQkE7O0FBU1osT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLGVBQWdCLEdBRGxCOztBQVFULE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxLQUFNLEdBRFY7O0FHaENSLGFBQWE7RUFDWCxLQUFLLEVBQUUsWUFBYTs7QUNObUIsV0FBVyxDQUNqRDtFQUNDLE9BQU8sRUFBRSxlQUFnQixHQUR6Qjs7QUFEcUMsV0FBVyxDQUNqRDtFQUNDLE9BQU8sRUFBRSxlQUFnQixHQUR6Qjs7QUFEcUMsV0FBVyxDQUNqRDtFQUNDLE9BQU8sRUFBRSxlQUFnQixHQUR6Qjs7QUFEcUMsV0FBVyxDQUNqRDtFQUNDLE9BQU8sRUFBRSxlQUFnQixHQUR6Qjs7QUQ0QkosaUJBQWlCO0FBQ2pCLGtCQUFrQjtBQUNsQix3QkFBd0I7QUFDeEIsaUJBQWlCO0FBQ2pCLGtCQUFrQjtBQUNsQix3QkFBd0I7QUFDeEIsaUJBQWlCO0FBQ2pCLGtCQUFrQjtBQUNsQix3QkFBd0I7QUFDeEIsaUJBQWlCO0FBQ2pCLGtCQUFrQjtBQUNsQix3QkFBd0IsQ0FYQztFQUN2QixPQUFPLEVBQUUsZUFBZ0IsR0FERDs7QUFJMUIsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0VDM0NzQixXQUFXLENBQy9DO0lBQ0MsT0FBTyxFQUFFLGdCQUFpQixHQUQxQjtFQUVELEtBQUssV0FBVyxDQUNmO0lBQUUsT0FBTyxFQUFFLEtBQU0sR0FBaEI7RUFBbUIsRUFBRSxXQUFXLENBQzlCO0lBQUUsT0FBTyxFQUFFLG9CQUFxQixHQUEvQjtFQUFrQyxFQUFFLFdBQVc7RUFDdkQsRUFBRSxXQUFXLENBQU47SUFBRSxPQUFPLEVBQUUscUJBQXNCLEdBQWhDOztBRHlDTixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7RUFEbkIsaUJBQWlCLENBQUM7SUFFZCxPQUFPLEVBQUUsZ0JBQWlCLEdBRlg7O0FBTWpCLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztFQURuQixrQkFBa0IsQ0FBQztJQUVmLE9BQU8sRUFBRSxpQkFBa0IsR0FGWDs7QUFNbEIsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0VBRG5CLHdCQUF3QixDQUFDO0lBRXJCLE9BQU8sRUFBRSx1QkFBd0IsR0FGWDs7QUFNMUIsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLLE9BQU8sU0FBUyxFQUFFLEtBQUs7RUM5REQsV0FBVyxDQUMvQztJQUNDLE9BQU8sRUFBRSxnQkFBaUIsR0FEMUI7RUFFRCxLQUFLLFdBQVcsQ0FDZjtJQUFFLE9BQU8sRUFBRSxLQUFNLEdBQWhCO0VBQW1CLEVBQUUsV0FBVyxDQUM5QjtJQUFFLE9BQU8sRUFBRSxvQkFBcUIsR0FBL0I7RUFBa0MsRUFBRSxXQUFXO0VBQ3ZELEVBQUUsV0FBVyxDQUFOO0lBQUUsT0FBTyxFQUFFLHFCQUFzQixHQUFoQzs7QUQ0RE4sTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLLE9BQU8sU0FBUyxFQUFFLEtBQUs7RUFEMUMsaUJBQWlCLENBQUM7SUFFZCxPQUFPLEVBQUUsZ0JBQWlCLEdBRlg7O0FBTWpCLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxLQUFLO0VBRDFDLGtCQUFrQixDQUFDO0lBRWYsT0FBTyxFQUFFLGlCQUFrQixHQUZYOztBQU1sQixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsS0FBSztFQUQxQyx3QkFBd0IsQ0FBQztJQUVyQixPQUFPLEVBQUUsdUJBQXdCLEdBRlg7O0FBTTFCLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNO0VDakZGLFdBQVcsQ0FDL0M7SUFDQyxPQUFPLEVBQUUsZ0JBQWlCLEdBRDFCO0VBRUQsS0FBSyxXQUFXLENBQ2Y7SUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFoQjtFQUFtQixFQUFFLFdBQVcsQ0FDOUI7SUFBRSxPQUFPLEVBQUUsb0JBQXFCLEdBQS9CO0VBQWtDLEVBQUUsV0FBVztFQUN2RCxFQUFFLFdBQVcsQ0FBTjtJQUFFLE9BQU8sRUFBRSxxQkFBc0IsR0FBaEM7O0FEK0VOLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNO0VBRDNDLGlCQUFpQixDQUFDO0lBRWQsT0FBTyxFQUFFLGdCQUFpQixHQUZYOztBQU1qQixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsTUFBTTtFQUQzQyxrQkFBa0IsQ0FBQztJQUVmLE9BQU8sRUFBRSxpQkFBa0IsR0FGWDs7QUFNbEIsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFEM0Msd0JBQXdCLENBQUM7SUFFckIsT0FBTyxFQUFFLHVCQUF3QixHQUZYOztBQU0xQixNQUFNLEVBQUwsU0FBUyxFQUFFLE1BQU07RUNwR3FCLFdBQVcsQ0FDL0M7SUFDQyxPQUFPLEVBQUUsZ0JBQWlCLEdBRDFCO0VBRUQsS0FBSyxXQUFXLENBQ2Y7SUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFoQjtFQUFtQixFQUFFLFdBQVcsQ0FDOUI7SUFBRSxPQUFPLEVBQUUsb0JBQXFCLEdBQS9CO0VBQWtDLEVBQUUsV0FBVztFQUN2RCxFQUFFLFdBQVcsQ0FBTjtJQUFFLE9BQU8sRUFBRSxxQkFBc0IsR0FBaEM7O0FEa0dOLE1BQU0sRUFBTCxTQUFTLEVBQUUsTUFBTTtFQURwQixpQkFBaUIsQ0FBQztJQUVkLE9BQU8sRUFBRSxnQkFBaUIsR0FGWDs7QUFNakIsTUFBTSxFQUFMLFNBQVMsRUFBRSxNQUFNO0VBRHBCLGtCQUFrQixDQUFDO0lBRWYsT0FBTyxFQUFFLGlCQUFrQixHQUZYOztBQU1sQixNQUFNLEVBQUwsU0FBUyxFQUFFLE1BQU07RUFEcEIsd0JBQXdCLENBQUM7SUFFckIsT0FBTyxFQUFFLHVCQUF3QixHQUZYOztBQU0xQixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7RUM3R3dCLFVBQVUsQ0FDaEQ7SUFDQyxPQUFPLEVBQUUsZUFBZ0IsR0FEekI7O0FEZ0hKLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxLQUFLO0VDakhDLFVBQVUsQ0FDaEQ7SUFDQyxPQUFPLEVBQUUsZUFBZ0IsR0FEekI7O0FEb0hKLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNO0VDckhBLFVBQVUsQ0FDaEQ7SUFDQyxPQUFPLEVBQUUsZUFBZ0IsR0FEekI7O0FEd0hKLE1BQU0sRUFBTCxTQUFTLEVBQUUsTUFBTTtFQ3pIdUIsVUFBVSxDQUNoRDtJQUNDLE9BQU8sRUFBRSxlQUFnQixHQUR6Qjs7QUFEcUMsY0FBYyxDQUNwRDtFQUNDLE9BQU8sRUFBRSxlQUFnQixHQUR6Qjs7QURxSUosTUFBTSxDQUFOLEtBQUs7RUNoSmtDLGNBQWMsQ0FDbEQ7SUFDQyxPQUFPLEVBQUUsZ0JBQWlCLEdBRDFCO0VBRUQsS0FBSyxjQUFjLENBQ2xCO0lBQUUsT0FBTyxFQUFFLEtBQU0sR0FBaEI7RUFBbUIsRUFBRSxjQUFjLENBQ2pDO0lBQUUsT0FBTyxFQUFFLG9CQUFxQixHQUEvQjtFQUFrQyxFQUFFLGNBQWM7RUFDMUQsRUFBRSxjQUFjLENBQVQ7SUFBRSxPQUFPLEVBQUUscUJBQXNCLEdBQWhDOztBRDZJUixvQkFBb0IsQ0FBQztFQUNuQixPQUFPLEVBQUUsZUFBZ0IsR0FETDtFQUdwQixNQUFNLENBQU4sS0FBSztJQUhQLG9CQUFvQixDQUFDO01BSWpCLE9BQU8sRUFBRSxnQkFBaUIsR0FKUjs7QUFPdEIscUJBQXFCLENBQUM7RUFDcEIsT0FBTyxFQUFFLGVBQWdCLEdBREo7RUFHckIsTUFBTSxDQUFOLEtBQUs7SUFIUCxxQkFBcUIsQ0FBQztNQUlsQixPQUFPLEVBQUUsaUJBQWtCLEdBSlI7O0FBT3ZCLDJCQUEyQixDQUFDO0VBQzFCLE9BQU8sRUFBRSxlQUFnQixHQURFO0VBRzNCLE1BQU0sQ0FBTixLQUFLO0lBSFAsMkJBQTJCLENBQUM7TUFJeEIsT0FBTyxFQUFFLHVCQUF3QixHQUpSOztBQVE3QixNQUFNLENBQU4sS0FBSztFQy9Kb0MsYUFBYSxDQUNuRDtJQUNDLE9BQU8sRUFBRSxlQUFnQixHQUR6Qjs7QUNOZSxVQUFVLEVBQUUsZ0JBQWdCLENBQTNCO0VBQ25CLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLGNBQWMsRUFBRSxNQUFPO0VBQ3ZCLFdBQVcsRUFBRSxLQUFNO0VBQ25CLEtBQUssRUFBRSxLQUFNO0VBQ2IsTUFBTSxFQUFFLE9BQVEsR0FOSTs7QUFXMEIsWUFBWSxPQUFPLEVBQUUsWUFBWSxNQUFNLENBQTNEO0VBQzFCLE9BQU8sRUFBRSxFQUFHO0VBQ1osT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsQ0FBRSxHQUprQjs7QUFRNUIsVUFBVSxDQUFDO0VBRVYsVUFBVSxFQUFFLFVBQVcsR0FGWjtFQUlYLFVBQVUsQ0FBQyxDQUFDLENBQVY7SUFFRCxVQUFVLEVBQUUsVUFBVyxHQUZyQjtJQUdELFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBWDtNQUVSLFVBQVUsRUFBRSxVQUFXLEdBRmQ7SUFJVCxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQVg7TUFFUCxVQUFVLEVBQUUsVUFBVyxHQUZmO0VBS1YsVUFBVSxDQUFDLGtCQUFrQixDQUFWO0lBQ2xCLFFBQVEsRUFBRSxRQUFTO0lBQ25CLE9BQU8sRUFBRSxJQUFLO0lBQ2QsSUFBSSxFQUFFLENBQUU7SUFDUixLQUFLLEVBQUUsQ0FBRSxHQUpVOztBQU9yQixnQkFBZ0IsQ0FBQztFQUVoQixVQUFVLEVBQUUsVUFBVyxHQUZOO0VBSWpCLGdCQUFnQixDQUFDLENBQUMsQ0FBaEI7SUFFRCxVQUFVLEVBQUUsVUFBVyxHQUZyQjtJQUdELGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFqQjtNQUVSLFVBQVUsRUFBRSxVQUFXLEdBRmQ7SUFJVCxnQkFBZ0IsQ0FBQyxDQUFDLE1BQU0sQ0FBakI7TUFFUCxVQUFVLEVBQUUsVUFBVyxHQUZmO0VBS1YsZ0JBQWdCLENBQUMsa0JBQWtCLENBQWhCO0lBQ2xCLFVBQVUsRUFBRSxJQUFLLEdBREU7RUFHbkIsZ0JBQWdCLE1BQU0sQ0FBZjtJQUNQLE9BQU8sRUFBRSxJQUFLLEdBRE47SUFFUixnQkFBZ0IsTUFBTSxDQUFDLGtCQUFrQixDQUF0QjtNQUNsQixPQUFPLEVBQUUsS0FBTTtNQUNmLFlBQVksRUF0RVksT0FBTyxHQW9FWjtFQUtwQixnQkFBZ0IsTUFBTSxDQUFmO0lBQ1AsT0FBTyxFQUFFLElBQUssR0FETjs7QUFJVixZQUFZLENBQUM7RUFDWixLQUFLLEVBQUUsSUFBSztFQUNaLFdBQVcsRUFBRSxNQUFPO0VBQ3BCLFFBQVEsRUFBRSxNQUFPO0VBQ2pCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLGdCQUFnQixFOUMvRFUsT0FBTztFOENnRWpDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQXJGSyxPQUFPO0VBdUY3QixhQUFhLEVBQUUsS0FBTTtFQUNyQixPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSztFQUN4QixhQUFhLEVBQUUsUUFBUyxHQVZYO0VBV1osWUFBWSxPQUFPLENBQVg7SUFFUixHQUFHLEVBQUUsR0FBSTtJQUNULE1BQU0sRUFBRSxpQkFBa0I7SUFDMUIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixnQkFBZ0IsRUEvRkssT0FBTztJQWdHNUIsTUFBTSxFQUFHLFFBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsS0FBSyxFQUFFLEdBQUksR0FQRjtFQVNULFlBQVksTUFBTSxDQUFYO0lBRVAsR0FBRyxFQUFFLENBQUU7SUFDUCxNQUFNLEVBQUUsSUFBSztJQUNiLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDQXZHRCxPQUFPO0lBd0c1QixNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUxYO0VBT1IsWUFBWSxNQUFNLENBQVg7SUFDUCxPQUFPLEVBQUUsSUFBSztJQUNkLFlBQVksRUExR2EsT0FBTyxHQXdHeEI7SUFHUCxZQUFZLE1BQU0sT0FBTyxDQUFqQjtNQUNSLGdCQUFnQixFQTVHUSxPQUFPLEdBMkd0QjtJQUdULFlBQVksTUFBTSxNQUFNLENBQWpCO01BQ1AsaUJBQWlCLEVBL0dPLE9BQU8sR0E4R3ZCO0VBSVQsWUFBWSxNQUFNLENBQVg7SUFDUCxPQUFPLEVBQUUsSUFBSztJQUNkLFlBQVksRUFwSGEsT0FBTyxHQWtIeEI7SUFHUCxZQUFZLE1BQU0sT0FBTyxDQUFqQjtNQUNSLGdCQUFnQixFQXRIUSxPQUFPLEdBcUh0QjtJQUdULFlBQVksTUFBTSxNQUFNLENBQWpCO01BQ1AsaUJBQWlCLEVBekhPLE9BQU8sR0F3SHZCOztBQUtYLHFCQUFxQixDQUFDO0VBQ3JCLEtBQUssRUEvSG1CLE9BQU8sR0E4SFQ7O0FBSXRCLGtCQUFrQixDQUFDLGtCQUFrQixDQUFsQjtFQUVsQixhQUFhLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUM5QixhQUFhLEVBQUUsSUFBSztFQUNwQixNQUFNLEVBQUUsSUFBSztFQUNiLE9BQU8sRUFBRSxLQUFNO0VBQ2YsWUFBWSxFQXZJYSxPQUFPLEdBaUliOztBQVFwQixrQkFBa0IsQ0FBQyxZQUFZLENBQWxCO0VBRVosc0JBQXNCLEVBQUUsQ0FBRTtFQUUxQix1QkFBdUIsRUFBRSxDQUFFO0VBQzNCLFlBQVksRUE5SWEsT0FBTyxHQXlJbkI7RUFNWixrQkFBa0IsQ0FBQyxZQUFZLE9BQU8sQ0FBOUI7SUFDUixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNO0lBQzdCLG1CQUFtQixFQWpKSyxPQUFPLEdBK0l0QjtFQUlULGtCQUFrQixDQUFDLFlBQVksTUFBTSxDQUE5QjtJQUNQLGlCQUFpQixFQXBKTyxPQUFPLEdBbUp2Qjs7QUFNVixvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBcEI7RUFFbEIsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUs7RUFDOUIsVUFBVSxFQUFFLElBQUs7RUFDakIsR0FBRyxFQUFFLElBQUs7RUFDVixPQUFPLEVBQUUsS0FBTTtFQUNmLFlBQVksRUEvSmEsT0FBTyxHQXlKYjs7QUFRcEIsb0JBQW9CLENBQUMsWUFBWSxDQUFwQjtFQUVaLHlCQUF5QixFQUFFLENBQUU7RUFFN0IsMEJBQTBCLEVBQUUsQ0FBRTtFQUM5QixZQUFZLEVBdEthLE9BQU8sR0FpS25CO0VBTVosb0JBQW9CLENBQUMsWUFBWSxPQUFPLENBQWhDO0lBQ1IsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTTtJQUM3QixtQkFBbUIsRUF6S0ssT0FBTyxHQXVLdEI7RUFJVCxvQkFBb0IsQ0FBQyxZQUFZLE1BQU0sQ0FBaEM7SUFDUCxpQkFBaUIsRUE1S08sT0FBTyxHQTJLdkI7O0FBS1gsa0JBQWtCLENBQUM7RUFDbEIsZ0JBQWdCLEU5Qy9KVSxPQUFPO0U4Q2dLakMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBcExLLE9BQU87RUFzTDdCLGFBQWEsRUFBRSxLQUFNO0VBQ3JCLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsVUFBVSxFQUFFLE1BQU87RUFDbkIsU0FBUyxFQUFFLElBQUs7RUFDaEIsVUFBVSxFQUFFLE1BQU87RUFDbkIsVUFBVSxFQUFFLElBQUs7RUFDakIsT0FBTyxFQUFFLFFBQVM7RUFDbEIsS0FBSyxFQUFFLElBQUs7RUFDWixPQUFPLEVBQUUsR0FBSSxHQWJNO0VBY25CLGtCQUFrQixDQUFDLG9CQUFvQixDQUFsQjtJQUNwQixnQkFBZ0IsRUEvTFMsT0FBTztJQWdNaEMsS0FBSyxFOUM5S29CLE9BQU8sRzhDNEtYO0VBSXRCLGtCQUFrQixDQUFDLG1CQUFtQixDQUFsQjtJQUNuQixLQUFLLEVBcE1rQixPQUFPO0lBcU05QixnQkFBZ0IsRUFBRSxXQUFZLEdBRlY7O0FBS3RCLG1CQUFtQixDQUFDO0VBQ25CLGdCQUFnQixFQXhNVSxPQUFPO0VBeU1qQyxLQUFLLEU5Q3ZMcUIsT0FBTyxHOENxTGI7O0FBSXJCLFVBQVUsQ0FBQztFQUNWLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxHQURMOztBQUdaLFlBQVksQ0FBQztFQUNaLE1BQU0sRUFBRSxLQUFLLENBak5TLE9BQU87RUFrTjdCLFlBQVksRUFBRSxLQUFNO0VBQ3BCLE9BQU8sRUFBRSxRQUFTO0VBQ2xCLFVBQVUsRUFBRSxNQUFPLEdBSk47RUFNWixZQUFZLEdBQUcsVUFBVSxDQUFkO0lBQ1YsVUFBVSxFQUFFLE1BQU8sR0FEUjtFQUdaLFlBQVksR0FBRyxZQUFZLENBQWQ7SUFDWixnQkFBZ0IsRUFBRSxDQUFFO0lBQ3BCLFVBQVUsRUFBRSxDQUFFLEdBRkQ7RUFLRixZQUFZLFdBQUEsQUFBVyxDQUFBLEVBQXJCO0lBQ2QsV0FBVyxFQUFFLENBQUU7SUFDZixVQUFVLEVBQUUsSUFBSztJQUNqQixVQUFVLEVBQUUsQ0FBRSxHQUhDO0VBS2YsWUFBWSxXQUFXLENBQVg7SUFDWixtQkFBbUIsRUFBRSxDQUFFO0lBQ3ZCLGFBQWEsRUFBRSxDQUFFO0lBQ2pCLGNBQWMsRUFBRSxDQUFFLEdBSEw7O0FBTWYsa0JBQWtCLENBQUM7RUFDbEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTTtFQUN2QixXQUFXLEVBQUUsSUFBSztFQUNsQixLQUFLLEVBQUUsSUFBSyxHQUhPOztBQUtwQixvQkFBb0IsQ0FBQztFQUNwQixVQUFVLEVBQUUsSUFBSztFQUNqQixZQUFZLEVBQUUsQ0FBRSxHQUZLO0VBR3JCLG9CQUFvQixDQUFDLEVBQUUsQ0FBcEI7SUFDRixZQUFZLEVBQUUsS0FBTSxHQURqQjs7QUFJTCxtQkFBbUIsQ0FBQztFQUNuQixPQUFPLEVBQUUsR0FBSTtFQUNiLEtBQUssRUF0UG1CLE9BQU87RUF1UC9CLE1BQU0sRUFBRSxXQUFZLEdBSEE7RUFLbEIsbUJBQW1CLENBQUMsWUFBWSxNQUFNLENBQS9CO0lBQ1AsWUFBWSxFQUFFLE9BQVEsR0FEZDtJQUVQLG1CQUFtQixDQUFDLFlBQVksTUFBTSxPQUFPLENBQXJDO01BQ1IsZ0JBQWdCLEVBQUUsT0FBUSxHQURqQjtJQUdULG1CQUFtQixDQUFDLFlBQVksTUFBTSxNQUFNLENBQXJDO01BQ1AsaUJBQWlCLEVBQUUsT0FBUSxHQURuQjtFQUlULG1CQUFtQixDQUFDLFlBQVksTUFBTSxDQUEvQjtJQUNQLFlBQVksRUFBRSxPQUFRLEdBRGQ7SUFFUCxtQkFBbUIsQ0FBQyxZQUFZLE1BQU0sT0FBTyxDQUFyQztNQUNSLGdCQUFnQixFQUFFLE9BQVEsR0FEakI7SUFHVCxtQkFBbUIsQ0FBQyxZQUFZLE1BQU0sTUFBTSxDQUFyQztNQUNQLGlCQUFpQixFQUFFLE9BQVEsR0FEbkI7O0FBTVMsTUFBTSxDQUFBLGNBQUMsRUFBTDtFQUN0QixPQUFPLEVBQUUsSUFBSyxHQURTOztBQUdLLDRCQUE0QixDQUFDLG1CQUFtQixDQUE1QjtFQUNoRCxnQkFBZ0IsRUFBRSxXQUFZO0VBQzlCLEtBQUssRUFBRSxPQUFRLEdBRmtDOztBQU9oRCxjQUFjLENBQUMsVUFBVSxDQUFkO0VBQ1QsS0FBSyxFQUFFLElBQUssR0FERjs7QUFHWixjQUFjLENBQUMsWUFBWSxDQUFkO0VBQ1gsVUFBVSxFOUM1UWEsT0FBTztFOEM2UTlCLGFBQWEsRUFBRSxDQUFFO0VBQ2pCLE1BQU0sRUFBRSxJQUFLO0VBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FKaEI7RUFNWCxjQUFjLENBQUMsWUFBWSxPQUFPLENBQTFCO0lBQ1AsR0FBRyxFQUFFLEdBQUk7SUFDVCxXQUFXLEVBQUUscUJBQXNCO0lBQ25DLFlBQVksRUFBRSxxQkFBc0I7SUFDcEMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5Q2pSQSxPQUFPO0k4Q2tSNUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FMWjtFQU9ULGNBQWMsQ0FBQyxZQUFZLE1BQU0sQ0FBMUI7SUFDTixNQUFNLEVBQUUsSUFBSyxHQUROOztBQU1ULGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZO0FBQ3BELGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBRDdCO0VBQ1gsVUFBVSxFOUMvUlcsT0FBTyxHOEM4UmhCOztBQUdkLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0I7QUFDMUQsY0FBYyxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUQ3QjtFQUNqQixVQUFVLEU5Q2xTVyxPQUFPO0U4Q21TNUIsYUFBYSxFQUFFLENBQUU7RUFDakIsTUFBTSxFQUFFLElBQUssR0FISzs7QUFPakIsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFlBQVksT0FBTztBQUM5RCxjQUFjLENBQUMsa0JBQWtCLENBQUMsWUFBWSxPQUFPLENBRHRDO0VBQ1AsV0FBVyxFQUFFLHFCQUFzQjtFQUNuQyxZQUFZLEVBQUUscUJBQXNCO0VBQ3BDLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDOUN2U0wsT0FBTztFOEN3UzFCLFVBQVUsRUFBRSxJQUFLLEdBSlQ7O0FBTVQsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFlBQVksTUFBTTtBQUM3RCxjQUFjLENBQUMsa0JBQWtCLENBQUMsWUFBWSxNQUFNLENBRHRDO0VBQ04sTUFBTSxFQUFFLElBQUssR0FETjs7QUFLYixjQUFjLENBQUMsa0JBQWtCLENBQWQ7RUFDakIsT0FBTyxFQUFFLENBQUUsR0FETztFQUVsQixjQUFjLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQWpDO0lBQ25CLEtBQUssRTlDbFRnQixPQUFPO0k4Q21UNUIsVUFBVSxFOUNsVFcsT0FBTyxHOENnVFI7O0FBS3hCLGNBQWMsQ0FBQyxVQUFVLENBQWQ7RUFDVCxPQUFPLEVBQUUsSUFBSyxHQURKOztBQUlaLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBZDtFQUNsQixLQUFLLEU5QzNUa0IsT0FBTztFOEM0VDlCLFVBQVUsRTlDM1RhLE9BQU8sRzhDeVRYOztBQ2pWdkI7O0dBRUc7QUFDSCxhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsSUFBSztFQUNkLEtBQUssRUFBRSxJQUFLO0VBQ1osMkJBQTJCLEVBQUUsV0FBWTtFQUN6QyxvRUFBb0U7RUFDcEUsUUFBUSxFQUFFLFFBQVM7RUFDbkIsT0FBTyxFQUFFLENBQUUsR0FORTs7QUFPQyxhQUFhLENBQUMsVUFBVSxDQUFiO0VBQ3ZCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLGdCQUFnQixFQUFFLEtBQU0sR0FGQTs7QUFHRixhQUFhLENBQUMsVUFBVSxNQUFNLENBQXZCO0VBQzdCLE9BQU8sRUFBRSxHQUFJO0VBQ2IsT0FBTyxFQUFFLEtBQU07RUFDZixLQUFLLEVBQUUsSUFBSztFQUNaLFVBQVUsRUFBRSxNQUFPO0VBQ25CLFdBQVcsRUFBRSxDQUFFO0VBQ2YsTUFBTSxFQUFFLENBQUUsR0FOb0I7O0FBT2xCLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBYjtFQUM3QixRQUFRLEVBQUUsUUFBUztFQUNuQixRQUFRLEVBQUUsTUFBTztFQUNqQixpQ0FBaUM7RUFDakMsaUJBQWlCLEVBQUUsMEJBQVcsR0FKQTs7QUFLbEIsYUFBYSxDQUFDLFNBQVMsQ0FBYjtFQUN0QixRQUFRLEVBQUUsUUFBUztFQUNuQixVQUFVLEVBQUUsR0FBSTtFQUNoQixLQUFLLEVBQUUsSUFBSztFQUNaLDJCQUEyQixFQUFFLE1BQU87RUFDcEMsMkJBQTJCLEVBQUUsV0FBWTtFQUN6QyxxQkFBcUIsRUFBRSxJQUFLLEdBTkw7O0FBT0QsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQXZCO0VBQzFCLE9BQU8sRUFBRSxLQUFNO0VBQ2YsS0FBSyxFQUFFLElBQUs7RUFDWixTQUFTLEVBQUUsSUFBSztFQUNoQixNQUFNLEVBQUUsTUFBTztFQUNmLHVCQUF1QixFQUFFLFdBQVksR0FMVjs7QUFNMkIsYUFBYSxDQUFDLFFBQVEsU0FBUyxFQUFFLGFBQWEsQ0FBQyxTQUFTLFNBQVMsQ0FBdkQ7RUFDaEUsT0FBTyxFQUFFLElBQUssR0FEbUQ7O0FBRWUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBakY7RUFDekYsTUFBTSxFQUFFLE9BQVE7RUFDaEIsTUFBTSxFQUFFLElBQUs7RUFDYixtQkFBbUIsRUFBRSxJQUFLO0VBQzFCLGtCQUFrQixFQUFFLElBQUs7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSztFQUN2QixlQUFlLEVBQUUsSUFBSztFQUN0QixXQUFXLEVBQUUsSUFBSyxHQVB3RTs7QUFRL0UsYUFBYSxXQUFXLENBQVo7RUFDdkIsT0FBTyxFQUFFLEtBQU0sR0FEUzs7QUFFYixhQUFhLFlBQVksQ0FBWjtFQUN4QixPQUFPLEVBQUUsQ0FBRTtFQUNYLE9BQU8sRUFBRSxLQUFNLEdBRlU7O0FBR2QsYUFBYSxXQUFXLENBQVo7RUFDdkIsT0FBTyxFQUFFLENBQUUsR0FEYTs7QUFFQSxhQUFhLFlBQVksQ0FBQyxTQUFTLENBQXpCO0VBQ2xDLE9BQU8sRUFBRSxJQUFLLEdBRHFCOztBQUVkLGFBQWEsU0FBUyxDQUFDLFNBQVMsQ0FBdEI7RUFDL0IsbUJBQW1CLEVBQUUsSUFBSztFQUMxQixnQkFBZ0IsRUFBRSxJQUFLO0VBQ3ZCLGVBQWUsRUFBRSxJQUFLO0VBQ3RCLFdBQVcsRUFBRSxJQUFLLEdBSmM7O0FBS3JCLGFBQWEsU0FBUyxDQUFaO0VBQ3JCLE1BQU0sRUFBRSxJQUFLO0VBQ2IsTUFBTSxFQUFFLFlBQWE7RUFDckIsTUFBTSxFQUFFLE9BQVE7RUFDaEIsTUFBTSxFQUFFLFFBQVM7RUFDakIsTUFBTSxFQUFFLElBQUssR0FMUzs7QUFNWCxhQUFhLFFBQVEsQ0FBWjtFQUNwQixTQUFTLEVBQUUsR0FBSSxHQURNOztBQUVELGFBQWEsUUFBUSxDQUFDLFNBQVMsQ0FBckI7RUFDOUIsS0FBSyxFQUFFLEtBQU0sR0FEa0I7O0FBR25DLFdBQVc7QUFDSixNQUFNLENBQUMsYUFBYSxDQUFOO0VBQ25CLE9BQU8sRUFBRSxLQUFNLEdBREs7O0FBR3BCOztLQUVHO0FBQ1EsVUFBVSxDQUFDLFFBQVEsQ0FBVjtFQUNsQixVQUFVLEVBQUUsSUFBSztFQUNqQixVQUFVLEVBQUUsTUFBTztFQUNuQiwyQkFBMkIsRUFBRSxXQUFZLEdBSHRCOztBQUllLFVBQVUsQ0FBQyxRQUFRLEVBQUMsS0FBQyxFQUFPLE1BQVAsQUFBYSxFQUFoQztFQUNsQyxLQUFLLEVBQUUsSUFBSztFQUNaLFNBQVMsRUFBRSxJQUFLO0VBQ2hCLE1BQU0sRUFBRSxHQUFJO0VBQ1osT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxPQUFRO0VBQ3BCLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLE1BQU0sRUFBRSxPQUFRO0VBQ2hCLHFCQUFxQixFQUFFLEdBQUk7RUFDM0Isa0JBQWtCLEVBQUUsR0FBSTtFQUN4QixhQUFhLEVBQUUsR0FBSSxHQVZnQjs7QUFXQSxVQUFVLENBQUMsUUFBUSxFQUFDLEtBQUMsRUFBTyxNQUFQLEFBQWEsQ0FBQyxNQUFNLENBQWxDO0VBQ3hDLFVBQVUsRUFBRSxPQUFRO0VBQ3BCLEtBQUssRUFBRSxJQUFLO0VBQ1osZUFBZSxFQUFFLElBQUssR0FIbUI7O0FBSXpCLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFuQjtFQUM1QixPQUFPLEVBQUUsR0FBSTtFQUNiLE1BQU0sRUFBRSxPQUFRLEdBRmE7O0FBR0YsVUFBVSxDQUFDLFFBQVEsU0FBUyxHQUFHLFNBQVMsQ0FBOUI7RUFDdkMsVUFBVSxFQUFFLElBQUssR0FEdUI7O0FBRS9CLFVBQVUsQ0FBQyxTQUFTLENBQVY7RUFDbkIsVUFBVSxFQUFFLE1BQU87RUFFbkIsMkJBQTJCLEVBQUUsV0FBSSxHQUhiOztBQUlDLFVBQVUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFwQjtFQUM1QixPQUFPLEVBQUUsWUFBYTtFQUN0QixJQUFJLEVBQUUsQ0FBRTtFQUNSLFFBQVEsRUFBRSxNQUFPLEdBSFk7O0FBSUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUE3QjtFQUNqQyxLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLO0VBQ2IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHO0VBQ2YsVUFBVSxFQUFFLE9BQVE7RUFDcEIsT0FBTyxFQUFFLEtBQU07RUFDZiwyQkFBMkIsRUFBRSxPQUFRO0VBQ3JDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSTtFQUN0QyxlQUFlLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJO0VBQ25DLGNBQWMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUk7RUFDbEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSTtFQUNqQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJO0VBQzlCLHFCQUFxQixFQUFFLElBQUs7RUFDNUIsa0JBQWtCLEVBQUUsSUFBSztFQUN6QixhQUFhLEVBQUUsSUFBSyxHQWRjOztBQWUyQyxVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDLElBQUksQ0FBOUU7RUFDbEYsVUFBVSxFQUFFLE9BQVEsR0FEK0Q7O0FDbEhoRixJQUFJLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBckI7RUFDVCxNQUFNLEVBQUUsQ0FBRTtFQUNWLE9BQU8sRUFBRSxDQUFFLEdBRkQ7O0FBT0EsT0FBTyxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsRUFBRSxDQUE3QjtFQUNULE9BQU8sRUFBRSxLQUFNO0VBQ2YsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSztFQUNiLE1BQU0sRUFBRSxHQUFJO0VBQ1osUUFBUSxFQUFFLFFBQVMsR0FMVDs7QUFVQSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBakM7RUFDVCxPQUFPLEVBQUUsS0FBTTtFQUNmLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRUFBRSxDQUFFO0VBQ1gsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSztFQUNiLE1BQU0sRUFBRSxPQUFRO0VBQ2hCLGVBQWUsRUFBRSxJQUFLLEdBUFo7O0FBWUEsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFqQztFQUNULEdBQUcsRUFBRSxHQUFJO0VBQ1QsSUFBSSxFQUFFLEdBQUk7RUFDVixLQUFLLEVBQUUsR0FBSTtFQUNYLE1BQU0sRUFBRSxHQUFJO0VBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBN0NWLElBQUk7RUE4Q1gsVUFBVSxFQUFFLFdBQUk7RUFFaEIsYUFBYSxFQUFFLEdBQUk7RUFDbkIsUUFBUSxFQUFFLFFBQVM7RUFDbkIsT0FBTyxFQUFFLENBQUUsR0FWRDs7QUFvQlgsV0FBVyxDQUFDO0VBQ1gsTUFBTSxFQUFFLElBQUs7RUFDYixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsSUFBSyxHQUhBO0VBSVgsV0FBVyxTQUFTLENBQVY7SUFDVixPQUFPLEVBQUUsS0FBTSxHQURKOztBQUliLFVBQVUsQ0FBQztFQUVWLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLGtDQUFZO0VBRW5DLDBCQUEwQixFQUFFLGtDQUFZLEdBSjdCOztBQU1aLE9BQU8sQ0FBQztFQUNQLFFBQVEsRUFBRSxLQUFNO0VBQ2hCLE9BQU8sRUFBRSxHQUFJO0VBQ2IsVUFBVSxFQUFFLEtBQU07RUFDbEIsR0FBRyxFQUFFLEdBQUk7RUFDVCxPQUFPLEVBQUUsQ0FBRSxHQUxIO0VBTVAsT0FBTyxNQUFNLENBQU47SUFDUCxLQUFLLEVBQUUsSUFBSyxHQURKO0VBR1IsT0FBTyxLQUFLLENBQU47SUFDTixJQUFJLEVBQUUsSUFBSyxHQURKO0VBR1IsT0FBTyxDQUFDLEVBQUUsQ0FBUDtJQUNGLE1BQU0sRUFBRSxDQUFFO0lBQ1YsT0FBTyxFQUFFLENBQUUsR0FGUjtFQVNLLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBbEI7SUFDWixZQUFZLEVoRDFGWSxPQUFPLENnRDBGSCxVQUFVO0lBQ3RDLFVBQVUsRWhEM0ZjLE9BQU8sR2dEeUZsQjtFQVNkLE9BQU8sS0FBSyxDQUFOO0lBQ04sT0FBTyxFQUFFLElBQUssR0FEUDs7QUFJVCxhQUFhLENBQUM7RUFDYixPQUFPLEVBQUUsVUFBVztFQUNwQixjQUFjLEVBQUUsTUFBTztFQUN2QixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLLEdBSkM7O0FBTWYsYUFBYSxDQUFDO0VBQ2IsUUFBUSxFQUFFLFFBQVM7RUFDbkIsT0FBTyxFQUFFLENBQUU7RUFDWCxJQUFJLEVBQUUsR0FBSTtFQUNWLE9BQU8sRUFBRSxDQUFFLEdBSkc7RUFLYixhQUFhLE9BQU8sQ0FBWjtJQUNSLE1BQU0sRUFBRSxJQUFLLEdBREo7RUFHVCxhQUFhLElBQUksQ0FBWjtJQUNMLEdBQUcsRUFBRSxJQUFLLEdBREo7RUFHUCxhQUFhLENBQUMsRUFBRSxDQUFiO0lBQ0YsTUFBTSxFQUFFLENBQUU7SUFDVixPQUFPLEVBQUUsQ0FBRSxHQUZSO0VBSUosYUFBYSxDQUFDLEVBQUUsQ0FBYjtJQUVGLE9BQU8sRUFBRSxZQUFhLEdBRm5CO0VBVUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQXJCO0lBQ1osVUFBVSxFaER2SWUsT0FBTyxHZ0RzSW5COztBQUlmLFdBQVcsQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxJQUFLO0VBQ1YsS0FBSyxFQWpKRSxJQUFJO0VBa0pYLFNBQVMsRUFBRSxJQUFLO0VBQ2hCLFdBQVcsRUFoSkgsS0FBSyxFQUNMLFNBQVMsRUFDVCxVQUFVO0VBK0lsQixXQUFXLEVBQUUsTUFBTztFQUNwQixTQUFTLEVBQUUsS0FBTSxHQVBMO0VBUVgsV0FBVyxNQUFNLENBQVY7SUFDUCxLQUFLLEVBQUUsSUFBSyxHQURKO0VBR1IsV0FBVyxLQUFLLENBQVY7SUFDTixJQUFJLEVBQUUsSUFBSyxHQURKOztBQUlULGNBQWMsQ0FBQztFQUNkLFVBQVUsRUFBRSxNQUFPO0VBQ25CLE1BQU0sRUFBRSxJQUFLLEdBRkU7O0FDOUpoQjs7Ozs7RUFLRTtBQUVGLFNBQVMsQ0FBQztFQUNSLDBCQUEwQixFQUFFLEVBQUc7RUFDL0Isa0JBQWtCLEVBQUUsRUFBRztFQUN2QiwyQkFBMkIsRUFBRSxJQUFLO0VBQ2xDLG1CQUFtQixFQUFFLElBQUssR0FKakI7O0FBT0YsU0FBUyxTQUFTLENBQVI7RUFDakIsaUNBQWlDLEVBQUUsUUFBUztFQUM1Qyx5QkFBeUIsRUFBRSxRQUFTLEdBRmxCOztBQUtYLFNBQVMsTUFBTSxDQUFSO0VBQ2QsMEJBQTBCLEVBQUUsRUFBRztFQUMvQixrQkFBa0IsRUFBRSxFQUFHLEdBRlI7O0FBTVIsU0FBUyxTQUFTO0FBQzNCLFNBQVMsVUFBVSxDQURDO0VBQ2xCLDBCQUEwQixFQUFFLElBQUs7RUFDakMsa0JBQWtCLEVBQUUsSUFBSyxHQUZOOztBQU1aLFNBQVMsU0FBUztBQUMzQixTQUFTLFNBQVMsQ0FEQztFQUNqQiwwQkFBMEIsRUFBRSxJQUFLO0VBQ2pDLGtCQUFrQixFQUFFLElBQUssR0FGUDs7QUFLcEIsa0JBQWtCLENBQUMsTUFBTTtFQUN2QixJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUN2QixpQ0FBaUMsRUFBRSxtQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxtQ0FBWTtJQUN2QyxpQkFBaUIsRUFBRSxvQkFBVztJQUM5QixTQUFTLEVBQUUsb0JBQVc7RUFHeEIsR0FBRyxFQUFFLEdBQUc7SUFDTixpQ0FBaUMsRUFBRSxzQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxzQ0FBWTtJQUN2QyxpQkFBaUIsRUFBRSx3QkFBVztJQUM5QixTQUFTLEVBQUUsd0JBQVc7RUFHeEIsR0FBRztJQUNELGlDQUFpQyxFQUFFLHNDQUFZO0lBQy9DLHlCQUF5QixFQUFFLHNDQUFZO0lBQ3ZDLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVztFQUd4QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXOztBQUkxQixVQUFVLENBQUMsTUFBTTtFQUNmLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ3ZCLGlDQUFpQyxFQUFFLG1DQUFZO0lBQy9DLHlCQUF5QixFQUFFLG1DQUFZO0lBQ3ZDLGlCQUFpQixFQUFFLG9CQUFXO0lBQzlCLFNBQVMsRUFBRSxvQkFBVztFQUd4QixHQUFHLEVBQUUsR0FBRztJQUNOLGlDQUFpQyxFQUFFLHNDQUFZO0lBQy9DLHlCQUF5QixFQUFFLHNDQUFZO0lBQ3ZDLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVztFQUd4QixHQUFHO0lBQ0QsaUNBQWlDLEVBQUUsc0NBQVk7SUFDL0MseUJBQXlCLEVBQUUsc0NBQVk7SUFDdkMsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7O0FBSTFCLE9BQU8sQ0FBQztFQUNOLHNCQUFzQixFQUFFLE1BQU87RUFDL0IsY0FBYyxFQUFFLE1BQU87RUFDdkIsd0JBQXdCLEVBQUUsYUFBYztFQUN4QyxnQkFBZ0IsRUFBRSxhQUFjLEdBSnpCOztBQU9ULGtCQUFrQixDQUFDLEtBQUs7RUFDdEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2IsT0FBTyxFQUFFLENBQUU7RUFHYixHQUFHLEVBQUUsR0FBRztJQUNOLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxLQUFLO0VBQ2QsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2IsT0FBTyxFQUFFLENBQUU7RUFHYixHQUFHLEVBQUUsR0FBRztJQUNOLE9BQU8sRUFBRSxDQUFFOztBQUlmLE1BQU0sQ0FBQztFQUNMLHNCQUFzQixFQUFFLEtBQU07RUFDOUIsY0FBYyxFQUFFLEtBQU0sR0FGaEI7O0FBS1IsOEVBQThFO0FBRTlFLGtCQUFrQixDQUFDLEtBQUs7RUFDdEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGdCQUFPO0lBQzFCLFNBQVMsRUFBRSxnQkFBTztFQUdwQixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUseUJBQU87SUFDMUIsU0FBUyxFQUFFLHlCQUFPO0VBR3BCLElBQUk7SUFDRixpQkFBaUIsRUFBRSxnQkFBTztJQUMxQixTQUFTLEVBQUUsZ0JBQU87O0FBSXRCLFVBQVUsQ0FBQyxLQUFLO0VBQ2QsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGdCQUFPO0lBQzFCLFNBQVMsRUFBRSxnQkFBTztFQUdwQixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUseUJBQU87SUFDMUIsU0FBUyxFQUFFLHlCQUFPO0VBR3BCLElBQUk7SUFDRixpQkFBaUIsRUFBRSxnQkFBTztJQUMxQixTQUFTLEVBQUUsZ0JBQU87O0FBSXRCLE1BQU0sQ0FBQztFQUNMLHNCQUFzQixFQUFFLEtBQU07RUFDOUIsY0FBYyxFQUFFLEtBQU0sR0FGaEI7O0FBS1Isa0JBQWtCLENBQUMsVUFBVTtFQUMzQixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsZ0JBQU87SUFDMUIsU0FBUyxFQUFFLGdCQUFPO0VBR3BCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87RUFHcEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLFNBQVMsRUFBRSxzQkFBTztFQUdwQixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsc0JBQU87SUFDMUIsU0FBUyxFQUFFLHNCQUFPO0VBR3BCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87RUFHcEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLFNBQVMsRUFBRSxzQkFBTztFQUdwQixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsZ0JBQU87SUFDMUIsU0FBUyxFQUFFLGdCQUFPOztBQUl0QixVQUFVLENBQUMsVUFBVTtFQUNuQixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsZ0JBQU87SUFDMUIsU0FBUyxFQUFFLGdCQUFPO0VBR3BCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87RUFHcEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLFNBQVMsRUFBRSxzQkFBTztFQUdwQixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsc0JBQU87SUFDMUIsU0FBUyxFQUFFLHNCQUFPO0VBR3BCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87RUFHcEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLFNBQVMsRUFBRSxzQkFBTztFQUdwQixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsZ0JBQU87SUFDMUIsU0FBUyxFQUFFLGdCQUFPOztBQUl0QixXQUFXLENBQUM7RUFDVixzQkFBc0IsRUFBRSxVQUFXO0VBQ25DLGNBQWMsRUFBRSxVQUFXLEdBRmhCOztBQUtiLGtCQUFrQixDQUFDLEtBQUs7RUFDdEIsSUFBSSxFQUFFLElBQUk7SUFDUixpQkFBaUIsRUFBRSxvQkFBVztJQUM5QixTQUFTLEVBQUUsb0JBQVc7RUFHeEIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDckIsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDaEIsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXOztBQUkxQixVQUFVLENBQUMsS0FBSztFQUNkLElBQUksRUFBRSxJQUFJO0lBQ1IsaUJBQWlCLEVBQUUsb0JBQVc7SUFDOUIsU0FBUyxFQUFFLG9CQUFXO0VBR3hCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ3JCLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVztFQUd4QixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ2hCLGlCQUFpQixFQUFFLHVCQUFXO0lBQzlCLFNBQVMsRUFBRSx1QkFBVzs7QUFJMUIsTUFBTSxDQUFDO0VBQ0wsc0JBQXNCLEVBQUUsS0FBTTtFQUM5QixjQUFjLEVBQUUsS0FBTSxHQUZoQjs7QUFLUixrQkFBa0IsQ0FBQyxLQUFLO0VBQ3RCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx3QkFBUTtJQUMzQixTQUFTLEVBQUUsd0JBQVE7RUFHckIsR0FBRztJQUNELGlCQUFpQixFQUFFLHlCQUFRO0lBQzNCLFNBQVMsRUFBRSx5QkFBUTtFQUdyQixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsdUJBQVE7SUFDM0IsU0FBUyxFQUFFLHVCQUFRO0VBR3JCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx3QkFBUTtJQUMzQixTQUFTLEVBQUUsd0JBQVE7RUFHckIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLHVCQUFRO0lBQzNCLFNBQVMsRUFBRSx1QkFBUTs7QUFJdkIsVUFBVSxDQUFDLEtBQUs7RUFDZCxHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsd0JBQVE7SUFDM0IsU0FBUyxFQUFFLHdCQUFRO0VBR3JCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx5QkFBUTtJQUMzQixTQUFTLEVBQUUseUJBQVE7RUFHckIsR0FBRztJQUNELGlCQUFpQixFQUFFLHVCQUFRO0lBQzNCLFNBQVMsRUFBRSx1QkFBUTtFQUdyQixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsd0JBQVE7SUFDM0IsU0FBUyxFQUFFLHdCQUFRO0VBR3JCLElBQUk7SUFDRixpQkFBaUIsRUFBRSx1QkFBUTtJQUMzQixTQUFTLEVBQUUsdUJBQVE7O0FBSXZCLE1BQU0sQ0FBQztFQUNMLHdCQUF3QixFQUFFLFVBQVc7RUFDckMsZ0JBQWdCLEVBQUUsVUFBVztFQUM3QixzQkFBc0IsRUFBRSxLQUFNO0VBQzlCLGNBQWMsRUFBRSxLQUFNLEdBSmhCOztBQU9SLGtCQUFrQixDQUFDLElBQUk7RUFDckIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGdCQUFPO0lBQzFCLFNBQVMsRUFBRSxnQkFBTztFQUdwQixHQUFHLEVBQUUsR0FBRztJQUNOLGlCQUFpQixFQUFFLHNCQUFPLENBQWEsd0JBQVE7SUFDL0MsU0FBUyxFQUFFLHNCQUFPLENBQWEsd0JBQVE7RUFHekMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUNoQixpQkFBaUIsRUFBRSxzQkFBTyxDQUFnQix1QkFBUTtJQUNsRCxTQUFTLEVBQUUsc0JBQU8sQ0FBZ0IsdUJBQVE7RUFHNUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ1gsaUJBQWlCLEVBQUUsc0JBQU8sQ0FBZ0Isd0JBQVE7SUFDbEQsU0FBUyxFQUFFLHNCQUFPLENBQWdCLHdCQUFRO0VBRzVDLElBQUk7SUFDRixpQkFBaUIsRUFBRSxnQkFBTztJQUMxQixTQUFTLEVBQUUsZ0JBQU87O0FBSXRCLFVBQVUsQ0FBQyxJQUFJO0VBQ2IsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGdCQUFPO0lBQzFCLFNBQVMsRUFBRSxnQkFBTztFQUdwQixHQUFHLEVBQUUsR0FBRztJQUNOLGlCQUFpQixFQUFFLHNCQUFPLENBQWEsd0JBQVE7SUFDL0MsU0FBUyxFQUFFLHNCQUFPLENBQWEsd0JBQVE7RUFHekMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUNoQixpQkFBaUIsRUFBRSxzQkFBTyxDQUFnQix1QkFBUTtJQUNsRCxTQUFTLEVBQUUsc0JBQU8sQ0FBZ0IsdUJBQVE7RUFHNUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ1gsaUJBQWlCLEVBQUUsc0JBQU8sQ0FBZ0Isd0JBQVE7SUFDbEQsU0FBUyxFQUFFLHNCQUFPLENBQWdCLHdCQUFRO0VBRzVDLElBQUk7SUFDRixpQkFBaUIsRUFBRSxnQkFBTztJQUMxQixTQUFTLEVBQUUsZ0JBQU87O0FBSXRCLEtBQUssQ0FBQztFQUNKLHNCQUFzQixFQUFFLElBQUs7RUFDN0IsY0FBYyxFQUFFLElBQUssR0FGaEI7O0FBS1AsOEVBQThFO0FBRTlFLGtCQUFrQixDQUFDLE1BQU07RUFDdkIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7RUFHbEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHVCQUFXLENBQWEsd0JBQVE7SUFDbkQsU0FBUyxFQUFFLHVCQUFXLENBQWEsd0JBQVE7RUFHN0MsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFXLENBQVksdUJBQVE7SUFDbEQsU0FBUyxFQUFFLHNCQUFXLENBQVksdUJBQVE7RUFHNUMsR0FBRztJQUNELGlCQUFpQixFQUFFLHVCQUFXLENBQWEsd0JBQVE7SUFDbkQsU0FBUyxFQUFFLHVCQUFXLENBQWEsd0JBQVE7RUFHN0MsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFXLENBQVksdUJBQVE7SUFDbEQsU0FBUyxFQUFFLHNCQUFXLENBQVksdUJBQVE7RUFHNUMsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFXLENBQVksd0JBQVE7SUFDbEQsU0FBUyxFQUFFLHNCQUFXLENBQVksd0JBQVE7RUFHNUMsSUFBSTtJQUNGLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFVBQVUsQ0FBQyxNQUFNO0VBQ2YsSUFBSTtJQUNGLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7RUFHbEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHVCQUFXLENBQWEsd0JBQVE7SUFDbkQsU0FBUyxFQUFFLHVCQUFXLENBQWEsd0JBQVE7RUFHN0MsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFXLENBQVksdUJBQVE7SUFDbEQsU0FBUyxFQUFFLHNCQUFXLENBQVksdUJBQVE7RUFHNUMsR0FBRztJQUNELGlCQUFpQixFQUFFLHVCQUFXLENBQWEsd0JBQVE7SUFDbkQsU0FBUyxFQUFFLHVCQUFXLENBQWEsd0JBQVE7RUFHN0MsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFXLENBQVksdUJBQVE7SUFDbEQsU0FBUyxFQUFFLHNCQUFXLENBQVksdUJBQVE7RUFHNUMsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFXLENBQVksd0JBQVE7SUFDbEQsU0FBUyxFQUFFLHNCQUFXLENBQVksd0JBQVE7RUFHNUMsSUFBSTtJQUNGLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLE9BQU8sQ0FBQztFQUNOLHNCQUFzQixFQUFFLE1BQU87RUFDL0IsY0FBYyxFQUFFLE1BQU8sR0FGaEI7O0FBS1Qsa0JBQWtCLENBQUMsS0FBSztFQUN0QixJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDZixpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLO0VBR2xCLEtBQUs7SUFDSCxpQkFBaUIsRUFBRSxlQUFLLENBQVcsZUFBSztJQUN4QyxTQUFTLEVBQUUsZUFBSyxDQUFXLGVBQUs7RUFHbEMsS0FBSztJQUNILGlCQUFpQixFQUFFLGNBQUssQ0FBVSxjQUFLO0lBQ3ZDLFNBQVMsRUFBRSxjQUFLLENBQVUsY0FBSztFQUdqQyxLQUFLO0lBQ0gsaUJBQWlCLEVBQUUsZ0JBQUssQ0FBWSxnQkFBSztJQUN6QyxTQUFTLEVBQUUsZ0JBQUssQ0FBWSxnQkFBSztFQUduQyxLQUFLO0lBQ0gsaUJBQWlCLEVBQUUsZ0JBQUssQ0FBWSxnQkFBSztJQUN6QyxTQUFTLEVBQUUsZ0JBQUssQ0FBWSxnQkFBSztFQUduQyxLQUFLO0lBQ0gsaUJBQWlCLEVBQUUsa0JBQUssQ0FBYyxrQkFBSztJQUMzQyxTQUFTLEVBQUUsa0JBQUssQ0FBYyxrQkFBSztFQUdyQyxLQUFLO0lBQ0gsaUJBQWlCLEVBQUUsaUJBQUssQ0FBYyxpQkFBSztJQUMzQyxTQUFTLEVBQUUsaUJBQUssQ0FBYyxpQkFBSztFQUdyQyxLQUFLO0lBQ0gsaUJBQWlCLEVBQUUsa0JBQUssQ0FBZ0Isa0JBQUs7SUFDN0MsU0FBUyxFQUFFLGtCQUFLLENBQWdCLGtCQUFLOztBQUl6QyxVQUFVLENBQUMsS0FBSztFQUNkLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSTtJQUNmLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7RUFHbEIsS0FBSztJQUNILGlCQUFpQixFQUFFLGVBQUssQ0FBVyxlQUFLO0lBQ3hDLFNBQVMsRUFBRSxlQUFLLENBQVcsZUFBSztFQUdsQyxLQUFLO0lBQ0gsaUJBQWlCLEVBQUUsY0FBSyxDQUFVLGNBQUs7SUFDdkMsU0FBUyxFQUFFLGNBQUssQ0FBVSxjQUFLO0VBR2pDLEtBQUs7SUFDSCxpQkFBaUIsRUFBRSxnQkFBSyxDQUFZLGdCQUFLO0lBQ3pDLFNBQVMsRUFBRSxnQkFBSyxDQUFZLGdCQUFLO0VBR25DLEtBQUs7SUFDSCxpQkFBaUIsRUFBRSxnQkFBSyxDQUFZLGdCQUFLO0lBQ3pDLFNBQVMsRUFBRSxnQkFBSyxDQUFZLGdCQUFLO0VBR25DLEtBQUs7SUFDSCxpQkFBaUIsRUFBRSxrQkFBSyxDQUFjLGtCQUFLO0lBQzNDLFNBQVMsRUFBRSxrQkFBSyxDQUFjLGtCQUFLO0VBR3JDLEtBQUs7SUFDSCxpQkFBaUIsRUFBRSxpQkFBSyxDQUFjLGlCQUFLO0lBQzNDLFNBQVMsRUFBRSxpQkFBSyxDQUFjLGlCQUFLO0VBR3JDLEtBQUs7SUFDSCxpQkFBaUIsRUFBRSxrQkFBSyxDQUFnQixrQkFBSztJQUM3QyxTQUFTLEVBQUUsa0JBQUssQ0FBZ0Isa0JBQUs7O0FBSXpDLE1BQU0sQ0FBQztFQUNMLHNCQUFzQixFQUFFLEtBQU07RUFDOUIsY0FBYyxFQUFFLEtBQU07RUFDdEIsd0JBQXdCLEVBQUUsTUFBTztFQUNqQyxnQkFBZ0IsRUFBRSxNQUFPLEdBSm5COztBQU9SLGtCQUFrQixDQUFDLFFBQVE7RUFDekIsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQzVCLGlDQUFpQyxFQUFFLG1DQUFZO0lBQy9DLHlCQUF5QixFQUFFLG1DQUFZO0VBR3pDLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLFNBQVMsRUFBRSxzQkFBTztFQUdwQixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsc0JBQU87SUFDMUIsU0FBUyxFQUFFLHNCQUFPO0VBR3BCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87RUFHcEIsR0FBRztJQUNELE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUseUJBQU87SUFDMUIsU0FBUyxFQUFFLHlCQUFPO0VBR3BCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx5QkFBTztJQUMxQixTQUFTLEVBQUUseUJBQU87RUFHcEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsZ0JBQU87SUFDMUIsU0FBUyxFQUFFLGdCQUFPOztBQUl0QixVQUFVLENBQUMsUUFBUTtFQUNqQixJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDNUIsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7RUFHekMsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsc0JBQU87SUFDMUIsU0FBUyxFQUFFLHNCQUFPO0VBR3BCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87RUFHcEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLFNBQVMsRUFBRSxzQkFBTztFQUdwQixHQUFHO0lBQ0QsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx5QkFBTztJQUMxQixTQUFTLEVBQUUseUJBQU87RUFHcEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHlCQUFPO0lBQzFCLFNBQVMsRUFBRSx5QkFBTztFQUdwQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxnQkFBTztJQUMxQixTQUFTLEVBQUUsZ0JBQU87O0FBSXRCLFNBQVMsQ0FBQztFQUNSLHNCQUFzQixFQUFFLFFBQVM7RUFDakMsY0FBYyxFQUFFLFFBQVMsR0FGaEI7O0FBS1gsa0JBQWtCLENBQUMsWUFBWTtFQUM3QixJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUN2QixpQ0FBaUMsRUFBRSxtQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxtQ0FBWTtFQUd6QyxFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSwwQkFBVztJQUM5QixTQUFTLEVBQUUsMEJBQVc7RUFHeEIsR0FBRztJQUNELE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx3QkFBVztJQUM5QixTQUFTLEVBQUUsd0JBQVc7RUFHeEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFXO0lBQzlCLFNBQVMsRUFBRSxzQkFBVztFQUd4QixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFDLFlBQVk7RUFDckIsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDdkIsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7RUFHekMsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsMEJBQVc7SUFDOUIsU0FBUyxFQUFFLDBCQUFXO0VBR3hCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHVCQUFXO0lBQzlCLFNBQVMsRUFBRSx1QkFBVztFQUd4QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxzQkFBVztJQUM5QixTQUFTLEVBQUUsc0JBQVc7RUFHeEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLGFBQWEsQ0FBQztFQUNaLHNCQUFzQixFQUFFLFlBQWE7RUFDckMsY0FBYyxFQUFFLFlBQWEsR0FGaEI7O0FBS2Ysa0JBQWtCLENBQUMsWUFBWTtFQUM3QixJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUN2QixpQ0FBaUMsRUFBRSxtQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxtQ0FBWTtFQUd6QyxFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSwwQkFBVztJQUM5QixTQUFTLEVBQUUsMEJBQVc7RUFHeEIsR0FBRztJQUNELE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx3QkFBVztJQUM5QixTQUFTLEVBQUUsd0JBQVc7RUFHeEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHNCQUFXO0lBQzlCLFNBQVMsRUFBRSxzQkFBVztFQUd4QixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFDLFlBQVk7RUFDckIsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDdkIsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7RUFHekMsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsMEJBQVc7SUFDOUIsU0FBUyxFQUFFLDBCQUFXO0VBR3hCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHVCQUFXO0lBQzlCLFNBQVMsRUFBRSx1QkFBVztFQUd4QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxzQkFBVztJQUM5QixTQUFTLEVBQUUsc0JBQVc7RUFHeEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLGFBQWEsQ0FBQztFQUNaLHNCQUFzQixFQUFFLFlBQWE7RUFDckMsY0FBYyxFQUFFLFlBQWEsR0FGaEI7O0FBS2Ysa0JBQWtCLENBQUMsYUFBYTtFQUM5QixJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUN2QixpQ0FBaUMsRUFBRSxtQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxtQ0FBWTtFQUd6QyxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx5QkFBVztJQUM5QixTQUFTLEVBQUUseUJBQVc7RUFHeEIsR0FBRztJQUNELE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7RUFHeEIsR0FBRztJQUNELGlCQUFpQixFQUFFLHVCQUFXO0lBQzlCLFNBQVMsRUFBRSx1QkFBVztFQUd4QixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFDLGFBQWE7RUFDdEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDdkIsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7RUFHekMsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUseUJBQVc7SUFDOUIsU0FBUyxFQUFFLHlCQUFXO0VBR3hCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVztFQUd4QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7RUFHeEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLGNBQWMsQ0FBQztFQUNiLHNCQUFzQixFQUFFLGFBQWM7RUFDdEMsY0FBYyxFQUFFLGFBQWMsR0FGaEI7O0FBS2hCLGtCQUFrQixDQUFDLFVBQVU7RUFDM0IsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDdkIsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7RUFHekMsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUseUJBQVc7SUFDOUIsU0FBUyxFQUFFLHlCQUFXO0VBR3hCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVztFQUd4QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7RUFHeEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLG9CQUFXO0lBQzlCLFNBQVMsRUFBRSxvQkFBVzs7QUFJMUIsVUFBVSxDQUFDLFVBQVU7RUFDbkIsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDdkIsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7RUFHekMsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUseUJBQVc7SUFDOUIsU0FBUyxFQUFFLHlCQUFXO0VBR3hCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVztFQUd4QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7RUFHeEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLG9CQUFXO0lBQzlCLFNBQVMsRUFBRSxvQkFBVzs7QUFJMUIsV0FBVyxDQUFDO0VBQ1Ysc0JBQXNCLEVBQUUsVUFBVztFQUNuQyxjQUFjLEVBQUUsVUFBVyxHQUZoQjs7QUFLYixrQkFBa0IsQ0FBQyxTQUFTO0VBQzFCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87RUFHcEIsR0FBRyxFQUFFLEdBQUc7SUFDTixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLFNBQVMsRUFBRSxzQkFBTztFQUdwQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87O0FBSXRCLFVBQVUsQ0FBQyxTQUFTO0VBQ2xCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87RUFHcEIsR0FBRyxFQUFFLEdBQUc7SUFDTixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLFNBQVMsRUFBRSxzQkFBTztFQUdwQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87O0FBSXRCLFVBQVUsQ0FBQztFQUNULHNCQUFzQixFQUFFLFNBQVU7RUFDbEMsY0FBYyxFQUFFLFNBQVUsR0FGaEI7O0FBS1osa0JBQWtCLENBQUMsYUFBYTtFQUM5QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEdBQUcsRUFBRSxHQUFHO0lBQ04sT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx3QkFBVztJQUM5QixTQUFTLEVBQUUsd0JBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUseUJBQVc7SUFDOUIsU0FBUyxFQUFFLHlCQUFXOztBQUkxQixVQUFVLENBQUMsYUFBYTtFQUN0QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEdBQUcsRUFBRSxHQUFHO0lBQ04sT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx3QkFBVztJQUM5QixTQUFTLEVBQUUsd0JBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUseUJBQVc7SUFDOUIsU0FBUyxFQUFFLHlCQUFXOztBQUkxQixjQUFjLENBQUM7RUFDYixzQkFBc0IsRUFBRSxhQUFjO0VBQ3RDLGNBQWMsRUFBRSxhQUFjLEdBRmhCOztBQUtoQixrQkFBa0IsQ0FBQyxhQUFhO0VBQzlCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHVCQUFXO0lBQzlCLFNBQVMsRUFBRSx1QkFBVztFQUd4QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSwwQkFBVztJQUM5QixTQUFTLEVBQUUsMEJBQVc7O0FBSTFCLFVBQVUsQ0FBQyxhQUFhO0VBQ3RCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHVCQUFXO0lBQzlCLFNBQVMsRUFBRSx1QkFBVztFQUd4QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSwwQkFBVztJQUM5QixTQUFTLEVBQUUsMEJBQVc7O0FBSTFCLGNBQWMsQ0FBQztFQUNiLHNCQUFzQixFQUFFLGFBQWM7RUFDdEMsY0FBYyxFQUFFLGFBQWMsR0FGaEI7O0FBS2hCLGtCQUFrQixDQUFDLGNBQWM7RUFDL0IsR0FBRztJQUNELE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHlCQUFXO0lBQzlCLFNBQVMsRUFBRSx5QkFBVzs7QUFJMUIsVUFBVSxDQUFDLGNBQWM7RUFDdkIsR0FBRztJQUNELE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHlCQUFXO0lBQzlCLFNBQVMsRUFBRSx5QkFBVzs7QUFJMUIsZUFBZSxDQUFDO0VBQ2Qsc0JBQXNCLEVBQUUsY0FBZTtFQUN2QyxjQUFjLEVBQUUsY0FBZSxHQUZoQjs7QUFLakIsa0JBQWtCLENBQUMsV0FBVztFQUM1QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLEdBQUcsRUFBRSxHQUFHO0lBQ04sT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsMEJBQVc7SUFDOUIsU0FBUyxFQUFFLDBCQUFXOztBQUkxQixVQUFVLENBQUMsV0FBVztFQUNwQixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLEdBQUcsRUFBRSxHQUFHO0lBQ04sT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsMEJBQVc7SUFDOUIsU0FBUyxFQUFFLDBCQUFXOztBQUkxQixZQUFZLENBQUM7RUFDWCxzQkFBc0IsRUFBRSxXQUFZO0VBQ3BDLGNBQWMsRUFBRSxXQUFZLEdBRmhCOztBQUtkLGtCQUFrQixDQUFDLE1BQU07RUFDdkIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxNQUFNO0VBQ2YsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFOztBQUlmLE9BQU8sQ0FBQztFQUNOLHNCQUFzQixFQUFFLE1BQU87RUFDL0IsY0FBYyxFQUFFLE1BQU8sR0FGaEI7O0FBS1Qsa0JBQWtCLENBQUMsVUFBVTtFQUMzQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx3QkFBVztJQUM5QixTQUFTLEVBQUUsd0JBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFDLFVBQVU7RUFDbkIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFdBQVcsQ0FBQztFQUNWLHNCQUFzQixFQUFFLFVBQVc7RUFDbkMsY0FBYyxFQUFFLFVBQVcsR0FGaEI7O0FBS2Isa0JBQWtCLENBQUMsYUFBYTtFQUM5QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSwwQkFBVztJQUM5QixTQUFTLEVBQUUsMEJBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFDLGFBQWE7RUFDdEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsMEJBQVc7SUFDOUIsU0FBUyxFQUFFLDBCQUFXO0VBR3hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLGNBQWMsQ0FBQztFQUNiLHNCQUFzQixFQUFFLGFBQWM7RUFDdEMsY0FBYyxFQUFFLGFBQWMsR0FGaEI7O0FBS2hCLGtCQUFrQixDQUFDLFVBQVU7RUFDM0IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFVBQVUsQ0FBQyxVQUFVO0VBQ25CLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVztFQUd4QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLOztBQUlwQixXQUFXLENBQUM7RUFDVixzQkFBc0IsRUFBRSxVQUFXO0VBQ25DLGNBQWMsRUFBRSxVQUFXLEdBRmhCOztBQUtiLGtCQUFrQixDQUFDLGFBQWE7RUFDOUIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsMEJBQVc7SUFDOUIsU0FBUyxFQUFFLDBCQUFXO0VBR3hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFVBQVUsQ0FBQyxhQUFhO0VBQ3RCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLDBCQUFXO0lBQzlCLFNBQVMsRUFBRSwwQkFBVztFQUd4QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLOztBQUlwQixjQUFjLENBQUM7RUFDYixzQkFBc0IsRUFBRSxhQUFjO0VBQ3RDLGNBQWMsRUFBRSxhQUFjLEdBRmhCOztBQUtoQixrQkFBa0IsQ0FBQyxXQUFXO0VBQzVCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHVCQUFXO0lBQzlCLFNBQVMsRUFBRSx1QkFBVztFQUd4QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLOztBQUlwQixVQUFVLENBQUMsV0FBVztFQUNwQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSzs7QUFJcEIsWUFBWSxDQUFDO0VBQ1gsc0JBQXNCLEVBQUUsV0FBWTtFQUNwQyxjQUFjLEVBQUUsV0FBWSxHQUZoQjs7QUFLZCxrQkFBa0IsQ0FBQyxjQUFjO0VBQy9CLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHlCQUFXO0lBQzlCLFNBQVMsRUFBRSx5QkFBVztFQUd4QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLOztBQUlwQixVQUFVLENBQUMsY0FBYztFQUN2QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx5QkFBVztJQUM5QixTQUFTLEVBQUUseUJBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSzs7QUFJcEIsZUFBZSxDQUFDO0VBQ2Qsc0JBQXNCLEVBQUUsY0FBZTtFQUN2QyxjQUFjLEVBQUUsY0FBZSxHQUZoQjs7QUFLakIsa0JBQWtCLENBQUMsUUFBUTtFQUN6QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFDLFFBQVE7RUFDakIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFNBQVMsQ0FBQztFQUNSLHNCQUFzQixFQUFFLFFBQVM7RUFDakMsY0FBYyxFQUFFLFFBQVMsR0FGaEI7O0FBS1gsa0JBQWtCLENBQUMsV0FBVztFQUM1QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx5QkFBVztJQUM5QixTQUFTLEVBQUUseUJBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFDLFdBQVc7RUFDcEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUseUJBQVc7SUFDOUIsU0FBUyxFQUFFLHlCQUFXO0VBR3hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFlBQVksQ0FBQztFQUNYLHNCQUFzQixFQUFFLFdBQVk7RUFDcEMsY0FBYyxFQUFFLFdBQVksR0FGaEI7O0FBS2Qsa0JBQWtCLENBQUMsT0FBTztFQUN4QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7O0FBSWYsVUFBVSxDQUFDLE9BQU87RUFDaEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFOztBQUlmLFFBQVEsQ0FBQztFQUNQLHNCQUFzQixFQUFFLE9BQVE7RUFDaEMsY0FBYyxFQUFFLE9BQVEsR0FGaEI7O0FBS1Ysa0JBQWtCLENBQUMsV0FBVztFQUM1QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7O0FBSTFCLFVBQVUsQ0FBQyxXQUFXO0VBQ3BCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHVCQUFXO0lBQzlCLFNBQVMsRUFBRSx1QkFBVzs7QUFJMUIsWUFBWSxDQUFDO0VBQ1gsc0JBQXNCLEVBQUUsV0FBWTtFQUNwQyxjQUFjLEVBQUUsV0FBWSxHQUZoQjs7QUFLZCxrQkFBa0IsQ0FBQyxjQUFjO0VBQy9CLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHlCQUFXO0lBQzlCLFNBQVMsRUFBRSx5QkFBVzs7QUFJMUIsVUFBVSxDQUFDLGNBQWM7RUFDdkIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUseUJBQVc7SUFDOUIsU0FBUyxFQUFFLHlCQUFXOztBQUkxQixlQUFlLENBQUM7RUFDZCxzQkFBc0IsRUFBRSxjQUFlO0VBQ3ZDLGNBQWMsRUFBRSxjQUFlLEdBRmhCOztBQUtqQixrQkFBa0IsQ0FBQyxXQUFXO0VBQzVCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVzs7QUFJMUIsVUFBVSxDQUFDLFdBQVc7RUFDcEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXOztBQUkxQixZQUFZLENBQUM7RUFDWCxzQkFBc0IsRUFBRSxXQUFZO0VBQ3BDLGNBQWMsRUFBRSxXQUFZLEdBRmhCOztBQUtkLGtCQUFrQixDQUFDLGNBQWM7RUFDL0IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsMEJBQVc7SUFDOUIsU0FBUyxFQUFFLDBCQUFXOztBQUkxQixVQUFVLENBQUMsY0FBYztFQUN2QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSwwQkFBVztJQUM5QixTQUFTLEVBQUUsMEJBQVc7O0FBSTFCLGVBQWUsQ0FBQztFQUNkLHNCQUFzQixFQUFFLGNBQWU7RUFDdkMsY0FBYyxFQUFFLGNBQWUsR0FGaEI7O0FBS2pCLGtCQUFrQixDQUFDLFlBQVk7RUFDN0IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXOztBQUkxQixVQUFVLENBQUMsWUFBWTtFQUNyQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7O0FBSTFCLGFBQWEsQ0FBQztFQUNaLHNCQUFzQixFQUFFLFlBQWE7RUFDckMsY0FBYyxFQUFFLFlBQWEsR0FGaEI7O0FBS2Ysa0JBQWtCLENBQUMsZUFBZTtFQUNoQyxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx5QkFBVztJQUM5QixTQUFTLEVBQUUseUJBQVc7O0FBSTFCLFVBQVUsQ0FBQyxlQUFlO0VBQ3hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHlCQUFXO0lBQzlCLFNBQVMsRUFBRSx5QkFBVzs7QUFJMUIsZ0JBQWdCLENBQUM7RUFDZixzQkFBc0IsRUFBRSxlQUFnQjtFQUN4QyxjQUFjLEVBQUUsZUFBZ0IsR0FGaEI7O0FBS2xCLGtCQUFrQixDQUFDLFNBQVM7RUFDMUIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXOztBQUkxQixVQUFVLENBQUMsU0FBUztFQUNsQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx3QkFBVztJQUM5QixTQUFTLEVBQUUsd0JBQVc7O0FBSTFCLFVBQVUsQ0FBQztFQUNULHNCQUFzQixFQUFFLFNBQVU7RUFDbEMsY0FBYyxFQUFFLFNBQVUsR0FGaEI7O0FBS1osa0JBQWtCLENBQUMsWUFBWTtFQUM3QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSwwQkFBVztJQUM5QixTQUFTLEVBQUUsMEJBQVc7O0FBSTFCLFVBQVUsQ0FBQyxZQUFZO0VBQ3JCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLDBCQUFXO0lBQzlCLFNBQVMsRUFBRSwwQkFBVzs7QUFJMUIsYUFBYSxDQUFDO0VBQ1osc0JBQXNCLEVBQUUsWUFBYTtFQUNyQyxjQUFjLEVBQUUsWUFBYSxHQUZoQjs7QUFLZixrQkFBa0IsQ0FBQyxJQUFJO0VBQ3JCLElBQUk7SUFDRixpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLDBCQUFRO0lBQzlDLFNBQVMsRUFBRSxrQkFBVyxDQUFRLDBCQUFRO0lBQ3RDLGlDQUFpQyxFQUFFLFFBQVM7SUFDNUMseUJBQXlCLEVBQUUsUUFBUztFQUd0QyxHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsa0JBQVcsQ0FBUSx3QkFBVyxDQUFjLDBCQUFRO0lBQ3ZFLFNBQVMsRUFBRSxrQkFBVyxDQUFRLHdCQUFXLENBQWMsMEJBQVE7SUFDL0QsaUNBQWlDLEVBQUUsUUFBUztJQUM1Qyx5QkFBeUIsRUFBRSxRQUFTO0VBR3RDLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLHdCQUFXLENBQWMsMEJBQVE7SUFDdkUsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVcsQ0FBYywwQkFBUTtJQUMvRCxpQ0FBaUMsRUFBRSxPQUFRO0lBQzNDLHlCQUF5QixFQUFFLE9BQVE7RUFHckMsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEseUJBQU87SUFDN0MsU0FBUyxFQUFFLGtCQUFXLENBQVEseUJBQU87SUFDckMsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFRO0VBR3JDLElBQUk7SUFDRixpQkFBaUIsRUFBRSxrQkFBVztJQUM5QixTQUFTLEVBQUUsa0JBQVc7SUFDdEIsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFROztBQUl2QyxVQUFVLENBQUMsSUFBSTtFQUNiLElBQUk7SUFDRixpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLDBCQUFRO0lBQzlDLFNBQVMsRUFBRSxrQkFBVyxDQUFRLDBCQUFRO0lBQ3RDLGlDQUFpQyxFQUFFLFFBQVM7SUFDNUMseUJBQXlCLEVBQUUsUUFBUztFQUd0QyxHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsa0JBQVcsQ0FBUSx3QkFBVyxDQUFjLDBCQUFRO0lBQ3ZFLFNBQVMsRUFBRSxrQkFBVyxDQUFRLHdCQUFXLENBQWMsMEJBQVE7SUFDL0QsaUNBQWlDLEVBQUUsUUFBUztJQUM1Qyx5QkFBeUIsRUFBRSxRQUFTO0VBR3RDLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLHdCQUFXLENBQWMsMEJBQVE7SUFDdkUsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVcsQ0FBYywwQkFBUTtJQUMvRCxpQ0FBaUMsRUFBRSxPQUFRO0lBQzNDLHlCQUF5QixFQUFFLE9BQVE7RUFHckMsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEseUJBQU87SUFDN0MsU0FBUyxFQUFFLGtCQUFXLENBQVEseUJBQU87SUFDckMsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFRO0VBR3JDLElBQUk7SUFDRixpQkFBaUIsRUFBRSxrQkFBVztJQUM5QixTQUFTLEVBQUUsa0JBQVc7SUFDdEIsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFROztBQUk5QixTQUFTLEtBQUssQ0FBUjtFQUNiLDJCQUEyQixFQUFFLE9BQVE7RUFDckMsbUJBQW1CLEVBQUUsT0FBUTtFQUM3QixzQkFBc0IsRUFBRSxJQUFLO0VBQzdCLGNBQWMsRUFBRSxJQUFLLEdBSlA7O0FBT2hCLGtCQUFrQixDQUFDLE9BQU87RUFDeEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDdEMsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFRO0lBQ25DLE9BQU8sRUFBRSxDQUFFO0VBR2IsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEseUJBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEseUJBQVE7SUFDdEMsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFRO0VBR3JDLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQzlDLFNBQVMsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQ3RDLE9BQU8sRUFBRSxDQUFFO0VBR2IsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVE7RUFHeEMsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXO0lBQzlCLFNBQVMsRUFBRSxrQkFBVzs7QUFJMUIsVUFBVSxDQUFDLE9BQU87RUFDaEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDdEMsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFRO0lBQ25DLE9BQU8sRUFBRSxDQUFFO0VBR2IsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEseUJBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEseUJBQVE7SUFDdEMsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFRO0VBR3JDLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQzlDLFNBQVMsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQ3RDLE9BQU8sRUFBRSxDQUFFO0VBR2IsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVE7RUFHeEMsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXO0lBQzlCLFNBQVMsRUFBRSxrQkFBVzs7QUFJMUIsUUFBUSxDQUFDO0VBQ1AsMkJBQTJCLEVBQUUsa0JBQW1CO0VBQ2hELG1CQUFtQixFQUFFLGtCQUFtQjtFQUN4QyxzQkFBc0IsRUFBRSxPQUFRO0VBQ2hDLGNBQWMsRUFBRSxPQUFRLEdBSmhCOztBQU9WLGtCQUFrQixDQUFDLE9BQU87RUFDeEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDdEMsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFRO0lBQ25DLE9BQU8sRUFBRSxDQUFFO0VBR2IsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEseUJBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEseUJBQVE7SUFDdEMsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFRO0VBR3JDLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQzlDLFNBQVMsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQ3RDLE9BQU8sRUFBRSxDQUFFO0VBR2IsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVE7RUFHeEMsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXO0lBQzlCLFNBQVMsRUFBRSxrQkFBVzs7QUFJMUIsVUFBVSxDQUFDLE9BQU87RUFDaEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDdEMsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFRO0lBQ25DLE9BQU8sRUFBRSxDQUFFO0VBR2IsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEseUJBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEseUJBQVE7SUFDdEMsaUNBQWlDLEVBQUUsT0FBUTtJQUMzQyx5QkFBeUIsRUFBRSxPQUFRO0VBR3JDLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQzlDLFNBQVMsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQ3RDLE9BQU8sRUFBRSxDQUFFO0VBR2IsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVE7RUFHeEMsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXO0lBQzlCLFNBQVMsRUFBRSxrQkFBVzs7QUFJMUIsUUFBUSxDQUFDO0VBQ1AsMkJBQTJCLEVBQUUsa0JBQW1CO0VBQ2hELG1CQUFtQixFQUFFLGtCQUFtQjtFQUN4QyxzQkFBc0IsRUFBRSxPQUFRO0VBQ2hDLGNBQWMsRUFBRSxPQUFRLEdBSmhCOztBQU9WLGtCQUFrQixDQUFDLFFBQVE7RUFDekIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXO0lBQzlCLFNBQVMsRUFBRSxrQkFBVztFQUd4QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsa0JBQVcsQ0FBUSx5QkFBUTtJQUM5QyxTQUFTLEVBQUUsa0JBQVcsQ0FBUSx5QkFBUTtJQUN0QyxPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRixpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQzlDLFNBQVMsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQ3RDLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxRQUFRO0VBQ2pCLElBQUk7SUFDRixpQkFBaUIsRUFBRSxrQkFBVztJQUM5QixTQUFTLEVBQUUsa0JBQVc7RUFHeEIsR0FBRztJQUNELGlCQUFpQixFQUFFLGtCQUFXLENBQVEseUJBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEseUJBQVE7SUFDdEMsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsa0JBQVcsQ0FBUSx3QkFBUTtJQUM5QyxTQUFTLEVBQUUsa0JBQVcsQ0FBUSx3QkFBUTtJQUN0QyxPQUFPLEVBQUUsQ0FBRTs7QUFJZixTQUFTLENBQUM7RUFDUixzQkFBc0IsRUFBRSxRQUFTO0VBQ2pDLGNBQWMsRUFBRSxRQUFTO0VBQ3pCLDJCQUEyQixFQUFFLGtCQUFtQjtFQUNoRCxtQkFBbUIsRUFBRSxrQkFBbUIsR0FKL0I7O0FBT1gsa0JBQWtCLENBQUMsUUFBUTtFQUN6QixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsa0JBQVc7SUFDOUIsU0FBUyxFQUFFLGtCQUFXO0VBR3hCLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLHlCQUFRO0lBQzlDLFNBQVMsRUFBRSxrQkFBVyxDQUFRLHlCQUFRO0lBQ3RDLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDOUMsU0FBUyxFQUFFLGtCQUFXLENBQVEsd0JBQVE7SUFDdEMsT0FBTyxFQUFFLENBQUU7O0FBSWYsVUFBVSxDQUFDLFFBQVE7RUFDakIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGtCQUFXO0lBQzlCLFNBQVMsRUFBRSxrQkFBVztFQUd4QixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsa0JBQVcsQ0FBUSx5QkFBUTtJQUM5QyxTQUFTLEVBQUUsa0JBQVcsQ0FBUSx5QkFBUTtJQUN0QyxPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRixpQkFBaUIsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQzlDLFNBQVMsRUFBRSxrQkFBVyxDQUFRLHdCQUFRO0lBQ3RDLE9BQU8sRUFBRSxDQUFFOztBQUlmLFNBQVMsQ0FBQztFQUNSLDJCQUEyQixFQUFFLGtCQUFtQjtFQUNoRCxtQkFBbUIsRUFBRSxrQkFBbUI7RUFDeEMsc0JBQXNCLEVBQUUsUUFBUztFQUNqQyxjQUFjLEVBQUUsUUFBUyxHQUpoQjs7QUFPWCxrQkFBa0IsQ0FBQyxZQUFZO0VBQzdCLElBQUk7SUFDRixpQkFBaUIsRUFBRSx1QkFBVyxDQUFhLGFBQUs7SUFDaEQsU0FBUyxFQUFFLHVCQUFXLENBQWEsYUFBSztJQUN4QyxPQUFPLEVBQUUsQ0FBRTtFQUdiLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxZQUFLO0lBQ3hCLFNBQVMsRUFBRSxZQUFLO0lBQ2hCLE9BQU8sRUFBRSxDQUFFO0VBR2IsR0FBRztJQUNELGlCQUFpQixFQUFFLFlBQUs7SUFDeEIsU0FBUyxFQUFFLFlBQUs7SUFDaEIsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSztJQUNoQixPQUFPLEVBQUUsQ0FBRTs7QUFJZixVQUFVLENBQUMsWUFBWTtFQUNyQixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsdUJBQVcsQ0FBYSxhQUFLO0lBQ2hELFNBQVMsRUFBRSx1QkFBVyxDQUFhLGFBQUs7SUFDeEMsT0FBTyxFQUFFLENBQUU7RUFHYixHQUFHO0lBQ0QsaUJBQWlCLEVBQUUsWUFBSztJQUN4QixTQUFTLEVBQUUsWUFBSztJQUNoQixPQUFPLEVBQUUsQ0FBRTtFQUdiLEdBQUc7SUFDRCxpQkFBaUIsRUFBRSxZQUFLO0lBQ3hCLFNBQVMsRUFBRSxZQUFLO0lBQ2hCLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7SUFDaEIsT0FBTyxFQUFFLENBQUU7O0FBSWYsYUFBYSxDQUFDO0VBQ1osc0JBQXNCLEVBQUUsWUFBYTtFQUNyQyxjQUFjLEVBQUUsWUFBYTtFQUM3QixpQ0FBaUMsRUFBRSxRQUFTO0VBQzVDLHlCQUF5QixFQUFFLFFBQVMsR0FKdkI7O0FBT2Ysa0JBQWtCLENBQUMsYUFBYTtFQUM5QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsdUJBQVcsQ0FBYSxZQUFLO0lBQ2hELFNBQVMsRUFBRSx1QkFBVyxDQUFhLFlBQUs7SUFDeEMsT0FBTyxFQUFFLENBQUU7O0FBSWYsVUFBVSxDQUFDLGFBQWE7RUFDdEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLGlCQUFpQixFQUFFLHVCQUFXLENBQWEsWUFBSztJQUNoRCxTQUFTLEVBQUUsdUJBQVcsQ0FBYSxZQUFLO0lBQ3hDLE9BQU8sRUFBRSxDQUFFOztBQUlmLGNBQWMsQ0FBQztFQUNiLHNCQUFzQixFQUFFLGFBQWM7RUFDdEMsY0FBYyxFQUFFLGFBQWM7RUFDOUIsaUNBQWlDLEVBQUUsT0FBUTtFQUMzQyx5QkFBeUIsRUFBRSxPQUFRLEdBSnJCOztBQU9oQixrQkFBa0IsQ0FBQyxRQUFRO0VBQ3pCLElBQUk7SUFDRix3QkFBd0IsRUFBRSxNQUFPO0lBQ2pDLGdCQUFnQixFQUFFLE1BQU87SUFDekIsaUJBQWlCLEVBQUUsMEJBQVE7SUFDM0IsU0FBUyxFQUFFLDBCQUFRO0lBQ25CLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLHdCQUF3QixFQUFFLE1BQU87SUFDakMsZ0JBQWdCLEVBQUUsTUFBTztJQUN6QixpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLO0lBQ2hCLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxRQUFRO0VBQ2pCLElBQUk7SUFDRix3QkFBd0IsRUFBRSxNQUFPO0lBQ2pDLGdCQUFnQixFQUFFLE1BQU87SUFDekIsaUJBQWlCLEVBQUUsMEJBQVE7SUFDM0IsU0FBUyxFQUFFLDBCQUFRO0lBQ25CLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLHdCQUF3QixFQUFFLE1BQU87SUFDakMsZ0JBQWdCLEVBQUUsTUFBTztJQUN6QixpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLO0lBQ2hCLE9BQU8sRUFBRSxDQUFFOztBQUlmLFNBQVMsQ0FBQztFQUNSLHNCQUFzQixFQUFFLFFBQVM7RUFDakMsY0FBYyxFQUFFLFFBQVMsR0FGaEI7O0FBS1gsa0JBQWtCLENBQUMsZ0JBQWdCO0VBQ2pDLElBQUk7SUFDRix3QkFBd0IsRUFBRSxXQUFZO0lBQ3RDLGdCQUFnQixFQUFFLFdBQVk7SUFDOUIsaUJBQWlCLEVBQUUseUJBQVE7SUFDM0IsU0FBUyxFQUFFLHlCQUFRO0lBQ25CLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFdBQVk7SUFDdEMsZ0JBQWdCLEVBQUUsV0FBWTtJQUM5QixpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLO0lBQ2hCLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxnQkFBZ0I7RUFDekIsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFdBQVk7SUFDdEMsZ0JBQWdCLEVBQUUsV0FBWTtJQUM5QixpQkFBaUIsRUFBRSx5QkFBUTtJQUMzQixTQUFTLEVBQUUseUJBQVE7SUFDbkIsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsV0FBWTtJQUN0QyxnQkFBZ0IsRUFBRSxXQUFZO0lBQzlCLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7SUFDaEIsT0FBTyxFQUFFLENBQUU7O0FBSWYsaUJBQWlCLENBQUM7RUFDaEIsc0JBQXNCLEVBQUUsZ0JBQWlCO0VBQ3pDLGNBQWMsRUFBRSxnQkFBaUIsR0FGaEI7O0FBS25CLGtCQUFrQixDQUFDLGlCQUFpQjtFQUNsQyxJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsWUFBYTtJQUN2QyxnQkFBZ0IsRUFBRSxZQUFhO0lBQy9CLGlCQUFpQixFQUFFLHdCQUFRO0lBQzNCLFNBQVMsRUFBRSx3QkFBUTtJQUNuQixPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRix3QkFBd0IsRUFBRSxZQUFhO0lBQ3ZDLGdCQUFnQixFQUFFLFlBQWE7SUFDL0IsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSztJQUNoQixPQUFPLEVBQUUsQ0FBRTs7QUFJZixVQUFVLENBQUMsaUJBQWlCO0VBQzFCLElBQUk7SUFDRix3QkFBd0IsRUFBRSxZQUFhO0lBQ3ZDLGdCQUFnQixFQUFFLFlBQWE7SUFDL0IsaUJBQWlCLEVBQUUsd0JBQVE7SUFDM0IsU0FBUyxFQUFFLHdCQUFRO0lBQ25CLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFlBQWE7SUFDdkMsZ0JBQWdCLEVBQUUsWUFBYTtJQUMvQixpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLO0lBQ2hCLE9BQU8sRUFBRSxDQUFFOztBQUlmLGtCQUFrQixDQUFDO0VBQ2pCLHNCQUFzQixFQUFFLGlCQUFrQjtFQUMxQyxjQUFjLEVBQUUsaUJBQWtCLEdBRmhCOztBQUtwQixrQkFBa0IsQ0FBQyxjQUFjO0VBQy9CLElBQUk7SUFDRix3QkFBd0IsRUFBRSxXQUFZO0lBQ3RDLGdCQUFnQixFQUFFLFdBQVk7SUFDOUIsaUJBQWlCLEVBQUUsd0JBQVE7SUFDM0IsU0FBUyxFQUFFLHdCQUFRO0lBQ25CLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFdBQVk7SUFDdEMsZ0JBQWdCLEVBQUUsV0FBWTtJQUM5QixpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLO0lBQ2hCLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxjQUFjO0VBQ3ZCLElBQUk7SUFDRix3QkFBd0IsRUFBRSxXQUFZO0lBQ3RDLGdCQUFnQixFQUFFLFdBQVk7SUFDOUIsaUJBQWlCLEVBQUUsd0JBQVE7SUFDM0IsU0FBUyxFQUFFLHdCQUFRO0lBQ25CLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFdBQVk7SUFDdEMsZ0JBQWdCLEVBQUUsV0FBWTtJQUM5QixpQkFBaUIsRUFBRSxJQUFLO0lBQ3hCLFNBQVMsRUFBRSxJQUFLO0lBQ2hCLE9BQU8sRUFBRSxDQUFFOztBQUlmLGVBQWUsQ0FBQztFQUNkLHNCQUFzQixFQUFFLGNBQWU7RUFDdkMsY0FBYyxFQUFFLGNBQWUsR0FGaEI7O0FBS2pCLGtCQUFrQixDQUFDLGVBQWU7RUFDaEMsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFlBQWE7SUFDdkMsZ0JBQWdCLEVBQUUsWUFBYTtJQUMvQixpQkFBaUIsRUFBRSx5QkFBUTtJQUMzQixTQUFTLEVBQUUseUJBQVE7SUFDbkIsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsWUFBYTtJQUN2QyxnQkFBZ0IsRUFBRSxZQUFhO0lBQy9CLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7SUFDaEIsT0FBTyxFQUFFLENBQUU7O0FBSWYsVUFBVSxDQUFDLGVBQWU7RUFDeEIsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFlBQWE7SUFDdkMsZ0JBQWdCLEVBQUUsWUFBYTtJQUMvQixpQkFBaUIsRUFBRSx5QkFBUTtJQUMzQixTQUFTLEVBQUUseUJBQVE7SUFDbkIsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsWUFBYTtJQUN2QyxnQkFBZ0IsRUFBRSxZQUFhO0lBQy9CLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7SUFDaEIsT0FBTyxFQUFFLENBQUU7O0FBSWYsZ0JBQWdCLENBQUM7RUFDZixzQkFBc0IsRUFBRSxlQUFnQjtFQUN4QyxjQUFjLEVBQUUsZUFBZ0IsR0FGaEI7O0FBS2xCLGtCQUFrQixDQUFDLFNBQVM7RUFDMUIsSUFBSTtJQUNGLHdCQUF3QixFQUFFLE1BQU87SUFDakMsZ0JBQWdCLEVBQUUsTUFBTztJQUN6QixPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRix3QkFBd0IsRUFBRSxNQUFPO0lBQ2pDLGdCQUFnQixFQUFFLE1BQU87SUFDekIsaUJBQWlCLEVBQUUseUJBQVE7SUFDM0IsU0FBUyxFQUFFLHlCQUFRO0lBQ25CLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxTQUFTO0VBQ2xCLElBQUk7SUFDRix3QkFBd0IsRUFBRSxNQUFPO0lBQ2pDLGdCQUFnQixFQUFFLE1BQU87SUFDekIsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsTUFBTztJQUNqQyxnQkFBZ0IsRUFBRSxNQUFPO0lBQ3pCLGlCQUFpQixFQUFFLHlCQUFRO0lBQzNCLFNBQVMsRUFBRSx5QkFBUTtJQUNuQixPQUFPLEVBQUUsQ0FBRTs7QUFJZixVQUFVLENBQUM7RUFDVCxzQkFBc0IsRUFBRSxTQUFVO0VBQ2xDLGNBQWMsRUFBRSxTQUFVLEdBRmhCOztBQUtaLGtCQUFrQixDQUFDLGlCQUFpQjtFQUNsQyxJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsV0FBWTtJQUN0QyxnQkFBZ0IsRUFBRSxXQUFZO0lBQzlCLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFdBQVk7SUFDdEMsZ0JBQWdCLEVBQUUsV0FBWTtJQUM5QixpQkFBaUIsRUFBRSx3QkFBUTtJQUMzQixTQUFTLEVBQUUsd0JBQVE7SUFDbkIsT0FBTyxFQUFFLENBQUU7O0FBSWYsVUFBVSxDQUFDLGlCQUFpQjtFQUMxQixJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsV0FBWTtJQUN0QyxnQkFBZ0IsRUFBRSxXQUFZO0lBQzlCLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFdBQVk7SUFDdEMsZ0JBQWdCLEVBQUUsV0FBWTtJQUM5QixpQkFBaUIsRUFBRSx3QkFBUTtJQUMzQixTQUFTLEVBQUUsd0JBQVE7SUFDbkIsT0FBTyxFQUFFLENBQUU7O0FBSWYsa0JBQWtCLENBQUM7RUFDakIsc0JBQXNCLEVBQUUsaUJBQWtCO0VBQzFDLGNBQWMsRUFBRSxpQkFBa0IsR0FGaEI7O0FBS3BCLGtCQUFrQixDQUFDLGtCQUFrQjtFQUNuQyxJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsWUFBYTtJQUN2QyxnQkFBZ0IsRUFBRSxZQUFhO0lBQy9CLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFlBQWE7SUFDdkMsZ0JBQWdCLEVBQUUsWUFBYTtJQUMvQixpQkFBaUIsRUFBRSx5QkFBUTtJQUMzQixTQUFTLEVBQUUseUJBQVE7SUFDbkIsT0FBTyxFQUFFLENBQUU7O0FBSWYsVUFBVSxDQUFDLGtCQUFrQjtFQUMzQixJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsWUFBYTtJQUN2QyxnQkFBZ0IsRUFBRSxZQUFhO0lBQy9CLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFlBQWE7SUFDdkMsZ0JBQWdCLEVBQUUsWUFBYTtJQUMvQixpQkFBaUIsRUFBRSx5QkFBUTtJQUMzQixTQUFTLEVBQUUseUJBQVE7SUFDbkIsT0FBTyxFQUFFLENBQUU7O0FBSWYsbUJBQW1CLENBQUM7RUFDbEIsc0JBQXNCLEVBQUUsa0JBQW1CO0VBQzNDLGNBQWMsRUFBRSxrQkFBbUIsR0FGaEI7O0FBS3JCLGtCQUFrQixDQUFDLGVBQWU7RUFDaEMsSUFBSTtJQUNGLHdCQUF3QixFQUFFLFdBQVk7SUFDdEMsZ0JBQWdCLEVBQUUsV0FBWTtJQUM5QixPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRix3QkFBd0IsRUFBRSxXQUFZO0lBQ3RDLGdCQUFnQixFQUFFLFdBQVk7SUFDOUIsaUJBQWlCLEVBQUUseUJBQVE7SUFDM0IsU0FBUyxFQUFFLHlCQUFRO0lBQ25CLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxlQUFlO0VBQ3hCLElBQUk7SUFDRix3QkFBd0IsRUFBRSxXQUFZO0lBQ3RDLGdCQUFnQixFQUFFLFdBQVk7SUFDOUIsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsV0FBWTtJQUN0QyxnQkFBZ0IsRUFBRSxXQUFZO0lBQzlCLGlCQUFpQixFQUFFLHlCQUFRO0lBQzNCLFNBQVMsRUFBRSx5QkFBUTtJQUNuQixPQUFPLEVBQUUsQ0FBRTs7QUFJZixnQkFBZ0IsQ0FBQztFQUNmLHNCQUFzQixFQUFFLGVBQWdCO0VBQ3hDLGNBQWMsRUFBRSxlQUFnQixHQUZoQjs7QUFLbEIsa0JBQWtCLENBQUMsZ0JBQWdCO0VBQ2pDLElBQUk7SUFDRix3QkFBd0IsRUFBRSxZQUFhO0lBQ3ZDLGdCQUFnQixFQUFFLFlBQWE7SUFDL0IsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsWUFBYTtJQUN2QyxnQkFBZ0IsRUFBRSxZQUFhO0lBQy9CLGlCQUFpQixFQUFFLHdCQUFRO0lBQzNCLFNBQVMsRUFBRSx3QkFBUTtJQUNuQixPQUFPLEVBQUUsQ0FBRTs7QUFJZixVQUFVLENBQUMsZ0JBQWdCO0VBQ3pCLElBQUk7SUFDRix3QkFBd0IsRUFBRSxZQUFhO0lBQ3ZDLGdCQUFnQixFQUFFLFlBQWE7SUFDL0IsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0Ysd0JBQXdCLEVBQUUsWUFBYTtJQUN2QyxnQkFBZ0IsRUFBRSxZQUFhO0lBQy9CLGlCQUFpQixFQUFFLHdCQUFRO0lBQzNCLFNBQVMsRUFBRSx3QkFBUTtJQUNuQixPQUFPLEVBQUUsQ0FBRTs7QUFJZixpQkFBaUIsQ0FBQztFQUNoQixzQkFBc0IsRUFBRSxnQkFBaUI7RUFDekMsY0FBYyxFQUFFLGdCQUFpQixHQUZoQjs7QUFLbkIsa0JBQWtCLENBQUMsS0FBSztFQUN0QixFQUFFO0lBQ0Esd0JBQXdCLEVBQUUsUUFBUztJQUNuQyxnQkFBZ0IsRUFBRSxRQUFTO0lBQzNCLGlDQUFpQyxFQUFFLFdBQVk7SUFDL0MseUJBQXlCLEVBQUUsV0FBWTtFQUd6QyxHQUFHLEVBQUUsR0FBRztJQUNOLGlCQUFpQixFQUFFLHdCQUFRO0lBQzNCLFNBQVMsRUFBRSx3QkFBUTtJQUNuQix3QkFBd0IsRUFBRSxRQUFTO0lBQ25DLGdCQUFnQixFQUFFLFFBQVM7SUFDM0IsaUNBQWlDLEVBQUUsV0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxXQUFZO0VBR3pDLEdBQUcsRUFBRSxHQUFHO0lBQ04saUJBQWlCLEVBQUUsd0JBQVE7SUFDM0IsU0FBUyxFQUFFLHdCQUFRO0lBQ25CLHdCQUF3QixFQUFFLFFBQVM7SUFDbkMsZ0JBQWdCLEVBQUUsUUFBUztJQUMzQixpQ0FBaUMsRUFBRSxXQUFZO0lBQy9DLHlCQUF5QixFQUFFLFdBQVk7SUFDdkMsT0FBTyxFQUFFLENBQUU7RUFHYixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0lBQ3RCLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxLQUFLO0VBQ2QsRUFBRTtJQUNBLHdCQUF3QixFQUFFLFFBQVM7SUFDbkMsZ0JBQWdCLEVBQUUsUUFBUztJQUMzQixpQ0FBaUMsRUFBRSxXQUFZO0lBQy9DLHlCQUF5QixFQUFFLFdBQVk7RUFHekMsR0FBRyxFQUFFLEdBQUc7SUFDTixpQkFBaUIsRUFBRSx3QkFBUTtJQUMzQixTQUFTLEVBQUUsd0JBQVE7SUFDbkIsd0JBQXdCLEVBQUUsUUFBUztJQUNuQyxnQkFBZ0IsRUFBRSxRQUFTO0lBQzNCLGlDQUFpQyxFQUFFLFdBQVk7SUFDL0MseUJBQXlCLEVBQUUsV0FBWTtFQUd6QyxHQUFHLEVBQUUsR0FBRztJQUNOLGlCQUFpQixFQUFFLHdCQUFRO0lBQzNCLFNBQVMsRUFBRSx3QkFBUTtJQUNuQix3QkFBd0IsRUFBRSxRQUFTO0lBQ25DLGdCQUFnQixFQUFFLFFBQVM7SUFDM0IsaUNBQWlDLEVBQUUsV0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxXQUFZO0lBQ3ZDLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVztJQUN0QixPQUFPLEVBQUUsQ0FBRTs7QUFJZixNQUFNLENBQUM7RUFDTCxzQkFBc0IsRUFBRSxLQUFNO0VBQzlCLGNBQWMsRUFBRSxLQUFNLEdBRmhCOztBQUtSLDhFQUE4RTtBQUU5RSxrQkFBa0IsQ0FBQyxNQUFNO0VBQ3ZCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHdCQUFXLENBQWMsMEJBQVE7SUFDcEQsU0FBUyxFQUFFLHdCQUFXLENBQWMsMEJBQVE7RUFHOUMsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsSUFBSztJQUN4QixTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFDLE1BQU07RUFDZixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSx3QkFBVyxDQUFjLDBCQUFRO0lBQ3BELFNBQVMsRUFBRSx3QkFBVyxDQUFjLDBCQUFRO0VBRzlDLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLElBQUs7SUFDeEIsU0FBUyxFQUFFLElBQUs7O0FBSXBCLE9BQU8sQ0FBQztFQUNOLHNCQUFzQixFQUFFLE1BQU87RUFDL0IsY0FBYyxFQUFFLE1BQU8sR0FGaEI7O0FBS1QsOEVBQThFO0FBRTlFLGtCQUFrQixDQUFDLE9BQU87RUFDeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsdUJBQVcsQ0FBYSx5QkFBUTtJQUNuRCxTQUFTLEVBQUUsdUJBQVcsQ0FBYSx5QkFBUTs7QUFJL0MsVUFBVSxDQUFDLE9BQU87RUFDaEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsdUJBQVcsQ0FBYSx5QkFBUTtJQUNuRCxTQUFTLEVBQUUsdUJBQVcsQ0FBYSx5QkFBUTs7QUFJL0MsUUFBUSxDQUFDO0VBQ1Asc0JBQXNCLEVBQUUsT0FBUTtFQUNoQyxjQUFjLEVBQUUsT0FBUSxHQUZoQjs7QUFLVixrQkFBa0IsQ0FBQyxNQUFNO0VBQ3ZCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLFNBQVMsRUFBRSxzQkFBTztFQUdwQixHQUFHO0lBQ0QsT0FBTyxFQUFFLENBQUU7O0FBSWYsVUFBVSxDQUFDLE1BQU07RUFDZixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87RUFHcEIsR0FBRztJQUNELE9BQU8sRUFBRSxDQUFFOztBQUlmLE9BQU8sQ0FBQztFQUNOLHNCQUFzQixFQUFFLE1BQU87RUFDL0IsY0FBYyxFQUFFLE1BQU8sR0FGaEI7O0FBS1Qsa0JBQWtCLENBQUMsVUFBVTtFQUMzQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxzQkFBTyxDQUFhLDBCQUFXO0lBQ2xELFNBQVMsRUFBRSxzQkFBTyxDQUFhLDBCQUFXO0lBQzFDLGlDQUFpQyxFQUFFLHNDQUFZO0lBQy9DLHlCQUF5QixFQUFFLHNDQUFZO0VBR3pDLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLDRCQUFPLENBQW1CLHVCQUFXO0lBQ3hELFNBQVMsRUFBRSw0QkFBTyxDQUFtQix1QkFBVztJQUNoRCxpQ0FBaUMsRUFBRSxtQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxtQ0FBWTs7QUFJM0MsVUFBVSxDQUFDLFVBQVU7RUFDbkIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsc0JBQU8sQ0FBYSwwQkFBVztJQUNsRCxTQUFTLEVBQUUsc0JBQU8sQ0FBYSwwQkFBVztJQUMxQyxpQ0FBaUMsRUFBRSxzQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxzQ0FBWTtFQUd6QyxHQUFHO0lBQ0QsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSw0QkFBTyxDQUFtQix1QkFBVztJQUN4RCxTQUFTLEVBQUUsNEJBQU8sQ0FBbUIsdUJBQVc7SUFDaEQsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7O0FBSTNDLFdBQVcsQ0FBQztFQUNWLHNCQUFzQixFQUFFLFVBQVc7RUFDbkMsY0FBYyxFQUFFLFVBQVcsR0FGaEI7O0FBS2Isa0JBQWtCLENBQUMsVUFBVTtFQUMzQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxzQkFBTyxDQUFhLDBCQUFXO0lBQ2xELFNBQVMsRUFBRSxzQkFBTyxDQUFhLDBCQUFXO0lBQzFDLGlDQUFpQyxFQUFFLHNDQUFZO0lBQy9DLHlCQUF5QixFQUFFLHNDQUFZO0VBR3pDLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLDRCQUFPLENBQW1CLHVCQUFXO0lBQ3hELFNBQVMsRUFBRSw0QkFBTyxDQUFtQix1QkFBVztJQUNoRCxpQ0FBaUMsRUFBRSxtQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxtQ0FBWTs7QUFJM0MsVUFBVSxDQUFDLFVBQVU7RUFDbkIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsc0JBQU8sQ0FBYSwwQkFBVztJQUNsRCxTQUFTLEVBQUUsc0JBQU8sQ0FBYSwwQkFBVztJQUMxQyxpQ0FBaUMsRUFBRSxzQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxzQ0FBWTtFQUd6QyxHQUFHO0lBQ0QsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSw0QkFBTyxDQUFtQix1QkFBVztJQUN4RCxTQUFTLEVBQUUsNEJBQU8sQ0FBbUIsdUJBQVc7SUFDaEQsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7O0FBSTNDLFdBQVcsQ0FBQztFQUNWLHNCQUFzQixFQUFFLFVBQVc7RUFDbkMsY0FBYyxFQUFFLFVBQVcsR0FGaEI7O0FBS2Isa0JBQWtCLENBQUMsV0FBVztFQUM1QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxzQkFBTyxDQUFhLHlCQUFXO0lBQ2xELFNBQVMsRUFBRSxzQkFBTyxDQUFhLHlCQUFXO0lBQzFDLGlDQUFpQyxFQUFFLHNDQUFZO0lBQy9DLHlCQUF5QixFQUFFLHNDQUFZO0VBR3pDLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLDRCQUFPLENBQW1CLHdCQUFXO0lBQ3hELFNBQVMsRUFBRSw0QkFBTyxDQUFtQix3QkFBVztJQUNoRCxpQ0FBaUMsRUFBRSxtQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxtQ0FBWTs7QUFJM0MsVUFBVSxDQUFDLFdBQVc7RUFDcEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsc0JBQU8sQ0FBYSx5QkFBVztJQUNsRCxTQUFTLEVBQUUsc0JBQU8sQ0FBYSx5QkFBVztJQUMxQyxpQ0FBaUMsRUFBRSxzQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxzQ0FBWTtFQUd6QyxHQUFHO0lBQ0QsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSw0QkFBTyxDQUFtQix3QkFBVztJQUN4RCxTQUFTLEVBQUUsNEJBQU8sQ0FBbUIsd0JBQVc7SUFDaEQsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7O0FBSTNDLFlBQVksQ0FBQztFQUNYLHNCQUFzQixFQUFFLFdBQVk7RUFDcEMsY0FBYyxFQUFFLFdBQVksR0FGaEI7O0FBS2Qsa0JBQWtCLENBQUMsUUFBUTtFQUN6QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxzQkFBTyxDQUFhLHlCQUFXO0lBQ2xELFNBQVMsRUFBRSxzQkFBTyxDQUFhLHlCQUFXO0lBQzFDLGlDQUFpQyxFQUFFLHNDQUFZO0lBQy9DLHlCQUF5QixFQUFFLHNDQUFZO0VBR3pDLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLDRCQUFPLENBQW1CLHdCQUFXO0lBQ3hELFNBQVMsRUFBRSw0QkFBTyxDQUFtQix3QkFBVztJQUNoRCxpQ0FBaUMsRUFBRSxtQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxtQ0FBWTs7QUFJM0MsVUFBVSxDQUFDLFFBQVE7RUFDakIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsc0JBQU8sQ0FBYSx5QkFBVztJQUNsRCxTQUFTLEVBQUUsc0JBQU8sQ0FBYSx5QkFBVztJQUMxQyxpQ0FBaUMsRUFBRSxzQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxzQ0FBWTtFQUd6QyxHQUFHO0lBQ0QsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSw0QkFBTyxDQUFtQix3QkFBVztJQUN4RCxTQUFTLEVBQUUsNEJBQU8sQ0FBbUIsd0JBQVc7SUFDaEQsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7O0FBSTNDLFNBQVMsQ0FBQztFQUNSLHNCQUFzQixFQUFFLFFBQVM7RUFDakMsY0FBYyxFQUFFLFFBQVMsR0FGaEI7O0FBS1gsa0JBQWtCLENBQUMsT0FBTztFQUN4QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixHQUFHO0lBQ0QsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxzQkFBTztJQUMxQixTQUFTLEVBQUUsc0JBQU87RUFHcEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxPQUFPO0VBQ2hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtFQUdiLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLFNBQVMsRUFBRSxzQkFBTztFQUdwQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7O0FBSWYsUUFBUSxDQUFDO0VBQ1Asc0JBQXNCLEVBQUUsT0FBUTtFQUNoQyxjQUFjLEVBQUUsT0FBUSxHQUZoQjs7QUFLVixrQkFBa0IsQ0FBQyxXQUFXO0VBQzVCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLDRCQUFPLENBQW1CLHdCQUFXO0lBQ3hELFNBQVMsRUFBRSw0QkFBTyxDQUFtQix3QkFBVztJQUNoRCxpQ0FBaUMsRUFBRSxzQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxzQ0FBWTtFQUd6QyxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxzQkFBTyxDQUFhLHlCQUFXO0lBQ2xELFNBQVMsRUFBRSxzQkFBTyxDQUFhLHlCQUFXO0lBQzFDLHdCQUF3QixFQUFFLGFBQWM7SUFDeEMsZ0JBQWdCLEVBQUUsYUFBYztJQUNoQyxpQ0FBaUMsRUFBRSxtQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxtQ0FBWTs7QUFJM0MsVUFBVSxDQUFDLFdBQVc7RUFDcEIsR0FBRztJQUNELE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsNEJBQU8sQ0FBbUIsd0JBQVc7SUFDeEQsU0FBUyxFQUFFLDRCQUFPLENBQW1CLHdCQUFXO0lBQ2hELGlDQUFpQyxFQUFFLHNDQUFZO0lBQy9DLHlCQUF5QixFQUFFLHNDQUFZO0VBR3pDLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLHNCQUFPLENBQWEseUJBQVc7SUFDbEQsU0FBUyxFQUFFLHNCQUFPLENBQWEseUJBQVc7SUFDMUMsd0JBQXdCLEVBQUUsYUFBYztJQUN4QyxnQkFBZ0IsRUFBRSxhQUFjO0lBQ2hDLGlDQUFpQyxFQUFFLG1DQUFZO0lBQy9DLHlCQUF5QixFQUFFLG1DQUFZOztBQUkzQyxZQUFZLENBQUM7RUFDWCxzQkFBc0IsRUFBRSxXQUFZO0VBQ3BDLGNBQWMsRUFBRSxXQUFZLEdBRmhCOztBQUtkLGtCQUFrQixDQUFDLFdBQVc7RUFDNUIsR0FBRztJQUNELE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsNEJBQU8sQ0FBbUIsdUJBQVc7SUFDeEQsU0FBUyxFQUFFLDRCQUFPLENBQW1CLHVCQUFXO0VBR2xELElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLFVBQUssQ0FBSywwQkFBVztJQUN4QyxTQUFTLEVBQUUsVUFBSyxDQUFLLDBCQUFXO0lBQ2hDLHdCQUF3QixFQUFFLFdBQVk7SUFDdEMsZ0JBQWdCLEVBQUUsV0FBWTs7QUFJbEMsVUFBVSxDQUFDLFdBQVc7RUFDcEIsR0FBRztJQUNELE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsNEJBQU8sQ0FBbUIsdUJBQVc7SUFDeEQsU0FBUyxFQUFFLDRCQUFPLENBQW1CLHVCQUFXO0VBR2xELElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLFVBQUssQ0FBSywwQkFBVztJQUN4QyxTQUFTLEVBQUUsVUFBSyxDQUFLLDBCQUFXO0lBQ2hDLHdCQUF3QixFQUFFLFdBQVk7SUFDdEMsZ0JBQWdCLEVBQUUsV0FBWTs7QUFJbEMsWUFBWSxDQUFDO0VBQ1gsc0JBQXNCLEVBQUUsV0FBWTtFQUNwQyxjQUFjLEVBQUUsV0FBWSxHQUZoQjs7QUFLZCxrQkFBa0IsQ0FBQyxZQUFZO0VBQzdCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLDRCQUFPLENBQW1CLHdCQUFXO0lBQ3hELFNBQVMsRUFBRSw0QkFBTyxDQUFtQix3QkFBVztFQUdsRCxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxVQUFLLENBQUsseUJBQVc7SUFDeEMsU0FBUyxFQUFFLFVBQUssQ0FBSyx5QkFBVztJQUNoQyx3QkFBd0IsRUFBRSxZQUFhO0lBQ3ZDLGdCQUFnQixFQUFFLFlBQWE7O0FBSW5DLFVBQVUsQ0FBQyxZQUFZO0VBQ3JCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLDRCQUFPLENBQW1CLHdCQUFXO0lBQ3hELFNBQVMsRUFBRSw0QkFBTyxDQUFtQix3QkFBVztFQUdsRCxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxVQUFLLENBQUsseUJBQVc7SUFDeEMsU0FBUyxFQUFFLFVBQUssQ0FBSyx5QkFBVztJQUNoQyx3QkFBd0IsRUFBRSxZQUFhO0lBQ3ZDLGdCQUFnQixFQUFFLFlBQWE7O0FBSW5DLGFBQWEsQ0FBQztFQUNaLHNCQUFzQixFQUFFLFlBQWE7RUFDckMsY0FBYyxFQUFFLFlBQWEsR0FGaEI7O0FBS2Ysa0JBQWtCLENBQUMsU0FBUztFQUMxQixHQUFHO0lBQ0QsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSw0QkFBTyxDQUFtQix1QkFBVztJQUN4RCxTQUFTLEVBQUUsNEJBQU8sQ0FBbUIsdUJBQVc7SUFDaEQsaUNBQWlDLEVBQUUsc0NBQVk7SUFDL0MseUJBQXlCLEVBQUUsc0NBQVk7RUFHekMsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsaUJBQWlCLEVBQUUsc0JBQU8sQ0FBYSwwQkFBVztJQUNsRCxTQUFTLEVBQUUsc0JBQU8sQ0FBYSwwQkFBVztJQUMxQyx3QkFBd0IsRUFBRSxhQUFjO0lBQ3hDLGdCQUFnQixFQUFFLGFBQWM7SUFDaEMsaUNBQWlDLEVBQUUsbUNBQVk7SUFDL0MseUJBQXlCLEVBQUUsbUNBQVk7O0FBSTNDLFVBQVUsQ0FBQyxTQUFTO0VBQ2xCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTtJQUNYLGlCQUFpQixFQUFFLDRCQUFPLENBQW1CLHVCQUFXO0lBQ3hELFNBQVMsRUFBRSw0QkFBTyxDQUFtQix1QkFBVztJQUNoRCxpQ0FBaUMsRUFBRSxzQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxzQ0FBWTtFQUd6QyxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxpQkFBaUIsRUFBRSxzQkFBTyxDQUFhLDBCQUFXO0lBQ2xELFNBQVMsRUFBRSxzQkFBTyxDQUFhLDBCQUFXO0lBQzFDLHdCQUF3QixFQUFFLGFBQWM7SUFDeEMsZ0JBQWdCLEVBQUUsYUFBYztJQUNoQyxpQ0FBaUMsRUFBRSxtQ0FBWTtJQUMvQyx5QkFBeUIsRUFBRSxtQ0FBWTs7QUFJM0MsVUFBVSxDQUFDO0VBQ1Qsc0JBQXNCLEVBQUUsU0FBVTtFQUNsQyxjQUFjLEVBQUUsU0FBVSxHQUZoQjs7QUFLWixrQkFBa0IsQ0FBQyxXQUFXO0VBQzVCLElBQUk7SUFDRixpQkFBaUIsRUFBRSx3QkFBVztJQUM5QixTQUFTLEVBQUUsd0JBQVc7SUFDdEIsVUFBVSxFQUFFLE9BQVE7RUFHdEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLG9CQUFXO0lBQzlCLFNBQVMsRUFBRSxvQkFBVzs7QUFJMUIsVUFBVSxDQUFDLFdBQVc7RUFDcEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVztJQUN0QixVQUFVLEVBQUUsT0FBUTtFQUd0QixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsb0JBQVc7SUFDOUIsU0FBUyxFQUFFLG9CQUFXOztBQUkxQixZQUFZLENBQUM7RUFDWCxzQkFBc0IsRUFBRSxXQUFZO0VBQ3BDLGNBQWMsRUFBRSxXQUFZLEdBRmhCOztBQUtkLGtCQUFrQixDQUFDLFdBQVc7RUFDNUIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVztJQUN0QixVQUFVLEVBQUUsT0FBUTtFQUd0QixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsb0JBQVc7SUFDOUIsU0FBUyxFQUFFLG9CQUFXOztBQUkxQixVQUFVLENBQUMsV0FBVztFQUNwQixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXO0lBQ3RCLFVBQVUsRUFBRSxPQUFRO0VBR3RCLElBQUk7SUFDRixpQkFBaUIsRUFBRSxvQkFBVztJQUM5QixTQUFTLEVBQUUsb0JBQVc7O0FBSTFCLFlBQVksQ0FBQztFQUNYLHNCQUFzQixFQUFFLFdBQVk7RUFDcEMsY0FBYyxFQUFFLFdBQVksR0FGaEI7O0FBS2Qsa0JBQWtCLENBQUMsWUFBWTtFQUM3QixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXO0lBQ3RCLFVBQVUsRUFBRSxPQUFRO0VBR3RCLElBQUk7SUFDRixpQkFBaUIsRUFBRSxvQkFBVztJQUM5QixTQUFTLEVBQUUsb0JBQVc7O0FBSTFCLFVBQVUsQ0FBQyxZQUFZO0VBQ3JCLElBQUk7SUFDRixpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7SUFDdEIsVUFBVSxFQUFFLE9BQVE7RUFHdEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLG9CQUFXO0lBQzlCLFNBQVMsRUFBRSxvQkFBVzs7QUFJMUIsYUFBYSxDQUFDO0VBQ1osc0JBQXNCLEVBQUUsWUFBYTtFQUNyQyxjQUFjLEVBQUUsWUFBYSxHQUZoQjs7QUFLZixrQkFBa0IsQ0FBQyxTQUFTO0VBQzFCLElBQUk7SUFDRixpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7SUFDdEIsVUFBVSxFQUFFLE9BQVE7RUFHdEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLG9CQUFXO0lBQzlCLFNBQVMsRUFBRSxvQkFBVzs7QUFJMUIsVUFBVSxDQUFDLFNBQVM7RUFDbEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLHVCQUFXO0lBQzlCLFNBQVMsRUFBRSx1QkFBVztJQUN0QixVQUFVLEVBQUUsT0FBUTtFQUd0QixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsb0JBQVc7SUFDOUIsU0FBUyxFQUFFLG9CQUFXOztBQUkxQixVQUFVLENBQUM7RUFDVCxzQkFBc0IsRUFBRSxTQUFVO0VBQ2xDLGNBQWMsRUFBRSxTQUFVLEdBRmhCOztBQUtaLGtCQUFrQixDQUFDLFlBQVk7RUFDN0IsSUFBSTtJQUNGLGlCQUFpQixFQUFFLG9CQUFXO0lBQzlCLFNBQVMsRUFBRSxvQkFBVztFQUd4QixJQUFJO0lBQ0YsVUFBVSxFQUFFLE1BQU87SUFDbkIsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXOztBQUkxQixVQUFVLENBQUMsWUFBWTtFQUNyQixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsb0JBQVc7SUFDOUIsU0FBUyxFQUFFLG9CQUFXO0VBR3hCLElBQUk7SUFDRixVQUFVLEVBQUUsTUFBTztJQUNuQixpQkFBaUIsRUFBRSx1QkFBVztJQUM5QixTQUFTLEVBQUUsdUJBQVc7O0FBSTFCLGFBQWEsQ0FBQztFQUNaLHNCQUFzQixFQUFFLFlBQWE7RUFDckMsY0FBYyxFQUFFLFlBQWEsR0FGaEI7O0FBS2Ysa0JBQWtCLENBQUMsWUFBWTtFQUM3QixJQUFJO0lBQ0YsaUJBQWlCLEVBQUUsb0JBQVc7SUFDOUIsU0FBUyxFQUFFLG9CQUFXO0VBR3hCLElBQUk7SUFDRixVQUFVLEVBQUUsTUFBTztJQUNuQixpQkFBaUIsRUFBRSx3QkFBVztJQUM5QixTQUFTLEVBQUUsd0JBQVc7O0FBSTFCLFVBQVUsQ0FBQyxZQUFZO0VBQ3JCLElBQUk7SUFDRixpQkFBaUIsRUFBRSxvQkFBVztJQUM5QixTQUFTLEVBQUUsb0JBQVc7RUFHeEIsSUFBSTtJQUNGLFVBQVUsRUFBRSxNQUFPO0lBQ25CLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVzs7QUFJMUIsYUFBYSxDQUFDO0VBQ1osc0JBQXNCLEVBQUUsWUFBYTtFQUNyQyxjQUFjLEVBQUUsWUFBYSxHQUZoQjs7QUFLZixrQkFBa0IsQ0FBQyxhQUFhO0VBQzlCLElBQUk7SUFDRixpQkFBaUIsRUFBRSxvQkFBVztJQUM5QixTQUFTLEVBQUUsb0JBQVc7RUFHeEIsSUFBSTtJQUNGLFVBQVUsRUFBRSxNQUFPO0lBQ25CLGlCQUFpQixFQUFFLHVCQUFXO0lBQzlCLFNBQVMsRUFBRSx1QkFBVzs7QUFJMUIsVUFBVSxDQUFDLGFBQWE7RUFDdEIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLG9CQUFXO0lBQzlCLFNBQVMsRUFBRSxvQkFBVztFQUd4QixJQUFJO0lBQ0YsVUFBVSxFQUFFLE1BQU87SUFDbkIsaUJBQWlCLEVBQUUsdUJBQVc7SUFDOUIsU0FBUyxFQUFFLHVCQUFXOztBQUkxQixjQUFjLENBQUM7RUFDYixzQkFBc0IsRUFBRSxhQUFjO0VBQ3RDLGNBQWMsRUFBRSxhQUFjLEdBRmhCOztBQUtoQixrQkFBa0IsQ0FBQyxVQUFVO0VBQzNCLElBQUk7SUFDRixpQkFBaUIsRUFBRSxvQkFBVztJQUM5QixTQUFTLEVBQUUsb0JBQVc7RUFHeEIsSUFBSTtJQUNGLFVBQVUsRUFBRSxNQUFPO0lBQ25CLGlCQUFpQixFQUFFLHdCQUFXO0lBQzlCLFNBQVMsRUFBRSx3QkFBVzs7QUFJMUIsVUFBVSxDQUFDLFVBQVU7RUFDbkIsSUFBSTtJQUNGLGlCQUFpQixFQUFFLG9CQUFXO0lBQzlCLFNBQVMsRUFBRSxvQkFBVztFQUd4QixJQUFJO0lBQ0YsVUFBVSxFQUFFLE1BQU87SUFDbkIsaUJBQWlCLEVBQUUsd0JBQVc7SUFDOUIsU0FBUyxFQUFFLHdCQUFXOztBQUkxQixXQUFXLENBQUM7RUFDVixzQkFBc0IsRUFBRSxVQUFXO0VBQ25DLGNBQWMsRUFBRSxVQUFXLEdBRmhCIiwiZmlsZSI6InZlbmRvci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBOb3JtYWxpemUuc2NzcyBzZXR0aW5nc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKipcclxuICogSW5jbHVkZXMgbGVnYWN5IGJyb3dzZXIgc3VwcG9ydCBJRTYvN1xyXG4gKlxyXG4gKiBTZXQgdG8gZmFsc2UgaWYgeW91IHdhbnQgdG8gZHJvcCBzdXBwb3J0IGZvciBJRTYgYW5kIElFN1xyXG4gKi9cclxuXHJcbiRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0OiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8qIEJhc2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxyXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcclxuICogIHVzZXIgem9vbS5cclxuICogMy4gQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xyXG4gKiAgYGVtYCB1bml0cy5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcclxuICAgICpmb250LXNpemU6IDEwMCU7IC8qIDMgKi9cclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcclxuICogYW5kIEZpcmVmb3guXHJcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXHJcbiAqL1xyXG5cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmRldGFpbHMsXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWFpbixcclxubWVudSxcclxubmF2LFxyXG5zZWN0aW9uLFxyXG5zdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXHJcbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5hdWRpbyxcclxuY2FudmFzLFxyXG5wcm9ncmVzcyxcclxudmlkZW8ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xyXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XHJcbiAgICAqZGlzcGxheTogaW5saW5lO1xyXG4gICAgKnpvb206IDE7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXHJcbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXHJcbiAqL1xyXG5cclxuYXVkaW86bm90KFtjb250cm9sc10pIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGhlaWdodDogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cclxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxyXG4gKi9cclxuXHJcbltoaWRkZW5dLFxyXG50ZW1wbGF0ZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogTGlua3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmEge1xyXG4gICY6YWN0aXZlLCAmOmhvdmVyIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfTtcclxufVxyXG5cclxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuYixcclxuc3Ryb25nIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcclxuICBibG9ja3F1b3RlIHtcclxuICAgIG1hcmdpbjogMWVtIDQwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmRmbiB7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxyXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuaDEge1xyXG4gIGZvbnQtc2l6ZTogMmVtO1xyXG4gIG1hcmdpbjogMC42N2VtIDA7XHJcbn1cclxuXHJcbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XHJcbiAgaDIge1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIG1hcmdpbjogMC44M2VtIDA7XHJcbiAgfVxyXG5cclxuICBoMyB7XHJcbiAgICBmb250LXNpemU6IDEuMTdlbTtcclxuICAgIG1hcmdpbjogMWVtIDA7XHJcbiAgfVxyXG5cclxuICBoNCB7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIG1hcmdpbjogMS4zM2VtIDA7XHJcbiAgfVxyXG5cclxuICBoNSB7XHJcbiAgICBmb250LXNpemU6IDAuODNlbTtcclxuICAgIG1hcmdpbjogMS42N2VtIDA7XHJcbiAgfVxyXG5cclxuICBoNiB7XHJcbiAgICBmb250LXNpemU6IDAuNjdlbTtcclxuICAgIG1hcmdpbjogMi4zM2VtIDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxyXG4gKi9cclxuXHJcbm1hcmsge1xyXG4gIGJhY2tncm91bmQ6ICNmZjA7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3NlcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXHJcbiAgICovXHJcblxyXG4gIHAsXHJcbiAgcHJlIHtcclxuICAgICptYXJnaW46IDFlbSAwO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBBZGRyZXNzZXMgQ1NTIHF1b3RlcyBub3Qgc3VwcG9ydGVkIGluIElFIDYvNy5cclxuICAgKi9cclxuXHJcbiAgcSB7XHJcbiAgICAqcXVvdGVzOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBBZGRyZXNzZXMgYHF1b3Rlc2AgcHJvcGVydHkgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkgNC5cclxuICAgKi9cclxuXHJcbiAgcTpiZWZvcmUsXHJcbiAgcTphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbi8vVXBkYXRlZCB3aGlsZSB3b3JraW5nIG9uIGNvbXBhcmUgcGFnZVxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxuICBmb250LXNpemU6IDcwJTtcclxuICBsaW5lLWhlaWdodDogMi44O1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbnN1YiB7XHJcbiAgYm90dG9tOiAtMC4yNWVtO1xyXG59XHJcblxyXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xyXG5cclxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIExpc3RzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLypcclxuICAgKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxyXG4gICAqL1xyXG5cclxuICBkbCxcclxuICBtZW51LFxyXG4gIG9sLFxyXG4gIHVsIHtcclxuICAgICptYXJnaW46IDFlbSAwO1xyXG4gIH1cclxuXHJcbiAgZGQge1xyXG4gICAgKm1hcmdpbjogMCAwIDAgNDBweDtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogQWRkcmVzc2VzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXHJcbiAgICovXHJcblxyXG4gIG1lbnUsXHJcbiAgb2wsXHJcbiAgdWwge1xyXG4gICAgKnBhZGRpbmc6IDAgMCAwIDQwcHg7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIENvcnJlY3RzIGxpc3QgaW1hZ2VzIGhhbmRsZWQgaW5jb3JyZWN0bHkgaW4gSUUgNy5cclxuICAgKi9cclxuXHJcbiAgbmF2IHVsLFxyXG4gIG5hdiBvbCB7XHJcbiAgICAqbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICpsaXN0LXN0eWxlLWltYWdlOiBub25lO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XHJcbiAgICAqLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxyXG4gKi9cclxuXHJcbnN2Zzpub3QoOnJvb3QpIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDFlbSA0MHB4O1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGhlaWdodDogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnByZSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIENvcnJlY3QgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIElFIDYsIFNhZmFyaSA0LzUsIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5wcmUsXHJcbnNhbXAge1xyXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcclxuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xyXG4gICAgX2ZvbnQtZmFtaWx5OiAnY291cmllciBuZXcnLCBtb25vc3BhY2U7XHJcbiAgfVxyXG4gIGZvbnQtc2l6ZTogMWVtO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXHJcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cclxuICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4gKiAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXHJcbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXHJcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG4gIG1hcmdpbjogMDsgLyogMyAqL1xyXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDMgKi9cclxuICAgICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAzICovXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xyXG5cclxuYnV0dG9uIHtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cclxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cclxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cclxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXHJcbiAqICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gKiAgYGlucHV0YCBhbmQgb3RoZXJzLlxyXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXHJcbiAqICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xyXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XHJcbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7ICAvKiA0ICovXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICovXHJcblxyXG5idXR0b25bZGlzYWJsZWRdLFxyXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIGJvcmRlcjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxyXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cclxuICovXHJcblxyXG5pbnB1dCB7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXHJcbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXHJcbiAqICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XHJcbiAgICAqaGVpZ2h0OiAxM3B4OyAvKiAzICovXHJcbiAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxyXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxyXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXHJcbiAqL1xyXG5cclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcclxuICogIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cclxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xyXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXHJcbiAqL1xyXG5cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xyXG4gIG1hcmdpbjogMCAycHg7XHJcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxyXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXHJcbiAqIDMuIENvcnJlY3RzIHRleHQgbm90IHdyYXBwaW5nIGluIEZpcmVmb3ggMy5cclxuICogNC4gQ29ycmVjdHMgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICBib3JkZXI6IDA7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDMgKi9cclxuICAgICptYXJnaW4tbGVmdDogLTdweDsgLyogNCAqL1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxyXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cclxuICovXHJcblxyXG5vcHRncm91cCB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIFRhYmxlc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cclxuICovXHJcblxyXG50YWJsZSB7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG5cclxudGQsXHJcbnRoIHtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcbiIsIi8qKlxyXG5UaGlzIGZpbGUgaXMgYSBkdXBsaWNhdGUgb2YgdGhlIGNvcmUgYm9vdHN0cmFwIHZhcmlhYmxlcyBmaWxlLlxyXG5JdCBpcyBjdXN0b21pemVkIGZvciBvdXIgcHJvamVjdCwgYW5kIHVzZWQgaW4gcGxhY2Ugb2YgY29yZSB2YXJpYWJsZXMuXHJcblRoaXMgaXMgZG9uZSBzbyB0aGF0IGN1c3RvbWl6YXRpb25zIGFyZSBub3Qgb3ZlcnJpZGVuIGlmIGJvd2VyIGNvbXBvbmVudHMgYXJlIHVkcGRhdGVkLlxyXG4qKi9cclxuXHJcbiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4vL1xyXG4vLyBWYXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vPT0gQ29sb3JzXHJcbi8vXHJcbi8vIyMgR3JheSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cclxuXHJcbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xyXG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAxMy41JSkgIWRlZmF1bHQ7IC8vICMyMjJcclxuJGdyYXktZGFyazogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMjAlKSAhZGVmYXVsdDsgICAvLyAjMDAwXHJcbiRncmF5OiAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKSAhZGVmYXVsdDsgLy8gIzU1NVxyXG4kZ3JheS1saWdodDogICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA0Ni43JSkgIWRlZmF1bHQ7IC8vICM3NzdcclxuJGdyYXktbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0OyAvLyAjZWVlXHJcblxyXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICBkYXJrZW4oIzQyOGJjYSwgNi41JSkgIWRlZmF1bHQ7IC8vICMzMzdhYjdcclxuJGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgIzVjYjg1YyAhZGVmYXVsdDtcclxuJGJyYW5kLWluZm86ICAgICAgICAgICAgIzViYzBkZSAhZGVmYXVsdDtcclxuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcclxuJGJyYW5kLWRhbmdlcjogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcclxuXHJcbi8vPT0gU2NhZmZvbGRpbmdcclxuLy9cclxuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cclxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktYmFzZSAhZGVmYXVsdDtcclxuXHJcbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cclxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XHJcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXHJcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcclxuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXHJcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IFR5cG9ncmFwaHlcclxuLy9cclxuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cclxuXHJcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJCcm93bi1Qcm8tUmVndWxhclwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1zZXJpZjogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xyXG4vLyoqIERlZmF1bHQgbW9ub3NwYWNlIGZvbnRzIGZvciBgPGNvZGU+YCwgYDxrYmQ+YCwgYW5kIGA8cHJlPmAuXHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgIFwiSGVsdmV0aWNhXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcclxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XHJcblxyXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjYpKSAhZGVmYXVsdDsgLy8gfjM2cHhcclxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkpICFkZWZhdWx0OyAvLyB+MzBweFxyXG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxyXG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcclxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxyXG5cclxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxyXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxyXG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxyXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpICFkZWZhdWx0OyAvLyB+MjBweFxyXG5cclxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxyXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMCAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjEgIWRlZmF1bHQ7XHJcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IEljb25vZ3JhcGh5XHJcbi8vXHJcbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cclxuXHJcbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxyXG5cclxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXHJcbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXHJcbiRpY29uLWZvbnQtcGF0aDogaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgXCJib290c3RyYXAvXCIsIFwiL2Fzc2V0L2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXHJcbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XHJcbi8vKiogRWxlbWVudCBJRCB3aXRoaW4gU1ZHIGljb24gZmlsZS5cclxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gQ29tcG9uZW50c1xyXG4vL1xyXG4vLyMjIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS4gVmFsdWVzIGJhc2VkIG9uIDE0cHggdGV4dCBhbmQgMS40MjggbGluZS1oZWlnaHQgKH4yMHB4IHRvIHN0YXJ0KS5cclxuXHJcbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHggIWRlZmF1bHQ7XHJcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAxMnB4ICFkZWZhdWx0O1xyXG5cclxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHggIWRlZmF1bHQ7XHJcbiRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6ICAxNnB4ICFkZWZhdWx0O1xyXG5cclxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweCAhZGVmYXVsdDtcclxuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHggIWRlZmF1bHQ7XHJcblxyXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4ICFkZWZhdWx0O1xyXG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgNXB4ICFkZWZhdWx0O1xyXG5cclxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMzMzMzMyAhZGVmYXVsdDsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXHJcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcblxyXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4ICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgNnB4ICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgM3B4ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxyXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcclxuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXHJcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcclxuXHJcbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRvciBkcm9wZG93bnMuXHJcbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XHJcbi8vKiogQ2FyZXRzIGluY3JlYXNlIHNsaWdodGx5IGluIHNpemUgZm9yIGxhcmdlciBjb21wb25lbnRzLlxyXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gVGFibGVzXHJcbi8vXHJcbi8vIyMgQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxyXG5cclxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxyXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcclxuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXHJcbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cclxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtc3RyaXBlZGAuXHJcbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxyXG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XHJcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xyXG5cclxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRhYmxlIGFuZCBjZWxsIGJvcmRlcnMuXHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IEJ1dHRvbnNcclxuLy9cclxuLy8jIyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxyXG5cclxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcclxuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcclxuXHJcbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xyXG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcclxuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XHJcbiRidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnRuLWluZm8tYmcsIDUlKSAhZGVmYXVsdDtcclxuXHJcbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xyXG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xyXG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcclxuXHJcbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gRm9ybXNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBgPGlucHV0PmAgYmFja2dyb3VuZCBjb2xvclxyXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcclxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XHJcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxyXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xyXG5cclxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXHJcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxyXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xyXG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXHJcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xyXG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXHJcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xyXG5cclxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAjNjZhZmU5ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXHJcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICM5OTkgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxyXG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xyXG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcclxuJGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgICAgICAgKGNlaWwoJGZvbnQtc2l6ZS1sYXJnZSAqICRsaW5lLWhlaWdodC1sYXJnZSkgKyAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xyXG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcclxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcclxuXHJcbi8vKiogYC5mb3JtLWdyb3VwYCBtYXJnaW5cclxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcclxuXHJcbiRsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XHJcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXHJcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xyXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xyXG5cclxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXHJcbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gRHJvcGRvd25zXHJcbi8vXHJcbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cclxuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgLlxyXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XHJcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cclxuJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjogICAgICAgI2NjYyAhZGVmYXVsdDtcclxuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxyXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXHJcbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XHJcbi8vKiogSG92ZXIgY29sb3IgZm9yIGRyb3Bkb3duIGxpbmtzLlxyXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xyXG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxyXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXHJcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xyXG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cclxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcclxuXHJcbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXHJcbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxyXG4kZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxyXG4vL1xyXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcclxuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxyXG4vL1xyXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cclxuXHJcbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXHJcbi8vXHJcbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cclxuXHJcbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXHJcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgMzIwcHggIWRlZmF1bHQ7XHJcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxyXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XHJcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XHJcblxyXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcclxuJHNjcmVlbi1zbS1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXNtICFkZWZhdWx0O1xyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcclxuXHJcbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXHJcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgOTkycHggIWRlZmF1bHQ7XHJcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLWRlc2t0b3A6ICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xyXG5cclxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXHJcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTI2MHB4ICFkZWZhdWx0O1xyXG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XHJcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcclxuXHJcbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxyXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xyXG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xyXG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gR3JpZCBzeXN0ZW1cclxuLy9cclxuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxyXG5cclxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cclxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xyXG4vLyoqIFBhZGRpbmcgYmV0d2VlbiBjb2x1bW5zLiBHZXRzIGRpdmlkZWQgaW4gaGFsZiBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0LlxyXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMjBweCAhZGVmYXVsdDtcclxuLy8gTmF2YmFyIGNvbGxhcHNlXHJcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWNvbWVzIHVuY29sbGFwc2VkLlxyXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XHJcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cclxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBDb250YWluZXIgc2l6ZXNcclxuLy9cclxuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxyXG5cclxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XHJcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xyXG4vLyoqIEZvciBgJHNjcmVlbi1zbS1taW5gIGFuZCB1cC5cclxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xyXG5cclxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcclxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XHJcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxyXG4kY29udGFpbmVyLW1kOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1kZXNrdG9wICFkZWZhdWx0O1xyXG5cclxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXHJcbiRjb250YWluZXItbGFyZ2UtZGVza3RvcDogICAgICAoMTIyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcclxuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXHJcbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBOYXZiYXJcclxuLy9cclxuLy8jI1xyXG5cclxuLy8gQmFzaWNzIG9mIGEgbmF2YmFyXHJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcclxuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQgIWRlZmF1bHQ7XHJcbiRuYXZiYXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcclxuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xyXG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMikgIWRlZmF1bHQ7XHJcbiRuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDogICAgICAgMzQwcHggIWRlZmF1bHQ7XHJcblxyXG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgI2Y4ZjhmOCAhZGVmYXVsdDtcclxuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcclxuXHJcbi8vIE5hdmJhciBsaW5rc1xyXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcclxuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcclxuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbi8vIE5hdmJhciBicmFuZCBsYWJlbFxyXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyBOYXZiYXIgdG9nZ2xlXHJcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcclxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gSW52ZXJ0ZWQgbmF2YmFyXHJcbi8vIFJlc2V0IGludmVydGVkIG5hdmJhciBiYXNpY3NcclxuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XHJcbiRuYXZiYXItaW52ZXJzZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcclxuXHJcbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xyXG4kbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XHJcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcclxuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQgIWRlZmF1bHQ7XHJcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcclxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvciAhZGVmYXVsdDtcclxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxyXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XHJcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMDAwICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gTmF2c1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xyXG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcclxuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xyXG5cclxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcclxuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcclxuXHJcbi8vPT0gVGFic1xyXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XHJcblxyXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcblxyXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICNkZGQgIWRlZmF1bHQ7XHJcblxyXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XHJcblxyXG4vLz09IFBpbGxzXHJcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcclxuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IFBhZ2luYXRpb25cclxuLy9cclxuLy8jI1xyXG5cclxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gUGFnZXJcclxuLy9cclxuLy8jI1xyXG5cclxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XHJcbiRwYWdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJvcmRlciAhZGVmYXVsdDtcclxuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcclxuXHJcbiRwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnICFkZWZhdWx0O1xyXG5cclxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xyXG4kcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IEp1bWJvdHJvblxyXG4vL1xyXG4vLyMjXHJcblxyXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xyXG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xyXG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xyXG4kanVtYm90cm9uLWhlYWRpbmctY29sb3I6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xyXG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcclxuLy9cclxuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cclxuXHJcbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XHJcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDggIWRlZmF1bHQ7XHJcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XHJcblxyXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xyXG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xyXG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xyXG5cclxuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgIzhhNmQzYiAhZGVmYXVsdDtcclxuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcclxuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcclxuXHJcbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XHJcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XHJcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IFRvb2x0aXBzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XHJcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXHJcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXHJcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcclxuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXHJcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gUG9wb3ZlcnNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxyXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXHJcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XHJcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcclxuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxyXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxyXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xyXG5cclxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXHJcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcclxuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXHJcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcclxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXHJcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZV9pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpICFkZWZhdWx0O1xyXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gTGFiZWxzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xyXG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcclxuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XHJcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xyXG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcclxuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xyXG5cclxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcclxuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IE1vZGFsc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxyXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXHJcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XHJcbi8vKiogTW9kYWwgdGl0bGUgbGluZS1oZWlnaHRcclxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXHJcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxyXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xyXG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXHJcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OSAhZGVmYXVsdDtcclxuXHJcbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxyXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xyXG4vLyoqIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcclxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XHJcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxyXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1ICFkZWZhdWx0O1xyXG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcclxuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XHJcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gQWxlcnRzXHJcbi8vXHJcbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXHJcblxyXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xyXG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xyXG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xyXG5cclxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XHJcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XHJcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcclxuXHJcbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xyXG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xyXG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XHJcblxyXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcclxuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcclxuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xyXG5cclxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcclxuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xyXG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IFByb2dyZXNzIGJhcnNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcclxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcclxuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxyXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4vLyoqIFZhcmlhYmxlIGZvciBzZXR0aW5nIHJvdW5kZWQgY29ybmVycyBvbiBwcm9ncmVzcyBiYXIuXHJcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIERlZmF1bHQgcHJvZ3Jlc3MgYmFyIGNvbG9yXHJcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xyXG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXHJcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xyXG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXHJcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xyXG4vLyoqIERhbmdlciBwcm9ncmVzcyBiYXIgY29sb3JcclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcclxuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxyXG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IExpc3QgZ3JvdXBcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxyXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbi8vKiogYC5saXN0LWdyb3VwLWl0ZW1gIGJvcmRlciBjb2xvclxyXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XHJcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXHJcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcclxuXHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XHJcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xyXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xyXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcclxuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcclxuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XHJcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcclxuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcclxuXHJcbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXHJcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xyXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xyXG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcclxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMDAwICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gUGFuZWxzXHJcbi8vXHJcbi8vIyNcclxuXHJcbiRwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XHJcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcclxuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgJHBhbmVsLWhlYWRpbmctcGFkZGluZyAhZGVmYXVsdDtcclxuJHBhbmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcclxuXHJcbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXHJcbiRwYW5lbC1pbm5lci1ib3JkZXI6ICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XHJcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XHJcblxyXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xyXG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZGRkICFkZWZhdWx0O1xyXG4kcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiAgICAjZjVmNWY1ICFkZWZhdWx0O1xyXG5cclxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XHJcbiRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xyXG5cclxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcclxuJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xyXG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcclxuXHJcbiRwYW5lbC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XHJcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcclxuJHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XHJcblxyXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xyXG4kcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XHJcbiRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc6ICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xyXG5cclxuJHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xyXG4kcGFuZWwtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcclxuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IFRodW1ibmFpbHNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXHJcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweCAhZGVmYXVsdDtcclxuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxyXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcclxuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXHJcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XHJcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcclxuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcclxuXHJcbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xyXG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcclxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cclxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gV2VsbHNcclxuLy9cclxuLy8jI1xyXG5cclxuJHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcclxuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBCYWRnZXNcclxuLy9cclxuLy8jI1xyXG5cclxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuLy8qKiBMaW5rZWQgYmFkZ2UgdGV4dCBjb2xvciBvbiBob3ZlclxyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xyXG4kYmFkZ2UtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcclxuXHJcbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcclxuJGJhZGdlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XHJcbi8vKiogQmFkZ2UgYmFja2dyb3VuZCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcclxuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuXHJcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XHJcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XHJcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBCcmVhZGNydW1ic1xyXG4vL1xyXG4vLyMjXHJcblxyXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIDhweCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xyXG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XHJcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXHJcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcclxuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xyXG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcclxuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IENhcm91c2VsXHJcbi8vXHJcbi8vIyNcclxuXHJcbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XHJcblxyXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcclxuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xyXG4kY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcclxuXHJcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuXHJcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gQ2xvc2VcclxuLy9cclxuLy8jI1xyXG5cclxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcclxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcclxuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gQ29kZVxyXG4vL1xyXG4vLyMjXHJcblxyXG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYzcyNTRlICFkZWZhdWx0O1xyXG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xyXG5cclxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcclxuXHJcbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XHJcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XHJcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XHJcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gVHlwZVxyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXHJcbiRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4ICFkZWZhdWx0O1xyXG4vLyoqIFRleHQgbXV0ZWQgY29sb3JcclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXHJcbiRhYmJyLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xyXG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXHJcbiRoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xyXG4vLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3JcclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcclxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xyXG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXHJcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXHJcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbi8vKiogV2lkdGggb2YgaG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0IHRpdGxlc1xyXG4kZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICAgICAgICAkY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsICFkZWZhdWx0O1xyXG4vLyoqIEhvcml6b250YWwgbGluZSBjb2xvci5cclxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXHJcblxyXG4vL1xyXG4vLyAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxyXG4vLyAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcclxuLy8gICAgdXNlciB6b29tLlxyXG4vL1xyXG5cclxuaHRtbCB7XHJcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcclxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxyXG59XHJcblxyXG4vL1xyXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXHJcbi8vXHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXHJcbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXHJcbi8vIGFuZCBGaXJlZm94LlxyXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxyXG4vL1xyXG5cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmRldGFpbHMsXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWFpbixcclxubWVudSxcclxubmF2LFxyXG5zZWN0aW9uLFxyXG5zdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLy9cclxuLy8gMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cclxuLy8gMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4vL1xyXG5cclxuYXVkaW8sXHJcbmNhbnZhcyxcclxucHJvZ3Jlc3MsXHJcbnZpZGVvIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIDJcclxufVxyXG5cclxuLy9cclxuLy8gUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cclxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cclxuLy9cclxuXHJcbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi8vXHJcbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cclxuLy8gSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxyXG4vL1xyXG5cclxuW2hpZGRlbl0sXHJcbnRlbXBsYXRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vLyBMaW5rc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbi8vXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLy9cclxuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbi8vXHJcblxyXG5hOmFjdGl2ZSxcclxuYTpob3ZlciB7XHJcbiAgb3V0bGluZTogMDtcclxufVxyXG5cclxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cclxuLy9cclxuXHJcbmFiYnJbdGl0bGVdIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xyXG59XHJcblxyXG4vL1xyXG4vLyBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbi8vXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vL1xyXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbi8vXHJcblxyXG5kZm4ge1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLy9cclxuLy8gQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxyXG4vLyBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbi8vXHJcblxyXG5oMSB7XHJcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLy9cclxuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cclxuLy9cclxuXHJcbm1hcmsge1xyXG4gIGJhY2tncm91bmQ6ICNmZjA7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi8vXHJcbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4vL1xyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vL1xyXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXHJcbi8vXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuLy9VcGRhdGVkIGZvciBDb21wYXJlIHBhZ2Vcclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxuICBmb250LXNpemU6IDcwJTtcclxuICBsaW5lLWhlaWdodDogMi44O1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbnN1YiB7XHJcbiAgYm90dG9tOiAtMC4yNWVtO1xyXG59XHJcblxyXG4vLyBFbWJlZGRlZCBjb250ZW50XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuLy9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4vL1xyXG4vLyBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cclxuLy9cclxuXHJcbnN2Zzpub3QoOnJvb3QpIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vLyBHcm91cGluZyBjb250ZW50XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cclxuLy9cclxuXHJcbmZpZ3VyZSB7XHJcbiAgbWFyZ2luOiAxZW0gNDBweDtcclxufVxyXG5cclxuLy9cclxuLy8gQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4vL1xyXG5cclxuaHIge1xyXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vL1xyXG4vLyBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cclxuLy9cclxuXHJcbnByZSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8vXHJcbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cclxuLy9cclxuXHJcbmNvZGUsXHJcbmtiZCxcclxucHJlLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbn1cclxuXHJcbi8vIEZvcm1zXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxyXG4vLyBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXHJcbi8vXHJcblxyXG4vL1xyXG4vLyAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXHJcbi8vICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4vLyAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuLy9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBjb2xvcjogaW5oZXJpdDsgLy8gMVxyXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcclxuICBtYXJnaW46IDA7IC8vIDNcclxufVxyXG5cclxuLy9cclxuLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXHJcbi8vXHJcblxyXG5idXR0b24ge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG4vL1xyXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXHJcbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXHJcbi8vIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXHJcbi8vIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cclxuLy9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLy9cclxuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcclxuLy8gICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXHJcbi8vIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cclxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcclxuLy8gICAgYGlucHV0YCBhbmQgb3RoZXJzLlxyXG4vL1xyXG5cclxuYnV0dG9uLFxyXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8vIDFcclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxyXG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xyXG59XHJcblxyXG4vL1xyXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4vL1xyXG5cclxuYnV0dG9uW2Rpc2FibGVkXSxcclxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLy9cclxuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4vL1xyXG5cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8vXHJcbi8vIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cclxuLy8gdGhlIFVBIHN0eWxlc2hlZXQuXHJcbi8vXHJcblxyXG5pbnB1dCB7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLy9cclxuLy8gSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxyXG4vLyBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxyXG4vL1xyXG4vLyAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxyXG4vLyAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxyXG4vL1xyXG5cclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcclxuICBwYWRkaW5nOiAwOyAvLyAyXHJcbn1cclxuXHJcbi8vXHJcbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXHJcbi8vIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXHJcbi8vIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cclxuLy9cclxuXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLy9cclxuLy8gMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcclxuLy8gICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXHJcbi8vXHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxyXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMlxyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4vL1xyXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cclxuLy8gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xyXG4vLyBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXHJcbi8vXHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbi8vXHJcbi8vIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cclxuLy9cclxuXHJcbmZpZWxkc2V0IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xyXG4gIG1hcmdpbjogMCAycHg7XHJcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG59XHJcblxyXG4vL1xyXG4vLyAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXHJcbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cclxuLy9cclxuXHJcbmxlZ2VuZCB7XHJcbiAgYm9yZGVyOiAwOyAvLyAxXHJcbiAgcGFkZGluZzogMDsgLy8gMlxyXG59XHJcblxyXG4vL1xyXG4vLyBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxyXG4vL1xyXG5cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vL1xyXG4vLyBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXHJcbi8vIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxyXG4vL1xyXG5cclxub3B0Z3JvdXAge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vLyBUYWJsZXNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cclxuLy9cclxuXHJcbnRhYmxlIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG50ZCxcclxudGgge1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuIiwiLyohIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyAqL1xyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gUHJpbnQgc3R5bGVzLlxyXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDogaDVicC5jb20vclxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuQG1lZGlhIHByaW50IHtcclxuICAgICosXHJcbiAgICAqOmJlZm9yZSxcclxuICAgICo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGEsXHJcbiAgICBhOnZpc2l0ZWQge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIGFbaHJlZl06YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xyXG4gICAgfVxyXG5cclxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcclxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcclxuICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxyXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHByZSxcclxuICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XHJcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIHRoZWFkIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8vIGg1YnAuY29tL3RcclxuICAgIH1cclxuXHJcbiAgICB0cixcclxuICAgIGltZyB7XHJcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcCxcclxuICAgIGgyLFxyXG4gICAgaDMge1xyXG4gICAgICAgIG9ycGhhbnM6IDM7XHJcbiAgICAgICAgd2lkb3dzOiAzO1xyXG4gICAgfVxyXG5cclxuICAgIGgyLFxyXG4gICAgaDMge1xyXG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XHJcbiAgICAvL1xyXG4gICAgLy8gQ2hyb21lIChPU1gpIGZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI0NVxyXG4gICAgLy8gT25jZSBmaXhlZCwgd2UgY2FuIGp1c3Qgc3RyYWlnaHQgdXAgcmVtb3ZlIHRoaXMuXHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xyXG4gICAgLm5hdmJhciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5idG4sXHJcbiAgICAuZHJvcHVwID4gLmJ0biB7XHJcbiAgICAgICAgPiAuY2FyZXQge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICB0ZCxcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFibGUtYm9yZGVyZWQge1xyXG4gICAgICAgIHRoLFxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcclxufVxyXG4iLCIvL1xyXG4vLyBHbHlwaGljb25zIGZvciBCb290c3RyYXBcclxuLy9cclxuLy8gU2luY2UgaWNvbnMgYXJlIGZvbnRzLCB0aGV5IGNhbiBiZSBwbGFjZWQgYW55d2hlcmUgdGV4dCBpcyBwbGFjZWQgYW5kIGFyZVxyXG4vLyB0aHVzIGF1dG9tYXRpY2FsbHkgc2l6ZWQgdG8gbWF0Y2ggdGhlIHN1cnJvdW5kaW5nIGNoaWxkLiBUbyB1c2UsIGNyZWF0ZSBhblxyXG4vLyBpbmxpbmUgZWxlbWVudCB3aXRoIHRoZSBhcHByb3ByaWF0ZSBjbGFzc2VzLCBsaWtlIHNvOlxyXG4vL1xyXG4vLyA8YSBocmVmPVwiI1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1zdGFyXCI+PC9zcGFuPiBTdGFyPC9hPlxyXG5cclxuLy8gSW1wb3J0IHRoZSBmb250c1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcclxuICBzcmM6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LmVvdCcpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LmVvdCcpKTtcclxuICBzcmM6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LmVvdD8jaWVmaXgnKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5lb3Q/I2llZml4JykpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgIHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LndvZmYyJyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0ud29mZjInKSkgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0ud29mZicpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LndvZmYnKSkgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS50dGYnKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS50dGYnKSkgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uc3ZnIyN7JGljb24tZm9udC1zdmctaWR9JyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uc3ZnIyN7JGljb24tZm9udC1zdmctaWR9JykpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuXHJcbi8vIENhdGNoYWxsIGJhc2VjbGFzc1xyXG4uZ2x5cGhpY29uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAxcHg7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbi8vIEluZGl2aWR1YWwgaWNvbnNcclxuLmdseXBoaWNvbi1hc3RlcmlzayAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMmFcIjsgfSB9XHJcbi5nbHlwaGljb24tcGx1cyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDJiXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWV1cm8sXHJcbi5nbHlwaGljb24tZXVyICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIwYWNcIjsgfSB9XHJcbi5nbHlwaGljb24tbWludXMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIyMTJcIjsgfSB9XHJcbi5nbHlwaGljb24tY2xvdWQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI2MDFcIjsgfSB9XHJcbi5nbHlwaGljb24tZW52ZWxvcGUgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI3MDlcIjsgfSB9XHJcbi5nbHlwaGljb24tcGVuY2lsICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI3MGZcIjsgfSB9XHJcbi5nbHlwaGljb24tZ2xhc3MgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDFcIjsgfSB9XHJcbi5nbHlwaGljb24tbXVzaWMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDJcIjsgfSB9XHJcbi5nbHlwaGljb24tc2VhcmNoICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDNcIjsgfSB9XHJcbi5nbHlwaGljb24taGVhcnQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDVcIjsgfSB9XHJcbi5nbHlwaGljb24tc3RhciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDZcIjsgfSB9XHJcbi5nbHlwaGljb24tc3Rhci1lbXB0eSAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDdcIjsgfSB9XHJcbi5nbHlwaGljb24tdXNlciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDhcIjsgfSB9XHJcbi5nbHlwaGljb24tZmlsbSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDlcIjsgfSB9XHJcbi5nbHlwaGljb24tdGgtbGFyZ2UgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTBcIjsgfSB9XHJcbi5nbHlwaGljb24tdGggICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTFcIjsgfSB9XHJcbi5nbHlwaGljb24tdGgtbGlzdCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTJcIjsgfSB9XHJcbi5nbHlwaGljb24tb2sgICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTNcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVtb3ZlICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTRcIjsgfSB9XHJcbi5nbHlwaGljb24tem9vbS1pbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTVcIjsgfSB9XHJcbi5nbHlwaGljb24tem9vbS1vdXQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTZcIjsgfSB9XHJcbi5nbHlwaGljb24tb2ZmICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTdcIjsgfSB9XHJcbi5nbHlwaGljb24tc2lnbmFsICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMThcIjsgfSB9XHJcbi5nbHlwaGljb24tY29nICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTlcIjsgfSB9XHJcbi5nbHlwaGljb24tdHJhc2ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjBcIjsgfSB9XHJcbi5nbHlwaGljb24taG9tZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjFcIjsgfSB9XHJcbi5nbHlwaGljb24tZmlsZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjJcIjsgfSB9XHJcbi5nbHlwaGljb24tdGltZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjNcIjsgfSB9XHJcbi5nbHlwaGljb24tcm9hZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjRcIjsgfSB9XHJcbi5nbHlwaGljb24tZG93bmxvYWQtYWx0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjVcIjsgfSB9XHJcbi5nbHlwaGljb24tZG93bmxvYWQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjZcIjsgfSB9XHJcbi5nbHlwaGljb24tdXBsb2FkICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjdcIjsgfSB9XHJcbi5nbHlwaGljb24taW5ib3ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjhcIjsgfSB9XHJcbi5nbHlwaGljb24tcGxheS1jaXJjbGUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjlcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVwZWF0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzBcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVmcmVzaCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzFcIjsgfSB9XHJcbi5nbHlwaGljb24tbGlzdC1hbHQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzJcIjsgfSB9XHJcbi5nbHlwaGljb24tbG9jayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzNcIjsgfSB9XHJcbi5nbHlwaGljb24tZmxhZyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzRcIjsgfSB9XHJcbi5nbHlwaGljb24taGVhZHBob25lcyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzVcIjsgfSB9XHJcbi5nbHlwaGljb24tdm9sdW1lLW9mZiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzZcIjsgfSB9XHJcbi5nbHlwaGljb24tdm9sdW1lLWRvd24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzdcIjsgfSB9XHJcbi5nbHlwaGljb24tdm9sdW1lLXVwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzhcIjsgfSB9XHJcbi5nbHlwaGljb24tcXJjb2RlICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzlcIjsgfSB9XHJcbi5nbHlwaGljb24tYmFyY29kZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDBcIjsgfSB9XHJcbi5nbHlwaGljb24tdGFnICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDFcIjsgfSB9XHJcbi5nbHlwaGljb24tdGFncyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDJcIjsgfSB9XHJcbi5nbHlwaGljb24tYm9vayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDNcIjsgfSB9XHJcbi5nbHlwaGljb24tYm9va21hcmsgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDRcIjsgfSB9XHJcbi5nbHlwaGljb24tcHJpbnQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDVcIjsgfSB9XHJcbi5nbHlwaGljb24tY2FtZXJhICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDZcIjsgfSB9XHJcbi5nbHlwaGljb24tZm9udCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDdcIjsgfSB9XHJcbi5nbHlwaGljb24tYm9sZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDhcIjsgfSB9XHJcbi5nbHlwaGljb24taXRhbGljICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDlcIjsgfSB9XHJcbi5nbHlwaGljb24tdGV4dC1oZWlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTBcIjsgfSB9XHJcbi5nbHlwaGljb24tdGV4dC13aWR0aCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTFcIjsgfSB9XHJcbi5nbHlwaGljb24tYWxpZ24tbGVmdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTJcIjsgfSB9XHJcbi5nbHlwaGljb24tYWxpZ24tY2VudGVyICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTNcIjsgfSB9XHJcbi5nbHlwaGljb24tYWxpZ24tcmlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTRcIjsgfSB9XHJcbi5nbHlwaGljb24tYWxpZ24tanVzdGlmeSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTVcIjsgfSB9XHJcbi5nbHlwaGljb24tbGlzdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTZcIjsgfSB9XHJcbi5nbHlwaGljb24taW5kZW50LWxlZnQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTdcIjsgfSB9XHJcbi5nbHlwaGljb24taW5kZW50LXJpZ2h0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNThcIjsgfSB9XHJcbi5nbHlwaGljb24tZmFjZXRpbWUtdmlkZW8gICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTlcIjsgfSB9XHJcbi5nbHlwaGljb24tcGljdHVyZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjBcIjsgfSB9XHJcbi5nbHlwaGljb24tbWFwLW1hcmtlciAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjJcIjsgfSB9XHJcbi5nbHlwaGljb24tYWRqdXN0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjNcIjsgfSB9XHJcbi5nbHlwaGljb24tdGludCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjRcIjsgfSB9XHJcbi5nbHlwaGljb24tZWRpdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjVcIjsgfSB9XHJcbi5nbHlwaGljb24tc2hhcmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjZcIjsgfSB9XHJcbi5nbHlwaGljb24tY2hlY2sgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjdcIjsgfSB9XHJcbi5nbHlwaGljb24tbW92ZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjhcIjsgfSB9XHJcbi5nbHlwaGljb24tc3RlcC1iYWNrd2FyZCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjlcIjsgfSB9XHJcbi5nbHlwaGljb24tZmFzdC1iYWNrd2FyZCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzBcIjsgfSB9XHJcbi5nbHlwaGljb24tYmFja3dhcmQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzFcIjsgfSB9XHJcbi5nbHlwaGljb24tcGxheSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzJcIjsgfSB9XHJcbi5nbHlwaGljb24tcGF1c2UgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzNcIjsgfSB9XHJcbi5nbHlwaGljb24tc3RvcCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzRcIjsgfSB9XHJcbi5nbHlwaGljb24tZm9yd2FyZCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzVcIjsgfSB9XHJcbi5nbHlwaGljb24tZmFzdC1mb3J3YXJkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzZcIjsgfSB9XHJcbi5nbHlwaGljb24tc3RlcC1mb3J3YXJkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzdcIjsgfSB9XHJcbi5nbHlwaGljb24tZWplY3QgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzhcIjsgfSB9XHJcbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzlcIjsgfSB9XHJcbi5nbHlwaGljb24tY2hldnJvbi1yaWdodCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODBcIjsgfSB9XHJcbi5nbHlwaGljb24tcGx1cy1zaWduICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODFcIjsgfSB9XHJcbi5nbHlwaGljb24tbWludXMtc2lnbiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODJcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVtb3ZlLXNpZ24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODNcIjsgfSB9XHJcbi5nbHlwaGljb24tb2stc2lnbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODRcIjsgfSB9XHJcbi5nbHlwaGljb24tcXVlc3Rpb24tc2lnbiAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODVcIjsgfSB9XHJcbi5nbHlwaGljb24taW5mby1zaWduICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODZcIjsgfSB9XHJcbi5nbHlwaGljb24tc2NyZWVuc2hvdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODdcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODhcIjsgfSB9XHJcbi5nbHlwaGljb24tb2stY2lyY2xlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODlcIjsgfSB9XHJcbi5nbHlwaGljb24tYmFuLWNpcmNsZSAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTBcIjsgfSB9XHJcbi5nbHlwaGljb24tYXJyb3ctbGVmdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTFcIjsgfSB9XHJcbi5nbHlwaGljb24tYXJyb3ctcmlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTJcIjsgfSB9XHJcbi5nbHlwaGljb24tYXJyb3ctdXAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTNcIjsgfSB9XHJcbi5nbHlwaGljb24tYXJyb3ctZG93biAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTRcIjsgfSB9XHJcbi5nbHlwaGljb24tc2hhcmUtYWx0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTVcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVzaXplLWZ1bGwgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTZcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVzaXplLXNtYWxsICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTdcIjsgfSB9XHJcbi5nbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDFcIjsgfSB9XHJcbi5nbHlwaGljb24tZ2lmdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDJcIjsgfSB9XHJcbi5nbHlwaGljb24tbGVhZiAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDNcIjsgfSB9XHJcbi5nbHlwaGljb24tZmlyZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDRcIjsgfSB9XHJcbi5nbHlwaGljb24tZXllLW9wZW4gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDVcIjsgfSB9XHJcbi5nbHlwaGljb24tZXllLWNsb3NlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDZcIjsgfSB9XHJcbi5nbHlwaGljb24td2FybmluZy1zaWduICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDdcIjsgfSB9XHJcbi5nbHlwaGljb24tcGxhbmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDhcIjsgfSB9XHJcbi5nbHlwaGljb24tY2FsZW5kYXIgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDlcIjsgfSB9XHJcbi5nbHlwaGljb24tcmFuZG9tICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTBcIjsgfSB9XHJcbi5nbHlwaGljb24tY29tbWVudCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTFcIjsgfSB9XHJcbi5nbHlwaGljb24tbWFnbmV0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTJcIjsgfSB9XHJcbi5nbHlwaGljb24tY2hldnJvbi11cCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTNcIjsgfSB9XHJcbi5nbHlwaGljb24tY2hldnJvbi1kb3duICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTRcIjsgfSB9XHJcbi5nbHlwaGljb24tcmV0d2VldCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTVcIjsgfSB9XHJcbi5nbHlwaGljb24tc2hvcHBpbmctY2FydCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTZcIjsgfSB9XHJcbi5nbHlwaGljb24tZm9sZGVyLWNsb3NlICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTdcIjsgfSB9XHJcbi5nbHlwaGljb24tZm9sZGVyLW9wZW4gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMThcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVzaXplLXZlcnRpY2FsICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTlcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVzaXplLWhvcml6b250YWwgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjBcIjsgfSB9XHJcbi5nbHlwaGljb24taGRkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjFcIjsgfSB9XHJcbi5nbHlwaGljb24tYnVsbGhvcm4gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjJcIjsgfSB9XHJcbi5nbHlwaGljb24tYmVsbCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjNcIjsgfSB9XHJcbi5nbHlwaGljb24tY2VydGlmaWNhdGUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjRcIjsgfSB9XHJcbi5nbHlwaGljb24tdGh1bWJzLXVwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjVcIjsgfSB9XHJcbi5nbHlwaGljb24tdGh1bWJzLWRvd24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjZcIjsgfSB9XHJcbi5nbHlwaGljb24taGFuZC1yaWdodCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjdcIjsgfSB9XHJcbi5nbHlwaGljb24taGFuZC1sZWZ0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjhcIjsgfSB9XHJcbi5nbHlwaGljb24taGFuZC11cCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjlcIjsgfSB9XHJcbi5nbHlwaGljb24taGFuZC1kb3duICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzBcIjsgfSB9XHJcbi5nbHlwaGljb24tY2lyY2xlLWFycm93LXJpZ2h0ICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzFcIjsgfSB9XHJcbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWxlZnQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzJcIjsgfSB9XHJcbi5nbHlwaGljb24tY2lyY2xlLWFycm93LXVwICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzNcIjsgfSB9XHJcbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWRvd24gICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzRcIjsgfSB9XHJcbi5nbHlwaGljb24tZ2xvYmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzVcIjsgfSB9XHJcbi5nbHlwaGljb24td3JlbmNoICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzZcIjsgfSB9XHJcbi5nbHlwaGljb24tdGFza3MgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzdcIjsgfSB9XHJcbi5nbHlwaGljb24tZmlsdGVyICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzhcIjsgfSB9XHJcbi5nbHlwaGljb24tYnJpZWZjYXNlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzlcIjsgfSB9XHJcbi5nbHlwaGljb24tZnVsbHNjcmVlbiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDBcIjsgfSB9XHJcbi5nbHlwaGljb24tZGFzaGJvYXJkICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDFcIjsgfSB9XHJcbi5nbHlwaGljb24tcGFwZXJjbGlwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDJcIjsgfSB9XHJcbi5nbHlwaGljb24taGVhcnQtZW1wdHkgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDNcIjsgfSB9XHJcbi5nbHlwaGljb24tbGluayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDRcIjsgfSB9XHJcbi5nbHlwaGljb24tcGhvbmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDVcIjsgfSB9XHJcbi5nbHlwaGljb24tcHVzaHBpbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDZcIjsgfSB9XHJcbi5nbHlwaGljb24tdXNkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDhcIjsgfSB9XHJcbi5nbHlwaGljb24tZ2JwICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDlcIjsgfSB9XHJcbi5nbHlwaGljb24tc29ydCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTBcIjsgfSB9XHJcbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldCAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTFcIjsgfSB9XHJcbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldC1hbHQgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTJcIjsgfSB9XHJcbi5nbHlwaGljb24tc29ydC1ieS1vcmRlciAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTNcIjsgfSB9XHJcbi5nbHlwaGljb24tc29ydC1ieS1vcmRlci1hbHQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTRcIjsgfSB9XHJcbi5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTVcIjsgfSB9XHJcbi5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzLWFsdCB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTZcIjsgfSB9XHJcbi5nbHlwaGljb24tdW5jaGVja2VkICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTdcIjsgfSB9XHJcbi5nbHlwaGljb24tZXhwYW5kICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNThcIjsgfSB9XHJcbi5nbHlwaGljb24tY29sbGFwc2UtZG93biAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTlcIjsgfSB9XHJcbi5nbHlwaGljb24tY29sbGFwc2UtdXAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjBcIjsgfSB9XHJcbi5nbHlwaGljb24tbG9nLWluICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjFcIjsgfSB9XHJcbi5nbHlwaGljb24tZmxhc2ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjJcIjsgfSB9XHJcbi5nbHlwaGljb24tbG9nLW91dCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjNcIjsgfSB9XHJcbi5nbHlwaGljb24tbmV3LXdpbmRvdyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjRcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVjb3JkICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjVcIjsgfSB9XHJcbi5nbHlwaGljb24tc2F2ZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjZcIjsgfSB9XHJcbi5nbHlwaGljb24tb3BlbiAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjdcIjsgfSB9XHJcbi5nbHlwaGljb24tc2F2ZWQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjhcIjsgfSB9XHJcbi5nbHlwaGljb24taW1wb3J0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjlcIjsgfSB9XHJcbi5nbHlwaGljb24tZXhwb3J0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzBcIjsgfSB9XHJcbi5nbHlwaGljb24tc2VuZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzFcIjsgfSB9XHJcbi5nbHlwaGljb24tZmxvcHB5LWRpc2sgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzJcIjsgfSB9XHJcbi5nbHlwaGljb24tZmxvcHB5LXNhdmVkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzNcIjsgfSB9XHJcbi5nbHlwaGljb24tZmxvcHB5LXJlbW92ZSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzRcIjsgfSB9XHJcbi5nbHlwaGljb24tZmxvcHB5LXNhdmUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzVcIjsgfSB9XHJcbi5nbHlwaGljb24tZmxvcHB5LW9wZW4gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzZcIjsgfSB9XHJcbi5nbHlwaGljb24tY3JlZGl0LWNhcmQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzdcIjsgfSB9XHJcbi5nbHlwaGljb24tdHJhbnNmZXIgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzhcIjsgfSB9XHJcbi5nbHlwaGljb24tY3V0bGVyeSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzlcIjsgfSB9XHJcbi5nbHlwaGljb24taGVhZGVyICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODBcIjsgfSB9XHJcbi5nbHlwaGljb24tY29tcHJlc3NlZCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODFcIjsgfSB9XHJcbi5nbHlwaGljb24tZWFycGhvbmUgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODJcIjsgfSB9XHJcbi5nbHlwaGljb24tcGhvbmUtYWx0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODNcIjsgfSB9XHJcbi5nbHlwaGljb24tdG93ZXIgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODRcIjsgfSB9XHJcbi5nbHlwaGljb24tc3RhdHMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODVcIjsgfSB9XHJcbi5nbHlwaGljb24tc2QtdmlkZW8gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODZcIjsgfSB9XHJcbi5nbHlwaGljb24taGQtdmlkZW8gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODdcIjsgfSB9XHJcbi5nbHlwaGljb24tc3VidGl0bGVzICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODhcIjsgfSB9XHJcbi5nbHlwaGljb24tc291bmQtc3RlcmVvICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODlcIjsgfSB9XHJcbi5nbHlwaGljb24tc291bmQtZG9sYnkgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTBcIjsgfSB9XHJcbi5nbHlwaGljb24tc291bmQtNS0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTFcIjsgfSB9XHJcbi5nbHlwaGljb24tc291bmQtNi0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTJcIjsgfSB9XHJcbi5nbHlwaGljb24tc291bmQtNy0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTNcIjsgfSB9XHJcbi5nbHlwaGljb24tY29weXJpZ2h0LW1hcmsgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTRcIjsgfSB9XHJcbi5nbHlwaGljb24tcmVnaXN0cmF0aW9uLW1hcmsgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTVcIjsgfSB9XHJcbi5nbHlwaGljb24tY2xvdWQtZG93bmxvYWQgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTdcIjsgfSB9XHJcbi5nbHlwaGljb24tY2xvdWQtdXBsb2FkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOThcIjsgfSB9XHJcbi5nbHlwaGljb24tdHJlZS1jb25pZmVyICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTlcIjsgfSB9XHJcbi5nbHlwaGljb24tdHJlZS1kZWNpZHVvdXMgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDBcIjsgfSB9XHJcbi5nbHlwaGljb24tY2QgICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDFcIjsgfSB9XHJcbi5nbHlwaGljb24tc2F2ZS1maWxlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDJcIjsgfSB9XHJcbi5nbHlwaGljb24tb3Blbi1maWxlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDNcIjsgfSB9XHJcbi5nbHlwaGljb24tbGV2ZWwtdXAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDRcIjsgfSB9XHJcbi5nbHlwaGljb24tY29weSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDVcIjsgfSB9XHJcbi5nbHlwaGljb24tcGFzdGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDZcIjsgfSB9XHJcbi8vIFRoZSBmb2xsb3dpbmcgMiBHbHlwaGljb25zIGFyZSBvbWl0dGVkIGZvciB0aGUgdGltZSBiZWluZyBiZWNhdXNlXHJcbi8vIHRoZXkgY3VycmVudGx5IHVzZSBVbmljb2RlIGNvZGVwb2ludHMgdGhhdCBhcmUgb3V0c2lkZSB0aGVcclxuLy8gQmFzaWMgTXVsdGlsaW5ndWFsIFBsYW5lIChCTVApLiBPbGRlciBidWdneSB2ZXJzaW9ucyBvZiBXZWJLaXQgY2FuJ3QgaGFuZGxlXHJcbi8vIG5vbi1CTVAgY29kZXBvaW50cyBpbiBDU1Mgc3RyaW5nIGVzY2FwZXMsIGFuZCB0aHVzIGNhbid0IGRpc3BsYXkgdGhlc2UgdHdvIGljb25zLlxyXG4vLyBOb3RhYmx5LCB0aGUgYnVnIGFmZmVjdHMgc29tZSBvbGRlciB2ZXJzaW9ucyBvZiB0aGUgQW5kcm9pZCBCcm93c2VyLlxyXG4vLyBNb3JlIGluZm86IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTAxMDZcclxuLy8gLmdseXBoaWNvbi1kb29yICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMWY2YWFcIjsgfSB9XHJcbi8vIC5nbHlwaGljb24ta2V5ICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDFmNTExXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWFsZXJ0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA5XCI7IH0gfVxyXG4uZ2x5cGhpY29uLWVxdWFsaXplciAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjEwXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWtpbmcgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjExXCI7IH0gfVxyXG4uZ2x5cGhpY29uLXF1ZWVuICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjEyXCI7IH0gfVxyXG4uZ2x5cGhpY29uLXBhd24gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjEzXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWJpc2hvcCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE0XCI7IH0gfVxyXG4uZ2x5cGhpY29uLWtuaWdodCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE1XCI7IH0gfVxyXG4uZ2x5cGhpY29uLWJhYnktZm9ybXVsYSAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE2XCI7IH0gfVxyXG4uZ2x5cGhpY29uLXRlbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNmZhXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWJsYWNrYm9hcmQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE4XCI7IH0gfVxyXG4uZ2x5cGhpY29uLWJlZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE5XCI7IH0gfVxyXG4uZ2x5cGhpY29uLWFwcGxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmOGZmXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWVyYXNlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjIxXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWhvdXJnbGFzcyAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMzFiXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWxhbXAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjIzXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWR1cGxpY2F0ZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI0XCI7IH0gfVxyXG4uZ2x5cGhpY29uLXBpZ2d5LWJhbmsgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI1XCI7IH0gfVxyXG4uZ2x5cGhpY29uLXNjaXNzb3JzICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI2XCI7IH0gfVxyXG4uZ2x5cGhpY29uLWJpdGNvaW4gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxyXG4uZ2x5cGhpY29uLWJ0YyAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxyXG4uZ2x5cGhpY29uLXhidCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxyXG4uZ2x5cGhpY29uLXllbiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMGE1XCI7IH0gfVxyXG4uZ2x5cGhpY29uLWpweSAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMGE1XCI7IH0gfVxyXG4uZ2x5cGhpY29uLXJ1YmxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGJkXCI7IH0gfVxyXG4uZ2x5cGhpY29uLXJ1YiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGJkXCI7IH0gfVxyXG4uZ2x5cGhpY29uLXNjYWxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMwXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWljZS1sb2xseSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMxXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWljZS1sb2xseS10YXN0ZWQgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMyXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWVkdWNhdGlvbiAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMzXCI7IH0gfVxyXG4uZ2x5cGhpY29uLW9wdGlvbi1ob3Jpem9udGFsICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM0XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW9wdGlvbi12ZXJ0aWNhbCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM1XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW1lbnUtaGFtYnVyZ2VyICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM2XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW1vZGFsLXdpbmRvdyAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM3XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW9pbCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM4XCI7IH0gfVxyXG4uZ2x5cGhpY29uLWdyYWluICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM5XCI7IH0gfVxyXG4uZ2x5cGhpY29uLXN1bmdsYXNzZXMgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQwXCI7IH0gfVxyXG4uZ2x5cGhpY29uLXRleHQtc2l6ZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQxXCI7IH0gfVxyXG4uZ2x5cGhpY29uLXRleHQtY29sb3IgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQyXCI7IH0gfVxyXG4uZ2x5cGhpY29uLXRleHQtYmFja2dyb3VuZCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQzXCI7IH0gfVxyXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi10b3AgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ0XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ib3R0b20gICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ1XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ob3Jpem9udGFseyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ2XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1sZWZ0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ3XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi12ZXJ0aWNhbCAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ4XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1yaWdodCAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ5XCI7IH0gfVxyXG4uZ2x5cGhpY29uLXRyaWFuZ2xlLXJpZ2h0ICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUwXCI7IH0gfVxyXG4uZ2x5cGhpY29uLXRyaWFuZ2xlLWxlZnQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUxXCI7IH0gfVxyXG4uZ2x5cGhpY29uLXRyaWFuZ2xlLWJvdHRvbSAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUyXCI7IH0gfVxyXG4uZ2x5cGhpY29uLXRyaWFuZ2xlLXRvcCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUzXCI7IH0gfVxyXG4uZ2x5cGhpY29uLWNvbnNvbGUgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU0XCI7IH0gfVxyXG4uZ2x5cGhpY29uLXN1cGVyc2NyaXB0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU1XCI7IH0gfVxyXG4uZ2x5cGhpY29uLXN1YnNjcmlwdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU2XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW1lbnUtbGVmdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU3XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW1lbnUtcmlnaHQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU4XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW1lbnUtZG93biAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU5XCI7IH0gfVxyXG4uZ2x5cGhpY29uLW1lbnUtdXAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjYwXCI7IH0gfVxyXG4iLCIvL1xyXG4vLyBTY2FmZm9sZGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIFJlc2V0IHRoZSBib3gtc2l6aW5nXHJcbi8vXHJcbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuXHJcbi8vIEZvciByZWNvbW1lbmRhdGlvbnMgb24gcmVzb2x2aW5nIHN1Y2ggY29uZmxpY3RzLCBzZWVcclxuLy8gaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyN0aGlyZC1ib3gtc2l6aW5nXHJcbioge1xyXG5cdEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XHJcblx0LXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4qOmJlZm9yZSxcclxuKjphZnRlciB7XHJcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcclxufVxyXG5cclxuXHJcbi8vIEJvZHkgcmVzZXRcclxuXHJcbmh0bWwge1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xyXG59XHJcblxyXG4vLyBSZXNldCBmb250cyBmb3IgcmVsZXZhbnQgZWxlbWVudHNcclxuaW5wdXQsXHJcbmJ1dHRvbixcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5cclxuLy8gTGlua3NcclxuXHJcbmEge1xyXG4gIGNvbG9yOiAkbGluay1jb2xvcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIEBpbmNsdWRlIHRhYi1mb2N1cztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBGaWd1cmVzXHJcbi8vXHJcbi8vIFdlIHJlc2V0IHRoaXMgaGVyZSBiZWNhdXNlIHByZXZpb3VzbHkgTm9ybWFsaXplIGhhZCBubyBgZmlndXJlYCBtYXJnaW5zLiBUaGlzXHJcbi8vIGVuc3VyZXMgd2UgZG9uJ3QgYnJlYWsgYW55b25lJ3MgdXNlIG9mIHRoZSBlbGVtZW50LlxyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcblxyXG4vLyBJbWFnZXNcclxuXHJcbmltZyB7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXHJcbi5pbWctcmVzcG9uc2l2ZSB7XHJcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmU7XHJcbn1cclxuXHJcbi8vIFJvdW5kZWQgY29ybmVyc1xyXG4uaW1nLXJvdW5kZWQge1xyXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xyXG59XHJcblxyXG4vLyBJbWFnZSB0aHVtYm5haWxzXHJcbi8vXHJcbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gdGh1bWJuYWlscy5sZXNzIGZvciBgLnRodW1ibmFpbGAuXHJcbi5pbWctdGh1bWJuYWlsIHtcclxuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJHRodW1ibmFpbC1ib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XHJcblxyXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxyXG4gIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlKGlubGluZS1ibG9jayk7XHJcbn1cclxuXHJcbi8vIFBlcmZlY3QgY2lyY2xlXHJcbi5pbWctY2lyY2xlIHtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIHNldCByYWRpdXMgaW4gcGVyY2VudHNcclxufVxyXG5cclxuXHJcbi8vIEhvcml6b250YWwgcnVsZXNcclxuXHJcbmhyIHtcclxuICBtYXJnaW4tdG9wOiAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgJGhyLWJvcmRlcjtcclxufVxyXG5cclxuXHJcbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXHJcbi8vXHJcbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xyXG5cclxuLnNyLW9ubHkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMXB4O1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIG1hcmdpbjogLTFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxyXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcclxuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxyXG5cclxuLnNyLW9ubHktZm9jdXNhYmxlIHtcclxuICAmOmFjdGl2ZSxcclxuICAmOmZvY3VzIHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgY2xpcDogYXV0bztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxyXG4vL1xyXG4vLyBGaXhlcyBcImNsaWNrYWJpbGl0eVwiIGlzc3VlIChhbmQgbW9yZSBnZW5lcmFsbHksIHRoZSBmaXJpbmcgb2YgZXZlbnRzIHN1Y2ggYXMgZm9jdXMgYXMgd2VsbClcclxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxyXG4vLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcclxuLy8gVXBzdHJlYW0gcGF0Y2ggZm9yIG5vcm1hbGl6ZS5jc3Mgc3VibWl0dGVkOiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL3B1bGwvMzc5IC0gcmVtb3ZlIHRoaXMgZml4IG9uY2UgdGhhdCBpcyBtZXJnZWRcclxuXHJcbltyb2xlPVwiYnV0dG9uXCJdIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn0iLCIvLyBWZW5kb3IgUHJlZml4ZXNcclxuLy9cclxuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXHJcbi8vIEF1dG9wcmVmaXhlciBpbiBvdXIgR3J1bnRmaWxlLiBUaGV5IHdpbGwgYmUgcmVtb3ZlZCBpbiB2NC5cclxuXHJcbi8vIC0gQW5pbWF0aW9uc1xyXG4vLyAtIEJhY2tmYWNlIHZpc2liaWxpdHlcclxuLy8gLSBCb3ggc2hhZG93XHJcbi8vIC0gQm94IHNpemluZ1xyXG4vLyAtIENvbnRlbnQgY29sdW1uc1xyXG4vLyAtIEh5cGhlbnNcclxuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XHJcbi8vIC0gVHJhbnNmb3JtYXRpb25zXHJcbi8vIC0gVHJhbnNpdGlvbnNcclxuLy8gLSBVc2VyIFNlbGVjdFxyXG5cclxuXHJcbi8vIEFuaW1hdGlvbnNcclxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9uKSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgICAgICAgICBhbmltYXRpb246ICRhbmltYXRpb247XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogJG5hbWU7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24pIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcclxuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJGl0ZXJhdGlvbi1jb3VudCkge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcclxuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XHJcbn1cclxuXHJcbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcclxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cclxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxyXG5cclxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpe1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XHJcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcclxuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xyXG59XHJcblxyXG4vLyBEcm9wIHNoYWRvd3NcclxuLy9cclxuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xyXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbn1cclxuXHJcbi8vIEJveCBzaXppbmdcclxuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XHJcbn1cclxuXHJcbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXHJcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xyXG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xyXG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XHJcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcclxuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xyXG59XHJcblxyXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxyXG5AbWl4aW4gaHlwaGVucygkbW9kZTogYXV0bykge1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xyXG4gICAgIC1tb3otaHlwaGVuczogJG1vZGU7XHJcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcclxuICAgICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xyXG4gICAgICAgICAgaHlwaGVuczogJG1vZGU7XHJcbn1cclxuXHJcbi8vIFBsYWNlaG9sZGVyIHRleHRcclxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XHJcbiAgLy8gRmlyZWZveFxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcclxufVxyXG5cclxuLy8gVHJhbnNmb3JtYXRpb25zXHJcbkBtaXhpbiBzY2FsZSgkcmF0aW8uLi4pIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTsgLy8gSUU5IG9ubHlcclxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcclxufVxyXG5cclxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pOyAvLyBJRTkgb25seVxyXG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XHJcbn1cclxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pOyAvLyBJRTkgb25seVxyXG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XHJcbn1cclxuQG1peGluIHNrZXcoJHgsICR5KSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzQ4ODU7IElFOStcclxuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcclxufVxyXG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7IC8vIElFOSBvbmx5XHJcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcclxufVxyXG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XHJcbn1cclxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxyXG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xyXG59XHJcbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcclxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xyXG59XHJcbkBtaXhpbiByb3RhdGVZKCRkZWdyZWVzKSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcclxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xyXG59XHJcbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHtcclxuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XHJcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xyXG4gICAgICAgICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcclxufVxyXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xyXG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XHJcbiAgICAgLW1vei1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcclxuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xyXG59XHJcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4pIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XHJcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjsgLy8gSUU5IG9ubHlcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XHJcbn1cclxuXHJcblxyXG4vLyBUcmFuc2l0aW9uc1xyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xyXG4gICAgICAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcclxufVxyXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkdHJhbnNpdGlvbi1wcm9wZXJ0eS4uLikge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcclxufVxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcclxufVxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbi4uLikge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxufVxyXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcclxufVxyXG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xyXG4gICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gJHRyYW5zaXRpb247XHJcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XHJcbn1cclxuXHJcblxyXG4vLyBVc2VyIHNlbGVjdFxyXG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcclxuXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0KSB7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7IC8vIElFMTArXHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcclxuXHJcbkBtaXhpbiB0YWItZm9jdXMoKSB7XHJcbiAgLy8gRGVmYXVsdFxyXG4gIG91dGxpbmU6IHRoaW4gZG90dGVkO1xyXG4gIC8vIFdlYktpdFxyXG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcclxuICBvdXRsaW5lLW9mZnNldDogLTJweDtcclxufVxyXG4iLCIvLyBJbWFnZSBNaXhpbnNcclxuLy8gLSBSZXNwb25zaXZlIGltYWdlXHJcbi8vIC0gUmV0aW5hIGltYWdlXHJcblxyXG5cclxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxyXG4vL1xyXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxyXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XHJcbiAgZGlzcGxheTogJGRpc3BsYXk7XHJcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxyXG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcclxufVxyXG5cclxuXHJcbi8vIFJldGluYSBpbWFnZVxyXG4vL1xyXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcclxuLy8gc3BlbGxpbmcgb2YgYG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpb2AgaXMgaW50ZW50aW9uYWwuXHJcbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMXh9XCIpLCBcIiN7JGZpbGUtMXh9XCIpKTtcclxuXHJcbiAgQG1lZGlhXHJcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXHJcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXHJcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIEhlYWRpbmdzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXHJcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xyXG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcclxuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xyXG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XHJcblxyXG4gIHNtYWxsLFxyXG4gIC5zbWFsbCB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBjb2xvcjogJGhlYWRpbmdzLXNtYWxsLWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuaDEsIC5oMSxcclxuaDIsIC5oMixcclxuaDMsIC5oMyB7XHJcbiAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcclxuXHJcbiAgc21hbGwsXHJcbiAgLnNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogNjUlO1xyXG4gIH1cclxufVxyXG5oNCwgLmg0LFxyXG5oNSwgLmg1LFxyXG5oNiwgLmg2IHtcclxuICBtYXJnaW4tdG9wOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XHJcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xyXG5cclxuICBzbWFsbCxcclxuICAuc21hbGwge1xyXG4gICAgZm9udC1zaXplOiA3NSU7XHJcbiAgfVxyXG59XHJcblxyXG5oMSwgLmgxIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgxOyB9XHJcbmgyLCAuaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cclxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMzsgfVxyXG5oNCwgLmg0IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg0OyB9XHJcbmg1LCAuaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cclxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjsgfVxyXG5cclxuXHJcbi8vIEJvZHkgdGV4dFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5wIHtcclxuICBtYXJnaW46IDAgMCAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XHJcbn1cclxuXHJcbi5sZWFkIHtcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XHJcbiAgZm9udC1zaXplOiBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMS4xNSkpO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEVtcGhhc2lzICYgbWlzY1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBFeDogKDEycHggc21hbGwgZm9udCAvIDE0cHggYmFzZSBmb250KSAqIDEwMCUgPSBhYm91dCA4NSVcclxuc21hbGwsXHJcbi5zbWFsbCB7XHJcbiAgZm9udC1zaXplOiBmbG9vcigoMTAwJSAqICRmb250LXNpemUtc21hbGwgLyAkZm9udC1zaXplLWJhc2UpKTtcclxufVxyXG5cclxubWFyayxcclxuLm1hcmsge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzdGF0ZS13YXJuaW5nLWJnO1xyXG4gIHBhZGRpbmc6IC4yZW07XHJcbn1cclxuXHJcbi8vIEFsaWdubWVudFxyXG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cclxuLnRleHQtcmlnaHQgICAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4udGV4dC1jZW50ZXIgICAgICAgICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cclxuLnRleHQtbm93cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcblxyXG4vLyBUcmFuc2Zvcm1hdGlvblxyXG4udGV4dC1sb3dlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cclxuLnRleHQtdXBwZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XHJcbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cclxuXHJcbi8vIENvbnRleHR1YWwgY29sb3JzXHJcbi50ZXh0LW11dGVkIHtcclxuICBjb2xvcjogJHRleHQtbXV0ZWQ7XHJcbn1cclxuXHJcbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcclxuXHJcbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xyXG5cclxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1pbmZvJywgJHN0YXRlLWluZm8tdGV4dCk7XHJcblxyXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXdhcm5pbmcnLCAkc3RhdGUtd2FybmluZy10ZXh0KTtcclxuXHJcbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtZGFuZ2VyJywgJHN0YXRlLWRhbmdlci10ZXh0KTtcclxuXHJcbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcclxuLy8gRm9yIG5vdyB3ZSdsbCBsZWF2ZSB0aGVzZSBhbG9uZ3NpZGUgdGhlIHRleHQgY2xhc3NlcyB1bnRpbCB2NCB3aGVuIHdlIGNhblxyXG4vLyBzYWZlbHkgc2hpZnQgdGhpbmdzIGFyb3VuZCAocGVyIFNlbVZlciBydWxlcykuXHJcbi5iZy1wcmltYXJ5IHtcclxuICAvLyBHaXZlbiB0aGUgY29udHJhc3QgaGVyZSwgdGhpcyBpcyB0aGUgb25seSBjbGFzcyB0byBoYXZlIGl0cyBjb2xvciBpbnZlcnRlZFxyXG4gIC8vIGF1dG9tYXRpY2FsbHkuXHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XHJcblxyXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcclxuXHJcbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1pbmZvJywgJHN0YXRlLWluZm8tYmcpO1xyXG5cclxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXdhcm5pbmcnLCAkc3RhdGUtd2FybmluZy1iZyk7XHJcblxyXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XHJcblxyXG5cclxuLy8gUGFnZSBoZWFkZXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLnBhZ2UtaGVhZGVyIHtcclxuICBwYWRkaW5nLWJvdHRvbTogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpO1xyXG4gIG1hcmdpbjogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAqIDIpIDAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xyXG59XHJcblxyXG5cclxuLy8gTGlzdHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gVW5vcmRlcmVkIGFuZCBPcmRlcmVkIGxpc3RzXHJcbnVsLFxyXG5vbCB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XHJcbiAgdWwsXHJcbiAgb2wge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIExpc3Qgb3B0aW9uc1xyXG5cclxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGZyb20gYC5saXN0LXVuc3R5bGVkYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XHJcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYXMgYEBtaXhpbiBsaXN0LXVuc3R5bGVkYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XHJcbi5saXN0LXVuc3R5bGVkIHtcclxuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xyXG59XHJcblxyXG5cclxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcclxuLmxpc3QtaW5saW5lIHtcclxuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xyXG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG5cclxuICA+IGxpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gRGVzY3JpcHRpb24gTGlzdHNcclxuZGwge1xyXG4gIG1hcmdpbi10b3A6IDA7IC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHRcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XHJcbn1cclxuZHQsXHJcbmRkIHtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbn1cclxuZHQge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbmRkIHtcclxuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0c1xyXG4vL1xyXG4vLyBEZWZhdWx0cyB0byBiZWluZyBzdGFja2VkIHdpdGhvdXQgYW55IG9mIHRoZSBiZWxvdyBzdHlsZXMgYXBwbGllZCwgdW50aWwgdGhlXHJcbi8vIGdyaWQgYnJlYWtwb2ludCBpcyByZWFjaGVkIChkZWZhdWx0IG9mIH43NjhweCkuXHJcblxyXG4uZGwtaG9yaXpvbnRhbCB7XHJcbiAgZGQge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7IC8vIENsZWFyIHRoZSBmbG9hdGVkIGBkdGAgaWYgYW4gZW1wdHkgYGRkYCBpcyBwcmVzZW50XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xyXG4gICAgZHQge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6ICgkZGwtaG9yaXpvbnRhbC1vZmZzZXQgLSAyMCk7XHJcbiAgICAgIGNsZWFyOiBsZWZ0O1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcclxuICAgIH1cclxuICAgIGRkIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6ICRkbC1ob3Jpem9udGFsLW9mZnNldDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBNaXNjXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXHJcbmFiYnJbdGl0bGVdLFxyXG4vLyBBZGQgZGF0YS0qIGF0dHJpYnV0ZSB0byBoZWxwIG91dCBvdXIgdG9vbHRpcCBwbHVnaW4sIHBlciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzUyNTdcclxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XHJcbiAgY3Vyc29yOiBoZWxwO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGFiYnItYm9yZGVyLWNvbG9yO1xyXG59XHJcbi5pbml0aWFsaXNtIHtcclxuICBmb250LXNpemU6IDkwJTtcclxuICBAZXh0ZW5kIC50ZXh0LXVwcGVyY2FzZTtcclxufVxyXG5cclxuLy8gQmxvY2txdW90ZXNcclxuYmxvY2txdW90ZSB7XHJcbiAgcGFkZGluZzogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpICRsaW5lLWhlaWdodC1jb21wdXRlZDtcclxuICBtYXJnaW46IDAgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XHJcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1mb250LXNpemU7XHJcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XHJcblxyXG4gIHAsXHJcbiAgdWwsXHJcbiAgb2wge1xyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE5vdGU6IERlcHJlY2F0ZWQgc21hbGwgYW5kIC5zbWFsbCBhcyBvZiB2My4xLjBcclxuICAvLyBDb250ZXh0OiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjYwXHJcbiAgZm9vdGVyLFxyXG4gIHNtYWxsLFxyXG4gIC5zbWFsbCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDBBMCc7IC8vIGVtIGRhc2gsIG5ic3BcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE9wcG9zaXRlIGFsaWdubWVudCBvZiBibG9ja3F1b3RlXHJcbi8vXHJcbi8vIEhlYWRzIHVwOiBgYmxvY2txdW90ZS5wdWxsLXJpZ2h0YCBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mIHYzLjEuMC5cclxuLmJsb2NrcXVvdGUtcmV2ZXJzZSxcclxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XHJcbiAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gIC8vIEFjY291bnQgZm9yIGNpdGF0aW9uXHJcbiAgZm9vdGVyLFxyXG4gIHNtYWxsLFxyXG4gIC5zbWFsbCB7XHJcbiAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJ1xcMDBBMCBcXDIwMTQnOyAvLyBuYnNwLCBlbSBkYXNoXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBZGRyZXNzZXNcclxuYWRkcmVzcyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbn1cclxuIiwiLy8gVHlwb2dyYXBoeVxyXG5cclxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXHJcbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuICBhI3skcGFyZW50fTpob3ZlciB7XHJcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcclxuICB9XHJcbn1cclxuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xyXG5cclxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXHJcbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuICBhI3skcGFyZW50fTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xyXG4gIH1cclxufVxyXG4iLCIvLyBDbGVhcmZpeFxyXG4vL1xyXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXHJcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXHJcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXHJcbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xyXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxyXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xyXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXHJcbi8vXHJcbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXHJcblxyXG5AbWl4aW4gY2xlYXJmaXgoKSB7XHJcbiAgJjpiZWZvcmUsXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuIiwiLy8gVGV4dCBvdmVyZmxvd1xyXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXHJcblxyXG5AbWl4aW4gdGV4dC1vdmVyZmxvdygpIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuIiwiLy9cclxuLy8gQ29kZSAoaW5saW5lIGFuZCBibG9jaylcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4vLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXHJcbmNvZGUsXHJcbmtiZCxcclxucHJlLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxufVxyXG5cclxuLy8gSW5saW5lIGNvZGVcclxuY29kZSB7XHJcbiAgcGFkZGluZzogMnB4IDRweDtcclxuICBmb250LXNpemU6IDkwJTtcclxuICBjb2xvcjogJGNvZGUtY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmc7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcclxufVxyXG5cclxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcclxua2JkIHtcclxuICBwYWRkaW5nOiAycHggNHB4O1xyXG4gIGZvbnQtc2l6ZTogOTAlO1xyXG4gIGNvbG9yOiAka2JkLWNvbG9yO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc21hbGw7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xyXG5cclxuICBrYmQge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtc2l6ZTogMTAwJTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEJsb2NrcyBvZiBjb2RlXHJcbnByZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAxKSAvIDIpO1xyXG4gIG1hcmdpbjogMCAwICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcclxuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgLSAxKTsgLy8gMTRweCB0byAxM3B4XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgY29sb3I6ICRwcmUtY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByZS1iZztcclxuICBib3JkZXI6IDFweCBzb2xpZCAkcHJlLWJvcmRlci1jb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG5cclxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xyXG4gIGNvZGUge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcclxuLnByZS1zY3JvbGxhYmxlIHtcclxuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuIiwiLy9cclxuLy8gR3JpZCBzeXN0ZW1cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4vLyBDb250YWluZXIgd2lkdGhzXHJcbi8vXHJcbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cclxuXHJcbi5jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgICBtaW4td2lkdGg6ICRjb250YWluZXItc207XHJcbiAgfVxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xyXG4gICAgbWluLXdpZHRoOiAkY29udGFpbmVyLW1kO1xyXG4gIH1cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcclxuICAgIHdpZHRoOiAkY29udGFpbmVyLWxnO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEZsdWlkIGNvbnRhaW5lclxyXG4vL1xyXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXHJcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxyXG5cclxuLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xyXG59XHJcblxyXG5cclxuLy8gUm93XHJcbi8vXHJcbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXHJcblxyXG4ucm93IHtcclxuICBAaW5jbHVkZSBtYWtlLXJvdztcclxufVxyXG5cclxuXHJcbi8vIENvbHVtbnNcclxuLy9cclxuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xyXG5cclxuQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnM7XHJcblxyXG5cclxuLy8gRXh0cmEgc21hbGwgZ3JpZFxyXG4vL1xyXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgZXh0cmEgc21hbGwgZGV2aWNlcyBsaWtlXHJcbi8vIHNtYXJ0cGhvbmVzLlxyXG5cclxuQGluY2x1ZGUgbWFrZS1ncmlkKHhzKTtcclxuXHJcblxyXG4vLyBTbWFsbCBncmlkXHJcbi8vXHJcbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgc21hbGwgZGV2aWNlIHJhbmdlLCBmcm9tIHBob25lc1xyXG4vLyB0byB0YWJsZXRzLlxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKHNtKTtcclxufVxyXG5cclxuXHJcbi8vIE1lZGl1bSBncmlkXHJcbi8vXHJcbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcclxuICBAaW5jbHVkZSBtYWtlLWdyaWQobWQpO1xyXG59XHJcblxyXG5cclxuLy8gTGFyZ2UgZ3JpZFxyXG4vL1xyXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGxhcmdlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XHJcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKGxnKTtcclxufVxyXG4iLCIvLyBHcmlkIHN5c3RlbVxyXG4vL1xyXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXHJcblxyXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxyXG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbn1cclxuXHJcbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXHJcbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICBtYXJnaW4tbGVmdDogICgkZ3V0dGVyIC8gLTIpO1xyXG4gIG1hcmdpbi1yaWdodDogKCRndXR0ZXIgLyAtMik7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXHJcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xyXG59XHJcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcclxuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbn1cclxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcclxuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxufVxyXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xyXG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxufVxyXG5cclxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcclxuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XHJcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xyXG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcclxuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XHJcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xyXG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XHJcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xyXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XHJcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcclxuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxyXG4vL1xyXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cclxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cclxuXHJcbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXHJcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XHJcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCI7XHJcbiAgfVxyXG4gICN7JGxpc3R9IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxyXG4gICAgbWluLWhlaWdodDogMXB4O1xyXG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXHJcbiAgICBwYWRkaW5nLWxlZnQ6ICAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcclxuQG1peGluIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MsICRpOiAxLCAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiKSB7XHJcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xyXG4gIH1cclxuICAjeyRsaXN0fSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2FsYy1ncmlkLWNvbHVtbigkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcclxuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcclxuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XHJcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPiAwKSB7XHJcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XHJcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcclxuICAgIH1cclxuICB9XHJcbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA9PSAwKSB7XHJcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLTAge1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xyXG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xyXG4gICAgICByaWdodDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID09IDApIHtcclxuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XHJcbiAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xyXG4gICAgLmNvbC0jeyRjbGFzc30tb2Zmc2V0LSN7JGluZGV4fSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xyXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcclxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcclxuICAgIEBpbmNsdWRlIGNhbGMtZ3JpZC1jb2x1bW4oJGksICRjbGFzcywgJHR5cGUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIENyZWF0ZSBncmlkIGZvciBzcGVjaWZpYyBjbGFzc1xyXG5AbWl4aW4gbWFrZS1ncmlkKCRjbGFzcykge1xyXG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xyXG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgd2lkdGgpO1xyXG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVsbCk7XHJcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcclxuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIG9mZnNldCk7XHJcbn1cclxuIiwiLy9cclxuLy8gVGFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxudGFibGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcclxufVxyXG5jYXB0aW9uIHtcclxuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcclxuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcclxuICBjb2xvcjogJHRleHQtbXV0ZWQ7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG50aCB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuXHJcbi8vIEJhc2VsaW5lIHN0eWxlc1xyXG5cclxuLnRhYmxlIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIC8vIENlbGxzXHJcbiAgPiB0aGVhZCxcclxuICA+IHRib2R5LFxyXG4gID4gdGZvb3Qge1xyXG4gICAgPiB0ciB7XHJcbiAgICAgID4gdGgsXHJcbiAgICAgID4gdGQge1xyXG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gQm90dG9tIGFsaWduIGZvciBjb2x1bW4gaGVhZGluZ3NcclxuICA+IHRoZWFkID4gdHIgPiB0aCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XHJcbiAgfVxyXG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxyXG4gID4gY2FwdGlvbiArIHRoZWFkLFxyXG4gID4gY29sZ3JvdXAgKyB0aGVhZCxcclxuICA+IHRoZWFkOmZpcnN0LWNoaWxkIHtcclxuICAgID4gdHI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICA+IHRoLFxyXG4gICAgICA+IHRkIHtcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIEFjY291bnQgZm9yIG11bHRpcGxlIHRib2R5IGluc3RhbmNlc1xyXG4gID4gdGJvZHkgKyB0Ym9keSB7XHJcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC8vIE5lc3RpbmdcclxuICAudGFibGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xyXG5cclxuLnRhYmxlLWNvbmRlbnNlZCB7XHJcbiAgPiB0aGVhZCxcclxuICA+IHRib2R5LFxyXG4gID4gdGZvb3Qge1xyXG4gICAgPiB0ciB7XHJcbiAgICAgID4gdGgsXHJcbiAgICAgID4gdGQge1xyXG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQm9yZGVyZWQgdmVyc2lvblxyXG4vL1xyXG4vLyBBZGQgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXHJcblxyXG4udGFibGUtYm9yZGVyZWQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XHJcbiAgPiB0aGVhZCxcclxuICA+IHRib2R5LFxyXG4gID4gdGZvb3Qge1xyXG4gICAgPiB0ciB7XHJcbiAgICAgID4gdGgsXHJcbiAgICAgID4gdGQge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgPiB0aGVhZCA+IHRyIHtcclxuICAgID4gdGgsXHJcbiAgICA+IHRkIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFplYnJhLXN0cmlwaW5nXHJcbi8vXHJcbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXHJcblxyXG4udGFibGUtc3RyaXBlZCB7XHJcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWFjY2VudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBIb3ZlciBlZmZlY3RcclxuLy9cclxuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xyXG5cclxuLnRhYmxlLWhvdmVyIHtcclxuICA+IHRib2R5ID4gdHI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWhvdmVyO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFRhYmxlIGNlbGwgc2l6aW5nXHJcbi8vXHJcbi8vIFJlc2V0IGRlZmF1bHQgdGFibGUgYmVoYXZpb3JcclxuXHJcbnRhYmxlIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcclxuICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcclxuICBmbG9hdDogbm9uZTtcclxuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XHJcbn1cclxudGFibGUge1xyXG4gIHRkLFxyXG4gIHRoIHtcclxuICAgICZbY2xhc3MqPVwiY29sLVwiXSB7XHJcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xyXG4vL1xyXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxyXG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxyXG5cclxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcclxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2FjdGl2ZScsICR0YWJsZS1iZy1hY3RpdmUpO1xyXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcclxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2luZm8nLCAkc3RhdGUtaW5mby1iZyk7XHJcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCd3YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xyXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XHJcblxyXG5cclxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcclxuLy9cclxuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmVgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XHJcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcclxuLy8gd2lsbCBkaXNwbGF5IG5vcm1hbGx5LlxyXG5cclxuLnRhYmxlLXJlc3BvbnNpdmUge1xyXG4gIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgbWluLWhlaWdodDogMC4wMSU7IC8vIFdvcmthcm91bmQgZm9yIElFOSBidWcgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE0ODM3KVxyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XHJcblxyXG4gICAgLy8gVGlnaHRlbiB1cCBzcGFjaW5nXHJcbiAgICA+IC50YWJsZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXHJcbiAgICAgID4gdGhlYWQsXHJcbiAgICAgID4gdGJvZHksXHJcbiAgICAgID4gdGZvb3Qge1xyXG4gICAgICAgID4gdHIge1xyXG4gICAgICAgICAgPiB0aCxcclxuICAgICAgICAgID4gdGQge1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFNwZWNpYWwgb3ZlcnJpZGVzIGZvciB0aGUgYm9yZGVyZWQgdGFibGVzXHJcbiAgICA+IC50YWJsZS1ib3JkZXJlZCB7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuXHJcbiAgICAgIC8vIE51a2UgdGhlIGFwcHJvcHJpYXRlIGJvcmRlcnMgc28gdGhhdCB0aGUgcGFyZW50IGNhbiBoYW5kbGUgdGhlbVxyXG4gICAgICA+IHRoZWFkLFxyXG4gICAgICA+IHRib2R5LFxyXG4gICAgICA+IHRmb290IHtcclxuICAgICAgICA+IHRyIHtcclxuICAgICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXHJcbiAgICAgICAgICA+IHRkOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICA+IHRoOmxhc3QtY2hpbGQsXHJcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXHJcbiAgICAgIC8vIGNoYW5jZXMgYXJlIHRoZXJlIHdpbGwgYmUgb25seSBvbmUgYHRyYCBpbiBhIGB0aGVhZGAgYW5kIHRoYXQgd291bGRcclxuICAgICAgLy8gcmVtb3ZlIHRoZSBib3JkZXIgYWx0b2dldGhlci5cclxuICAgICAgPiB0Ym9keSxcclxuICAgICAgPiB0Zm9vdCB7XHJcbiAgICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgID4gdGgsXHJcbiAgICAgICAgICA+IHRkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIFRhYmxlc1xyXG5cclxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcclxuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxyXG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXHJcbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcclxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxyXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xyXG4gICAgPiB0ZC4jeyRzdGF0ZX0sXHJcbiAgICA+IHRoLiN7JHN0YXRlfSxcclxuICAgICYuI3skc3RhdGV9ID4gdGQsXHJcbiAgICAmLiN7JHN0YXRlfSA+IHRoIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXHJcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXHJcbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XHJcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcclxuICAgID4gdGguI3skc3RhdGV9OmhvdmVyLFxyXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcclxuICAgICY6aG92ZXIgPiAuI3skc3RhdGV9LFxyXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0aCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvL1xyXG4vLyBGb3Jtc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIE5vcm1hbGl6ZSBub24tY29udHJvbHNcclxuLy9cclxuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cclxuXHJcbmZpZWxkc2V0IHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxyXG4gIC8vIHNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGl0IGJlaGF2ZXMgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cclxuICBtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbmxlZ2VuZCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XHJcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcclxuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICBjb2xvcjogJGxlZ2VuZC1jb2xvcjtcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsZWdlbmQtYm9yZGVyLWNvbG9yO1xyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1heC13aWR0aDogMTAwJTsgLy8gRm9yY2UgSUU4IHRvIHdyYXAgbG9uZyBjb250ZW50IChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMzE0MSlcclxuICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcblxyXG4vLyBOb3JtYWxpemUgZm9ybSBjb250cm9sc1xyXG4vL1xyXG4vLyBXaGlsZSBtb3N0IG9mIG91ciBmb3JtIHN0eWxlcyByZXF1aXJlIGV4dHJhIGNsYXNzZXMsIHNvbWUgYmFzaWMgbm9ybWFsaXphdGlvblxyXG4vLyBpcyByZXF1aXJlZCB0byBlbnN1cmUgb3B0aW11bSBkaXNwbGF5IHdpdGggb3Igd2l0aG91dCB0aG9zZSBjbGFzc2VzIHRvIGJldHRlclxyXG4vLyBhZGRyZXNzIGJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLlxyXG5cclxuLy8gT3ZlcnJpZGUgY29udGVudC1ib3ggaW4gTm9ybWFsaXplICgqIGlzbid0IHNwZWNpZmljIGVub3VnaClcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcclxufVxyXG5cclxuLy8gUG9zaXRpb24gcmFkaW9zIGFuZCBjaGVja2JveGVzIGJldHRlclxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgbWFyZ2luOiA0cHggMCAwO1xyXG4gIG1hcmdpbi10b3A6IDFweCBcXDk7IC8vIElFOC05XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLy8gU2V0IHRoZSBoZWlnaHQgb2YgZmlsZSBjb250cm9scyB0byBtYXRjaCB0ZXh0IGlucHV0c1xyXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8vIE1ha2UgcmFuZ2UgaW5wdXRzIGJlaGF2ZSBsaWtlIHRleHR1YWwgZm9ybSBjb250cm9sc1xyXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLyBNYWtlIG11bHRpcGxlIHNlbGVjdCBlbGVtZW50cyBoZWlnaHQgbm90IGZpeGVkXHJcbnNlbGVjdFttdWx0aXBsZV0sXHJcbnNlbGVjdFtzaXplXSB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vLyBGb2N1cyBmb3IgZmlsZSwgcmFkaW8sIGFuZCBjaGVja2JveFxyXG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xyXG4gIEBpbmNsdWRlIHRhYi1mb2N1cztcclxufVxyXG5cclxuLy8gQWRqdXN0IG91dHB1dCBlbGVtZW50XHJcbm91dHB1dCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XHJcbn1cclxuXHJcblxyXG4vLyBDb21tb24gZm9ybSBjb250cm9sc1xyXG4vL1xyXG4vLyBTaGFyZWQgc2l6ZSBhbmQgdHlwZSByZXNldHMgZm9yIGZvcm0gY29udHJvbHMuIEFwcGx5IGAuZm9ybS1jb250cm9sYCB0byBhbnlcclxuLy8gb2YgdGhlIGZvbGxvd2luZyBmb3JtIGNvbnRyb2xzOlxyXG4vL1xyXG4vLyBzZWxlY3RcclxuLy8gdGV4dGFyZWFcclxuLy8gaW5wdXRbdHlwZT1cInRleHRcIl1cclxuLy8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdXHJcbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVxyXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1cclxuLy8gaW5wdXRbdHlwZT1cImRhdGVcIl1cclxuLy8gaW5wdXRbdHlwZT1cIm1vbnRoXCJdXHJcbi8vIGlucHV0W3R5cGU9XCJ0aW1lXCJdXHJcbi8vIGlucHV0W3R5cGU9XCJ3ZWVrXCJdXHJcbi8vIGlucHV0W3R5cGU9XCJudW1iZXJcIl1cclxuLy8gaW5wdXRbdHlwZT1cImVtYWlsXCJdXHJcbi8vIGlucHV0W3R5cGU9XCJ1cmxcIl1cclxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXVxyXG4vLyBpbnB1dFt0eXBlPVwidGVsXCJdXHJcbi8vIGlucHV0W3R5cGU9XCJjb2xvclwiXVxyXG5cclxuLmZvcm0tY29udHJvbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcclxuICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXHJcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzKTtcclxuXHJcbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cztcclxuXHJcbiAgLy8gUGxhY2Vob2xkZXJcclxuICBAaW5jbHVkZSBwbGFjZWhvbGRlcjtcclxuXHJcbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcclxuICAvL1xyXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXHJcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcclxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXHJcbiAgJltkaXNhYmxlZF0sXHJcbiAgJltyZWFkb25seV0sXHJcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xyXG4gICAgb3BhY2l0eTogMTsgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NVxyXG4gIH1cclxuXHJcbiAgJltkaXNhYmxlZF0sXHJcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xyXG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRleHRhcmVhJiB0byB0ZXh0YXJlYS5mb3JtLWNvbnRyb2xcclxufVxyXG5cclxuLy8gUmVzZXQgaGVpZ2h0IGZvciBgdGV4dGFyZWFgc1xyXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuXHJcbi8vIFNlYXJjaCBpbnB1dHMgaW4gaU9TXHJcbi8vXHJcbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcclxuLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XHJcbi8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cclxuXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuXHJcbi8vIFNwZWNpYWwgc3R5bGVzIGZvciBpT1MgdGVtcG9yYWwgaW5wdXRzXHJcbi8vXHJcbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxyXG4vLyB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgdG8gYmVjb21lIHZlcnRpY2FsbHkgbWlzYWxpZ25lZC4gQXMgYSB3b3JrYXJvdW5kLCB3ZVxyXG4vLyBzZXQgYSBwaXhlbCBsaW5lLWhlaWdodCB0aGF0IG1hdGNoZXMgdGhlIGdpdmVuIGhlaWdodCBvZiB0aGUgaW5wdXQsIGJ1dCBvbmx5XHJcbi8vIGZvciBTYWZhcmkuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XHJcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXHJcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XHJcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xyXG5cclxuICAgICYuaW5wdXQtc20sXHJcbiAgICAuaW5wdXQtZ3JvdXAtc20gJiB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xyXG4gICAgfVxyXG5cclxuICAgICYuaW5wdXQtbGcsXHJcbiAgICAuaW5wdXQtZ3JvdXAtbGcgJiB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEZvcm0gZ3JvdXBzXHJcbi8vXHJcbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3JcclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cclxuXHJcbi5mb3JtLWdyb3VwIHtcclxuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xyXG59XHJcblxyXG5cclxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXHJcbi8vXHJcbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXHJcblxyXG4ucmFkaW8sXHJcbi5jaGVja2JveCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgbGFiZWwge1xyXG4gICAgbWluLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOyAvLyBFbnN1cmUgdGhlIGlucHV0IGRvZXNuJ3QganVtcCB3aGVuIHRoZXJlIGlzIG5vIHRleHRcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG4ucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcclxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBtYXJnaW4tbGVmdDogLTIwcHg7XHJcbiAgbWFyZ2luLXRvcDogNHB4IFxcOTtcclxufVxyXG5cclxuLnJhZGlvICsgLnJhZGlvLFxyXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xyXG4gIG1hcmdpbi10b3A6IC01cHg7IC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXHJcbn1cclxuXHJcbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBvbiBzYW1lIGxpbmVcclxuLnJhZGlvLWlubGluZSxcclxuLmNoZWNrYm94LWlubGluZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxyXG4uY2hlY2tib3gtaW5saW5lICsgLmNoZWNrYm94LWlubGluZSB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tbGVmdDogMTBweDsgLy8gc3BhY2Ugb3V0IGNvbnNlY3V0aXZlIGlubGluZSBjb250cm9sc1xyXG59XHJcblxyXG4vLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXHJcbi8vIFNvbWUgc3BlY2lhbCBjYXJlIGlzIG5lZWRlZCBiZWNhdXNlIDxsYWJlbD5zIGRvbid0IGluaGVyaXQgdGhlaXIgcGFyZW50J3MgYGN1cnNvcmAuXHJcbi8vXHJcbi8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICZbZGlzYWJsZWRdLFxyXG4gICYuZGlzYWJsZWQsXHJcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xyXG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xyXG4gIH1cclxufVxyXG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIGRpcmVjdGx5IG9uIDxsYWJlbD5zXHJcbi5yYWRpby1pbmxpbmUsXHJcbi5jaGVja2JveC1pbmxpbmUge1xyXG4gICYuZGlzYWJsZWQsXHJcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xyXG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xyXG4gIH1cclxufVxyXG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIG9uIGVsZW1lbnRzIHdpdGggPGxhYmVsPiBkZXNjZW5kYW50c1xyXG4ucmFkaW8sXHJcbi5jaGVja2JveCB7XHJcbiAgJi5kaXNhYmxlZCxcclxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBTdGF0aWMgZm9ybSBjb250cm9sIHRleHRcclxuLy9cclxuLy8gQXBwbHkgY2xhc3MgdG8gYSBgcGAgZWxlbWVudCB0byBtYWtlIGFueSBzdHJpbmcgb2YgdGV4dCBhbGlnbiB3aXRoIGxhYmVscyBpblxyXG4vLyBhIGhvcml6b250YWwgZm9ybSBsYXlvdXQuXHJcblxyXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XHJcbiAgLy8gU2l6ZSBpdCBhcHByb3ByaWF0ZWx5IG5leHQgdG8gcmVhbCBmb3JtIGNvbnRyb2xzXHJcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XHJcbiAgcGFkZGluZy1ib3R0b206ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XHJcbiAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGZyb20gYHBgXHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1iYXNlKTtcclxuXHJcbiAgJi5pbnB1dC1sZyxcclxuICAmLmlucHV0LXNtIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xyXG4vL1xyXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxyXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxyXG4vL1xyXG4vLyBUaGUgYC5mb3JtLWdyb3VwLSogZm9ybS1jb250cm9sYCB2YXJpYXRpb25zIGFyZSBzYWRseSBkdXBsaWNhdGVkIHRvIGF2b2lkIHRoZVxyXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXHJcblxyXG5AaW5jbHVkZSBpbnB1dC1zaXplKCcuaW5wdXQtc20nLCAkaW5wdXQtaGVpZ2h0LXNtYWxsLCAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbCk7XHJcbi5mb3JtLWdyb3VwLXNtIHtcclxuXHJcbiAgQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmZvcm0tY29udHJvbCcsICRpbnB1dC1oZWlnaHQtc21hbGwsICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsKTtcclxuXHJcbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xyXG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmctc21hbGwtdmVydGljYWwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XHJcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1zbWFsbCk7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBpbnB1dC1zaXplKCcuaW5wdXQtbGcnLCAkaW5wdXQtaGVpZ2h0LWxhcmdlLCAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZSk7XHJcbi5mb3JtLWdyb3VwLWxnIHtcclxuXHJcbiAgQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmZvcm0tY29udHJvbCcsICRpbnB1dC1oZWlnaHQtbGFyZ2UsICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlKTtcclxuXHJcbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xyXG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XHJcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1sYXJnZSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xyXG4vL1xyXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxyXG5cclxuLmhhcy1mZWVkYmFjayB7XHJcbiAgLy8gRW5hYmxlIGFic29sdXRlIHBvc2l0aW9uaW5nXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAvLyBFbnN1cmUgaWNvbnMgZG9uJ3Qgb3ZlcmxhcCB0ZXh0XHJcbiAgLmZvcm0tY29udHJvbCB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGlucHV0LWhlaWdodC1iYXNlICogMS4yNSk7XHJcbiAgfVxyXG59XHJcbi8vIEZlZWRiYWNrIGljb24gKHJlcXVpcmVzIC5nbHlwaGljb24gY2xhc3NlcylcclxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogJGlucHV0LWhlaWdodC1iYXNlO1xyXG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xyXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5pbnB1dC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xyXG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xyXG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcclxuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcclxufVxyXG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcclxuICB3aWR0aDogJGlucHV0LWhlaWdodC1zbWFsbDtcclxuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XHJcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XHJcbn1cclxuXHJcbi8vIEZlZWRiYWNrIHN0YXRlc1xyXG4uaGFzLXN1Y2Nlc3Mge1xyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLWJnKTtcclxufVxyXG4uaGFzLXdhcm5pbmcge1xyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLWJnKTtcclxufVxyXG4uaGFzLWVycm9yIHtcclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci1iZyk7XHJcbn1cclxuXHJcbi8vIFJlcG9zaXRpb24gZmVlZGJhY2sgaWNvbiBpZiBpbnB1dCBoYXMgdmlzaWJsZSBsYWJlbCBhYm92ZVxyXG4uaGFzLWZlZWRiYWNrIGxhYmVsIHtcclxuXHJcbiAgJiB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xyXG4gICAgIHRvcDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArIDUpOyAvLyBIZWlnaHQgb2YgdGhlIGBsYWJlbGAgYW5kIGl0cyBtYXJnaW5cclxuICB9XHJcbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XHJcbiAgICAgdG9wOiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEhlbHAgdGV4dFxyXG4vL1xyXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB5b3Ugd2lzaCB0byBjcmVhdGUgbGlnaHQgdGV4dCBmb3IgcGxhY2VtZW50IGltbWVkaWF0ZWx5XHJcbi8vIGJlbG93IGEgZm9ybSBjb250cm9sLiBVc2UgZm9yIGdlbmVyYWwgaGVscCwgZm9ybWF0dGluZywgb3IgaW5zdHJ1Y3Rpb25hbCB0ZXh0LlxyXG5cclxuLmhlbHAtYmxvY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrOyAvLyBhY2NvdW50IGZvciBhbnkgZWxlbWVudCB1c2luZyBoZWxwLWJsb2NrXHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDI1JSk7IC8vIGxpZ2h0ZW4gdGhlIHRleHQgc29tZSBmb3IgY29udHJhc3RcclxufVxyXG5cclxuXHJcbi8vIElubGluZSBmb3Jtc1xyXG4vL1xyXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcclxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXHJcbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXHJcbi8vXHJcbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2ZcclxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cclxuLy9cclxuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXHJcblxyXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmZvcm0taW5saW5lYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XHJcbkBtaXhpbiBmb3JtLWlubGluZSB7XHJcblxyXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xyXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXHJcbiAgICAuZm9ybS1ncm91cCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJbiBuYXZiYXItZm9ybSwgYWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcclxuICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXHJcbiAgICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXHJcbiAgICAgIC5pbnB1dC1ncm91cC1idG4sXHJcbiAgICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW5wdXQgZ3JvdXBzIG5lZWQgdGhhdCAxMDAlIHdpZHRoIHRob3VnaFxyXG4gICAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250cm9sLWxhYmVsIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcclxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxyXG4gICAgLnJhZGlvLFxyXG4gICAgLmNoZWNrYm94IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcclxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxyXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYXMgYEBtaXhpbiBmb3JtLWlubGluZWAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxyXG4uZm9ybS1pbmxpbmUge1xyXG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xyXG59XHJcblxyXG5cclxuXHJcbi8vIEhvcml6b250YWwgZm9ybXNcclxuLy9cclxuLy8gSG9yaXpvbnRhbCBmb3JtcyBhcmUgYnVpbHQgb24gZ3JpZCBjbGFzc2VzIGFuZCBhbGxvdyB5b3UgdG8gY3JlYXRlIGZvcm1zIHdpdGhcclxuLy8gbGFiZWxzIG9uIHRoZSBsZWZ0IGFuZCBpbnB1dHMgb24gdGhlIHJpZ2h0LlxyXG5cclxuLmZvcm0taG9yaXpvbnRhbCB7XHJcblxyXG4gIC8vIENvbnNpc3RlbnQgdmVydGljYWwgYWxpZ25tZW50IG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xyXG4gIC8vXHJcbiAgLy8gTGFiZWxzIGFsc28gZ2V0IHNvbWUgcmVzZXQgc3R5bGVzLCBidXQgdGhhdCBpcyBzY29wZWQgdG8gYSBtZWRpYSBxdWVyeSBiZWxvdy5cclxuICAucmFkaW8sXHJcbiAgLmNoZWNrYm94LFxyXG4gIC5yYWRpby1pbmxpbmUsXHJcbiAgLmNoZWNrYm94LWlubGluZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxyXG4gIH1cclxuICAvLyBBY2NvdW50IGZvciBwYWRkaW5nIHdlJ3JlIGFkZGluZyB0byBlbnN1cmUgdGhlIGFsaWdubWVudCBhbmQgb2YgaGVscCB0ZXh0XHJcbiAgLy8gYW5kIG90aGVyIGNvbnRlbnQgYmVsb3cgaXRlbXNcclxuICAucmFkaW8sXHJcbiAgLmNoZWNrYm94IHtcclxuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpKTtcclxuICB9XHJcblxyXG4gIC8vIE1ha2UgZm9ybSBncm91cHMgYmVoYXZlIGxpa2Ugcm93c1xyXG4gIC5mb3JtLWdyb3VwIHtcclxuICAgIEBpbmNsdWRlIG1ha2Utcm93O1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgc3BhY2luZyBhbmQgcmlnaHQgYWxpZ24gbGFiZWxzLCBidXQgc2NvcGUgdG8gbWVkaWEgcXVlcmllcyBzbyB0aGF0XHJcbiAgLy8gbGFiZWxzIG9uIG5hcnJvdyB2aWV3cG9ydHMgc3RhY2sgdGhlIHNhbWUgYXMgYSBkZWZhdWx0IGZvcm0gZXhhbXBsZS5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcclxuICAgIC5jb250cm9sLWxhYmVsIHtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVmFsaWRhdGlvbiBzdGF0ZXNcclxuICAvL1xyXG4gIC8vIFJlcG9zaXRpb24gdGhlIGljb24gYmVjYXVzZSBpdCdzIG5vdyB3aXRoaW4gYSBncmlkIGNvbHVtbiBhbmQgY29sdW1ucyBoYXZlXHJcbiAgLy8gYHBvc2l0aW9uOiByZWxhdGl2ZTtgIG9uIHRoZW0uIEFsc28gYWNjb3VudHMgZm9yIHRoZSBncmlkIGd1dHRlciBwYWRkaW5nLlxyXG4gIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XHJcbiAgICByaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xyXG4gIH1cclxuXHJcbiAgLy8gRm9ybSBncm91cCBzaXplc1xyXG4gIC8vXHJcbiAgLy8gUXVpY2sgdXRpbGl0eSBjbGFzcyBmb3IgYXBwbHlpbmcgYC5pbnB1dC1sZ2AgYW5kIGAuaW5wdXQtc21gIHN0eWxlcyB0byB0aGVcclxuICAvLyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoaW4gYSBgLmZvcm0tZ3JvdXBgLlxyXG4gIC5mb3JtLWdyb3VwLWxnIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xyXG4gICAgICAuY29udHJvbC1sYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICgoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmZvcm0tZ3JvdXAtc20ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICsgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gY3VzdG9tIGNvbG9ycyBmb3IgTG9naXRlY2ggdGhlbWVcclxuLy8kYmx1ZSAgICAgICAgICAgICAgICAgICA6ICAjMTE5NGY2O1xyXG4kYmx1ZSAgICAgICAgICAgICAgICAgICA6ICAjMDBiZmZmOyAvL2F6enVycm9cbiRsaWdodC1ibHVlICAgICAgICAgICAgIDogICMwYWI5ZmY7IC8vZ2FtaW5nIGJsdWVcclxuJHRlYWwgICAgICAgICAgICAgICAgICAgOiAgIzAwZWFkMDtcdC8vY2lhbm9cclxuLy8kcGluayAgICAgICAgICAgICAgICAgICA6ICAjZmY3MDc1O1xyXG4kcGluayAgICAgICAgICAgICAgICAgICA6ICAjZmY2ODYxOyAgLy9uZW9cclxuJHllbGxvdyAgICAgICAgICAgICAgICAgOiAgI2RiZmQwMTtcclxuJHllbGxvdy1ncmVlbiAgICAgICAgICAgOiAgI2RjZmQwMDsgLy9lbGVjdHJpY29cclxuLy8keWVsbG93LWdyZWVuICAgICAgICAgICA6ICAjZGNmZDAwO1xyXG4kcHVycGxlICAgICAgICAgICAgICAgICA6ICAjODE0ZWZhOyAvL2xpbGFcclxuLy8kcmVkICAgICAgICAgICAgICAgICAgICA6ICAjZjkzMjQ4O1xyXG4kcmVkICAgICAgICAgICAgICAgICAgICA6ICAjZmYyOTQ3OyAvL2tpcnNjaGVcclxuLy8kZ3JleSAgICAgICAgICAgICAgICAgICA6ICAjYzJjNmNhO1xyXG4kZ3JleSAgICAgICAgICAgICAgICAgICA6ICAjYzNjNmM4O1x0Ly9hY2llclxyXG4kdGV4dC1ncmF5ICAgICAgICAgICAgICA6ICAjMmYzMTMyOyAvL2tvaGxlXHJcbiRsaWdodC1ncmF5ICAgICAgICAgICAgIDogICNlZGVkZWQ7XHJcbiRncmF5ICAgICAgICAgICAgICAgICAgIDogICNhYWFhYWE7XHJcbiRkYXJrLWdyYXkgICAgICAgICAgICAgIDogICMyNTJhMmM7XHJcbiRtZWRpdW0tZ3JheSAgICAgICAgICAgIDogICM1NTU1NTU7XHJcbiRpbmJldHdlZW4tZ3JheSAgICAgICAgIDogICM3Nzc3Nzc7XHJcbiRtZWRpdW0tZGFyay1ncmF5ICAgICAgIDogICM4ODg4ODg7XHJcbiRkYXJrLWdyYXktbGluZSAgICAgICAgIDogICMyMTI2Mjg7XHJcbiR3aGl0ZSAgICAgICAgICAgICAgICAgIDogICNmZmZmZmY7XHJcbiRibGFjayAgICAgICAgICAgICAgICAgIDogICMwMDAwMDA7XHJcblxyXG4vLyRtZWRpdW0tYmx1ZSAgICAgICAgICAgIDogICMwYWI5ZmY7XHJcbi8vJGdhbWluZy1ncmF5ICAgICAgICAgICAgOiAgIzEwMTgyMDtcclxuXHJcblxyXG4kZmFkZWRcdFx0XHRcdDpyZ2JhKCMwMDAsIC40KTtcclxuXHJcbiRXaGl0ZVNpeHR5U2l4UGVyY2VudCAgIDogIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42Nik7XHJcbiR3aGl0ZVR3ZW50eVBlcmNlbnQgICAgIDogIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuXHJcbiRob3Zlci1kZWxheSAgICAgICAgICAgIDogIC4zM3M7XHJcbiRzcHJpdGUtc2hlZXQtY2hlY2tib3ggIDogIHVybCgnLi4vLi4vaW1hZ2VzL2NoZWNrYm94X3Nwcml0ZV9zaGVldC5wbmcnKTtcclxuIiwiLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xyXG4vL1xyXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXHJcbi8vIGFuZCBzdWNjZXNzZXMuXHJcblxyXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XHJcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcclxuICAuaGVscC1ibG9jayxcclxuICAuY29udHJvbC1sYWJlbCxcclxuICAucmFkaW8sXHJcbiAgLmNoZWNrYm94LFxyXG4gIC5yYWRpby1pbmxpbmUsXHJcbiAgLmNoZWNrYm94LWlubGluZSxcclxuICAmLnJhZGlvIGxhYmVsLFxyXG4gICYuY2hlY2tib3ggbGFiZWwsXHJcbiAgJi5yYWRpby1pbmxpbmUgbGFiZWwsXHJcbiAgJi5jaGVja2JveC1pbmxpbmUgbGFiZWwgIHtcclxuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuICB9XHJcbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXHJcbiAgLmZvcm0tY29udHJvbCB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xyXG4gICAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcclxuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XHJcbiAgfVxyXG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cclxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcclxuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcclxuLy9cclxuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcclxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cclxuLy9cclxuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXHJcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXHJcbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcclxuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxyXG4vL1xyXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXHJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cclxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXMpIHtcclxuICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpLCAuNik7XHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4ICRjb2xvci1yZ2JhKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEZvcm0gY29udHJvbCBzaXppbmdcclxuLy9cclxuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxyXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcclxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXHJcbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xyXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICB9XHJcblxyXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xyXG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXHJcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG4iLCIvL1xyXG4vLyBCdXR0b25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gQmFzZSBzdHlsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5idG4ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXHJcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcclxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1iYXNlLCAkbGluZS1oZWlnaHQtYmFzZSwgJGJvcmRlci1yYWRpdXMtYmFzZSk7XHJcbiAgQGluY2x1ZGUgdXNlci1zZWxlY3Qobm9uZSk7XHJcblxyXG4gICYsXHJcbiAgJjphY3RpdmUsXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgJjpmb2N1cyxcclxuICAgICYuZm9jdXMge1xyXG4gICAgICBAaW5jbHVkZSB0YWItZm9jdXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMsXHJcbiAgJi5mb2N1cyB7XHJcbiAgICBjb2xvcjogJGJ0bi1kZWZhdWx0LWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmUsXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcclxuICB9XHJcblxyXG4gICYuZGlzYWJsZWQsXHJcbiAgJltkaXNhYmxlZF0sXHJcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xyXG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzXHJcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC42NSk7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEFsdGVybmF0ZSBidXR0b25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uYnRuLWRlZmF1bHQge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGVmYXVsdC1jb2xvciwgJGJ0bi1kZWZhdWx0LWJnLCAkYnRuLWRlZmF1bHQtYm9yZGVyKTtcclxufVxyXG4uYnRuLXByaW1hcnkge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcclxufVxyXG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cclxuLmJ0bi1zdWNjZXNzIHtcclxuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXN1Y2Nlc3MtY29sb3IsICRidG4tc3VjY2Vzcy1iZywgJGJ0bi1zdWNjZXNzLWJvcmRlcik7XHJcbn1cclxuLy8gSW5mbyBhcHBlYXJzIGFzIGJsdWUtZ3JlZW5cclxuLmJ0bi1pbmZvIHtcclxuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWluZm8tY29sb3IsICRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJvcmRlcik7XHJcbn1cclxuLy8gV2FybmluZyBhcHBlYXJzIGFzIG9yYW5nZVxyXG4uYnRuLXdhcm5pbmcge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4td2FybmluZy1jb2xvciwgJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYm9yZGVyKTtcclxufVxyXG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcclxuLmJ0bi1kYW5nZXIge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGFuZ2VyLWNvbG9yLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYm9yZGVyKTtcclxufVxyXG5cclxuXHJcbi8vIExpbmsgYnV0dG9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xyXG4uYnRuLWxpbmsge1xyXG4gIGNvbG9yOiAkbGluay1jb2xvcjtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICYsXHJcbiAgJjphY3RpdmUsXHJcbiAgJi5hY3RpdmUsXHJcbiAgJltkaXNhYmxlZF0sXHJcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gIH1cclxuICAmLFxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyxcclxuICAmOmFjdGl2ZSB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG4gICZbZGlzYWJsZWRdLFxyXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEJ1dHRvbiBTaXplc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmJ0bi1sZyB7XHJcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBldmVuLW51bWJlcmVkIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBsYXJnZSBpbnB1dFxyXG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRib3JkZXItcmFkaXVzLWxhcmdlKTtcclxufVxyXG4uYnRuLXNtIHtcclxuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIHByb3BlciBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gc21hbGwgaW5wdXRcclxuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkYm9yZGVyLXJhZGl1cy1zbWFsbCk7XHJcbn1cclxuLmJ0bi14cyB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcteHMtdmVydGljYWwsICRwYWRkaW5nLXhzLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJvcmRlci1yYWRpdXMtc21hbGwpO1xyXG59XHJcblxyXG5cclxuLy8gQmxvY2sgYnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uYnRuLWJsb2NrIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xyXG4uYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG59XHJcblxyXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcclxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcclxuICAmLmJ0bi1ibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXHJcbi8vXHJcbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcclxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXHJcblxyXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMsXHJcbiAgJi5mb2N1cyxcclxuICAmOmFjdGl2ZSxcclxuICAmLmFjdGl2ZSxcclxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcclxuICB9XHJcbiAgJjphY3RpdmUsXHJcbiAgJi5hY3RpdmUsXHJcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gIH1cclxuICAmLmRpc2FibGVkLFxyXG4gICZbZGlzYWJsZWRdLFxyXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcclxuICAgICYsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyxcclxuICAgICYuZm9jdXMsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmFkZ2Uge1xyXG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9uIHNpemVzXHJcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuIiwiLy8gT3BhY2l0eVxyXG5cclxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcclxuICBvcGFjaXR5OiAkb3BhY2l0eTtcclxuICAvLyBJRTggZmlsdGVyXHJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XHJcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTtcclxufVxyXG4iLCIvL1xyXG4vLyBDb21wb25lbnQgYW5pbWF0aW9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gSGVhZHMgdXAhXHJcbi8vXHJcbi8vIFdlIGRvbid0IHVzZSB0aGUgYC5vcGFjaXR5KClgIG1peGluIGhlcmUgc2luY2UgaXQgY2F1c2VzIGEgYnVnIHdpdGggdGV4dFxyXG4vLyBmaWVsZHMgaW4gSUU3LTguIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzU1Mi5cclxuXHJcbi5mYWRlIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuMTVzIGxpbmVhcik7XHJcbiAgJi5pbiB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbGxhcHNlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAmLmluICAgICAgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0ciYuaW4gdG8gdHIuY29sbGFwc2UuaW5cclxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgdGJvZHkmLmluIHRvIHRib2R5LmNvbGxhcHNlLmluXHJcbn1cclxuXHJcbnRyLmNvbGxhcHNlLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XHJcblxyXG50Ym9keS5jb2xsYXBzZS5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxyXG5cclxuLmNvbGxhcHNpbmcge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KGhlaWdodCwgdmlzaWJpbGl0eSk7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbiguMzVzKTtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlKTtcclxufVxyXG4iLCIvL1xyXG4vLyBEcm9wZG93biBtZW51c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIERyb3Bkb3duIGFycm93L2NhcmV0XHJcbi5jYXJldCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBtYXJnaW4tbGVmdDogMnB4O1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgYm9yZGVyLXRvcDogICAkY2FyZXQtd2lkdGgtYmFzZSBkYXNoZWQ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItbGVmdDogICRjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4vLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoZGl2KVxyXG4uZHJvcHVwLFxyXG4uZHJvcGRvd24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLy8gUHJldmVudCB0aGUgZm9jdXMgb24gdGhlIGRyb3Bkb3duIHRvZ2dsZSB3aGVuIGNsb3NpbmcgZHJvcGRvd25zXHJcbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8vIFRoZSBkcm9wZG93biBtZW51ICh1bClcclxuLmRyb3Bkb3duLW1lbnUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xyXG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgbWluLXdpZHRoOiAxNjBweDtcclxuICBwYWRkaW5nOiA1cHggMDtcclxuICBtYXJnaW46IDJweCAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjsgLy8gSUU4IGZhbGxiYWNrXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpKTtcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cclxuICAvLyBBbGlnbnMgdGhlIGRyb3Bkb3duIG1lbnUgdG8gcmlnaHRcclxuICAvL1xyXG4gIC8vIERlcHJlY2F0ZWQgYXMgb2YgMy4xLjAgaW4gZmF2b3Igb2YgYC5kcm9wZG93bi1tZW51LVtkaXJdYFxyXG4gICYucHVsbC1yaWdodCB7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gdGhlIGRyb3Bkb3duXHJcbiAgLmRpdmlkZXIge1xyXG4gICAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcpO1xyXG4gIH1cclxuXHJcbiAgLy8gTGlua3Mgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XHJcbiAgPiBsaSA+IGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAzcHggMjBweDtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xyXG4gIH1cclxufVxyXG5cclxuLy8gSG92ZXIvRm9jdXMgc3RhdGVcclxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1iZztcclxuICB9XHJcbn1cclxuXHJcbi8vIEFjdGl2ZSBzdGF0ZVxyXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhIHtcclxuICAmLFxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZztcclxuICB9XHJcbn1cclxuXHJcbi8vIERpc2FibGVkIHN0YXRlXHJcbi8vXHJcbi8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XHJcblxyXG4uZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEge1xyXG4gICYsXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcclxuICB9XHJcblxyXG4gIC8vIE51a2UgaG92ZXIvZm9jdXMgZWZmZWN0c1xyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcclxuICAgIEBpbmNsdWRlIHJlc2V0LWZpbHRlcjtcclxuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE9wZW4gc3RhdGUgZm9yIHRoZSBkcm9wZG93blxyXG4ub3BlbiB7XHJcbiAgLy8gU2hvdyB0aGUgbWVudVxyXG4gID4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiA6Zm9jdXMgaXMgdHJpZ2dlcmVkXHJcbiAgPiBhIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZW51IHBvc2l0aW9uaW5nXHJcbi8vXHJcbi8vIEFkZCBleHRyYSBjbGFzcyB0byBgLmRyb3Bkb3duLW1lbnVgIHRvIGZsaXAgdGhlIGFsaWdubWVudCBvZiB0aGUgZHJvcGRvd25cclxuLy8gbWVudSB3aXRoIHRoZSBwYXJlbnQuXHJcbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcclxuICBsZWZ0OiBhdXRvOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIGAuZHJvcGRvd24tbWVudWBcclxuICByaWdodDogMDtcclxufVxyXG4vLyBXaXRoIHYzLCB3ZSBlbmFibGVkIGF1dG8tZmxpcHBpbmcgaWYgeW91IGhhdmUgYSBkcm9wZG93biB3aXRoaW4gYSByaWdodFxyXG4vLyBhbGlnbmVkIG5hdiBjb21wb25lbnQuIFRvIGVuYWJsZSB0aGUgdW5kb2luZyBvZiB0aGF0LCB3ZSBwcm92aWRlIGFuIG92ZXJyaWRlXHJcbi8vIHRvIHJlc3RvcmUgdGhlIGRlZmF1bHQgZHJvcGRvd24gbWVudSBhbGlnbm1lbnQuXHJcbi8vXHJcbi8vIFRoaXMgaXMgb25seSBmb3IgbGVmdC1hbGlnbmluZyBhIGRyb3Bkb3duIG1lbnUgd2l0aGluIGEgYC5uYXZiYXItcmlnaHRgIG9yXHJcbi8vIGAucHVsbC1yaWdodGAgbmF2IGNvbXBvbmVudC5cclxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogYXV0bztcclxufVxyXG5cclxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXHJcbi5kcm9wZG93bi1oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6IDNweCAyMHB4O1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxyXG59XHJcblxyXG4vLyBCYWNrZHJvcCB0byBjYXRjaCBib2R5IGNsaWNrcyBvbiBtb2JpbGUsIGV0Yy5cclxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHotaW5kZXg6ICgkemluZGV4LWRyb3Bkb3duIC0gMTApO1xyXG59XHJcblxyXG4vLyBSaWdodCBhbGlnbmVkIGRyb3Bkb3duc1xyXG4ucHVsbC1yaWdodCA+IC5kcm9wZG93bi1tZW51IHtcclxuICByaWdodDogMDtcclxuICBsZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcclxuLy9cclxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LCBicm8uXHJcblxyXG4uZHJvcHVwLFxyXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24ge1xyXG4gIC8vIFJldmVyc2UgdGhlIGNhcmV0XHJcbiAgLmNhcmV0IHtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgfVxyXG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcclxuICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBib3R0b206IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxyXG4vL1xyXG4vLyBSZWl0ZXJhdGUgcGVyIG5hdmJhci5sZXNzIGFuZCB0aGUgbW9kaWZpZWQgY29tcG9uZW50IGFsaWdubWVudCB0aGVyZS5cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XHJcbiAgLm5hdmJhci1yaWdodCB7XHJcbiAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgIHJpZ2h0OiAwOyBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLy8gTmVjZXNzYXJ5IGZvciBvdmVycmlkZXMgb2YgdGhlIGRlZmF1bHQgcmlnaHQgYWxpZ25lZCBtZW51LlxyXG4gICAgLy8gV2lsbCByZW1vdmUgY29tZSB2NCBpbiBhbGwgbGlrZWxpaG9vZC5cclxuICAgIC5kcm9wZG93bi1tZW51LWxlZnQge1xyXG4gICAgICBsZWZ0OiAwOyByaWdodDogYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xyXG4vL1xyXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcclxuXHJcbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcclxuICBoZWlnaHQ6IDFweDtcclxuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG59XHJcbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXHJcbi8vXHJcbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxyXG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxyXG5cclxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO1xyXG59XHJcbiIsIi8vXHJcbi8vIEJ1dHRvbiBncm91cHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxyXG4uYnRuLWdyb3VwLFxyXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXHJcbiAgPiAuYnRuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcclxuLmJ0bi1ncm91cCB7XHJcbiAgLmJ0biArIC5idG4sXHJcbiAgLmJ0biArIC5idG4tZ3JvdXAsXHJcbiAgLmJ0bi1ncm91cCArIC5idG4sXHJcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXHJcbi5idG4tdG9vbGJhciB7XHJcbiAgbWFyZ2luLWxlZnQ6IC01cHg7IC8vIE9mZnNldCB0aGUgZmlyc3QgY2hpbGQncyBtYXJnaW5cclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgLmJ0bi1ncm91cCxcclxuICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG4gID4gLmJ0bixcclxuICA+IC5idG4tZ3JvdXAsXHJcbiAgPiAuaW5wdXQtZ3JvdXAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICB9XHJcbn1cclxuXHJcbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcblxyXG4vLyBTZXQgY29ybmVycyBpbmRpdmlkdWFsIGJlY2F1c2Ugc29tZXRpbWVzIGEgc2luZ2xlIGJ1dHRvbiBjYW4gYmUgaW4gYSAuYnRuLWdyb3VwIGFuZCB3ZSBuZWVkIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3QtY2hpbGQgdG8gYm90aCBtYXRjaFxyXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgJjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xyXG4gIH1cclxufVxyXG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSBnaXZlbiBhIC5kcm9wZG93bi1tZW51IGltbWVkaWF0ZWx5IGFmdGVyIGl0XHJcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXHJcbi5idG4tZ3JvdXAgPiAuZHJvcGRvd24tdG9nZ2xlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XHJcbn1cclxuXHJcbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxyXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXHJcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XHJcbiAgfVxyXG59XHJcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcclxuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XHJcbn1cclxuXHJcbi8vIE9uIGFjdGl2ZSBhbmQgb3BlbiwgZG9uJ3Qgc2hvdyBvdXRsaW5lXHJcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXHJcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG5cclxuLy8gU2l6aW5nXHJcbi8vXHJcbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxyXG5cclxuLmJ0bi1ncm91cC14cyA+IC5idG4geyBAZXh0ZW5kIC5idG4teHM7IH1cclxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cclxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cclxuXHJcblxyXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEdpdmUgdGhlIGxpbmUgYmV0d2VlbiBidXR0b25zIHNvbWUgZGVwdGhcclxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICBwYWRkaW5nLWxlZnQ6IDhweDtcclxuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XHJcbn1cclxuLmJ0bi1ncm91cCA+IC5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgcGFkZGluZy1yaWdodDogMTJweDtcclxufVxyXG5cclxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XHJcbi8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgYW5kIHNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcclxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xyXG5cclxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXHJcbiAgJi5idG4tbGluayB7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XHJcbi5idG4gLmNhcmV0IHtcclxuICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG4vLyBDYXJldHMgaW4gb3RoZXIgYnV0dG9uIHNpemVzXHJcbi5idG4tbGcgLmNhcmV0IHtcclxuICBib3JkZXItd2lkdGg6ICRjYXJldC13aWR0aC1sYXJnZSAkY2FyZXQtd2lkdGgtbGFyZ2UgMDtcclxuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xyXG59XHJcbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxyXG4uZHJvcHVwIC5idG4tbGcgLmNhcmV0IHtcclxuICBib3JkZXItd2lkdGg6IDAgJGNhcmV0LXdpZHRoLWxhcmdlICRjYXJldC13aWR0aC1sYXJnZTtcclxufVxyXG5cclxuXHJcbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XHJcbiAgPiAuYnRuLFxyXG4gID4gLmJ0bi1ncm91cCxcclxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC8vIENsZWFyIGZsb2F0cyBzbyBkcm9wZG93biBtZW51cyBjYW4gYmUgcHJvcGVybHkgcGxhY2VkXHJcbiAgPiAuYnRuLWdyb3VwIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgPiAuYnRuIHtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA+IC5idG4gKyAuYnRuLFxyXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXHJcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bixcclxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcclxuICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcbn1cclxuXHJcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcclxuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICB9XHJcbiAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XHJcbiAgfVxyXG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XHJcbiAgfVxyXG59XHJcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxyXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcclxuICB9XHJcbn1cclxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xyXG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xyXG59XHJcblxyXG5cclxuLy8gSnVzdGlmaWVkIGJ1dHRvbiBncm91cHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxuICA+IC5idG4sXHJcbiAgPiAuYnRuLWdyb3VwIHtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIHdpZHRoOiAxJTtcclxuICB9XHJcbiAgPiAuYnRuLWdyb3VwIC5idG4ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgbGVmdDogYXV0bztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xyXG4vL1xyXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxyXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2VcclxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxyXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxyXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXHJcbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXHJcbi8vXHJcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXHJcblxyXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcclxuICA+IC5idG4sXHJcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXHJcblxyXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG4iLCIvL1xyXG4vLyBJbnB1dCBncm91cHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEJhc2Ugc3R5bGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmlucHV0LWdyb3VwIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBkcm9wZG93bnNcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyAvLyBwcmV2ZW50IGlucHV0IGdyb3VwcyBmcm9tIGluaGVyaXRpbmcgYm9yZGVyIHN0eWxlcyBmcm9tIHRhYmxlIGNlbGxzIHdoZW4gcGxhY2VkIHdpdGhpbiBhIHRhYmxlXHJcblxyXG4gIC8vIFVuZG8gcGFkZGluZyBhbmQgZmxvYXQgb2YgZ3JpZCBjbGFzc2VzXHJcbiAgJltjbGFzcyo9XCJjb2wtXCJdIHtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcblxyXG4gIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXHJcbiAgICAvLyBwcm9wZXIgYm9yZGVyIGNvbG9ycy5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcblxyXG4gICAgLy8gSUU5IGZ1YmFycyB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGluIHRleHQgaW5wdXRzIGFuZCB0aGUgYXJyb3dzIG9uXHJcbiAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1NjEjaXNzdWVjb21tZW50LTI4OTM2ODU1XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTaXppbmcgb3B0aW9uc1xyXG4vL1xyXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXHJcbi8vIG1hbmlwdWxhdGlvbi5cclxuXHJcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXHJcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcclxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xyXG4gIEBleHRlbmQgLmlucHV0LWxnO1xyXG59XHJcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXHJcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcclxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xyXG4gIEBleHRlbmQgLmlucHV0LXNtO1xyXG59XHJcblxyXG5cclxuLy8gRGlzcGxheSBhcyB0YWJsZS1jZWxsXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmlucHV0LWdyb3VwLWFkZG9uLFxyXG4uaW5wdXQtZ3JvdXAtYnRuLFxyXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XHJcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHJcbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG59XHJcbi8vIEFkZG9uIGFuZCBhZGRvbiB3cmFwcGVyIGZvciBidXR0b25zXHJcbi5pbnB1dC1ncm91cC1hZGRvbixcclxuLmlucHV0LWdyb3VwLWJ0biB7XHJcbiAgd2lkdGg6IDElO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xyXG59XHJcblxyXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5pbnB1dC1ncm91cC1hZGRvbiB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBjb2xvcjogJGlucHV0LWNvbG9yO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG5cclxuICAvLyBTaXppbmdcclxuICAmLmlucHV0LXNtIHtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbWFsbDtcclxuICB9XHJcbiAgJi5pbnB1dC1sZyB7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XHJcbiAgfVxyXG5cclxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXHJcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXHJcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxyXG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsXHJcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLFxyXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXHJcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxyXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxyXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcclxuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xyXG59XHJcbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLXJpZ2h0OiAwO1xyXG59XHJcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXHJcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLFxyXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLFxyXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcclxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcclxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXHJcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xyXG59XHJcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcclxuICBib3JkZXItbGVmdDogMDtcclxufVxyXG5cclxuLy8gQnV0dG9uIGlucHV0IGdyb3Vwc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5pbnB1dC1ncm91cC1idG4ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAvLyBKYW5raWx5IHByZXZlbnQgaW5wdXQgYnV0dG9uIGdyb3VwcyBmcm9tIHdyYXBwaW5nIHdpdGggYHdoaXRlLXNwYWNlYCBhbmRcclxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXHJcbiAgZm9udC1zaXplOiAwO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3Igc3BhY2luZywgcG9zaXRpb24gZm9yIGJyaW5naW5nIGhvdmVyZWQvZm9jdXNlZC9hY3RpdmVkXHJcbiAgLy8gZWxlbWVudCBhYm92ZSB0aGUgc2libGluZ3MuXHJcbiAgPiAuYnRuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICsgLmJ0biB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gICAgfVxyXG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gdG8gb25seSBoYXZlIGEgMXB4IGJvcmRlciBiZXR3ZWVuIHRoZSB0d29cclxuICAmOmZpcnN0LWNoaWxkIHtcclxuICAgID4gLmJ0bixcclxuICAgID4gLmJ0bi1ncm91cCB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcclxuICAgIH1cclxuICB9XHJcbiAgJjpsYXN0LWNoaWxkIHtcclxuICAgID4gLmJ0bixcclxuICAgID4gLmJ0bi1ncm91cCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvL1xyXG4vLyBOYXZzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gQmFzZSBjbGFzc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLm5hdiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgdWwvb2xcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICA+IGxpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgID4gYSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nO1xyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWJnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRGlzYWJsZWQgc3RhdGUgc2V0cyB0ZXh0IHRvIGdyYXkgYW5kIG51a2VzIGhvdmVyL3RhYiBlZmZlY3RzXHJcbiAgICAmLmRpc2FibGVkID4gYSB7XHJcbiAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstY29sb3I7XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE9wZW4gZHJvcGRvd25zXHJcbiAgLm9wZW4gPiBhIHtcclxuICAgICYsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGluay1ob3Zlci1iZztcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkbGluay1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE5hdiBkaXZpZGVycyAoZGVwcmVjYXRlZCB3aXRoIHYzLjAuMSlcclxuICAvL1xyXG4gIC8vIFRoaXMgc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGluIHYzIHdpdGggdGhlIGRyb3BwaW5nIG9mIGAubmF2LWxpc3RgLCBidXRcclxuICAvLyB3ZSBtaXNzZWQgaXQuIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgYW55d2hlcmUsIGJ1dCBpbiB0aGUgaW50ZXJlc3RcclxuICAvLyBvZiBtYWludGFpbmluZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGluIGNhc2UgeW91IHVzZSBpdCwgaXQncyBkZXByZWNhdGVkLlxyXG4gIC5uYXYtZGl2aWRlciB7XHJcbiAgICBAaW5jbHVkZSBuYXYtZGl2aWRlcjtcclxuICB9XHJcblxyXG4gIC8vIFByZXZlbnQgSUU4IGZyb20gbWlzcGxhY2luZyBpbWdzXHJcbiAgLy9cclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvaXNzdWVzLzk4NCNpc3N1ZWNvbW1lbnQtMzk4NTk4OVxyXG4gID4gbGkgPiBhID4gaW1nIHtcclxuICAgIG1heC13aWR0aDogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBUYWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEdpdmUgdGhlIHRhYnMgc29tZXRoaW5nIHRvIHNpdCBvblxyXG4ubmF2LXRhYnMge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xyXG4gID4gbGkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAvLyBNYWtlIHRoZSBsaXN0LWl0ZW1zIG92ZXJsYXkgdGhlIGJvdHRvbSBib3JkZXJcclxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XHJcblxyXG4gICAgLy8gQWN0dWFsIHRhYnMgKGFzIGxpbmtzKVxyXG4gICAgPiBhIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgJGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWN0aXZlIHN0YXRlLCBhbmQgaXRzIDpob3ZlciB0byBvdmVycmlkZSBub3JtYWwgOmhvdmVyXHJcbiAgICAmLmFjdGl2ZSA+IGEge1xyXG4gICAgICAmLFxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyBwdWxsaW5nIHRoaXMgaW4gbWFpbmx5IGZvciBsZXNzIHNob3J0aGFuZFxyXG4gICYubmF2LWp1c3RpZmllZCB7XHJcbiAgICBAZXh0ZW5kIC5uYXYtanVzdGlmaWVkO1xyXG4gICAgQGV4dGVuZCAubmF2LXRhYnMtanVzdGlmaWVkO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFBpbGxzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLm5hdi1waWxscyB7XHJcbiAgPiBsaSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAvLyBMaW5rcyByZW5kZXJlZCBhcyBwaWxsc1xyXG4gICAgPiBhIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJG5hdi1waWxscy1ib3JkZXItcmFkaXVzO1xyXG4gICAgfVxyXG4gICAgKyBsaSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWN0aXZlIHN0YXRlXHJcbiAgICAmLmFjdGl2ZSA+IGEge1xyXG4gICAgICAmLFxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gU3RhY2tlZCBwaWxsc1xyXG4ubmF2LXN0YWNrZWQge1xyXG4gID4gbGkge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICArIGxpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gbm8gbmVlZCBmb3IgdGhpcyBnYXAgYmV0d2VlbiBuYXYgaXRlbXNcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBOYXYgdmFyaWF0aW9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gSnVzdGlmaWVkIG5hdiBsaW5rc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ubmF2LWp1c3RpZmllZCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gID4gbGkge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICA+IGEge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcclxuICAgID4gbGkge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICB3aWR0aDogMSU7XHJcbiAgICAgID4gYSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTW92ZSBib3JkZXJzIHRvIGFuY2hvcnMgaW5zdGVhZCBvZiBib3R0b20gb2YgbGlzdFxyXG4vL1xyXG4vLyBNaXhpbiBmb3IgYWRkaW5nIG9uIHRvcCB0aGUgc2hhcmVkIGAubmF2LWp1c3RpZmllZGAgc3R5bGVzIGZvciBvdXIgdGFic1xyXG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG5cclxuICA+IGxpID4gYSB7XHJcbiAgICAvLyBPdmVycmlkZSBtYXJnaW4gZnJvbSAubmF2LXRhYnNcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XHJcbiAgfVxyXG5cclxuICA+IC5hY3RpdmUgPiBhLFxyXG4gID4gLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbiAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgICA+IGxpID4gYSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICRib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xyXG4gICAgfVxyXG4gICAgPiAuYWN0aXZlID4gYSxcclxuICAgID4gLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbiAgICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gVGFiYmFibGUgdGFic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcclxuLnRhYi1jb250ZW50IHtcclxuICA+IC50YWItcGFuZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICA+IC5hY3RpdmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRHJvcGRvd25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIFNwZWNpZmljIGRyb3Bkb3duc1xyXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xyXG4gIC8vIG1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxyXG4gIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcclxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcclxufVxyXG4iLCIvL1xyXG4vLyBOYXZiYXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gV3JhcHBlciBhbmQgYmFzZSBjbGFzc1xyXG4vL1xyXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxyXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cclxuXHJcbi5uYXZiYXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodDsgLy8gRW5zdXJlIGEgbmF2YmFyIGFsd2F5cyBzaG93cyAoZS5nLiwgd2l0aG91dCBhIC5uYXZiYXItYnJhbmQgaW4gY29sbGFwc2VkIG1vZGUpXHJcbiAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1tYXJnaW4tYm90dG9tO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAvLyBQcmV2ZW50IGZsb2F0cyBmcm9tIGJyZWFraW5nIHRoZSBuYXZiYXJcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItYm9yZGVyLXJhZGl1cztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBOYXZiYXIgaGVhZGluZ1xyXG4vL1xyXG4vLyBHcm91cHMgYC5uYXZiYXItYnJhbmRgIGFuZCBgLm5hdmJhci10b2dnbGVgIGludG8gYSBzaW5nbGUgY29tcG9uZW50IGZvciBlYXN5XHJcbi8vIHN0eWxpbmcgb2YgcmVzcG9uc2l2ZSBhc3BlY3RzLlxyXG5cclxuLm5hdmJhci1oZWFkZXIge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTmF2YmFyIGNvbGxhcHNlIChib2R5KVxyXG4vL1xyXG4vLyBHcm91cCB5b3VyIG5hdmJhciBjb250ZW50IGludG8gdGhpcyBmb3IgZWFzeSBjb2xsYXBzaW5nIGFuZCBleHBhbmRpbmcgYWNyb3NzXHJcbi8vIHZhcmlvdXMgZGV2aWNlIHNpemVzLiBCeSBkZWZhdWx0LCB0aGlzIGNvbnRlbnQgaXMgY29sbGFwc2VkIHdoZW4gPDc2OHB4LCBidXRcclxuLy8gd2lsbCBleHBhbmQgcGFzdCB0aGF0IGZvciBhIGhvcml6b250YWwgZGlzcGxheS5cclxuLy9cclxuLy8gVG8gc3RhcnQgKG9uIG1vYmlsZSBkZXZpY2VzKSB0aGUgbmF2YmFyIGxpbmtzLCBmb3JtcywgYW5kIGJ1dHRvbnMgYXJlIHN0YWNrZWRcclxuLy8gdmVydGljYWxseSBhbmQgaW5jbHVkZSBhIGBtYXgtaGVpZ2h0YCB0byBvdmVyZmxvdyBpbiBjYXNlIHlvdSBoYXZlIHRvbyBtdWNoXHJcbi8vIGNvbnRlbnQgZm9yIHRoZSB1c2VyJ3Mgdmlld3BvcnQuXHJcblxyXG4ubmF2YmFyLWNvbGxhcHNlIHtcclxuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gIHBhZGRpbmctbGVmdDogICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHJcbiAgJi5pbiB7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG4gICAgJi5jb2xsYXBzZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzZXR0aW5nXHJcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pbiB7XHJcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVW5kbyB0aGUgY29sbGFwc2Ugc2lkZSBwYWRkaW5nIGZvciBuYXZiYXJzIHdpdGggY29udGFpbmVycyB0byBlbnN1cmVcclxuICAgIC8vIGFsaWdubWVudCBvZiByaWdodC1hbGlnbmVkIGNvbnRlbnRzLlxyXG4gICAgLm5hdmJhci1maXhlZC10b3AgJixcclxuICAgIC5uYXZiYXItc3RhdGljLXRvcCAmLFxyXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20gJiB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uYXZiYXItZml4ZWQtdG9wLFxyXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XHJcbiAgLm5hdmJhci1jb2xsYXBzZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAkbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOiAkc2NyZWVuLXhzLW1pbikgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEJvdGggbmF2YmFyIGhlYWRlciBhbmQgY29sbGFwc2VcclxuLy9cclxuLy8gV2hlbiBhIGNvbnRhaW5lciBpcyBwcmVzZW50LCBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBoZWFkZXIgYW5kIGNvbGxhcHNlLlxyXG5cclxuLmNvbnRhaW5lcixcclxuLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgPiAubmF2YmFyLWhlYWRlcixcclxuICA+IC5uYXZiYXItY29sbGFwc2Uge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICBtYXJnaW4tbGVmdDogIC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBOYXZiYXIgYWxpZ25tZW50IG9wdGlvbnNcclxuLy9cclxuLy8gRGlzcGxheSB0aGUgbmF2YmFyIGFjcm9zcyB0aGUgZW50aXJldHkgb2YgdGhlIHBhZ2Ugb3IgZml4ZWQgaXQgdG8gdGhlIHRvcCBvclxyXG4vLyBib3R0b20gb2YgdGhlIHBhZ2UuXHJcblxyXG4vLyBTdGF0aWMgdG9wICh1bmZpeGVkLCBidXQgMTAwJSB3aWRlKSBuYXZiYXJcclxuLm5hdmJhci1zdGF0aWMtdG9wIHtcclxuICB6LWluZGV4OiAkemluZGV4LW5hdmJhcjtcclxuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRml4IHRoZSB0b3AvYm90dG9tIG5hdmJhcnMgd2hlbiBzY3JlZW4gcmVhbCBlc3RhdGUgc3VwcG9ydHMgaXRcclxuLm5hdmJhci1maXhlZC10b3AsXHJcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcclxuXHJcbiAgLy8gVW5kbyB0aGUgcm91bmRlZCBjb3JuZXJzXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG59XHJcbi5uYXZiYXItZml4ZWQtdG9wIHtcclxuICB0b3A6IDA7XHJcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xyXG59XHJcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcclxuICBib3R0b206IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gb3ZlcnJpZGUgLm5hdmJhciBkZWZhdWx0c1xyXG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcclxufVxyXG5cclxuXHJcbi8vIEJyYW5kL3Byb2plY3QgbmFtZVxyXG5cclxuLm5hdmJhci1icmFuZCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIGhlaWdodDogJG5hdmJhci1oZWlnaHQ7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG5cclxuICA+IGltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XHJcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lciAmLFxyXG4gICAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgJiB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTmF2YmFyIHRvZ2dsZVxyXG4vL1xyXG4vLyBDdXN0b20gYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgYC5uYXZiYXItY29sbGFwc2VgLCBwb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZVxyXG4vLyBKYXZhU2NyaXB0IHBsdWdpbi5cclxuXHJcbi5uYXZiYXItdG9nZ2xlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgcGFkZGluZzogOXB4IDEwcHg7XHJcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKDM0cHgpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcclxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG5cclxuICAvLyBXZSByZW1vdmUgdGhlIGBvdXRsaW5lYCBoZXJlLCBidXQgbGF0ZXIgY29tcGVuc2F0ZSBieSBhdHRhY2hpbmcgYDpob3ZlcmBcclxuICAvLyBzdHlsZXMgdG8gYDpmb2N1c2AuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gQmFyc1xyXG4gIC5pY29uLWJhciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbiAgfVxyXG4gIC5pY29uLWJhciArIC5pY29uLWJhciB7XHJcbiAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBOYXZiYXIgbmF2IGxpbmtzXHJcbi8vXHJcbi8vIEJ1aWxkcyBvbiB0b3Agb2YgdGhlIGAubmF2YCBjb21wb25lbnRzIHdpdGggaXRzIG93biBtb2RpZmllciBjbGFzcyB0byBtYWtlXHJcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxyXG5cclxuLm5hdmJhci1uYXYge1xyXG4gIG1hcmdpbjogKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpICgtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWwpO1xyXG5cclxuICA+IGxpID4gYSB7XHJcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xyXG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxyXG4gICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgID4gbGkgPiBhLFxyXG4gICAgICAuZHJvcGRvd24taGVhZGVyIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDtcclxuICAgICAgfVxyXG4gICAgICA+IGxpID4gYSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFVuY29sbGFwc2UgdGhlIG5hdlxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgID4gYSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICAgICRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTmF2YmFyIGZvcm1cclxuLy9cclxuLy8gRXh0ZW5zaW9uIG9mIHRoZSBgLmZvcm0taW5saW5lYCB3aXRoIHNvbWUgZXh0cmEgZmxhdm9yIGZvciBvcHRpbXVtIGRpc3BsYXkgaW5cclxuLy8gb3VyIG5hdmJhcnMuXHJcblxyXG4ubmF2YmFyLWZvcm0ge1xyXG4gIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgcGFkZGluZzogMTBweCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICRzaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XHJcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcclxuXHJcbiAgLy8gTWl4aW4gYmVoYXZpb3IgZm9yIG9wdGltdW0gZGlzcGxheVxyXG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xyXG5cclxuICAuZm9ybS1ncm91cCB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBpbiBleHBhbmRlZCwgaG9yaXpvbnRhbCBuYXZiYXJcclxuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGlucHV0LWhlaWdodC1iYXNlKTtcclxuXHJcbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIERyb3Bkb3duIG1lbnVzXHJcblxyXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xyXG4ubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XHJcbn1cclxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldCBzdXBwb3J0IGZvciBkcm9wdXBzIHZpYSBleHRyYSBkcm9wdXAgY2xhc3NcclxuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXZiYXItYm9yZGVyLXJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XHJcbn1cclxuXHJcblxyXG4vLyBCdXR0b25zIGluIG5hdmJhcnNcclxuLy9cclxuLy8gVmVydGljYWxseSBjZW50ZXIgYSBidXR0b24gd2l0aGluIGEgbmF2YmFyICh3aGVuICpub3QqIGluIGEgZm9ybSkuXHJcblxyXG4ubmF2YmFyLWJ0biB7XHJcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XHJcblxyXG4gICYuYnRuLXNtIHtcclxuICAgIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LXNtYWxsKTtcclxuICB9XHJcbiAgJi5idG4teHMge1xyXG4gICAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKDIyKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBUZXh0IGluIG5hdmJhcnNcclxuLy9cclxuLy8gQWRkIGEgY2xhc3MgdG8gbWFrZSBhbnkgZWxlbWVudCBwcm9wZXJseSBhbGlnbiBpdHNlbGYgdmVydGljYWxseSB3aXRoaW4gdGhlIG5hdmJhcnMuXHJcblxyXG4ubmF2YmFyLXRleHQge1xyXG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkbGluZS1oZWlnaHQtY29tcHV0ZWQpO1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcclxuLy9cclxuLy8gUmVwdXJwb3NlIHRoZSBwdWxsIHV0aWxpdGllcyBhcyB0aGVpciBvd24gbmF2YmFyIHV0aWxpdGllcyB0byBhdm9pZCBzcGVjaWZpY2l0eVxyXG4vLyBpc3N1ZXMgd2l0aCBwYXJlbnRzIGFuZCBjaGFpbmluZy4gT25seSBkbyB0aGlzIHdoZW4gdGhlIG5hdmJhciBpcyB1bmNvbGxhcHNlZFxyXG4vLyB0aG91Z2ggc28gdGhhdCBuYXZiYXIgY29udGVudHMgcHJvcGVybHkgc3RhY2sgYW5kIGFsaWduIGluIG1vYmlsZS5cclxuLy9cclxuLy8gRGVjbGFyZWQgYWZ0ZXIgdGhlIG5hdmJhciBjb21wb25lbnRzIHRvIGVuc3VyZSBtb3JlIHNwZWNpZmljaXR5IG9uIHRoZSBtYXJnaW5zLlxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcclxuICAubmF2YmFyLWxlZnQge1xyXG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLm5hdmJhci1yaWdodCB7XHJcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICBtYXJnaW4tcmlnaHQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcclxuXHJcbiAgICB+IC5uYXZiYXItcmlnaHQge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQWx0ZXJuYXRlIG5hdmJhcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIERlZmF1bHQgbmF2YmFyXHJcbi5uYXZiYXItZGVmYXVsdCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xyXG4gIGJvcmRlci1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJvcmRlcjtcclxuXHJcbiAgLm5hdmJhci1icmFuZCB7XHJcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yO1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmF2YmFyLXRleHQge1xyXG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5uYXZiYXItbmF2IHtcclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICA+IC5hY3RpdmUgPiBhIHtcclxuICAgICAgJixcclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgID4gLmRpc2FibGVkID4gYSB7XHJcbiAgICAgICYsXHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hdmJhci10b2dnbGUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcclxuICAgIH1cclxuICAgIC5pY29uLWJhciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmF2YmFyLWNvbGxhcHNlLFxyXG4gIC5uYXZiYXItZm9ybSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XHJcbiAgfVxyXG5cclxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXHJcbiAgLm5hdmJhci1uYXYge1xyXG4gICAgLy8gUmVtb3ZlIGJhY2tncm91bmQgY29sb3IgZnJvbSBvcGVuIGRyb3Bkb3duXHJcbiAgICA+IC5vcGVuID4gYSB7XHJcbiAgICAgICYsXHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcclxuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XHJcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcclxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgID4gbGkgPiBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcclxuICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XHJcbiAgICAgICAgICAmLFxyXG4gICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XHJcbiAgICAgICAgICAmLFxyXG4gICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8vIExpbmtzIGluIG5hdmJhcnNcclxuICAvL1xyXG4gIC8vIEFkZCBhIGNsYXNzIHRvIGVuc3VyZSBsaW5rcyBvdXRzaWRlIHRoZSBuYXZiYXIgbmF2IGFyZSBjb2xvcmVkIGNvcnJlY3RseS5cclxuXHJcbiAgLm5hdmJhci1saW5rIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuLWxpbmsge1xyXG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICAmW2Rpc2FibGVkXSxcclxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBJbnZlcnNlIG5hdmJhclxyXG5cclxuLm5hdmJhci1pbnZlcnNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYmc7XHJcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xyXG5cclxuICAubmF2YmFyLWJyYW5kIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uYXZiYXItdGV4dCB7XHJcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLm5hdmJhci1uYXYge1xyXG4gICAgPiBsaSA+IGEge1xyXG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgID4gLmFjdGl2ZSA+IGEge1xyXG4gICAgICAmLFxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcclxuICAgICAgJixcclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEYXJrZW4gdGhlIHJlc3BvbnNpdmUgbmF2IHRvZ2dsZVxyXG4gIC5uYXZiYXItdG9nZ2xlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc7XHJcbiAgICB9XHJcbiAgICAuaWNvbi1iYXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hdmJhci1jb2xsYXBzZSxcclxuICAubmF2YmFyLWZvcm0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCA3JSk7XHJcbiAgfVxyXG5cclxuICAvLyBEcm9wZG93bnNcclxuICAubmF2YmFyLW5hdiB7XHJcbiAgICA+IC5vcGVuID4gYSB7XHJcbiAgICAgICYsXHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcclxuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XHJcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXlcclxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgID4gLmRyb3Bkb3duLWhlYWRlciB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kaXZpZGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkgPiBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcclxuICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XHJcbiAgICAgICAgICAmLFxyXG4gICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XHJcbiAgICAgICAgICAmLFxyXG4gICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hdmJhci1saW5rIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuLWxpbmsge1xyXG4gICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICAmW2Rpc2FibGVkXSxcclxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxyXG4vL1xyXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxyXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXHJcblxyXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xyXG4gIG1hcmdpbi10b3A6ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XHJcbiAgbWFyZ2luLWJvdHRvbTogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcclxufVxyXG4iLCIvL1xyXG4vLyBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi5icmVhZGNydW1iIHtcclxuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsICRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDtcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG5cclxuICA+IGxpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICArIGxpOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiI3skYnJlYWRjcnVtYi1zZXBhcmF0b3J9XFwwMGEwXCI7IC8vIFVuaWNvZGUgc3BhY2UgYWRkZWQgc2luY2UgaW5saW5lLWJsb2NrIG1lYW5zIG5vbi1jb2xsYXBzaW5nIHdoaXRlLXNwYWNlXHJcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWItY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA+IC5hY3RpdmUge1xyXG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gUGFnaW5hdGlvbiAobXVsdGlwbGUgcGFnZXMpXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5wYWdpbmF0aW9uIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIG1hcmdpbjogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcclxuXHJcbiAgPiBsaSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7IC8vIFJlbW92ZSBsaXN0LXN0eWxlIGFuZCBibG9jay1sZXZlbCBkZWZhdWx0c1xyXG4gICAgPiBhLFxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBmbG9hdDogbGVmdDsgLy8gQ29sbGFwc2Ugd2hpdGUtc3BhY2VcclxuICAgICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gICAgfVxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgID4gYSxcclxuICAgICAgPiBzcGFuIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtYmFzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgID4gYSxcclxuICAgICAgPiBzcGFuIHtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA+IGxpID4gYSxcclxuICA+IGxpID4gc3BhbiB7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgPiAuYWN0aXZlID4gYSxcclxuICA+IC5hY3RpdmUgPiBzcGFuIHtcclxuICAgICYsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA+IC5kaXNhYmxlZCB7XHJcbiAgICA+IHNwYW4sXHJcbiAgICA+IHNwYW46aG92ZXIsXHJcbiAgICA+IHNwYW46Zm9jdXMsXHJcbiAgICA+IGEsXHJcbiAgICA+IGE6aG92ZXIsXHJcbiAgICA+IGE6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjtcclxuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gU2l6aW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBMYXJnZVxyXG4ucGFnaW5hdGlvbi1sZyB7XHJcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkYm9yZGVyLXJhZGl1cy1sYXJnZSk7XHJcbn1cclxuXHJcbi8vIFNtYWxsXHJcbi5wYWdpbmF0aW9uLXNtIHtcclxuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRib3JkZXItcmFkaXVzLXNtYWxsKTtcclxufVxyXG4iLCIvLyBQYWdpbmF0aW9uXHJcblxyXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xyXG4gID4gbGkge1xyXG4gICAgPiBhLFxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgfVxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgID4gYSxcclxuICAgICAgPiBzcGFuIHtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICA+IGEsXHJcbiAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gUGFnZXIgcGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi5wYWdlciB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIG1hcmdpbjogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgPiBhLFxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiA1cHggMTRweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2VyLWJnO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcGFnZXItYm9yZGVyO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcGFnZXItYm9yZGVyLXJhZGl1cztcclxuICAgIH1cclxuXHJcbiAgICA+IGE6aG92ZXIsXHJcbiAgICA+IGE6Zm9jdXMge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdlci1ob3Zlci1iZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uZXh0IHtcclxuICAgID4gYSxcclxuICAgID4gc3BhbiB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcmV2aW91cyB7XHJcbiAgICA+IGEsXHJcbiAgICA+IHNwYW4ge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kaXNhYmxlZCB7XHJcbiAgICA+IGEsXHJcbiAgICA+IGE6aG92ZXIsXHJcbiAgICA+IGE6Zm9jdXMsXHJcbiAgICA+IHNwYW4ge1xyXG4gICAgICBjb2xvcjogJHBhZ2VyLWRpc2FibGVkLWNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZXItYmc7XHJcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gTGFiZWxzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ubGFiZWwge1xyXG4gIGRpc3BsYXk6IGlubGluZTtcclxuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcclxuICBmb250LXNpemU6IDc1JTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBjb2xvcjogJGxhYmVsLWNvbG9yO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICBib3JkZXItcmFkaXVzOiAuMjVlbTtcclxuXHJcbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEubGFiZWxcclxuXHJcbiAgLy8gRW1wdHkgbGFiZWxzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxyXG4gICY6ZW1wdHkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIFF1aWNrIGZpeCBmb3IgbGFiZWxzIGluIGJ1dHRvbnNcclxuICAuYnRuICYge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMXB4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gQWRkIGhvdmVyIGVmZmVjdHMsIGJ1dCBvbmx5IGZvciBsaW5rc1xyXG5hLmxhYmVsIHtcclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRsYWJlbC1saW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQ29sb3JzXHJcbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGxhYmVscyBnZXQgZGFya2VyIG9uIDpob3ZlcilcclxuXHJcbi5sYWJlbC1kZWZhdWx0IHtcclxuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1kZWZhdWx0LWJnKTtcclxufVxyXG5cclxuLmxhYmVsLXByaW1hcnkge1xyXG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXByaW1hcnktYmcpO1xyXG59XHJcblxyXG4ubGFiZWwtc3VjY2VzcyB7XHJcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtc3VjY2Vzcy1iZyk7XHJcbn1cclxuXHJcbi5sYWJlbC1pbmZvIHtcclxuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1pbmZvLWJnKTtcclxufVxyXG5cclxuLmxhYmVsLXdhcm5pbmcge1xyXG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXdhcm5pbmctYmcpO1xyXG59XHJcblxyXG4ubGFiZWwtZGFuZ2VyIHtcclxuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1kYW5nZXItYmcpO1xyXG59XHJcbiIsIi8vIExhYmVsc1xyXG5cclxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG5cclxuICAmW2hyZWZdIHtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gQmFkZ2VzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gQmFzZSBjbGFzc1xyXG4uYmFkZ2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtaW4td2lkdGg6IDEwcHg7XHJcbiAgcGFkZGluZzogM3B4IDdweDtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcclxuICBjb2xvcjogJGJhZGdlLWNvbG9yO1xyXG4gIGxpbmUtaGVpZ2h0OiAkYmFkZ2UtbGluZS1oZWlnaHQ7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS1iZztcclxuICBib3JkZXItcmFkaXVzOiAkYmFkZ2UtYm9yZGVyLXJhZGl1cztcclxuXHJcbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxyXG4gICY6ZW1wdHkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcclxuICAuYnRuICYge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMXB4O1xyXG4gIH1cclxuXHJcbiAgLmJ0bi14cyAmLFxyXG4gIC5idG4tZ3JvdXAteHMgPiAuYnRuICYge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcGFkZGluZzogMXB4IDVweDtcclxuICB9XHJcblxyXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiB0byBhLmJhZGdlXHJcblxyXG4gIC8vIEFjY291bnQgZm9yIGJhZGdlcyBpbiBuYXZzXHJcbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgPiAmLFxyXG4gIC5uYXYtcGlsbHMgPiAuYWN0aXZlID4gYSA+ICYge1xyXG4gICAgY29sb3I6ICRiYWRnZS1hY3RpdmUtY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtYWN0aXZlLWJnO1xyXG4gIH1cclxuXHJcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICYge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICYgKyAmIHtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIH1cclxuXHJcbiAgLm5hdi1waWxscyA+IGxpID4gYSA+ICYge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEhvdmVyIHN0YXRlLCBidXQgb25seSBmb3IgbGlua3NcclxuYS5iYWRnZSB7XHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiAkYmFkZ2UtbGluay1ob3Zlci1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gSnVtYm90cm9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLmp1bWJvdHJvbiB7XHJcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcclxuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XHJcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcclxuXHJcbiAgaDEsXHJcbiAgLmgxIHtcclxuICAgIGNvbG9yOiAkanVtYm90cm9uLWhlYWRpbmctY29sb3I7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcclxuICAgIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi1mb250LXNpemU7XHJcbiAgICBmb250LXdlaWdodDogMjAwO1xyXG4gIH1cclxuXHJcbiAgPiBociB7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGp1bWJvdHJvbi1iZywgMTAlKTtcclxuICB9XHJcblxyXG4gIC5jb250YWluZXIgJixcclxuICAuY29udGFpbmVyLWZsdWlkICYge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7IC8vIE9ubHkgcm91bmQgY29ybmVycyBhdCBoaWdoZXIgcmVzb2x1dGlvbnMgaWYgY29udGFpbmVkIGluIGEgY29udGFpbmVyXHJcbiAgfVxyXG5cclxuICAuY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMS42KSAwO1xyXG5cclxuICAgIC5jb250YWluZXIgJixcclxuICAgIC5jb250YWluZXItZmx1aWQgJiB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKTtcclxuICAgICAgcGFkZGluZy1yaWdodDogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpO1xyXG4gICAgfVxyXG5cclxuICAgIGgxLFxyXG4gICAgLmgxIHtcclxuICAgICAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogNC41KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gVGh1bWJuYWlsc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIE1peGluIGFuZCBhZGp1c3QgdGhlIHJlZ3VsYXIgaW1hZ2UgY2xhc3NcclxuLnRodW1ibmFpbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xyXG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcclxuICBib3JkZXI6IDFweCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXIgLjJzIGVhc2UtaW4tb3V0KTtcclxuXHJcbiAgPiBpbWcsXHJcbiAgYSA+IGltZyB7XHJcbiAgICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmOmhvdmVyLCBhJjpmb2N1cywgYSYuYWN0aXZlIHRvIGEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cywgYS50aHVtYm5haWwuYWN0aXZlXHJcblxyXG4gIC8vIEltYWdlIGNhcHRpb25zXHJcbiAgLmNhcHRpb24ge1xyXG4gICAgcGFkZGluZzogJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc7XHJcbiAgICBjb2xvcjogJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQWRkIGEgaG92ZXIgc3RhdGUgZm9yIGxpbmtlZCB2ZXJzaW9ucyBvbmx5XHJcbmEudGh1bWJuYWlsOmhvdmVyLFxyXG5hLnRodW1ibmFpbDpmb2N1cyxcclxuYS50aHVtYm5haWwuYWN0aXZlIHtcclxuICBib3JkZXItY29sb3I6ICRsaW5rLWNvbG9yO1xyXG59XHJcbiIsIi8vXHJcbi8vIEFsZXJ0c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIEJhc2Ugc3R5bGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5hbGVydCB7XHJcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmc7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yYWRpdXM6ICRhbGVydC1ib3JkZXItcmFkaXVzO1xyXG5cclxuICAvLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xyXG4gIGg0IHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAvLyBTcGVjaWZpZWQgZm9yIHRoZSBoNCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcclxuICAuYWxlcnQtbGluayB7XHJcbiAgICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAvLyBJbXByb3ZlIGFsaWdubWVudCBhbmQgc3BhY2luZyBvZiBpbm5lciBjb250ZW50XHJcbiAgPiBwLFxyXG4gID4gdWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gID4gcCArIHAge1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gRGlzbWlzc2libGUgYWxlcnRzXHJcbi8vXHJcbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxyXG5cclxuLmFsZXJ0LWRpc21pc3NhYmxlLCAvLyBUaGUgbWlzc3BlbGxlZCAuYWxlcnQtZGlzbWlzc2FibGUgd2FzIGRlcHJlY2F0ZWQgaW4gMy4yLjAuXHJcbi5hbGVydC1kaXNtaXNzaWJsZSB7XHJcbiAgcGFkZGluZy1yaWdodDogKCRhbGVydC1wYWRkaW5nICsgMjApO1xyXG5cclxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxyXG4gIC5jbG9zZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IC0ycHg7XHJcbiAgICByaWdodDogLTIxcHg7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEFsdGVybmF0ZSBzdHlsZXNcclxuLy9cclxuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cclxuXHJcbi5hbGVydC1zdWNjZXNzIHtcclxuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xyXG59XHJcblxyXG4uYWxlcnQtaW5mbyB7XHJcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtaW5mby1iZywgJGFsZXJ0LWluZm8tYm9yZGVyLCAkYWxlcnQtaW5mby10ZXh0KTtcclxufVxyXG5cclxuLmFsZXJ0LXdhcm5pbmcge1xyXG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LXdhcm5pbmctYmcsICRhbGVydC13YXJuaW5nLWJvcmRlciwgJGFsZXJ0LXdhcm5pbmctdGV4dCk7XHJcbn1cclxuXHJcbi5hbGVydC1kYW5nZXIge1xyXG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWRhbmdlci1iZywgJGFsZXJ0LWRhbmdlci1ib3JkZXIsICRhbGVydC1kYW5nZXItdGV4dCk7XHJcbn1cclxuIiwiLy8gQWxlcnRzXHJcblxyXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJHRleHQtY29sb3IpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG5cclxuICBociB7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xyXG4gIH1cclxuICAuYWxlcnQtbGluayB7XHJcbiAgICBjb2xvcjogZGFya2VuKCR0ZXh0LWNvbG9yLCAxMCUpO1xyXG4gIH1cclxufVxyXG4iLCIvL1xyXG4vLyBQcm9ncmVzcyBiYXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gQmFyIGFuaW1hdGlvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gV2ViS2l0XHJcbkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XHJcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cclxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxyXG59XHJcblxyXG4vLyBTcGVjIGFuZCBJRTEwK1xyXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcclxuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxyXG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XHJcbn1cclxuXHJcblxyXG4vLyBCYXIgaXRzZWxmXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIE91dGVyIGNvbnRhaW5lclxyXG4ucHJvZ3Jlc3Mge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcclxuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcclxuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKSk7XHJcbn1cclxuXHJcbi8vIEJhciBvZiBwcm9ncmVzc1xyXG4ucHJvZ3Jlc3MtYmFyIHtcclxuICBmbG9hdDogbGVmdDtcclxuICB3aWR0aDogMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpKTtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIC42cyBlYXNlKTtcclxufVxyXG5cclxuLy8gU3RyaXBlZCBiYXJzXHJcbi8vXHJcbi8vIGAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcclxuLy8gYC5wcm9ncmVzcy1iYXItc3RyaXBlZGAgY2xhc3MsIHdoaWNoIHlvdSBqdXN0IGFkZCB0byBhbiBleGlzdGluZ1xyXG4vLyBgLnByb2dyZXNzLWJhcmAuXHJcbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsXHJcbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XHJcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcclxufVxyXG5cclxuLy8gQ2FsbCBhbmltYXRpb24gZm9yIHRoZSBhY3RpdmUgb25lXHJcbi8vXHJcbi8vIGAucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXJgIGlzIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGluIGZhdm9yIG9mIHRoZVxyXG4vLyBgLnByb2dyZXNzLWJhci5hY3RpdmVgIGFwcHJvYWNoLlxyXG4ucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXIsXHJcbi5wcm9ncmVzcy1iYXIuYWN0aXZlIHtcclxuICBAaW5jbHVkZSBhbmltYXRpb24ocHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlKTtcclxufVxyXG5cclxuXHJcbi8vIFZhcmlhdGlvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLnByb2dyZXNzLWJhci1zdWNjZXNzIHtcclxuICBAaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmcpO1xyXG59XHJcblxyXG4ucHJvZ3Jlc3MtYmFyLWluZm8ge1xyXG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItaW5mby1iZyk7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1iYXItd2FybmluZyB7XHJcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci13YXJuaW5nLWJnKTtcclxufVxyXG5cclxuLnByb2dyZXNzLWJhci1kYW5nZXIge1xyXG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnKTtcclxufVxyXG4iLCIvLyBHcmFkaWVudHNcclxuXHJcblxyXG5cclxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXHJcbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzAwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBPcGVyYSAxMlxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXHJcbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMwMDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gT3BlcmEgMTJcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMwMDAsICRkZWc6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBPcGVyYSAxMlxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXHJcbn1cclxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXHJcbn1cclxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXHJcbn1cclxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzAwMCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxufVxyXG4iLCIvLyBQcm9ncmVzcyBiYXJzXHJcblxyXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG5cclxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcclxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQ7XHJcbiAgfVxyXG59XHJcbiIsIi5tZWRpYSB7XHJcbiAgLy8gUHJvcGVyIHNwYWNpbmcgYmV0d2VlbiBpbnN0YW5jZXMgb2YgLm1lZGlhXHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuXHJcbiAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLm1lZGlhLFxyXG4ubWVkaWEtYm9keSB7XHJcbiAgem9vbTogMTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubWVkaWEtYm9keSB7XHJcbiAgd2lkdGg6IDEwMDAwcHg7XHJcbn1cclxuXHJcbi5tZWRpYS1vYmplY3Qge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubWVkaWEtcmlnaHQsXHJcbi5tZWRpYSA+IC5wdWxsLXJpZ2h0IHtcclxuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5tZWRpYS1sZWZ0LFxyXG4ubWVkaWEgPiAucHVsbC1sZWZ0IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4ubWVkaWEtbGVmdCxcclxuLm1lZGlhLXJpZ2h0LFxyXG4ubWVkaWEtYm9keSB7XHJcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcblxyXG4ubWVkaWEtbWlkZGxlIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4ubWVkaWEtYm90dG9tIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG59XHJcblxyXG4vLyBSZXNldCBtYXJnaW5zIG9uIGhlYWRpbmdzIGZvciB0aWdodGVyIGRlZmF1bHQgc3BhY2luZ1xyXG4ubWVkaWEtaGVhZGluZyB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi8vIE1lZGlhIGxpc3QgdmFyaWF0aW9uXHJcbi8vXHJcbi8vIFVuZG8gZGVmYXVsdCB1bC9vbCBzdHlsZXNcclxuLm1lZGlhLWxpc3Qge1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcbiIsIi8vXHJcbi8vIExpc3QgZ3JvdXBzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gQmFzZSBjbGFzc1xyXG4vL1xyXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxyXG5cclxuLmxpc3QtZ3JvdXAge1xyXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxyXG59XHJcblxyXG5cclxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXHJcbi8vXHJcbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cclxuXHJcbi5saXN0LWdyb3VwLWl0ZW0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xyXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyO1xyXG5cclxuICAvLyBSb3VuZCB0aGUgZmlyc3QgYW5kIGxhc3QgaXRlbXNcclxuICAmOmZpcnN0LWNoaWxkIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIExpbmtlZCBsaXN0IGl0ZW1zXHJcbi8vXHJcbi8vIFVzZSBhbmNob3IgZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGxpbmtlZCBsaXN0IGl0ZW1zLlxyXG4vLyBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNob3dpbmcgc2VsZWN0ZWQgaXRlbXMuXHJcblxyXG5hLmxpc3QtZ3JvdXAtaXRlbSB7XHJcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstY29sb3I7XHJcblxyXG4gIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XHJcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLy8gSG92ZXIgc3RhdGVcclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcclxuICB9XHJcbn1cclxuXHJcbi5saXN0LWdyb3VwLWl0ZW0ge1xyXG4gIC8vIERpc2FibGVkIHN0YXRlXHJcbiAgJi5kaXNhYmxlZCxcclxuICAmLmRpc2FibGVkOmhvdmVyLFxyXG4gICYuZGlzYWJsZWQ6Zm9jdXMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XHJcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XHJcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XHJcblxyXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcclxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XHJcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcclxuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBBY3RpdmUgY2xhc3Mgb24gaXRlbSBpdHNlbGYsIG5vdCBwYXJlbnRcclxuICAmLmFjdGl2ZSxcclxuICAmLmFjdGl2ZTpob3ZlcixcclxuICAmLmFjdGl2ZTpmb2N1cyB7XHJcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xyXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcclxuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjtcclxuXHJcbiAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxyXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxyXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXHJcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwge1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XHJcbiAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXHJcbi8vXHJcbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXHJcbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXHJcblxyXG5AaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudChzdWNjZXNzLCAkc3RhdGUtc3VjY2Vzcy1iZywgJHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XHJcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGluZm8sICRzdGF0ZS1pbmZvLWJnLCAkc3RhdGUtaW5mby10ZXh0KTtcclxuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xyXG5AaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudChkYW5nZXIsICRzdGF0ZS1kYW5nZXItYmcsICRzdGF0ZS1kYW5nZXItdGV4dCk7XHJcblxyXG5cclxuLy8gQ3VzdG9tIGNvbnRlbnQgb3B0aW9uc1xyXG4vL1xyXG4vLyBFeHRyYSBjbGFzc2VzIGZvciBjcmVhdGluZyB3ZWxsLWZvcm1hdHRlZCBjb250ZW50IHdpdGhpbiBgLmxpc3QtZ3JvdXAtaXRlbWBzLlxyXG5cclxuLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG4ubGlzdC1ncm91cC1pdGVtLXRleHQge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMztcclxufVxyXG4iLCIvLyBMaXN0IEdyb3Vwc1xyXG5cclxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xyXG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYgdG8gYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XHJcbiAgfVxyXG5cclxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUsXHJcbiAgICAmLmFjdGl2ZTpob3ZlcixcclxuICAgICYuYWN0aXZlOmZvY3VzIHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vXHJcbi8vIFBhbmVsc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIEJhc2UgY2xhc3NcclxuLnBhbmVsIHtcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWJnO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yYWRpdXM6ICRwYW5lbC1ib3JkZXItcmFkaXVzO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XHJcbn1cclxuXHJcbi8vIFBhbmVsIGNvbnRlbnRzXHJcbi5wYW5lbC1ib2R5IHtcclxuICBwYWRkaW5nOiAkcGFuZWwtYm9keS1wYWRkaW5nO1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG59XHJcblxyXG4vLyBPcHRpb25hbCBoZWFkaW5nXHJcbi5wYW5lbC1oZWFkaW5nIHtcclxuICBwYWRkaW5nOiAkcGFuZWwtaGVhZGluZy1wYWRkaW5nO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XHJcblxyXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXaXRoaW4gaGVhZGluZywgc3RyaXAgYW55IGBoKmAgdGFnIG9mIGl0cyBkZWZhdWx0IG1hcmdpbnMgZm9yIHNwYWNpbmcuXHJcbi5wYW5lbC10aXRsZSB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIGZvbnQtc2l6ZTogY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4xMjUpKTtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuXHJcbiAgPiBhLFxyXG4gID4gc21hbGwsXHJcbiAgPiAuc21hbGwsXHJcbiAgPiBzbWFsbCA+IGEsXHJcbiAgPiAuc21hbGwgPiBhIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gT3B0aW9uYWwgZm9vdGVyIChzdGF5cyBncmF5IGluIGV2ZXJ5IG1vZGlmaWVyIGNsYXNzKVxyXG4ucGFuZWwtZm9vdGVyIHtcclxuICBwYWRkaW5nOiAkcGFuZWwtZm9vdGVyLXBhZGRpbmc7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWZvb3Rlci1iZztcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgJHBhbmVsLWlubmVyLWJvcmRlcjtcclxuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XHJcbn1cclxuXHJcblxyXG4vLyBMaXN0IGdyb3VwcyBpbiBwYW5lbHNcclxuLy9cclxuLy8gQnkgZGVmYXVsdCwgc3BhY2Ugb3V0IGxpc3QgZ3JvdXAgY29udGVudCBmcm9tIHBhbmVsIGhlYWRpbmdzIHRvIGFjY291bnQgZm9yXHJcbi8vIGFueSBraW5kIG9mIGN1c3RvbSBjb250ZW50IGJldHdlZW4gdGhlIHR3by5cclxuXHJcbi5wYW5lbCB7XHJcbiAgPiAubGlzdC1ncm91cCxcclxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgLmxpc3QtZ3JvdXAtaXRlbSB7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyBDb2xsYXBzZSBzcGFjZSBiZXR3ZWVuIHdoZW4gdGhlcmUncyBubyBhZGRpdGlvbmFsIGNvbnRlbnQuXHJcbi5wYW5lbC1oZWFkaW5nICsgLmxpc3QtZ3JvdXAge1xyXG4gIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcclxuICB9XHJcbn1cclxuLmxpc3QtZ3JvdXAgKyAucGFuZWwtZm9vdGVyIHtcclxuICBib3JkZXItdG9wLXdpZHRoOiAwO1xyXG59XHJcblxyXG4vLyBUYWJsZXMgaW4gcGFuZWxzXHJcbi8vXHJcbi8vIFBsYWNlIGEgbm9uLWJvcmRlcmVkIGAudGFibGVgIHdpdGhpbiBhIHBhbmVsIChub3Qgd2l0aGluIGEgYC5wYW5lbC1ib2R5YCkgYW5kXHJcbi8vIHdhdGNoIGl0IGdvIGZ1bGwgd2lkdGguXHJcblxyXG4ucGFuZWwge1xyXG4gID4gLnRhYmxlLFxyXG4gID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUsXHJcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAudGFibGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICBjYXB0aW9uIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkcGFuZWwtYm9keS1wYWRkaW5nO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFuZWwtYm9keS1wYWRkaW5nO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBBZGQgYm9yZGVyIHRvcCByYWRpdXMgZm9yIGZpcnN0IG9uZVxyXG4gID4gLnRhYmxlOmZpcnN0LWNoaWxkLFxyXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xyXG5cclxuICAgID4gdGhlYWQ6Zmlyc3QtY2hpbGQsXHJcbiAgICA+IHRib2R5OmZpcnN0LWNoaWxkIHtcclxuICAgICAgPiB0cjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xyXG5cclxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcclxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcclxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxyXG4gID4gLnRhYmxlOmxhc3QtY2hpbGQsXHJcbiAgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xyXG5cclxuICAgID4gdGJvZHk6bGFzdC1jaGlsZCxcclxuICAgID4gdGZvb3Q6bGFzdC1jaGlsZCB7XHJcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xyXG5cclxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcclxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcclxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgPiAucGFuZWwtYm9keSArIC50YWJsZSxcclxuICA+IC5wYW5lbC1ib2R5ICsgLnRhYmxlLXJlc3BvbnNpdmUsXHJcbiAgPiAudGFibGUgKyAucGFuZWwtYm9keSxcclxuICA+IC50YWJsZS1yZXNwb25zaXZlICsgLnBhbmVsLWJvZHkge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XHJcbiAgfVxyXG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCxcclxuICA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQge1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICB9XHJcbiAgPiAudGFibGUtYm9yZGVyZWQsXHJcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICA+IHRoZWFkLFxyXG4gICAgPiB0Ym9keSxcclxuICAgID4gdGZvb3Qge1xyXG4gICAgICA+IHRyIHtcclxuICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxyXG4gICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gdGg6bGFzdC1jaGlsZCxcclxuICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiB0aGVhZCxcclxuICAgID4gdGJvZHkge1xyXG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICA+IHRkLFxyXG4gICAgICAgID4gdGgge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgID4gdGJvZHksXHJcbiAgICA+IHRmb290IHtcclxuICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcclxuICAgICAgICA+IHRkLFxyXG4gICAgICAgID4gdGgge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIENvbGxhcHNhYmxlIHBhbmVscyAoYWthLCBhY2NvcmRpb24pXHJcbi8vXHJcbi8vIFdyYXAgYSBzZXJpZXMgb2YgcGFuZWxzIGluIGAucGFuZWwtZ3JvdXBgIHRvIHR1cm4gdGhlbSBpbnRvIGFuIGFjY29yZGlvbiB3aXRoXHJcbi8vIHRoZSBoZWxwIG9mIG91ciBjb2xsYXBzZSBKYXZhU2NyaXB0IHBsdWdpbi5cclxuXHJcbi5wYW5lbC1ncm91cCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG5cclxuICAvLyBUaWdodGVuIHVwIG1hcmdpbiBzbyBpdCdzIG9ubHkgYmV0d2VlbiBwYW5lbHNcclxuICAucGFuZWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRwYW5lbC1ib3JkZXItcmFkaXVzO1xyXG5cclxuICAgICsgLnBhbmVsIHtcclxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnBhbmVsLWhlYWRpbmcge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuXHJcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5LFxyXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcGFuZWwtaW5uZXItYm9yZGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnBhbmVsLWZvb3RlciB7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgKyAucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHkge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHBhbmVsLWlubmVyLWJvcmRlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnNcclxuLnBhbmVsLWRlZmF1bHQge1xyXG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLWRlZmF1bHQtYm9yZGVyLCAkcGFuZWwtZGVmYXVsdC10ZXh0LCAkcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnLCAkcGFuZWwtZGVmYXVsdC1ib3JkZXIpO1xyXG59XHJcbi5wYW5lbC1wcmltYXJ5IHtcclxuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1wcmltYXJ5LWJvcmRlciwgJHBhbmVsLXByaW1hcnktdGV4dCwgJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZywgJHBhbmVsLXByaW1hcnktYm9yZGVyKTtcclxufVxyXG4ucGFuZWwtc3VjY2VzcyB7XHJcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtc3VjY2Vzcy1ib3JkZXIsICRwYW5lbC1zdWNjZXNzLXRleHQsICRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmcsICRwYW5lbC1zdWNjZXNzLWJvcmRlcik7XHJcbn1cclxuLnBhbmVsLWluZm8ge1xyXG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLWluZm8tYm9yZGVyLCAkcGFuZWwtaW5mby10ZXh0LCAkcGFuZWwtaW5mby1oZWFkaW5nLWJnLCAkcGFuZWwtaW5mby1ib3JkZXIpO1xyXG59XHJcbi5wYW5lbC13YXJuaW5nIHtcclxuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC13YXJuaW5nLWJvcmRlciwgJHBhbmVsLXdhcm5pbmctdGV4dCwgJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZywgJHBhbmVsLXdhcm5pbmctYm9yZGVyKTtcclxufVxyXG4ucGFuZWwtZGFuZ2VyIHtcclxuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1kYW5nZXItYm9yZGVyLCAkcGFuZWwtZGFuZ2VyLXRleHQsICRwYW5lbC1kYW5nZXItaGVhZGluZy1iZywgJHBhbmVsLWRhbmdlci1ib3JkZXIpO1xyXG59XHJcbiIsIi8vIFBhbmVsc1xyXG5cclxuQG1peGluIHBhbmVsLXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xyXG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuXHJcbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcclxuICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XHJcbiAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLWJvcmRlcjtcclxuXHJcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcclxuICAgIH1cclxuICAgIC5iYWRnZSB7XHJcbiAgICAgIGNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcbiAgJiA+IC5wYW5lbC1mb290ZXIge1xyXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEVtYmVkcyByZXNwb25zaXZlXHJcbi8vXHJcbi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxyXG5cclxuLmVtYmVkLXJlc3BvbnNpdmUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBoZWlnaHQ6IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxyXG4gIGlmcmFtZSxcclxuICBlbWJlZCxcclxuICBvYmplY3QsXHJcbiAgdmlkZW8ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDE2OjkgYXNwZWN0IHJhdGlvXHJcbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcclxuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xyXG59XHJcblxyXG4vLyBNb2RpZmllciBjbGFzcyBmb3IgNDozIGFzcGVjdCByYXRpb1xyXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcclxuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xyXG59XHJcbiIsIi8vXHJcbi8vIFdlbGxzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gQmFzZSBjbGFzc1xyXG4ud2VsbCB7XHJcbiAgbWluLWhlaWdodDogMjBweDtcclxuICBwYWRkaW5nOiAxOXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdlbGwtYmc7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJHdlbGwtYm9yZGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XHJcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpKTtcclxuICBibG9ja3F1b3RlIHtcclxuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMTUpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gU2l6ZXNcclxuLndlbGwtbGcge1xyXG4gIHBhZGRpbmc6IDI0cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XHJcbn1cclxuLndlbGwtc20ge1xyXG4gIHBhZGRpbmc6IDlweDtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbWFsbDtcclxufVxyXG4iLCIvL1xyXG4vLyBDbG9zZSBpY29uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi5jbG9zZSB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XHJcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xyXG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XHJcbiAgQGluY2x1ZGUgb3BhY2l0eSguMik7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGluY2x1ZGUgb3BhY2l0eSguNSk7XHJcbiAgfVxyXG5cclxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYnV0dG9uJiB0byBidXR0b24uY2xvc2VcclxufVxyXG5cclxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxyXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cclxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXHJcbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxyXG5idXR0b24uY2xvc2Uge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogMDtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuIiwiLy9cclxuLy8gTW9kYWxzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXHJcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxyXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcclxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc2hpdFxyXG5cclxuLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XHJcbi5tb2RhbC1vcGVuIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cclxuLm1vZGFsIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHJcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcclxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cclxuICBvdXRsaW5lOiAwO1xyXG5cclxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxyXG4gICYuZmFkZSAubW9kYWwtZGlhbG9nIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAtMjUlKTtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tdHJhbnNmb3JtKDAuM3MgZWFzZS1vdXQpO1xyXG4gIH1cclxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgMCkgfVxyXG59XHJcbi5tb2RhbC1vcGVuIC5tb2RhbCB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xyXG4ubW9kYWwtZGlhbG9nIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG59XHJcblxyXG4vLyBBY3R1YWwgbW9kYWxcclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcclxuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I7IC8vb2xkIGJyb3dzZXJzIGZhbGxiYWNrIChpZTggZXRjKVxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcclxuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8vIE1vZGFsIGJhY2tncm91bmRcclxuLm1vZGFsLWJhY2tkcm9wIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XHJcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcclxuICAmLmZhZGUgeyBAaW5jbHVkZSBvcGFjaXR5KDApOyB9XHJcbiAgJi5pbiB7IEBpbmNsdWRlIG9wYWNpdHkoJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkpOyB9XHJcbn1cclxuXHJcbi8vIE1vZGFsIGhlYWRlclxyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3NcclxuLm1vZGFsLWhlYWRlciB7XHJcbiAgcGFkZGluZzogJG1vZGFsLXRpdGxlLXBhZGRpbmc7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xyXG4gIG1pbi1oZWlnaHQ6ICgkbW9kYWwtdGl0bGUtcGFkZGluZyArICRtb2RhbC10aXRsZS1saW5lLWhlaWdodCk7XHJcbn1cclxuLy8gQ2xvc2UgaWNvblxyXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XHJcbiAgbWFyZ2luLXRvcDogLTJweDtcclxufVxyXG5cclxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXHJcbi5tb2RhbC10aXRsZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XHJcbn1cclxuXHJcbi8vIE1vZGFsIGJvZHlcclxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxyXG4ubW9kYWwtYm9keSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xyXG59XHJcblxyXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxyXG4ubW9kYWwtZm9vdGVyIHtcclxuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiByaWdodDsgLy8gcmlnaHQgYWxpZ24gYnV0dG9uc1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDsgLy8gY2xlYXIgaXQgaW4gY2FzZSBmb2xrcyB1c2UgLnB1bGwtKiBjbGFzc2VzIG9uIGJ1dHRvbnNcclxuXHJcbiAgLy8gUHJvcGVybHkgc3BhY2Ugb3V0IGJ1dHRvbnNcclxuICAuYnRuICsgLmJ0biB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gYWNjb3VudCBmb3IgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB3aGljaCBnZXRzIHRoZSBib3R0b20gbWFyZ2luIGxpa2UgYWxsIG90aGVyIGlucHV0c1xyXG4gIH1cclxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xyXG4gIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgfVxyXG4gIC8vIGFuZCBvdmVycmlkZSBpdCBmb3IgYmxvY2sgYnV0dG9ucyBhcyB3ZWxsXHJcbiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcclxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAtOTk5OXB4O1xyXG4gIHdpZHRoOiA1MHB4O1xyXG4gIGhlaWdodDogNTBweDtcclxuICBvdmVyZmxvdzogc2Nyb2xsO1xyXG59XHJcblxyXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcclxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xyXG4gIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgd2lkdGg6ICRtb2RhbC1tZDtcclxuICAgIG1hcmdpbjogMzBweCBhdXRvO1xyXG4gIH1cclxuICAubW9kYWwtY29udGVudCB7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNXB4IDE1cHggcmdiYSgwLDAsMCwuNSkpO1xyXG4gIH1cclxuXHJcbiAgLy8gTW9kYWwgc2l6ZXNcclxuICAubW9kYWwtc20geyB3aWR0aDogJG1vZGFsLXNtOyB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xyXG4gIC5tb2RhbC1sZyB7IHdpZHRoOiAkbW9kYWwtbGc7IH1cclxufVxyXG4iLCIvL1xyXG4vLyBUb29sdGlwc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIEJhc2UgY2xhc3NcclxuLnRvb2x0aXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgLy8gUmVzZXQgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIGdpdmVuIG5ldyBpbnNlcnRpb24gbWV0aG9kXHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcclxuXHJcbiAgJi5pbiAgICAgeyBAaW5jbHVkZSBvcGFjaXR5KCR0b29sdGlwLW9wYWNpdHkpOyB9XHJcbiAgJi50b3AgICAgeyBtYXJnaW4tdG9wOiAgLTNweDsgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxyXG4gICYucmlnaHQgIHsgbWFyZ2luLWxlZnQ6ICAzcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cclxuICAmLmJvdHRvbSB7IG1hcmdpbi10b3A6ICAgM3B4OyBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XHJcbiAgJi5sZWZ0ICAgeyBtYXJnaW4tbGVmdDogLTNweDsgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxyXG59XHJcblxyXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XHJcbi50b29sdGlwLWlubmVyIHtcclxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcclxuICBwYWRkaW5nOiAzcHggOHB4O1xyXG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4gIHdoaXRlLXNwYWNlOnByZS13cmFwO1xyXG59XHJcblxyXG4vLyBBcnJvd3NcclxuLnRvb2x0aXAtYXJyb3cge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG59XHJcbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnRvcC1sZWZ0LCAudG9wLXJpZ2h0LCAuYm90dG9tLWxlZnQsIGFuZCAuYm90dG9tLXJpZ2h0IGFzIG9mIHYzLjMuMVxyXG4udG9vbHRpcCB7XHJcbiAgJi50b3AgLnRvb2x0aXAtYXJyb3cge1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcclxuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xyXG4gIH1cclxuICAmLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHJpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcclxuICAgIG1hcmdpbi1ib3R0b206IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcclxuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xyXG4gIH1cclxuICAmLnRvcC1yaWdodCAudG9vbHRpcC1hcnJvdyB7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcclxuICAgIG1hcmdpbi1ib3R0b206IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcclxuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xyXG4gIH1cclxuICAmLnJpZ2h0IC50b29sdGlwLWFycm93IHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcclxuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcclxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XHJcbiAgfVxyXG4gICYubGVmdCAudG9vbHRpcC1hcnJvdyB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xyXG4gIH1cclxuICAmLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XHJcbiAgfVxyXG4gICYuYm90dG9tLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xyXG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XHJcbiAgfVxyXG4gICYuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93IHtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xyXG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XHJcbiAgfVxyXG59XHJcbiIsIi8vXHJcbi8vIFBvcG92ZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLnBvcG92ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcclxuICBwYWRkaW5nOiAxcHg7XHJcbiAgLy8gUmVzZXQgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIGdpdmVuIG5ldyBpbnNlcnRpb24gbWV0aG9kXHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKSk7XHJcblxyXG4gIC8vIE92ZXJyaWRlcyBmb3IgcHJvcGVyIGluc2VydGlvblxyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcblxyXG4gIC8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xyXG4gICYudG9wICAgICB7IG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxyXG4gICYucmlnaHQgICB7IG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxyXG4gICYuYm90dG9tICB7IG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LXdpZHRoOyB9XHJcbiAgJi5sZWZ0ICAgIHsgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxyXG59XHJcblxyXG4ucG9wb3Zlci10aXRsZSB7XHJcbiAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxyXG4gIHBhZGRpbmc6IDhweCAxNHB4O1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLXRpdGxlLWJnO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItdGl0bGUtYmcsIDUlKTtcclxuICBib3JkZXItcmFkaXVzOiAoJGJvcmRlci1yYWRpdXMtbGFyZ2UgLSAxKSAoJGJvcmRlci1yYWRpdXMtbGFyZ2UgLSAxKSAwIDA7XHJcbn1cclxuXHJcbi5wb3BvdmVyLWNvbnRlbnQge1xyXG4gIHBhZGRpbmc6IDlweCAxNHB4O1xyXG59XHJcblxyXG4vLyBBcnJvd3NcclxuLy9cclxuLy8gLmFycm93IGlzIG91dGVyLCAuYXJyb3c6YWZ0ZXIgaXMgaW5uZXJcclxuXHJcbi5wb3BvdmVyID4gLmFycm93IHtcclxuICAmLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIH1cclxufVxyXG4ucG9wb3ZlciA+IC5hcnJvdyB7XHJcbiAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcclxufVxyXG4ucG9wb3ZlciA+IC5hcnJvdzphZnRlciB7XHJcbiAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcclxuICBjb250ZW50OiBcIlwiO1xyXG59XHJcblxyXG4ucG9wb3ZlciB7XHJcbiAgJi50b3AgPiAuYXJyb3cge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcclxuICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICBib3R0b206IDFweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcclxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYucmlnaHQgPiAuYXJyb3cge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XHJcbiAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XHJcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcclxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgbGVmdDogMXB4O1xyXG4gICAgICBib3R0b206IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcclxuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuYm90dG9tID4gLmFycm93IHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XHJcbiAgICB0b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgdG9wOiAxcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XHJcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5sZWZ0ID4gLmFycm93IHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgcmlnaHQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcclxuICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcclxuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXHJcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgIHJpZ2h0OiAxcHg7XHJcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xyXG4gICAgICBib3R0b206IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gQ2Fyb3VzZWxcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4vLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXHJcbi5jYXJvdXNlbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtaW5uZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICA+IC5pdGVtIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC42cyBlYXNlLWluLW91dCBsZWZ0KTtcclxuXHJcbiAgICAvLyBBY2NvdW50IGZvciBqYW5raXR1ZGUgb24gaW1hZ2VzXHJcbiAgICA+IGltZyxcclxuICAgID4gYSA+IGltZyB7XHJcbiAgICAgIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBXZWJLaXQgQ1NTMyB0cmFuc2Zvcm1zIGZvciBzdXBwb3J0ZWQgZGV2aWNlc1xyXG4gICAgQG1lZGlhIGFsbCBhbmQgKHRyYW5zZm9ybS0zZCksICgtd2Via2l0LXRyYW5zZm9ybS0zZCkge1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRyYW5zZm9ybSgwLjZzIGVhc2UtaW4tb3V0KTtcclxuICAgICAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eShoaWRkZW4pO1xyXG4gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZSgxMDAwKTtcclxuXHJcbiAgICAgICYubmV4dCxcclxuICAgICAgJi5hY3RpdmUucmlnaHQge1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgICAgJi5wcmV2LFxyXG4gICAgICAmLmFjdGl2ZS5sZWZ0IHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgICAmLm5leHQubGVmdCxcclxuICAgICAgJi5wcmV2LnJpZ2h0LFxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgPiAuYWN0aXZlLFxyXG4gID4gLm5leHQsXHJcbiAgPiAucHJldiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gID4gLmFjdGl2ZSB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgPiAubmV4dCxcclxuICA+IC5wcmV2IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgPiAubmV4dCB7XHJcbiAgICBsZWZ0OiAxMDAlO1xyXG4gIH1cclxuICA+IC5wcmV2IHtcclxuICAgIGxlZnQ6IC0xMDAlO1xyXG4gIH1cclxuICA+IC5uZXh0LmxlZnQsXHJcbiAgPiAucHJldi5yaWdodCB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgPiAuYWN0aXZlLmxlZnQge1xyXG4gICAgbGVmdDogLTEwMCU7XHJcbiAgfVxyXG4gID4gLmFjdGl2ZS5yaWdodCB7XHJcbiAgICBsZWZ0OiAxMDAlO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5jYXJvdXNlbC1jb250cm9sIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcclxuICBAaW5jbHVkZSBvcGFjaXR5KCRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHkpO1xyXG4gIGZvbnQtc2l6ZTogJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplO1xyXG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1zaGFkb3c6ICRjYXJvdXNlbC10ZXh0LXNoYWRvdztcclxuICAvLyBXZSBjYW4ndCBoYXZlIHRoaXMgdHJhbnNpdGlvbiBoZXJlIGJlY2F1c2UgV2ViS2l0IGNhbmNlbHMgdGhlIGNhcm91c2VsXHJcbiAgLy8gYW5pbWF0aW9uIGlmIHlvdSB0cmlwIHRoaXMgd2hpbGUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIGFuaW1hdGlvbi5cclxuXHJcbiAgLy8gU2V0IGdyYWRpZW50cyBmb3IgYmFja2dyb3VuZHNcclxuICAmLmxlZnQge1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6IHJnYmEoMCwwLDAsLjUpLCAkZW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSk7XHJcbiAgfVxyXG4gICYucmlnaHQge1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6IHJnYmEoMCwwLDAsLjAwMDEpLCAkZW5kLWNvbG9yOiByZ2JhKDAsMCwwLC41KSk7XHJcbiAgfVxyXG5cclxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgQGluY2x1ZGUgb3BhY2l0eSguOSk7XHJcbiAgfVxyXG5cclxuICAvLyBUb2dnbGVzXHJcbiAgLmljb24tcHJldixcclxuICAuaWNvbi1uZXh0LFxyXG4gIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxyXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG4gIC5pY29uLXByZXYsXHJcbiAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gIH1cclxuICAuaWNvbi1uZXh0LFxyXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XHJcbiAgICByaWdodDogNTAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcclxuICB9XHJcbiAgLmljb24tcHJldixcclxuICAuaWNvbi1uZXh0IHtcclxuICAgIHdpZHRoOiAgMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBmb250LWZhbWlseTogc2VyaWY7XHJcbiAgfVxyXG5cclxuXHJcbiAgLmljb24tcHJldiB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMzknOy8vIFNJTkdMRSBMRUZULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwMzkpXHJcbiAgICB9XHJcbiAgfVxyXG4gIC5pY29uLW5leHQge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnXFwyMDNhJzsvLyBTSU5HTEUgUklHSFQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzQSlcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXHJcbi8vXHJcbi8vIEFkZCBhbiB1bm9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxyXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxyXG5cclxuLmNhcm91c2VsLWluZGljYXRvcnMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDEwcHg7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHotaW5kZXg6IDE1O1xyXG4gIHdpZHRoOiA2MCU7XHJcbiAgbWFyZ2luLWxlZnQ6IC0zMCU7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBsaSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogIDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW46IDFweDtcclxuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgLy8gSUU4LTkgaGFjayBmb3IgZXZlbnQgaGFuZGxpbmdcclxuICAgIC8vXHJcbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciA4LTkgZG9lcyBub3Qgc3VwcG9ydCBjbGlja3Mgb24gZWxlbWVudHMgd2l0aG91dCBhIHNldFxyXG4gICAgLy8gYGJhY2tncm91bmQtY29sb3JgLiBXZSBjYW5ub3QgdXNlIGBmaWx0ZXJgIHNpbmNlIHRoYXQncyBub3Qgdmlld2VkIGFzIGFcclxuICAgIC8vIGJhY2tncm91bmQgY29sb3IgYnkgdGhlIGJyb3dzZXIuIFRodXMsIGEgaGFjayBpcyBuZWVkZWQuXHJcbiAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI0ludGVybmV0X0V4cGxvcmVyXHJcbiAgICAvL1xyXG4gICAgLy8gRm9yIElFOCwgd2Ugc2V0IHNvbGlkIGJsYWNrIGFzIGl0IGRvZXNuJ3Qgc3VwcG9ydCBgcmdiYSgpYC4gRm9yIElFOSwgd2VcclxuICAgIC8vIHNldCBhbHBoYSB0cmFuc3BhcmVuY3kgZm9yIHRoZSBiZXN0IHJlc3VsdHMgcG9zc2libGUuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwIFxcOTsgLy8gSUU4XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDApOyAvLyBJRTlcclxuICB9XHJcbiAgLmFjdGl2ZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB3aWR0aDogIDEycHg7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcclxuICB9XHJcbn1cclxuXHJcbi8vIE9wdGlvbmFsIGNhcHRpb25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEhpZGRlbiBieSBkZWZhdWx0IGZvciBzbWFsbGVyIHZpZXdwb3J0c1xyXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDE1JTtcclxuICByaWdodDogMTUlO1xyXG4gIGJvdHRvbTogMjBweDtcclxuICB6LWluZGV4OiAxMDtcclxuICBwYWRkaW5nLXRvcDogMjBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtc2hhZG93OiAkY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XHJcbiAgJiAuYnRuIHtcclxuICAgIHRleHQtc2hhZG93OiBub25lOyAvLyBObyBzaGFkb3cgZm9yIGJ1dHRvbiBlbGVtZW50cyBpbiBjYXJvdXNlbC1jYXB0aW9uXHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gU2NhbGUgdXAgY29udHJvbHMgZm9yIHRhYmxldHMgYW5kIHVwXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcblxyXG4gIC8vIFNjYWxlIHVwIHRoZSBjb250cm9scyBhIHNtaWRnZVxyXG4gIC5jYXJvdXNlbC1jb250cm9sIHtcclxuICAgIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxyXG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxyXG4gICAgLmljb24tcHJldixcclxuICAgIC5pY29uLW5leHQge1xyXG4gICAgICB3aWR0aDogMzBweDtcclxuICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDtcclxuICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgfVxyXG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXHJcbiAgICAuaWNvbi1wcmV2IHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xyXG4gICAgfVxyXG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxyXG4gICAgLmljb24tbmV4dCB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTaG93IGFuZCBsZWZ0IGFsaWduIHRoZSBjYXB0aW9uc1xyXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcclxuICAgIGxlZnQ6IDIwJTtcclxuICAgIHJpZ2h0OiAyMCU7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICB9XHJcblxyXG4gIC8vIE1vdmUgdXAgdGhlIGluZGljYXRvcnNcclxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XHJcbiAgICBib3R0b206IDIwcHg7XHJcbiAgfVxyXG59XHJcbiIsIi8vXHJcbi8vIFV0aWxpdHkgY2xhc3Nlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIEZsb2F0c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uY2xlYXJmaXgge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG59XHJcbi5jZW50ZXItYmxvY2sge1xyXG4gIEBpbmNsdWRlIGNlbnRlci1ibG9jaztcclxufVxyXG4ucHVsbC1yaWdodCB7XHJcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnB1bGwtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vIFRvZ2dsaW5nIGNvbnRlbnRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gTm90ZTogRGVwcmVjYXRlZCAuaGlkZSBpbiBmYXZvciBvZiAuaGlkZGVuIG9yIC5zci1vbmx5IChhcyBhcHByb3ByaWF0ZSkgaW4gdjMuMC4xXHJcbi5oaWRlIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLnNob3cge1xyXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn1cclxuLmludmlzaWJsZSB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi50ZXh0LWhpZGUge1xyXG4gIEBpbmNsdWRlIHRleHQtaGlkZTtcclxufVxyXG5cclxuXHJcbi8vIEhpZGUgZnJvbSBzY3JlZW5yZWFkZXJzIGFuZCBicm93c2Vyc1xyXG4vL1xyXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXHJcblxyXG4uaGlkZGVuIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLyBGb3IgQWZmaXggcGx1Z2luXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5hZmZpeCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG59XHJcbiIsIi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcclxuXHJcbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxyXG4vL1xyXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXHJcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xyXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC5cclxuLy9cclxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XHJcblxyXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAod2lsbCBiZSByZW1vdmVkIGluIHY0KVxyXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xyXG4gIGZvbnQ6IDAvMCBhO1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi8vIE5ldyBtaXhpbiB0byB1c2UgYXMgb2YgdjMuMC4xXHJcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XHJcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xyXG59XHJcbiIsIi8vXHJcbi8vIFJlc3BvbnNpdmU6IFV0aWxpdHkgY2xhc3Nlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIElFMTAgaW4gV2luZG93cyAoUGhvbmUpIDhcclxuLy9cclxuLy8gU3VwcG9ydCBmb3IgcmVzcG9uc2l2ZSB2aWV3cyB2aWEgbWVkaWEgcXVlcmllcyBpcyBraW5kIG9mIGJvcmtlZCBpbiBJRTEwLCBmb3JcclxuLy8gU3VyZmFjZS9kZXNrdG9wIGluIHNwbGl0IHZpZXcgYW5kIGZvciBXaW5kb3dzIFBob25lIDguIFRoaXMgcGFydGljdWxhciBmaXhcclxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcclxuLy8gYXBwbHkgc29tZSBjb25kaXRpb25hbCBDU1MgdG8gKm9ubHkqIHRoZSBTdXJmYWNlL2Rlc2t0b3AgV2luZG93cyA4LiBMb29rIGF0XHJcbi8vIG91ciBHZXR0aW5nIFN0YXJ0ZWQgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGJ1Zy5cclxuLy9cclxuLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUgZm9sbG93aW5nOlxyXG4vL1xyXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xyXG4vLyBEb2NzOiBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3N1cHBvcnQtaWUxMC13aWR0aFxyXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvXHJcbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXHJcblxyXG5ALW1zLXZpZXdwb3J0IHtcclxuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xyXG59XHJcblxyXG5cclxuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcclxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS14cywgLnZpc2libGUtc20sIC52aXNpYmxlLW1kLCBhbmQgLnZpc2libGUtbGcgYXMgb2YgdjMuMi4wXHJcblxyXG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUteHMnKTtcclxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXNtJyk7XHJcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xyXG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtbGcnKTtcclxuXHJcbi52aXNpYmxlLXhzLWJsb2NrLFxyXG4udmlzaWJsZS14cy1pbmxpbmUsXHJcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcclxuLnZpc2libGUtc20tYmxvY2ssXHJcbi52aXNpYmxlLXNtLWlubGluZSxcclxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxyXG4udmlzaWJsZS1tZC1ibG9jayxcclxuLnZpc2libGUtbWQtaW5saW5lLFxyXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXHJcbi52aXNpYmxlLWxnLWJsb2NrLFxyXG4udmlzaWJsZS1sZy1pbmxpbmUsXHJcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcclxuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXhzJyk7XHJcbn1cclxuLnZpc2libGUteHMtYmxvY2sge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLnZpc2libGUteHMtaW5saW5lIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4udmlzaWJsZS14cy1pbmxpbmUtYmxvY2sge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xyXG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcclxufVxyXG4udmlzaWJsZS1zbS1ibG9jayB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbi52aXNpYmxlLXNtLWlubGluZSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XHJcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xyXG59XHJcbi52aXNpYmxlLW1kLWJsb2NrIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLnZpc2libGUtbWQtaW5saW5lIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xyXG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XHJcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1sZycpO1xyXG59XHJcbi52aXNpYmxlLWxnLWJsb2NrIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbi52aXNpYmxlLWxnLWlubGluZSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4teHMnKTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcclxuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1zbScpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xyXG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLW1kJyk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xyXG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLWxnJyk7XHJcbn1cclxuXHJcblxyXG4vLyBQcmludCB1dGlsaXRpZXNcclxuLy9cclxuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXHJcblxyXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXByaW50IGFzIG9mIHYzLjIuMFxyXG5cclxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtcHJpbnQnKTtcclxufVxyXG4udmlzaWJsZS1wcmludC1ibG9jayB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICBAbWVkaWEgcHJpbnQge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gIEBtZWRpYSBwcmludCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gIEBtZWRpYSBwcmludCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tcHJpbnQnKTtcclxufVxyXG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xyXG5cclxuLy9cclxuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cclxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXHJcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlOyB9XHJcbiAgdHIjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgdGgjeyRwYXJlbnR9LFxyXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXHJcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEdsb2JhbCBkcm9wZG93bnNcclxuXHJcbi8vY29sb3JzXHJcbiRjb2xvcl9jZWxlc3RlX2FwcHJveDogI2NjY2NjYztcclxuJGNvbG9yX3Bpbmtfc3dhbl9hcHByb3g6ICNiYmJiYmI7XHJcbiRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g6ICMzMjk3ZmQ7XHJcblxyXG4vL0BleHRlbmQtZWxlbWVudHNcclxuLy9vcmlnaW5hbCBzZWxlY3RvcnNcclxuLy8uZGstc2VsZWN0LCAuZGstc2VsZWN0LW11bHRpXHJcbiVleHRlbmRfZGstc2VsZWN0ICAge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRsaW5lLWhlaWdodDogMS41ZW07XHJcblx0d2lkdGg6IDIwMHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLy9vcmlnaW5hbCBzZWxlY3RvcnNcclxuLy8uZGstc2VsZWN0ZWQ6YmVmb3JlLCAuZGstc2VsZWN0ZWQ6YWZ0ZXJcclxuJWV4dGVuZF9kay1zZWxlY3RlZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRyaWdodDogMDtcclxufVxyXG5cclxuXHJcbi5kay1zZWxlY3Qge1xyXG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlYm94LXNpemluZygkYnMpXHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRAZXh0ZW5kICVleHRlbmRfZGstc2VsZWN0O1xyXG5cdCoge1xyXG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGVib3gtc2l6aW5nKCRicylcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlYm94LXNpemluZygkYnMpXHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHR9XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGVib3gtc2l6aW5nKCRicylcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdH1cclxuXHR9XHJcblx0LmRrLXNlbGVjdC1vcHRpb25zIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0fVxyXG59XHJcbi5kay1zZWxlY3QtbXVsdGkge1xyXG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlYm94LXNpemluZygkYnMpXHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRAZXh0ZW5kICVleHRlbmRfZGstc2VsZWN0O1xyXG5cdCoge1xyXG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGVib3gtc2l6aW5nKCRicylcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlYm94LXNpemluZygkYnMpXHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHR9XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGVib3gtc2l6aW5nKCRicylcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdH1cclxuXHR9XHJcblx0LmRrLXNlbGVjdC1vcHRpb25zIHtcclxuXHRcdG1heC1oZWlnaHQ6IDEwZW07XHJcblx0fVxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdC5kay1zZWxlY3Qtb3B0aW9ucyB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6aG92ZXIge1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHR9XHJcbn1cclxuLmRrLXNlbGVjdGVkIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfY2VsZXN0ZV9hcHByb3g7XHJcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGVib3JkZXItcmFkaXVzKCRyYWRpdXMsICR2ZXJ0aWNhbC1yYWRpdXMpXHJcblx0Ym9yZGVyLXJhZGl1czogMC40ZW07XHJcblx0cGFkZGluZzogMCAxLjVlbSAwIDAuNWVtO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdCY6YmVmb3JlIHtcclxuXHRcdEBleHRlbmQgJWV4dGVuZF9kay1zZWxlY3RlZDpiZWZvcmU7XHJcblx0XHR0b3A6IDUwJTtcclxuXHRcdGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItd2lkdGg6IDAuMjVlbSAwLjI1ZW0gMDtcclxuXHRcdGJvcmRlci10b3AtY29sb3I6ICRjb2xvcl9jZWxlc3RlX2FwcHJveDtcclxuXHRcdG1hcmdpbjogLTAuMTI1ZW0gMC41ZW0gMCAwO1xyXG5cdFx0d2lkdGg6IDZweDtcclxuXHR9XHJcblx0JjphZnRlciB7XHJcblx0XHRAZXh0ZW5kICVleHRlbmRfZGstc2VsZWN0ZWQ6YmVmb3JlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3JfY2VsZXN0ZV9hcHByb3g7XHJcblx0XHRtYXJnaW46IDAgMS41ZW0gMCAwO1xyXG5cdH1cclxuXHQmOmhvdmVyIHtcclxuXHRcdG91dGxpbmU6IG5vbmU7XHJcblx0XHRib3JkZXItY29sb3I6ICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XHJcblx0XHR9XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yX2RvZGdlcl9ibHVlX2FwcHJveDtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGNvbG9yX2RvZGdlcl9ibHVlX2FwcHJveDtcclxuXHRcdH1cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yX2RvZGdlcl9ibHVlX2FwcHJveDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmRrLXNlbGVjdGVkLWRpc2FibGVkIHtcclxuXHRjb2xvcjogJGNvbG9yX3Bpbmtfc3dhbl9hcHByb3g7XHJcbn1cclxuLmRrLXNlbGVjdC1vcGVuLXVwIHtcclxuXHQuZGstc2VsZWN0LW9wdGlvbnMge1xyXG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGVib3JkZXItcmFkaXVzKCRyYWRpdXMsICR2ZXJ0aWNhbC1yYWRpdXMpXHJcblx0XHRib3JkZXItcmFkaXVzOiAwLjRlbSAwLjRlbSAwIDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG5cdFx0Ym90dG9tOiAxMDAlO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRib3JkZXItY29sb3I6ICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XHJcblx0fVxyXG5cdC5kay1zZWxlY3RlZCB7XHJcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZWJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cylcclxuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZWJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpXHJcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yX2RvZGdlcl9ibHVlX2FwcHJveDtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDAuMjVlbSAwLjI1ZW07XHJcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XHJcblx0XHR9XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5kay1zZWxlY3Qtb3Blbi1kb3duIHtcclxuXHQuZGstc2VsZWN0LW9wdGlvbnMge1xyXG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGVib3JkZXItcmFkaXVzKCRyYWRpdXMsICR2ZXJ0aWNhbC1yYWRpdXMpXHJcblx0XHRib3JkZXItcmFkaXVzOiAwIDAgMC40ZW0gMC40ZW07XHJcblx0XHRtYXJnaW4tdG9wOiAtMXB4O1xyXG5cdFx0dG9wOiAxMDAlO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRib3JkZXItY29sb3I6ICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XHJcblx0fVxyXG5cdC5kay1zZWxlY3RlZCB7XHJcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cylcclxuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpXHJcblx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yX2RvZGdlcl9ibHVlX2FwcHJveDtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDAuMjVlbSAwLjI1ZW07XHJcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XHJcblx0XHR9XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5kay1zZWxlY3Qtb3B0aW9ucyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9jZWxlc3RlX2FwcHJveDtcclxuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZWJvcmRlci1yYWRpdXMoJHJhZGl1cywgJHZlcnRpY2FsLXJhZGl1cylcclxuXHRib3JkZXItcmFkaXVzOiAwLjRlbTtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdG1hcmdpbjogMDtcclxuXHRtYXgtaGVpZ2h0OiAxMC41ZW07XHJcblx0bWluLXdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IDAuMjVlbSAwO1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdHotaW5kZXg6IDEwMDtcclxuXHQuZGstb3B0aW9uLWhpZ2hsaWdodCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZG9kZ2VyX2JsdWVfYXBwcm94O1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR9XHJcblx0LmRrLW9wdGlvbi1kaXNhYmxlZCB7XHJcblx0XHRjb2xvcjogJGNvbG9yX3Bpbmtfc3dhbl9hcHByb3g7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcbn1cclxuLmRrLW9wdGlvbi1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2RvZGdlcl9ibHVlX2FwcHJveDtcclxuXHRjb2xvcjogJHdoaXRlO1xyXG59XHJcbi5kay1vcHRpb24ge1xyXG5cdHBhZGRpbmc6IDAgMC41ZW07XHJcbn1cclxuLmRrLW9wdGdyb3VwIHtcclxuXHRib3JkZXI6IHNvbGlkICRjb2xvcl9jZWxlc3RlX2FwcHJveDtcclxuXHRib3JkZXItd2lkdGg6IDFweCAwO1xyXG5cdHBhZGRpbmc6IDAuMjVlbSAwO1xyXG5cdG1hcmdpbi10b3A6IDAuMjVlbTtcclxuXHQrIHtcclxuXHRcdC5kay1vcHRpb24ge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwLjI1ZW07XHJcblx0XHR9XHJcblx0XHQuZGstb3B0Z3JvdXAge1xyXG5cdFx0XHRib3JkZXItdG9wLXdpZHRoOiAwO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdGJvcmRlci10b3A6IG5vbmU7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdH1cclxuXHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHR9XHJcbn1cclxuLmRrLW9wdGdyb3VwLWxhYmVsIHtcclxuXHRwYWRkaW5nOiAwIDAuNWVtIDAuMjVlbTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG4uZGstb3B0Z3JvdXAtb3B0aW9ucyB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0bGkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxLjJlbTtcclxuXHR9XHJcbn1cclxuLmRrLXNlbGVjdC1kaXNhYmxlZCB7XHJcblx0b3BhY2l0eTogMC42O1xyXG5cdGNvbG9yOiAkY29sb3JfcGlua19zd2FuX2FwcHJveDtcclxuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG5cdC5kay1zZWxlY3RlZCB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7XHJcblx0XHRcdH1cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuc2VsZWN0W2RhdGEtZGtjYWNoZWlkXSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG4uZGstc2VsZWN0LW9wdGlvbnMtaGlnaGxpZ2h0IC5kay1vcHRpb24tc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG4vLyBGb290ZXIgc2VsZWN0IGRyb3Bkb3duXHJcbi5mb290ZXItc2VsZWN0IHtcclxuICAuZGstc2VsZWN0IHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxuICAuZGstc2VsZWN0ZWQge1xyXG4gICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDEwcHggNTBweCAxMHB4IDE1cHg7XHJcbiAgICAvLyBkcm9wZG93biBhcnJvd1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB0b3A6IDQ0JTtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgIG1hcmdpbjogMHB4IDEwcHggMCAwO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgLmRrLXNlbGVjdC1vcGVuLWRvd24sXHJcbiAgLmRrLXNlbGVjdC1vcGVuLXVwIHtcclxuICAgIC5kay1zZWxlY3RlZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuICAgIH1cclxuICAgIC5kay1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG4gICAgLy8gZHJvcGRvd24gYXJyb3dcclxuICAgIC5kay1zZWxlY3RlZCB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmRrLXNlbGVjdC1vcHRpb25zIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICAuZGstb3B0aW9uLWhpZ2hsaWdodCB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcclxuICAgIH1cclxuICB9XHJcbiAgLmRrLW9wdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmRrLW9wdGlvbi1zZWxlY3RlZCB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xyXG4gIH1cclxufVxyXG4iLCIvKlxyXG4gKiAgQ29yZSBPd2wgQ2Fyb3VzZWwgQ1NTIEZpbGVcclxuICovXHJcbi5vd2wtY2Fyb3VzZWwge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAxOyB9XHJcbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZOyB9XHJcbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiLlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgaGVpZ2h0OiAwOyB9XHJcbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsgfVxyXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XHJcbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxyXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWQsIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7IH1cclxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldiwgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3Qge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY3Vyc29yOiBoYW5kO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxyXG4gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgfVxyXG4gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmcge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgLm93bC1jYXJvdXNlbC5vd2wtaGlkZGVuIHtcclxuICAgIG9wYWNpdHk6IDA7IH1cclxuICAub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBub25lOyB9XHJcbiAgLm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW0ge1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxyXG4gIC5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xyXG4gICAgY3Vyc29yOiBtb3ZlO1xyXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XHJcbiAgICBjdXJzb3I6IC1vLWdyYWI7XHJcbiAgICBjdXJzb3I6IC1tcy1ncmFiO1xyXG4gICAgY3Vyc29yOiBncmFiOyB9XHJcbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcclxuICAgIGRpcmVjdGlvbjogcnRsOyB9XHJcbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbSB7XHJcbiAgICBmbG9hdDogcmlnaHQ7IH1cclxuXHJcbi8qIE5vIEpzICovXHJcbi5uby1qcyAub3dsLWNhcm91c2VsIHtcclxuICBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuICAvKlxyXG4gICAqIFx0RGVmYXVsdCB0aGVtZSAtIE93bCBDYXJvdXNlbCBDU1MgRmlsZVxyXG4gICAqL1xyXG4gIC5vd2wtdGhlbWUgLm93bC1uYXYge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuICAgIC5vd2wtdGhlbWUgLm93bC1uYXYgW2NsYXNzKj0nb3dsLSddIHtcclxuICAgICAgY29sb3I6ICNGRkY7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDRweCA3cHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNENkQ2RDY7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxyXG4gICAgICAub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9J293bC0nXTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzg2OTc5MTtcclxuICAgICAgICBjb2xvcjogI0ZGRjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cclxuICAgIC5vd2wtdGhlbWUgLm93bC1uYXYgLmRpc2FibGVkIHtcclxuICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cclxuICAub3dsLXRoZW1lIC5vd2wtbmF2LmRpc2FibGVkICsgLm93bC1kb3RzIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cclxuICAub3dsLXRoZW1lIC5vd2wtZG90cyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTt9XHJcbiAgICAub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgem9vbTogMTtcclxuICAgICAgKmRpc3BsYXk6IGlubGluZTsgfVxyXG4gICAgICAub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggN3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNENkQ2RDY7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xyXG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7XHJcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTtcclxuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7IH1cclxuICAgICAgLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sIC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyIHNwYW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICM4Njk3OTE7IH1cclxuIiwiLy9jb2xvcnNcclxuJGNvbG9yX21pbmVfc2hhZnRfYXBwcm94OiAjMDAwO1xyXG4kYmxhY2s6ICMwMDA7XHJcbiR3aGl0ZTogI2ZmZjtcclxuXHJcbi8vZm9udHNcclxuJGZvbnRfMDogYXJpYWw7XHJcbiRmb250XzE6IGhlbHZldGljYTtcclxuJGZvbnRfMjogc2Fucy1zZXJpZjtcclxuXHJcbi8vQGV4dGVuZC1lbGVtZW50c1xyXG4vL29yaWdpbmFsIHNlbGVjdG9yc1xyXG4vL2h0bWwsIGJvZHlcclxuJWV4dGVuZF8xIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLy9vcmlnaW5hbCBzZWxlY3RvcnNcclxuLy8jcHAtbmF2IGxpLCAucHAtc2xpZGVzTmF2IGxpXHJcbiVleHRlbmRfMiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0d2lkdGg6IDE0cHg7XHJcblx0aGVpZ2h0OiAxM3B4O1xyXG5cdG1hcmdpbjogN3B4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLy9vcmlnaW5hbCBzZWxlY3RvcnNcclxuLy8jcHAtbmF2IGxpIGEsIC5wcC1zbGlkZXNOYXYgbGkgYVxyXG4lZXh0ZW5kXzMge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4vL29yaWdpbmFsIHNlbGVjdG9yc1xyXG4vLyNwcC1uYXYgc3BhbiwgLnBwLXNsaWRlc05hdiBzcGFuXHJcbiVleHRlbmRfNCB7XHJcblx0dG9wOiAycHg7XHJcblx0bGVmdDogMnB4O1xyXG5cdHdpZHRoOiA4cHg7XHJcblx0aGVpZ2h0OiA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XHJcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGVib3JkZXItcmFkaXVzKCRyYWRpdXMsICR2ZXJ0aWNhbC1yYWRpdXMpXHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG5cclxuaHRtbC5ob21lIHtcclxuXHRAZXh0ZW5kICVleHRlbmRfMTtcclxufVxyXG5ib2R5LmhvbWUge1xyXG5cdEBleHRlbmQgJWV4dGVuZF8xO1xyXG59XHJcbi5wcC1zZWN0aW9uIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdCYucHAtdGFibGUge1xyXG5cdFx0ZGlzcGxheTogdGFibGU7XHJcblx0fVxyXG59XHJcbi5wcC1lYXNpbmcge1xyXG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRldHJhbnNpdGlvbigkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMClcclxuXHR0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuMDAwLCAwLjk5MCk7XHJcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGV0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMSwgJGZ1bmN0aW9uLTIsICRmdW5jdGlvbi0zLCAkZnVuY3Rpb24tNCwgJGZ1bmN0aW9uLTUsICRmdW5jdGlvbi02LCAkZnVuY3Rpb24tNywgJGZ1bmN0aW9uLTgsICRmdW5jdGlvbi05LCAkZnVuY3Rpb24tMTApXHJcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuMDAwLCAwLjk5MCk7XHJcbn1cclxuI3BwLW5hdiB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHotaW5kZXg6IDEwMDtcclxuXHRtYXJnaW4tdG9wOiAtMzJweDtcclxuXHR0b3A6IDUwJTtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdCYucmlnaHQge1xyXG5cdFx0cmlnaHQ6IDE3cHg7XHJcblx0fVxyXG5cdCYubGVmdCB7XHJcblx0XHRsZWZ0OiAxN3B4O1xyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHRsaSB7XHJcblx0XHRAZXh0ZW5kICVleHRlbmRfMjtcclxuXHRcdGEge1xyXG5cdFx0XHRAZXh0ZW5kICVleHRlbmRfMztcclxuXHRcdH1cclxuXHRcdC5hY3RpdmUgc3BhbiB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogJHllbGxvdy1ncmVlbiAhaW1wb3J0YW50O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkeWVsbG93LWdyZWVuO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRzcGFuIHtcclxuXHRcdEBleHRlbmQgJWV4dGVuZF80O1xyXG5cdH1cclxuXHJcblx0Ji5oaWRlIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcbi5wcC10YWJsZUNlbGwge1xyXG5cdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuLnBwLXNsaWRlc05hdiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IDQ7XHJcblx0bGVmdDogNTAlO1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0Ji5ib3R0b20ge1xyXG5cdFx0Ym90dG9tOiAxN3B4O1xyXG5cdH1cclxuXHQmLnRvcCB7XHJcblx0XHR0b3A6IDE3cHg7XHJcblx0fVxyXG5cdHVsIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdGxpIHtcclxuXHRcdEBleHRlbmQgJWV4dGVuZF8yO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0YSB7XHJcblx0XHRcdEBleHRlbmQgJWV4dGVuZF8zO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRzcGFuIHtcclxuXHRcdEBleHRlbmQgJWV4dGVuZF80O1xyXG5cdH1cclxuXHQuYWN0aXZlIHNwYW4ge1xyXG5cdFx0YmFja2dyb3VuZDogJHllbGxvdztcclxuXHR9XHJcbn1cclxuLnBwLXRvb2x0aXAge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IC0ycHg7XHJcblx0Y29sb3I6ICR3aGl0ZTtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250XzAsICRmb250XzEsICRmb250XzI7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRtYXgtd2lkdGg6IDIyMHB4O1xyXG5cdCYucmlnaHQge1xyXG5cdFx0cmlnaHQ6IDIwcHg7XHJcblx0fVxyXG5cdCYubGVmdCB7XHJcblx0XHRsZWZ0OiAyMHB4O1xyXG5cdH1cclxufVxyXG4ucHAtc2Nyb2xsYWJsZSB7XHJcblx0b3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vKiFcclxuQW5pbWF0ZS5jc3MgLSBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXHJcbkxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcclxuXHJcbkNvcHlyaWdodCAoYykgMjAxNSBEYW5pZWwgRWRlblxyXG4qL1xyXG5cclxuLmFuaW1hdGVkIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuLmFuaW1hdGVkLmluZmluaXRlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG59XHJcblxyXG4uYW5pbWF0ZWQuaGluZ2Uge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xyXG59XHJcblxyXG4uYW5pbWF0ZWQuYm91bmNlSW4sXHJcbi5hbmltYXRlZC5ib3VuY2VPdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcclxufVxyXG5cclxuLmFuaW1hdGVkLmZsaXBPdXRYLFxyXG4uYW5pbWF0ZWQuZmxpcE91dFkge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XHJcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gIH1cclxuXHJcbiAgNDAlLCA0MyUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDcwJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xyXG4gIH1cclxuXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlIHtcclxuICBmcm9tLCAyMCUsIDUzJSwgODAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgfVxyXG5cclxuICA0MCUsIDQzJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNzAlIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XHJcbiAgZnJvbSwgNTAlLCAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAyNSUsIDc1JSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGFzaCB7XHJcbiAgZnJvbSwgNTAlLCAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAyNSUsIDc1JSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmZsYXNoIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcclxuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XHJcbn1cclxuXHJcbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnB1bHNlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcclxuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxuXHJcbiAgMzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xyXG4gIH1cclxuXHJcbiAgNjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxuXHJcbiAgMzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xyXG4gIH1cclxuXHJcbiAgNjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnJ1YmJlckJhbmQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XHJcbiAgZnJvbSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcclxuICBmcm9tLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zaGFrZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuLnN3aW5nIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcclxuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxuXHJcbiAgMTAlLCAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICB9XHJcblxyXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICB9XHJcblxyXG4gIDQwJSwgNjAlLCA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHRhZGEge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG5cclxuICAxMCUsIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gIH1cclxuXHJcbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDAlLCA2MCUsIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbi50YWRhIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xyXG59XHJcblxyXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG5cclxuICAxNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgMzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgd29iYmxlIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxuXHJcbiAgMTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICB9XHJcblxyXG4gIDQ1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4ud29iYmxlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGplbGxvIHtcclxuICBmcm9tLCAxMS4xJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcblxyXG4gIDIyLjIlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgMzMuMyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDQ0LjQlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDU1LjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDY2LjYlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNzcuNyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XHJcbiAgfVxyXG5cclxuICA4OC44JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBqZWxsbyB7XHJcbiAgZnJvbSwgMTEuMSUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG5cclxuICAyMi4yJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcclxuICB9XHJcblxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XHJcbiAgfVxyXG5cclxuICA0NC40JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XHJcbiAgfVxyXG5cclxuICA1NS41JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XHJcbiAgfVxyXG5cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDc3LjclIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgODguOCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbi5qZWxsbyB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamVsbG87XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcclxuICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICB9XHJcblxyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICB9XHJcblxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xyXG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gIH1cclxuXHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gIH1cclxuXHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZUluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xyXG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICB9XHJcblxyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XHJcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gIH1cclxuXHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VJbkRvd24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcclxuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgfVxyXG5cclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xyXG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICB9XHJcblxyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlSW5MZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xyXG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICB9XHJcblxyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XHJcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gIH1cclxuXHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZUluUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcclxuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgfVxyXG5cclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XHJcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gIH1cclxuXHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlSW5VcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gIH1cclxuXHJcbiAgNTAlLCA1NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gIH1cclxuXHJcbiAgNTAlLCA1NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlT3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNDAlLCA0NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDQwJSwgNDUlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VPdXREb3duIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XHJcbiAgMjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XHJcbiAgMjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VPdXRMZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xyXG4gIDIwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcclxuICAyMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZU91dFJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDQwJSwgNDUlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA0MCUsIDQ1JSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlT3V0VXAge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJbkRvd24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5Eb3duQmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJbkxlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5MZWZ0QmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5SaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJblJpZ2h0QmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJblVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluVXBCaWcge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dERvd24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXREb3duQmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRMZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dExlZnRCaWcge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRSaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRSaWdodEJpZyB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dFVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRVcEJpZyB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZsaXAge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICB9XHJcbn1cclxuXHJcbi5hbmltYXRlZC5mbGlwIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwSW5YIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmxpcEluWCB7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICB9XHJcbn1cclxuXHJcbi5mbGlwSW5ZIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcclxuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgfVxyXG5cclxuICAzMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5mbGlwT3V0WCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgfVxyXG5cclxuICAzMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5mbGlwT3V0WSB7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4ubGlnaHRTcGVlZEluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ubGlnaHRTcGVlZE91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcclxuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVJbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVJbkRvd25MZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVJbkRvd25SaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlSW5VcExlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlSW5VcFJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVPdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcclxuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVPdXREb3duTGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZU91dERvd25SaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZU91dFVwTGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZU91dFVwUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuXHJcbiAgMjAlLCA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuXHJcbiAgNDAlLCA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgaGluZ2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICB9XHJcblxyXG4gIDIwJSwgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICB9XHJcblxyXG4gIDQwJSwgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uaGluZ2Uge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcclxufVxyXG5cclxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm9sbEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5yb2xsSW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcclxuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xyXG59XHJcblxyXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm9sbE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4ucm9sbE91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcclxuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbUluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLnpvb21JbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbi56b29tSW5Eb3duIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbUluTGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbUluUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbUluVXAge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbU91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcclxuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcclxuICA0MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XHJcbiAgNDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbi56b29tT3V0RG93biB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xyXG4gIDQwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcclxuICA0MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnpvb21PdXRMZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xyXG4gIDQwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcclxuICA0MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbU91dFJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7XHJcbiAgNDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbU91dFVwIHtcclxuICA0MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnpvb21PdXRVcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlSW5Eb3duIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlSW5MZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZUluUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uc2xpZGVJblVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZU91dERvd24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZU91dExlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uc2xpZGVPdXRSaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZU91dFVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */