/* resset.dev • v5.0.2 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
  height: 0; /* Add the correct box sizing in Firefox */
  color: inherit; /* Correct border color in Firefox. */
}

details,
main {
  display: block; /* Render the `main` element consistently in IE. */
}

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

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none; /* Add the correct display in IE */
}

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

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

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

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

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
  border-radius: 0;
}

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

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

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

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

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type='button'],
[type='reset'],
[type='submit'],
[role='button'] {
  cursor: pointer;
}

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

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

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

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

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

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

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

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Specify the progress cursor of updating elements */
[aria-busy='true'] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled='true'] {
  cursor: default;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZGluIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6InN0ZGluIiwic291cmNlc0NvbnRlbnQiOlsiLyogcmVzc2V0LmRldiDigKIgdjUuMC4yICovXG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgR2xvYmFsIHNlbGVjdG9yc1xuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUyAqL1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIC1tb3otdGFiLXNpemU6IDQ7XG4gIHRhYi1zaXplOiA0O1xufVxuXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgLyogU2V0IGBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0YCB0byBhbGwgZWxlbWVudHMgYW5kIHBzZXVkbyBlbGVtZW50cyAqL1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IC8qIEluaGVyaXQgdGV4dC1kZWNvcmF0aW9uIGFuZCB2ZXJ0aWNhbCBhbGlnbiB0byA6OmJlZm9yZSBhbmQgOjphZnRlciBwc2V1ZG8gZWxlbWVudHMgKi9cbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbioge1xuICBwYWRkaW5nOiAwOyAvKiBSZXNldCBgcGFkZGluZ2AgYW5kIGBtYXJnaW5gIG9mIGFsbCBlbGVtZW50cyAqL1xuICBtYXJnaW46IDA7XG59XG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgR2VuZXJhbCBlbGVtZW50c1xuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ociB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRSAqL1xuICBoZWlnaHQ6IDA7IC8qIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3ggKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIENvcnJlY3QgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guICovXG59XG5cbmRldGFpbHMsXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IC8qIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLiAqL1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMgKi9cbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgLyogU2V0IGZvbnQtc2l6ZSB0byA4MCUgaW4gYHNtYWxsYCBlbGVtZW50cyAqL1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFICovXG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1NyAqL1xuICAvKiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwICovXG59XG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IC8qIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIGhvdmVyaW5nIGluIGFsbCBicm93c2VycyAqL1xufVxuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogU3BlY2lmeSB0aGUgZm9udCBmYW1pbHkgb2YgY29kZSBlbGVtZW50cyAqL1xufVxuXG5wcmUge1xuICBmb250LXNpemU6IDFlbTsgLyogQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzICovXG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyAvKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXG59XG5cbi8qIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3VucnV0aGxlc3MvNDEzOTMwICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogQ29ycmVjdCBib3JkZXIgY29sb3IgaW4gYWxsIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS4gKi9cbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xufVxuXG5pZnJhbWUge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgRm9ybXNcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaW5wdXQge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5bdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IC8qIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZSAqL1xufVxuXG5bdHlwZT0nc2VhcmNoJ10ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpICovXG59XG5cblt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLyogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TICovXG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8qIEludGVybmV0IEV4cGxvcmVyIDExKyAqL1xuICByZXNpemU6IHZlcnRpY2FsOyAvKiBTcGVjaWZ5IHRleHRhcmVhIHJlc2l6YWJpbGl0eSAqL1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0OyAvKiBTcGVjaWZ5IGZvbnQgaW5oZXJpdGFuY2Ugb2YgZm9ybSBlbGVtZW50cyAqL1xufVxuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyAvKiBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZSAqL1xufVxuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEgKi9cbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8qIEZpcmVmb3ggNDArLCBJbnRlcm5ldCBFeHBsb3JlciAxMS0gKi9cbn1cblxuLyogQXBwbHkgY3Vyc29yIHBvaW50ZXIgdG8gYnV0dG9uIGVsZW1lbnRzICovXG5idXR0b24sXG5bdHlwZT0nYnV0dG9uJ10sXG5bdHlwZT0ncmVzZXQnXSxcblt0eXBlPSdzdWJtaXQnXSxcbltyb2xlPSdidXR0b24nXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0nYnV0dG9uJ106Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0ncmVzZXQnXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPSdzdWJtaXQnXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogUmVwbGFjZSBmb2N1cyBzdHlsZSByZW1vdmVkIGluIHRoZSBib3JkZXIgcmVzZXQgYWJvdmUgKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPSdidXR0b24nXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPSdyZXNldCddOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9J3N1Ym1pdCddOjotbW96LWZvY3VzLWlubmVyIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG5idXR0b24sXG5odG1sIFt0eXBlPSdidXR0b24nXSwgLyogUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gY29udHJvbHMgaW4gQW5kcm9pZCA0ICovXG5bdHlwZT0ncmVzZXQnXSxcblt0eXBlPSdzdWJtaXQnXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyAqL1xufVxuXG4vKiBSZW1vdmUgdGhlIGRlZmF1bHQgYnV0dG9uIHN0eWxpbmcgaW4gYWxsIGJyb3dzZXJzICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuYTpmb2N1cyxcbmJ1dHRvbjpmb2N1cyxcbmlucHV0OmZvY3VzLFxuc2VsZWN0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vKiBTdHlsZSBzZWxlY3QgbGlrZSBhIHN0YW5kYXJkIGlucHV0ICovXG5zZWxlY3Qge1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIEZpcmVmb3ggMzYrICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLyogQ2hyb21lIDQxKyAqL1xufVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMSsgKi9cbn1cblxuc2VsZWN0OjotbXMtdmFsdWUge1xuICBjb2xvcjogY3VycmVudENvbG9yOyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMSsgKi9cbn1cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRSAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSAxOC0gYW5kIElFICovXG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAvKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDsgLyogQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gQ2hyb21lIGFuZCBTYWZhcmkgKi9cbn1cblxuLyogUmVwbGFjZSBwb2ludGVyIGN1cnNvciBpbiBkaXNhYmxlZCBlbGVtZW50cyAqL1xuW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBTcGVjaWZ5IG1lZGlhIGVsZW1lbnQgc3R5bGVcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMCAqL1xufVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBBY2Nlc3NpYmlsaXR5XG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFNwZWNpZnkgdGhlIHByb2dyZXNzIGN1cnNvciBvZiB1cGRhdGluZyBlbGVtZW50cyAqL1xuW2FyaWEtYnVzeT0ndHJ1ZSddIHtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbn1cblxuLyogU3BlY2lmeSB0aGUgcG9pbnRlciBjdXJzb3Igb2YgdHJpZ2dlciBlbGVtZW50cyAqL1xuW2FyaWEtY29udHJvbHNdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBTcGVjaWZ5IHRoZSB1bnN0eWxlZCBjdXJzb3Igb2YgZGlzYWJsZWQsIG5vdC1lZGl0YWJsZSwgb3Igb3RoZXJ3aXNlIGlub3BlcmFibGUgZWxlbWVudHMgKi9cblthcmlhLWRpc2FibGVkPSd0cnVlJ10ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4iXX0= */
/* asset-require:vendor/ress.css */

/***** var set *****/
:root {
  --body-color: #f8f8f7;
  --site-color-black: #333;
  --site-color-green: #42ac6b;
  --site-color-darkgreen: #235b45;
  --site-color-beige: #eee8d2;
  --site-color-olive: #a39562;
  --site-color-gray: #a7a7a7;
  --site-color-lightgray: #f8f8f8;
  --site-color-magenta: #e52b8e;
  --site-color-cyan: #32B1D8;

  --font-family-noto: 'Noto Sans JP', sans-serif;
  --font-family-mplus: 'M PLUS 1p', sans-serif;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-regular: 500;
  --font-weight-bold: 700;
  --font-color: #333;
  --text-line-ajust: rotate(.03deg) translateY(-.1rem);
  
  --site-width: 100vw;
  --site-max-width: 1104px; /* 1064 + 20 + 20 */
  --site-min-width: 769px;
  --site-min-width-sp: 320px;

  --header-height: 12rem;
  --footer-height: 8.5rem;

  --site-transition-duration: .2s;
}

/***** layout set *****/
@media screen and (min-width: 1104px) {
  :root {
    --ss: / 1104 * 1104px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1103px) {
  :root {
    --ss: / 1104 * 100vw;
  }
}
@media screen and (min-width: 769px) {
  html { font-size: 10px; }
  body { min-width: var(--site-min-width); }
  .sp { display: none !important; }
}
@media screen and (max-width: 768px) {
  :root { --ss: / 393 * 100vw; }
  html { font-size: calc(10 / 393 * 100vw); }
  body { min-width: var(--site-min-width-sp); }
  .pc { display: none !important; }
}

/***** base set *****/
* {
  box-sizing: border-box;
}
*:focus {
  outline: none;
}
html {
  width: 100%;
  height: 100%;
  overflow-x: auto;
  overflow-y: scroll;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + var(--megamenu-height));
}
body {
  display: flex;
  flex-direction: column;
  position: relative;
  color: var(--font-color);
  font-weight: var(--font-weight-normal);
  font-size: 1.8rem;
  line-height: calc(31.5 / 18 * 1em);
  background-color: var(--body-color);
  width: 100%;
  height: auto;
  min-height: 100vh;
  min-height: 100dvh;
  visibility: visible;
  opacity: 1;
}
body, button, input, textarea {
  font-family: var(--font-family-noto);
}
a, button {
  color: inherit;
  text-decoration: none;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  transition-property: text-decoration, opacity;
  transition-duration: var(--site-transition-duration);
}
a:hover, button:hover {
  opacity: .5;
}
a span, button span {
  pointer-events: none;
}
img {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1.6;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
address {
  font-style: normal;
}
b, strong {
  font-weight: bold;
}
sup {
  top: -.2em;
}
.error {
  color: var(--error-color);
}
.float-left { float: left; }
.float-right { float: right; }

/***** p style *****/
main :is(p, ul, ol) + p {
  margin-top: 1em;
}

/***** list style *****/
ul.normal {
  list-style: none;
  padding-left: 1.5em;
}
ul.normal > li {
  position: relative;
}
ul.normal > li:before {
  content: "・";
  position: absolute;
  left: -1.5em;
}
li > ul.normal {
  padding-left: 1.5em;
}
li > ul.normal > li {
  position: relative;
}
li > ul.normal > li:before {
  content: "○";
  position: absolute;
  left: -1.25em;
  font-family: 'Arial';
  font-size: 1em;
}
ul.flex {
  list-style: none;
}
ul.flex > li {
  display: flex;
}
ul.flex > li > div:nth-of-type(1) { margin-left: -.5em; }
ol.normal {
  display: flex;
  flex-direction: column;
  gap: .5rem 0;
  list-style: none;
  counter-reset: count;
  padding-left: 1.6em;

  p + & {
    margin-top: 1.6rem;
  }
}
ol.normal > li {
  counter-increment: count;
  position: relative;
}
ol.normal > li::before {
  content: counter(count) ".";
  position: absolute;
  left: -1.5em;
}

/***** placeholder *****/
::-webkit-input-placeholder {
  color: #adb1b4;
}
::-moz-placeholder {
  color: #adb1b4;
  opacity: 1;
}
:-ms-input-placeholder {
  color: #adb1b4;
}
::placeholder {
  color: #adb1b4;
}

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

/***** wrap *****/
.wraps {
  max-width: var(--site-max-width);
  margin: 0 auto;
  padding: 0 2rem;
}
.wrapl {
  width: 100%;
  margin: 0;
  padding: 0 2rem;
}

/***** loading *****/
.loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  background-color: #fff;
  width: 100%;
  height: 100%;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s .3s, opacity .3s;
}
.is-loading .loading {
  visibility: visible;
  opacity: 1;
}

/***** scroll lock *****/
/*
.is-scrolllock {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}
*/

/***** z-index *****/
.page-top { z-index: 1000; }
#header   { z-index:  500; }
#footer   { z-index:  100; }
#main     { z-index:    0; }

/***** header *****/
#header {
  width: 100%;
}
#header .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  width: 100%;
  height: var(--header-height);
  padding: 0;
}
#header .wrap .title {
  flex: 0 1 54rem;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 54rem;
  padding: 0 calc(20 var(--ss));
}
#header .wrap .title a {
  display: flex;
  padding: .6rem 0;
}
#header .wrap .title a span {
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-family-mplus);
  font-weight: var(--font-weight-normal);
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: .25em;
  word-break: keep-all;
  transform: var(--text-line-ajust);
}
#header .wrap .menu {
  display: flex;
  width: 100%;
  height: 100%;
  max-width: 79.2rem;
}
#header .wrap .menu .gnav {
  flex: 0 1 62.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 62.4rem;
  padding-left: 2rem;
  padding-right: 1rem;
}
#header .wrap .menu .gnav ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  list-style: none;
  width: 100%;
  max-width: 53.4rem;
}
#header .wrap .menu .gnav ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 1rem calc(20 var(--ss));
}
#header .wrap .menu .gnav ul li a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: .5rem;
  left: 0;
  background-color: var(--site-color-black);
  width: 0;
  height: .2rem;
  margin: 0 auto;
  opacity: 0;
  transition: all var(--site-transition-duration);
}
#header .wrap .menu .gnav ul li a span {
  font-family: var(--font-family-mplus);
  font-weight: var(--font-weight-regular);
  font-size: 1.4rem;
  line-height: 4rem;
  text-align: center;
  white-space: nowrap;
  transition: color var(--site-transition-duration);
}

