@charset "UTF-8";

/*==================================================
  CSS information
 *==================================================
  | Filename    | style.css
  | Author      | COLORS 中山清春
  | Description | 上書き用全スタイルを記述
  |             | jsプラグインやフレームワーク等のCSSはこのファイルより前に読み込んで下さい
  | URL         | https://colors-design.com/
 *==================================================*/
/*――――――――――――――――――――――――――――――――――――――――――――――――――
 | Normalize #ブラウザ間の標準スタイルの差を少なくする
 *――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
 * ========================================================================== */
/* 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS. */
html {
	line-height: 1.15;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
}

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

/* 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
 * ========================================================================== */
/* 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE. */
hr {
	box-sizing: content-box;
	/* 1 */
	height: 0;
	/* 1 */
	overflow: visible;
	/* 2 */
}

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

/* Text-level semantics
 * ========================================================================== */
/* Remove the gray background on active links in IE 10. */
a {
	background-color: transparent;
}

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

/* 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 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
 * ========================================================================== */
/* Remove the border on images inside links in IE 10. */
img {
	border-style: none;
}

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

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

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

/* Correct the inability to style clickable types in iOS and Safari. */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/* 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 {
	box-sizing: border-box;
	/* 1 */
	color: inherit;
	/* 2 */
	display: table;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 3 */
	white-space: normal;
	/* 1 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress {
	vertical-align: baseline;
}

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

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

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

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

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

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

/* Interactive
 * ========================================================================== */
/* Add the correct display in Edge, IE 10+, and Firefox. */
details {
	display: block;
}

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

/* Misc
 * ========================================================================== */
/* Add the correct display in IE 10+. */
template,
[hidden] {
	display: none;
}

/*――――――――――――――――――――――――――――――――――――――――――――――――――
 | Typography #文字関連の基本スタイル
 *――――――――――――――――――――――――――――――――――――――――――――――――――*/
@font-face {
	font-family: "YakuHanJP";
	font-weight: normal;
	font-style: normal;
	src: url("../fonts/YakuHanJPs-Light.woff") format("woff"), url("../fonts/YakuHanJPs-Light.woff2") format("woff2");
	font-display: swap;
}

@font-face {
	font-family: "YakuHanJP";
	font-weight: bold;
	font-style: normal;
	src: url("../fonts/YakuHanJPs-Bold.woff") format("woff"), url("../fonts/YakuHanJPs-Bold.woff2") format("woff2");
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	font-weight: normal;
	font-style: normal;
	src: url("../fonts/NotoSans_Light.otf") format("opentype"), url("../fonts/NotoSans_Light.woff") format("woff"), url("../fonts/NotoSans_Light.woff2") format("woff2");
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-style: normal;
	src: url("../fonts/NotoSans_Bold.otf") format("opentype"), url("../fonts/NotoSans_Bold.woff") format("woff"), url("../fonts/NotoSans_Bold.woff2") format("woff2");
	font-display: swap;
}

/* ======== root & body ======== */
html {
	font-size: 16px;
}

@media print,
screen and (min-width: 768px) {
	html {
		font-size: 16px;
	}
}

@media print,
screen and (min-width: 1024px) {
	html {
		font-size: 16px;
	}
}

@media print,
screen and (min-width: 1440px) {
	html {
		font-size: 16px;
	}
}

body {
	color: #333;
	font-family: "YakuHanJP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: normal;
	font-style: normal;
	line-height: 1.8;
	text-align: justify;
	text-justify: distribute;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-font-kerning: normal;
	font-kerning: normal;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: auto;
	text-rendering: optimizeLegibility;
}

/* ======== headings ======== */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
	font-family: "YakuHanJP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: bold;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

h1,
.h1 {
	font-size: 2.4em;
}

h2,
.h2 {
	font-size: 2.1em;
}

h3,
.h3 {
	font-size: 1.8em;
}

h4,
.h4 {
	font-size: 1.5em;
}

h5,
.h5 {
	font-size: 1.2em;
}

h6,
.h6 {
	font-size: 1em;
}

/* ======== copy ======== */
blockquote cite {
	font-size: 0.66667em;
	font-style: normal;
}

blockquote cite::before {
	content: "（";
}

blockquote cite::after {
	content: "）";
}

pre,
code,
kbd,
samp,
tt,
var {
	font-size: .875em;
	font-family: Consolas, Menlo, Courier, monospace;
}

abbr {
	border-bottom: 1px dashed #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 1.2em;
}

small {
	font-size: 0.83333em;
}

strong,
em,
b,
th {
	font-weight: inherit;
	font-style: inherit;
}

/* 日本語では斜体を使用しないためリセットします */
[lang="ja"] i,
[lang="ja"] cite,
[lang="ja"] em,
[lang="ja"] address,
[lang="ja"] dfn {
	font-style: normal;
}

/*――――――――――――――――――――――――――――――――――――――――――――――――――
 | Elements #各要素の基本スタイル
 *――――――――――――――――――――――――――――――――――――――――――――――――――*/
/* --------------------------------------------------
  elements reset
  ------------------------------------------------ */
/* `width`と`height`に`margin`と`border`を含めます */
html {
	box-sizing: border-box;
	height: 100%;
}

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

/* selection color */
::selection {
	background-color: #98c3f2;
}

body {
	background-color: #fff;
	padding-top: 60px;
}

/* マージンをリセットします */
figure {
	margin: 0;
}

/* デフォルトのスタイルをリセットします */
fieldset {
	min-width: auto;
	margin: 0;
	padding: 0;
	border: 0;
}

/* normalize.cssのスタイルをリセットして、divのように扱います */
legend {
	display: block;
}

/* ブロック要素の上下のマージンをリセットします */
header,
nav,
main,
aside,
footer,
article,
section,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
blockquote,
p,
address,
hr,
table,
pre {
	margin-top: 0;
	margin-bottom: 0;
}

/* aタグ設定 */
a {
	transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

a:link {
	color: #999;
	text-decoration: underline;
}

a:visited {
	color: gray;
}

html:not([data-whatinput="touch"]) a:hover,
a:active {
	color: #cccccc;
	outline: 0;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

a:focus {
	outline: thin;
	outline-style: dotted;
	text-decoration: underline;
}

a.db {
	width: 100%;
	height: 100%;
}

ul,
ol {
	padding-left: 1.2em;
}

ul {
	list-style: circle;
}

ul ul {
	list-style-type: disc;
}

ol {
	list-style: decimal;
}

ol ol {
	list-style: lower-roman;
}

li {
	line-height: 1.4;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1em 1em;
}

table {
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	line-height: 1.5;
}

table th,
table td {
	vertical-align: top;
	padding: 0.5em;
	text-align: left;
	border: 1px solid #CCC;
}

table th {
	background-color: #eee;
}

/* フルードイメージにします */
img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}

/* IEのimgとobject要素でもSVGをフルードイメージにします */
/* See: https://hail2u.net/blog/webdesign/max-width-and-svg-on-ie11-and-below.html */
[src$=".svg"],
[data$=".svg"] {
	width: 100%;
}

/* キーボードでアクセスできない要素のフォーカス表示を消します */
/* Credit: https://github.com/suitcss/base */
[tabindex="-1"]:focus {
	outline: none !important;
}

/* IE10以降の`input[type="text"]`で入力内容の消去機能を非表示にします */
[type="text"]::-ms-clear {
	visibility: hidden;
}

/* IE10以降の`input[type="password"]`でマスクの一時的解除機能を非表示にします */
[type="password"]::-ms-reveal {
	visibility: hidden;
}

/* IEとEdgeはスピンボタンに未対応のため、ChromeとFireFoxで非表示にします */
[type="number"]::-webkit-outer-spin-button,
[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	appearance: none;
}

/* フォーカスインジゲータはキーボード操作のときにだけ表示します */
[data-whatinput="mouse"] *:focus,
[data-whatinput="touch"] *:focus {
	outline: none;
}

/*――――――――――――――――――――――――――――――――――――――――――――――――――
 | Common  #サイト共通スタイル
 *――――――――――――――――――――――――――――――――――――――――――――――――――
  [TOC]
  | .g- (Global)...サイト共通のModule
  | .l- (Layout)...コンテンツ内の余白やレイアウト専用のModule
  | .site- (Site)...サイト全体で変更されることのないModule
  | 接頭辞のないものは基本的な汎用クラスです
  ――――――――――――――――――――――――――――――――――――――――――――――――――*/
/** Basic Utility Classes **/
/* ======== Text ======== */
/* サンセリフ体（ゴシック体）にする */
.sans {
	font-family: "YakuHanJP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

/* セリフ体（明朝体)にする */
.serif {
	font-family: "Hiragino Mincho ProN", "HG明朝E", serif;
}

/* 見出し用書体（太字）にする */
.bold {
	font-weight: bold;
}

/* 本文用書体にする */
.normal {
	font-weight: normal;
}

/* 本文と同じ状態のテキストにする */
.font-body {
	font-size: inherit;
	font-family: "YakuHanJP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: normal;
	font-style: normal;
}

/* text-decoration: none */
.td-n {
	text-decoration: none;
}

/* 下線を引く */
.td-u {
	text-decoration: underline;
}

/* 文章を左寄せ */
.ta-l {
	text-align: left;
}

/* 文章を中央寄せ */
.ta-c {
	text-align: center;
}

/* 文章を右寄せ */
.ta-r {
	text-align: right;
}

/* 文章を均等配置 */
.ta-j {
	text-align: justify;
}

/* list-style-type: none */
.lst-n {
	list-style-type: none;
	padding-left: 0;
}

/* ブロックの幅に収まらないテキストの行末に3点リーダ（…）を出す（1行のみ対応） */
.txt-ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* キーボード操作やスクリーンリーダーへの読み上げに対応し、要素自体は非表示にする */
.sr-only {
	position: absolute;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

/* ======== Block Layout ======== */
/* display系 */
/* 要素をインラインにする */
.il {
	display: inline;
}

/* 要素をインラインブロックにする */
.ib {
	display: inline-block;
}

/* 要素をブロックにする */
.db {
	display: block;
}

/* 直下の子要素を水平軸の真ん中配置にする */
.hc {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

/* 直下の子要素を垂直軸の真ん中配置にする */
.vc {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

/* 直下の子要素を水平垂直軸の真ん中配置にする */
.vhc {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

/* ======== Image, Figure ======== */
/* 画像をobject-fit:coverにする */
.object-fit-cover {
	width: 100%;
	max-width: none;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 50%;
	object-position: 50% 50%;
}

/* float系 */
/* 要素にfloat:left */
.fl {
	float: left;
}

/* 要素にfloat:right */
.fr {
	float: right;
}

/* 要素にclear:both */
.cb {
	clear: both;
}

/* clearfix */
.cf::after {
	content: "";
	display: block;
	clear: both;
}

/* position系 */
/* 要素を相対配置 */
.posr {
	position: relative;
}

/* 要素を絶対配置 */
.posa {
	position: absolute;
}

/* 要素を標準配置に戻す */
.poss {
	position: static;
}

/** Element Default Style **/
/* == block == */
.basic-block {
	width: 100%;
	padding-left: 2em;
	padding-right: 2em;
	max-width: 26em;
	margin-left: auto;
	margin-right: auto;
}

@media print,
screen and (min-width: 768px) {
	.basic-block {
		padding-left: 0;
		padding-right: 0;
	}
}

/* ボタンのデフォルトスタイルです。横幅は280pxまでに制限されます。
  ---pug example---
  .l-Wrapper
    a.g-Button(href="#") aタグボタン
    a.g-Button.g-Button-disabled(href="#" tabindex="-1") aタグボタン
    button.g-Button#foo(type="button") buttonタグボタン
    button.g-Button(disabled type="button") buttonタグボタン
    input.g-Button(type="button" value="inputボタン")
    input.g-Button(type="button" value="inputボタン" disabled)
  -----------------

  `.g-Button-full`を追加すると横幅100%になります。
  ---pug example---
  .l-Wrapper
    a.g-Button(href="#") デフォルト
    a.g-Button.g-Button-full(href="#") 横幅100%
  -----------------

  `.g-Button-auto`を追加すると横幅はなりゆきになります。
  ---pug example---
  .l-Wrapper
    a.g-Button(href="#") デフォルト
    a.g-Button.g-Button-auto(href="#") 横幅なりゆき
  -----------------

  `.g-Button_More`を追加すると矢印が付きます。
  ---pug example---
  .l-Wrapper
    a.g-Button(href="#") デフォルト
    a.g-Button(href="#")
      svg.g-Button_More(role="img")
        use(xlink:href="/assets/svg/sprite.svg#right-arrow1")
      | 矢印付きボタン
  ----------------- */
.g-Button {
	display: inline-block;
	position: relative;
	width: 100%;
	max-width: 19.25rem;
	margin: 0;
	padding: 0.75rem 1rem;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	border: none;
	border-radius: 0.3125rem;
	background: transparent;
	color: inherit;
	cursor: pointer;
	transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
	transition-duration: 0.3s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.g-Button[type="button"],
.g-Button[type="reset"],
.g-Button[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

[data-whatinput="keyboard"] .g-Button:focus {
	outline-width: 0;
	box-shadow: 0 0 6px #3E8FE6;
}

[data-whatinput="mouse"] .g-Button:focus,
[data-whatinput="touch"] .g-Button:focus {
	outline-width: 0;
	box-shadow: none;
}

.g-Button:disabled,
.g-Button-disabled,
.g-Button:disabled:hover,
.g-Button-disabled:hover {
	border-color: #ddd !important;
	background-color: #ddd !important;
	opacity: 0.5 !important;
	cursor: not-allowed !important;
}

.g-Button-disabled {
	pointer-events: none;
}

html:not([data-whatinput="touch"]) .g-Button:disabled:hover,
html:not([data-whatinput="touch"]) .g-Button-disabled:hover {
	color: #fff;
}

.g-Button-full {
	width: 100%;
	max-width: none;
}

.g-Button-auto {
	width: auto;
}

.g-Button_More {
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	top: 0;
	right: 0.75rem;
	bottom: 0;
	width: .5em;
	height: .5em;
	margin: auto;
	font-size: 1.3em;
	fill: currentColor;
}

@-webkit-keyframes loading {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		display: block;
		visibility: visible;
		z-index: 10000;
	}

	100% {
		-webkit-transform: translate3d(-100vw, 0, 0);
		transform: translate3d(-100vw, 0, 0);
		display: none;
		visibility: hidden;
		z-index: -1;
	}
}

@keyframes loading {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		display: block;
		visibility: visible;
		z-index: 10000;
	}

	100% {
		-webkit-transform: translate3d(-100vw, 0, 0);
		transform: translate3d(-100vw, 0, 0);
		display: none;
		visibility: hidden;
		z-index: -1;
	}
}

#loader {
	width: 100%;
	height: 100%;
	background: #3E8FE6;
	position: fixed;
	top: 0;
	left: 0;
	-webkit-animation: loading 0.8s 1.5s cubic-bezier(0.895, 0.03, 0.685, 0.22) both;
	animation: loading 0.8s 1.5s cubic-bezier(0.895, 0.03, 0.685, 0.22) both;
}

#loader .loader-logo {
	width: 12.5rem;
}

#loader .spinner {
	margin: 50px auto;
	width: 50px;
	height: 40px;
	text-align: center;
	font-size: 10px;
}

#loader .spinner>div {
	background-color: #FFF;
	height: 100%;
	width: 6px;
	display: inline-block;
	-webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
	animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

#loader .spinner .rect2 {
	-webkit-animation-delay: -1.1s;
	animation-delay: -1.1s;
}

#loader .spinner .rect3 {
	-webkit-animation-delay: -1.0s;
	animation-delay: -1.0s;
}

#loader .spinner .rect4 {
	-webkit-animation-delay: -0.9s;
	animation-delay: -0.9s;
}

#loader .spinner .rect5 {
	-webkit-animation-delay: -0.8s;
	animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {

	0%,
	40%,
	100% {
		-webkit-transform: scaleY(0.4);
		transform: scaleY(0.4);
	}

	20% {
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
	}
}

@keyframes sk-stretchdelay {

	0%,
	40%,
	100% {
		-webkit-transform: scaleY(0.4);
		transform: scaleY(0.4);
	}

	20% {
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
	}
}

img[data-src] {
	background: #E5E5E5 url("../img/site/oval.svg") no-repeat center/38px 38px;
}

img[data-loaded="true"] {
	background: none !important;
}

.lozad {
	opacity: 0;
	-webkit-transform: translateY(1.875rem);
	-ms-transform: translateY(1.875rem);
	transform: translateY(1.875rem);
}

.lozad.loaded {
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	transition: all 1s 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body.home #home-intro .layout-box.loaded {
	transition-delay: 2s;
}

/* == color == */
/*
  ## COLOR NAME LIST ##
   * CC:CorporateColor
   * CGR:CorporateGray
   * wh:white=#FFF
   * bk:black=#000
  */
/* class for text-color. `cl`=color */
.cl-CC {
	color: #3E8FE6 !important;
}

.cl-default {
	color: #333 !important;
}

.cl-important {
	color: #E60012 !important;
}

.cl-wh {
	color: #FFF !important;
}

.cl-B50 {
	color: #808080 !important;
}

.cl-bk {
	color: #000 !important;
}

/* class for background-color. `bg`=background */
.bg-CC {
	background-color: #3E8FE6;
}

.bg-CC10 {
	background-color: #ECF4FC;
}

.bg-wh {
	background-color: #FFF;
}

.bg-B30 {
	background-color: #B2B2B2;
}

.bg-B70 {
	background-color: #4C4C4C;
}

/* == figure == */
/* SVGスプライトのアイコンのデフォルトスタイル */
svg.icon {
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	fill: currentColor;
}

/* Google Mapsをレスポンシブ対応させます
   デフォルトで16:9で表示されます
  ---pug example---
  .g-Map.
    <iframe src="https://xxxxx" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
  p.g-Map_Text マップにキャプション（短い説明文）をつけます
  */
.g-Map {
	display: block;
	position: relative;
	overflow: hidden;
	height: 0;
	padding-bottom: 56.25%;
}

.g-Map>*,
.g-Map iframe,
.g-Map embed,
.g-Map object,
.g-Map video {
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
}

.g-Map_Text {
	display: block;
	margin-top: 0.375rem;
	font-size: 0.83333em;
	line-height: 1.4;
}

/* == form == */
/* == layout == */
/* == CSS column-count : gapは状況に合わせて指定 == */
/* テキストcolumn */
.t-2colmuns {
	-webkit-column-count: 2;
	column-count: 2;
	-webkit-column-gap: 1.6em;
	column-gap: 1.6em;
	-webkit-column-fill: balance;
	column-fill: balance;
}

@media print,
screen and (min-width: 768px) {
	.t-2colmuns-md {
		-webkit-column-count: 2;
		column-count: 2;
		-webkit-column-gap: 1.6em;
		column-gap: 1.6em;
		-webkit-column-fill: balance;
		column-fill: balance;
	}
}

@media print,
screen and (min-width: 1024px) {
	.t-2colmuns-lg {
		-webkit-column-count: 2;
		column-count: 2;
		-webkit-column-gap: 1.6em;
		column-gap: 1.6em;
		-webkit-column-fill: balance;
		column-fill: balance;
	}
}

@media print,
screen and (min-width: 768px) {
	.t-3colmuns-md {
		-webkit-column-count: 3;
		column-count: 3;
		-webkit-column-gap: 1.6em;
		column-gap: 1.6em;
		-webkit-column-fill: balance;
		column-fill: balance;
	}
}

@media print,
screen and (min-width: 1024px) {
	.t-3colmuns-lg {
		-webkit-column-count: 3;
		column-count: 3;
		-webkit-column-gap: 1.6em;
		column-gap: 1.6em;
		-webkit-column-fill: balance;
		column-fill: balance;
	}
}

/* == CSS Grid : grid-template-rows,gapは状況に合わせて指定 == */
/* 2columns */
.l-2columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

/* 3columns */
.l-3columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

/* 4columns */
.l-4columns {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

/* display: gridにする */
.l-grid {
	display: grid;
}

/* 自動横並び（縦軸は真ん中揃え） */
.l-gd-auto-horizontal {
	align-self: stretch;
	display: grid;
	grid-template-rows: auto;
	grid-auto-flow: column;
	grid-auto-columns: -webkit-max-content;
	grid-auto-columns: max-content;
}

/* 自動縦並び（横軸は真ん中揃え） */
.l-gd-auto-vertical {
	align-self: stretch;
	-webkit-justify-content: start;
	-ms-flex-pack: start;
	justify-content: start;
	display: grid;
	grid-template-rows: auto;
	grid-auto-flow: row;
	grid-auto-columns: -webkit-max-content;
	grid-auto-columns: max-content;
}

/** responsive grid **/
.l-gd-res {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16em, 1fr));
	align-self: stretch;
}

/* == text == */
/* `<br>`タグに指定をして、改行をブレイクポイントごとにコントロールします
  ---pug example---
  p.g-Text 常に改行
    br
    | されます
  p.g-Text ブレイクポイント（`md`）以降に改行
    br.g-BrShowMd
    | されます。
  p.g-Text ブレイクポイント（`md`）以降は改行
    br.g-HideMd
    | されません。 */
.g-BrShowSm {
	display: none;
}

@media print,
screen and (min-width: 480px) {
	.g-BrShowSm {
		display: inline;
	}
}

.g-BrShowMd {
	display: none;
}

@media print,
screen and (min-width: 768px) {
	.g-BrShowMd {
		display: inline;
	}
}

.g-BrShowLg {
	display: none;
}

@media print,
screen and (min-width: 1024px) {
	.g-BrShowLg {
		display: inline;
	}
}

.g-BrShowXl {
	display: none;
}

@media print,
screen and (min-width: 1440px) {
	.g-BrShowXl {
		display: inline;
	}
}

.g-BrHideSm {
	display: inline;
}

@media print,
screen and (min-width: 480px) {
	.g-BrHideSm {
		display: none;
	}
}

.g-BrHideMd {
	display: inline;
}

@media print,
screen and (min-width: 768px) {
	.g-BrHideMd {
		display: none;
	}
}

.g-BrHideLg {
	display: inline;
}

@media print,
screen and (min-width: 1024px) {
	.g-BrHideLg {
		display: none;
	}
}

.g-BrHideXl {
	display: inline;
}

@media print,
screen and (min-width: 1440px) {
	.g-BrHideXl {
		display: none;
	}
}

/* `<h2>`で使用する見出しです */
.g-Heading2 {
	font-size: 2.1em;
	margin: 0 0 1.5625rem;
}

.g-Heading2+* {
	margin-top: 0;
}

/* 基本のテキストスタイルです */
.g-Text {
	line-height: 1.8;
	margin: 0 0 0.625em;
}

/* `<em>`で使われるようなスタイルです */
.g-TextEmphasis {
	font-weight: bold;
}

/* リード文（コンテンツの冒頭に登場するコンテンツを簡潔に表した文章）のスタイルです
  他の文章と区別するためだけに利用し、
  `<strong>`の重要性や深刻性、
  `<em>`の強調（アクセント）、
  `<h2>`のような見出し
  としての意味はありません */
.g-Lead {
	margin: 0 0 1em;
	font-size: 1.2em;
	font-weight: bold;
}

.g-Lead+* {
	margin-top: 0;
}

/* 登録商標（アールマーク）や著作権（マルシーマーク）、注釈リンク（※1）などに使う上付き文字です */
.g-Sup {
	vertical-align: super;
	position: static;
	font-size: 0.83333em;
}

/** Primary Element Style **/
/* == site-header == */
/* site-Header */
#site-Header {
	width: 100%;
	height: 60px;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	background-color: #FFF;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
	transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

@media print,
screen and (min-width: 1024px) {
	#site-Header {
		height: 70px;
	}
}

.drawer-opened #site-Header {
	left: -240px;
	transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

#site-Header_LogoArea {
	line-height: 1;
	width: 14.6875rem;
	height: 1.75rem;
	margin-top: 1.0625rem;
	margin-left: 0.6875rem;
	position: absolute;
	left: 0;
	top: 0;
}

@media print,
screen and (min-width: 1024px) {
	#site-Header_LogoArea {
		width: 293px;
		height: 35px;
	}
}

#site-Header_Logo img {
	vertical-align: top;
}

/* == drawer-nav == */
/* drawer-nav */
#site-Header_Nav {
	position: absolute;
	top: 0;
	right: 0;
}

#site-Header_Nav-btn {
	background: #3E8FE6;
	width: 60px;
	height: 60px;
	padding: 1.125rem 0.9375rem 0.75rem;
	position: absolute;
	right: 0;
	top: 0;
	cursor: pointer;
	z-index: 100;
	border: none;
}

@media print,
screen and (min-width: 1024px) {
	#site-Header_Nav-btn {
		display: none;
	}
}

#site-Header_Nav-btn .icon-bar {
	display: block;
	background: #FFF;
	height: 0.125rem;
	border-radius: 0.0625rem;
	margin-bottom: 0.375rem;
	transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.drawer-opened .icon-bar {
	transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.drawer-opened .icon-bar:nth-child(2) {
	-webkit-transform: translate(0, 8px) rotate(45deg);
	-ms-transform: translate(0, 8px) rotate(45deg);
	transform: translate(0, 8px) rotate(45deg);
}

.drawer-opened .icon-bar:nth-child(3) {
	-webkit-transform: translate(-20px, 0);
	-ms-transform: translate(-20px, 0);
	transform: translate(-20px, 0);
	opacity: 0;
}

.drawer-opened .icon-bar:nth-child(4) {
	-webkit-transform: translate(0, -8px) rotate(-45deg);
	-ms-transform: translate(0, -8px) rotate(-45deg);
	transform: translate(0, -8px) rotate(-45deg);
}

#drawer-nav {
	background-color: #FFF;
	height: 100vh;
	position: absolute;
	top: 0;
}

@media print,
screen and (min-width: 1024px) {
	#drawer-nav {
		right: 0;
		height: 100%;
	}
}

.drawer-opened #drawer-nav {
	box-shadow: -1px 0 3px rgba(0, 0, 0, 0.3);
}

#site-Header_NavTitle {
	font-size: 0.83333em;
	padding: 2em;
	border-bottom: 1px solid #B2B2B2;
	text-align: center;
}

#site-Header_NavTitle a {
	color: #333;
	text-decoration: none;
}

#site-Header_NavTitle a img {
	margin-top: 1.3em;
}

@media print,
screen and (min-width: 1024px) {
	#site-Header_NavTitle {
		display: none;
	}
}

@media print,
screen and (min-width: 1024px) {
	#drawer-nav .table-of-contents {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}
}

.site-Header_NavItem {
	border-bottom: 1px solid #B2B2B2;
}

@media print,
screen and (min-width: 1024px) {
	.site-Header_NavItem {
		border-bottom: none;
	}

	.site-Header_NavItem:last-of-type {
		background-color: #3E8FE6;
		transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	}

	html:not([data-whatinput="touch"]) .site-Header_NavItem:last-of-type:hover {
		background-color: #dcebfa;
		transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	}

	.site-Header_NavItem:last-of-type .site-Header_NavLink {
		color: #FFF;
	}

	html:not([data-whatinput="touch"]) .site-Header_NavItem:last-of-type .site-Header_NavLink:hover {
		color: #3E8FE6;
	}
}

.site-Header_NavLink {
	font-size: 1.125rem;
	width: 240px;
	padding: 1em;
}

@media print,
screen and (min-width: 1024px) {
	.site-Header_NavLink {
		width: auto;
		height: 70px;
		position: relative;
	}

	.site-Header_NavLink::after {
		content: '';
		display: block;
		background-color: #3E8FE6;
		width: 0;
		height: 5px;
		position: absolute;
		left: 0;
		bottom: 0;
		transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	}
}

.site-Header_NavLink,
.site-Header_NavLink:link,
.site-Header_NavLink:visited,
html:not([data-whatinput="touch"]) .site-Header_NavLink:hover,
.site-Header_NavLink:active,
.site-Header_NavLink:focus {
	color: #3E8FE6;
	text-decoration: none;
}

html:not([data-whatinput="touch"]) .site-Header_NavLink:hover {
	background-color: #dcebfa;
}

html:not([data-whatinput="touch"]) .site-Header_NavLink:hover::after {
	width: 100%;
	transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.site-Header_NavLink span {
	display: inline-block;
	line-height: 1.4;
	text-indent: .1em;
	letter-spacing: .1em;
	font-weight: bold;
}

.site-Header_NavLink span small {
	font-size: 67%;
	font-weight: normal;
	white-space: nowrap;
}

/* == site-footer == */
/* site-Footer */
#site-Footer {
	background: #333;
	overflow: hidden;
}

