/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document @mixin ========================================================================= */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. */
html { line-height: 1.15; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub { bottom: -0.25em; }

sup { top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

/** Correct the padding in Firefox. */
fieldset { padding: 0.35em 0.75em 0.625em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.body-overflow { overflow: hidden; }

main { position: relative; z-index: 2; }

footer { z-index: 3; position: relative; }

.container { max-width: 1230px; width: 100%; position: relative; margin: 0 auto; padding: 0 15px; }

@media all and (max-width: 1365px) { .container { padding: 0 25px; max-width: 1010px; } }

@media all and (max-width: 1199px) { .container { max-width: 800px; padding: 0 16px; } }

@media all and (max-width: 767px) { .container { padding: 0 18px; } }

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

button, a { outline: none; }

b, strong { font-weight: inherit; }

b, strong { font-weight: bolder; }

ul, ol { list-style: none; }

.fw { display: -ms-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

label.error { display: none; position: absolute; bottom: 0px; right: 0; color: #FF151F; font-size: 14px; font-weight: 400; text-align: right; font-size: 12px; z-index: 5; }

.custom-select-wrapper { position: relative; display: inline-block; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; width: 100%; }

.custom-select-wrapper select { display: none; }

.custom-select { position: relative; display: inline-block; z-index: 5; text-align: left; width: 100%; }

.custom-select-trigger { position: relative; display: block; width: 100%; padding: 0 15px; font-size: 16px; font-weight: 300; color: #373737; font-weight: 500; height: 44px; line-height: 44px; background: #fff; border: 1px solid #9b9a9a; cursor: pointer; font-family: 'Exo 2', sans-serif; }

.custom-select-trigger:after { position: absolute; content: ''; display: block; right: 15px; top: 49%; -webkit-transform: translateY(-50%) rotate(45deg); -ms-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); border: solid #FF151F; border-width: 0 2px 2px 0; padding: 3px; z-index: 1; -webkit-transition: all .2s; transition: all .2s; }

.custom-select.opened .custom-select-trigger:after { -webkit-transform: rotate(-135deg) translateY(0%); -ms-transform: rotate(-135deg) translateY(0%); transform: rotate(-135deg) translateY(0%); }

.custom-options { position: absolute; display: block; top: 100%; left: 0; right: 0; min-width: 100%; background: #fff; -webkit-transition: all .4s ease-in-out; transition: all .4s ease-in-out; opacity: 0; visibility: hidden; pointer-events: none; -webkit-transform: translateY(-15px); -ms-transform: translateY(-15px); transform: translateY(-15px); -webkit-box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.1); box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.1); }

.custom-select.opened { -webkit-box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.1); box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.1); }

.custom-select.opened .custom-options { opacity: 1; visibility: visible; pointer-events: all; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }

.option-hover:before { background: #f9f9f9; }

.custom-option { position: relative; border: 1px solid #9b9a9a; border-top: none; border-bottom: none; display: block; font-size: 16px; color: #2D2D2D; font-weight: 500; padding: 10px 15px; display: block; cursor: pointer; -webkit-transition: all .4s ease-in-out; transition: all .4s ease-in-out; }

.custom-option:last-child { border-bottom: 1px solid #9b9a9a; }

@media all and (max-width: 999px) { .custom-option { font-size: 16px; } }

.custom-option:hover, .custom-option.selection { background: #F2F2F2; }

.site-button { cursor: pointer; -webkit-box-sizing: border-box; box-sizing: border-box; outline: none; font-weight: bold; display: inline-block; font-family: 'Exo 2', sans-serif; background-color: transparent; -webkit-transition: all .2s; transition: all .2s; font-size: 18px; border: none; }

@media all and (max-width: 1365px) { .site-button { font-size: 16px; } }

@media all and (max-width: 1199px) { .site-button { font-size: 14px; } }

@media all and (max-width: 639px) { .site-button { font-size: 16px; } }

.site-button--normal { text-transform: uppercase; border: none; color: #FF151F; text-decoration: underline; }

.site-button--normal:hover { text-decoration: none; color: #cf131c; }

.site-button--red { color: #fff; background-color: #FF151F; padding: 12px 24px; border: none; cursor: pointer; }

@media all and (max-width: 767px) { .site-button--red { padding: 10px 20px; } }

.site-button--red:hover { background-color: #cf131c; }

* { line-height: 1; font-weight: 400; font-family: 'Exo 2', sans-serif; }

h1, h2, h3, h4, h5, h6, p, span, li { color: #373737; }

h1, h2, h3, h4, h5, h6 { font-weight: bold; margin: 0; line-height: 1.1; }

h1 { font-size: 72px; }

@media all and (max-width: 1365px) { h1 { font-size: 48px; } }

@media all and (max-width: 1199px) { h1 { font-size: 40px; } }

@media all and (max-width: 639px) { h1 { font-size: 36px; } }

@media all and (max-width: 479px) { h1 { font-size: 30px; } }

h2 { font-size: 48px; }

@media all and (max-width: 1365px) { h2 { font-size: 40px; } }

@media all and (max-width: 1199px) { h2 { font-size: 30px; } }

@media all and (max-width: 999px) { h2 { font-size: 28px; } }

@media all and (max-width: 479px) { h2 { font-size: 24px; } }

h3 { font-size: 28px; }

@media all and (max-width: 1365px) { h3 { font-size: 26px; } }

@media all and (max-width: 1199px) { h3 { font-size: 22px; } }

@media all and (max-width: 479px) { h3 { font-size: 20px; } }

h4 { font-size: 20px; }

@media all and (max-width: 1365px) { h4 { font-size: 16px; } }

@media all and (max-width: 1199px) { h4 { font-size: 12px; } }

h5 { font-size: 16px; }

@media all and (max-width: 1365px) { h5 { font-size: 14px; } }

@media all and (max-width: 479px) { h5 { font-size: 12px; } }

h5 { font-size: 14px; }

@media all and (max-width: 479px) { h5 { font-size: 12px; } }

p, span, li { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.5em; }

@media all and (max-width: 479px) { p, span, li { font-size: 12px; } }

span, a { font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; }

a { color: #373737; text-decoration: none; }

.typography h3, .typography h4, .typography h5 { margin-bottom: 40px; }

@media all and (max-width: 999px) { .typography h3, .typography h4, .typography h5 { margin-bottom: 25px; } }

.typography p { margin-bottom: 2em; }

.typography p:last-child { margin-bottom: 0; }

.typography .alignleft { float: left; }

.typography .alignright { float: right; }

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

.inputs { position: relative; display: inline-block; width: 100%; }

.inputs input, .inputs select { width: 100%; border: none; border: 1px solid #9b9a9a; outline: none; height: 100%; min-width: 10px; min-height: 10px; padding: 13px 14px; -webkit-transition: all .2s; transition: all .2s; }

.inputs input::-webkit-input-placeholder, .inputs select::-webkit-input-placeholder { color: #373737; }

.inputs input:-ms-input-placeholder, .inputs select:-ms-input-placeholder { color: #373737; }

.inputs input::placeholder, .inputs select::placeholder { color: #373737; }

.inputs .input--error { border-color: #FF151F; }

.inputs .error { position: absolute; bottom: -15px; }

.s_box { width: 100%; margin: -10px; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }

.s_box__block { padding: 10px; }

.s_box__block--100 { max-width: 100%; }

.s_box__block--50 { max-width: 50%; }

.s_box__block--30 { max-width: 33.3333%; }

.s_popup { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 70; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); overflow-y: auto; }

.s_popup__layer { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: 1; }

.s_popup__close { width: 30px; height: 30px; position: absolute; top: 25px; right: 25px; cursor: pointer; }

@media all and (max-width: 639px) { .s_popup__close { width: 25px; height: 25px; top: 15px; right: 15px; } }

.s_popup__close::before, .s_popup__close::after { content: ""; position: absolute; width: 100%; height: 4px; background: #FF151F; top: 40%; left: 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); border-radius: 20px; }

.s_popup__close::after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }

.s_popup__content { width: 100%; max-width: 995px; position: absolute; z-index: 2; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); background-color: #fff; padding: 20px 45px; margin: 40px 0; }

.s_popup__content--project { padding: 45px; margin-top: 90px; }

.s_popup--project__content { max-width: 750px; width: 100%; margin: auto; text-align: center; }

.s_popup--project__slider { margin-bottom: 32px; }

.s_popup--project__img { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; height: 450px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.s_popup--project__img img { width: 100%; height: auto; -o-object-fit: cover; object-fit: cover; max-height: 100%; }

.s_popup--project .slick-arrow { position: absolute; cursor: pointer; top: 50%; z-index: 1; font-size: 0; border: none; border-left: 2px solid #FF151F; border-bottom: 2px solid #FF151F; width: 20px; height: 20px; background-color: transparent; }

@media all and (max-width: 999px) { .s_popup--project .slick-arrow { display: none; } }

.s_popup--project .slick-prev { left: -40px; -webkit-transform: translateY(-50%) rotate(45deg); -ms-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); }

.s_popup--project .slick-next { right: -40px; -webkit-transform: translateY(-50%) rotate(-135deg); -ms-transform: translateY(-50%) rotate(-135deg); transform: translateY(-50%) rotate(-135deg); }

.s_popup__thanks { height: 100%; }

.s_popup__thanks--wrap { position: relative; z-index: 2; height: 100%; padding: 0; width: 100%; max-width: 600px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: auto; }

@media all and (max-width: 999px) { .s_popup__thanks--wrap { max-width: 90%; } }

.s_popup__thanks--box { background-color: white; height: auto; padding: 84px; position: relative; width: 100%; -webkit-box-shadow: 6px 6px 18px rgba(0, 0, 0, 0.2); box-shadow: 6px 6px 18px rgba(0, 0, 0, 0.2); text-align: center; }

@media all and (max-width: 1365px) { .s_popup__thanks--box { padding: 85px 100px; } }

@media all and (max-width: 999px) { .s_popup__thanks--box { padding: 55px 70px; } }

@media all and (max-width: 639px) { .s_popup__thanks--box { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 30px; } }

.absolute_img { max-width: 80px; position: absolute; z-index: -1; right: 30px; bottom: 0; }

@media all and (max-width: 999px) { .absolute_img { max-width: 65px; max-height: 70px; } }

@media all and (max-width: 767px) { .absolute_img { max-width: 55px; } }

.absolute_img--center { left: 65%; }

.absolute_img--right { right: 20px; top: 30px; }

.absolute_img--right2 { top: 80px; right: 20%; }

.s_header { padding: 30px 0 30px; position: relative; z-index: 5; }

@media all and (max-width: 1365px) { .s_header { padding: 19px 0 23px; } }

@media all and (max-width: 1199px) { .s_header { padding: 24px 0 23px; } }

@media all and (max-width: 999px) { .s_header { padding: 18px 0 18px; } }

@media all and (max-width: 639px) { .s_header { padding: 18px 0 23px; } }

@media all and (max-width: 999px) { .s_header::after { display: block; content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #fff; z-index: 14; } }

.s_header_wrap { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.s_header_logo { max-width: 163px; display: block; width: 100%; margin-right: 70px; position: relative; z-index: 15; }

@media all and (max-width: 1365px) { .s_header_logo { max-width: 130px; margin-right: 50px; } }

@media all and (max-width: 1199px) { .s_header_logo { max-width: 96px; margin-right: 45px; } }

@media all and (max-width: 999px) { .s_header_logo { max-width: 103px; } }

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

.s_header_menu_wrap { max-width: 100%; width: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

@media all and (max-width: 999px) { .s_header_menu_wrap { position: fixed; left: -100000px; top: 0; width: 100%; height: 100%; max-width: 100%; display: block; overflow-y: auto; overflow-x: hidden; padding-bottom: 30px; background: #fff; z-index: 10; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
  .s_header_menu_wrap--open { left: 0; } }

.s_header_menu_wrap ul { max-width: 760px; width: 100%; margin-right: 83px; }

@media all and (max-width: 1365px) { .s_header_menu_wrap ul { max-width: 628px; margin-right: 43px; } }

@media all and (max-width: 1199px) { .s_header_menu_wrap ul { max-width: 516px; margin-right: 10px; } }

@media all and (max-width: 999px) { .s_header_menu_wrap ul { display: block; max-width: 100%; margin: 0; text-align: center; padding-top: 57px; padding-bottom: 45px; border-bottom: 1px solid #e5e5e5; margin-bottom: 25px; } }

@media all and (max-width: 999px) and (max-width: 639px) { .s_header_menu_wrap ul { padding-bottom: 28px; margin-bottom: 32px; } }

.s_header_menu_wrap ul li { font-size: 16px; font-weight: 400; color: #000000; font-family: 'Exo 2', sans-serif; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }

@media all and (max-width: 1365px) { .s_header_menu_wrap ul li { font-size: 14px; } }

@media all and (max-width: 1199px) { .s_header_menu_wrap ul li { font-size: 12px; } }

@media all and (max-width: 999px) { .s_header_menu_wrap ul li { font-size: 18px; } }

@media all and (max-width: 639px) { .s_header_menu_wrap ul li { font-size: 16px; } }

.s_header_menu_wrap ul li:hover { color: #FF151F; }

.s_header_menu_wrap ul li a { font-style: inherit; font-size: inherit; color: inherit; font-weight: inherit; display: block; }

@media all and (max-width: 999px) { .s_header_menu_wrap ul li a { padding: 11px 0 11px; } }

@media all and (max-width: 639px) { .s_header_menu_wrap ul li a { padding: 9px 0 9px; } }

.s_header_menu_wrap ul li.current-menu-item { color: #FF151F; }

.s_header_phones { position: relative; cursor: pointer; max-width: 145px; width: 100%; padding-right: 13px; padding-left: 7px; }

@media all and (max-width: 1365px) { .s_header_phones { max-width: 113px; } }

@media all and (max-width: 999px) { .s_header_phones { max-width: 100%; text-align: center; padding: 0; display: inline-block; } }

/* .s_header_phones::after { position: absolute; right: 0; top: 4px; content: ''; border: solid #FF151F; border-width: 0 1px 1px 0; padding: 2px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } */

@media all and (max-width: 999px) { .s_header_phones::after { display: none; } }

.s_header_phones a { color: #eb1d25; font-size: 16px; font-weight: 500; font-family: 'Exo 2', sans-serif; display: block; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }

.s_header_phones a:hover { color: #cf131c; }

@media all and (max-width: 1365px) { .s_header_phones a { font-size: 14px; } }

@media all and (max-width: 1199px) { .s_header_phones a { font-size: 12px; } }

@media all and (max-width: 999px) { .s_header_phones a { font-size: 16px; max-width: 110px; width: 100%; display: inline; margin-right: 35px; } }

@media all and (max-width: 479px) { .s_header_phones a { max-width: 100%; display: block; margin: 0; text-align: center; margin-bottom: 16px; } }

.s_header_phones_lang { position: absolute; width: 100%; position: absolute; opacity: 0; left: -100000px; top: 100%; padding-top: 5px; -webkit-transition: opacity 0.25s linear, left 0s linear 0.25s; transition: opacity 0.25s linear, left 0s linear 0.25s; background: #fff; padding-left: 7px; z-index: 2; padding-right: 13px; padding-bottom: 10px; }

@media all and (max-width: 1199px) { .s_header_phones_lang { padding-top: 0; } }

@media all and (max-width: 999px) { .s_header_phones_lang { position: static; display: inline-block; left: unset; top: unset; padding: 0; opacity: 1; max-width: unset; width: auto; } }

.s_header_phones_lang a { padding-top: 10px; }

.s_header_phones_lang a:last-of-type { padding-bottom: 0; }

@media all and (max-width: 999px) { .s_header_phones_lang a { padding: 0; }
  .s_header_phones_lang a:last-of-type { margin-right: 0; } }

@media all and (max-width: 479px) { .s_header_phones_lang a:last-of-type { margin-bottom: 0; } }

.s_header_phones--open .s_header_phones_lang { opacity: 1; left: 0; }

.s_header_phones--open::after { -webkit-transform: rotate(-135deg); -ms-transform: rotate(-135deg); transform: rotate(-135deg); top: 6px; }

@media all and (max-width: 999px) { .s_header_burger { position: relative; z-index: 15; cursor: pointer; width: 26px; height: 16px; }
  .s_header_burger_line { position: absolute; left: 0; width: 100%; height: 2px; background: #FF151F; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
  .s_header_burger_line--one { top: 0; }
  .s_header_burger_line--two { top: 7px; }
  .s_header_burger_line--three { top: 14px; }
  .s_header_burger--open .s_header_burger_line--one { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); top: 50%; }
  .s_header_burger--open .s_header_burger_line--two { opacity: 0; }
  .s_header_burger--open .s_header_burger_line--three { top: 50%; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } }

.s_hero { width: 100%; }

.s_hero__content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0 205px; min-height: 710px; position: relative; }

@media all and (max-width: 1365px) { .s_hero__content { padding: 0 85px; min-height: 440px; } }

@media all and (max-width: 1199px) { .s_hero__content { min-height: 375px; } }

@media all and (max-width: 999px) { .s_hero__content { padding: 0 35px; } }

@media all and (max-width: 765px) { .s_hero__content { padding: 0; } }

@media all and (max-width: 639px) { .s_hero__content { min-height: 520px; } }

@media all and (max-width: 479px) { .s_hero__content { min-height: 375px; } }

.s_hero__slide { position: relative; }

.s_hero__image--bg img { height: 100%; width: 100%; position: absolute; top: 0; left: 0; -o-object-fit: cover; object-fit: cover; }

.s_hero__wrap { color: white; max-width: 540px; }

.s_hero__title { margin-bottom: 30px; }

@media all and (max-width: 1365px) { .s_hero__title { margin-bottom: 40px; max-width: 365px; } }

@media all and (max-width: 1200px) { .s_hero__title { margin-bottom: 35px; max-width: 310px; } }

@media all and (max-width: 999px) { .s_hero__title { margin-bottom: 25px; } }

@media all and (max-width: 767px) { .s_hero__title { margin-bottom: 30px; } }

@media all and (max-width: 639px) { .s_hero__title { max-width: 270px; } }

@media all and (max-width: 419px) { .s_hero__title { max-width: 225px; } }

.s_hero__title h1 { color: #fff; }

.s_hero__title h2 { color: #fff; font-size: 72px; }

@media all and (max-width: 1365px) { .s_hero__title h2 { font-size: 48px; } }

@media all and (max-width: 1199px) { .s_hero__title h2 { font-size: 40px; } }

@media all and (max-width: 639px) { .s_hero__title h2 { font-size: 36px; } }

@media all and (max-width: 479px) { .s_hero__title h2 { font-size: 30px; } }

.s_hero__text { margin-bottom: 70px; max-width: 510px; }

@media all and (max-width: 1365px) { .s_hero__text { margin-bottom: 50px; max-width: 390px; } }

@media all and (max-width: 1200px) { .s_hero__text { margin-bottom: 35px; max-width: 380px; } }

@media all and (max-width: 999px) { .s_hero__text { margin-bottom: 60px; max-width: 315px; } }

@media all and (max-width: 767px) { .s_hero__text { margin-bottom: 40px; } }

@media all and (max-width: 639px) { .s_hero__text { max-width: 300px; } }

@media all and (max-width: 419px) { .s_hero__text { max-width: 255px; } }

.s_hero__text p { font-size: 24px; max-height: 7em; overflow: hidden; color: #fff; }

@media all and (max-width: 1365px) { .s_hero__text p { font-size: 20px; } }

@media all and (max-width: 1199px) { .s_hero__text p { font-size: 18px; } }

@media all and (max-width: 999px) { .s_hero__text p { font-size: 16px; } }

@media all and (max-width: 639px) { .s_hero__text p { font-size: 14px; } }

@media all and (max-width: 419px) { .s_hero__text p { font-size: 12px; } }

.s_hero__btn { margin-bottom: 25px; }

.s_hero__about { margin: 0 auto; max-width: 100%; text-align: center; }

.s_hero__slider .slick-dots { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; bottom: 20px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); z-index: 10; }

.s_hero__slider .slick-dots li { display: inline-block; width: 10px; height: 10px; position: relative; margin-right: 10px; }

.s_hero__slider .slick-dots li:last-child { margin-right: 0; }

@media all and (max-width: 999px) { .s_hero__slider .slick-dots li { width: 6px; height: 6px; } }

.s_hero__slider .slick-dots button { cursor: pointer; position: absolute; width: 100%; height: 100%; font-size: 0; background-color: #C0BFBF; border: 1px solid #C0BFBF; -webkit-transition: all .2s; transition: all .2s; }

.s_hero__slider .slick-dots .slick-active button { background-color: #FF151F; border: 1px solid #FF151F; }

.s_hero__slider .slick-arrow { position: absolute; cursor: pointer; top: 50%; z-index: 1; font-size: 0; border: none; border-left: 2px solid #fff; border-bottom: 2px solid #fff; width: 20px; height: 20px; background-color: transparent; }

@media all and (max-width: 999px) { .s_hero__slider .slick-arrow { display: none; } }

.s_hero__slider .slick-prev { left: 10px; -webkit-transform: translateY(-50%) rotate(45deg); -ms-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); }

.s_hero__slider .slick-next { right: 10px; -webkit-transform: translateY(-50%) rotate(-135deg); -ms-transform: translateY(-50%) rotate(-135deg); transform: translateY(-50%) rotate(-135deg); }

.s_history { padding: 30px 0; }

@media all and (max-width: 999px) { .s_history { padding: 30px 0px; } }

@media all and (max-width: 767px) { .s_history { padding: 30px 0px; } }

.s_history__header { margin-bottom: 105px; }

@media all and (max-width: 1365px) { .s_history__header { margin-bottom: 75px; } }

@media all and (max-width: 1199px) { .s_history__header { margin-bottom: 70px; } }

@media all and (max-width: 999px) { .s_history__header { margin-bottom: 30px; } }

@media all and (max-width: 767px) { .s_history__header { margin-bottom: 20px; } }

.s_history__text { -webkit-column-count: 2; column-count: 2; }

@media all and (max-width: 999px) { .s_history__text { max-width: 495px; -webkit-column-count: 1; column-count: 1; } }

@media all and (max-width: 639px) { .s_history__text { max-width: 405px; } }

@media all and (max-width: 479px) { .s_history__text { max-width: 100%; } }

.s_history__text p { margin-bottom: 25px; }

.s_history__text p:last-child { margin-bottom: 0; }

.s_history__container { padding: 150px 0 55px; }

@media all and (max-width: 1365px) { .s_history__container { padding: 90px 0 50px; } }

@media all and (max-width: 999px) { .s_history__container { padding: 50px 0px 30px; } }

@media all and (max-width: 767px) { .s_history__container { padding: 30px 0px; } }

.s_history__bg { bottom: -100px; right: 150px; }

.s_interesting { padding: 75px 0 85px; }

@media all and (max-width: 999px) { .s_interesting { padding: 40px 0px; } }

@media all and (max-width: 767px) { .s_interesting { padding: 50px 0 80px; } }

.s_interesting__header { margin-bottom: 30px; }

.s_interesting__box { margin: -20px; }

@media all and (max-width: 1199px) { .s_interesting__box { padding-top: 20px; } }

@media all and (max-width: 999px) { .s_interesting__box { margin: 0; } }

@media all and (max-width: 767px) { .s_interesting__box { padding-top: 30px; } }

@media all and (max-width: 639px) { .s_interesting__box { padding-top: 20px; } }

.s_interesting__cards { width: 100%; -ms-flex-wrap: wrap; flex-wrap: wrap; }

@media all and (max-width: 1199px) { .s_interesting__cards { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; } }

.s_interesting__card { max-width: 33.33333%; width: 100%; padding: 20px; }

@media all and (max-width: 1199px) { .s_interesting__card { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

.s_interesting__card:last-child { margin-bottom: 0; }

@media all and (max-width: 767px) { .s_interesting__card { max-width: 100%; margin-bottom: 60px; padding: 0; } }

@media all and (max-width: 639px) { .s_interesting__card { margin-bottom: 75px; } }

@media all and (max-width: 479px) { .s_interesting__card { margin-left: 20px; margin-bottom: 60px; } }

.s_interesting__card--title { margin-bottom: 40px; }

.s_interesting__card--text { margin-bottom: 30px; }

.s_interesting__text { min-height: 185px; }

@media all and (max-width: 1365px) { .s_interesting__text { min-height: initial; } }

@media all and (max-width: 767px) { .s_interesting__text { min-height: auto; } }

.s_bud__header { margin-bottom: 100px; }

@media all and (max-width: 1199px) { .s_bud__header { margin-bottom: 65px; } }

@media all and (max-width: 999px) { .s_bud__header { margin-bottom: 35px; } }

@media all and (max-width: 999px) { .s_bud__road { -webkit-column-count: 2; column-count: 2; max-width: 100%; } }

@media all and (max-width: 639px) { .s_bud__road { -webkit-column-count: 1; column-count: 1; } }

@media all and (max-width: 999px) { .s_bud__cards { margin: 0; } }

@media all and (max-width: 999px) { .s_bud__card { max-width: 100%; padding: 0; margin-bottom: 0; } }

@media all and (max-width: 767px) { .s_bud__card { margin-left: 0; } }

.s_bud__card--title { max-width: 225px; margin-bottom: 35px; }

@media all and (max-width: 999px) { .s_bud__card--title { max-width: 100%; margin-bottom: 25px; } }

.s_bud__card--title h3 { color: #FF151F; }

.s_bud__text { min-height: auto; }

.s_bud__bg1 { right: 30%; top: 0; }

.s_bud__bg2 { right: 10%; top: 50px; }

.s_footer { background-color: #3c3a3a; padding: 35px 0; }

@media all and (max-width: 1199px) { .s_footer { padding: 30px 0; } }

@media all and (max-width: 999px) { .s_footer { padding: 20px 0; } }

.s_footer__content { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

@media all and (max-width: 999px) { .s_footer__content { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

@media all and (max-width: 999px) { .s_footer__list { margin-bottom: 10px; }
  .s_footer__list:nth-child(1) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .s_footer__list:nth-child(3) { text-align: right; padding-left: 30px; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
  .s_footer__list:nth-child(2) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; margin-bottom: 0; max-width: 100%; width: 100%; text-align: center; } }

.s_footer__list li { color: #fff; margin-right: 30px; }

@media all and (max-width: 1199px) { .s_footer__list li { font-size: 12px; } }

@media all and (max-width: 999px) { .s_footer__list li { margin-right: 15px; } }

.s_footer__list li:last-child { margin-right: 0; }

.s_footer__list--contacts { max-width: 410px; }

.s_footer__list a { color: inherit; }

@media all and (max-width: 639px) { .s_footer__list { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .s_footer__list:nth-child(n) { max-width: initial; }
  .s_footer__list:nth-child(1) { max-width: 300px; }
  .s_footer__list li { margin-bottom: 10px; } }

@media all and (max-width: 480px) { .s_footer__list:nth-child(3) { padding-left: 0; } }

.s_footer .zorelit__section { width: auto; background-color: transparent; }

@media all and (max-width: 999px) { .s_footer .zorelit__section { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } }

.holder { position: fixed; left: 0%; top: 0%; right: 0%; bottom: 0%; width: 100%; height: 100%; background-color: #fff; z-index: 999; }

.preloader { position: absolute; width: 3%; height: 0%; padding-bottom: 3%; left: 50%; top: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); }

.preloader div { position: absolute; width: 100%; height: 100%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); overflow: hidden; -webkit-animation: animatePreloader 1s infinite linear; animation: animatePreloader 1s infinite linear; -webkit-transform-origin: 50% 100%; -ms-transform-origin: 50% 100%; transform-origin: 50% 100%; }

.preloader div:before { content: ""; position: absolute; width: 100%; height: 100%; left: 50%; top: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); border: 3px solid #FF151F; border-radius: 50%; -webkit-box-sizing: border-box; box-sizing: border-box; }

.preloader div:nth-child(2) { width: 60%; height: 60%; top: 20%; -webkit-animation: animatePreloader 0.5s infinite linear; animation: animatePreloader 0.5s infinite linear; }

@-webkit-keyframes animatePreloader { 0% { -webkit-transform: translateX(-50%) translateY(-50%) rotateZ(0deg); transform: translateX(-50%) translateY(-50%) rotateZ(0deg); }
  100% { -webkit-transform: translateX(-50%) translateY(-50%) rotateZ(360deg); transform: translateX(-50%) translateY(-50%) rotateZ(360deg); } }

@keyframes animatePreloader { 0% { -webkit-transform: translateX(-50%) translateY(-50%) rotateZ(0deg); transform: translateX(-50%) translateY(-50%) rotateZ(0deg); }
  100% { -webkit-transform: translateX(-50%) translateY(-50%) rotateZ(360deg); transform: translateX(-50%) translateY(-50%) rotateZ(360deg); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdlbmVyYWwvX25vcm1hbGl6ZS5zYXNzIiwiYnVkLmNzcyIsImNvbmZpZy9fc2V0dGluZ3Muc2FzcyIsImNvbmZpZy9fbWl4aW5zLnNhc3MiLCJjb25maWcvX3ZhcnMuc2FzcyIsImNvbmZpZy9fYnV0dG9ucy5zYXNzIiwiY29uZmlnL190eXBvZ3JhcGh5LnNhc3MiLCJjb21wb25lbnRzL19pbnB1dHMuc2FzcyIsImNvbXBvbmVudHMvX2JveC5zYXNzIiwiY29tcG9uZW50cy9fcG9wdXAuc2FzcyIsImNvbXBvbmVudHMvX2Fic29sdXRlX2ltZy5zYXNzIiwiY29tcG9uZW50cy9faGVhZGVyLnNhc3MiLCJjb21wb25lbnRzL19oZXJvLnNhc3MiLCJjb21wb25lbnRzL19oaXN0b3J5LnNhc3MiLCJjb21wb25lbnRzL19pbnRlcmVzdGluZy5zYXNzIiwiY29tcG9uZW50cy9fYnVkLnNhc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2FzcyIsImNvbXBvbmVudHMvX3ByZWxvYWRlci13cmFwLnNhc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBRTVFLCtGQUNzRjtBQUV0RixtSkFJRztBQUVILE9BQ0Usa0JBQWlCLENBQUUsT0FBTyxDQUMxQiwyQkFBMEIsQ0FBRSxPQUFPLENBQ25DLCtCQUE4QixDQUFFLE9BQU8sRUFBRzs7QUFHNUMsK0ZBQ3NGO0FBRXRGLHVEQUVHO0FBRUgsT0FDRSxVQUFTLEVBQUc7O0FBR2Qsd0NBRUc7QUFFSCwrQ0FNRSxlQUFjLEVBQUc7O0FBR25CLGdJQUdHO0FBRUgsS0FDRSxlQUFjLENBQ2QsaUJBQWdCLEVBQUc7O0FBR3JCLHVHQUNzRjtBQUV0RiwwRUFHRztBQUVILDJCQUdFLGVBQWMsRUFBRzs7QUFHbkIsc0NBRUc7QUFFSCxTQUNFLGlCQUFnQixFQUFHOztBQUdyQixxRkFHRztBQUVILEtBQ0UsZ0NBQXVCLENBQXZCLHdCQUF1QixDQUFFLE9BQU8sQ0FDaEMsVUFBUyxDQUFFLE9BQU8sQ0FDbEIsa0JB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LmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi87XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi87IH1cblxuXG4vKiBTZWN0aW9uc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiAgLyogMSAqLyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi87XG4gIGhlaWdodDogMDsgLyogMSAqLztcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi87IH1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovO1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqLzsgfVxuXG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi87XG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi87IH1cblxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqLztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovOyB9XG5cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi87XG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovOyB9XG5cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIEZvcm1zXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi87XG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqLztcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi87XG4gIG1hcmdpbjogMDsgLyogMiAqLzsgfVxuXG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0ICAvKiAxICovIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCAgLyogMSAqLyB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqLyB7fVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi87IH1cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqLztcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi87XG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi87XG4gIHBhZGRpbmc6IDA7IC8qIDMgKi87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi87IH1cblxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqLztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovOyB9XG5cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovO1xuICBwYWRkaW5nOiAwOyAvKiAyICovOyB9XG5cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqLzsgfVxuXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqLztcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqLzsgfVxuXG5cbi8qIEludGVyYWN0aXZlXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqLyB7fVxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cblxuLyogU2NyaXB0aW5nXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogSGlkZGVuXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50IEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy4gKi9cbmh0bWwgeyBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqLyAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqLyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9ucyBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLiAqL1xuYm9keSB7IG1hcmdpbjogMDsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uICovXG5hcnRpY2xlLCBhc2lkZSwgZm9vdGVyLCBoZWFkZXIsIG5hdiwgc2VjdGlvbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuICovXG5oMSB7IGZvbnQtc2l6ZTogMmVtOyBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnQgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuICovXG5maWdjYXB0aW9uLCBmaWd1cmUsIG1haW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LiAqL1xuZmlndXJlIHsgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKiogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC4gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuICovXG5ociB7IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovIGhlaWdodDogMDsgLyogMSAqLyBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqLyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuICovXG5wcmUgeyBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi8gZm9udC1zaXplOiAxZW07IC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljcyBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC4gMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLiAqL1xuYSB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi8gfVxuXG4vKiogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLiAqL1xuYWJiclt0aXRsZV0geyBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqLyB9XG5cbi8qKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi4gKi9cbmIsIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLiAqL1xuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLiAqL1xuY29kZSwga2JkLCBzYW1wIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovIH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS4gKi9cbmRmbiB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLiAqL1xubWFyayB7IGJhY2tncm91bmQtY29sb3I6ICNmZjA7IGNvbG9yOiAjMDAwOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cbnNtYWxsIHsgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuICovXG5zdWIsIHN1cCB7IGZvbnQtc2l6ZTogNzUlOyBsaW5lLWhlaWdodDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnQgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbmF1ZGlvLCB2aWRlbyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7IGRpc3BsYXk6IG5vbmU7IGhlaWdodDogMDsgfVxuXG4vKiogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uICovXG5pbWcgeyBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLiAqL1xuc3ZnOm5vdCg6cm9vdCkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLiAqL1xuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEgeyBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqLyBmb250LXNpemU6IDEwMCU7IC8qIDEgKi8gbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi8gbWFyZ2luOiAwOyAvKiAyICovIH1cblxuLyoqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLiAqL1xuYnV0dG9uLCBpbnB1dCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS4gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LiAqL1xuYnV0dG9uLCBzZWxlY3QgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKiogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gIGNvbnRyb2xzIGluIEFuZHJvaWQgNC4gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS4gKi9cblt0eXBlPVwicmVzZXRcIl0sIFt0eXBlPVwic3VibWl0XCJdIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi8gfVxuXG4vKiogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHsgYm9yZGVyLXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyB9XG5cbi8qKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7IG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKiogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LiAqL1xuZmllbGRzZXQgeyBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS4gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dCBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy4gKi9cbmxlZ2VuZCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi8gY29sb3I6IGluaGVyaXQ7IC8qIDIgKi8gZGlzcGxheTogdGFibGU7IC8qIDEgKi8gbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovIHBhZGRpbmc6IDA7IC8qIDMgKi8gd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqLyB9XG5cbi8qKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS4gKi9cbnByb2dyZXNzIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqLyB9XG5cbi8qKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLiAqL1xudGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi8gcGFkZGluZzogMDsgLyogMiAqLyB9XG5cbi8qKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuLyoqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi8gb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi8gfVxuXG4vKiogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS4gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZSBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC4gKi9cbm1lbnUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuICovXG5zdW1tYXJ5IHsgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIFNjcmlwdGluZyBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAqL1xuY2FudmFzIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS4gKi9cbnRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW4gQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uICovXG5baGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmJvZHktb3ZlcmZsb3cgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbm1haW4geyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7IH1cblxuZm9vdGVyIHsgei1pbmRleDogMzsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jb250YWluZXIgeyBtYXgtd2lkdGg6IDEyMzBweDsgd2lkdGg6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDAgMTVweDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHsgLmNvbnRhaW5lciB7IHBhZGRpbmc6IDAgMjVweDsgbWF4LXdpZHRoOiAxMDEwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsgLmNvbnRhaW5lciB7IG1heC13aWR0aDogODAwcHg7IHBhZGRpbmc6IDAgMTZweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5jb250YWluZXIgeyBwYWRkaW5nOiAwIDE4cHg7IH0gfVxuXG4qIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbiwgYSB7IG91dGxpbmU6IG5vbmU7IH1cblxuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG51bCwgb2wgeyBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5mdyB7IGRpc3BsYXk6IC13ZWJraXQtZmxleDsgZGlzcGxheTogLW1zLWZsZXg7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxubGFiZWwuZXJyb3IgeyBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMHB4OyByaWdodDogMDsgY29sb3I6ICNGRjE1MUY7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgdGV4dC1hbGlnbjogcmlnaHQ7IGZvbnQtc2l6ZTogMTJweDsgei1pbmRleDogNTsgfVxuXG4uY3VzdG9tLXNlbGVjdC13cmFwcGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHVzZXItc2VsZWN0OiBub25lOyB3aWR0aDogMTAwJTsgfVxuXG4uY3VzdG9tLXNlbGVjdC13cmFwcGVyIHNlbGVjdCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmN1c3RvbS1zZWxlY3QgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgei1pbmRleDogNTsgdGV4dC1hbGlnbjogbGVmdDsgd2lkdGg6IDEwMCU7IH1cblxuLmN1c3RvbS1zZWxlY3QtdHJpZ2dlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwIDE1cHg7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDMwMDsgY29sb3I6ICMzNzM3Mzc7IGZvbnQtd2VpZ2h0OiA1MDA7IGhlaWdodDogNDRweDsgbGluZS1oZWlnaHQ6IDQ0cHg7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkICM5YjlhOWE7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1mYW1pbHk6ICdFeG8gMicsIHNhbnMtc2VyaWY7IH1cblxuLmN1c3RvbS1zZWxlY3QtdHJpZ2dlcjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgY29udGVudDogJyc7IGRpc3BsYXk6IGJsb2NrOyByaWdodDogMTVweDsgdG9wOiA0OSU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpOyBib3JkZXI6IHNvbGlkICNGRjE1MUY7IGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7IHBhZGRpbmc6IDNweDsgei1pbmRleDogMTsgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuXG4uY3VzdG9tLXNlbGVjdC5vcGVuZWQgLmN1c3RvbS1zZWxlY3QtdHJpZ2dlcjphZnRlciB7IHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZVkoMCUpOyB9XG5cbi5jdXN0b20tb3B0aW9ucyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgZGlzcGxheTogYmxvY2s7IHRvcDogMTAwJTsgbGVmdDogMDsgcmlnaHQ6IDA7IG1pbi13aWR0aDogMTAwJTsgYmFja2dyb3VuZDogI2ZmZjsgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluLW91dDsgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuOyBwb2ludGVyLWV2ZW50czogbm9uZTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTsgYm94LXNoYWRvdzogMCAwIDIwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uY3VzdG9tLXNlbGVjdC5vcGVuZWQgeyBib3gtc2hhZG93OiAwIDAgMjBweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5jdXN0b20tc2VsZWN0Lm9wZW5lZCAuY3VzdG9tLW9wdGlvbnMgeyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBwb2ludGVyLWV2ZW50czogYWxsOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLm9wdGlvbi1ob3ZlcjpiZWZvcmUgeyBiYWNrZ3JvdW5kOiAjZjlmOWY5OyB9XG5cbi5jdXN0b20tb3B0aW9uIHsgcG9zaXRpb246IHJlbGF0aXZlOyBib3JkZXI6IDFweCBzb2xpZCAjOWI5YTlhOyBib3JkZXItdG9wOiBub25lOyBib3JkZXItYm90dG9tOiBub25lOyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzJEMkQyRDsgZm9udC13ZWlnaHQ6IDUwMDsgcGFkZGluZzogMTBweCAxNXB4OyBkaXNwbGF5OiBibG9jazsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0OyB9XG5cbi5jdXN0b20tb3B0aW9uOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliOWE5YTsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuY3VzdG9tLW9wdGlvbiB7IGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbi5jdXN0b20tb3B0aW9uOmhvdmVyLCAuY3VzdG9tLW9wdGlvbi5zZWxlY3Rpb24geyBiYWNrZ3JvdW5kOiAjRjJGMkYyOyB9XG5cbi5zaXRlLWJ1dHRvbiB7IGN1cnNvcjogcG9pbnRlcjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgb3V0bGluZTogbm9uZTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1mYW1pbHk6ICdFeG8gMicsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB0cmFuc2l0aW9uOiBhbGwgLjJzOyBmb250LXNpemU6IDE4cHg7IGJvcmRlcjogbm9uZTsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHsgLnNpdGUtYnV0dG9uIHsgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7IC5zaXRlLWJ1dHRvbiB7IGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7IC5zaXRlLWJ1dHRvbiB7IGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbi5zaXRlLWJ1dHRvbi0tbm9ybWFsIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYm9yZGVyOiBub25lOyBjb2xvcjogI0ZGMTUxRjsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnNpdGUtYnV0dG9uLS1ub3JtYWw6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjY2YxMzFjOyB9XG5cbi5zaXRlLWJ1dHRvbi0tcmVkIHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6ICNGRjE1MUY7IHBhZGRpbmc6IDEycHggMjRweDsgYm9yZGVyOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgLnNpdGUtYnV0dG9uLS1yZWQgeyBwYWRkaW5nOiAxMHB4IDIwcHg7IH0gfVxuXG4uc2l0ZS1idXR0b24tLXJlZDpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNjZjEzMWM7IH1cblxuKiB7IGxpbmUtaGVpZ2h0OiAxOyBmb250LXdlaWdodDogNDAwOyBmb250LWZhbWlseTogJ0V4byAyJywgc2Fucy1zZXJpZjsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBzcGFuLCBsaSB7IGNvbG9yOiAjMzczNzM3OyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgeyBmb250LXdlaWdodDogYm9sZDsgbWFyZ2luOiAwOyBsaW5lLWhlaWdodDogMS4xOyB9XG5cbmgxIHsgZm9udC1zaXplOiA3MnB4OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkgeyBoMSB7IGZvbnQtc2l6ZTogNDhweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgeyBoMSB7IGZvbnQtc2l6ZTogNDBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7IGgxIHsgZm9udC1zaXplOiAzNnB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsgaDEgeyBmb250LXNpemU6IDMwcHg7IH0gfVxuXG5oMiB7IGZvbnQtc2l6ZTogNDhweDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHsgaDIgeyBmb250LXNpemU6IDQwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsgaDIgeyBmb250LXNpemU6IDMwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyBoMiB7IGZvbnQtc2l6ZTogMjhweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7IGgyIHsgZm9udC1zaXplOiAyNHB4OyB9IH1cblxuaDMgeyBmb250LXNpemU6IDI4cHg7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7IGgzIHsgZm9udC1zaXplOiAyNnB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7IGgzIHsgZm9udC1zaXplOiAyMnB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsgaDMgeyBmb250LXNpemU6IDIwcHg7IH0gfVxuXG5oNCB7IGZvbnQtc2l6ZTogMjBweDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHsgaDQgeyBmb250LXNpemU6IDE2cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsgaDQgeyBmb250LXNpemU6IDEycHg7IH0gfVxuXG5oNSB7IGZvbnQtc2l6ZTogMTZweDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHsgaDUgeyBmb250LXNpemU6IDE0cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0NzlweCkgeyBoNSB7IGZvbnQtc2l6ZTogMTJweDsgfSB9XG5cbmg1IHsgZm9udC1zaXplOiAxNHB4OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7IGg1IHsgZm9udC1zaXplOiAxMnB4OyB9IH1cblxucCwgc3BhbiwgbGkgeyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7IHAsIHNwYW4sIGxpIHsgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuc3BhbiwgYSB7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IGluaGVyaXQ7IGZvbnQtd2VpZ2h0OiBpbmhlcml0OyBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5hIHsgY29sb3I6ICMzNzM3Mzc7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4udHlwb2dyYXBoeSBoMywgLnR5cG9ncmFwaHkgaDQsIC50eXBvZ3JhcGh5IGg1IHsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAudHlwb2dyYXBoeSBoMywgLnR5cG9ncmFwaHkgaDQsIC50eXBvZ3JhcGh5IGg1IHsgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG5cbi50eXBvZ3JhcGh5IHAgeyBtYXJnaW4tYm90dG9tOiAyZW07IH1cblxuLnR5cG9ncmFwaHkgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4udHlwb2dyYXBoeSAuYWxpZ25sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnR5cG9ncmFwaHkgLmFsaWducmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLnR5cG9ncmFwaHkgaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pbnB1dHMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDEwMCU7IH1cblxuLmlucHV0cyBpbnB1dCwgLmlucHV0cyBzZWxlY3QgeyB3aWR0aDogMTAwJTsgYm9yZGVyOiBub25lOyBib3JkZXI6IDFweCBzb2xpZCAjOWI5YTlhOyBvdXRsaW5lOiBub25lOyBoZWlnaHQ6IDEwMCU7IG1pbi13aWR0aDogMTBweDsgbWluLWhlaWdodDogMTBweDsgcGFkZGluZzogMTNweCAxNHB4OyB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG5cbi5pbnB1dHMgaW5wdXQ6OnBsYWNlaG9sZGVyLCAuaW5wdXRzIHNlbGVjdDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogIzM3MzczNzsgfVxuXG4uaW5wdXRzIC5pbnB1dC0tZXJyb3IgeyBib3JkZXItY29sb3I6ICNGRjE1MUY7IH1cblxuLmlucHV0cyAuZXJyb3IgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogLTE1cHg7IH1cblxuLnNfYm94IHsgd2lkdGg6IDEwMCU7IG1hcmdpbjogLTEwcHg7IGZsZXgtd3JhcDogd3JhcDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLnNfYm94X19ibG9jayB7IHBhZGRpbmc6IDEwcHg7IH1cblxuLnNfYm94X19ibG9jay0tMTAwIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zX2JveF9fYmxvY2stLTUwIHsgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNfYm94X19ibG9jay0tMzAgeyBtYXgtd2lkdGg6IDMzLjMzMzMlOyB9XG5cbi5zX3BvcHVwIHsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHotaW5kZXg6IDcwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7IG92ZXJmbG93LXk6IGF1dG87IH1cblxuLnNfcG9wdXBfX2xheWVyIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHotaW5kZXg6IDE7IH1cblxuLnNfcG9wdXBfX2Nsb3NlIHsgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDI1cHg7IHJpZ2h0OiAyNXB4OyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjM5cHgpIHsgLnNfcG9wdXBfX2Nsb3NlIHsgd2lkdGg6IDI1cHg7IGhlaWdodDogMjVweDsgdG9wOiAxNXB4OyByaWdodDogMTVweDsgfSB9XG5cbi5zX3BvcHVwX19jbG9zZTo6YmVmb3JlLCAuc19wb3B1cF9fY2xvc2U6OmFmdGVyIHsgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA0cHg7IGJhY2tncm91bmQ6ICNGRjE1MUY7IHRvcDogNDAlOyBsZWZ0OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IGJvcmRlci1yYWRpdXM6IDIwcHg7IH1cblxuLnNfcG9wdXBfX2Nsb3NlOjphZnRlciB7IHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblxuLnNfcG9wdXBfX2NvbnRlbnQgeyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA5OTVweDsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAyOyB0b3A6IDUwJTsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgcGFkZGluZzogMjBweCA0NXB4OyBtYXJnaW46IDQwcHggMDsgfVxuXG4uc19wb3B1cF9fY29udGVudC0tcHJvamVjdCB7IHBhZGRpbmc6IDQ1cHg7IG1hcmdpbi10b3A6IDkwcHg7IH1cblxuLnNfcG9wdXAtLXByb2plY3RfX2NvbnRlbnQgeyBtYXgtd2lkdGg6IDc1MHB4OyB3aWR0aDogMTAwJTsgbWFyZ2luOiBhdXRvOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNfcG9wdXAtLXByb2plY3RfX3NsaWRlciB7IG1hcmdpbi1ib3R0b206IDMycHg7IH1cblxuLnNfcG9wdXAtLXByb2plY3RfX2ltZyB7IHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBoZWlnaHQ6IDQ1MHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5zX3BvcHVwLS1wcm9qZWN0X19pbWcgaW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgb2JqZWN0LWZpdDogY292ZXI7IG1heC1oZWlnaHQ6IDEwMCU7IH1cblxuLnNfcG9wdXAtLXByb2plY3QgLnNsaWNrLWFycm93IHsgcG9zaXRpb246IGFic29sdXRlOyBjdXJzb3I6IHBvaW50ZXI7IHRvcDogNTAlOyB6LWluZGV4OiAxOyBmb250LXNpemU6IDA7IGJvcmRlcjogbm9uZTsgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjRkYxNTFGOyBib3JkZXItYm90dG9tOiAycHggc29saWQgI0ZGMTUxRjsgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfcG9wdXAtLXByb2plY3QgLnNsaWNrLWFycm93IHsgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zX3BvcHVwLS1wcm9qZWN0IC5zbGljay1wcmV2IHsgbGVmdDogLTQwcHg7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpOyB9XG5cbi5zX3BvcHVwLS1wcm9qZWN0IC5zbGljay1uZXh0IHsgcmlnaHQ6IC00MHB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC0xMzVkZWcpOyB9XG5cbi5zX3BvcHVwX190aGFua3MgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLnNfcG9wdXBfX3RoYW5rcy0td3JhcCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgaGVpZ2h0OiAxMDAlOyBwYWRkaW5nOiAwOyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA2MDBweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWFyZ2luOiBhdXRvOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX3BvcHVwX190aGFua3MtLXdyYXAgeyBtYXgtd2lkdGg6IDkwJTsgfSB9XG5cbi5zX3BvcHVwX190aGFua3MtLWJveCB7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBoZWlnaHQ6IGF1dG87IHBhZGRpbmc6IDg0cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7IGJveC1zaGFkb3c6IDZweCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMik7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHsgLnNfcG9wdXBfX3RoYW5rcy0tYm94IHsgcGFkZGluZzogODVweCAxMDBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX3BvcHVwX190aGFua3MtLWJveCB7IHBhZGRpbmc6IDU1cHggNzBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7IC5zX3BvcHVwX190aGFua3MtLWJveCB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAzMHB4OyB9IH1cblxuLmFic29sdXRlX2ltZyB7IG1heC13aWR0aDogODBweDsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAtMTsgcmlnaHQ6IDMwcHg7IGJvdHRvbTogMDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuYWJzb2x1dGVfaW1nIHsgbWF4LXdpZHRoOiA2NXB4OyBtYXgtaGVpZ2h0OiA3MHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgLmFic29sdXRlX2ltZyB7IG1heC13aWR0aDogNTVweDsgfSB9XG5cbi5hYnNvbHV0ZV9pbWctLWNlbnRlciB7IGxlZnQ6IDY1JTsgfVxuXG4uYWJzb2x1dGVfaW1nLS1yaWdodCB7IHJpZ2h0OiAyMHB4OyB0b3A6IDMwcHg7IH1cblxuLmFic29sdXRlX2ltZy0tcmlnaHQyIHsgdG9wOiA4MHB4OyByaWdodDogMjAlOyB9XG5cbi5zX2hlYWRlciB7IHBhZGRpbmc6IDMwcHggMCAzMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDU7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7IC5zX2hlYWRlciB7IHBhZGRpbmc6IDE5cHggMCAyM3B4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7IC5zX2hlYWRlciB7IHBhZGRpbmc6IDI0cHggMCAyM3B4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVhZGVyIHsgcGFkZGluZzogMThweCAwIDE4cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA2MzlweCkgeyAuc19oZWFkZXIgeyBwYWRkaW5nOiAxOHB4IDAgMjNweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX2hlYWRlcjo6YWZ0ZXIgeyBkaXNwbGF5OiBibG9jazsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiAjZmZmOyB6LWluZGV4OiAxNDsgfSB9XG5cbi5zX2hlYWRlcl93cmFwIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uc19oZWFkZXJfbG9nbyB7IG1heC13aWR0aDogMTYzcHg7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgbWFyZ2luLXJpZ2h0OiA3MHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE1OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkgeyAuc19oZWFkZXJfbG9nbyB7IG1heC13aWR0aDogMTMwcHg7IG1hcmdpbi1yaWdodDogNTBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgeyAuc19oZWFkZXJfbG9nbyB7IG1heC13aWR0aDogOTZweDsgbWFyZ2luLXJpZ2h0OiA0NXB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVhZGVyX2xvZ28geyBtYXgtd2lkdGg6IDEwM3B4OyB9IH1cblxuLnNfaGVhZGVyX2xvZ28gaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zX2hlYWRlcl9tZW51X3dyYXAgeyBtYXgtd2lkdGg6IDEwMCU7IHdpZHRoOiAxMDAlOyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX2hlYWRlcl9tZW51X3dyYXAgeyBwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IC0xMDAwMDBweDsgdG9wOiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdy15OiBhdXRvOyBvdmVyZmxvdy14OiBoaWRkZW47IHBhZGRpbmctYm90dG9tOiAzMHB4OyBiYWNrZ3JvdW5kOiAjZmZmOyB6LWluZGV4OiAxMDsgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNfaGVhZGVyX21lbnVfd3JhcC0tb3BlbiB7IGxlZnQ6IDA7IH0gfVxuXG4uc19oZWFkZXJfbWVudV93cmFwIHVsIHsgbWF4LXdpZHRoOiA3NjBweDsgd2lkdGg6IDEwMCU7IG1hcmdpbi1yaWdodDogODNweDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHsgLnNfaGVhZGVyX21lbnVfd3JhcCB1bCB7IG1heC13aWR0aDogNjI4cHg7IG1hcmdpbi1yaWdodDogNDNweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgeyAuc19oZWFkZXJfbWVudV93cmFwIHVsIHsgbWF4LXdpZHRoOiA1MTZweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVhZGVyX21lbnVfd3JhcCB1bCB7IGRpc3BsYXk6IGJsb2NrOyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbjogMDsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nLXRvcDogNTdweDsgcGFkZGluZy1ib3R0b206IDQ1cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIGFuZCAobWF4LXdpZHRoOiA2MzlweCkgeyAuc19oZWFkZXJfbWVudV93cmFwIHVsIHsgcGFkZGluZy1ib3R0b206IDI4cHg7IG1hcmdpbi1ib3R0b206IDMycHg7IH0gfVxuXG4uc19oZWFkZXJfbWVudV93cmFwIHVsIGxpIHsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNDAwOyBjb2xvcjogIzAwMDAwMDsgZm9udC1mYW1pbHk6ICdFeG8gMicsIHNhbnMtc2VyaWY7IHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkgeyAuc19oZWFkZXJfbWVudV93cmFwIHVsIGxpIHsgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7IC5zX2hlYWRlcl9tZW51X3dyYXAgdWwgbGkgeyBmb250LXNpemU6IDEycHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19oZWFkZXJfbWVudV93cmFwIHVsIGxpIHsgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjM5cHgpIHsgLnNfaGVhZGVyX21lbnVfd3JhcCB1bCBsaSB7IGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbi5zX2hlYWRlcl9tZW51X3dyYXAgdWwgbGk6aG92ZXIgeyBjb2xvcjogI0ZGMTUxRjsgfVxuXG4uc19oZWFkZXJfbWVudV93cmFwIHVsIGxpIGEgeyBmb250LXN0eWxlOiBpbmhlcml0OyBmb250LXNpemU6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0OyBmb250LXdlaWdodDogaW5oZXJpdDsgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVhZGVyX21lbnVfd3JhcCB1bCBsaSBhIHsgcGFkZGluZzogMTFweCAwIDExcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA2MzlweCkgeyAuc19oZWFkZXJfbWVudV93cmFwIHVsIGxpIGEgeyBwYWRkaW5nOiA5cHggMCA5cHg7IH0gfVxuXG4uc19oZWFkZXJfbWVudV93cmFwIHVsIGxpLmN1cnJlbnQtbWVudS1pdGVtIHsgY29sb3I6ICNGRjE1MUY7IH1cblxuLnNfaGVhZGVyX3Bob25lcyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBtYXgtd2lkdGg6IDEyN3B4OyB3aWR0aDogMTAwJTsgcGFkZGluZy1yaWdodDogMTNweDsgcGFkZGluZy1sZWZ0OiA3cHg7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7IC5zX2hlYWRlcl9waG9uZXMgeyBtYXgtd2lkdGg6IDExM3B4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVhZGVyX3Bob25lcyB7IG1heC13aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAwOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4uc19oZWFkZXJfcGhvbmVzOjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogNHB4OyBjb250ZW50OiAnJzsgYm9yZGVyOiBzb2xpZCAjRkYxNTFGOyBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwOyBwYWRkaW5nOiAycHg7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVhZGVyX3Bob25lczo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNfaGVhZGVyX3Bob25lcyBhIHsgY29sb3I6ICNlYjFkMjU7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1mYW1pbHk6ICdFeG8gMicsIHNhbnMtc2VyaWY7IGRpc3BsYXk6IGJsb2NrOyB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4uc19oZWFkZXJfcGhvbmVzIGE6aG92ZXIgeyBjb2xvcjogI2NmMTMxYzsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHsgLnNfaGVhZGVyX3Bob25lcyBhIHsgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7IC5zX2hlYWRlcl9waG9uZXMgYSB7IGZvbnQtc2l6ZTogMTJweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX2hlYWRlcl9waG9uZXMgYSB7IGZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiAxMTBweDsgd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGlubGluZTsgbWFyZ2luLXJpZ2h0OiAzNXB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsgLnNfaGVhZGVyX3Bob25lcyBhIHsgbWF4LXdpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuXG4uc19oZWFkZXJfcGhvbmVzX2xhbmcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IGxlZnQ6IC0xMDAwMDBweDsgdG9wOiAxMDAlOyBwYWRkaW5nLXRvcDogNXB4OyB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGxpbmVhciwgbGVmdCAwcyBsaW5lYXIgMC4yNXM7IGJhY2tncm91bmQ6ICNmZmY7IHBhZGRpbmctbGVmdDogN3B4OyB6LWluZGV4OiAyOyBwYWRkaW5nLXJpZ2h0OiAxM3B4OyBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsgLnNfaGVhZGVyX3Bob25lc19sYW5nIHsgcGFkZGluZy10b3A6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19oZWFkZXJfcGhvbmVzX2xhbmcgeyBwb3NpdGlvbjogc3RhdGljOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGxlZnQ6IHVuc2V0OyB0b3A6IHVuc2V0OyBwYWRkaW5nOiAwOyBvcGFjaXR5OiAxOyBtYXgtd2lkdGg6IHVuc2V0OyB3aWR0aDogYXV0bzsgfSB9XG5cbi5zX2hlYWRlcl9waG9uZXNfbGFuZyBhIHsgcGFkZGluZy10b3A6IDEwcHg7IH1cblxuLnNfaGVhZGVyX3Bob25lc19sYW5nIGE6bGFzdC1vZi10eXBlIHsgcGFkZGluZy1ib3R0b206IDA7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVhZGVyX3Bob25lc19sYW5nIGEgeyBwYWRkaW5nOiAwOyB9XG4gIC5zX2hlYWRlcl9waG9uZXNfbGFuZyBhOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7IC5zX2hlYWRlcl9waG9uZXNfbGFuZyBhOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uc19oZWFkZXJfcGhvbmVzLS1vcGVuIC5zX2hlYWRlcl9waG9uZXNfbGFuZyB7IG9wYWNpdHk6IDE7IGxlZnQ6IDA7IH1cblxuLnNfaGVhZGVyX3Bob25lcy0tb3Blbjo6YWZ0ZXIgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgdG9wOiA2cHg7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVhZGVyX2J1cmdlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTU7IGN1cnNvcjogcG9pbnRlcjsgd2lkdGg6IDI2cHg7IGhlaWdodDogMTZweDsgfVxuICAuc19oZWFkZXJfYnVyZ2VyX2xpbmUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDJweDsgYmFja2dyb3VuZDogI0ZGMTUxRjsgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNfaGVhZGVyX2J1cmdlcl9saW5lLS1vbmUgeyB0b3A6IDA7IH1cbiAgLnNfaGVhZGVyX2J1cmdlcl9saW5lLS10d28geyB0b3A6IDdweDsgfVxuICAuc19oZWFkZXJfYnVyZ2VyX2xpbmUtLXRocmVlIHsgdG9wOiAxNHB4OyB9XG4gIC5zX2hlYWRlcl9idXJnZXItLW9wZW4gLnNfaGVhZGVyX2J1cmdlcl9saW5lLS1vbmUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IHRvcDogNTAlOyB9XG4gIC5zX2hlYWRlcl9idXJnZXItLW9wZW4gLnNfaGVhZGVyX2J1cmdlcl9saW5lLS10d28geyBvcGFjaXR5OiAwOyB9XG4gIC5zX2hlYWRlcl9idXJnZXItLW9wZW4gLnNfaGVhZGVyX2J1cmdlcl9saW5lLS10aHJlZSB7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9IH1cblxuLnNfaGVybyB7IHdpZHRoOiAxMDAlOyB9XG5cbi5zX2hlcm9fX2NvbnRlbnQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nOiAwIDIwNXB4OyBtaW4taGVpZ2h0OiA3MTBweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkgeyAuc19oZXJvX19jb250ZW50IHsgcGFkZGluZzogMCA4NXB4OyBtaW4taGVpZ2h0OiA0NDBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgeyAuc19oZXJvX19jb250ZW50IHsgbWluLWhlaWdodDogMzc1cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19oZXJvX19jb250ZW50IHsgcGFkZGluZzogMCAzNXB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY1cHgpIHsgLnNfaGVyb19fY29udGVudCB7IHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA2MzlweCkgeyAuc19oZXJvX19jb250ZW50IHsgbWluLWhlaWdodDogNTIwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0NzlweCkgeyAuc19oZXJvX19jb250ZW50IHsgbWluLWhlaWdodDogMzc1cHg7IH0gfVxuXG4uc19oZXJvX19zbGlkZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc19oZXJvX19pbWFnZS0tYmcgaW1nIHsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi5zX2hlcm9fX3dyYXAgeyBjb2xvcjogd2hpdGU7IG1heC13aWR0aDogNTQwcHg7IH1cblxuLnNfaGVyb19fdGl0bGUgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkgeyAuc19oZXJvX190aXRsZSB7IG1hcmdpbi1ib3R0b206IDQwcHg7IG1heC13aWR0aDogMzY1cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsgLnNfaGVyb19fdGl0bGUgeyBtYXJnaW4tYm90dG9tOiAzNXB4OyBtYXgtd2lkdGg6IDMxMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVyb19fdGl0bGUgeyBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgLnNfaGVyb19fdGl0bGUgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjM5cHgpIHsgLnNfaGVyb19fdGl0bGUgeyBtYXgtd2lkdGg6IDI3MHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDE5cHgpIHsgLnNfaGVyb19fdGl0bGUgeyBtYXgtd2lkdGg6IDIyNXB4OyB9IH1cblxuLnNfaGVyb19fdGl0bGUgaDEgeyBjb2xvcjogI2ZmZjsgfVxuXG4uc19oZXJvX190aXRsZSBoMiB7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IDcycHg7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7IC5zX2hlcm9fX3RpdGxlIGgyIHsgZm9udC1zaXplOiA0OHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7IC5zX2hlcm9fX3RpdGxlIGgyIHsgZm9udC1zaXplOiA0MHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjM5cHgpIHsgLnNfaGVyb19fdGl0bGUgaDIgeyBmb250LXNpemU6IDM2cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0NzlweCkgeyAuc19oZXJvX190aXRsZSBoMiB7IGZvbnQtc2l6ZTogMzBweDsgfSB9XG5cbi5zX2hlcm9fX3RleHQgeyBtYXJnaW4tYm90dG9tOiA3MHB4OyBtYXgtd2lkdGg6IDUxMHB4OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkgeyAuc19oZXJvX190ZXh0IHsgbWFyZ2luLWJvdHRvbTogNTBweDsgbWF4LXdpZHRoOiAzOTBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgeyAuc19oZXJvX190ZXh0IHsgbWFyZ2luLWJvdHRvbTogMzVweDsgbWF4LXdpZHRoOiAzODBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX2hlcm9fX3RleHQgeyBtYXJnaW4tYm90dG9tOiA2MHB4OyBtYXgtd2lkdGg6IDMxNXB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgLnNfaGVyb19fdGV4dCB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA2MzlweCkgeyAuc19oZXJvX190ZXh0IHsgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQxOXB4KSB7IC5zX2hlcm9fX3RleHQgeyBtYXgtd2lkdGg6IDI1NXB4OyB9IH1cblxuLnNfaGVyb19fdGV4dCBwIHsgZm9udC1zaXplOiAyNHB4OyBtYXgtaGVpZ2h0OiA3ZW07IG92ZXJmbG93OiBoaWRkZW47IGNvbG9yOiAjZmZmOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkgeyAuc19oZXJvX190ZXh0IHAgeyBmb250LXNpemU6IDIwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsgLnNfaGVyb19fdGV4dCBwIHsgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVyb19fdGV4dCBwIHsgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjM5cHgpIHsgLnNfaGVyb19fdGV4dCBwIHsgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDE5cHgpIHsgLnNfaGVyb19fdGV4dCBwIHsgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuLnNfaGVyb19fYnRuIHsgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4uc19oZXJvX19hYm91dCB7IG1hcmdpbjogMCBhdXRvOyBtYXgtd2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc19oZXJvX19zbGlkZXIgLnNsaWNrLWRvdHMgeyBkaXNwbGF5OiBmbGV4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMjBweDsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IHotaW5kZXg6IDEwOyB9XG5cbi5zX2hlcm9fX3NsaWRlciAuc2xpY2stZG90cyBsaSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLnNfaGVyb19fc2xpZGVyIC5zbGljay1kb3RzIGxpOmxhc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGVyb19fc2xpZGVyIC5zbGljay1kb3RzIGxpIHsgd2lkdGg6IDZweDsgaGVpZ2h0OiA2cHg7IH0gfVxuXG4uc19oZXJvX19zbGlkZXIgLnNsaWNrLWRvdHMgYnV0dG9uIHsgY3Vyc29yOiBwb2ludGVyOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGZvbnQtc2l6ZTogMDsgYmFja2dyb3VuZC1jb2xvcjogI0MwQkZCRjsgYm9yZGVyOiAxcHggc29saWQgI0MwQkZCRjsgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuXG4uc19oZXJvX19zbGlkZXIgLnNsaWNrLWRvdHMgLnNsaWNrLWFjdGl2ZSBidXR0b24geyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYxNTFGOyBib3JkZXI6IDFweCBzb2xpZCAjRkYxNTFGOyB9XG5cbi5zX2hlcm9fX3NsaWRlciAuc2xpY2stYXJyb3cgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGN1cnNvcjogcG9pbnRlcjsgdG9wOiA1MCU7IHotaW5kZXg6IDE7IGZvbnQtc2l6ZTogMDsgYm9yZGVyOiBub25lOyBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmOyB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19oZXJvX19zbGlkZXIgLnNsaWNrLWFycm93IHsgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zX2hlcm9fX3NsaWRlciAuc2xpY2stcHJldiB7IGxlZnQ6IDEwcHg7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7IC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7IH1cblxuLnNfaGVyb19fc2xpZGVyIC5zbGljay1uZXh0IHsgcmlnaHQ6IDEwcHg7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC0xMzVkZWcpOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTsgfVxuXG4uc19oaXN0b3J5IHsgcGFkZGluZzogMzBweCAwOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX2hpc3RvcnkgeyBwYWRkaW5nOiAzMHB4IDBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5zX2hpc3RvcnkgeyBwYWRkaW5nOiAzMHB4IDBweDsgfSB9XG5cbi5zX2hpc3RvcnlfX2hlYWRlciB7IG1hcmdpbi1ib3R0b206IDEwNXB4OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkgeyAuc19oaXN0b3J5X19oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiA3NXB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7IC5zX2hpc3RvcnlfX2hlYWRlciB7IG1hcmdpbi1ib3R0b206IDcwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19oaXN0b3J5X19oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgLnNfaGlzdG9yeV9faGVhZGVyIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbi5zX2hpc3RvcnlfX3RleHQgeyBjb2x1bW4tY291bnQ6IDI7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfaGlzdG9yeV9fdGV4dCB7IG1heC13aWR0aDogNDk1cHg7IGNvbHVtbi1jb3VudDogMTsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7IC5zX2hpc3RvcnlfX3RleHQgeyBtYXgtd2lkdGg6IDQwNXB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsgLnNfaGlzdG9yeV9fdGV4dCB7IG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi5zX2hpc3RvcnlfX3RleHQgcCB7IG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnNfaGlzdG9yeV9fdGV4dCBwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zX2hpc3RvcnlfX2NvbnRhaW5lciB7IHBhZGRpbmc6IDE1MHB4IDAgNTVweDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHsgLnNfaGlzdG9yeV9fY29udGFpbmVyIHsgcGFkZGluZzogOTBweCAwIDUwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19oaXN0b3J5X19jb250YWluZXIgeyBwYWRkaW5nOiA1MHB4IDBweCAzMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgLnNfaGlzdG9yeV9fY29udGFpbmVyIHsgcGFkZGluZzogMzBweCAwcHg7IH0gfVxuXG4uc19oaXN0b3J5X19iZyB7IGJvdHRvbTogLTEwMHB4OyByaWdodDogMTUwcHg7IH1cblxuLnNfaW50ZXJlc3RpbmcgeyBwYWRkaW5nOiA3NXB4IDAgODVweDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19pbnRlcmVzdGluZyB7IHBhZGRpbmc6IDQwcHggMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgLnNfaW50ZXJlc3RpbmcgeyBwYWRkaW5nOiA1MHB4IDAgODBweDsgfSB9XG5cbi5zX2ludGVyZXN0aW5nX19oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zX2ludGVyZXN0aW5nX19ib3ggeyBtYXJnaW46IC0yMHB4OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgeyAuc19pbnRlcmVzdGluZ19fYm94IHsgcGFkZGluZy10b3A6IDIwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19pbnRlcmVzdGluZ19fYm94IHsgbWFyZ2luOiAwOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgLnNfaW50ZXJlc3RpbmdfX2JveCB7IHBhZGRpbmctdG9wOiAzMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjM5cHgpIHsgLnNfaW50ZXJlc3RpbmdfX2JveCB7IHBhZGRpbmctdG9wOiAyMHB4OyB9IH1cblxuLnNfaW50ZXJlc3RpbmdfX2NhcmRzIHsgd2lkdGg6IDEwMCU7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsgLnNfaW50ZXJlc3RpbmdfX2NhcmRzIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH0gfVxuXG4uc19pbnRlcmVzdGluZ19fY2FyZCB7IG1heC13aWR0aDogMzMuMzMzMzMlOyB3aWR0aDogMTAwJTsgcGFkZGluZzogMjBweDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsgLnNfaW50ZXJlc3RpbmdfX2NhcmQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG4uc19pbnRlcmVzdGluZ19fY2FyZDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgeyAuc19pbnRlcmVzdGluZ19fY2FyZCB7IG1heC13aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogNjBweDsgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7IC5zX2ludGVyZXN0aW5nX19jYXJkIHsgbWFyZ2luLWJvdHRvbTogNzVweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7IC5zX2ludGVyZXN0aW5nX19jYXJkIHsgbWFyZ2luLWxlZnQ6IDIwcHg7IG1hcmdpbi1ib3R0b206IDYwcHg7IH0gfVxuXG4uc19pbnRlcmVzdGluZ19fY2FyZC0tdGl0bGUgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi5zX2ludGVyZXN0aW5nX19jYXJkLS10ZXh0IHsgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc19pbnRlcmVzdGluZ19fdGV4dCB7IG1pbi1oZWlnaHQ6IDE4NXB4OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkgeyAuc19pbnRlcmVzdGluZ19fdGV4dCB7IG1pbi1oZWlnaHQ6IGluaXRpYWw7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgeyAuc19pbnRlcmVzdGluZ19fdGV4dCB7IG1pbi1oZWlnaHQ6IGF1dG87IH0gfVxuXG4uc19idWRfX2hlYWRlciB7IG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgeyAuc19idWRfX2hlYWRlciB7IG1hcmdpbi1ib3R0b206IDY1cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19idWRfX2hlYWRlciB7IG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19idWRfX3JvYWQgeyBjb2x1bW4tY291bnQ6IDI7IG1heC13aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7IC5zX2J1ZF9fcm9hZCB7IGNvbHVtbi1jb3VudDogMTsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX2J1ZF9fY2FyZHMgeyBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19idWRfX2NhcmQgeyBtYXgtd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDA7IG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgeyAuc19idWRfX2NhcmQgeyBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5zX2J1ZF9fY2FyZC0tdGl0bGUgeyBtYXgtd2lkdGg6IDIyNXB4OyBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX2J1ZF9fY2FyZC0tdGl0bGUgeyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDI1cHg7IH0gfVxuXG4uc19idWRfX2NhcmQtLXRpdGxlIGgzIHsgY29sb3I6ICNGRjE1MUY7IH1cblxuLnNfYnVkX190ZXh0IHsgbWluLWhlaWdodDogYXV0bzsgfVxuXG4uc19idWRfX2JnMSB7IHJpZ2h0OiAzMCU7IHRvcDogMDsgfVxuXG4uc19idWRfX2JnMiB7IHJpZ2h0OiAxMCU7IHRvcDogNTBweDsgfVxuXG4uc19mb290ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjM2MzYTNhOyBwYWRkaW5nOiAzNXB4IDA7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7IC5zX2Zvb3RlciB7IHBhZGRpbmc6IDMwcHggMDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX2Zvb3RlciB7IHBhZGRpbmc6IDIwcHggMDsgfSB9XG5cbi5zX2Zvb3Rlcl9fY29udGVudCB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTk5cHgpIHsgLnNfZm9vdGVyX19jb250ZW50IHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZmxleC13cmFwOiB3cmFwOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19mb290ZXJfX2xpc3QgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5zX2Zvb3Rlcl9fbGlzdDpudGgtY2hpbGQoMSkgeyBvcmRlcjogMTsgfVxuICAuc19mb290ZXJfX2xpc3Q6bnRoLWNoaWxkKDMpIHsgdGV4dC1hbGlnbjogcmlnaHQ7IHBhZGRpbmctbGVmdDogMzBweDsgb3JkZXI6IDI7IH1cbiAgLnNfZm9vdGVyX19saXN0Om50aC1jaGlsZCgyKSB7IG9yZGVyOiAzOyBtYXJnaW4tYm90dG9tOiAwOyBtYXgtd2lkdGg6IDEwMCU7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uc19mb290ZXJfX2xpc3QgbGkgeyBjb2xvcjogI2ZmZjsgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgeyAuc19mb290ZXJfX2xpc3QgbGkgeyBmb250LXNpemU6IDEycHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTlweCkgeyAuc19mb290ZXJfX2xpc3QgbGkgeyBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuXG4uc19mb290ZXJfX2xpc3QgbGk6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4uc19mb290ZXJfX2xpc3QtLWNvbnRhY3RzIHsgbWF4LXdpZHRoOiA0MTBweDsgfVxuXG4uc19mb290ZXJfX2xpc3QgYSB7IGNvbG9yOiBpbmhlcml0OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7IC5zX2Zvb3Rlcl9fbGlzdCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc19mb290ZXJfX2xpc3Q6bnRoLWNoaWxkKG4pIHsgbWF4LXdpZHRoOiBpbml0aWFsOyB9XG4gIC5zX2Zvb3Rlcl9fbGlzdDpudGgtY2hpbGQoMSkgeyBtYXgtd2lkdGg6IDMwMHB4OyB9XG4gIC5zX2Zvb3Rlcl9fbGlzdCBsaSB7IG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0ODBweCkgeyAuc19mb290ZXJfX2xpc3Q6bnRoLWNoaWxkKDMpIHsgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNfZm9vdGVyIC56b3JlbGl0X19zZWN0aW9uIHsgd2lkdGg6IGF1dG87IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7IC5zX2Zvb3RlciAuem9yZWxpdF9fc2VjdGlvbiB7IG9yZGVyOiA0OyB9IH1cblxuLmhvbGRlciB7IHBvc2l0aW9uOiBmaXhlZDsgbGVmdDogMCU7IHRvcDogMCU7IHJpZ2h0OiAwJTsgYm90dG9tOiAwJTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgei1pbmRleDogOTk5OyB9XG5cbi5wcmVsb2FkZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAzJTsgaGVpZ2h0OiAwJTsgcGFkZGluZy1ib3R0b206IDMlOyBsZWZ0OiA1MCU7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4ucHJlbG9hZGVyIGRpdiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgb3ZlcmZsb3c6IGhpZGRlbjsgYW5pbWF0aW9uOiBhbmltYXRlUHJlbG9hZGVyIDFzIGluZmluaXRlIGxpbmVhcjsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IH1cblxuLnByZWxvYWRlciBkaXY6YmVmb3JlIHsgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBsZWZ0OiA1MCU7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IGJvcmRlcjogM3B4IHNvbGlkICNGRjE1MUY7IGJvcmRlci1yYWRpdXM6IDUwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ucHJlbG9hZGVyIGRpdjpudGgtY2hpbGQoMikgeyB3aWR0aDogNjAlOyBoZWlnaHQ6IDYwJTsgdG9wOiAyMCU7IGFuaW1hdGlvbjogYW5pbWF0ZVByZWxvYWRlciAwLjVzIGluZmluaXRlIGxpbmVhcjsgfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVQcmVsb2FkZXIgeyAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZVooMGRlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZVooMzYwZGVnKTsgfSB9XG4iLCIvLyBBZGQgeW91ciBzZXR0aW5ncyBoZXJlXG5AaW1wb3J0ICdjb25maWcvdmFycyc7XG5cblxuLmJvZHktb3ZlcmZsb3cge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8vIC5jb2xvci1saW5lXG4vLyAgIG1haW5cbi8vICAgICBwYWRkaW5nLWJvdHRvbTogOTBweFxuLy8gICBmb290ZXJcbi8vICAgICBiYWNrZ3JvdW5kOiAjZmZmXG4vLyAgICAgcGFkZGluZy10b3A6IDMwcHhcbm1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cbmZvb3RlciB7XG4gIHotaW5kZXg6IDM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuc2VjdGlvbi5zX3NlY3Rpb24ge31cblxuXG5cblxuXG5cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyMzBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgQGluY2x1ZGUgcigxMzY1KSB7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICAgIG1heC13aWR0aDogMTAxMHB4OyB9XG4gIEBpbmNsdWRlIHIoMTE5OSkge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgcGFkZGluZzogMCAxNnB4OyB9XG4gIEBpbmNsdWRlIHIoNzY3KSB7XG4gICAgcGFkZGluZzogMCAxOHB4OyB9IH1cblxuXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uLCBhIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG51bCxvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuXG4uZncge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbmxhYmVsLmVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDBweDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAkcmVkO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDEycHg7XG4gIHotaW5kZXg6IDU7IH1cblxuXG4uY3VzdG9tLXNlbGVjdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgei1pbmRleDogNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmN1c3RvbS1zZWxlY3QtdHJpZ2dlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICRkYXJrO1xuICBmb250LXdlaWdodDogNTAwO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAvLyBvcGFjaXR5OiAwLjlcbiAgYm9yZGVyOiAxcHggc29saWQgIzliOWE5YTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogJ0V4byAyJywgc2Fucy1zZXJpZjtcblxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdG9wOiA0OSU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgYm9yZGVyOiBzb2xpZCAkcmVkO1xuICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4yczsgfSB9XG5cbi5jdXN0b20tc2VsZWN0Lm9wZW5lZCAuY3VzdG9tLXNlbGVjdC10cmlnZ2VyOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlWSgwJSk7IH1cblxuXG4uY3VzdG9tLW9wdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1pbi1vdXQ7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gfSAgLy8gYm94LXNoYWRvdzogMCAwIDIwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKVxuLmN1c3RvbS1zZWxlY3Qub3BlbmVkIHtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuLmN1c3RvbS1zZWxlY3Qub3BlbmVkIC5jdXN0b20tb3B0aW9ucyB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4ub3B0aW9uLWhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7IH1cblxuLmN1c3RvbS1vcHRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5YjlhOWE7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMkQyRDJEO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1pbi1vdXQ7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YjlhOWE7IH1cbiAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgJjpob3ZlciwgJi5zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNGMkYyRjI7IH0gfVxuIiwiQG1peGluIHIoJHNjcmVlbikge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuKydweCcpIHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiBiKCRzY3JlZW4pIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC1oZWlnaHQ6ICRzY3JlZW4rJ3B4Jykge1xuICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIGZvbnQtZmFjZSgkZm9udC1mYW1pbHksICRmaWxlLXBhdGgsICR3ZWlnaHQ6IG5vcm1hbCwgJHN0eWxlOiBub3JtYWwsICRhc3NldC1waXBlbGluZTogZmFsc2UgKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuXG4gICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgIHNyYzogZm9udC11cmwoJyN7JGZpbGUtcGF0aH0uZW90Jyk7XG4gICAgICBzcmM6IGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTsgfVxuICAgIEBlbHNlIHtcbiAgICAgIHNyYzogdXJsKCcjeyRmaWxlLXBhdGh9LmVvdCcpO1xuICAgICAgc3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTsgfSB9IH1cbiIsIiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcbiRyZWQ6ICNGRjE1MUY7XG5cbiRob3ZlcjogI2NmMTMxYztcblxuJGRhcms6ICMzNzM3Mzc7XG5cbiRncmF5OiAjODg4Nzg3O1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcnMnO1xuXG5cbi5zaXRlLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdFeG8gMicsIHNhbnMtc2VyaWY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgQGluY2x1ZGUgcigxMzY1KSB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIEBpbmNsdWRlIHIoMTE5OSkge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICBAaW5jbHVkZSByKDYzOSkge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAmLS1ub3JtYWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkcmVkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRob3ZlcjsgfSB9XG4gICYtLXJlZCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIHIoNzY3KSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3ZlcjsgfSB9IH1cblxuXG4iLCIqIHtcbiAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgIGZvbnQtZmFtaWx5OiAnRXhvIDInLCBzYW5zLXNlcmlmOyB9XG5cblxuXG5oMSxoMixoMyxoNCxoNSxoNixwLHNwYW4sbGkge1xuICBjb2xvcjogJGRhcms7IH1cblxuaDEsaDIsaDMsaDQsaDUsaDYge1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBtYXJnaW46IDA7XG4gICBsaW5lLWhlaWdodDogMS4xOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiA3MnB4O1xuICBAaW5jbHVkZSByKDEzNjUpIHtcbiAgICBmb250LXNpemU6IDQ4cHg7IH1cbiAgQGluY2x1ZGUgcigxMTk5KSB7XG4gICAgZm9udC1zaXplOiA0MHB4OyB9XG4gIEBpbmNsdWRlIHIoNjM5KSB7XG4gICAgZm9udC1zaXplOiAzNnB4OyB9XG4gIEBpbmNsdWRlIHIoNDc5KSB7XG4gICAgZm9udC1zaXplOiAzMHB4OyB9IH1cblxuaDIge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIEBpbmNsdWRlIHIoMTM2NSkge1xuICAgIGZvbnQtc2l6ZTogNDBweDsgfVxuICBAaW5jbHVkZSByKDExOTkpIHtcbiAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICBmb250LXNpemU6IDI4cHg7IH1cbiAgQGluY2x1ZGUgcig0NzkpIHtcbiAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgQGluY2x1ZGUgcigxMzY1KSB7XG4gICAgZm9udC1zaXplOiAyNnB4OyB9XG4gIEBpbmNsdWRlIHIoMTE5OSkge1xuICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICBAaW5jbHVkZSByKDQ3OSkge1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBAaW5jbHVkZSByKDEzNjUpIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgQGluY2x1ZGUgcigxMTk5KSB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgQGluY2x1ZGUgcigxMzY1KSB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIEBpbmNsdWRlIHIoNDc5KSB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuaDUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIEBpbmNsdWRlIHIoNDc5KSB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuXG5wLFxuc3BhbixcbmxpIHtcbiAgIG1hcmdpbjogMDtcbiAgIGZvbnQtc2l6ZTogMTRweDtcbiAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICBsaW5lLWhlaWdodDogMS41ZW07XG4gICBAaW5jbHVkZSByKDQ3OSkge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG5cbnNwYW4sXG5hIHtcbiAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5hIHtcbiAgY29sb3I6ICRkYXJrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnR5cG9ncmFwaHkge1xuICBoMyxcbiAgaDQsXG4gIGg1LCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiIsIi5pbnB1dHMge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgd2lkdGg6IDEwMCU7XG4gICBpbnB1dCxcbiAgIHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YjlhOWE7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAxMHB4O1xuICAgICAgbWluLWhlaWdodDogMTBweDtcbiAgICAgIHBhZGRpbmc6IDEzcHggMTRweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICBjb2xvcjogJGRhcms7IH1cbiAgICAgIC8vICY6Zm9jdXNcbiB9ICAgICAgLy8gICAgYm9yZGVyLWNvbG9yOiAkcmVkXG4gICAuaW5wdXQtLWVycm9yIHtcbiAgICAgICAgIGJvcmRlci1jb2xvcjogJHJlZDsgfVxuICAgLmVycm9yIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTE1cHg7IH0gfVxuIiwiLnNfYm94IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAtMTBweDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgJl9fYmxvY2sge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICYtLTEwMCB7XG4gICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgICYtLTUwIHtcbiAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gICAgICAgICAgICAmLS0zMCB7XG4gICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMlOyB9IH0gfVxuXG5cbiIsIi5zX3BvcHVwIHtcbiAgIGRpc3BsYXk6IG5vbmU7XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICB0b3A6IDA7XG4gICBsZWZ0OiAwO1xuICAgcmlnaHQ6IDA7XG4gICBib3R0b206IDA7XG4gICB6LWluZGV4OiA3MDtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNyk7XG4gICBvdmVyZmxvdy15OiBhdXRvO1xuICAgJl9fbGF5ZXIge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAmX19jbG9zZSB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjVweDtcbiAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgQGluY2x1ZGUgcig2MzkpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7IH1cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgIHRvcDogNDAlO1xuICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7IH1cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH0gfVxuICAgJl9fY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogOTk1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAyMHB4IDQ1cHg7XG4gICAgICBtYXJnaW46IDQwcHggMDtcbiAgICAgICYtLXByb2plY3Qge1xuICAgICAgICAgICAgcGFkZGluZzogNDVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDkwcHg7IH0gfVxuICAgJi0tcHJvamVjdCB7XG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgJl9fc2xpZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cblxuICAgICAgJl9faW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogNDUwcHg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9IH1cblxuICAgICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJHJlZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcmVkO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICAgICAgLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgLnNsaWNrLW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6IC00MHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTsgfSB9IH1cblxuXG4uc19wb3B1cF9fdGhhbmtzIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICYtLXdyYXAge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTsgfSB9XG5cbiAgICAgICYtLWJveCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6ICA4NHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiA2cHggNnB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgcigxMzY1KSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAgODVweCAxMDBweDsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICA1NXB4IDcwcHg7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHIoNjM5KSB7XG4gICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogIDMwcHg7IH0gfSB9XG5cblxuIiwiLmFic29sdXRlX2ltZyB7XG4gIG1heC13aWR0aDogODBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgcmlnaHQ6IDMwcHg7XG4gIGJvdHRvbTogMDtcbiAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICBtYXgtd2lkdGg6IDY1cHg7XG4gICAgbWF4LWhlaWdodDogNzBweDsgfVxuICBAaW5jbHVkZSByKDc2Nykge1xuICAgIG1heC13aWR0aDogNTVweDsgfVxuICAmLS1jZW50ZXIge1xuICAgIGxlZnQ6IDY1JTsgfVxuICAmLS1yaWdodCB7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAzMHB4OyB9XG4gICYtLXJpZ2h0MiB7XG4gICAgdG9wOiA4MHB4O1xuICAgIHJpZ2h0OiAyMCU7IH0gfVxuXG4iLCIuc19oZWFkZXIge1xuICBwYWRkaW5nOiAzMHB4IDAgMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1O1xuICBAaW5jbHVkZSByKDEzNjUpIHtcbiAgICBwYWRkaW5nOiAxOXB4IDAgMjNweDsgfVxuICBAaW5jbHVkZSByKDExOTkpIHtcbiAgICBwYWRkaW5nOiAyNHB4IDAgMjNweDsgfVxuICBAaW5jbHVkZSByKDk5OSkge1xuICAgIHBhZGRpbmc6IDE4cHggMCAxOHB4OyB9XG4gIEBpbmNsdWRlIHIoNjM5KSB7XG4gICAgcGFkZGluZzogMThweCAwIDIzcHg7IH1cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHotaW5kZXg6IDE0OyB9IH1cbiAgJl93cmFwIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICZfbG9nbyB7XG4gICAgbWF4LXdpZHRoOiAxNjNweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE1O1xuICAgIEBpbmNsdWRlIHIoMTM2NSkge1xuICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNTBweDsgfVxuICAgIEBpbmNsdWRlIHIoMTE5OSkge1xuICAgICAgbWF4LXdpZHRoOiA5NnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0NXB4OyB9XG4gICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgIG1heC13aWR0aDogMTAzcHg7IH1cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAmX21lbnVfd3JhcCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGxlZnQ6IC0xMDAwMDBweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICYtLW9wZW4ge1xuICAgICAgICBsZWZ0OiAwOyB9IH1cbiAgICB1bCB7XG4gICAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDgzcHg7XG4gICAgICBAaW5jbHVkZSByKDEzNjUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MjhweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0M3B4OyB9XG4gICAgICBAaW5jbHVkZSByKDExOTkpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MTZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDU3cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0NXB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgQGluY2x1ZGUgcig2MzkpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjhweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9IH1cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdFeG8gMicsIHNhbnMtc2VyaWY7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICBAaW5jbHVkZSByKDEzNjUpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgICAgQGluY2x1ZGUgcigxMTk5KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gICAgICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICAgIEBpbmNsdWRlIHIoNjM5KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkcmVkOyB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDAgMTFweDsgfVxuICAgICAgICAgIEBpbmNsdWRlIHIoNjM5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMCA5cHg7IH0gfSB9XG4gICAgICBsaS5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICAgIGNvbG9yOiAkcmVkOyB9IH0gfVxuICAmX3Bob25lcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXgtd2lkdGg6IDEyN3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEzcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgQGluY2x1ZGUgcigxMzY1KSB7XG4gICAgICBtYXgtd2lkdGg6IDExM3B4OyB9XG4gICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyOiBzb2xpZCAkcmVkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ViMWQyNTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LWZhbWlseTogJ0V4byAyJywgc2Fucy1zZXJpZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNjZjEzMWM7IH1cbiAgICAgIEBpbmNsdWRlIHIoMTM2NSkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgIEBpbmNsdWRlIHIoMTE5OSkge1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4OyB9XG4gICAgICBAaW5jbHVkZSByKDQ3OSkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG4gICAgJl9sYW5nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGxlZnQ6IC0xMDAwMDBweDtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGxpbmVhciwgbGVmdCAwcyBsaW5lYXIgMC4yNXM7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcGFkZGluZy1yaWdodDogMTNweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgQGluY2x1ZGUgcigxMTk5KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgICAgIEBpbmNsdWRlIHIoNDc5KSB7XG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9IH0gfVxuICAgICYtLW9wZW4ge1xuICAgICAgLnNfaGVhZGVyX3Bob25lc19sYW5nIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgdG9wOiA2cHg7IH0gfSB9XG4gICZfYnVyZ2VyIHtcbiAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB3aWR0aDogMjZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICZfbGluZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgJi0tb25lIHtcbiAgICAgICAgICB0b3A6IDA7IH1cbiAgICAgICAgJi0tdHdvIHtcbiAgICAgICAgICB0b3A6IDdweDsgfVxuICAgICAgICAmLS10aHJlZSB7XG4gICAgICAgICAgdG9wOiAxNHB4OyB9IH1cbiAgICAgICYtLW9wZW4ge1xuICAgICAgICAuc19oZWFkZXJfYnVyZ2VyX2xpbmUtLW9uZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRvcDogNTAlOyB9XG4gICAgICAgIC5zX2hlYWRlcl9idXJnZXJfbGluZS0tdHdvIHtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgIC5zX2hlYWRlcl9idXJnZXJfbGluZS0tdGhyZWUge1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH0gfSB9IH0gfVxuIiwiLnNfaGVybyB7XG4gICAgd2lkdGg6IDEwMCU7XG5cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDIwNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA3MTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIHIoMTM2NSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCA4NXB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogNDQwcHg7IH1cbiAgICAgICAgQGluY2x1ZGUgcigxMTk5KSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNzVweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAzNXB4OyB9XG4gICAgICAgIEBpbmNsdWRlIHIoNzY1KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIEBpbmNsdWRlIHIoNjM5KSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MjBweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDQ3OSkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzc1cHg7IH0gfVxuXG5cblxuICAgICZfX3NsaWRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cblxuICAgICZfX2ltYWdlLS1iZyB7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9IH1cbiAgICAmX193cmFwIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OyB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIHIoMTM2NSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzY1cHg7IH1cbiAgICAgICAgQGluY2x1ZGUgcigxMjAwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMTBweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDc2Nykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDYzOSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNzBweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDQxOSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjVweDsgfVxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlOyB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDcycHg7XG4gICAgICAgICAgICBAaW5jbHVkZSByKDEzNjUpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHIoMTE5OSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcig2MzkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHIoNDc5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9IH0gfVxuICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDUxMHB4O1xuICAgICAgICBAaW5jbHVkZSByKDEzNjUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM5MHB4OyB9XG4gICAgICAgIEBpbmNsdWRlIHIoMTIwMCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzgwcHg7IH1cbiAgICAgICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMxNXB4OyB9XG4gICAgICAgIEBpbmNsdWRlIHIoNzY3KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICAgIEBpbmNsdWRlIHIoNjM5KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9XG4gICAgICAgIEBpbmNsdWRlIHIoNDE5KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1NXB4OyB9XG5cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHIoMTM2NSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcigxMTk5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICAgICAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcig2MzkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHIoNDE5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA3ZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTsgfSB9XG4gICAgJl9fYnRuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4gICAgJl9fYWJvdXQge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuXG4gICAgJl9fc2xpZGVyIHtcbiAgICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDsgfSB9XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzBCRkJGO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDMEJGQkY7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4yczsgfSB9XG5cblxuICAgICAgICAuc2xpY2stZG90cyAuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcmVkOyB9IH1cblxuXG4gICAgICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICAgICAgICAuc2xpY2stcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTsgfSB9IH1cblxuXG5cblxuXG5cblxuIiwiLnNfaGlzdG9yeSB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDBweDsgfVxuICAgIEBpbmNsdWRlIHIoNzY3KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDBweDsgfVxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwNXB4O1xuICAgICAgICBAaW5jbHVkZSByKDEzNjUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH1cbiAgICAgICAgQGluY2x1ZGUgcigxMTk5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG4gICAgICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICAgIEBpbmNsdWRlIHIoNzY3KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0OTVweDtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMTsgfVxuICAgICAgICBAaW5jbHVkZSByKDYzOSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDVweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDQ3OSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH0gfVxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDE1MHB4IDAgNTVweDtcbiAgICAgICAgQGluY2x1ZGUgcigxMzY1KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA5MHB4IDAgNTBweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgICAgICAgcGFkZGluZzogNTBweCAwcHggMzBweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDc2Nykge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwcHg7IH0gfVxuXG4gICAgJl9fYmcge1xuICAgICAgICBib3R0b206IC0xMDBweDtcbiAgICAgICAgcmlnaHQ6IDE1MHB4OyB9IH1cblxuXG5cblxuIiwiLnNfaW50ZXJlc3Rpbmcge1xuICAgIHBhZGRpbmc6IDc1cHggMCA4NXB4O1xuICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMHB4OyB9XG4gICAgQGluY2x1ZGUgcig3NjcpIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDgwcHg7IH1cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgJl9fYm94IHtcbiAgICAgICAgbWFyZ2luOiAtMjBweDtcbiAgICAgICAgQGluY2x1ZGUgcigxMTk5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIEBpbmNsdWRlIHIoNzY3KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDYzOSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH0gfVxuXG4gICAgJl9fY2FyZHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBAaW5jbHVkZSByKDExOTkpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9IH1cbiAgICAmX19jYXJkIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSByKDExOTkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIEBpbmNsdWRlIHIoNzY3KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogNTVweFxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgQGluY2x1ZGUgcig2MzkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH1cbiAgICAgICAgQGluY2x1ZGUgcig0NzkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuXG4gICAgICAgICYtLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgICAgJi0tdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBtaW4taGVpZ2h0OiAxODVweDtcbiAgICAgICAgQGluY2x1ZGUgcigxMzY1KSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsOyB9XG4gICAgICAgIEBpbmNsdWRlIHIoNzY3KSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvOyB9IH0gfVxuXG4iLCIuc19idWQge1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIEBpbmNsdWRlIHIoMTE5OSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjVweDsgfVxuICAgICAgICBAaW5jbHVkZSByKDk5OSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG5cbiAgICAmX19yb2FkIHtcbiAgICAgICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgICBAaW5jbHVkZSByKDYzOSkge1xuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAxOyB9IH1cblxuICAgICZfX2NhcmRzIHtcbiAgICAgICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG5cbiAgICAmX19jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgcig5OTkpIHtcblxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgQGluY2x1ZGUgcig3NjcpIHtcblxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuICAgICAgICAmLS10aXRsZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkOyB9IH0gfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87IH1cblxuICAgICZfX2JnMSB7XG4gICAgICAgIHJpZ2h0OiAzMCU7XG4gICAgICAgIHRvcDogMDsgfVxuICAgICZfX2JnMiB7XG4gICAgICAgIHJpZ2h0OiAxMCU7XG4gICAgICAgIHRvcDogNTBweDsgfSB9XG5cblxuXG5cbiIsIi5zX2Zvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYzNhM2E7XG4gIHBhZGRpbmc6IDM1cHggMDtcbiAgQGluY2x1ZGUgcigxMTk5KSB7XG4gICAgcGFkZGluZzogMzBweCAwOyB9XG4gIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgcGFkZGluZzogMjBweCAwOyB9XG4gICZfX2NvbnRlbnQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAmX19saXN0IHtcblxuICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBsaSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgQGluY2x1ZGUgcigxMTk5KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgICAgQGluY2x1ZGUgcig5OTkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICYtLWNvbnRhY3RzIHtcbiAgICAgIG1heC13aWR0aDogNDEwcHg7IH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgQGluY2x1ZGUgcig2MzkpIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICY6bnRoLWNoaWxkKG4pIHtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsOyB9XG4gICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgQGluY2x1ZGUgcig0ODApIHtcbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH0gfVxuXG5cbiAgLnpvcmVsaXRfX3NlY3Rpb24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIHIoOTk5KSB7XG4gICAgICBvcmRlcjogNDsgfSB9IH1cbiIsIlxuLmhvbGRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMCU7XG4gIHRvcDogMCU7XG4gIHJpZ2h0OiAwJTtcbiAgYm90dG9tOiAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB6LWluZGV4OiA5OTk7IH1cblxuXG4ucHJlbG9hZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMyU7XG4gIGhlaWdodDogMCU7XG4gIHBhZGRpbmctYm90dG9tOiAzJTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnByZWxvYWRlciBkaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFuaW1hdGlvbjogYW5pbWF0ZVByZWxvYWRlciAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOyB9XG5cbi5wcmVsb2FkZXIgZGl2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBib3JkZXI6IDNweCBzb2xpZCAkcmVkO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLnByZWxvYWRlciBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiA2MCU7XG4gIHRvcDogMjAlO1xuICBhbmltYXRpb246IGFuaW1hdGVQcmVsb2FkZXIgMC41cyBpbmZpbml0ZSBsaW5lYXI7IH1cblxuQGtleWZyYW1lcyBhbmltYXRlUHJlbG9hZGVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZVooMGRlZyk7IH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGVaKDM2MGRlZyk7IH0gfVxuXG4iXX0= */