/* a:hover */
#header .wrap .menu .gnav ul li a:hover {
  opacity: 1;
}
#header .wrap .menu .gnav ul li a:hover::after {
  width: 3rem;
  opacity: 1;
}

/* li.is-active */
#header .wrap .menu .gnav ul li.is-active a::after {
  bottom: 1.5rem;
  background-color: var(--site-color-magenta);
  width: 3rem;
  opacity: 1;
}
#header .wrap .menu .gnav ul li.is-active a span {
  color: var(--site-color-magenta);
}

/* contact */
#header .wrap .menu .contact {
  flex: 0 1 16.8rem;
  max-width: 16.8rem;
  min-width: 12rem;
  height: 100%;
}
#header .wrap .menu .contact a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--site-color-green);
  width: 100%;
  height: 100%;
}
#header .wrap .menu .contact a:hover {
  opacity: .7;
}
#header .wrap .menu .contact a::after {
  content: "";
  background: url(/assets/img/commons/icon-email-oys80.svg) no-repeat center center / 100% auto;
  width: 3.6rem;
  height: 2.5rem;
}

/***** contents *****/
#contents {}

/***** main *****/
main {
  padding: calc(52 var(--ss)) 0 calc(100 var(--ss));
}

/***** footer *****/
#footer {
  margin-top: auto;
}
#footer .guide {
  background-color: var(--site-color-darkgreen);
}
#footer .guide .wraps {
  display: flex;
  justify-content: space-between;
  gap: 0 2rem;
  padding-top: 5rem;
  padding-bottom: 4rem;
}
#footer .guide .wraps .info {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.8rem 0;
}
#footer .guide .wraps .info .title {
  display: flex;
}
#footer .guide .wraps .info .title span {
  color: white;
  font-family: var(--font-family-mplus);
  font-weight: var(--font-weight-light);
  font-size: 2.4rem;
  line-height: 3.6rem;
}
#footer .guide .wraps .info address {
  color: white;
  font-family: var(--font-family-noto);
  font-style: normal;
  font-size: 1.4rem;
  line-height: 2.8rem;
}
#footer .guide .wraps .info address a {
  color: #32b1d8;
  text-decoration: underline;
}
#footer .guide .wraps .info address a:hover {
  text-decoration: none;
  opacity: 1;
}
#footer .guide .wraps .sitemap {
  align-self: flex-start;
  flex: 0 1 42.4rem;
  display: flex;
  gap: 0 calc(20 var(--ss));
  /* padding-right: calc(76 var(--ss)); */
}
#footer .guide .wraps .sitemap ul {
  flex: 0 1 16.4rem;
  display: flex;
  flex-direction: column;
  gap: .8rem 0;
  list-style: none;
  border-left: .11rem solid white;
  height: 1005;
  padding-left: 2rem;
}
#footer .guide .wraps .sitemap ul li a {
  display: flex;
}
#footer .guide .wraps .sitemap ul li a:hover {
  opacity: 1;
}
#footer .guide .wraps .sitemap ul li a span {
  position: relative;
  color: white;
  font-family: var(--font-family-noto);
  font-size: 1.6rem;
  line-height: 3.2rem;
  white-space: nowrap;
}
#footer .guide .wraps .sitemap ul li a span::after {
  content: "";
  position: absolute;
  bottom: .2rem;
  left: 0;
  background-color: white;
  width: 0%;
  height: .11rem;
  opacity: 0;
  transition: all var(--site-transition-duration);
}
#footer .guide .wraps .sitemap ul li a:hover span::after {
  width: 100%;
  opacity: 1;
}
#footer .copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: black;
  height: var(--footer-height);
}
#footer .copyright p {
  color: white;
  font-family: var(--font-family-noto);
  font-size: 1.4rem;
  line-height: 1;
}