#btn-PageTop a {
	background-color: #4C4C4C;
	text-align: center;
	padding: 0.4375rem 0;
	font-size: 0.75rem;
	color: #FFF;
	font-weight: bold;
	text-decoration: none;
}

html:not([data-whatinput="touch"]) #btn-PageTop a:hover {
	color: #FFF;
	background-color: #3E8FE6;
}

#btn-PageTop a::after {
	content: 'PAGE\00A0TOP';
	display: block;
	margin-top: -.5em;
}

#btn-PageTop .icon {
	width: 1rem;
	height: 1rem;
}

#site-Footer_InformationArea {
	width: 340px;
	height: 163px;
	padding: 0;
}

@media print,
screen and (min-width: 768px) {
	#site-Footer_InformationArea {
		max-width: none;
		width: 450px;
	}
}

#site-Footer_Information {
	font-size: 0.875rem;
	left: 0;
	top: 15px;
}

@media print,
screen and (min-width: 768px) {
	#site-Footer_Information {
		font-size: 0.9375rem;
	}
}

#site-Footer_Logo {
	width: 15.875rem;
	margin-bottom: 1em;
}

@media print,
screen and (min-width: 768px) {
	#site-Footer_Logo {
		width: 292px;
		margin-left: -5px;
	}
}

#site-Footer_Dog {
	top: 15px;
	right: 0;
	width: 75px;
	height: 140px;
}

#site-Footer_Dog .dog {
	width: 75px;
	height: auto;
}

#site-Footer_Dog .insta {
	width: 32px;
	height: 32px;
	right: 0;
	bottom: 30px;
}

#site-Footer_Dog .caption {
	font-size: 0.75rem;
	font-weight: bold;
	bottom: 5px;
}

@media print,
screen and (min-width: 768px) {
	#site-Footer_Dog {
		width: 146px;
		height: 154px;
		top: 7px;
	}

	#site-Footer_Dog .dog {
		width: 86px;
	}

	#site-Footer_Dog .insta {
		width: 44px;
		height: 44px;
		right: 13px;
		bottom: 33px;
	}

	#site-Footer_Dog .caption {
		font-size: 1rem;
		bottom: 0;
		right: 0;
	}
}

#site-Footer_CopryrightArea {
	padding: 0.375rem 0;
	background-color: #191919;
	color: #B2B2B2;
	text-align: center;
	font-size: 0.8125rem;
}

#site-Footer_Copryright {
	line-height: 1;
	letter-spacing: .05em;
	vertical-align: .2em;
}

/*――――――――――――――――――――――――――――――――――――――――――――――――――
 | Pages  #各ページ個別スタイル
 *――――――――――――――――――――――――――――――――――――――――――――――――――
  [TOC]
  | #home- (HomePage)...ホームページ（サイトトップページ）
  ――――――――――――――――――――――――――――――――――――――――――――――――――*/
/* --------------------------------------------------
  start HOME page
  --------------------------------------------------*/
/** Namespaces (sections) **/
/* #home-intro */
#home-intro {
	background: url("../img/pages/home/bg-intro-01.jpg") no-repeat center bottom/cover;
	height: calc(100vh - 60px);
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.home-intro-box {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.home-intro-box img {
	margin-top: .5rem;
}

.home-intro__leading {
	font-weight: bold;
	text-align: center;
	margin-bottom: .2em;
	color: #3E8FE6;
	line-height: 1.6;
}

@media (min-width: 768px) {
	.home-intro__inner {
		display: flex;
	}

	.home-intro-box {
		flex-direction: column-reverse;
	}

	.home-intro-box img {
		margin-top: 0;
		margin-bottom: .8rem;
	}

	.home-intro__leading {
		font-size: 1.875rem;
	}
}

@media print,
screen and (min-width: 768px) {
	#home-intro {
		background-color: transparent;
		background-image: url("../img/pages/home/bg-intro-01-md.jpg");
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: cover;
		-webkit-justify-content: flex-end;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}
}

@media print and (-webkit-min-device-pixel-ratio: 2),
screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
print and (min-resolution: 192dpi),
screen and (min-width: 768px) and (min-resolution: 192dpi) {
	#home-intro {
		background-image: url("../img/pages/home/bg-intro-01-md@2x.jpg");
	}
}

#home-intro .layout-box {
	background-color: rgba(255, 255, 255, 0.9);
	padding: 1em 1.5em;
}

#home-intro .layout-box h2 {
	font-size: 2.625rem;
}

#home-intro .layout-box h3 {
	font-size: 1rem;
	letter-spacing: .07em;
}

#home-intro .layout-box h3::before {
	content: '';
	background-color: #3E8FE6;
	display: block;
	width: 5rem;
	height: 0.375rem;
	margin: 1em 0;
}

@media print,
screen and (min-width: 768px) {
	#home-intro .layout-box {
		padding: 1.5em;
		padding-right: 3em;
	}

	#home-intro .layout-box h2 {
		font-size: 3.875rem;
		margin-right: .5em;
	}

	#home-intro .layout-box h3 {
		font-size: 1.25rem;
		margin-bottom: .3em;
	}
}

/* #home-spirit */
#home-spirit {
	padding-bottom: 57.33333vw;
}

#home-spirit[data-loaded="true"] {
	background: url("../img/pages/home/bg-spirit-01.jpg") no-repeat center bottom/100vw;
}

@media print,
screen and (min-width: 768px) {
	#home-spirit[data-loaded="true"] {
		background-color: transparent;
		background-image: url("../img/pages/home/bg-spirit-01-md.jpg");
		background-repeat: no-repeat;
		background-position: right bottom;
		background-size: 85% auto;
	}
}

@media print and (-webkit-min-device-pixel-ratio: 2),
screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
print and (min-resolution: 192dpi),
screen and (min-width: 768px) and (min-resolution: 192dpi) {
	#home-spirit[data-loaded="true"] {
		background-image: url("../img/pages/home/bg-spirit-01-md@2x.jpg");
	}
}

#home-spirit>.basic-block {
	padding: 0;
	max-width: 990px;
}

#home-spirit>.basic-block>.basic-block {
	padding-top: 1.9em;
	padding-bottom: 1.9em;
}

#home-spirit>.basic-block>.basic-block h2 {
	font-size: 0.875rem;
	padding-bottom: .6em;
	margin-bottom: 1.4em;
	border-bottom: 1px solid #3E8FE6;
}

#home-spirit>.basic-block>.basic-block h3 {
	font-size: 1.3125rem;
	line-height: 1.3;
	margin-bottom: .8em;
}

@media print,
screen and (min-width: 768px) {
	#home-spirit>.basic-block>.basic-block h3 {
		font-size: 1.5rem;
	}
}

#home-spirit>.basic-block>.basic-block p {
	letter-spacing: -.01em;
}

@media print,
screen and (min-width: 768px) {
	#home-spirit {
		background-color: transparent;
		background-image: url("../img/pages/home/bg-spirit-01-md.jpg");
		background-repeat: no-repeat;
		background-position: right bottom;
		background-size: 85% auto;
		padding-bottom: 160px;
		margin-bottom: 50px;
	}
}

@media print and (-webkit-min-device-pixel-ratio: 2),
screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
print and (min-resolution: 192dpi),
screen and (min-width: 768px) and (min-resolution: 192dpi) {
	#home-spirit {
		background-image: url("../img/pages/home/bg-spirit-01-md@2x.jpg");
	}
}

@media print,
screen and (min-width: 768px) {
	#home-spirit>.basic-block>.basic-block {
		max-width: 31em;
		padding: 1.5em;
		margin-left: 0;
	}
}

@media print,
screen and (min-width: 1024px) {
	#home-spirit {
		max-width: 1280px;
		background-size: 970px;
		background-position: 310px bottom;
		padding-bottom: 288px;
		margin-left: auto;
		margin-right: auto;
	}

	#home-spirit>.basic-block>.basic-block {
		padding-left: 0;
		margin-top: 20px;
		margin-left: 0;
	}
}

/* #home-service */
#home-service {
	padding: 1em 0 2em;
}

#home-service h2 {
	font-size: 2rem;
	letter-spacing: .1em;
	padding-left: 1em;
	margin-bottom: .5em;
}

@media print,
screen and (min-width: 1024px) {
	#home-service h2 {
		padding-left: 0;
		width: 990px;
		margin-left: auto;
		margin-right: auto;
	}
}

#home-service h2 small {
	font-size: 1rem;
}

#home-service h2 small::before {
	content: '';
	background-color: #3E8FE6;
	display: inline-block;
	vertical-align: 3px;
	width: 4.5rem;
	height: 0.375rem;
	margin-right: .5em;
}

#home-service h2 b:first-letter {
	color: #8BBCF0;
}

#home-service .service-list {
	padding-left: 2em;
	padding-right: 2em;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media print,
screen and (min-width: 1024px) {
	#home-service .service-list {
		width: 990px;
		padding: 0;
		margin-left: auto;
		margin-right: auto;
	}
}

#home-service .service-list li {
	-webkit-align-self: stretch;
	-ms-flex-item-align: stretch;
	align-self: stretch;
	line-height: 1.8;
	box-shadow: 0 5px 4px rgba(54, 127, 193, 0.4);
	margin-bottom: 2em;
}

@media print,
screen and (min-width: 768px) {
	#home-service .service-list li {
		width: 49%;
	}
}

@media print,
screen and (min-width: 1024px) {
	#home-service .service-list li {
		width: 320px;
	}
}

#home-service .service-list li h3 {
	font-size: 1.375rem;
	padding: .4em;
}

#home-service .service-list li .basic-block {
	padding: 1.6875em;
}

#home-service .service-list li .basic-block figure {
	margin-bottom: 1em;
	overflow: hidden;
}

#home-service .service-list li .basic-block figure img {
	max-width: none;
	width: 100%;
	height: auto;
}

#home-service .service-list li .basic-block h4 {
	font-size: 1.125rem;
	line-height: 1.4;
	margin-bottom: .5em;
}

/* #home-company */
#home-company {
	padding: 1em 0 0;
}

@media print,
screen and (min-width: 1024px) {
	#home-company {
		position: relative;
		width: 990px;
		margin-top: 3em;
		margin-left: auto;
		margin-right: auto;
	}
}

#home-company .basic-block {
	padding-bottom: 1.5em;
}

@media print,
screen and (min-width: 1024px) {
	#home-company .basic-block {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
		max-width: 28em;
		padding-right: 2em;
	}
}

#home-company .basic-block h2 {
	font-size: 2rem;
	letter-spacing: .1em;
	margin-bottom: .7em;
}

#home-company .basic-block h2 small {
	font-size: 1rem;
}

#home-company .basic-block h2 small::before {
	content: '';
	background-color: #3E8FE6;
	display: inline-block;
	vertical-align: 3px;
	width: 4.5rem;
	height: 0.375rem;
	margin-right: .5em;
}

#home-company .basic-block h2 b:first-letter {
	color: #8BBCF0;
}

#home-company .basic-block h3 {
	font-size: 1.3125rem;
	line-height: 1.3;
	margin-bottom: 1em;
}

#home-company .basic-block p {
	letter-spacing: -.03em;
}

#home-company section.advantage {
	padding-top: 56.26667vw;
	background: url("../img/pages/home/bg-company-01.jpg") no-repeat top center/100% auto;
}

@media print,
screen and (min-width: 768px) {
	#home-company section.advantage {
		background-color: transparent;
		background-image: url("../img/pages/home/bg-company-01-md.jpg");
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 100% auto;
	}
}

@media print and (-webkit-min-device-pixel-ratio: 2),
screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
print and (min-resolution: 192dpi),
screen and (min-width: 768px) and (min-resolution: 192dpi) {
	#home-company section.advantage {
		background-image: url("../img/pages/home/bg-company-01-md@2x.jpg");
	}
}

@media print,
screen and (min-width: 1024px) {
	#home-company section.advantage {
		padding-top: 558px;
		margin-top: 110px;
		margin-bottom: 2em;
	}
}

#home-company section.advantage h2 {
	font-size: 1.5rem;
	margin: 1em 0;
}

#home-company section.advantage h2::after {
	content: '';
	display: block;
	margin: 1em auto 1.5em;
	background-color: #3E8FE6;
	width: 91px;
	height: 6px;
}

#home-company section.advantage h2 .num {
	font-size: 2.5rem;
}

@media print,
screen and (min-width: 768px) {
	#home-company section.advantage .advantage-list {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: space-around;
		-ms-flex-pack: distribute;
		justify-content: space-around;
	}
}

#home-company section.advantage .advantage-list li {
	line-height: 1.8;
	width: 85%;
	max-width: 320px;
	padding-bottom: 1.5em;
	margin: auto;
}

@media print,
screen and (min-width: 768px) {
	#home-company section.advantage .advantage-list li {
		width: 30%;
		max-width: 262px;
		padding-bottom: 0;
		margin: 0;
	}
}

#home-company section.advantage .advantage-list li:not(:first-child) {
	padding-top: 1.5em;
	border-top: 1px solid #B2B2B2;
}

@media print,
screen and (min-width: 768px) {
	#home-company section.advantage .advantage-list li:not(:first-child) {
		padding-top: 0;
		border-top: none;
	}
}

#home-company section.advantage .advantage-list li figure {
	margin: 0 auto 1.5em;
	text-align: center;
}

#home-company section.advantage .advantage-list li h3 {
	font-size: 1.125rem;
	margin-bottom: .5em;
}

#home-company section.company-information {
	margin-top: 1em;
	border-top: 2px solid #3E8FE6;
}

@media print,
screen and (min-width: 1024px) {
	#home-company section.company-information {
		margin-bottom: 5em;
	}
}

#home-company section.company-information h2 {
	font-size: 1.25rem;
	margin: 1em;
}

@media print,
screen and (min-width: 768px) {
	#home-company section.company-information h2 {
		font-size: 1.5rem;
	}
}

#home-company section.company-information table {
	table-layout: fixed;
	width: 100%;
}

@media print,
screen and (min-width: 1024px) {
	#home-company section.company-information table {
		font-size: 1.125rem;
	}
}

#home-company section.company-information table th {
	background-color: #ECF4FC;
	border-left: none;
	border-right: none;
	width: 6em;
}

@media print,
screen and (min-width: 768px) {
	#home-company section.company-information table th {
		width: 8em;
		padding-left: 1em;
	}
}

#home-company section.company-information table td {
	border-left: none;
	border-right: none;
}

#home-company section.company-information table td ul {
	margin-top: .3em;
}

#home-company section.company-information table td li {
	margin-bottom: .3em;
}

/* #home-contact */
#home-contact {
	padding-top: 2em;
}

#home-contact h2 {
	font-size: 2rem;
	letter-spacing: .1em;
}

#home-contact h2::after {
	content: '';
	display: block;
	margin: .6em auto 1em;
	background-color: #3E8FE6;
	width: 91px;
	height: 6px;
}

#home-contact h2 small {
	font-size: 1rem;
	margin-top: .5em;
}

#home-contact .basic-block {
	padding: 0;
	width: 315px;
	margin-bottom: 2em;
}

@media print,
screen and (min-width: 768px) {
	#home-contact .basic-block {
		width: 90%;
		max-width: 990px;
		margin-bottom: 3em;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}

	#home-contact .basic-block li {
		width: 50%;
		margin-right: 3px;
	}
}

#home-contact .basic-block a {
	color: #333;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	width: 315px;
	height: 112px;
	box-shadow: 0 5px 4px rgba(54, 127, 193, 0.4);
}

@media print,
screen and (min-width: 768px) {
	#home-contact .basic-block a {
		width: 100%;
		height: 170px;
	}
}

#home-contact .basic-block .tel {
	margin-bottom: 2px;
	background: #FFF url("../img/pages/home/bg-contact-01.svg") no-repeat -20px 12px/137px;
}

#home-contact .basic-block .tel h3 {
	font-size: 0.875rem;
}

#home-contact .basic-block .tel .phoneNumber {
	font-size: 2.125rem;
}

#home-contact .basic-block .tel .notice {
	font-size: 0.8125rem;
}

@media print,
screen and (min-width: 768px) {
	#home-contact .basic-block .tel {
		background-size: 209px;
		background-position: -30px 16px;
	}

	#home-contact .basic-block .tel h3 {
		font-size: 1.125rem;
	}

	#home-contact .basic-block .tel .phoneNumber {
		font-size: 2.625rem;
	}

	#home-contact .basic-block .tel .notice {
		font-size: 1rem;
	}
}

#home-contact .basic-block .toMailForm {
	background: #FFF url("../img/pages/home/bg-contact-02.svg") no-repeat -4px 18px/125px;
}

#home-contact .basic-block .toMailForm h3 {
	font-size: 1.25rem;
	margin-bottom: .5em;
}

#home-contact .basic-block .toMailForm .btn {
	padding-top: .3em;
	width: 228px;
	height: 32px;
	border-radius: 16px;
	position: relative;
}

#home-contact .basic-block .toMailForm .btn .icon {
	position: absolute;
	right: 1em;
	top: 50%;
	margin-top: -.3em;
}

@media print,
screen and (min-width: 768px) {
	#home-contact .basic-block .toMailForm {
		background-size: 191px;
		background-position: -7px 27px;
	}

	#home-contact .basic-block .toMailForm h3 {
		font-size: 1.625rem;
	}

	#home-contact .basic-block .toMailForm .btn {
		padding-top: .3em;
		font-size: 1.25rem;
		width: 284px;
		height: 40px;
		border-radius: 20px;
	}
}

#home-contact .g-Map {
	padding-bottom: 66.13333%;
	background-color: #E5E5E5;
}

@media print,
screen and (min-width: 1024px) {
	#home-contact .g-Map {
		padding-bottom: 410px;
	}
}

/*――――――――――――――――――――――――――――――――――――――――――――――――――
 | Print #印刷用スタイル
 *――――――――――――――――――――――――――――――――――――――――――――――――――*/
/* ==================================================================
 * Print styles.
 * Inlined to avoid the additional HTTP request:
 * http://www.phpied.com/delay-loading-your-print-css/
 * ==================================================================*/