/***** headers *****/
/* page haeder */
.hdset.ph {
  display: flex;
  justify-content: center;
  position: relative;
  margin-bottom: calc(54 var(--ss));
  padding-bottom: 2.4rem;
}
.hdset.ph::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--site-color-olive);
  width: 10rem;
  height: .11rem;
  margin: 0 auto;
}
.hdset.ph > .hd {
  display: flex;
}
.hdset.ph > .hd > span {
  font-weight: var(--font-weight-regular);
  font-size: 3.8rem;
  line-height: calc(52 / 38 * 1em);
  text-align: center;
  word-break: keep-all;
}

/* head middle */
.hdm {
  display: inline-flex;
  position: relative;
  margin-bottom: 3.4rem;
  padding-bottom: .4rem;
}
.hdm::before,
.hdm::after {
  content: "";
  position: absolute;
  bottom: 0;
  background-color: var(--site-color-gray);
  height: .1rem;
}
.hdm::before {
  right: 100%;
  width: 100vw;
}
.hdm::after {
  left: 0;
  width: 100%;
}
.hdm > span {
  color: var(--site-color-green);
  font-family: var(--font-family-mplus);
  font-weight: var(--font-weight-normal);
  font-size: 2.4rem;
  line-height: calc(28 / 24 * 1em);
  letter-spacing: .08em;
}

/***** btns *****/
/* btns */
main .btns {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 4rem;
}
main .btns .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  text-decoration: none;
  background-color: var(--site-color-green);
  width: 35.2rem;
  height: 5.6rem;
}
main .btns .btn::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
main .btns .btn:hover {
  opacity: .7;
}
main .btns .btn span {
  color: #fff;
  font-weight: var(--font-weight-regular);
  font-size: 1.8rem;
  letter-spacing: .1em;
  text-align: center;
  transform: var(--text-line-ajust);
}
/* btn arrow */
main .btns .btn-arrow01::after {
  right: 2.3rem;
  background: url(/assets/img/commons/icon-arrow01-7fbyM.svg) no-repeat center center / 100% auto;
  width: .78rem;
  height: 1.3rem;
}
/* btn downlaod */
main .btns .btn-download::after {
  right: 1.6rem;
  background: url(/assets/img/commons/icon-download-Cieq7.svg) no-repeat center center / 100% auto;
  width: 2rem;
  height: 2rem;
}