@media print {

	*,
	*::before,
	*::after {
		text-shadow: none !important;
		background: transparent !important;
		box-shadow: none !important;
		color: #000 !important;
		/* Black prints faster: http://www.sanbeiji.com/archives/953 */
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]::after {
		content: " ("attr(href) ")";
	}

	abbr[title]::after {
		content: " ("attr(title) ")";
	}

	/*
	 * Don't show links that are fragment identifiers,
	 * or use the `javascript:` pseudo protocol */
	a[href^="#"]::after,
	a[href^="javascript:"]::after {
		content: "";
	}

	pre {
		white-space: pre-wrap !important;
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	/*
	 * Printing Tables:
	 * http: */
	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}

/**
 * 印刷時のスタイル */
@media print {

	.g-TableScroll td,
	.g-TableScroll th {
		white-space: inherit;
	}
}

/**
 * 印刷時とハイコントラストモード（IEとEdge）が有効なときのスタイル */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9jc3Mvc3R5bGUuY3NzIiwiYXNzZXRzL2Nzcy9zdHlsZS5zYXNzIiwiYXNzZXRzL2Nzcy90aGlyZHBhcnR5L19ub3JtYWxpemUuc2FzcyIsImFzc2V0cy9jc3MvbWl4aW5zL3V0aWxpdGllcy9fZm9udC1mYWNlLnNhc3MiLCJhc3NldHMvY3NzL3R5cG9ncmFwaHkvX2ZvbnRmYWNlLnNhc3MiLCJhc3NldHMvY3NzL3R5cG9ncmFwaHkvX3R5cG9ncmFwaHkuc2FzcyIsImFzc2V0cy9jc3MvdmFyaWFibGVzLXNpdGUvX2ZvbnRzLnNhc3MiLCJhc3NldHMvY3NzL21peGlucy91dGlsaXRpZXMvX21xLnNhc3MiLCJhc3NldHMvY3NzL3ZhcmlhYmxlcy1zaXRlL19jb2xvcnMuc2FzcyIsImFzc2V0cy9jc3MvdHlwb2dyYXBoeS9faGVhZGluZ3Muc2FzcyIsImFzc2V0cy9jc3MvdHlwb2dyYXBoeS9fY29weS5zYXNzIiwiYXNzZXRzL2Nzcy9lbGVtZW50cy9fZWxlbWVudHMuc2FzcyIsImFzc2V0cy9jc3MvdmFyaWFibGVzLXNpdGUvX3N0cnVjdHVyZS5zYXNzIiwiYXNzZXRzL2Nzcy9taXhpbnMvdXRpbGl0aWVzL190cmFuc2l0aW9uLnNhc3MiLCJhc3NldHMvY3NzL3ZhcmlhYmxlcy1zaXRlL19lYXNpbmcuc2FzcyIsImFzc2V0cy9jc3MvbWl4aW5zL3NpdGUvX0xpbmsuc2FzcyIsImFzc2V0cy9jc3MvZWxlbWVudHMvX2xpc3RzLnNhc3MiLCJhc3NldHMvY3NzL2VsZW1lbnRzL190YWJsZXMuc2FzcyIsImFzc2V0cy9jc3MvY2xhc3Nlcy9fY2xhc3Nlcy5zYXNzIiwiYXNzZXRzL2Nzcy9taXhpbnMvdXRpbGl0aWVzL19zci1vbmx5LnNhc3MiLCJhc3NldHMvY3NzL2NsYXNzZXMvYmxvY2svX0Jhc2ljQmxvY2suc2FzcyIsImFzc2V0cy9jc3MvY2xhc3Nlcy9ibG9jay9fQnV0dG9uLnNhc3MiLCJhc3NldHMvY3NzL21peGlucy9zaXRlL19CdXR0b24uc2FzcyIsImFzc2V0cy9jc3MvZnVuY3Rpb24vX3JlbS5zYXNzIiwiYXNzZXRzL2Nzcy92YXJpYWJsZXMtc2l0ZS9fdHJhbnNpdGlvbnMuc2FzcyIsImFzc2V0cy9jc3MvY2xhc3Nlcy9ibG9jay9fTG9hZGVyLnNhc3MiLCJhc3NldHMvY3NzL2NsYXNzZXMvYmxvY2svX0xvemFkLnNhc3MiLCJhc3NldHMvY3NzL2NsYXNzZXMvY29sb3IvX0NvbG9ycy5zYXNzIiwiYXNzZXRzL2Nzcy9jbGFzc2VzL2ZpZ3VyZS9fSWNvbi5zYXNzIiwiYXNzZXRzL2Nzcy9jbGFzc2VzL2ZpZ3VyZS9fTWFwLnNhc3MiLCJhc3NldHMvY3NzL2NsYXNzZXMvbGF5b3V0L19jb2x1bW4uc2FzcyIsImFzc2V0cy9jc3MvY2xhc3Nlcy9sYXlvdXQvX2dyaWQuc2FzcyIsImFzc2V0cy9jc3MvY2xhc3Nlcy90ZXh0L19Cci5zYXNzIiwiYXNzZXRzL2Nzcy9jbGFzc2VzL3RleHQvX0hlYWRpbmdzLnNhc3MiLCJhc3NldHMvY3NzL2NsYXNzZXMvdGV4dC9fVGV4dC5zYXNzIiwiYXNzZXRzL2Nzcy9mdW5jdGlvbi9fZW0uc2FzcyIsImFzc2V0cy9jc3MvY2xhc3Nlcy9wcmltYXJ5L19IZWFkZXIuc2FzcyIsImFzc2V0cy9jc3MvY2xhc3Nlcy9wcmltYXJ5L19EcmF3ZXItbmF2LnNhc3MiLCJhc3NldHMvY3NzL21peGlucy91dGlsaXRpZXMvX29uLWV2ZW50LnNhc3MiLCJhc3NldHMvY3NzL2NsYXNzZXMvcHJpbWFyeS9fRm9vdGVyLnNhc3MiLCJhc3NldHMvY3NzL3BhZ2VzL19ob21lLnNhc3MiLCJhc3NldHMvY3NzL21peGlucy9zaXRlL19CZ1JldGluYS5zYXNzIiwiYXNzZXRzL2Nzcy9mdW5jdGlvbi9fdncuc2FzcyIsImFzc2V0cy9jc3MvbWl4aW5zL3NpdGUvX0NhcHN1bGUuc2FzcyIsImFzc2V0cy9jc3MvdGhpcmRwYXJ0eS9fcHJpbnQuc2FzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNDaEI7Ozs7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RUE7RUFDRSxhQUFhO0FGTWY7O0FDOU1BOztxRERrTnFEO0FHMU9uRDtFQUNFLHdCQ3pCMEI7RUQwQjFCLG1CQzFCK0Q7RUQyQi9ELGtCQzNCdUU7RUQ0QnZFLGlIQUwyRTtFQU0zRSxrQkFBa0I7QUg0T3RCOztBR2pQRTtFQUNFLHdCQ3hCMEI7RUR5QjFCLGlCQ3pCNEQ7RUQwQjVELGtCQzFCb0U7RUQyQnBFLCtHQUwyRTtFQU0zRSxrQkFBa0I7QUhvUHRCOztBR3pQRTtFQUNFLDJCQ3ZCNkI7RUR3QjdCLG1CQ3hCZ0U7RUR5QmhFLGtCQ3pCd0U7RUQwQnhFLG9LQUwyRTtFQU0zRSxrQkFBa0I7QUg0UHRCOztBR2pRRTtFQUNFLDJCQ3RCNkI7RUR1QjdCLGlCQ3ZCNkQ7RUR3QjdELGtCQ3hCcUU7RUR5QnJFLGlLQUwyRTtFQU0zRSxrQkFBa0I7QUhvUXRCOztBS2pTQSxrQ0FBQTtBQUNBO0VBQ0UsZUNTbUI7QU4yUnJCOztBT25SSTtFRmxCSjtJQUdJLGVDUW9CO0VOK1J0QjtBQUNGOztBT3pSSTtFRmxCSjtJQUtJLGVDT29CO0VOb1N0QjtBQUNGOztBTy9SSTtFRmxCSjtJQU9JLGVDTW9CO0VOeVN0QjtBQUNGOztBS3pTQTtFQUNFLFdHUFE7RUhRUix5RkNqQjZGO0VEa0I3RixtQkNTYTtFRFJiLGtCQUFrQjtFQUNsQixnQkNXeUI7RURUekIsbUJBQW1CO0VBQ25CLHdCQUF3QjtFQUN4QixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLHlCQUF5QjtFQUN6Qiw0QkFBb0I7VUFBcEIsb0JBQW9CO0VBRXBCLDRDQUE0QztFQUM1Qyw2QkFBNkI7RUFDN0Isa0NBQWtDO0FMMFNwQzs7QUt2U0EsK0JBQUE7QUluQ0E7Ozs7OztFQU1FLHlGSEw2RjtFR003RixpQkhzQlM7RUdyQlQsdUJBQXVCO0VBQ3ZCLGdCSDJCNEI7QU5tVDlCOztBUzVVQTtFQUNFLGdCSGEyQztBTmtVN0M7O0FTN1VBO0VBQ0UsZ0JIUzZDO0FOdVUvQzs7QVM5VUE7RUFDRSxnQkhLMkM7QU40VTdDOztBUy9VQTtFQUNFLGdCSEM0QztBTmlWOUM7O0FTaFZBO0VBQ0UsZ0JISHlDO0FOc1YzQzs7QVNqVkE7RUFDRSxjQUFjO0FUb1ZoQjs7QUt6VUEsMkJBQUE7QUt0Q0E7RUFFRSxvQkppQjRDO0VJaEI1QyxrQkFBa0I7QVZrWHBCOztBVXJYQTtFQUtHLFlBQVM7QVZvWFo7O0FVelhBO0VBT0csWUFBUztBVnNYWjs7QVVwWEE7RUFDQyxpQkFBaUI7RUFDakIsZ0RKUjBEO0FOK1gzRDs7QVVyWEE7RUFDQyw4QkFBOEI7RUFDOUIsWUFBWTtBVndYYjs7QVV0WEE7RUFDQyxtQkFBbUI7RUFDbkIscUJBQXFCO0FWeVh0Qjs7QVV2WEE7RUFDQyxnQkpEMEM7QU4yWDNDOztBVXhYQTtFQUNDLG9CSkwwQztBTmdZM0M7O0FVelhBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtBVjRYckI7O0FVMVhBLDJCQUFBO0FWNlhBO0VVMVhJLGtCQUFrQjtBVjRYdEI7O0FDeFdBOztxREQ0V3FEO0FXbGFyRDs7b0RYcWFvRDtBV2xhcEQsNENBQUE7QUFDQTtFQUNFLHNCQUFzQjtFQUN0QixZQUFZO0FYb2FkOztBV2xhQTs7O0VBR0UsbUJBQW1CO0FYcWFyQjs7QVduYUEsb0JBQUE7QUFDQTtFQUNFLHlCSGlDcUQ7QVJxWXZEOztBV3BhQTtFQUNFLHNCSHNCMEI7RUdyQjFCLGlCQ0tPO0Faa2FUOztBV3JhQSxpQkFBQTtBQUNBO0VBQ0UsU0FBUztBWHdhWDs7QVd0YUEsdUJBQUE7QUFDQTtFQUNFLGVBQWU7RUFDZixTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7QVh5YVg7O0FXdmFBLDBDQUFBO0FBQ0E7RUFDRSxjQUFjO0FYMGFoQjs7QVd4YUEsMkJBQUE7QUFDQTs7Ozs7Ozs7OztFQVVFLGFBQWE7RUFDYixnQkFBZ0I7QVgyYWxCOztBV3phQSxVQUFBO0FBQ0E7RUVyQ0UsNERDdUJ3RDtBZDJiMUQ7O0FlN2RFO0VBQ0UsV1BFTTtFT0ROLDBCQUEwQjtBZmdlOUI7O0FlOWRFO0VBQ0UsV1BxRDJDO0FSNGEvQzs7QWUvZEU7RUFFRSxjUGtEMEM7RU9qRDFDLFVB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O0U0QzV4RVY7SUFDRSwyQkFBMkI7RTVDOHhFN0I7RTRDN3hFQTs7SUFFRSx3QkFBd0I7RTVDK3hFMUI7RTRDOXhFQTs7O0lBR0UsVUFBVTtJQUNWLFNBQVM7RTVDZ3lFWDtFNEMveEVBOztJQUVFLHVCQUF1QjtFNUNpeUV6QjtBQUNGOztBNENoeUVBO2E1Q215RWE7QTRDanlFYjtFQUNFOztJQUVFLG9CQUFvQjtFNUNteUV0QjtBQUNGOztBNENseUVBO3dDNUNxeUV3QyIsImZpbGUiOiJhc3NldHMvY3NzL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQ1NTIGluZm9ybWF0aW9uXG4gKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHwgRmlsZW5hbWUgICAgfCBzdHlsZS5jc3NcbiAgfCBBdXRob3IgICAgICB8IENPTE9SUyDkuK3lsbHmuIXmmKVcbiAgfCBEZXNjcmlwdGlvbiB8IOS4iuabuOOBjeeUqOWFqOOCueOCv+OCpOODq+OCkuiomOi/sFxuICB8ICAgICAgICAgICAgIHwganPjg5fjg6njgrDjgqTjg7PjgoTjg5Xjg6zjg7zjg6Djg6/jg7zjgq/nrYnjga5DU1Pjga/jgZPjga7jg5XjgqHjgqTjg6vjgojjgorliY3jgavoqq3jgb/ovrzjgpPjgafkuIvjgZXjgYRcbiAgfCBVUkwgICAgICAgICB8IGh0dHBzOi8vY29sb3JzLWRlc2lnbi5jb20vXG4gKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8q4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVXG4gfCBOb3JtYWxpemUgI+ODluODqeOCpuOCtumWk+OBruaomea6luOCueOCv+OCpOODq+OBruW3ruOCkuWwkeOBquOBj+OBmeOCi1xuICrigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJUqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovXG59XG5cbi8qIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqL1xufVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLiAqL1xuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy4gKi9cbmNvZGUsIGtiZCwgc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLiAqL1xuc3ViLCBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS4gKi9cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xufVxuXG4vKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuICovXG5idXR0b24sIGlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guICovXG5idXR0b24sIHNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuICovXG5idXR0b24sIFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZywgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovXG59XG5cbi8qIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLyogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLiAqL1xuLyogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy4gKi9cbnRlbXBsYXRlLCBbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8q4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVXG4gfCBUeXBvZ3JhcGh5ICPmloflrZfplqLpgKPjga7ln7rmnKzjgrnjgr/jgqTjg6tcbiAq4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJZYWt1SGFuSlBcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1lha3VIYW5KUHMtTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9ZYWt1SGFuSlBzLUxpZ2h0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJZYWt1SGFuSlBcIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9ZYWt1SGFuSlBzLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9ZYWt1SGFuSlBzLUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2FucyBKUFwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvTm90b1NhbnNfTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9Ob3RvU2Fuc19MaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL05vdG9TYW5zX0xpZ2h0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnMgSlBcIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Ob3RvU2Fuc19Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvTm90b1NhbnNfQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL05vdG9TYW5zX0JvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuLyogPT09PT09PT0gcm9vdCAmIGJvZHkgPT09PT09PT0gKi9cbmh0bWwge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuYm9keSB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LWZhbWlseTogXCJZYWt1SGFuSlBcIiwgXCJOb3RvIFNhbnMgSlBcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OXCIsIE1laXJ5bywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB0ZXh0LWp1c3RpZnk6IGRpc3RyaWJ1dGU7XG4gIGxpbmUtYnJlYWs6IHN0cmljdDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICBmb250LWtlcm5pbmc6IG5vcm1hbDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG4vKiA9PT09PT09PSBoZWFkaW5ncyA9PT09PT09PSAqL1xuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiWWFrdUhhbkpQXCIsIFwiTm90byBTYW5zIEpQXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTlwiLCBNZWlyeW8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi40ZW07XG59XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDIuMWVtO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjhlbTtcbn1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qID09PT09PT09IGNvcHkgPT09PT09PT0gKi9cbmJsb2NrcXVvdGUgY2l0ZSB7XG4gIGZvbnQtc2l6ZTogMC42NjY2N2VtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmJsb2NrcXVvdGUgY2l0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLvvIhcIjtcbn1cblxuYmxvY2txdW90ZSBjaXRlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi77yJXCI7XG59XG5cbnByZSwgY29kZSwga2JkLCBzYW1wLCB0dCwgdmFyIHtcbiAgZm9udC1zaXplOiAuODc1ZW07XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgTWVubG8sIENvdXJpZXIsIG1vbm9zcGFjZTtcbn1cblxuYWJiciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzY2NjtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5tYXJrLCBpbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmOWMwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmJpZyB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjgzMzMzZW07XG59XG5cbnN0cm9uZywgZW0sIGIsIHRoIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG59XG5cbi8qIOaXpeacrOiqnuOBp+OBr+aWnOS9k+OCkuS9v+eUqOOBl+OBquOBhOOBn+OCgeODquOCu+ODg+ODiOOBl+OBvuOBmSAqL1xuW2xhbmc9XCJqYVwiXSBpLCBbbGFuZz1cImphXCJdIGNpdGUsIFtsYW5nPVwiamFcIl0gZW0sIFtsYW5nPVwiamFcIl0gYWRkcmVzcywgW2xhbmc9XCJqYVwiXSBkZm4ge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8q4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVXG4gfCBFbGVtZW50cyAj5ZCE6KaB57Sg44Gu5Z+65pys44K544K/44Kk44OrXG4gKuKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAlSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBlbGVtZW50cyByZXNldFxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIGB3aWR0aGDjgahgaGVpZ2h0YOOBq2BtYXJnaW5g44GoYGJvcmRlcmDjgpLlkKvjgoHjgb7jgZkgKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qIHNlbGVjdGlvbiBjb2xvciAqL1xuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOThjM2YyO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG59XG5cbi8qIOODnuODvOOCuOODs+OCkuODquOCu+ODg+ODiOOBl+OBvuOBmSAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiDjg4fjg5Xjgqnjg6vjg4jjga7jgrnjgr/jgqTjg6vjgpLjg6rjgrvjg4Pjg4jjgZfjgb7jgZkgKi9cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLyogbm9ybWFsaXplLmNzc+OBruOCueOCv+OCpOODq+OCkuODquOCu+ODg+ODiOOBl+OBpuOAgWRpduOBruOCiOOBhuOBq+aJseOBhOOBvuOBmSAqL1xubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIOODluODreODg+OCr+imgee0oOOBruS4iuS4i+OBruODnuODvOOCuOODs+OCkuODquOCu+ODg+ODiOOBl+OBvuOBmSAqL1xuaGVhZGVyLCBuYXYsIG1haW4sIGFzaWRlLCBmb290ZXIsXG5hcnRpY2xlLCBzZWN0aW9uLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbnVsLCBvbCwgZGwsXG5ibG9ja3F1b3RlLFxucCxcbmFkZHJlc3MsXG5ocixcbnRhYmxlLFxucHJlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogYeOCv+OCsOioreWumiAqL1xuYSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcbn1cblxuYTpsaW5rIHtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5hOnZpc2l0ZWQge1xuICBjb2xvcjogZ3JheTtcbn1cblxuaHRtbDpub3QoW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0pIGE6aG92ZXIsIGE6YWN0aXZlIHtcbiAgY29sb3I6ICNjY2NjY2M7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xufVxuXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbjtcbiAgb3V0bGluZS1zdHlsZTogZG90dGVkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuYS5kYiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbnVsLCBvbCB7XG4gIHBhZGRpbmctbGVmdDogMS4yZW07XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogY2lyY2xlO1xufVxuXG51bCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbn1cblxub2wge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxuXG5vbCBvbCB7XG4gIGxpc3Qtc3R5bGU6IGxvd2VyLXJvbWFuO1xufVxuXG5saSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luOiAwIDFlbSAxZW07XG59XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxudGFibGUgdGgsIHRhYmxlIHRkIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZzogMC41ZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG59XG5cbnRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbn1cblxuLyog44OV44Or44O844OJ44Kk44Oh44O844K444Gr44GX44G+44GZICovXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyogSUXjga5pbWfjgahvYmplY3TopoHntKDjgafjgoJTVkfjgpLjg5Xjg6vjg7zjg4njgqTjg6Hjg7zjgrjjgavjgZfjgb7jgZkgKi9cbi8qIFNlZTogaHR0cHM6Ly9oYWlsMnUubmV0L2Jsb2cvd2ViZGVzaWduL21heC13aWR0aC1hbmQtc3ZnLW9uLWllMTEtYW5kLWJlbG93Lmh0bWwgKi9cbltzcmMkPVwiLnN2Z1wiXSxcbltkYXRhJD1cIi5zdmdcIl0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyog44Kt44O844Oc44O844OJ44Gn44Ki44Kv44K744K544Gn44GN44Gq44GE6KaB57Sg44Gu44OV44Kp44O844Kr44K56KGo56S644KS5raI44GX44G+44GZICovXG4vKiBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UgKi9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBJRTEw5Lul6ZmN44GuYGlucHV0W3R5cGU9XCJ0ZXh0XCJdYOOBp+WFpeWKm+WGheWuueOBrua2iOWOu+apn+iDveOCkumdnuihqOekuuOBq+OBl+OBvuOBmSAqL1xuW3R5cGU9XCJ0ZXh0XCJdOjotbXMtY2xlYXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIElFMTDku6XpmY3jga5gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdYOOBp+ODnuOCueOCr+OBruS4gOaZgueahOino+mZpOapn+iDveOCkumdnuihqOekuuOBq+OBl+OBvuOBmSAqL1xuW3R5cGU9XCJwYXNzd29yZFwiXTo6LW1zLXJldmVhbCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogSUXjgahFZGdl44Gv44K544OU44Oz44Oc44K/44Oz44Gr5pyq5a++5b+c44Gu44Gf44KB44CBQ2hyb21l44GoRmlyZUZveOOBp+mdnuihqOekuuOBq+OBl+OBvuOBmSAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qIOODleOCqeODvOOCq+OCueOCpOODs+OCuOOCsuODvOOCv+OBr+OCreODvOODnOODvOODieaTjeS9nOOBruOBqOOBjeOBq+OBoOOBkeihqOekuuOBl+OBvuOBmSAqL1xuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICo6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKuKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAlVxuIHwgQ29tbW9uICAj44K144Kk44OI5YWx6YCa44K544K/44Kk44OrXG4gKuKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAlVxuICBbVE9DXVxuICB8IC5nLSAoR2xvYmFsKS4uLuOCteOCpOODiOWFsemAmuOBrk1vZHVsZVxuICB8IC5sLSAoTGF5b3V0KS4uLuOCs+ODs+ODhuODs+ODhOWGheOBruS9meeZveOChOODrOOCpOOCouOCpuODiOWwgueUqOOBrk1vZHVsZVxuICB8IC5zaXRlLSAoU2l0ZSkuLi7jgrXjgqTjg4jlhajkvZPjgaflpInmm7TjgZXjgozjgovjgZPjgajjga7jgarjgYRNb2R1bGVcbiAgfCDmjqXpoK3ovp7jga7jgarjgYTjgoLjga7jga/ln7rmnKznmoTjgarmsY7nlKjjgq/jg6njgrnjgafjgZlcbiAg4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVKi9cbi8qKiBCYXNpYyBVdGlsaXR5IENsYXNzZXMgKiovXG4vKiA9PT09PT09PSBUZXh0ID09PT09PT09ICovXG4vKiDjgrXjg7Pjgrvjg6rjg5XkvZPvvIjjgrTjgrfjg4Pjgq/kvZPvvInjgavjgZnjgosgKi9cbi5zYW5zIHtcbiAgZm9udC1mYW1pbHk6IFwiWWFrdUhhbkpQXCIsIFwiTm90byBTYW5zIEpQXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTlwiLCBNZWlyeW8sIHNhbnMtc2VyaWY7XG59XG5cbi8qIOOCu+ODquODleS9k++8iOaYjuacneS9kynjgavjgZnjgosgKi9cbi5zZXJpZiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhpcmFnaW5vIE1pbmNobyBQcm9OXCIsIFwiSEfmmI7mnJ1FXCIsIHNlcmlmO1xufVxuXG4vKiDopovlh7rjgZfnlKjmm7jkvZPvvIjlpKrlrZfvvInjgavjgZnjgosgKi9cbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIOacrOaWh+eUqOabuOS9k+OBq+OBmeOCiyAqL1xuLm5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi8qIOacrOaWh+OBqOWQjOOBmOeKtuaFi+OBruODhuOCreOCueODiOOBq+OBmeOCiyAqL1xuLmZvbnQtYm9keSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IFwiWWFrdUhhbkpQXCIsIFwiTm90byBTYW5zIEpQXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTlwiLCBNZWlyeW8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogdGV4dC1kZWNvcmF0aW9uOiBub25lICovXG4udGQtbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyog5LiL57ea44KS5byV44GPICovXG4udGQtdSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiDmlofnq6DjgpLlt6blr4TjgZsgKi9cbi50YS1sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyog5paH56ug44KS5Lit5aSu5a+E44GbICovXG4udGEtYyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyog5paH56ug44KS5Y+z5a+E44GbICovXG4udGEtciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKiDmlofnq6DjgpLlnYfnrYnphY3nva4gKi9cbi50YS1qIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLyogbGlzdC1zdHlsZS10eXBlOiBub25lICovXG4ubHN0LW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLyog44OW44Ot44OD44Kv44Gu5bmF44Gr5Y+O44G+44KJ44Gq44GE44OG44Kt44K544OI44Gu6KGM5pyr44GrM+eCueODquODvOODgO+8iOKApu+8ieOCkuWHuuOBme+8iDHooYzjga7jgb/lr77lv5zvvIkgKi9cbi50eHQtZWxsaXBzaXMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyog44Kt44O844Oc44O844OJ5pON5L2c44KE44K544Kv44Oq44O844Oz44Oq44O844OA44O844G444Gu6Kqt44G/5LiK44GS44Gr5a++5b+c44GX44CB6KaB57Sg6Ieq5L2T44Gv6Z2e6KGo56S644Gr44GZ44KLICovXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKiA9PT09PT09PSBCbG9jayBMYXlvdXQgPT09PT09PT0gKi9cbi8qIGRpc3BsYXnns7sgKi9cbi8qIOimgee0oOOCkuOCpOODs+ODqeOCpOODs+OBq+OBmeOCiyAqL1xuLmlsIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4vKiDopoHntKDjgpLjgqTjg7Pjg6njgqTjg7Pjg5bjg63jg4Pjgq/jgavjgZnjgosgKi9cbi5pYiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyog6KaB57Sg44KS44OW44Ot44OD44Kv44Gr44GZ44KLICovXG4uZGIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyog55u05LiL44Gu5a2Q6KaB57Sg44KS5rC05bmz6Lu444Gu55yf44KT5Lit6YWN572u44Gr44GZ44KLICovXG4uaGMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyog55u05LiL44Gu5a2Q6KaB57Sg44KS5Z6C55u06Lu444Gu55yf44KT5Lit6YWN572u44Gr44GZ44KLICovXG4udmMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiDnm7TkuIvjga7lrZDopoHntKDjgpLmsLTlubPlnoLnm7Tou7jjga7nnJ/jgpPkuK3phY3nva7jgavjgZnjgosgKi9cbi52aGMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogPT09PT09PT0gSW1hZ2UsIEZpZ3VyZSA9PT09PT09PSAqL1xuLyog55S75YOP44KSb2JqZWN0LWZpdDpjb3ZlcuOBq+OBmeOCiyAqL1xuLm9iamVjdC1maXQtY292ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IDUwJSA1MCU7XG59XG5cbi8qIGZsb2F057O7ICovXG4vKiDopoHntKDjgatmbG9hdDpsZWZ0ICovXG4uZmwge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLyog6KaB57Sg44GrZmxvYXQ6cmlnaHQgKi9cbi5mciB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLyog6KaB57Sg44GrY2xlYXI6Ym90aCAqL1xuLmNiIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qIGNsZWFyZml4ICovXG4uY2Y6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKiBwb3NpdGlvbuezuyAqL1xuLyog6KaB57Sg44KS55u45a++6YWN572uICovXG4ucG9zciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyog6KaB57Sg44KS57W25a++6YWN572uICovXG4ucG9zYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLyog6KaB57Sg44KS5qiZ5rqW6YWN572u44Gr5oi744GZICovXG4ucG9zcyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi8qKiBFbGVtZW50IERlZmF1bHQgU3R5bGUgKiovXG4vKiA9PSBibG9jayA9PSAqL1xuLmJhc2ljLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gIG1heC13aWR0aDogMjZlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5iYXNpYy1ibG9jayB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLyog44Oc44K/44Oz44Gu44OH44OV44Kp44Or44OI44K544K/44Kk44Or44Gn44GZ44CC5qiq5bmF44GvMjgwcHjjgb7jgafjgavliLbpmZDjgZXjgozjgb7jgZnjgIJcbiAgLS0tcHVnIGV4YW1wbGUtLS1cbiAgLmwtV3JhcHBlclxuICAgIGEuZy1CdXR0b24oaHJlZj1cIiNcIikgYeOCv+OCsOODnOOCv+ODs1xuICAgIGEuZy1CdXR0b24uZy1CdXR0b24tZGlzYWJsZWQoaHJlZj1cIiNcIiB0YWJpbmRleD1cIi0xXCIpIGHjgr/jgrDjg5zjgr/jg7NcbiAgICBidXR0b24uZy1CdXR0b24jZm9vKHR5cGU9XCJidXR0b25cIikgYnV0dG9u44K/44Kw44Oc44K/44OzXG4gICAgYnV0dG9uLmctQnV0dG9uKGRpc2FibGVkIHR5cGU9XCJidXR0b25cIikgYnV0dG9u44K/44Kw44Oc44K/44OzXG4gICAgaW5wdXQuZy1CdXR0b24odHlwZT1cImJ1dHRvblwiIHZhbHVlPVwiaW5wdXTjg5zjgr/jg7NcIilcbiAgICBpbnB1dC5nLUJ1dHRvbih0eXBlPVwiYnV0dG9uXCIgdmFsdWU9XCJpbnB1dOODnOOCv+ODs1wiIGRpc2FibGVkKVxuICAtLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGAuZy1CdXR0b24tZnVsbGDjgpLov73liqDjgZnjgovjgajmqKrluYUxMDAl44Gr44Gq44KK44G+44GZ44CCXG4gIC0tLXB1ZyBleGFtcGxlLS0tXG4gIC5sLVdyYXBwZXJcbiAgICBhLmctQnV0dG9uKGhyZWY9XCIjXCIpIOODh+ODleOCqeODq+ODiFxuICAgIGEuZy1CdXR0b24uZy1CdXR0b24tZnVsbChocmVmPVwiI1wiKSDmqKrluYUxMDAlXG4gIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgYC5nLUJ1dHRvbi1hdXRvYOOCkui/veWKoOOBmeOCi+OBqOaoquW5heOBr+OBquOCiuOChuOBjeOBq+OBquOCiuOBvuOBmeOAglxuICAtLS1wdWcgZXhhbXBsZS0tLVxuICAubC1XcmFwcGVyXG4gICAgYS5nLUJ1dHRvbihocmVmPVwiI1wiKSDjg4fjg5Xjgqnjg6vjg4hcbiAgICBhLmctQnV0dG9uLmctQnV0dG9uLWF1dG8oaHJlZj1cIiNcIikg5qiq5bmF44Gq44KK44KG44GNXG4gIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgYC5nLUJ1dHRvbl9Nb3JlYOOCkui/veWKoOOBmeOCi+OBqOefouWNsOOBjOS7mOOBjeOBvuOBmeOAglxuICAtLS1wdWcgZXhhbXBsZS0tLVxuICAubC1XcmFwcGVyXG4gICAgYS5nLUJ1dHRvbihocmVmPVwiI1wiKSDjg4fjg5Xjgqnjg6vjg4hcbiAgICBhLmctQnV0dG9uKGhyZWY9XCIjXCIpXG4gICAgICBzdmcuZy1CdXR0b25fTW9yZShyb2xlPVwiaW1nXCIpXG4gICAgICAgIHVzZSh4bGluazpocmVmPVwiL2Fzc2V0cy9zdmcvc3ByaXRlLnN2ZyNyaWdodC1hcnJvdzFcIilcbiAgICAgIHwg55+i5Y2w5LuY44GN44Oc44K/44OzXG4gIC0tLS0tLS0tLS0tLS0tLS0tICovXG4uZy1CdXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTkuMjVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmctQnV0dG9uW3R5cGU9XCJidXR0b25cIl0sIC5nLUJ1dHRvblt0eXBlPVwicmVzZXRcIl0sIC5nLUJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0gLmctQnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbiAgYm94LXNoYWRvdzogMCAwIDZweCAjM0U4RkU2O1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAuZy1CdXR0b246Zm9jdXMsXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSAuZy1CdXR0b246Zm9jdXMge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uZy1CdXR0b246ZGlzYWJsZWQsIC5nLUJ1dHRvbi1kaXNhYmxlZCwgLmctQnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuZy1CdXR0b24tZGlzYWJsZWQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNkZGQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xufVxuXG4uZy1CdXR0b24tZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuaHRtbDpub3QoW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0pIC5nLUJ1dHRvbjpkaXNhYmxlZDpob3Zlcixcbmh0bWw6bm90KFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdKSAuZy1CdXR0b24tZGlzYWJsZWQ6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmctQnV0dG9uLWZ1bGwge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4uZy1CdXR0b24tYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZy1CdXR0b25fTW9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwLjc1cmVtO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAuNWVtO1xuICBoZWlnaHQ6IC41ZW07XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG5Aa2V5ZnJhbWVzIGxvYWRpbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMHZ3LCAwLCAwKTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxufVxuXG4jbG9hZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzNFOEZFNjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGFuaW1hdGlvbjogbG9hZGluZyAwLjhzIDEuNXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMikgYm90aDtcbn1cblxuI2xvYWRlciAubG9hZGVyLWxvZ28ge1xuICB3aWR0aDogMTIuNXJlbTtcbn1cblxuI2xvYWRlciAuc3Bpbm5lciB7XG4gIG1hcmdpbjogNTBweCBhdXRvO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuI2xvYWRlciAuc3Bpbm5lciA+IGRpdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbmltYXRpb246IHNrLXN0cmV0Y2hkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG4jbG9hZGVyIC5zcGlubmVyIC5yZWN0MiB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTEuMXM7XG59XG5cbiNsb2FkZXIgLnNwaW5uZXIgLnJlY3QzIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcbn1cblxuI2xvYWRlciAuc3Bpbm5lciAucmVjdDQge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjlzO1xufVxuXG4jbG9hZGVyIC5zcGlubmVyIC5yZWN0NSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuOHM7XG59XG5cbkBrZXlmcmFtZXMgc2stc3RyZXRjaGRlbGF5IHtcbiAgMCUsIDQwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMC40KTtcbiAgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICB9XG59XG5cbmltZ1tkYXRhLXNyY10ge1xuICBiYWNrZ3JvdW5kOiAjRTVFNUU1IHVybChcIi4uL2ltZy9zaXRlL292YWwuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIvMzhweCAzOHB4O1xufVxuXG5pbWdbZGF0YS1sb2FkZWQ9XCJ0cnVlXCJdIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubG96YWQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS44NzVyZW0pO1xufVxuXG4ubG96YWQubG9hZGVkIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG59XG5cbmJvZHkuaG9tZSAjaG9tZS1pbnRybyAubGF5b3V0LWJveC5sb2FkZWQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAycztcbn1cblxuLyogPT0gY29sb3IgPT0gKi9cbi8qXG4gICMjIENPTE9SIE5BTUUgTElTVCAjI1xuICAgKiBDQzpDb3Jwb3JhdGVDb2xvclxuICAgKiBDR1I6Q29ycG9yYXRlR3JheVxuICAgKiB3aDp3aGl0ZT0jRkZGXG4gICAqIGJrOmJsYWNrPSMwMDBcbiAgKi9cbi8qIGNsYXNzIGZvciB0ZXh0LWNvbG9yLiBgY2xgPWNvbG9yICovXG4uY2wtQ0Mge1xuICBjb2xvcjogIzNFOEZFNiAhaW1wb3J0YW50O1xufVxuXG4uY2wtZGVmYXVsdCB7XG4gIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG59XG5cbi5jbC1pbXBvcnRhbnQge1xuICBjb2xvcjogI0U2MDAxMiAhaW1wb3J0YW50O1xufVxuXG4uY2wtd2gge1xuICBjb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xufVxuXG4uY2wtQjUwIHtcbiAgY29sb3I6ICM4MDgwODAgIWltcG9ydGFudDtcbn1cblxuLmNsLWJrIHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbn1cblxuLyogY2xhc3MgZm9yIGJhY2tncm91bmQtY29sb3IuIGBiZ2A9YmFja2dyb3VuZCAqL1xuLmJnLUNDIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNFOEZFNjtcbn1cblxuLmJnLUNDMTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGNEZDO1xufVxuXG4uYmctd2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xufVxuXG4uYmctQjMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0IyQjJCMjtcbn1cblxuLmJnLUI3MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0QzRDNEM7XG59XG5cbi8qID09IGZpZ3VyZSA9PSAqL1xuLyogU1ZH44K544OX44Op44Kk44OI44Gu44Ki44Kk44Kz44Oz44Gu44OH44OV44Kp44Or44OI44K544K/44Kk44OrICovXG5zdmcuaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuOGVtO1xuICBoZWlnaHQ6IDAuOGVtO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi8qIEdvb2dsZSBNYXBz44KS44Os44K544Od44Oz44K344OW5a++5b+c44GV44Gb44G+44GZXG4gICDjg4fjg5Xjgqnjg6vjg4jjgacxNjo544Gn6KGo56S644GV44KM44G+44GZXG4gIC0tLXB1ZyBleGFtcGxlLS0tXG4gIC5nLU1hcC5cbiAgICA8aWZyYW1lIHNyYz1cImh0dHBzOi8veHh4eHhcIiB3aWR0aD1cIjYwMFwiIGhlaWdodD1cIjQ1MFwiIGZyYW1lYm9yZGVyPVwiMFwiIHN0eWxlPVwiYm9yZGVyOjBcIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+XG4gIHAuZy1NYXBfVGV4dCDjg57jg4Pjg5fjgavjgq3jg6Pjg5fjgrfjg6fjg7PvvIjnn63jgYToqqzmmI7mlofvvInjgpLjgaTjgZHjgb7jgZlcbiAgKi9cbi5nLU1hcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmctTWFwID4gKixcbi5nLU1hcCBpZnJhbWUsXG4uZy1NYXAgZW1iZWQsXG4uZy1NYXAgb2JqZWN0LFxuLmctTWFwIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5nLU1hcF9UZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuMzc1cmVtO1xuICBmb250LXNpemU6IDAuODMzMzNlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogPT0gZm9ybSA9PSAqL1xuLyogPT0gbGF5b3V0ID09ICovXG4vKiA9PSBDU1MgY29sdW1uLWNvdW50IDogZ2Fw44Gv54q25rOB44Gr5ZCI44KP44Gb44Gm5oyH5a6aID09ICovXG4vKiDjg4bjgq3jgrnjg4hjb2x1bW4gKi9cbi50LTJjb2xtdW5zIHtcbiAgY29sdW1uLWNvdW50OiAyO1xuICBjb2x1bW4tZ2FwOiAxLjZlbTtcbiAgY29sdW1uLWZpbGw6IGJhbGFuY2U7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudC0yY29sbXVucy1tZCB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1nYXA6IDEuNmVtO1xuICAgIGNvbHVtbi1maWxsOiBiYWxhbmNlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnQtMmNvbG11bnMtbGcge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tZ2FwOiAxLjZlbTtcbiAgICBjb2x1bW4tZmlsbDogYmFsYW5jZTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnQtM2NvbG11bnMtbWQge1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgICBjb2x1bW4tZ2FwOiAxLjZlbTtcbiAgICBjb2x1bW4tZmlsbDogYmFsYW5jZTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50LTNjb2xtdW5zLWxnIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWdhcDogMS42ZW07XG4gICAgY29sdW1uLWZpbGw6IGJhbGFuY2U7XG4gIH1cbn1cblxuLyogPT0gQ1NTIEdyaWQgOiBncmlkLXRlbXBsYXRlLXJvd3MsZ2Fw44Gv54q25rOB44Gr5ZCI44KP44Gb44Gm5oyH5a6aID09ICovXG4vKiAyY29sdW1ucyAqL1xuLmwtMmNvbHVtbnMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xufVxuXG4vKiAzY29sdW1ucyAqL1xuLmwtM2NvbHVtbnMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xufVxuXG4vKiA0Y29sdW1ucyAqL1xuLmwtNGNvbHVtbnMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xufVxuXG4vKiBkaXNwbGF5OiBncmlk44Gr44GZ44KLICovXG4ubC1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLyog6Ieq5YuV5qiq5Lim44Gz77yI57im6Lu444Gv55yf44KT5Lit5o+D44GI77yJICovXG4ubC1nZC1hdXRvLWhvcml6b250YWwge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGdyaWQtYXV0by1jb2x1bW5zOiBtYXgtY29udGVudDtcbn1cblxuLyog6Ieq5YuV57im5Lim44Gz77yI5qiq6Lu444Gv55yf44KT5Lit5o+D44GI77yJICovXG4ubC1nZC1hdXRvLXZlcnRpY2FsIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICBncmlkLWF1dG8tZmxvdzogcm93O1xuICBncmlkLWF1dG8tY29sdW1uczogbWF4LWNvbnRlbnQ7XG59XG5cbi8qKiByZXNwb25zaXZlIGdyaWQgKiovXG4ubC1nZC1yZXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE2ZW0sIDFmcikpO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4vKiA9PSB0ZXh0ID09ICovXG4vKiBgPGJyPmDjgr/jgrDjgavmjIflrprjgpLjgZfjgabjgIHmlLnooYzjgpLjg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jjgZTjgajjgavjgrPjg7Pjg4jjg63jg7zjg6vjgZfjgb7jgZlcbiAgLS0tcHVnIGV4YW1wbGUtLS1cbiAgcC5nLVRleHQg5bi444Gr5pS56KGMXG4gICAgYnJcbiAgICB8IOOBleOCjOOBvuOBmVxuICBwLmctVGV4dCDjg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jvvIhgbWRg77yJ5Lul6ZmN44Gr5pS56KGMXG4gICAgYnIuZy1CclNob3dNZFxuICAgIHwg44GV44KM44G+44GZ44CCXG4gIHAuZy1UZXh0IOODluODrOOCpOOCr+ODneOCpOODs+ODiO+8iGBtZGDvvInku6XpmY3jga/mlLnooYxcbiAgICBici5nLUhpZGVNZFxuICAgIHwg44GV44KM44G+44Gb44KT44CCICovXG4uZy1CclNob3dTbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZy1CclNob3dTbSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG59XG5cbi5nLUJyU2hvd01kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5nLUJyU2hvd01kIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cblxuLmctQnJTaG93TGcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5nLUJyU2hvd0xnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cblxuLmctQnJTaG93WGwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5nLUJyU2hvd1hsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cblxuLmctQnJIaWRlU20ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZy1CckhpZGVTbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZy1CckhpZGVNZCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5nLUJySGlkZU1kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5nLUJySGlkZUxnIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5nLUJySGlkZUxnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5nLUJySGlkZVhsIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5nLUJySGlkZVhsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIGA8aDI+YOOBp+S9v+eUqOOBmeOCi+imi+WHuuOBl+OBp+OBmSAqL1xuLmctSGVhZGluZzIge1xuICBmb250LXNpemU6IDIuMWVtO1xuICBtYXJnaW46IDAgMCAxLjU2MjVyZW07XG59XG5cbi5nLUhlYWRpbmcyICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIOWfuuacrOOBruODhuOCreOCueODiOOCueOCv+OCpOODq+OBp+OBmSAqL1xuLmctVGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIG1hcmdpbjogMCAwIDAuNjI1ZW07XG59XG5cbi8qIGA8ZW0+YOOBp+S9v+OCj+OCjOOCi+OCiOOBhuOBquOCueOCv+OCpOODq+OBp+OBmSAqL1xuLmctVGV4dEVtcGhhc2lzIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIOODquODvOODieaWh++8iOOCs+ODs+ODhuODs+ODhOOBruWGkumgreOBq+eZu+WgtOOBmeOCi+OCs+ODs+ODhuODs+ODhOOCkuewoea9lOOBq+ihqOOBl+OBn+aWh+eroO+8ieOBruOCueOCv+OCpOODq+OBp+OBmVxuICDku5bjga7mlofnq6DjgajljLrliKXjgZnjgovjgZ/jgoHjgaDjgZHjgavliKnnlKjjgZfjgIFcbiAgYDxzdHJvbmc+YOOBrumHjeimgeaAp+OChOa3seWIu+aAp+OAgVxuICBgPGVtPmDjga7lvLfoqr/vvIjjgqLjgq/jgrvjg7Pjg4jvvInjgIFcbiAgYDxoMj5g44Gu44KI44GG44Gq6KaL5Ye644GXXG4gIOOBqOOBl+OBpuOBruaEj+WRs+OBr+OBguOCiuOBvuOBm+OCkyAqL1xuLmctTGVhZCB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5nLUxlYWQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyog55m76Yyy5ZWG5qiZ77yI44Ki44O844Or44Oe44O844Kv77yJ44KE6JGX5L2c5qip77yI44Oe44Or44K344O844Oe44O844Kv77yJ44CB5rOo6YeI44Oq44Oz44Kv77yI4oC7Me+8ieOBquOBqeOBq+S9v+OBhuS4iuS7mOOBjeaWh+Wtl+OBp+OBmSAqL1xuLmctU3VwIHtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmb250LXNpemU6IDAuODMzMzNlbTtcbn1cblxuLyoqIFByaW1hcnkgRWxlbWVudCBTdHlsZSAqKi9cbi8qID09IHNpdGUtaGVhZGVyID09ICovXG4vKiBzaXRlLUhlYWRlciAqL1xuI3NpdGUtSGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNzaXRlLUhlYWRlciB7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICB9XG59XG5cbi5kcmF3ZXItb3BlbmVkICNzaXRlLUhlYWRlciB7XG4gIGxlZnQ6IC0yNDBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xufVxuXG4jc2l0ZS1IZWFkZXJfTG9nb0FyZWEge1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2lkdGg6IDE0LjY4NzVyZW07XG4gIGhlaWdodDogMS43NXJlbTtcbiAgbWFyZ2luLXRvcDogMS4wNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42ODc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjc2l0ZS1IZWFkZXJfTG9nb0FyZWEge1xuICAgIHdpZHRoOiAyOTNweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gIH1cbn1cblxuI3NpdGUtSGVhZGVyX0xvZ28gaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyogPT0gZHJhd2VyLW5hdiA9PSAqL1xuLyogZHJhd2VyLW5hdiAqL1xuI3NpdGUtSGVhZGVyX05hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbn1cblxuI3NpdGUtSGVhZGVyX05hdi1idG4ge1xuICBiYWNrZ3JvdW5kOiAjM0U4RkU2O1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBwYWRkaW5nOiAxLjEyNXJlbSAwLjkzNzVyZW0gMC43NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDEwMDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNzaXRlLUhlYWRlcl9OYXYtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbiNzaXRlLUhlYWRlcl9OYXYtYnRuIC5pY29uLWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICBoZWlnaHQ6IDAuMTI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjA2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG59XG5cbi5kcmF3ZXItb3BlbmVkIC5pY29uLWJhciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcbn1cblxuLmRyYXdlci1vcGVuZWQgLmljb24tYmFyOm50aC1jaGlsZCgyKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDhweCkgcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmRyYXdlci1vcGVuZWQgLmljb24tYmFyOm50aC1jaGlsZCgzKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAwKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmRyYXdlci1vcGVuZWQgLmljb24tYmFyOm50aC1jaGlsZCg0KSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC04cHgpIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4jZHJhd2VyLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIGhlaWdodDogMTAwdmg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNkcmF3ZXItbmF2IHtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmRyYXdlci1vcGVuZWQgI2RyYXdlci1uYXYge1xuICBib3gtc2hhZG93OiAtMXB4IDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuI3NpdGUtSGVhZGVyX05hdlRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjgzMzMzZW07XG4gIHBhZGRpbmc6IDJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCMkIyQjI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3NpdGUtSGVhZGVyX05hdlRpdGxlIGEge1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jc2l0ZS1IZWFkZXJfTmF2VGl0bGUgYSBpbWcge1xuICBtYXJnaW4tdG9wOiAxLjNlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjc2l0ZS1IZWFkZXJfTmF2VGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjZHJhd2VyLW5hdiAudGFibGUtb2YtY29udGVudHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLnNpdGUtSGVhZGVyX05hdkl0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0IyQjJCMjtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2l0ZS1IZWFkZXJfTmF2SXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuICAuc2l0ZS1IZWFkZXJfTmF2SXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzRThGRTY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xuICB9XG4gIGh0bWw6bm90KFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdKSAuc2l0ZS1IZWFkZXJfTmF2SXRlbTpsYXN0LW9mLXR5cGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2ViZmE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xuICB9XG4gIC5zaXRlLUhlYWRlcl9OYXZJdGVtOmxhc3Qtb2YtdHlwZSAuc2l0ZS1IZWFkZXJfTmF2TGluayB7XG4gICAgY29sb3I6ICNGRkY7XG4gIH1cbiAgaHRtbDpub3QoW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0pIC5zaXRlLUhlYWRlcl9OYXZJdGVtOmxhc3Qtb2YtdHlwZSAuc2l0ZS1IZWFkZXJfTmF2TGluazpob3ZlciB7XG4gICAgY29sb3I6ICMzRThGRTY7XG4gIH1cbn1cblxuLnNpdGUtSGVhZGVyX05hdkxpbmsge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB3aWR0aDogMjQwcHg7XG4gIHBhZGRpbmc6IDFlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2l0ZS1IZWFkZXJfTmF2TGluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuc2l0ZS1IZWFkZXJfTmF2TGluazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzRThGRTY7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcbiAgfVxufVxuXG4uc2l0ZS1IZWFkZXJfTmF2TGluaywgLnNpdGUtSGVhZGVyX05hdkxpbms6bGluaywgLnNpdGUtSGVhZGVyX05hdkxpbms6dmlzaXRlZCxcbmh0bWw6bm90KFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdKSAuc2l0ZS1IZWFkZXJfTmF2TGluazpob3ZlciwgLnNpdGUtSGVhZGVyX05hdkxpbms6YWN0aXZlLCAuc2l0ZS1IZWFkZXJfTmF2TGluazpmb2N1cyB7XG4gIGNvbG9yOiAjM0U4RkU2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmh0bWw6bm90KFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdKSAuc2l0ZS1IZWFkZXJfTmF2TGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2ViZmE7XG59XG5cbmh0bWw6bm90KFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdKSAuc2l0ZS1IZWFkZXJfTmF2TGluazpob3Zlcjo6YWZ0ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xufVxuXG4uc2l0ZS1IZWFkZXJfTmF2TGluayBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB0ZXh0LWluZGVudDogLjFlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uc2l0ZS1IZWFkZXJfTmF2TGluayBzcGFuIHNtYWxsIHtcbiAgZm9udC1zaXplOiA2NyU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qID09IHNpdGUtZm9vdGVyID09ICovXG4vKiBzaXRlLUZvb3RlciAqL1xuI3NpdGUtRm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuI2J0bi1QYWdlVG9wIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEM0QzRDO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNDM3NXJlbSAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5odG1sOm5vdChbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSkgI2J0bi1QYWdlVG9wIGE6aG92ZXIge1xuICBjb2xvcjogI0ZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNFOEZFNjtcbn1cblxuI2J0bi1QYWdlVG9wIGE6OmFmdGVyIHtcbiAgY29udGVudDogJ1BBR0VcXDAwQTBUT1AnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogLS41ZW07XG59XG5cbiNidG4tUGFnZVRvcCAuaWNvbiB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG59XG5cbiNzaXRlLUZvb3Rlcl9JbmZvcm1hdGlvbkFyZWEge1xuICB3aWR0aDogMzQwcHg7XG4gIGhlaWdodDogMTYzcHg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjc2l0ZS1Gb290ZXJfSW5mb3JtYXRpb25BcmVhIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IDQ1MHB4O1xuICB9XG59XG5cbiNzaXRlLUZvb3Rlcl9JbmZvcm1hdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxlZnQ6IDA7XG4gIHRvcDogMzhweDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNzaXRlLUZvb3Rlcl9JbmZvcm1hdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIH1cbn1cblxuI3NpdGUtRm9vdGVyX0xvZ28ge1xuICB3aWR0aDogMTUuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjc2l0ZS1Gb290ZXJfTG9nbyB7XG4gICAgd2lkdGg6IDI5MnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICB9XG59XG5cbiNzaXRlLUZvb3Rlcl9Eb2cge1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNzVweDtcbiAgaGVpZ2h0OiAxNDBweDtcbn1cblxuI3NpdGUtRm9vdGVyX0RvZyAuZG9nIHtcbiAgd2lkdGg6IDc1cHg7XG4gIGhlaWdodDogYXV0bztcbn1cblxuI3NpdGUtRm9vdGVyX0RvZyAuaW5zdGEge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICByaWdodDogMDtcbiAgYm90dG9tOiAzMHB4O1xufVxuXG4jc2l0ZS1Gb290ZXJfRG9nIC5jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm90dG9tOiA1cHg7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjc2l0ZS1Gb290ZXJfRG9nIHtcbiAgICB3aWR0aDogMTQ2cHg7XG4gICAgaGVpZ2h0OiAxNTRweDtcbiAgICB0b3A6IDdweDtcbiAgfVxuICAjc2l0ZS1Gb290ZXJfRG9nIC5kb2cge1xuICAgIHdpZHRoOiA4NnB4O1xuICB9XG4gICNzaXRlLUZvb3Rlcl9Eb2cgLmluc3RhIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgcmlnaHQ6IDEzcHg7XG4gICAgYm90dG9tOiAzM3B4O1xuICB9XG4gICNzaXRlLUZvb3Rlcl9Eb2cgLmNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuI3NpdGUtRm9vdGVyX0NvcHJ5cmlnaHRBcmVhIHtcbiAgcGFkZGluZzogMC4zNzVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MTkxOTtcbiAgY29sb3I6ICNCMkIyQjI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG59XG5cbiNzaXRlLUZvb3Rlcl9Db3ByeXJpZ2h0IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgdmVydGljYWwtYWxpZ246IC4yZW07XG59XG5cbi8q4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVXG4gfCBQYWdlcyAgI+WQhOODmuODvOOCuOWAi+WIpeOCueOCv+OCpOODq1xuICrigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJVcbiAgW1RPQ11cbiAgfCAjaG9tZS0gKEhvbWVQYWdlKS4uLuODm+ODvOODoOODmuODvOOCuO+8iOOCteOCpOODiOODiOODg+ODl+ODmuODvOOCuO+8iVxuICDigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJUqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgc3RhcnQgSE9NRSBwYWdlXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKiBOYW1lc3BhY2VzIChzZWN0aW9ucykgKiovXG4vKiAjaG9tZS1pbnRybyAqL1xuI2hvbWUtaW50cm8ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvcGFnZXMvaG9tZS9iZy1pbnRyby0wMS5qcGdcIikgbm8tcmVwZWF0IGNlbnRlciBib3R0b20vY292ZXI7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNob21lLWludHJvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcGFnZXMvaG9tZS9iZy1pbnRyby0wMS1tZC5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIHByaW50IGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAjaG9tZS1pbnRybyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3BhZ2VzL2hvbWUvYmctaW50cm8tMDEtbWRAMnguanBnXCIpO1xuICB9XG59XG5cbiNob21lLWludHJvIC5sYXlvdXQtYm94IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIHVybChcIi4uL2ltZy9zaXRlL2xvZ28taW50cm8uc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgMjEwcHgvMjM4cHggYXV0bztcbiAgcGFkZGluZzogMWVtIDEuNWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMTEwcHg7XG59XG5cbiNob21lLWludHJvIC5sYXlvdXQtYm94IGgyIHtcbiAgZm9udC1zaXplOiAyLjYyNXJlbTtcbn1cblxuI2hvbWUtaW50cm8gLmxheW91dC1ib3ggaDMge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxldHRlci1zcGFjaW5nOiAuMDdlbTtcbn1cblxuI2hvbWUtaW50cm8gLmxheW91dC1ib3ggaDM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0U4RkU2O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogMC4zNzVyZW07XG4gIG1hcmdpbjogMWVtIDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjaG9tZS1pbnRybyAubGF5b3V0LWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjU1cHggMzJweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMxOHB4O1xuICAgIHBhZGRpbmc6IDEuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNlbTtcbiAgfVxuICAjaG9tZS1pbnRybyAubGF5b3V0LWJveCBoMiB7XG4gICAgZm9udC1zaXplOiAzLjg3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gIH1cbiAgI2hvbWUtaW50cm8gLmxheW91dC1ib3ggaDMge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuM2VtO1xuICB9XG59XG5cbi8qICNob21lLXNwaXJpdCAqL1xuI2hvbWUtc3Bpcml0IHtcbiAgcGFkZGluZy1ib3R0b206IDU3LjMzMzMzdnc7XG59XG5cbiNob21lLXNwaXJpdFtkYXRhLWxvYWRlZD1cInRydWVcIl0ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvcGFnZXMvaG9tZS9iZy1zcGlyaXQtMDEuanBnXCIpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tLzEwMHZ3O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2hvbWUtc3Bpcml0W2RhdGEtbG9hZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3BhZ2VzL2hvbWUvYmctc3Bpcml0LTAxLW1kLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDg1JSBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgcHJpbnQgYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICNob21lLXNwaXJpdFtkYXRhLWxvYWRlZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wYWdlcy9ob21lL2JnLXNwaXJpdC0wMS1tZEAyeC5qcGdcIik7XG4gIH1cbn1cblxuI2hvbWUtc3Bpcml0ID4gLmJhc2ljLWJsb2NrIHtcbiAgcGFkZGluZzogMDtcbiAgbWF4LXdpZHRoOiA5OTBweDtcbn1cblxuI2hvbWUtc3Bpcml0ID4gLmJhc2ljLWJsb2NrID4gLmJhc2ljLWJsb2NrIHtcbiAgcGFkZGluZy10b3A6IDEuOWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS45ZW07XG59XG5cbiNob21lLXNwaXJpdCA+IC5iYXNpYy1ibG9jayA+IC5iYXNpYy1ibG9jayBoMiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAuNmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjRlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzRThGRTY7XG59XG5cbiNob21lLXNwaXJpdCA+IC5iYXNpYy1ibG9jayA+IC5iYXNpYy1ibG9jayBoMyB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAuOGVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2hvbWUtc3Bpcml0ID4gLmJhc2ljLWJsb2NrID4gLmJhc2ljLWJsb2NrIGgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG4jaG9tZS1zcGlyaXQgPiAuYmFzaWMtYmxvY2sgPiAuYmFzaWMtYmxvY2sgcCB7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjaG9tZS1zcGlyaXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wYWdlcy9ob21lL2JnLXNwaXJpdC0wMS1tZC5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiA4NSUgYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIHByaW50IGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAjaG9tZS1zcGlyaXQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wYWdlcy9ob21lL2JnLXNwaXJpdC0wMS1tZEAyeC5qcGdcIik7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNob21lLXNwaXJpdCA+IC5iYXNpYy1ibG9jayA+IC5iYXNpYy1ibG9jayB7XG4gICAgbWF4LXdpZHRoOiAzMWVtO1xuICAgIHBhZGRpbmc6IDEuNWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgI2hvbWUtc3Bpcml0IHtcbiAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDk3MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDMxMHB4IGJvdHRvbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjg4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gICNob21lLXNwaXJpdCA+IC5iYXNpYy1ibG9jayA+IC5iYXNpYy1ibG9jayB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLyogI2hvbWUtc2VydmljZSAqL1xuI2hvbWUtc2VydmljZSB7XG4gIHBhZGRpbmc6IDFlbSAwIDJlbTtcbn1cblxuI2hvbWUtc2VydmljZSBoMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAuNWVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNob21lLXNlcnZpY2UgaDIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB3aWR0aDogOTkwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbiNob21lLXNlcnZpY2UgaDIgc21hbGwge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbiNob21lLXNlcnZpY2UgaDIgc21hbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0U4RkU2O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiAzcHg7XG4gIHdpZHRoOiA0LjVyZW07XG4gIGhlaWdodDogMC4zNzVyZW07XG4gIG1hcmdpbi1yaWdodDogLjVlbTtcbn1cblxuI2hvbWUtc2VydmljZSBoMiBiOmZpcnN0LWxldHRlciB7XG4gIGNvbG9yOiAjOEJCQ0YwO1xufVxuXG4jaG9tZS1zZXJ2aWNlIC5zZXJ2aWNlLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgcGFkZGluZy1yaWdodDogMmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjaG9tZS1zZXJ2aWNlIC5zZXJ2aWNlLWxpc3Qge1xuICAgIHdpZHRoOiA5OTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4jaG9tZS1zZXJ2aWNlIC5zZXJ2aWNlLWxpc3QgbGkge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBib3gtc2hhZG93OiAwIDVweCA0cHggcmdiYSg1NCwgMTI3LCAxOTMsIDAuNCk7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNob21lLXNlcnZpY2UgLnNlcnZpY2UtbGlzdCBsaSB7XG4gICAgd2lkdGg6IDQ5JTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNob21lLXNlcnZpY2UgLnNlcnZpY2UtbGlzdCBsaSB7XG4gICAgd2lkdGg6IDMyMHB4O1xuICB9XG59XG5cbiNob21lLXNlcnZpY2UgLnNlcnZpY2UtbGlzdCBsaSBoMyB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIHBhZGRpbmc6IC40ZW07XG59XG5cbiNob21lLXNlcnZpY2UgLnNlcnZpY2UtbGlzdCBsaSAuYmFzaWMtYmxvY2sge1xuICBwYWRkaW5nOiAxLjY4NzVlbTtcbn1cblxuI2hvbWUtc2VydmljZSAuc2VydmljZS1saXN0IGxpIC5iYXNpYy1ibG9jayBmaWd1cmUge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNob21lLXNlcnZpY2UgLnNlcnZpY2UtbGlzdCBsaSAuYmFzaWMtYmxvY2sgZmlndXJlIGltZyB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuI2hvbWUtc2VydmljZSAuc2VydmljZS1saXN0IGxpIC5iYXNpYy1ibG9jayBoNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi1ib3R0b206IC41ZW07XG59XG5cbi8qICNob21lLWNvbXBhbnkgKi9cbiNob21lLWNvbXBhbnkge1xuICBwYWRkaW5nOiAxZW0gMCAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNob21lLWNvbXBhbnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOTkwcHg7XG4gICAgbWFyZ2luLXRvcDogM2VtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4jaG9tZS1jb21wYW55IC5iYXNpYy1ibG9jayB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjaG9tZS1jb21wYW55IC5iYXNpYy1ibG9jayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWF4LXdpZHRoOiAyOGVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgfVxufVxuXG4jaG9tZS1jb21wYW55IC5iYXNpYy1ibG9jayBoMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gIG1hcmdpbi1ib3R0b206IC43ZW07XG59XG5cbiNob21lLWNvbXBhbnkgLmJhc2ljLWJsb2NrIGgyIHNtYWxsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4jaG9tZS1jb21wYW55IC5iYXNpYy1ibG9jayBoMiBzbWFsbDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRThGRTY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IDNweDtcbiAgd2lkdGg6IDQuNXJlbTtcbiAgaGVpZ2h0OiAwLjM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xufVxuXG4jaG9tZS1jb21wYW55IC5iYXNpYy1ibG9jayBoMiBiOmZpcnN0LWxldHRlciB7XG4gIGNvbG9yOiAjOEJCQ0YwO1xufVxuXG4jaG9tZS1jb21wYW55IC5iYXNpYy1ibG9jayBoMyB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbiNob21lLWNvbXBhbnkgLmJhc2ljLWJsb2NrIHAge1xuICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xufVxuXG4jaG9tZS1jb21wYW55IHNlY3Rpb24uYWR2YW50YWdlIHtcbiAgcGFkZGluZy10b3A6IDU2LjI2NjY3dnc7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9wYWdlcy9ob21lL2JnLWNvbXBhbnktMDEuanBnXCIpIG5vLXJlcGVhdCB0b3AgY2VudGVyLzEwMCUgYXV0bztcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNob21lLWNvbXBhbnkgc2VjdGlvbi5hZHZhbnRhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wYWdlcy9ob21lL2JnLWNvbXBhbnktMDEtbWQuanBnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIHByaW50IGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAjaG9tZS1jb21wYW55IHNlY3Rpb24uYWR2YW50YWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcGFnZXMvaG9tZS9iZy1jb21wYW55LTAxLW1kQDJ4LmpwZ1wiKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNob21lLWNvbXBhbnkgc2VjdGlvbi5hZHZhbnRhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA1NThweDtcbiAgICBtYXJnaW4tdG9wOiAxMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cbn1cblxuI2hvbWUtY29tcGFueSBzZWN0aW9uLmFkdmFudGFnZSBoMiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW46IDFlbSAwO1xufVxuXG4jaG9tZS1jb21wYW55IHNlY3Rpb24uYWR2YW50YWdlIGgyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxZW0gYXV0byAxLjVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNFOEZFNjtcbiAgd2lkdGg6IDkxcHg7XG4gIGhlaWdodDogNnB4O1xufVxuXG4jaG9tZS1jb21wYW55IHNlY3Rpb24uYWR2YW50YWdlIGgyIC5udW0ge1xuICBmb250LXNpemU6IDIuNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNob21lLWNvbXBhbnkgc2VjdGlvbi5hZHZhbnRhZ2UgLmFkdmFudGFnZS1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG5cbiNob21lLWNvbXBhbnkgc2VjdGlvbi5hZHZhbnRhZ2UgLmFkdmFudGFnZS1saXN0IGxpIHtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgd2lkdGg6IDg1JTtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICBtYXJnaW46IGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjaG9tZS1jb21wYW55IHNlY3Rpb24uYWR2YW50YWdlIC5hZHZhbnRhZ2UtbGlzdCBsaSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtYXgtd2lkdGg6IDI2MnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4jaG9tZS1jb21wYW55IHNlY3Rpb24uYWR2YW50YWdlIC5hZHZhbnRhZ2UtbGlzdCBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCMkIyQjI7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjaG9tZS1jb21wYW55IHNlY3Rpb24uYWR2YW50YWdlIC5hZHZhbnRhZ2UtbGlzdCBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxufVxuXG4jaG9tZS1jb21wYW55IHNlY3Rpb24uYWR2YW50YWdlIC5hZHZhbnRhZ2UtbGlzdCBsaSBmaWd1cmUge1xuICBtYXJnaW46IDAgYXV0byAxLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jaG9tZS1jb21wYW55IHNlY3Rpb24uYWR2YW50YWdlIC5hZHZhbnRhZ2UtbGlzdCBsaSBoMyB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC41ZW07XG59XG5cbiNob21lLWNvbXBhbnkgc2VjdGlvbi5jb21wYW55LWluZm9ybWF0aW9uIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzNFOEZFNjtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjaG9tZS1jb21wYW55IHNlY3Rpb24uY29tcGFueS1pbmZvcm1hdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNWVtO1xuICB9XG59XG5cbiNob21lLWNvbXBhbnkgc2VjdGlvbi5jb21wYW55LWluZm9ybWF0aW9uIGgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW46IDFlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNob21lLWNvbXBhbnkgc2VjdGlvbi5jb21wYW55LWluZm9ybWF0aW9uIGgyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG4jaG9tZS1jb21wYW55IHNlY3Rpb24uY29tcGFueS1pbmZvcm1hdGlvbiB0YWJsZSB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNob21lLWNvbXBhbnkgc2VjdGlvbi5jb21wYW55LWluZm9ybWF0aW9uIHRhYmxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG59XG5cbiNob21lLWNvbXBhbnkgc2VjdGlvbi5jb21wYW55LWluZm9ybWF0aW9uIHRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjRGQztcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgd2lkdGg6IDZlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNob21lLWNvbXBhbnkgc2VjdGlvbi5jb21wYW55LWluZm9ybWF0aW9uIHRhYmxlIHRoIHtcbiAgICB3aWR0aDogOGVtO1xuICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICB9XG59XG5cbiNob21lLWNvbXBhbnkgc2VjdGlvbi5jb21wYW55LWluZm9ybWF0aW9uIHRhYmxlIHRkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuI2hvbWUtY29tcGFueSBzZWN0aW9uLmNvbXBhbnktaW5mb3JtYXRpb24gdGFibGUgdGQgdWwge1xuICBtYXJnaW4tdG9wOiAuM2VtO1xufVxuXG4jaG9tZS1jb21wYW55IHNlY3Rpb24uY29tcGFueS1pbmZvcm1hdGlvbiB0YWJsZSB0ZCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IC4zZW07XG59XG5cbi8qICNob21lLWNvbnRhY3QgKi9cbiNob21lLWNvbnRhY3Qge1xuICBwYWRkaW5nLXRvcDogMmVtO1xufVxuXG4jaG9tZS1jb250YWN0IGgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbn1cblxuI2hvbWUtY29udGFjdCBoMjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogLjZlbSBhdXRvIDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNFOEZFNjtcbiAgd2lkdGg6IDkxcHg7XG4gIGhlaWdodDogNnB4O1xufVxuXG4jaG9tZS1jb250YWN0IGgyIHNtYWxsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAuNWVtO1xufVxuXG4jaG9tZS1jb250YWN0IC5iYXNpYy1ibG9jayB7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAzMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2hvbWUtY29udGFjdCAuYmFzaWMtYmxvY2sge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA5OTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAjaG9tZS1jb250YWN0IC5iYXNpYy1ibG9jayBsaSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgfVxufVxuXG4jaG9tZS1jb250YWN0IC5iYXNpYy1ibG9jayBhIHtcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDMxNXB4O1xuICBoZWlnaHQ6IDExMnB4O1xuICBib3gtc2hhZG93OiAwIDVweCA0cHggcmdiYSg1NCwgMTI3LCAxOTMsIDAuNCk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjaG9tZS1jb250YWN0IC5iYXNpYy1ibG9jayBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE3MHB4O1xuICB9XG59XG5cbiNob21lLWNvbnRhY3QgLmJhc2ljLWJsb2NrIC50ZWwge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGJhY2tncm91bmQ6ICNGRkYgdXJsKFwiLi4vaW1nL3BhZ2VzL2hvbWUvYmctY29udGFjdC0wMS5zdmdcIikgbm8tcmVwZWF0IC0yMHB4IDEycHgvMTM3cHg7XG59XG5cbiNob21lLWNvbnRhY3QgLmJhc2ljLWJsb2NrIC50ZWwgaDMge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4jaG9tZS1jb250YWN0IC5iYXNpYy1ibG9jayAudGVsIC5waG9uZU51bWJlciB7XG4gIGZvbnQtc2l6ZTogMi4xMjVyZW07XG59XG5cbiNob21lLWNvbnRhY3QgLmJhc2ljLWJsb2NrIC50ZWwgLm5vdGljZSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2hvbWUtY29udGFjdCAuYmFzaWMtYmxvY2sgLnRlbCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDlweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzBweCAxNnB4O1xuICB9XG4gICNob21lLWNvbnRhY3QgLmJhc2ljLWJsb2NrIC50ZWwgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIH1cbiAgI2hvbWUtY29udGFjdCAuYmFzaWMtYmxvY2sgLnRlbCAucGhvbmVOdW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gIH1cbiAgI2hvbWUtY29udGFjdCAuYmFzaWMtYmxvY2sgLnRlbCAubm90aWNlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cblxuI2hvbWUtY29udGFjdCAuYmFzaWMtYmxvY2sgLnRvTWFpbEZvcm0ge1xuICBiYWNrZ3JvdW5kOiAjRkZGIHVybChcIi4uL2ltZy9wYWdlcy9ob21lL2JnLWNvbnRhY3QtMDIuc3ZnXCIpIG5vLXJlcGVhdCAtNHB4IDE4cHgvMTI1cHg7XG59XG5cbiNob21lLWNvbnRhY3QgLmJhc2ljLWJsb2NrIC50b01haWxGb3JtIGgzIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAuNWVtO1xufVxuXG4jaG9tZS1jb250YWN0IC5iYXNpYy1ibG9jayAudG9NYWlsRm9ybSAuYnRuIHtcbiAgcGFkZGluZy10b3A6IC4zZW07XG4gIHdpZHRoOiAyMjhweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNob21lLWNvbnRhY3QgLmJhc2ljLWJsb2NrIC50b01haWxGb3JtIC5idG4gLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxZW07XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtLjNlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNob21lLWNvbnRhY3QgLmJhc2ljLWJsb2NrIC50b01haWxGb3JtIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE5MXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggMjdweDtcbiAgfVxuICAjaG9tZS1jb250YWN0IC5iYXNpYy1ibG9jayAudG9NYWlsRm9ybSBoMyB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgfVxuICAjaG9tZS1jb250YWN0IC5iYXNpYy1ibG9jayAudG9NYWlsRm9ybSAuYnRuIHtcbiAgICBwYWRkaW5nLXRvcDogLjNlbTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgd2lkdGg6IDI4NHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICB9XG59XG5cbiNob21lLWNvbnRhY3QgLmctTWFwIHtcbiAgcGFkZGluZy1ib3R0b206IDY2LjEzMzMzJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1RTVFNTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjaG9tZS1jb250YWN0IC5nLU1hcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQxMHB4O1xuICB9XG59XG5cbi8q4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVXG4gfCBQcmludCAj5Y2w5Yi355So44K544K/44Kk44OrXG4gKuKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAlSovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFByaW50IHN0eWxlcy5cbiAqIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OlxuICogaHR0cDovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6IGh0dHA6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1MyAqL1xuICB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgYVtocmVmXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG4gIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIC8qXG4gICAqIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAqIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2wgKi9cbiAgYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICAvKlxuICAgKiBQcmludGluZyBUYWJsZXM6XG4gICAqIGh0dHA6ICovXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxufVxuXG4vKipcbiAqIOWNsOWIt+aZguOBruOCueOCv+OCpOODqyAqL1xuQG1lZGlhIHByaW50IHtcbiAgLmctVGFibGVTY3JvbGwgdGQsXG4gIC5nLVRhYmxlU2Nyb2xsIHRoIHtcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgfVxufVxuXG4vKipcbiAqIOWNsOWIt+aZguOBqOODj+OCpOOCs+ODs+ODiOODqeOCueODiOODouODvOODie+8iElF44GoRWRnZe+8ieOBjOacieWKueOBquOBqOOBjeOBruOCueOCv+OCpOODqyAqL1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBDU1MgaW5mb3JtYXRpb25cbiAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgfCBGaWxlbmFtZSAgICB8IHN0eWxlLmNzc1xuICB8IEF1dGhvciAgICAgIHwgQ09MT1JTIOS4reWxsea4heaYpVxuICB8IERlc2NyaXB0aW9uIHwg5LiK5pu444GN55So5YWo44K544K/44Kk44Or44KS6KiY6L+wXG4gIHwgICAgICAgICAgICAgfCBqc+ODl+ODqeOCsOOCpOODs+OChOODleODrOODvOODoOODr+ODvOOCr+etieOBrkNTU+OBr+OBk+OBruODleOCoeOCpOODq+OCiOOCiuWJjeOBq+iqreOBv+i+vOOCk+OBp+S4i+OBleOBhFxuICB8IFVSTCAgICAgICAgIHwgaHR0cHM6Ly9jb2xvcnMtZGVzaWduLmNvbS9cbiAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4vLyBhc3NldHMgZm9yIHNhc3NcbkBpbXBvcnQgXCJmdW5jdGlvbi9fZW0uc2Fzc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9uL19weC5zYXNzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb24vX3JlbS5zYXNzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb24vX3N0ci1yZXBsYWNlLnNhc3NcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbi9fc3RyaXAtdW5pdC5zYXNzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb24vX3Z3LnNhc3NcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMtc2l0ZS92YXJpYWJsZXMtc2l0ZVwiO1xuQGltcG9ydCBcIm1peGlucy9taXhpbnMtbWFzdGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3V0aWxpdGllcy9fY291bnRlci5zYXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3V0aWxpdGllcy9fZm9udC1mYWNlLnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzL19mdWxsLWJnLnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzL19mdWxsLXdpZHRoLnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzL19saW5lLWNsYW1wLnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzL19tcS5zYXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3V0aWxpdGllcy9fbXVsdGktbGluZS1lbGxpcHNpcy5zYXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3V0aWxpdGllcy9fbm9uLWxhdGluLWZvbnRzLnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzL19vbi1ldmVudC5zYXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3V0aWxpdGllcy9fb3Z5LnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzL19zci1vbmx5LnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzL190cmFuc2l0aW9uLnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzL190cmlhbmdsZS5zYXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpdGUvX0JnUmV0aW5hLnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l0ZS9fQnV0dG9uLnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l0ZS9fQ2Fwc3VsZS5zYXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpdGUvX0Zvcm1DaGVja2JveC5zYXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpdGUvX0Zvcm1JbnB1dC5zYXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpdGUvX0Zvcm1SYWRpby5zYXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpdGUvX0Zvcm1TZWxlY3Quc2Fzc1wiO1xuQGltcG9ydCBcIm1peGlucy9zaXRlL19Gb3JtVGV4dGFyZWEuc2Fzc1wiO1xuQGltcG9ydCBcIm1peGlucy9zaXRlL19MaW5rLnNhc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l0ZS9fT2JqZWN0Rml0LnNhc3NcIjtcblxuLyrigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJVcbiB8IE5vcm1hbGl6ZSAj44OW44Op44Km44K26ZaT44Gu5qiZ5rqW44K544K/44Kk44Or44Gu5beu44KS5bCR44Gq44GP44GZ44KLXG4gKuKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAlSovXG5AaW1wb3J0IFwidGhpcmRwYXJ0eS9ub3JtYWxpemVcIjtcblxuLyrigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJVcbiB8IFR5cG9ncmFwaHkgI+aWh+Wtl+mWoumAo+OBruWfuuacrOOCueOCv+OCpOODq1xuICrigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJUqL1xuQGltcG9ydCBcInR5cG9ncmFwaHkvdHlwb2dyYXBoeVwiO1xuXG4vKuKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAlVxuIHwgRWxlbWVudHMgI+WQhOimgee0oOOBruWfuuacrOOCueOCv+OCpOODq1xuICrigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJUqL1xuQGltcG9ydCBcImVsZW1lbnRzL2VsZW1lbnRzXCI7XG5cbi8q4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVXG4gfCBDb21tb24gICPjgrXjgqTjg4jlhbHpgJrjgrnjgr/jgqTjg6tcbiAq4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVXG4gIFtUT0NdXG4gIHwgLmctIChHbG9iYWwpLi4u44K144Kk44OI5YWx6YCa44GuTW9kdWxlXG4gIHwgLmwtIChMYXlvdXQpLi4u44Kz44Oz44OG44Oz44OE5YaF44Gu5L2Z55m944KE44Os44Kk44Ki44Km44OI5bCC55So44GuTW9kdWxlXG4gIHwgLnNpdGUtIChTaXRlKS4uLuOCteOCpOODiOWFqOS9k+OBp+WkieabtOOBleOCjOOCi+OBk+OBqOOBruOBquOBhE1vZHVsZVxuICB8IOaOpemgrei+nuOBruOBquOBhOOCguOBruOBr+WfuuacrOeahOOBquaxjueUqOOCr+ODqeOCueOBp+OBmVxuICDigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJXigJUqL1xuQGltcG9ydCBcImNsYXNzZXMvY2xhc3Nlc1wiO1xuXG4vKiogRWxlbWVudCBEZWZhdWx0IFN0eWxlICoqL1xuLyogPT0gYmxvY2sgPT0gKi9cbkBpbXBvcnQgXCJjbGFzc2VzL2Jsb2NrL19CYXNpY0Jsb2NrLnNhc3NcIjtcbkBpbXBvcnQgXCJjbGFzc2VzL2Jsb2NrL19CdXR0b24uc2Fzc1wiO1xuQGltcG9ydCBcImNsYXNzZXMvYmxvY2svX0xvYWRlci5zYXNzXCI7XG5AaW1wb3J0IFwiY2xhc3Nlcy9ibG9jay9fTG96YWQuc2Fzc1wiO1xuXG4vKiA9PSBjb2xvciA9PSAqL1xuQGltcG9ydCBcImNsYXNzZXMvY29sb3IvX0NvbG9ycy5zYXNzXCI7XG5cbi8qID09IGZpZ3VyZSA9PSAqL1xuQGltcG9ydCBcImNsYXNzZXMvZmlndXJlL19JY29uLnNhc3NcIjtcbkBpbXBvcnQgXCJjbGFzc2VzL2ZpZ3VyZS9fTWFwLnNhc3NcIjtcblxuLyogPT0gZm9ybSA9PSAqL1xuXG5cbi8qID09IGxheW91dCA9PSAqL1xuQGltcG9ydCBcImNsYXNzZXMvbGF5b3V0L19jb2x1bW4uc2Fzc1wiO1xuQGltcG9ydCBcImNsYXNzZXMvbGF5b3V0L19ncmlkLnNhc3NcIjtcblxuLyogPT0gdGV4dCA9PSAqL1xuQGltcG9ydCBcImNsYXNzZXMvdGV4dC9fQnIuc2Fzc1wiO1xuQGltcG9ydCBcImNsYXNzZXMvdGV4dC9fSGVhZGluZ3Muc2Fzc1wiO1xuQGltcG9ydCBcImNsYXNzZXMvdGV4dC9fVGV4dC5zYXNzXCI7XG5cbi8qKiBQcmltYXJ5IEVsZW1lbnQgU3R5bGUgKiovXG4vKiA9PSBzaXRlLWhlYWRlciA9PSAqL1xuQGltcG9ydCBcImNsYXNzZXMvcHJpbWFyeS9IZWFkZXJcIjtcblxuLyogPT0gZHJhd2VyLW5hdiA9PSAqL1xuQGltcG9ydCBcImNsYXNzZXMvcHJpbWFyeS9EcmF3ZXItbmF2XCI7XG5cbi8qID09IHNpdGUtZm9vdGVyID09ICovXG5AaW1wb3J0IFwiY2xhc3Nlcy9wcmltYXJ5L0Zvb3RlclwiO1xuXG4vKuKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAlVxuIHwgUGFnZXMgICPlkITjg5rjg7zjgrjlgIvliKXjgrnjgr/jgqTjg6tcbiAq4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVXG4gIFtUT0NdXG4gIHwgI2hvbWUtIChIb21lUGFnZSkuLi7jg5vjg7zjg6Djg5rjg7zjgrjvvIjjgrXjgqTjg4jjg4jjg4Pjg5fjg5rjg7zjgrjvvIlcbiAg4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVKi9cbkBpbXBvcnQgXCJwYWdlcy9ob21lXCI7XG5cbi8q4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVXG4gfCBQcmludCAj5Y2w5Yi355So44K544K/44Kk44OrXG4gKuKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAleKAlSovXG5AaW1wb3J0IFwidGhpcmRwYXJ0eS9wcmludFwiO1xuXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS4gKi9cblxuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLiAqL1xuXG5jb2RlLCBrYmQsIHNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy4gKi9cblxuc3ViLCBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyogRm9ybXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLiAqL1xuXG5idXR0b24sIGlucHV0LCBvcHRncm91cCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuICovXG5cbmJ1dHRvbiwgaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LiAqL1xuXG5idXR0b24sIHNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS4gKi9cblxuYnV0dG9uLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG4vKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZywgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4vKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfSB9XG5cbi8qIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy4gKi9cblxuLyogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuICovXG5cbnRlbXBsYXRlLCBbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuIiwiLy8gQGRlc2MgLSDjg4Djgqbjg7Pjg63jg7zjg4njgZfjgZ9XZWLjg5Xjgqnjg7Pjg4jjgpLjgqTjg7Pjg53jg7zjg4jjgZfjgb7jgZnjgIJcbi8vIEBzZWUgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vam9uYXRoYW50bmVhbC9kMDQ2MGU1YzJkNWQ3ZjliYzVlNiNmaWxlLV9taXhpbnMtc2Fzc1xuLy8gQHBhcmFtU3RyaW5nICRuYW1lIC0gZm9udC1mYW1pbHnlkI3vvIjjgq/jgqrjg7zjg4bjg7zjgrfjg6fjg7PmjqjlpajvvIlcbi8vIEBwYXJhbVN0cmluZyAkcGF0aCAtIOODleOCqeODs+ODiOODleOCoeOCpOODq+OBuOOBruebuOWvvuODkeOCue+8iOOCr+OCquODvOODhuODvOOCt+ODp+ODs+aOqOWlqO+8iVxuLy8gQHBhcmFtU3RyaW5nICR3ZWlnaHQgW251bGxdIC0gZm9udC13ZWlnaHRcbi8vIEBwYXJhbVN0cmluZyAkc3R5bGUgW251bGxdIC0gZm9udC1zdHlsZVxuLy8gQHBhcmFtU3RyaW5nICRleHRzIFtlb3Qgd29mZjIgd29mZiB0dGYgc3ZnXSAtIOWvvuW/nOOBmeOCi+ODleOCqeODs+ODiOODleOCoeOCpOODq+OBruaLoeW8teWtkFxuLy8gQGV4YW1wbGUgc2FzcyAtIFVzYWdlXG4vLyArZm9udC1mYWNlKFwiT3BlbiBTYW5zXCIsIFwiZm9udC9PcGVuU2Fucy1SZWd1bGFyXCIsIDQwMCwgbm9ybWFsLCB3b2ZmIHR0Zilcbi8vXG4vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLyBAZm9udC1mYWNlIHtcbi8vICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCJcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsXG4vLyAgIGZvbnQtd2VpZ2h0OiA0MDBcbi8vICAgc3JjOiB1cmwoXCJmb250L09wZW5TYW5zLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250L09wZW5TYW5zLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpXG4vLyB9XG5AbWl4aW4gZm9udC1mYWNlKCRuYW1lLCAkcGF0aCwgJHdlaWdodDogbnVsbCwgJHN0eWxlOiBudWxsLCAkZXh0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuICAkc3JjOiBudWxsO1xuICAkZXh0bW9kczogKGVvdDogXCI/XCIsIHN2ZzogXCIjXCIgKyBzdHItcmVwbGFjZSgkbmFtZSwgXCIgXCIsIFwiX1wiKSk7XG4gICRmb3JtYXRzOiAob3RmOiBcIm9wZW50eXBlXCIsIHR0ZjogXCJ0cnVldHlwZVwiKTtcbiAgQGVhY2ggJGV4dCBpbiAkZXh0cyB7XG4gICAgJGV4dG1vZDogaWYobWFwLWhhcy1rZXkoJGV4dG1vZHMsICRleHQpLCAkZXh0ICsgbWFwLWdldCgkZXh0bW9kcywgJGV4dCksICRleHQpO1xuICAgICRmb3JtYXQ6IGlmKG1hcC1oYXMta2V5KCRmb3JtYXRzLCAkZXh0KSwgbWFwLWdldCgkZm9ybWF0cywgJGV4dCksICRleHQpO1xuICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwocXVvdGUoJHBhdGggKyBcIi5cIiArICRleHRtb2QpKSBmb3JtYXQocXVvdGUoJGZvcm1hdCkpLCBjb21tYSk7IH1cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgc3JjOiAkc3JjO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDsgfSB9XG4iLCIvLyAvKiA9PT09PT09PSBAZm9udC1mYWNlKFdlYmZvbnQpID09PT09PT09ICovXG5AaW5jbHVkZSBmb250LWZhY2UoXCJZYWt1SGFuSlBcIiwgXCIuLi9mb250cy9ZYWt1SGFuSlBzLUxpZ2h0XCIsIG5vcm1hbCwgbm9ybWFsLCB3b2ZmIHdvZmYyKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIllha3VIYW5KUFwiLCBcIi4uL2ZvbnRzL1lha3VIYW5KUHMtQm9sZFwiLCBib2xkLCBub3JtYWwsIHdvZmYgd29mZjIpO1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiTm90byBTYW5zIEpQXCIsIFwiLi4vZm9udHMvTm90b1NhbnNfTGlnaHRcIiwgbm9ybWFsLCBub3JtYWwsIG90ZiB3b2ZmIHdvZmYyKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIk5vdG8gU2FucyBKUFwiLCBcIi4uL2ZvbnRzL05vdG9TYW5zX0JvbGRcIiwgYm9sZCwgbm9ybWFsLCBvdGYgd29mZiB3b2ZmMik7XG4iLCJAaW1wb3J0IFwiX2ZvbnRmYWNlXCI7XG4vKiA9PT09PT09PSByb290ICYgYm9keSA9PT09PT09PSAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9iYXNlLW1kOyB9XG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplX2Jhc2UtbGc7IH1cbiAgQGluY2x1ZGUgbXEoeGwpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemVfYmFzZS14bDsgfSB9XG5cbi8vIDEuIOOBp+OBjeOCi+mZkOOCiuemgeWJh+WHpueQhuOBjOWun+ihjOOBleOCjOOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuLy8gMi4g44OV44Kp44Oz44OI44Gu5oyB44Gj44Gm44GE44KL44Kr44O844OL44Oz44Kw5oOF5aCx44KS5L2/55So44GX44G+44GZXG4vLyAzLiBDaHJvbWXjgIFTYWZhcmnjgIFGaXJlRm9444Gu44OV44Kp44Oz44OI44Os44Oz44OA44Oq44Oz44Kw44KS5ZCI44KP44Gb44G+44GZXG4vLyBodG1sW2xhbmc9XCJqYVwiXVxuLy8gICB3b3JkLWJyZWFrOiBicmVhay1hbGxcbmJvZHkge1xuICBjb2xvcjogJGNvbG9yLXRleHQtbWFpbjtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJvZHk7XG4gIGZvbnQtd2VpZ2h0OiAkbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkZm9udC1saW5lLWhlaWdodC1ib2R5O1xuICAvLyDmrrXokL3oqK3lrppcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgdGV4dC1qdXN0aWZ5OiBkaXN0cmlidXRlO1xuICBsaW5lLWJyZWFrOiBzdHJpY3QgLyogMSAqLztcbiAgd29yZC13cmFwOiBicmVhay13b3JkIC8qIDEgKi87XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQgLyogMSAqLztcbiAgZm9udC1rZXJuaW5nOiBub3JtYWwgLyogMiAqLztcbiAgLy8gZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInBhbHRcIlxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZCAvKiAzICovO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0byAvKiAzICovO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cblxuLyogPT09PT09PT0gaGVhZGluZ3MgPT09PT09PT0gKi9cbkBpbXBvcnQgXCJoZWFkaW5nc1wiO1xuXG4vKiA9PT09PT09PSBjb3B5ID09PT09PT09ICovXG5AaW1wb3J0IFwiY29weVwiO1xuIiwiLy8gZm9udC1mYW1pbHlcbiRmb250LWZhbWlseS1zYW5zOiBcIllha3VIYW5KUFwiLCBcIk5vdG8gU2FucyBKUFwiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb05cIiwgTWVpcnlvLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBcIkhpcmFnaW5vIE1pbmNobyBQcm9OXCIsIFwiSEfmmI7mnJ1FXCIsIHNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsIE1lbmxvLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktZW46IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1ib2R5OiAkZm9udC1mYW1pbHktc2FucyAhZGVmYXVsdDtcbiRmb250LWhlYWRpbmc6ICRmb250LWZhbWlseS1zYW5zICFkZWZhdWx0O1xuJGZvbnQtcHJlOiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtdGhpbjogJGZvbnQtZmFtaWx5LXNhbnMgIWRlZmF1bHQ7XG5cbi8vIGZvbnQtc2l6ZVxuJGZvbnQtc2l6ZV9iYXNlOiAxNnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZV9iYXNlLW1kOiAxNnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZV9iYXNlLWxnOiAxNnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZV9iYXNlLXhsOiAxNnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1yYXRpbzogMS4yICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLXh4czogMWVtIC8gKDEuNSAqICRmb250LXNpemUtcmF0aW8pICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14czogMWVtIC8gKDEuMjUgKiAkZm9udC1zaXplLXJhdGlvKSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206IDFlbSAvICgxICogJGZvbnQtc2l6ZS1yYXRpbykgIWRlZmF1bHQ7XG4kZm9udC1zaXplLW1kOiAxZW0gKiAoMSAqICRmb250LXNpemUtcmF0aW8pICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogMWVtICogKDEuMjUgKiAkZm9udC1zaXplLXJhdGlvKSAhZGVmYXVsdDtcbiRmb250LXNpemUteGw6IDFlbSAqICgxLjUgKiAkZm9udC1zaXplLXJhdGlvKSAhZGVmYXVsdDtcbiRmb250LXNpemUteHhsOiAxZW0gKiAoMS43NSAqICRmb250LXNpemUtcmF0aW8pICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14eHhsOiAxZW0gKiAoMiAqICRmb250LXNpemUtcmF0aW8pICFkZWZhdWx0O1xuXG4vLyBmb250LXdlaWdodFxuJG5vcm1hbDogbm9ybWFsO1xuJGJvbGQ6IGJvbGQ7XG5cbi8vIGxpbmUtaGVpZ2h0XG4kZm9udC1saW5lLWhlaWdodC1ib2R5OiAxLjggIWRlZmF1bHQ7XG4kZm9udC1saW5lLWhlaWdodC1saXN0OiAxLjQgIWRlZmF1bHQ7XG4kZm9udC1saW5lLWhlaWdodC10YWJsZTogMS41ICFkZWZhdWx0O1xuJGZvbnQtbGluZS1oZWlnaHQtcHJlOiAxLjYgIWRlZmF1bHQ7XG4kZm9udC1saW5lLWhlaWdodC1oZWFkaW5nOiAxLjIgIWRlZmF1bHQ7XG4kZm9udC1saW5lLWhlaWdodC1kb3VibGU6ICAyICogJGZvbnQtbGluZS1oZWlnaHQtaGVhZGluZyAhZGVmYXVsdDtcbiIsIi8vIEBkZXNjIC0g44Oh44OH44Kj44Ki44Kv44Ko44Oq44KSYG1pbi13aWR0aGDjgafmjL/lhaXjgZfjgb7jgZnjgIJcbi8vIEBwYXJhbSBTdHJpbmcgJGJyZWFrcG9pbnQgLSDlvJXmlbDjgavlpInmlbDjga7jgq3jg7zjg6/jg7zjg4njgpLmuKHjgZfjgb7jgZnjgIJcbi8vIEBzZWUgLSAkYnJlYWtwb2ludFxuLy8gQGV4YW1wbGUgc2FzcyAtIFVzYWdlXG4vLyAuZm9vXG4vLyAgIGNvbG9yOiByZWQ7XG4vLyAgICttcShtZClcbi8vICAgICBjb2xvcjogYmx1ZTtcbi8vXG4vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLyAuZm9vXG4vLyAgIGNvbG9yOiByZWQ7XG4vL1xuLy8gQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4vLyAgIC5mb28ge1xuLy8gICAgIGNvbG9yOiBibHVlO1xuLy8gICB9XG4vLyB9XG5AbWl4aW4gbXEoJGJyZWFrcG9pbnQpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRnLWJyZWFrcG9pbnQsICRicmVha3BvaW50KSB7XG4gICAgQG1lZGlhICN7aW5zcGVjdChtYXAtZ2V0KCRnLWJyZWFrcG9pbnQsICRicmVha3BvaW50KSl9IHtcbiAgICAgIEBjb250ZW50OyB9IH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiVW5mb3J0dW5hdGVseSwgbm8gdmFsdWUgY291bGQgYmUgcmV0cmlldmVkIGZyb20gYCN7JGJyZWFrcG9pbnR9YC4gXCIgKyBcIlBsZWFzZSBtYWtlIHN1cmUgaXQgaXMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRgIG1hcC5cIjsgfSB9XG4iLCIvLyBHcmF5IHNjYWxlXG4kQjM6ICNGN0Y3Rjc7ICAvLyBCbGFjayAgMyVcbiRCNTogI0YyRjJGMjsgIC8vIEJsYWNrICA1JVxuJEIxMDogI0U1RTVFNTsgLy8gQmxhY2sgMTAlXG4kQjIwOiAjQ0NDOyAgICAvLyBCbGFjayAyMCVcbiRCMzA6ICNCMkIyQjI7IC8vIEJsYWNrIDMwJVxuJEI0MDogIzk5OTsgICAgLy8gQmxhY2sgNDAlXG4kQjUwOiAjODA4MDgwOyAvLyBCbGFjayA1MCVcbiRCNjA6ICM2NjY7ICAgIC8vIEJsYWNrIDYwJVxuJEI3MDogIzRDNEM0QzsgLy8gQmxhY2sgNzAlXG4kQjgwOiAjMzMzOyAgICAvLyBCbGFjayA4MCVcbiRCOTA6ICMxOTE5MTk7IC8vIEJsYWNrIDkwJVxuXG4vLyBBbHBoYVxuJFdBMTogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7IC8vIFdoaXRlIEFscGhhIDEwJVxuJFdBMjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IC8vIFdoaXRlIEFscGhhIDIwJVxuJFdBMzogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMyk7IC8vIFdoaXRlIEFscGhhIDMwJVxuJFdBNDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNCk7IC8vIFdoaXRlIEFscGhhIDQwJVxuJFdBNTogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7IC8vIFdoaXRlIEFscGhhIDUwJVxuJFdBNjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNik7IC8vIFdoaXRlIEFscGhhIDYwJVxuJFdBNzogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNyk7IC8vIFdoaXRlIEFscGhhIDcwJVxuJFdBODogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7IC8vIFdoaXRlIEFscGhhIDgwJVxuJFdBOTogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOSk7IC8vIFdoaXRlIEFscGhhIDkwJVxuXG4kQkExOiByZ2JhKDAsIDAsIDAsIC4xKTsgLy8gQmxhY2sgQWxwaGEgMTAlXG4kQkEyOiByZ2JhKDAsIDAsIDAsIC4yKTsgLy8gQmxhY2sgQWxwaGEgMjAlXG4kQkEzOiByZ2JhKDAsIDAsIDAsIC4zKTsgLy8gQmxhY2sgQWxwaGEgMzAlXG4kQkE0OiByZ2JhKDAsIDAsIDAsIC40KTsgLy8gQmxhY2sgQWxwaGEgNDAlXG4kQkE1OiByZ2JhKDAsIDAsIDAsIC41KTsgLy8gQmxhY2sgQWxwaGEgNTAlXG4kQkE2OiByZ2JhKDAsIDAsIDAsIC42KTsgLy8gQmxhY2sgQWxwaGEgNjAlXG4kQkE3OiByZ2JhKDAsIDAsIDAsIC43KTsgLy8gQmxhY2sgQWxwaGEgNzAlXG4kQkE4OiByZ2JhKDAsIDAsIDAsIC44KTsgLy8gQmxhY2sgQWxwaGEgODAlXG4kQkE5OiByZ2JhKDAsIDAsIDAsIC45KTsgLy8gQmxhY2sgQWxwaGEgOTAlXG5cbi8vIEtleSBDb2xvclxuJGNvbG9yLWJyYW5kOiAjM0U4RkU2ICFkZWZhdWx0OyAvL0NvcnBvcmF0ZSBDb2xvclxuJENDMTA6ICNFQ0Y0RkMgIWRlZmF1bHQ7IC8vQ29ycG9yYXRlIENvbG9yIDEwJVxuJENDNjA6ICM4QkJDRjAgIWRlZmF1bHQ7IC8vQ29ycG9yYXRlIENvbG9yIDYwJVxuXG4vLyBCYWNrZ3JvdW5kc1xuJGNvbG9yLWJhY2tncm91bmQtYm9keTogI2ZmZiAhZGVmYXVsdDtcbiRjb2xvci1iYWNrZ3JvdW5kLWlucHV0OiAjZmZmICFkZWZhdWx0O1xuJGNvbG9yLWJhY2tncm91bmQtc2NyZWVuOiAjZjFmMWYxICFkZWZhdWx0O1xuJGNvbG9yLWJhY2tncm91bmQtaHI6ICNjY2MgIWRlZmF1bHQ7XG4kY29sb3ItYmFja2dyb3VuZC1idXR0b246ICMwMDczYWEgIWRlZmF1bHQ7XG4kY29sb3ItYmFja2dyb3VuZC1idXR0b24taG92ZXI6ICMxMTEgIWRlZmF1bHQ7XG4kY29sb3ItYmFja2dyb3VuZC1wcmU6ICNlZWUgIWRlZmF1bHQ7XG4kY29sb3ItYmFja2dyb3VuZC1pbnM6ICNmZmY5YzAgIWRlZmF1bHQ7XG4kY29sb3ItYmFja2dyb3VuZF9zZWxlY3Rpb246IGxpZ2h0ZW4oJGNvbG9yLWJyYW5kLCAyMCUpO1xuXG4vLyBUZXh0XG4kY29sb3ItdGV4dC1tYWluOiAkQjgwICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtaW1wb3J0YW50OiAjRTYwMDEyICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtbGlnaHQ6ICRCNDAgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1ob3ZlcjogbGlnaHRlbiggIzExMSwgMjIuNSUgKSAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LXNjcmVlbjogIzIxNzU5QiAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWlucHV0OiAjNjY2ICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtaW5wdXQtZm9jdXM6ICMxMTEgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4kY29sb3ItbGluazogJEI0MCAhZGVmYXVsdDtcbiRjb2xvci1saW5rLXZpc2l0ZWQ6IGRhcmtlbiggJGNvbG9yLWxpbmssIDEwJSApICFkZWZhdWx0O1xuJGNvbG9yLWxpbmstaG92ZXI6IGxpZ2h0ZW4oICRjb2xvci1saW5rLCAyMCUgKSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyc1xuJGNvbG9yLWJvcmRlcjogJEIzMCAhZGVmYXVsdDtcbiRjb2xvci1ib3JkZXItbGluazogJGNvbG9yLWxpbmsgIWRlZmF1bHQ7XG4kY29sb3ItYm9yZGVyLWxpbmstdmlzaXRlZDogJGNvbG9yLWxpbmstdmlzaXRlZCAhZGVmYXVsdDtcbiRjb2xvci1ib3JkZXItbGluay1ob3ZlcjogJGNvbG9yLWxpbmstaG92ZXIgIWRlZmF1bHQ7XG4kY29sb3ItYm9yZGVyLWJ1dHRvbjogI2NjYyAjY2NjICNiYmIgIWRlZmF1bHQ7XG4kY29sb3ItYm9yZGVyLWJ1dHRvbi1ob3ZlcjogI2NjYyAjYmJiICNhYWEgIWRlZmF1bHQ7XG4kY29sb3ItYm9yZGVyLWJ1dHRvbi1mb2N1czogI2FhYSAjYmJiICNiYmIgIWRlZmF1bHQ7XG4kY29sb3ItYm9yZGVyLWlucHV0OiAkY29sb3ItYm9yZGVyICFkZWZhdWx0O1xuJGNvbG9yLWJvcmRlci1hYmJyOiAjNjY2ICFkZWZhdWx0O1xuIiwiaDEsLmgxLFxuaDIsLmgyLFxuaDMsLmgzLFxuaDQsLmg0LFxuaDUsLmg1LFxuaDYsLmg2IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWhlYWRpbmc7XG4gIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGxpbmUtaGVpZ2h0OiAkZm9udC1saW5lLWhlaWdodC1oZWFkaW5nOyB9XG5cbmgxLC5oMSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHhsOyB9XG5cbmgyLC5oMiB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eGw7IH1cblxuaDMsLmgzIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXhsOyB9XG5cbmg0LC5oNCB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZzsgfVxuXG5oNSwuaDUge1xuICBmb250LXNpemU6ICRmb250LXNpemUtbWQ7IH1cblxuaDYsLmg2IHtcbiAgZm9udC1zaXplOiAxZW07IH1cbiIsImJsb2NrcXVvdGUge1xuXHRjaXRlIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUteHM7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIu+8iFwiOyB9XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCLvvIlcIjsgfSB9IH1cblxucHJlLCBjb2RlLCBrYmQsIHNhbXAsIHR0LCB2YXIge1xuXHRmb250LXNpemU6IC44NzVlbTtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7IH1cblxuYWJiciB7XG5cdGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzY2Njtcblx0Y3Vyc29yOiBoZWxwOyB9XG5cbm1hcmssIGlucyB7XG5cdGJhY2tncm91bmQ6ICNmZmY5YzA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5iaWcge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtbWQ7IH1cblxuc21hbGwge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtc207IH1cblxuc3Ryb25nLCBlbSwgYiwgdGgge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDsgfVxuXG4vKiDml6XmnKzoqp7jgafjga/mlpzkvZPjgpLkvb/nlKjjgZfjgarjgYTjgZ/jgoHjg6rjgrvjg4Pjg4jjgZfjgb7jgZkgKi9cbmksIGNpdGUsIGVtLCBhZGRyZXNzLCBkZm4ge1xuICBbbGFuZz1cImphXCJdICYge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfSB9XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBlbGVtZW50cyByZXNldFxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIGB3aWR0aGDjgahgaGVpZ2h0YOOBq2BtYXJnaW5g44GoYGJvcmRlcmDjgpLlkKvjgoHjgb7jgZkgKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG4vKiBzZWxlY3Rpb24gY29sb3IgKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmRfc2VsZWN0aW9uOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFja2dyb3VuZC1ib2R5O1xuICBwYWRkaW5nLXRvcDogJEhIOyB9XG5cbi8qIOODnuODvOOCuOODs+OCkuODquOCu+ODg+ODiOOBl+OBvuOBmSAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIOODh+ODleOCqeODq+ODiOOBruOCueOCv+OCpOODq+OCkuODquOCu+ODg+ODiOOBl+OBvuOBmSAqL1xuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qIG5vcm1hbGl6ZS5jc3Pjga7jgrnjgr/jgqTjg6vjgpLjg6rjgrvjg4Pjg4jjgZfjgabjgIFkaXbjga7jgojjgYbjgavmibHjgYTjgb7jgZkgKi9cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIOODluODreODg+OCr+imgee0oOOBruS4iuS4i+OBruODnuODvOOCuOODs+OCkuODquOCu+ODg+ODiOOBl+OBvuOBmSAqL1xuaGVhZGVyLCBuYXYsIG1haW4sIGFzaWRlLCBmb290ZXIsXG5hcnRpY2xlLCBzZWN0aW9uLFxuaDEsaDIsaDMsaDQsaDUsaDYsXG51bCxvbCxkbCxcbmJsb2NrcXVvdGUsXG5wLFxuYWRkcmVzcyxcbmhyLFxudGFibGUsXG5wcmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIGHjgr/jgrDoqK3lrpogKi9cbmEge1xuICBAaW5jbHVkZSBnLUxpbms7XG5cbiAgJi5kYiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuXG5AaW1wb3J0IFwibGlzdHNcIjtcblxuQGltcG9ydCBcInRhYmxlc1wiO1xuXG4vKiDjg5Xjg6vjg7zjg4njgqTjg6Hjg7zjgrjjgavjgZfjgb7jgZkgKi9cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIElF44GuaW1n44Gob2JqZWN06KaB57Sg44Gn44KCU1ZH44KS44OV44Or44O844OJ44Kk44Oh44O844K444Gr44GX44G+44GZICovXG4vKiBTZWU6IGh0dHBzOi8vaGFpbDJ1Lm5ldC9ibG9nL3dlYmRlc2lnbi9tYXgtd2lkdGgtYW5kLXN2Zy1vbi1pZTExLWFuZC1iZWxvdy5odG1sICovXG5bc3JjJD1cIi5zdmdcIl0sXG5bZGF0YSQ9XCIuc3ZnXCJdIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyog44Kt44O844Oc44O844OJ44Gn44Ki44Kv44K744K544Gn44GN44Gq44GE6KaB57Sg44Gu44OV44Kp44O844Kr44K56KGo56S644KS5raI44GX44G+44GZICovXG4vKiBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UgKi9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIElFMTDku6XpmY3jga5gaW5wdXRbdHlwZT1cInRleHRcIl1g44Gn5YWl5Yqb5YaF5a6544Gu5raI5Y675qmf6IO944KS6Z2e6KGo56S644Gr44GX44G+44GZICovXG5bdHlwZT1cInRleHRcIl06Oi1tcy1jbGVhciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBJRTEw5Lul6ZmN44GuYGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXWDjgafjg57jgrnjgq/jga7kuIDmmYLnmoTop6PpmaTmqZ/og73jgpLpnZ7ooajnpLrjgavjgZfjgb7jgZkgKi9cblt0eXBlPVwicGFzc3dvcmRcIl06Oi1tcy1yZXZlYWwge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyogSUXjgahFZGdl44Gv44K544OU44Oz44Oc44K/44Oz44Gr5pyq5a++5b+c44Gu44Gf44KB44CBQ2hyb21l44GoRmlyZUZveOOBp+mdnuihqOekuuOBq+OBl+OBvuOBmSAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyog44OV44Kp44O844Kr44K544Kk44Oz44K444Ky44O844K/44Gv44Kt44O844Oc44O844OJ5pON5L2c44Gu44Go44GN44Gr44Gg44GR6KGo56S644GX44G+44GZICovXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gKjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuIiwiLy8gUmVzcG9uc2l2ZSB3aWR0aHMuXG4kc2l6ZS1zaXRlLW1haW46IDEwMCU7XG4kc2l6ZS1zaXRlLXNpZGViYXI6IDI1JTtcbiRzaXplLXNpdGUtbWFyZ2luczogY2FsYygxMCUgKyA2MHB4KTtcbiRzaXplLXNpdGUtdGFibGV0LWNvbnRlbnQ6IGNhbGMoOCAqICgxMDB2dyAvIDEyKSAtIDI4cHgpO1xuJHNpemUtc2l0ZS1kZXNrdG9wLWNvbnRlbnQ6IGNhbGMoNiAqICgxMDB2dyAvIDEyKSAtIDI4cHgpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCcmVhayBQb2ludFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gYHNtYDogU21hcnRQaG9uZSBwb3J0cmFpdFxuLy8gYG1kYDogaVBhZCBwb3J0cmFpdFxuLy8gYGxnYDogaVBhZCBsYW5kc2NhcGVcbi8vIGB4bGA6IGRlc2t0b3BcbiRzbS13aWR0aDogNDgwcHg7XG4kbWQtd2lkdGg6IDc2OHB4O1xuJGxnLXdpZHRoOiAxMDI0cHg7XG4keGwtd2lkdGg6IDE0NDBweDtcbiRnLWJyZWFrcG9pbnQ6IChcInNtXCI6IFwicHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skc20td2lkdGh9KVwiLCBcIm1kXCI6IFwicHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbWQtd2lkdGh9KVwiLCBcImxnXCI6IFwicHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbGctd2lkdGh9KVwiLCBcInhsXCI6IFwicHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skeGwtd2lkdGh9KVwiKSAhZGVmYXVsdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBzaXRlLUVsZW1lbnRzIFByb3BlcnR5XG4kSEg6IDYwcHggIWRlZmF1bHQ7IC8vSGVhZGVyIGhlaWdodFxuJE5IOiA2MHB4ICFkZWZhdWx0OyAvL05hdiBIZWlnaHRcblxuXG4vLyDjgrvjgq/jgrfjg6fjg7Pjga7kvZnnmb1cbiRzZWN0aW9uMi1tYXJnaW46IHJlbSg2MCkgMCAwICFkZWZhdWx0O1xuJHNlY3Rpb24yLW1hcmdpbi1tZDogcmVtKDEwMCkgMCAwICFkZWZhdWx0O1xuJHNlY3Rpb24yLWRpdmlkZXItbWFyZ2luOiByZW0oMzApIDAgMCAhZGVmYXVsdDtcbiRzZWN0aW9uMi1kaXZpZGVyLW1hcmdpbi1tZDogcmVtKDUwKSAwIDAgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uMy1tYXJnaW46IHJlbSg1MCkgMCAwICFkZWZhdWx0O1xuJHNlY3Rpb24zLW1hcmdpbi1tZDogcmVtKDgwKSAwIDAgIWRlZmF1bHQ7XG4kc2VjdGlvbjMtZGl2aWRlci1tYXJnaW46IHJlbSgyNSkgMCAwICFkZWZhdWx0O1xuJHNlY3Rpb24zLWRpdmlkZXItbWFyZ2luLW1kOiByZW0oNTApIDAgMCAhZGVmYXVsdDtcblxuJHNlY3Rpb240LW1hcmdpbjogcmVtKDM1KSAwIDAgIWRlZmF1bHQ7XG4kc2VjdGlvbjQtbWFyZ2luLW1kOiByZW0oNTApIDAgMCAhZGVmYXVsdDtcblxuJHNlY3Rpb241LW1hcmdpbjogcmVtKDMwKSAwIDAgIWRlZmF1bHQ7XG4kc2VjdGlvbjUtbWFyZ2luLW1kOiByZW0oMzApIDAgMCAhZGVmYXVsdDtcblxuLy8g6KaL5Ye644GX44Gu5L2Z55m9XG4kaGVhZGluZzEtbWFyZ2luOiAwIDAgcmVtKDI1KSAhZGVmYXVsdDtcbiRoZWFkaW5nMS1tYXJnaW4tbWQ6IDAgMCByZW0oNDApICFkZWZhdWx0O1xuXG4kaGVhZGluZzItbWFyZ2luOiAwIDAgcmVtKDI1KSAhZGVmYXVsdDtcbiRoZWFkaW5nMi1tYXJnaW4tbWQ6IDAgMCByZW0oNDApICFkZWZhdWx0O1xuXG4kaGVhZGluZzMtbWFyZ2luOiAwIDAgcmVtKDI1KSAhZGVmYXVsdDtcbiRoZWFkaW5nMy1tYXJnaW4tbWQ6IDAgMCByZW0oNDApICFkZWZhdWx0O1xuXG4kaGVhZGluZzQtbWFyZ2luOiAwIDAgcmVtKDE1KSAhZGVmYXVsdDtcbiRoZWFkaW5nNC1tYXJnaW4tbWQ6IDAgMCByZW0oMjUpICFkZWZhdWx0O1xuXG4kaGVhZGluZzUtbWFyZ2luOiAwIDAgcmVtKDE1KSAhZGVmYXVsdDtcbiRoZWFkaW5nNS1tYXJnaW4tbWQ6IDAgMCByZW0oMjUpICFkZWZhdWx0O1xuXG4vLyDjg5bjg63jg4Pjgq/jgajjg4bjgq3jgrnjg4jjga7kvZnnmb1cbiRibG9jay1tYXJnaW46IDIuNWVtIDAgMCAhZGVmYXVsdDtcbiRsZWFkLW1hcmdpbjogMCAwIDFlbSAhZGVmYXVsdDtcbiR0ZXh0LW1hcmdpbjogMCAwIGVtKDEwKSAhZGVmYXVsdDtcbiRzbWFsbC10ZXh0LW1hcmdpbjogMWVtIDAgMCAhZGVmYXVsdDtcbiRpbWFnZS1tYXJnaW46IDEuNWVtIDAgMCAhZGVmYXVsdDtcblxuLy8gYm9yZGVyXG4kYm9yZGVyLWNvbW1vbjogMXB4IHNvbGlkICRCMzA7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gQ1NTIHZhbHVlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGJ4c2gtbGFyZ2U6IHJlbSgxMCkgcmVtKDEwKSByZW0oMjApICRCQTQsIHJlbSgzMCkgcmVtKDMwKSByZW0oNjApICRCQTI7XG4kYnhzaC1zbWFsbDogcmVtKDEpIHJlbSgxKSByZW0oMikgJEJBNztcbiIsIkBtaXhpbiBsaW5rLXRyYW5zaXRpb24oICRhdHRyOiBjb2xvciApIHtcblx0dHJhbnNpdGlvbjogJGF0dHIgJGxpbmtfdHJhbnNpdGlvbiBlYXNlLWluLW91dDsgfVxuXG5AbWl4aW4gYnV0dG9uLXRyYW5zaXRpb24ge1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRidXR0b25fdHJhbnNpdGlvbiBlYXNlLWluLW91dDsgfVxuXG5AbWl4aW4gYnV0dG9uLWFsbC10cmFuc2l0aW9uIHtcblx0dHJhbnNpdGlvbjogYWxsICRidXR0b25fdHJhbnNpdGlvbiBlYXNlLWluLW91dDsgfVxuXG5AbWl4aW4gYmFja2dyb3VuZC10cmFuc2l0aW9uIHtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAkYmFja2dyb3VuZF90cmFuc2l0aW9uIGVhc2UtaW4tb3V0OyB9XG5cbi8vIOOCteOCpOODiOWFsemAmuOBrnRyYW5zaXRvblxuQG1peGluIGctdHJzKCR0aW1lOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiwgJGZ1bmM6ICR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikge1xuICB0cmFuc2l0aW9uOiBhbGwgJHRpbWUgJGZ1bmM7IH1cbiIsIi8vIGB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbmDjgahgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbmDjg5fjg63jg5Hjg4bjgqPjgavmjIflrprjgZnjgovjgIFcbi8vIGN1YmljLWJlemllciDplqLmlbDoqJjms5XjgaflrprnvqnjgZfjgZ/jgIEz5qyh44OZ44K444Kn5puy57ea44Gu44K/44Kk44Of44Oz44Kw6Zai5pWw44Gn44GZ44CCXG4vLyDlrp/pmpvjga7li5XjgY3jga/jgIHku6XkuIvjga7jgrXjgqTjg4jjgafnorroqo3jgafjgY3jgb7jgZnjgIJcbi8vIGh0dHBzOi8vbWF0dGhld2xlaW4uY29tL2NlYXNlci9cbi8vIGVhc2Xjga/jgIzjgobjgaPjgY/jgorjgajjgI3jgIFpbuOBr+OAjOWni+OBvuOCi+OAjeOAgW91dOOBr+OAjOe1guOCj+OCi+OAjeOBq+e9ruOBjeaPm+OBiOOCi+OBqOaDs+WDj+OBl+OChOOBmeOBhOOBp+OBmeOAglxuLy8gSUU544GvYGN1YmljLWJlemllcmDjgavlr77lv5zjgZfjgabjgYTjgarjgYTjga7jgafjgIHjg5Xjgqnjg7zjg6vjg5Djg4Pjgq/jgpLmjIflrprjgZfjgabjgY/jgaDjgZXjgYTjgIJcblxuLy8gbGluZWFy77ya5LiA5a6a44Gu6YCf5bqm44Gn5aSJ5YyW44GZ44KLXG4kbGluZWFyOiBjdWJpYy1iZXppZXIoMC4yNSwgMC4yNSwgMC43NSwgMC43NSkgIWRlZmF1bHQ7XG5cbi8vIGVhc2XvvJrplovlp4vmmYLjgYvjgonmgKXpgJ/jgavliqDpgJ/jgZfjgabjgIHkuK3nm6TjgYvjgonnt6njgoTjgYvjgavjgarjgotcbiRlYXNlOiBjdWJpYy1iZXppZXIoMC4yNSwgMC4xLCAwLjI1LCAxKSAhZGVmYXVsdDtcblxuLy8gZWFzZS1pbu+8mue3qeOChOOBi+OBq+Wni+OBvuOCiuOAgeasoeesrOOBq+WKoOmAn+OBl+OAgeeqgeeEtuWBnOatouOBmeOCi1xuJGVhc2UtaW46IGN1YmljLWJlemllcigwLjQyLCAwLCAxLCAxKSAhZGVmYXVsdDtcbiRlYXNlLWluLXF1YWQ6IGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41MykgIWRlZmF1bHQ7XG4kZWFzZS1pbi1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSkgIWRlZmF1bHQ7XG4kZWFzZS1pbi1xdWFydDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMikgIWRlZmF1bHQ7XG4kZWFzZS1pbi1xdWludDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNikgIWRlZmF1bHQ7XG4kZWFzZS1pbi1zaW5lOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KSAhZGVmYXVsdDtcbiRlYXNlLWluLWV4cG86IGN1YmljLWJlemllcigwLjk1LCAwLjA1LCAwLjc5NSwgMC4wMzUpICFkZWZhdWx0O1xuJGVhc2UtaW4tY2lyYzogY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpICFkZWZhdWx0O1xuJGVhc2UtaW4tYmFjazogY3ViaWMtYmV6aWVyKDAuNiwgLTAuMjgsIDAuNzM1LCAwLjA0NSkgIWRlZmF1bHQ7XG5cbi8vIGVhc2Utb3V077ya5oCl6YCf44Gr5aeL44G+44KK44CB5qyh56ys44Gr57ep44KE44GL44Gr44Gq44Gj44Gm44GE44GPXG4kZWFzZS1vdXQ6IGN1YmljLWJlemllcigwLCAwLCAwLjU4LCAxKSAhZGVmYXVsdDtcbiRlYXNlLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCkgIWRlZmF1bHQ7XG4kZWFzZS1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpICFkZWZhdWx0O1xuJGVhc2Utb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpICFkZWZhdWx0O1xuJGVhc2Utb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSkgIWRlZmF1bHQ7XG4kZWFzZS1vdXQtc2luZTogY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSkgIWRlZmF1bHQ7XG4kZWFzZS1vdXQtZXhwbzogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpICFkZWZhdWx0O1xuJGVhc2Utb3V0LWNpcmM6IGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpICFkZWZhdWx0O1xuJGVhc2Utb3V0LWJhY2s6IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KSAhZGVmYXVsdDtcblxuLy8gZWFzZS1pbi1vdXTvvJrnt6njgoTjgYvjgavlp4vjgb7jgorjgIHliqDpgJ/jgYznt6njgoTjgYvjgavjgarjgaPjgabjgYTjgY9cbiRlYXNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpICFkZWZhdWx0O1xuJGVhc2UtaW4tb3V0LXF1YWQ6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KSAhZGVmYXVsdDtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpICFkZWZhdWx0O1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpICFkZWZhdWx0O1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSkgIWRlZmF1bHQ7XG4kZWFzZS1pbi1vdXQtc2luZTogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KSAhZGVmYXVsdDtcbiRlYXNlLWluLW91dC1leHBvOiBjdWJpYy1iZXppZXIoMSwgMCwgMCwgMSkgIWRlZmF1bHQ7XG4kZWFzZS1pbi1vdXQtY2lyYzogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNSwgMC44NikgIWRlZmF1bHQ7XG4kZWFzZS1pbi1vdXQtYmFjazogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSkgIWRlZmF1bHQ7XG4iLCJAbWl4aW4gZy1MaW5rIHtcbiAgQGluY2x1ZGUgZy10cnM7XG5cbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogJGNvbG9yLWxpbms7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkY29sb3ItbGluay12aXNpdGVkOyB9XG5cbiAgaHRtbDpub3QoW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0pICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGNvbG9yLWxpbmstaG92ZXI7XG4gICAgb3V0bGluZTogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZy10cnM7IH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluO1xuICAgIG91dGxpbmUtc3R5bGU6IGRvdHRlZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG4iLCJ1bCwgb2wge1xuICBwYWRkaW5nLWxlZnQ6IDEuMmVtOyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogY2lyY2xlO1xuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH0gfVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG5cbiAgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGxvd2VyLXJvbWFuOyB9IH1cblxubGkge1xuICBsaW5lLWhlaWdodDogJGZvbnQtbGluZS1oZWlnaHQtbGlzdDsgfVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmRkIHtcbiAgbWFyZ2luOiAwIDFlbSAxZW07IH1cbiIsInRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgbGluZS1oZWlnaHQ6ICRmb250LWxpbmUtaGVpZ2h0LXRhYmxlO1xuXG4gIHRoLCB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRCMjA7IH1cblxuICB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfSB9XG4iLCIvKiogQmFzaWMgVXRpbGl0eSBDbGFzc2VzICoqL1xuLyogPT09PT09PT0gVGV4dCA9PT09PT09PSAqL1xuLyog44K144Oz44K744Oq44OV5L2T77yI44K044K344OD44Kv5L2T77yJ44Gr44GZ44KLICovXG4uc2FucyB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2FuczsgfVxuXG4vKiDjgrvjg6rjg5XkvZPvvIjmmI7mnJ3kvZMp44Gr44GZ44KLICovXG4uc2VyaWYge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlcmlmOyB9XG5cbi8qIOimi+WHuuOBl+eUqOabuOS9k++8iOWkquWtl++8ieOBq+OBmeOCiyAqL1xuLmJvbGQge1xuICBmb250LXdlaWdodDogJGJvbGQ7IH1cblxuLyog5pys5paH55So5pu45L2T44Gr44GZ44KLICovXG4ubm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6ICRub3JtYWw7IH1cblxuLyog5pys5paH44Go5ZCM44GY54q25oWL44Gu44OG44Kt44K544OI44Gr44GZ44KLICovXG4uZm9udC1ib2R5IHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogJGZvbnQtYm9keTtcbiAgZm9udC13ZWlnaHQ6ICRub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiB0ZXh0LWRlY29yYXRpb246IG5vbmUgKi9cbi50ZC1uIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4vKiDkuIvnt5rjgpLlvJXjgY8gKi9cbi50ZC11IHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyog5paH56ug44KS5bem5a+E44GbICovXG4udGEtbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLyog5paH56ug44KS5Lit5aSu5a+E44GbICovXG4udGEtYyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiDmlofnq6DjgpLlj7Plr4TjgZsgKi9cbi50YS1yIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLyog5paH56ug44KS5Z2H562J6YWN572uICovXG4udGEtaiB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuLyogbGlzdC1zdHlsZS10eXBlOiBub25lICovXG4ubHN0LW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiDjg5bjg63jg4Pjgq/jga7luYXjgavlj47jgb7jgonjgarjgYTjg4bjgq3jgrnjg4jjga7ooYzmnKvjgasz54K544Oq44O844OA77yI4oCm77yJ44KS5Ye644GZ77yIMeihjOOBruOBv+WvvuW/nO+8iSAqL1xuLnR4dC1lbGxpcHNpcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qIOOCreODvOODnOODvOODieaTjeS9nOOChOOCueOCr+ODquODvOODs+ODquODvOODgOODvOOBuOOBruiqreOBv+S4iuOBkuOBq+WvvuW/nOOBl+OAgeimgee0oOiHquS9k+OBr+mdnuihqOekuuOBq+OBmeOCiyAqL1xuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5OyB9XG5cbi8qID09PT09PT09IEJsb2NrIExheW91dCA9PT09PT09PSAqL1xuLyogZGlzcGxheeezuyAqL1xuLyog6KaB57Sg44KS44Kk44Oz44Op44Kk44Oz44Gr44GZ44KLICovXG4uaWwge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLyog6KaB57Sg44KS44Kk44Oz44Op44Kk44Oz44OW44Ot44OD44Kv44Gr44GZ44KLICovXG4uaWIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyog6KaB57Sg44KS44OW44Ot44OD44Kv44Gr44GZ44KLICovXG4uZGIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiDnm7TkuIvjga7lrZDopoHntKDjgpLmsLTlubPou7jjga7nnJ/jgpPkuK3phY3nva7jgavjgZnjgosgKi9cbi5oYyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qIOebtOS4i+OBruWtkOimgee0oOOCkuWeguebtOi7uOOBruecn+OCk+S4remFjee9ruOBq+OBmeOCiyAqL1xuLnZjIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKiDnm7TkuIvjga7lrZDopoHntKDjgpLmsLTlubPlnoLnm7Tou7jjga7nnJ/jgpPkuK3phY3nva7jgavjgZnjgosgKi9cbi52aGMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKiA9PT09PT09PSBJbWFnZSwgRmlndXJlID09PT09PT09ICovXG4vKiDnlLvlg4/jgpJvYmplY3QtZml0OmNvdmVy44Gr44GZ44KLICovXG4ub2JqZWN0LWZpdC1jb3ZlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuXG4vKiBmbG9hdOezuyAqL1xuLyog6KaB57Sg44GrZmxvYXQ6bGVmdCAqL1xuLmZsIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyog6KaB57Sg44GrZmxvYXQ6cmlnaHQgKi9cbi5mciB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4vKiDopoHntKDjgatjbGVhcjpib3RoICovXG4uY2Ige1xuICBjbGVhcjogYm90aDsgfVxuXG4vKiBjbGVhcmZpeCAqL1xuLmNmIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7IH0gfVxuXG4vKiBwb3NpdGlvbuezuyAqL1xuLyog6KaB57Sg44KS55u45a++6YWN572uICovXG4ucG9zciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiDopoHntKDjgpLntbblr77phY3nva4gKi9cbi5wb3NhIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi8qIOimgee0oOOCkuaomea6lumFjee9ruOBq+aIu+OBmSAqL1xuLnBvc3Mge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG4iLCIvLyBAZGVzYyAtIOOCreODvOODnOODvOODieaTjeS9nOOChOOCueOCr+ODquODvOODs+ODquODvOODgOODvOOBuOOBruiqreOBv+S4iuOBkuOCkuOBleOBm+OBn+OBvuOBvumdnuihqOekuuOBq+OBl+OBvuOBmeOAglxuLy8gQHBhcmFtIHtTdHJpbmd9ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIOW8leaVsOOBq1wiaW1wb3J0YW50XCLjgpLmuKHjgZnjgahgIWltcG9ydGFudGDjga7mjIflrprjgYzjgafjgY3jgb7jgZnjgIJcbi8vIEBleGFtcGxlIHNhc3MgLSBVc2FnZVxuLy8gLmZvb1xuLy8gICArc3Itb25seSgpXG4vLyAuYmFyXG4vLyAgICtzci1vbmx5KGltcG9ydGFudClcbi8vXG4vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLyAuZm9vIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICB3aWR0aDogMXB4O1xuLy8gICBoZWlnaHQ6IDFweDtcbi8vICAgbWFyZ2luOiAtMXB4O1xuLy8gICBib3JkZXI6IDA7XG4vLyAgIG92ZXJmbG93OiBoaWRkZW47XG4vLyAgIHBhZGRpbmc6IDA7XG4vLyAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4vLyB9XG4vLyAuYmFyIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4vLyAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbi8vICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbi8vICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4vLyAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuLy8gICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4vLyAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbi8vICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuLy8gfVxuQG1peGluIHNyLW9ubHkoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGlmICRpbXBvcnRhbnQgPT0gXCJpbXBvcnRhbnRcIiB7XG4gICAgJGltcG9ydGFudDogdW5xdW90ZShcIiFpbXBvcnRhbnRcIik7IH1cbiAgQGVsc2Uge1xuICAgICRpbXBvcnRhbnQ6IG51bGw7IH1cbiAgcG9zaXRpb246IGFic29sdXRlICRpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gJGltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAkaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICRpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICRpbXBvcnRhbnQ7XG4gIG1hcmdpbjogLTFweCAkaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICRpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAkaW1wb3J0YW50OyB9XG4iLCIuYmFzaWMtYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgbWF4LXdpZHRoOiAyNmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiIsIi8qIOODnOOCv+ODs+OBruODh+ODleOCqeODq+ODiOOCueOCv+OCpOODq+OBp+OBmeOAguaoquW5heOBrzI4MHB444G+44Gn44Gr5Yi26ZmQ44GV44KM44G+44GZ44CCXG4gIC0tLXB1ZyBleGFtcGxlLS0tXG4gIC5sLVdyYXBwZXJcbiAgICBhLmctQnV0dG9uKGhyZWY9XCIjXCIpIGHjgr/jgrDjg5zjgr/jg7NcbiAgICBhLmctQnV0dG9uLmctQnV0dG9uLWRpc2FibGVkKGhyZWY9XCIjXCIgdGFiaW5kZXg9XCItMVwiKSBh44K/44Kw44Oc44K/44OzXG4gICAgYnV0dG9uLmctQnV0dG9uI2Zvbyh0eXBlPVwiYnV0dG9uXCIpIGJ1dHRvbuOCv+OCsOODnOOCv+ODs1xuICAgIGJ1dHRvbi5nLUJ1dHRvbihkaXNhYmxlZCB0eXBlPVwiYnV0dG9uXCIpIGJ1dHRvbuOCv+OCsOODnOOCv+ODs1xuICAgIGlucHV0LmctQnV0dG9uKHR5cGU9XCJidXR0b25cIiB2YWx1ZT1cImlucHV044Oc44K/44OzXCIpXG4gICAgaW5wdXQuZy1CdXR0b24odHlwZT1cImJ1dHRvblwiIHZhbHVlPVwiaW5wdXTjg5zjgr/jg7NcIiBkaXNhYmxlZClcbiAgLS0tLS0tLS0tLS0tLS0tLS1cblxuICBgLmctQnV0dG9uLWZ1bGxg44KS6L+95Yqg44GZ44KL44Go5qiq5bmFMTAwJeOBq+OBquOCiuOBvuOBmeOAglxuICAtLS1wdWcgZXhhbXBsZS0tLVxuICAubC1XcmFwcGVyXG4gICAgYS5nLUJ1dHRvbihocmVmPVwiI1wiKSDjg4fjg5Xjgqnjg6vjg4hcbiAgICBhLmctQnV0dG9uLmctQnV0dG9uLWZ1bGwoaHJlZj1cIiNcIikg5qiq5bmFMTAwJVxuICAtLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGAuZy1CdXR0b24tYXV0b2DjgpLov73liqDjgZnjgovjgajmqKrluYXjga/jgarjgorjgobjgY3jgavjgarjgorjgb7jgZnjgIJcbiAgLS0tcHVnIGV4YW1wbGUtLS1cbiAgLmwtV3JhcHBlclxuICAgIGEuZy1CdXR0b24oaHJlZj1cIiNcIikg44OH44OV44Kp44Or44OIXG4gICAgYS5nLUJ1dHRvbi5nLUJ1dHRvbi1hdXRvKGhyZWY9XCIjXCIpIOaoquW5heOBquOCiuOChuOBjVxuICAtLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGAuZy1CdXR0b25fTW9yZWDjgpLov73liqDjgZnjgovjgajnn6LljbDjgYzku5jjgY3jgb7jgZnjgIJcbiAgLS0tcHVnIGV4YW1wbGUtLS1cbiAgLmwtV3JhcHBlclxuICAgIGEuZy1CdXR0b24oaHJlZj1cIiNcIikg44OH44OV44Kp44Or44OIXG4gICAgYS5nLUJ1dHRvbihocmVmPVwiI1wiKVxuICAgICAgc3ZnLmctQnV0dG9uX01vcmUocm9sZT1cImltZ1wiKVxuICAgICAgICB1c2UoeGxpbms6aHJlZj1cIi9hc3NldHMvc3ZnL3Nwcml0ZS5zdmcjcmlnaHQtYXJyb3cxXCIpXG4gICAgICB8IOefouWNsOS7mOOBjeODnOOCv+ODs1xuICAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmctQnV0dG9uIHtcbiAgQGluY2x1ZGUgZy1CdXR0b247XG5cbiAgaHRtbDpub3QoW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0pICY6ZGlzYWJsZWQ6aG92ZXIsXG4gIGh0bWw6bm90KFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdKSAmLWRpc2FibGVkOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfSB9XG5cbi5nLUJ1dHRvbi1mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4uZy1CdXR0b24tYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5nLUJ1dHRvbl9Nb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IHJlbSgxMik7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IC41ZW07XG4gIGhlaWdodDogLjVlbTtcbiAgbWFyZ2luOiBhdXRvO1xuICBmb250LXNpemU6IDEuM2VtO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiIsIkBtaXhpbiBnLUJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiByZW0oMzA4KTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiByZW0oMTIpIHJlbSgxNik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiByZW0oNSk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmW3R5cGU9XCJidXR0b25cIl0sXG4gICZbdHlwZT1cInJlc2V0XCJdLFxuICAmW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuICBbZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSAmOmZvY3VzIHtcbiAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3ctZm9jdXM7IH1cblxuICBbZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAmOmZvY3VzLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSAmOmZvY3VzIHtcbiAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuICAmOmRpc2FibGVkLFxuICAmLWRpc2FibGVkLFxuICAmOmRpc2FibGVkOmhvdmVyLFxuICAmLWRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWJhY2tncm91bmQtY29sb3ItZGlzYWJsZWQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1iYWNrZ3JvdW5kLWNvbG9yLWRpc2FibGVkICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogJGZvcm0tb3BhY2l0eS1kaXNhYmxlZCAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogJGZvcm0tY3Vyc29yLWRpc2FibGVkICFpbXBvcnRhbnQ7IH1cblxuICAmLWRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG4iLCIvLyBAZGVzYyAtIHB444KScmVt44Gr5aSJ5o+b44GX44G+44GZ44CCXG4vLyBAcGFyYW0gTnVtYmVyICRweCAtIOaMh+WumuOBmeOCi+ODlOOCr+OCu+ODq+WApOOAglxuLy8gQHBhcmFtIE51bWJlciAkcGFyZW50IFsxNl0gLSDopqropoHntKDjga7jg5Tjgq/jgrvjg6vlgKTjgIJcbi8vIEBleGFtcGxlIC0gcmVtKDIwKSA9PiAxLjI1cmVtXG4vLyBAZXhhbXBsZSAtIHJlbSgyMCwgMTUpID0+IDEuMzMzMzNyZW1cbkBmdW5jdGlvbiByZW0oJHB4LCAkcGFyZW50OiAxNikge1xuICBAcmV0dXJuIChzdHJpcC11bml0KCRweCkgLyBzdHJpcC11bml0KCRwYXJlbnQpKSAqIDFyZW07IH1cbiIsIi8vIFRyYW5zaXRpb24gdGltZW91dHMuXG4kbGluay10cmFuc2l0aW9uOiAxMTBtcyAhZGVmYXVsdDtcbiRpY29uLXRyYW5zaXRpb246IDEyMG1zICFkZWZhdWx0O1xuJGJ1dHRvbi10cmFuc2l0aW9uOiAxNTBtcyAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXRyYW5zaXRpb246IDIwMG1zICFkZWZhdWx0O1xuXG4vLyBBbmltYXRpb25cbiRvcGFjaXR5OiAwLjcgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGVhc2UtaW4tb3V0LXF1YWQgIWRlZmF1bHQ7XG4iLCJAa2V5ZnJhbWVzIGxvYWRpbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB6LWluZGV4OiAxMDAwMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDB2dywwLDApO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IC0xOyB9IH1cblxuI2xvYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1icmFuZDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGFuaW1hdGlvbjogbG9hZGluZyAuOHMgMS41cyAkZWFzZS1pbi1xdWFydCBib3RoO1xuXG4gIC5sb2FkZXItbG9nbyB7XG4gICAgd2lkdGg6IHJlbSgyMDApOyB9XG5cbiAgLnNwaW5uZXIge1xuICAgIG1hcmdpbjogNTBweCBhdXRvO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgID4gZGl2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYW5pbWF0aW9uOiBzay1zdHJldGNoZGVsYXkgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dDsgfVxuICAgIC5yZWN0MiB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0xLjFzOyB9XG4gICAgLnJlY3QzIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLTEuMHM7IH1cbiAgICAucmVjdDQge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC45czsgfVxuICAgIC5yZWN0NSB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjhzOyB9IH1cblxuICBAa2V5ZnJhbWVzIHNrLXN0cmV0Y2hkZWxheSB7XG4gICAgMCUsIDQwJSwgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjQpOyB9XG4gICAgMjAlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpOyB9IH0gfVxuIiwiaW1nW2RhdGEtc3JjXSB7XG4gIGJhY2tncm91bmQ6ICRCMTAgdXJsKCRpbWctc2l0ZSArICdvdmFsLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgLyAzOHB4IDM4cHg7IH1cbmltZ1tkYXRhLWxvYWRlZD1cInRydWVcIl0ge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmxvemFkIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHJlbSgzMCkpO1xuICAmLmxvYWRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIC4ycyAkZWFzZS1vdXQtcXVhZDsgfSB9XG5cbmJvZHkuaG9tZSAjaG9tZS1pbnRybyB7XG4gIC5sYXlvdXQtYm94LmxvYWRlZCB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMnM7IH0gfVxuIiwiLypcbiAgIyMgQ09MT1IgTkFNRSBMSVNUICMjXG4gICAqIENDOkNvcnBvcmF0ZUNvbG9yXG4gICAqIENHUjpDb3Jwb3JhdGVHcmF5XG4gICAqIHdoOndoaXRlPSNGRkZcbiAgICogYms6YmxhY2s9IzAwMFxuICAqL1xuLyogY2xhc3MgZm9yIHRleHQtY29sb3IuIGBjbGA9Y29sb3IgKi9cbi5jbC1DQyB7XG4gIGNvbG9yOiAkY29sb3ItYnJhbmQgIWltcG9ydGFudDsgfVxuXG4uY2wtZGVmYXVsdCB7XG4gIGNvbG9yOiAkY29sb3ItdGV4dC1tYWluICFpbXBvcnRhbnQ7IH1cblxuLmNsLWltcG9ydGFudCB7XG4gIGNvbG9yOiAkY29sb3ItdGV4dC1pbXBvcnRhbnQgIWltcG9ydGFudDsgfVxuXG4uY2wtd2gge1xuICBjb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG5cbi5jbC1CNTAge1xuICBjb2xvcjogJEI1MCAhaW1wb3J0YW50OyB9XG5cbi5jbC1iayB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBjbGFzcyBmb3IgYmFja2dyb3VuZC1jb2xvci4gYGJnYD1iYWNrZ3JvdW5kICovXG4uYmctQ0Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQ7IH1cblxuLmJnLUNDMTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkQ0MxMDsgfVxuXG4uYmctd2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG5cbi5iZy1CMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkQjMwOyB9XG5cbi5iZy1CNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkQjcwOyB9XG4iLCIvKiBTVkfjgrnjg5fjg6njgqTjg4jjga7jgqLjgqTjgrPjg7Pjga7jg4fjg5Xjgqnjg6vjg4jjgrnjgr/jgqTjg6sgKi9cbnN2Zy5pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC44ZW07XG4gIGhlaWdodDogMC44ZW07XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuIiwiLyogR29vZ2xlIE1hcHPjgpLjg6zjgrnjg53jg7Pjgrfjg5blr77lv5zjgZXjgZvjgb7jgZlcbiAgIOODh+ODleOCqeODq+ODiOOBpzE2OjnjgafooajnpLrjgZXjgozjgb7jgZlcbiAgLS0tcHVnIGV4YW1wbGUtLS1cbiAgLmctTWFwLlxuICAgIDxpZnJhbWUgc3JjPVwiaHR0cHM6Ly94eHh4eFwiIHdpZHRoPVwiNjAwXCIgaGVpZ2h0PVwiNDUwXCIgZnJhbWVib3JkZXI9XCIwXCIgc3R5bGU9XCJib3JkZXI6MFwiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT5cbiAgcC5nLU1hcF9UZXh0IOODnuODg+ODl+OBq+OCreODo+ODl+OCt+ODp+ODs++8iOefreOBhOiqrOaYjuaWh++8ieOCkuOBpOOBkeOBvuOBmVxuICAqL1xuLmctTWFwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSg5IC8gMTYpO1xuXG4gICYgPiAqLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfSB9XG5cbi5nLU1hcF9UZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IHJlbSg2KTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4iLCIvKiA9PSBDU1MgY29sdW1uLWNvdW50IDogZ2Fw44Gv54q25rOB44Gr5ZCI44KP44Gb44Gm5oyH5a6aID09ICovXG4vKiDjg4bjgq3jgrnjg4hjb2x1bW4gKi9cbi50LTJjb2xtdW5zIHtcbiAgY29sdW1uLWNvdW50OiAyO1xuICBjb2x1bW4tZ2FwOiAxLjZlbTtcbiAgY29sdW1uLWZpbGw6IGJhbGFuY2U7IH1cblxuLnQtMmNvbG11bnMtbWQge1xuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tZ2FwOiAxLjZlbTtcbiAgICBjb2x1bW4tZmlsbDogYmFsYW5jZTsgfSB9XG5cbi50LTJjb2xtdW5zLWxnIHtcbiAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWdhcDogMS42ZW07XG4gICAgY29sdW1uLWZpbGw6IGJhbGFuY2U7IH0gfVxuXG4udC0zY29sbXVucy1tZCB7XG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1nYXA6IDEuNmVtO1xuICAgIGNvbHVtbi1maWxsOiBiYWxhbmNlOyB9IH1cblxuLnQtM2NvbG11bnMtbGcge1xuICBAaW5jbHVkZSBtcShsZykge1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgICBjb2x1bW4tZ2FwOiAxLjZlbTtcbiAgICBjb2x1bW4tZmlsbDogYmFsYW5jZTsgfSB9XG5cbiIsIi8qID09IENTUyBHcmlkIDogZ3JpZC10ZW1wbGF0ZS1yb3dzLGdhcOOBr+eKtuazgeOBq+WQiOOCj+OBm+OBpuaMh+WumiA9PSAqL1xuLyogMmNvbHVtbnMgKi9cbi5sLTJjb2x1bW5zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuXG4vKiAzY29sdW1ucyAqL1xuLmwtM2NvbHVtbnMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG5cbi8qIDRjb2x1bW5zICovXG4ubC00Y29sdW1ucyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IH1cblxuLyogZGlzcGxheTogZ3JpZOOBq+OBmeOCiyAqL1xuLmwtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7IH1cblxuLyog6Ieq5YuV5qiq5Lim44Gz77yI57im6Lu444Gv55yf44KT5Lit5o+D44GI77yJICovXG4ubC1nZC1hdXRvLWhvcml6b250YWwge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGdyaWQtYXV0by1jb2x1bW5zOiBtYXgtY29udGVudDsgfVxuXG4vKiDoh6rli5XnuKbkuKbjgbPvvIjmqKrou7jjga/nnJ/jgpPkuK3mj4PjgYjvvIkgKi9cbi5sLWdkLWF1dG8tdmVydGljYWwge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIGdyaWQtYXV0by1mbG93OiByb3c7XG4gIGdyaWQtYXV0by1jb2x1bW5zOiBtYXgtY29udGVudDsgfVxuXG4vKiogcmVzcG9uc2l2ZSBncmlkICoqL1xuLmwtZ2QtcmVzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNmVtLCAxZnIpKTtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4iLCIvKiBgPGJyPmDjgr/jgrDjgavmjIflrprjgpLjgZfjgabjgIHmlLnooYzjgpLjg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jjgZTjgajjgavjgrPjg7Pjg4jjg63jg7zjg6vjgZfjgb7jgZlcbiAgLS0tcHVnIGV4YW1wbGUtLS1cbiAgcC5nLVRleHQg5bi444Gr5pS56KGMXG4gICAgYnJcbiAgICB8IOOBleOCjOOBvuOBmVxuICBwLmctVGV4dCDjg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jvvIhgbWRg77yJ5Lul6ZmN44Gr5pS56KGMXG4gICAgYnIuZy1CclNob3dNZFxuICAgIHwg44GV44KM44G+44GZ44CCXG4gIHAuZy1UZXh0IOODluODrOOCpOOCr+ODneOCpOODs+ODiO+8iGBtZGDvvInku6XpmY3jga/mlLnooYxcbiAgICBici5nLUhpZGVNZFxuICAgIHwg44GV44KM44G+44Gb44KT44CCICovXG5cbi5nLUJyU2hvd1NtIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuXG4uZy1CclNob3dNZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuLmctQnJTaG93TGcge1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBtcShsZykge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG5cbi5nLUJyU2hvd1hsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgbXEoeGwpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuXG4uZy1CckhpZGVTbSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmctQnJIaWRlTWQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5nLUJySGlkZUxnIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBAaW5jbHVkZSBtcShsZykge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZy1CckhpZGVYbCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgQGluY2x1ZGUgbXEoeGwpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIi8v4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCV4oCVXG4vKiBgPGgyPmDjgafkvb/nlKjjgZnjgovopovlh7rjgZfjgafjgZkgKi9cbi5nLUhlYWRpbmcyIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXh4bDtcbiAgbWFyZ2luOiAkaGVhZGluZzItbWFyZ2luO1xuICAmICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG4iLCIvKiDln7rmnKzjga7jg4bjgq3jgrnjg4jjgrnjgr/jgqTjg6vjgafjgZkgKi9cbi5nLVRleHQge1xuICBsaW5lLWhlaWdodDogJGZvbnQtbGluZS1oZWlnaHQtYm9keTtcbiAgbWFyZ2luOiAkdGV4dC1tYXJnaW47IH1cblxuLyogYDxlbT5g44Gn5L2/44KP44KM44KL44KI44GG44Gq44K544K/44Kk44Or44Gn44GZICovXG4uZy1UZXh0RW1waGFzaXMge1xuICBmb250LXdlaWdodDogJGJvbGQ7IH1cblxuLyog44Oq44O844OJ5paH77yI44Kz44Oz44OG44Oz44OE44Gu5YaS6aCt44Gr55m75aC044GZ44KL44Kz44Oz44OG44Oz44OE44KS57Ch5r2U44Gr6KGo44GX44Gf5paH56ug77yJ44Gu44K544K/44Kk44Or44Gn44GZXG4gIOS7luOBruaWh+eroOOBqOWMuuWIpeOBmeOCi+OBn+OCgeOBoOOBkeOBq+WIqeeUqOOBl+OAgVxuICBgPHN0cm9uZz5g44Gu6YeN6KaB5oCn44KE5rex5Yi75oCn44CBXG4gIGA8ZW0+YOOBruW8t+iqv++8iOOCouOCr+OCu+ODs+ODiO+8ieOAgVxuICBgPGgyPmDjga7jgojjgYbjgaropovlh7rjgZdcbiAg44Go44GX44Gm44Gu5oSP5ZGz44Gv44GC44KK44G+44Gb44KTICovXG4uZy1MZWFkIHtcbiAgbWFyZ2luOiAkbGVhZC1tYXJnaW47XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZDtcbiAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICAmICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi8qIOeZu+mMsuWVhuaome+8iOOCouODvOODq+ODnuODvOOCr++8ieOChOiRl+S9nOaoqe+8iOODnuODq+OCt+ODvOODnuODvOOCr++8ieOAgeazqOmHiOODquODs+OCr++8iOKAuzHvvInjgarjganjgavkvb/jgYbkuIrku5jjgY3mloflrZfjgafjgZkgKi9cbi5nLVN1cCB7XG4gIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtOyB9XG4iLCIvLyBAZGVzYyAtIHB444KSZW3jgavlpInmj5vjgZfjgb7jgZnjgIJcbi8vIEBwYXJhbSBOdW1iZXIgJHB4IC0g5oyH5a6a44GZ44KL44OU44Kv44K744Or5YCk44CCXG4vLyBAcGFyYW0gTnVtYmVyICRwYXJlbnQgWzE2XSAtIOimquimgee0oOOBruODlOOCr+OCu+ODq+WApOOAglxuLy8gQGV4YW1wbGUgLSBlbSgyMCkgPT4gMS4yNWVtXG4vLyBAZXhhbXBsZSAtIGVtKDIwLCAxNSkgPT4gMS4zMzMzM2VtXG5AZnVuY3Rpb24gZW0oJHB4LCAkcGFyZW50OiAxNikge1xuICBAcmV0dXJuIChzdHJpcC11bml0KCRweCkgLyBzdHJpcC11bml0KCRwYXJlbnQpKSAqIDFlbTsgfVxuIiwiLyogc2l0ZS1IZWFkZXIgKi9cbiNzaXRlLUhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRISDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4ICRCQTU7XG4gIEBpbmNsdWRlIGctdHJzO1xuICBAaW5jbHVkZSBtcShsZykge1xuICAgIGhlaWdodDogJEhIICsgMTBweDsgfVxuICAuZHJhd2VyLW9wZW5lZCAmIHtcbiAgICBsZWZ0OiAtMjQwcHg7XG4gICAgQGluY2x1ZGUgZy10cnM7IH0gfVxuXG4jc2l0ZS1IZWFkZXJfTG9nb0FyZWEge1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2lkdGg6IHJlbSgyMzUpO1xuICBoZWlnaHQ6IHJlbSgyOCk7XG4gIG1hcmdpbi10b3A6IHJlbSgxNyk7XG4gIG1hcmdpbi1sZWZ0OiByZW0oMTEpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICB3aWR0aDogMjkzcHg7XG4gICAgaGVpZ2h0OiAzNXB4OyB9IH1cblxuI3NpdGUtSGVhZGVyX0xvZ28ge1xuICBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuIiwiLyogZHJhd2VyLW5hdiAqL1xuI3NpdGUtSGVhZGVyX05hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuXG4jc2l0ZS1IZWFkZXJfTmF2LWJ0biB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1icmFuZDtcbiAgd2lkdGg6ICRISDtcbiAgaGVpZ2h0OiAkSEg7XG4gIHBhZGRpbmc6IHJlbSgxOCkgcmVtKDE1KSByZW0oMTIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTAwO1xuICBib3JkZXI6IG5vbmU7XG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuaWNvbi1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgaGVpZ2h0OiByZW0oMik7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtKDEpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg2KTtcbiAgICBAaW5jbHVkZSBnLXRyczsgfSB9XG4uZHJhd2VyLW9wZW5lZCAuaWNvbi1iYXIge1xuICAmOm50aC1jaGlsZCgyKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCw4cHgpIHJvdGF0ZSg0NWRlZyk7IH1cbiAgJjpudGgtY2hpbGQoMykge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICY6bnRoLWNoaWxkKDQpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC04cHgpIHJvdGF0ZSgtNDVkZWcpOyB9XG4gIEBpbmNsdWRlIGctdHJzOyB9XG5cbiNkcmF3ZXItbmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5kcmF3ZXItb3BlbmVkICYge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAzcHggJEJBMzsgfSB9XG5cbiNzaXRlLUhlYWRlcl9OYXZUaXRsZSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgcGFkZGluZzogMmVtO1xuICBib3JkZXItYm90dG9tOiAkYm9yZGVyLWNvbW1vbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhIHtcbiAgICBjb2xvcjogJEI4MDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuM2VtOyB9IH1cbiAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuXG4jZHJhd2VyLW5hdiAudGFibGUtb2YtY29udGVudHMge1xuICBAaW5jbHVkZSBtcShsZykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuXG4uc2l0ZS1IZWFkZXJfTmF2SXRlbSB7XG4gIGJvcmRlci1ib3R0b206ICRib3JkZXItY29tbW9uO1xuICBAaW5jbHVkZSBtcShsZykge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kO1xuICAgICAgQGluY2x1ZGUgZy10cnM7XG4gICAgICBodG1sOm5vdChbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSkgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWJyYW5kLCAzNSUpO1xuICAgICAgICBAaW5jbHVkZSBnLXRyczsgfVxuICAgICAgLnNpdGUtSGVhZGVyX05hdkxpbmsge1xuICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgaHRtbDpub3QoW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0pICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnJhbmQ7IH0gfSB9IH0gfVxuXG4uc2l0ZS1IZWFkZXJfTmF2TGluayB7XG4gIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgd2lkdGg6IDI0MHB4O1xuICBwYWRkaW5nOiAxZW07XG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAkSEggKyAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBnLXRyczsgfSB9XG4gIEBpbmNsdWRlIG9uLWV2ZW50KHRydWUpIHtcbiAgICBjb2xvcjogJGNvbG9yLWJyYW5kO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBodG1sOm5vdChbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSkgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItYnJhbmQsIDM1JSk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBnLXRyczsgfSB9XG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtaW5kZW50OiAuMWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDY3JTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkbm9ybWFsO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9IH1cbiIsIi8vIEBkZXNjIC0g44Oe44Km44K544Kq44O844OQ44O844Gq44Gp44Gu44Kk44OZ44Oz44OI44KS44G+44Go44KB44Gm5oyH5a6a44GX44G+44GZ44CCXG4vLyBAYXV0aG9yIC0gSGFycnkgUm9iZXJ0c1xuLy8gQHBhcmFtIEJvb2wgJHNlbGYgW2ZhbHNlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgY3VycmVudCBzZWxlY3RvclxuLy8gQGxpbmsgaHR0cHM6Ly90d2l0dGVyLmNvbS9jc3N3aXphcmRyeS9zdGF0dXMvNDc4OTM4NTMwMzQyMDA2Nzg0IE9yaWdpbmFsIHR3ZWV0IGZyb20gSGFycnkgUm9iZXJ0c1xuLy8gQGV4YW1wbGUgc2FzcyAtIFVzYWdlXG4vLyAuZm9vXG4vLyAgICtvbi1ldmVudFxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJlZFxuLy9cbi8vXG4vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLyAuZm9vOmhvdmVyLCAuZm9vOmFjdGl2ZSwgLmZvbzpmb2N1c1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiByZWRcblxuQG1peGluIG9uLWV2ZW50KCRzZWxmOiBmYWxzZSkge1xuICBAaWYgJHNlbGYge1xuICAgICYsXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICBodG1sOm5vdChbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSkgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBjb250ZW50OyB9IH1cbiAgQGVsc2Uge1xuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgaHRtbDpub3QoW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0pICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAY29udGVudDsgfSB9IH1cbiIsIi8qIHNpdGUtRm9vdGVyICovXG4jc2l0ZS1Gb290ZXIge1xuICBiYWNrZ3JvdW5kOiAkQjgwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNidG4tUGFnZVRvcCB7XG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRCNzA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IHJlbSg3KSAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBmb250LXdlaWdodDogJGJvbGQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGh0bWw6bm90KFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdKSAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kOyB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1BBR0VcXDAwQTBUT1AnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAtLjVlbTsgfSB9XG4gIC5pY29uIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH0gfVxuXG4jc2l0ZS1Gb290ZXJfSW5mb3JtYXRpb25BcmVhIHtcbiAgd2lkdGg6IDM0MHB4O1xuICBoZWlnaHQ6IDE2M3B4O1xuICBwYWRkaW5nOiAwO1xuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogNDUwcHg7IH0gfVxuXG4jc2l0ZS1Gb290ZXJfSW5mb3JtYXRpb24ge1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMzhweDtcbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7IH0gfVxuXG4jc2l0ZS1Gb290ZXJfTG9nbyB7XG4gIHdpZHRoOiByZW0oMjU0KTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIHdpZHRoOiAyOTJweDtcbiAgICBtYXJnaW4tbGVmdDogLTVweDsgfSB9XG5cbiNzaXRlLUZvb3Rlcl9Eb2cge1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNzVweDtcbiAgaGVpZ2h0OiAxNDBweDtcbiAgLmRvZyB7XG4gICAgd2lkdGg6IDc1cHg7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5pbnN0YSB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMzBweDsgfVxuICAuY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICBib3R0b206IDVweDsgfVxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIHdpZHRoOiAxNDZweDtcbiAgICBoZWlnaHQ6IDE1NHB4O1xuICAgIHRvcDogN3B4O1xuICAgIC5kb2cge1xuICAgICAgd2lkdGg6IDg2cHg7IH1cbiAgICAuaW5zdGEge1xuICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICByaWdodDogMTNweDtcbiAgICAgIGJvdHRvbTogMzNweDsgfVxuICAgIC5jYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwOyB9IH0gfVxuXG4jc2l0ZS1Gb290ZXJfQ29wcnlyaWdodEFyZWEge1xuICBwYWRkaW5nOiByZW0oNikgMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJEI5MDtcbiAgY29sb3I6ICRCMzA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiByZW0oMTMpOyB9XG5cbiNzaXRlLUZvb3Rlcl9Db3ByeXJpZ2h0IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgdmVydGljYWwtYWxpZ246IC4yZW07IH1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHN0YXJ0IEhPTUUgcGFnZVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBTZXR0aW5nIGltZyBwYXRoXG4kaW1nOiAkaW1nLWhvbWU7XG5cbi8qKiBOYW1lc3BhY2VzIChzZWN0aW9ucykgKiovXG4vKiAjaG9tZS1pbnRybyAqL1xuI2hvbWUtaW50cm8ge1xuICAkc2VjOiBpbnRyby07XG4gIGJhY2tncm91bmQ6IHVybCgkaW1nICsgJ2JnLScgKyAkc2VjICsgJzAxLmpwZycpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tIC8gY292ZXI7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtICN7JEhIfSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIEBpbmNsdWRlIGJnUmV0aW5hKGNvdmVyLCBudWxsLCAkc2VjKycwMS1tZCcsIGpwZywgY2VudGVyLCBib3R0b20pO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmxheW91dC1ib3gge1xuICAgIGJhY2tncm91bmQ6ICRXQTkgdXJsKCRpbWctc2l0ZSArICdsb2dvLWludHJvLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgMjEwcHggLyAyMzhweCBhdXRvO1xuICAgIHBhZGRpbmc6IDFlbSAxLjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTEwcHg7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oNDIpOyB9XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wN2VtO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmFuZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0oODApO1xuICAgICAgICBoZWlnaHQ6IHJlbSg2KTtcbiAgICAgICAgbWFyZ2luOiAxZW0gMDsgfSB9XG4gICAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDI1NXB4IDMycHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMxOHB4O1xuICAgICAgcGFkZGluZzogMS41ZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzZW07XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDYyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtOyB9XG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjNlbTsgfSB9IH0gfVxuXG5cbi8qICNob21lLXNwaXJpdCAqL1xuI2hvbWUtc3Bpcml0IHtcbiAgJHNlYzogc3Bpcml0LTtcbiAgcGFkZGluZy1ib3R0b206IHZ3KDIxNSk7XG4gICZbZGF0YS1sb2FkZWQ9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJGltZyArICdiZy0nICsgJHNlYyArICcwMS5qcGcnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbSAvIDEwMHZ3O1xuICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICBAaW5jbHVkZSBiZ1JldGluYSg4NSUsIGF1dG8sICRzZWMrJzAxLW1kJywganBnLCByaWdodCwgYm90dG9tKTsgfSB9XG4gID4gLmJhc2ljLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC13aWR0aDogOTkwcHg7XG4gICAgPiAuYmFzaWMtYmxvY2sge1xuICAgICAgcGFkZGluZy10b3A6IDEuOWVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuOWVtO1xuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuNmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjRlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1icmFuZDsgfVxuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC44ZW07XG4gICAgICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpOyB9IH1cbiAgICAgIHAge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9IH0gfVxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIEBpbmNsdWRlIGJnUmV0aW5hKDg1JSwgYXV0bywgJHNlYysnMDEtbWQnLCBqcGcsIHJpZ2h0LCBib3R0b20pO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgID4gLmJhc2ljLWJsb2NrID4gLmJhc2ljLWJsb2NrIHtcbiAgICAgIG1heC13aWR0aDogMzFlbTtcbiAgICAgIHBhZGRpbmc6IDEuNWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTcwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzEwcHggYm90dG9tO1xuICAgIHBhZGRpbmctYm90dG9tOiAyODhweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgPiAuYmFzaWMtYmxvY2sgPiAuYmFzaWMtYmxvY2sge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH0gfVxuXG4vKiAjaG9tZS1zZXJ2aWNlICovXG4jaG9tZS1zZXJ2aWNlIHtcbiAgJHNlYzogc2VydmljZS07XG4gIHBhZGRpbmc6IDFlbSAwIDJlbTtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogOTkwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IDNweDtcbiAgICAgICAgd2lkdGg6IHJlbSg3Mik7XG4gICAgICAgIGhlaWdodDogcmVtKDYpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC41ZW07IH0gfVxuICAgIGI6Zmlyc3QtbGV0dGVyIHtcbiAgICAgIGNvbG9yOiAkQ0M2MDsgfSB9XG4gIC5zZXJ2aWNlLWxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIHdpZHRoOiA5OTBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIGxpIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgYm94LXNoYWRvdzogMCA1cHggNHB4IHJnYmEoNTQsMTI3LDE5MywuNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgICB3aWR0aDogNDklOyB9XG4gICAgICBAaW5jbHVkZSBtcShsZykge1xuICAgICAgICB3aWR0aDogMzIwcHg7IH1cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjIpO1xuICAgICAgICBwYWRkaW5nOiAuNGVtOyB9XG4gICAgICAuYmFzaWMtYmxvY2sge1xuICAgICAgICBwYWRkaW5nOiBlbSgyNyk7XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAgICAgaDQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07IH0gfSB9IH0gfVxuXG5cbi8qICNob21lLWNvbXBhbnkgKi9cbiNob21lLWNvbXBhbnkge1xuICAkc2VjOiBjb21wYW55LTtcbiAgcGFkZGluZzogMWVtIDAgMDtcbiAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDk5MHB4O1xuICAgIG1hcmdpbi10b3A6IDNlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmJhc2ljLWJsb2NrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbWF4LXdpZHRoOiAyOGVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAuN2VtO1xuICAgICAgc21hbGwge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogM3B4O1xuICAgICAgICAgIHdpZHRoOiByZW0oNzIpO1xuICAgICAgICAgIGhlaWdodDogcmVtKDYpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTsgfSB9XG4gICAgICBiOmZpcnN0LWxldHRlciB7XG4gICAgICAgIGNvbG9yOiAkQ0M2MDsgfSB9XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0oMjEpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIHAge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsgfSB9XG5cbiAgc2VjdGlvbi5hZHZhbnRhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiB2dygyMTEpO1xuICAgIGJhY2tncm91bmQ6IHVybCgkaW1nICsgJ2JnLScgKyAkc2VjICsgJzAxLmpwZycpIG5vLXJlcGVhdCB0b3AgY2VudGVyIC8gMTAwJSBhdXRvO1xuICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICBAaW5jbHVkZSBiZ1JldGluYSgxMDAlLCBhdXRvLCAkc2VjKycwMS1tZCcsIGpwZywgY2VudGVyLCB0b3ApOyB9XG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1NThweDtcbiAgICAgIG1hcmdpbi10b3A6IDExMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgbWFyZ2luOiAxZW0gMDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDFlbSBhdXRvIDEuNWVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQ7XG4gICAgICAgIHdpZHRoOiA5MXB4O1xuICAgICAgICBoZWlnaHQ6IDZweDsgfVxuICAgICAgLm51bSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTsgfSB9XG4gICAgLmFkdmFudGFnZS1saXN0IHtcbiAgICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICAgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgIG1heC13aWR0aDogMjYycHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLWNvbW1vbjtcbiAgICAgICAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lOyB9IH1cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAxLjVlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtOyB9IH0gfSB9XG5cbiAgc2VjdGlvbi5jb21wYW55LWluZm9ybWF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvci1icmFuZDtcbiAgICBAaW5jbHVkZSBtcShsZykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNWVtOyB9XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgbWFyZ2luOiAxZW07XG4gICAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7IH0gfVxuICAgIHRhYmxlIHtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTsgfVxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQ0MxMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDZlbTtcbiAgICAgICAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICAgICAgICB3aWR0aDogOGVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMWVtOyB9IH1cbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC4zZW07IH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC4zZW07IH0gfSB9IH0gfVxuXG5cbi8qICNob21lLWNvbnRhY3QgKi9cbiNob21lLWNvbnRhY3Qge1xuICAkc2VjOiBjb250YWN0LTtcbiAgcGFkZGluZy10b3A6IDJlbTtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAuNmVtIGF1dG8gMWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kO1xuICAgICAgd2lkdGg6IDkxcHg7XG4gICAgICBoZWlnaHQ6IDZweDsgfVxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIG1hcmdpbi10b3A6IC41ZW07IH0gfVxuICAuYmFzaWMtYmxvY2sge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDMxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogOTkwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBsaSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4OyB9IH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1tYWluO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDMxNXB4O1xuICAgICAgaGVpZ2h0OiAxMTJweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDRweCByZ2JhKDU0LDEyNywxOTMsLjQpO1xuICAgICAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTcwcHg7IH0gfVxuICAgIC50ZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgYmFja2dyb3VuZDogI0ZGRiB1cmwoJGltZyArICdiZy0nICsgJHNlYyArICcwMS5zdmcnKSBuby1yZXBlYXQgLTIwcHggMTJweCAvIDEzN3B4O1xuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7IH1cbiAgICAgIC5waG9uZU51bWJlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDM0KTsgfVxuICAgICAgLm5vdGljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTsgfVxuICAgICAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDlweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwcHggMTZweDtcbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTsgfVxuICAgICAgICAucGhvbmVOdW1iZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQyKTsgfVxuICAgICAgICAubm90aWNlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7IH0gfSB9XG4gICAgLnRvTWFpbEZvcm0ge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRiB1cmwoJGltZyArICdiZy0nICsgJHNlYyArICcwMi5zdmcnKSBuby1yZXBlYXQgLTRweCAxOHB4IC8gMTI1cHg7XG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTsgfVxuICAgICAgLmJ0biB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAuM2VtO1xuICAgICAgICB3aWR0aDogMjI4cHg7XG4gICAgICAgIEBpbmNsdWRlIGNhcHN1bGUoMzJweCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMWVtO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0uM2VtOyB9IH1cbiAgICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTkxcHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggMjdweDtcbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2KTsgfVxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogLjNlbTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgd2lkdGg6IDI4NHB4O1xuICAgICAgICAgIEBpbmNsdWRlIGNhcHN1bGUoNDBweCk7IH0gfSB9IH1cbiAgLmctTWFwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgyNDgvMzc1KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQjEwO1xuICAgIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDEwcHg7IH0gfSB9XG5cbiIsIi8vIEBkZXNjIC0g6IOM5pmv55S75YOP44GuUmV0aW5h5a++5b+cXG4vLyBAZGVzYyAtIHNhc3Pjg5XjgqHjgqTjg6vkuIrjgafjgIwkaW1n44CN44GM5a6a576p44GV44KM44Gm44GE44KL5b+F6KaB44GM44GC44KK44G+44GZXG4vLyBAcGFyYW0g5aSa5pWw44CCYmFja2dyb3VuZOOBruWApOOCkuS7o+WFpeOBl+OBpuOChuOBjeOBvuOBmVxuLy8gQHNlZSAtICRpbWdcbi8vIEBleGFtcGxlIHNhc3MgLSBVc2FnZVxuLy8gLmZvb1xuLy8gICArYmdSZXRpbmEoMjUzcHgsIDM5N3B4LCAkc2VjKycwMycsIHBuZywgbGVmdCwgYm90dG9tKVxuLy9cbi8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcbi8vIC5mb28ge1xuLy8gICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIvYXNzZXRzL2ltZy9uYW1lc3BhY2UvaG9tZS9iZy9yZW50YWwtMDMucG5nXCIpIG5vLXJlcGVhdCAwIDAgLyAyNTNweCAzOTdweDtcbi8vIH1cbkBtaXhpbiBiZ1JldGluYSgkYmd3aWR0aCwgJGJnSGVpZ2h0LCAkaW1hZ2UtbmFtZSwgJGV4dCwgJHBvc1g6IDAsICRwb3NZOiAwLCAkYmdDb2w6IHRyYW5zcGFyZW50LCAkcmVwZWF0OiBuby1yZXBlYXQsICRyYXRpbzogXCJAMnhcIikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdDb2w7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1nICsgJ2JnLScgKyAkaW1hZ2UtbmFtZSArICcuJyArICRleHQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogJHJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvc1ggJHBvc1k7XG4gIGJhY2tncm91bmQtc2l6ZTogJGJnd2lkdGggJGJnSGVpZ2h0O1xuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWcgKyAnYmctJyArICRpbWFnZS1uYW1lICsgJHJhdGlvICsgJy4nICsgJGV4dCk7IH0gfVxuIiwiLy8gQGRlc2MgLSBweOOCknZ344Gr5aSJ5o+b44GX44G+44GZ44CCXG4vLyBAcGFyYW0gTnVtYmVyICRweCAtIOaMh+WumuOBl+OBn+OBhOODlOOCr+OCu+ODq+WApOOAglxuLy8gQHBhcmFtIFN0cmluZyAkd2lkdGggWzM3NV0gLeeUu+mdouOCteOCpOOCuuOBruODlOOCr+OCu+ODq+WApOOAglxuLy8gQGV4YW1wbGUgLSB2dygzMCkgPT4gOHZ3XG4vLyBAZXhhbXBsZSAtIHZ3KDYwLCA3NTApID0+IDh2d1xuQGZ1bmN0aW9uIHZ3KCRweCwgJHdpZHRoOiAzNzUpIHtcbiAgQHJldHVybiAoc3RyaXAtdW5pdCgkcHgpIC8gc3RyaXAtdW5pdCgkd2lkdGgpKSAqIDEwMHZ3OyB9XG4iLCIvLyDjg5bjg63jg4Pjgq/opoHntKDjgpLjgqvjg5fjgrvjg6vpoqjjgavopovjgZvjgovjgZ/jgoHjga7jgoTjgaRcbkBtaXhpbiBjYXBzdWxlKCRoKSB7XG4gIGhlaWdodDogJGg7XG4gIGJvcmRlci1yYWRpdXM6ICRoLzI7IH1cbiIsIi8vIEBzZWUgYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzc1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFByaW50IHN0eWxlcy5cbiAqIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OlxuICogaHR0cDovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6IGh0dHA6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1MyAqLyB9XG5cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cblxuICAvKlxuICAgKiBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgKiBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sICovXG4gIGFbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgfVxuICBwcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50OyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAvKlxuICAgKiBQcmludGluZyBUYWJsZXM6XG4gICAqIGh0dHA6ICovLy9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlcyAqL1xuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4vKipcbiAqIOWNsOWIt+aZguOBruOCueOCv+OCpOODqyAqL1xuQG1lZGlhIHByaW50IHtcbiAgLmctVGFibGVTY3JvbGwgdGQsXG4gIC5nLVRhYmxlU2Nyb2xsIHRoIHtcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDsgfSB9XG5cbi8qKlxuICog5Y2w5Yi35pmC44Go44OP44Kk44Kz44Oz44OI44Op44K544OI44Oi44O844OJ77yISUXjgahFZGdl77yJ44GM5pyJ5Yq544Gq44Go44GN44Gu44K544K/44Kk44OrICovXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHByaW50XG4iXX0= */

/*privacy専用スタイル*/
#privacy-content,
#contact-content {
	padding-top: 50px;
	padding-bottom: 50px;
}

#contact-contact .cw {
	max-width: 916px;
}

#contact-contact .g-Text {
	margin: 0 auto 60px;
	text-align: center;
}

#contact-contact .item_answer input {
	width: 50%;
	min-width: 250px;
}

#contact-contact .goq-ma-form .form-item-address .address {
	width: 100%;
}

#privacy-content .privacy-policy-list {
	padding-bottom: .1em;
	margin-top: 1.7em
}

#privacy-content .privacy-policy-list dt {
	font-size: 1.6rem;
	margin-bottom: .4em;
	font-weight: 700
}

#privacy-content .privacy-policy-list dt:before {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	margin-bottom: 1em;
	background-color: #b2b2b2;
}

#privacy-content .privacy-policy-list dd {
	margin-bottom: 2em
}

#privacy-content .privacy-policy-list dd ul {
	padding: .6em 0;
	margin: .7em 0;
	list-style-type: none;
}

#privacy-content .privacy-policy-list dd ul li {
	padding-left: 1.5em;
	text-indent: -1.5em;
	line-height: 1.5;
	margin-bottom: .5em
}

#privacy-content .privacy-policy-list dd ul li:last-child {
	margin-bottom: 0
}

#privacy-content .privacy-policy-list dd.privacy-contact p.name {
	margin-top: 1em;
}