/***** mobile ***********************************************************************************/
@media screen and (max-width: 768px) {
  /***** var set *****/
  :root {
    --site-max-width: 100%;
    --header-height: 8rem;
  }

  /***** base set *****/
  html {
    scroll-padding-top: calc(var(--header-height) + var(--megamenu-height));
  }
  
  /***** wrap *****/
  .wraps {
    box-sizing: border-box;
    max-width: 100%;
    padding: 0 1rem;
  }

  /***** header *****/
  #header {
    position: relative;
  }

  /* title */
  #header .wrap .title {
    flex: 0 1 31.3rem;
    justify-content: flex-start;
    padding: 0 1rem;
  }
  #header .wrap .title a {
    display: flex;
    padding: .6rem 0;
  }
  #header .wrap .title a span {
    font-size: 1.6rem;
    line-height: 3.2rem;
    letter-spacing: 0;
  }

  /* btn-menu */
  #header .wrap .btn-menu {
    position: relative;
    z-index: 11;
    width: 8rem;
    height: 100%;
  }
  #header .wrap .btn-menu button {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    background-image: none;
    background-position: center center;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
  }
  #header .wrap .btn-menu button span {
    display: none;
    color: white;
    font-family: var(--font-family-mplus);
    font-weight: var(--font-weight-regular);
    font-size: 1.2rem;
    line-height: 1;
    text-align: center;
  }
  #header .wrap .btn-menu button.bm-open {
    z-index: 0;
    background-color: var(--site-color-green);
    background-image: url(/assets/img/commons/icon-bm-THjW7.svg);
    background-size: 3rem auto;
  }
  #header .wrap .btn-menu button.bm-close {
    z-index: 1;
    background-color: var(--site-color-olive);
    background-image: url(/assets/img/commons/icon-bm-close-f4VZ1.svg);
    background-size: 2.4rem auto;
    opacity: 0;
    transition: opacity .2s;
  }
  #header .wrap .btn-menu button.bm-close span {
    display: block;
    position: absolute;
    right: 0;
    bottom: .8rem;
    left: 0;
  }
  #header .wrap .btn-menu.is-active button.bm-close {
    opacity: 1;
  }

  /* menu */
  #header .wrap .menu {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    max-width: 100vw;
    background-color: rgba(255, 255, 255, .9);
    height: 100vh;
    height: 100dvh;
    padding: 0 2rem;
    transform: translateX(100%);
    transition: transform .5s cubic-bezier(0.65, 0, 0.35, 1);
  }
  #header .wrap .menu:has(+ .btn-menu.is-active) {
    transform: translateX(0%);
  }
  #header .wrap .menu .set {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, .9);
    width: 100%;
    max-width: 100vw;
    padding: 2rem 2rem 4rem;
  }
  #header .wrap .menu .gnav {
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  #header .wrap .menu .gnav ul {
    flex-direction: column;
    gap: 4rem 0;
    max-width: 100%;
  }
  #header .wrap .menu .gnav ul li {
    width: 100%;
  }
  #header .wrap .menu .gnav ul li a {
    justify-content: flex-start;
    align-items: center;
    min-height: 4.2rem;
    padding: 0 1rem;
  }
  #header .wrap .menu .gnav ul li a::after {
    display: none;
  }
  #header .wrap .menu .gnav ul li a span {
    font-size: 2.2rem;
    line-height: 1;
  }

  /* contact */
  #header .wrap .menu .contact {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 10rem;
    margin-top: 9rem;
  }
  #header .wrap .menu .contact a {
    gap: 0 1.1rem;
    background-color: var(--site-color-green);
    width: 100%;
    height: 10rem;
  }
  #header .wrap .menu .contact a:hover {
    opacity: 1;
  }
  #header .wrap .menu .contact a::after {
    order: 0;
    content: "";
    background: url(/assets/img/commons/icon-email-oys80.svg) no-repeat center center / 100% auto;
    width: 3.6rem;
    height: 2.5rem;
  }
  #header .wrap .menu .contact a span {
    order: 1;
    color: white;
    font-family: var(--font-family-mplus);
    font-weight: var(--font-weight-regular);
    font-size: 2.2rem;
    line-height: 1;
    transform: var(--text-line-ajust);
  }

  /***** contents *****/
  #contents {}

  /***** main *****/
  main {
    padding: 3.4rem 0 10rem;
  }

  /***** footer *****/
  #footer .guide .wraps {
    flex-direction: column;
    gap: 3rem 0;
    padding: 4rem 2rem 6rem;
  }
  #footer .guide .wraps .info {
    align-items: center;
    gap: 2.8rem 0;
    padding-left: 0;
  }
  #footer .guide .wraps .info .title span {
    font-size: 2.1rem;
    line-height: 1;
    text-align: center;
    margin: 0 -1em;
  }
  #footer .guide .wraps .info address {
    font-size: 1.4rem;
    line-height: 2.8rem;
    width: 100%;
    padding: 0 1.5rem;
  }
  #footer .guide .wraps .sitemap {
    flex: 0 0 auto;
    gap: 0 1.6rem;
    width: 100%;
  }
  #footer .guide .wraps .sitemap ul {
    flex: 0 0 50%;
    gap: .8rem 0;
    height: auto;
  }
  #footer .copyright {
    height: var(--footer-height);
    padding-bottom: 1rem;
  }

  /***** page-top *****/
  .page-top {
    display: flex;
    position: fixed;
    bottom: 7rem;
    right: 2rem;
    opacity: 0;
    transition: opacity .5s;
  }
  .page-top.is-active {
    opacity: 1;
  }
  .page-top .btn {
    background: url(/assets/img/commons/btn-page-top-fvLUI.png) no-repeat center center / 100% auto;
    width: 6rem;
    height: 6rem;
  }
  .page-top .btn span {
    display: none;
  }

  /***** headers *****/
  /* page haeder */
  .hdset.ph {
    margin-bottom: calc(72 var(--ss));
    padding-bottom: 2.4rem;
  }
  .hdset.ph::after {
    width: 4.8rem;
  }
  .hdset.ph > .hd > span {
    font-size: 3.2rem;
    line-height: calc(42 / 32 * 1em);
    max-width: 100%;
  }

  /* head middle */
  .hdm {
    padding-bottom: .6rem;
  }

  /***** btns *****/
  /* btns */
  main .btns {
    margin-top: 4.2rem;
  }
  main .btns .btn {
    width: 35.3rem;
  }
  main .btns .btn:hover {
    opacity: 1;
  }

}/* @media screen and (max-width: 768px) end */

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZGluIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6InN0ZGluIiwic291cmNlc0NvbnRlbnQiOlsiLyogYXNzZXQtcmVxdWlyZTp2ZW5kb3IvcmVzcy5jc3MgKi9cblxuLyoqKioqIHZhciBzZXQgKioqKiovXG46cm9vdCB7XG4gIC0tYm9keS1jb2xvcjogI2Y4ZjhmNztcbiAgLS1zaXRlLWNvbG9yLWJsYWNrOiAjMzMzO1xuICAtLXNpdGUtY29sb3ItZ3JlZW46ICM0MmFjNmI7XG4gIC0tc2l0ZS1jb2xvci1kYXJrZ3JlZW46ICMyMzViNDU7XG4gIC0tc2l0ZS1jb2xvci1iZWlnZTogI2VlZThkMjtcbiAgLS1zaXRlLWNvbG9yLW9saXZlOiAjYTM5NTYyO1xuICAtLXNpdGUtY29sb3ItZ3JheTogI2E3YTdhNztcbiAgLS1zaXRlLWNvbG9yLWxpZ2h0Z3JheTogI2Y4ZjhmODtcbiAgLS1zaXRlLWNvbG9yLW1hZ2VudGE6ICNlNTJiOGU7XG4gIC0tc2l0ZS1jb2xvci1jeWFuOiAjMzJCMUQ4O1xuXG4gIC0tZm9udC1mYW1pbHktbm90bzogJ05vdG8gU2FucyBKUCcsIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1mYW1pbHktbXBsdXM6ICdNIFBMVVMgMXAnLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDA7XG4gIC0tZm9udC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4gIC0tZm9udC13ZWlnaHQtcmVndWxhcjogNTAwO1xuICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiAgLS1mb250LWNvbG9yOiAjMzMzO1xuICAtLXRleHQtbGluZS1hanVzdDogcm90YXRlKC4wM2RlZykgdHJhbnNsYXRlWSgtLjFyZW0pO1xuICBcbiAgLS1zaXRlLXdpZHRoOiAxMDB2dztcbiAgLS1zaXRlLW1heC13aWR0aDogMTEwNHB4OyAvKiAxMDY0ICsgMjAgKyAyMCAqL1xuICAtLXNpdGUtbWluLXdpZHRoOiA3NjlweDtcbiAgLS1zaXRlLW1pbi13aWR0aC1zcDogMzIwcHg7XG5cbiAgLS1oZWFkZXItaGVpZ2h0OiAxMnJlbTtcbiAgLS1mb290ZXItaGVpZ2h0OiA4LjVyZW07XG5cbiAgLS1zaXRlLXRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcbn1cblxuLyoqKioqIGxheW91dCBzZXQgKioqKiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTA0cHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tc3M6IC8gMTEwNCAqIDExMDRweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIGFuZCAobWF4LXdpZHRoOiAxMTAzcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tc3M6IC8gMTEwNCAqIDEwMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICBodG1sIHsgZm9udC1zaXplOiAxMHB4OyB9XG4gIGJvZHkgeyBtaW4td2lkdGg6IHZhcigtLXNpdGUtbWluLXdpZHRoKTsgfVxuICAuc3AgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIDpyb290IHsgLS1zczogLyAzOTMgKiAxMDB2dzsgfVxuICBodG1sIHsgZm9udC1zaXplOiBjYWxjKDEwIC8gMzkzICogMTAwdncpOyB9XG4gIGJvZHkgeyBtaW4td2lkdGg6IHZhcigtLXNpdGUtbWluLXdpZHRoLXNwKTsgfVxuICAucGMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuLyoqKioqIGJhc2Ugc2V0ICoqKioqL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4qOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbmh0bWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBzY3JvbGwtcGFkZGluZy10b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyB2YXIoLS1tZWdhbWVudS1oZWlnaHQpKTtcbn1cbmJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogY2FsYygzMS41IC8gMTggKiAxZW0pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDEwMGR2aDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cbmJvZHksIGJ1dHRvbiwgaW5wdXQsIHRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LW5vdG8pO1xufVxuYSwgYnV0dG9uIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0ZXh0LWRlY29yYXRpb24sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNpdGUtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG59XG5hOmhvdmVyLCBidXR0b246aG92ZXIge1xuICBvcGFjaXR5OiAuNTtcbn1cbmEgc3BhbiwgYnV0dG9uIHNwYW4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuc3VwIHtcbiAgdG9wOiAtLjJlbTtcbn1cbi5lcnJvciB7XG4gIGNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcik7XG59XG4uZmxvYXQtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4uZmxvYXQtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLyoqKioqIHAgc3R5bGUgKioqKiovXG5tYWluIDppcyhwLCB1bCwgb2wpICsgcCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLyoqKioqIGxpc3Qgc3R5bGUgKioqKiovXG51bC5ub3JtYWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xufVxudWwubm9ybWFsID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG51bC5ub3JtYWwgPiBsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIuODu1wiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xLjVlbTtcbn1cbmxpID4gdWwubm9ybWFsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbn1cbmxpID4gdWwubm9ybWFsID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5saSA+IHVsLm5vcm1hbCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4peLXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEuMjVlbTtcbiAgZm9udC1mYW1pbHk6ICdBcmlhbCc7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxudWwuZmxleCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG51bC5mbGV4ID4gbGkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxudWwuZmxleCA+IGxpID4gZGl2Om50aC1vZi10eXBlKDEpIHsgbWFyZ2luLWxlZnQ6IC0uNWVtOyB9XG5vbC5ub3JtYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IC41cmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IGNvdW50O1xuICBwYWRkaW5nLWxlZnQ6IDEuNmVtO1xuXG4gIHAgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gIH1cbn1cbm9sLm5vcm1hbCA+IGxpIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGNvdW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5vbC5ub3JtYWwgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihjb3VudCkgXCIuXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEuNWVtO1xufVxuXG4vKioqKiogcGxhY2Vob2xkZXIgKioqKiovXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2FkYjFiNDtcbn1cbjo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYWRiMWI0O1xuICBvcGFjaXR5OiAxO1xufVxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYWRiMWI0O1xufVxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYWRiMWI0O1xufVxuXG4vKioqKiogY2xlYXJmaXggKioqKiovXG4uY2Y6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qKioqKiB3cmFwICoqKioqL1xuLndyYXBzIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaXRlLW1heC13aWR0aCk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDJyZW07XG59XG4ud3JhcGwge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDJyZW07XG59XG5cbi8qKioqKiBsb2FkaW5nICoqKioqL1xuLmxvYWRpbmcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyAuM3MsIG9wYWNpdHkgLjNzO1xufVxuLmlzLWxvYWRpbmcgLmxvYWRpbmcge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKioqKiogc2Nyb2xsIGxvY2sgKioqKiovXG4vKlxuLmlzLXNjcm9sbGxvY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuKi9cblxuLyoqKioqIHotaW5kZXggKioqKiovXG4ucGFnZS10b3AgeyB6LWluZGV4OiAxMDAwOyB9XG4jaGVhZGVyICAgeyB6LWluZGV4OiAgNTAwOyB9XG4jZm9vdGVyICAgeyB6LWluZGV4OiAgMTAwOyB9XG4jbWFpbiAgICAgeyB6LWluZGV4OiAgICAwOyB9XG5cbi8qKioqKiBoZWFkZXIgKioqKiovXG4jaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4jaGVhZGVyIC53cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgcGFkZGluZzogMDtcbn1cbiNoZWFkZXIgLndyYXAgLnRpdGxlIHtcbiAgZmxleDogMCAxIDU0cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTRyZW07XG4gIHBhZGRpbmc6IDAgY2FsYygyMCB2YXIoLS1zcykpO1xufVxuI2hlYWRlciAud3JhcCAudGl0bGUgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IC42cmVtIDA7XG59XG4jaGVhZGVyIC53cmFwIC50aXRsZSBhIHNwYW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1tcGx1cyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGxldHRlci1zcGFjaW5nOiAuMjVlbTtcbiAgd29yZC1icmVhazoga2VlcC1hbGw7XG4gIHRyYW5zZm9ybTogdmFyKC0tdGV4dC1saW5lLWFqdXN0KTtcbn1cbiNoZWFkZXIgLndyYXAgLm1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDc5LjJyZW07XG59XG4jaGVhZGVyIC53cmFwIC5tZW51IC5nbmF2IHtcbiAgZmxleDogMCAxIDYyLjRyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXgtd2lkdGg6IDYyLjRyZW07XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cbiNoZWFkZXIgLndyYXAgLm1lbnUgLmduYXYgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTMuNHJlbTtcbn1cbiNoZWFkZXIgLndyYXAgLm1lbnUgLmduYXYgdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDFyZW0gY2FsYygyMCB2YXIoLS1zcykpO1xufVxuI2hlYWRlciAud3JhcCAubWVudSAuZ25hdiB1bCBsaSBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogLjVyZW07XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNpdGUtY29sb3ItYmxhY2spO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAuMnJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1zaXRlLXRyYW5zaXRpb24tZHVyYXRpb24pO1xufVxuI2hlYWRlciAud3JhcCAubWVudSAuZ25hdiB1bCBsaSBhIHNwYW4ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktbXBsdXMpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogNHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1zaXRlLXRyYW5zaXRpb24tZHVyYXRpb24pO1xufVxuXG4vKiBhOmhvdmVyICovXG4jaGVhZGVyIC53cmFwIC5tZW51IC5nbmF2IHVsIGxpIGE6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuI2hlYWRlciAud3JhcCAubWVudSAuZ25hdiB1bCBsaSBhOmhvdmVyOjphZnRlciB7XG4gIHdpZHRoOiAzcmVtO1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBsaS5pcy1hY3RpdmUgKi9cbiNoZWFkZXIgLndyYXAgLm1lbnUgLmduYXYgdWwgbGkuaXMtYWN0aXZlIGE6OmFmdGVyIHtcbiAgYm90dG9tOiAxLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNpdGUtY29sb3ItbWFnZW50YSk7XG4gIHdpZHRoOiAzcmVtO1xuICBvcGFjaXR5OiAxO1xufVxuI2hlYWRlciAud3JhcCAubWVudSAuZ25hdiB1bCBsaS5pcy1hY3RpdmUgYSBzcGFuIHtcbiAgY29sb3I6IHZhcigtLXNpdGUtY29sb3ItbWFnZW50YSk7XG59XG5cbi8qIGNvbnRhY3QgKi9cbiNoZWFkZXIgLndyYXAgLm1lbnUgLmNvbnRhY3Qge1xuICBmbGV4OiAwIDEgMTYuOHJlbTtcbiAgbWF4LXdpZHRoOiAxNi44cmVtO1xuICBtaW4td2lkdGg6IDEycmVtO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jaGVhZGVyIC53cmFwIC5tZW51IC5jb250YWN0IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2l0ZS1jb2xvci1ncmVlbik7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jaGVhZGVyIC53cmFwIC5tZW51IC5jb250YWN0IGE6aG92ZXIge1xuICBvcGFjaXR5OiAuNztcbn1cbiNoZWFkZXIgLndyYXAgLm1lbnUgLmNvbnRhY3QgYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXQtdXJsOi9pbWcvY29tbW9ucy9pY29uLWVtYWlsLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyAxMDAlIGF1dG87XG4gIHdpZHRoOiAzLjZyZW07XG4gIGhlaWdodDogMi41cmVtO1xufVxuXG4vKioqKiogY29udGVudHMgKioqKiovXG4jY29udGVudHMge31cblxuLyoqKioqIG1haW4gKioqKiovXG5tYWluIHtcbiAgcGFkZGluZzogY2FsYyg1MiB2YXIoLS1zcykpIDAgY2FsYygxMDAgdmFyKC0tc3MpKTtcbn1cblxuLyoqKioqIGZvb3RlciAqKioqKi9cbiNmb290ZXIge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuI2Zvb3RlciAuZ3VpZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaXRlLWNvbG9yLWRhcmtncmVlbik7XG59XG4jZm9vdGVyIC5ndWlkZSAud3JhcHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMCAycmVtO1xuICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDRyZW07XG59XG4jZm9vdGVyIC5ndWlkZSAud3JhcHMgLmluZm8ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjhyZW0gMDtcbn1cbiNmb290ZXIgLmd1aWRlIC53cmFwcyAuaW5mbyAudGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuI2Zvb3RlciAuZ3VpZGUgLndyYXBzIC5pbmZvIC50aXRsZSBzcGFuIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktbXBsdXMpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbGlnaHQpO1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNnJlbTtcbn1cbiNmb290ZXIgLmd1aWRlIC53cmFwcyAuaW5mbyBhZGRyZXNzIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktbm90byk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjhyZW07XG59XG4jZm9vdGVyIC5ndWlkZSAud3JhcHMgLmluZm8gYWRkcmVzcyBhIHtcbiAgY29sb3I6ICMzMmIxZDg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuI2Zvb3RlciAuZ3VpZGUgLndyYXBzIC5pbmZvIGFkZHJlc3MgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbn1cbiNmb290ZXIgLmd1aWRlIC53cmFwcyAuc2l0ZW1hcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIGZsZXg6IDAgMSA0Mi40cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAgY2FsYygyMCB2YXIoLS1zcykpO1xuICAvKiBwYWRkaW5nLXJpZ2h0OiBjYWxjKDc2IHZhcigtLXNzKSk7ICovXG59XG4jZm9vdGVyIC5ndWlkZSAud3JhcHMgLnNpdGVtYXAgdWwge1xuICBmbGV4OiAwIDEgMTYuNHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAuOHJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItbGVmdDogLjExcmVtIHNvbGlkIHdoaXRlO1xuICBoZWlnaHQ6IDEwMDU7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cbiNmb290ZXIgLmd1aWRlIC53cmFwcyAuc2l0ZW1hcCB1bCBsaSBhIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbiNmb290ZXIgLmd1aWRlIC53cmFwcyAuc2l0ZW1hcCB1bCBsaSBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbiNmb290ZXIgLmd1aWRlIC53cmFwcyAuc2l0ZW1hcCB1bCBsaSBhIHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LW5vdG8pO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMnJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiNmb290ZXIgLmd1aWRlIC53cmFwcyAuc2l0ZW1hcCB1bCBsaSBhIHNwYW46OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC4ycmVtO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IC4xMXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXNpdGUtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG59XG4jZm9vdGVyIC5ndWlkZSAud3JhcHMgLnNpdGVtYXAgdWwgbGkgYTpob3ZlciBzcGFuOjphZnRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBvcGFjaXR5OiAxO1xufVxuI2Zvb3RlciAuY29weXJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBoZWlnaHQ6IHZhcigtLWZvb3Rlci1oZWlnaHQpO1xufVxuI2Zvb3RlciAuY29weXJpZ2h0IHAge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1ub3RvKTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vKioqKiogaGVhZGVycyAqKioqKi9cbi8qIHBhZ2UgaGFlZGVyICovXG4uaGRzZXQucGgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDU0IHZhcigtLXNzKSk7XG4gIHBhZGRpbmctYm90dG9tOiAyLjRyZW07XG59XG4uaGRzZXQucGg6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaXRlLWNvbG9yLW9saXZlKTtcbiAgd2lkdGg6IDEwcmVtO1xuICBoZWlnaHQ6IC4xMXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uaGRzZXQucGggPiAuaGQge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmhkc2V0LnBoID4gLmhkID4gc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgZm9udC1zaXplOiAzLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDUyIC8gMzggKiAxZW0pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xufVxuXG4vKiBoZWFkIG1pZGRsZSAqL1xuLmhkbSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDMuNHJlbTtcbiAgcGFkZGluZy1ib3R0b206IC40cmVtO1xufVxuLmhkbTo6YmVmb3JlLFxuLmhkbTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2l0ZS1jb2xvci1ncmF5KTtcbiAgaGVpZ2h0OiAuMXJlbTtcbn1cbi5oZG06OmJlZm9yZSB7XG4gIHJpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwdnc7XG59XG4uaGRtOjphZnRlciB7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmhkbSA+IHNwYW4ge1xuICBjb2xvcjogdmFyKC0tc2l0ZS1jb2xvci1ncmVlbik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1tcGx1cyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMjggLyAyNCAqIDFlbSk7XG4gIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcbn1cblxuLyoqKioqIGJ0bnMgKioqKiovXG4vKiBidG5zICovXG5tYWluIC5idG5zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDRyZW07XG59XG5tYWluIC5idG5zIC5idG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNpdGUtY29sb3ItZ3JlZW4pO1xuICB3aWR0aDogMzUuMnJlbTtcbiAgaGVpZ2h0OiA1LjZyZW07XG59XG5tYWluIC5idG5zIC5idG46OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvIDA7XG59XG5tYWluIC5idG5zIC5idG46aG92ZXIge1xuICBvcGFjaXR5OiAuNztcbn1cbm1haW4gLmJ0bnMgLmJ0biBzcGFuIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdmFyKC0tdGV4dC1saW5lLWFqdXN0KTtcbn1cbi8qIGJ0biBhcnJvdyAqL1xubWFpbiAuYnRucyAuYnRuLWFycm93MDE6OmFmdGVyIHtcbiAgcmlnaHQ6IDIuM3JlbTtcbiAgYmFja2dyb3VuZDogdXJsKGFzc2V0LXVybDovaW1nL2NvbW1vbnMvaWNvbi1hcnJvdzAxLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyAxMDAlIGF1dG87XG4gIHdpZHRoOiAuNzhyZW07XG4gIGhlaWdodDogMS4zcmVtO1xufVxuLyogYnRuIGRvd25sYW9kICovXG5tYWluIC5idG5zIC5idG4tZG93bmxvYWQ6OmFmdGVyIHtcbiAgcmlnaHQ6IDEuNnJlbTtcbiAgYmFja2dyb3VuZDogdXJsKGFzc2V0LXVybDovaW1nL2NvbW1vbnMvaWNvbi1kb3dubG9hZC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gMTAwJSBhdXRvO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xufVxuXG4vKioqKiogbW9iaWxlICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLyoqKioqIHZhciBzZXQgKioqKiovXG4gIDpyb290IHtcbiAgICAtLXNpdGUtbWF4LXdpZHRoOiAxMDAlO1xuICAgIC0taGVhZGVyLWhlaWdodDogOHJlbTtcbiAgfVxuXG4gIC8qKioqKiBiYXNlIHNldCAqKioqKi9cbiAgaHRtbCB7XG4gICAgc2Nyb2xsLXBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWhlYWRlci1oZWlnaHQpICsgdmFyKC0tbWVnYW1lbnUtaGVpZ2h0KSk7XG4gIH1cbiAgXG4gIC8qKioqKiB3cmFwICoqKioqL1xuICAud3JhcHMge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgfVxuXG4gIC8qKioqKiBoZWFkZXIgKioqKiovXG4gICNoZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8qIHRpdGxlICovXG4gICNoZWFkZXIgLndyYXAgLnRpdGxlIHtcbiAgICBmbGV4OiAwIDEgMzEuM3JlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLnRpdGxlIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogLjZyZW0gMDtcbiAgfVxuICAjaGVhZGVyIC53cmFwIC50aXRsZSBhIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjJyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIH1cblxuICAvKiBidG4tbWVudSAqL1xuICAjaGVhZGVyIC53cmFwIC5idG4tbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDExO1xuICAgIHdpZHRoOiA4cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAjaGVhZGVyIC53cmFwIC5idG4tbWVudSBidXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLmJ0bi1tZW51IGJ1dHRvbiBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktbXBsdXMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI2hlYWRlciAud3JhcCAuYnRuLW1lbnUgYnV0dG9uLmJtLW9wZW4ge1xuICAgIHotaW5kZXg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2l0ZS1jb2xvci1ncmVlbik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGFzc2V0LXVybDovaW1nL2NvbW1vbnMvaWNvbi1ibS5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogM3JlbSBhdXRvO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLmJ0bi1tZW51IGJ1dHRvbi5ibS1jbG9zZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaXRlLWNvbG9yLW9saXZlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoYXNzZXQtdXJsOi9pbWcvY29tbW9ucy9pY29uLWJtLWNsb3NlLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyLjRyZW0gYXV0bztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLmJ0bi1tZW51IGJ1dHRvbi5ibS1jbG9zZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAuOHJlbTtcbiAgICBsZWZ0OiAwO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLmJ0bi1tZW51LmlzLWFjdGl2ZSBidXR0b24uYm0tY2xvc2Uge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvKiBtZW51ICovXG4gICNoZWFkZXIgLndyYXAgLm1lbnUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45KTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogMTAwZHZoO1xuICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XG4gIH1cbiAgI2hlYWRlciAud3JhcCAubWVudTpoYXMoKyAuYnRuLW1lbnUuaXMtYWN0aXZlKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICAjaGVhZGVyIC53cmFwIC5tZW51IC5zZXQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHBhZGRpbmc6IDJyZW0gMnJlbSA0cmVtO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLm1lbnUgLmduYXYge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLm1lbnUgLmduYXYgdWwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cmVtIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLm1lbnUgLmduYXYgdWwgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLm1lbnUgLmduYXYgdWwgbGkgYSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNC4ycmVtO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgfVxuICAjaGVhZGVyIC53cmFwIC5tZW51IC5nbmF2IHVsIGxpIGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLm1lbnUgLmduYXYgdWwgbGkgYSBzcGFuIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8qIGNvbnRhY3QgKi9cbiAgI2hlYWRlciAud3JhcCAubWVudSAuY29udGFjdCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwcmVtO1xuICAgIG1hcmdpbi10b3A6IDlyZW07XG4gIH1cbiAgI2hlYWRlciAud3JhcCAubWVudSAuY29udGFjdCBhIHtcbiAgICBnYXA6IDAgMS4xcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNpdGUtY29sb3ItZ3JlZW4pO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTByZW07XG4gIH1cbiAgI2hlYWRlciAud3JhcCAubWVudSAuY29udGFjdCBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gICNoZWFkZXIgLndyYXAgLm1lbnUgLmNvbnRhY3QgYTo6YWZ0ZXIge1xuICAgIG9yZGVyOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogdXJsKGFzc2V0LXVybDovaW1nL2NvbW1vbnMvaWNvbi1lbWFpbC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gMTAwJSBhdXRvO1xuICAgIHdpZHRoOiAzLjZyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gIH1cbiAgI2hlYWRlciAud3JhcCAubWVudSAuY29udGFjdCBhIHNwYW4ge1xuICAgIG9yZGVyOiAxO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktbXBsdXMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0cmFuc2Zvcm06IHZhcigtLXRleHQtbGluZS1hanVzdCk7XG4gIH1cblxuICAvKioqKiogY29udGVudHMgKioqKiovXG4gICNjb250ZW50cyB7fVxuXG4gIC8qKioqKiBtYWluICoqKioqL1xuICBtYWluIHtcbiAgICBwYWRkaW5nOiAzLjRyZW0gMCAxMHJlbTtcbiAgfVxuXG4gIC8qKioqKiBmb290ZXIgKioqKiovXG4gICNmb290ZXIgLmd1aWRlIC53cmFwcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDNyZW0gMDtcbiAgICBwYWRkaW5nOiA0cmVtIDJyZW0gNnJlbTtcbiAgfVxuICAjZm9vdGVyIC5ndWlkZSAud3JhcHMgLmluZm8ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAyLjhyZW0gMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgI2Zvb3RlciAuZ3VpZGUgLndyYXBzIC5pbmZvIC50aXRsZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIC0xZW07XG4gIH1cbiAgI2Zvb3RlciAuZ3VpZGUgLndyYXBzIC5pbmZvIGFkZHJlc3Mge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjhyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG4gIH1cbiAgI2Zvb3RlciAuZ3VpZGUgLndyYXBzIC5zaXRlbWFwIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBnYXA6IDAgMS42cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNmb290ZXIgLmd1aWRlIC53cmFwcyAuc2l0ZW1hcCB1bCB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBnYXA6IC44cmVtIDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gICNmb290ZXIgLmNvcHlyaWdodCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1mb290ZXItaGVpZ2h0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIC8qKioqKiBwYWdlLXRvcCAqKioqKi9cbiAgLnBhZ2UtdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDdyZW07XG4gICAgcmlnaHQ6IDJyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cztcbiAgfVxuICAucGFnZS10b3AuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5wYWdlLXRvcCAuYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXQtdXJsOi9pbWcvY29tbW9ucy9idG4tcGFnZS10b3AucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIDEwMCUgYXV0bztcbiAgICB3aWR0aDogNnJlbTtcbiAgICBoZWlnaHQ6IDZyZW07XG4gIH1cbiAgLnBhZ2UtdG9wIC5idG4gc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qKioqKiBoZWFkZXJzICoqKioqL1xuICAvKiBwYWdlIGhhZWRlciAqL1xuICAuaGRzZXQucGgge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoNzIgdmFyKC0tc3MpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi40cmVtO1xuICB9XG4gIC5oZHNldC5waDo6YWZ0ZXIge1xuICAgIHdpZHRoOiA0LjhyZW07XG4gIH1cbiAgLmhkc2V0LnBoID4gLmhkID4gc3BhbiB7XG4gICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoNDIgLyAzMiAqIDFlbSk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLyogaGVhZCBtaWRkbGUgKi9cbiAgLmhkbSB7XG4gICAgcGFkZGluZy1ib3R0b206IC42cmVtO1xuICB9XG5cbiAgLyoqKioqIGJ0bnMgKioqKiovXG4gIC8qIGJ0bnMgKi9cbiAgbWFpbiAuYnRucyB7XG4gICAgbWFyZ2luLXRvcDogNC4ycmVtO1xuICB9XG4gIG1haW4gLmJ0bnMgLmJ0biB7XG4gICAgd2lkdGg6IDM1LjNyZW07XG4gIH1cbiAgbWFpbiAuYnRucyAuYnRuOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbn0vKiBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgZW5kICovXG4iXX0= */