#privacy-content .privacy-policy-list dd.privacy-contact p.name~p {
	line-height: 1.5;
}

@media screen and (max-width: 768px) {

	#contact-contact,
	#privacy-content {
		padding-top: 100px;
	}

	#contact-contact .item_answer input {
		width: 100%;
		min-width: inherit;
	}

	#contact-contact .g-Text {
		text-align: left;
	}
}

#privacy-content .privacy-policy-list dt {
	font-size: 18px;
}

#privacy-content .privacy-policy-list dd {
	margin: 0 0 2em;
}

.cen {
	text-align: center;
}

.g-h2 {
	font-size: 24px;
	font-weight: 700;
	margin: 0 auto 25px
}

.g-h2>span {
	font-size: 12px;
	font-weight: 400;
	display: block;
	margin-top: 1em
}

.g-Text+.g-Text,
:not(.g-Text)+.g-Text {
	margin-top: 16px
}

.cw {
	width: 93%;
	max-width: 1024px;
	margin-right: auto;
	margin-left: auto
}

/* お問い合わせフォーム用 */
#contact-content .cw {
	max-width: 916px;
}

.g-Section2>:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}

#contact-content .g-Text {
	margin: 0 auto 60px;
	text-align: center;
}

.lozad th {
	border: 1px solid #ccc;
}

.lozad td {
	border: 1px solid #ccc;
}

table td {
	border: none;
}

table th {
	background: none;
	border: none;
}

.form-item-privacy_y {
	position: relative;
}

.form-item-privacy_y th {
	display: none;
}

.form-item-privacy_y td {
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
	max-width: 916px;
	width: 92%;
	text-align: center;
}

input[type="radio"] {
	margin-right: 5px;
	margin-left: 1em;
}

#class0 {
	margin-left: 0;
}

input[type="checkbox"] {
	margin-right: 5px;
}

.goq-ma-form .goq-ma-btn {
	margin: 4em 0 0 0 !important;
}

.sp-br {
	display: none;
}

.form-item-content_y label {
	display: block;
}

@media screen and (max-width: 768px) {

	.goq-ma-form .goq-ma-btn {
		width: 100%;
	}

	.sp-br {
		display: block;
	}

	.goq-ma-form .form-item-privacy_y th {
		display: none;
	}

	.form-item-privacy_y td {
		text-align: center;
	}
}

/*privacy部分修正スタイル*/
#privacy-content .privacy-policy-list dd ul {
	list-style: disc;
	margin-left: 1.5em;
}

.posa .privacy_link {
	color: #fff;
	font-size: 10.8px;
}

/* 採用情報スタイル */
.recruit-area h2 {
	font-size: 2rem;
	letter-spacing: .1em;
}

.recruit-area h2 small {
	font-size: 1rem;
	margin-top: .5em;
}

.recruit-area h2::after {
	content: '';
	display: block;
	margin: .6em auto 1em;
	background-color: #3E8FE6;
	width: 91px;
	height: 3px;
}

.recruit-area {
	margin: 5em 0;
}

.recruit-area_inner {
	max-width: 990px;
	width: 90%;
	margin: -20% auto 0;
	padding: 3em 0;
	background-color: #fff;
	position: relative;
	z-index: 50;
	letter-spacing: -1px;
}

.recruit-area_img {
	width: 100%;
}

.recruit-area_img2 {
	display: none;
	width: 100%;
}

.recruit-area_inner_description {
	margin: 2em 0 3em;
	text-align: center;
}

.recruit-area_inner_table {
	padding: 0 2.5em;
	font-size: 18px;
}

.recruit_table_title {
	text-align: center;
	margin-bottom: 1.5em;
	font-size: 1.5rem;
}

.recruit-area_inner_table tr {
	border-top: 1px solid #ccc;
}

.recruit-area_inner_table tr {
	border-bottom: 1px solid #ccc;
}

.recruit-area_inner_table table td:first-of-type {
	background-color: #ECF4FC;
	vertical-align: middle;
	padding-left: 1em;
	white-space: nowrap;
}

.recruit-area_inner_table table td:last-of-type {
	padding: 1em 0.5em 1em 0.8em;
}

@media screen and (max-width: 768px) {
	.recruit-area {
		margin-top: 0;
	}

	.recruit-area_inner {
		margin: 0 auto;
		padding: 0 0 3em 0;
	}

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

	.recruit-area_inner_table {
		padding: 0;
		font-size: 1rem;
	}

	.recruit-area_img {
		display: none;
	}

	.recruit-area_img2 {
		display: block;
		margin: 2.5em 0 1em;
	}
}
