article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}
audio:not([controls]) {
  display: none;
}
[hidden] {
  display: none;
}
html {
  font-size: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
html,
button,
input,
select,
textarea {
  font-family: sans-serif;
}
body {
  margin: 0;
}
a:focus {
  outline: none;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
h2 {
  font-size: 1.5em;
  margin: 0.83em 0;
}
h3,
.box-faq__title {
  font-size: 1.17em;
  margin: 1em 0;
}
h4 {
  font-size: 1em;
  margin: 1.33em 0;
}
h5 {
  font-size: 0.83em;
  margin: 1.67em 0;
}
h6 {
  font-size: 0.75em;
  margin: 2.33em 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
blockquote {
  margin: 1px 40px;
}
dfn {
  font-style: italic;
}
mark {
  background: #ff0;
  color: #000;
}
p,
pre {
  margin: 1em 0;
}
pre,
code,
kbd,
samp {
  font-family: monospace, serif;
  _font-family: 'courier new', monospace;
  font-size: 1em;
}
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}
q {
  quotes: none;
}
q:before,
q:after {
  content: '';
  content: none;
}
small {
  font-size: 75%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
dl,
menu,
ol,
ul {
  margin: 1em 0;
}
dd {
  margin: 0 0 0 40px;
}
menu,
ol,
ul {
  padding: 0 0 0 40px;
}
nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}
img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}
svg:not(:root) {
  overflow: hidden;
}
img,
iframe,
object,
embed {
  vertical-align: middle;
}
figure {
  margin: 0;
}
form {
  margin: 0;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
  box-sizing: content-box;
  outline: none;
  box-shadow: none;
}
button,
input {
  line-height: normal;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible;
}
button[disabled],
input[disabled] {
  cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
  *height: 13px;
  *width: 13px;
}
input[type="search"] {
  -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}
label {
  cursor: default;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption {
  text-align: left;
  caption-side: top;
}
th {
  text-align: left;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}
audio:not([controls]) {
  display: none;
}
[hidden] {
  display: none;
}
html {
  font-size: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
html,
button,
input,
select,
textarea {
  font-family: sans-serif;
}
body {
  margin: 0;
}
a:focus {
  outline: none;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
h2 {
  font-size: 1.5em;
  margin: 0.83em 0;
}
h3,
.box-faq__title {
  font-size: 1.17em;
  margin: 1em 0;
}
h4 {
  font-size: 1em;
  margin: 1.33em 0;
}
h5 {
  font-size: 0.83em;
  margin: 1.67em 0;
}
h6 {
  font-size: 0.75em;
  margin: 2.33em 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
blockquote {
  margin: 1px 40px;
}
dfn {
  font-style: italic;
}
mark {
  background: #ff0;
  color: #000;
}
p,
pre {
  margin: 1em 0;
}
pre,
code,
kbd,
samp {
  font-family: monospace, serif;
  _font-family: 'courier new', monospace;
  font-size: 1em;
}
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}
q {
  quotes: none;
}
q:before,
q:after {
  content: '';
  content: none;
}
small {
  font-size: 75%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
dl,
menu,
ol,
ul {
  margin: 1em 0;
}
dd {
  margin: 0 0 0 40px;
}
menu,
ol,
ul {
  padding: 0 0 0 40px;
}
nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}
img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}
svg:not(:root) {
  overflow: hidden;
}
img,
iframe,
object,
embed {
  vertical-align: middle;
}
figure {
  margin: 0;
}
form {
  margin: 0;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
button,
input {
  line-height: normal;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible;
}
button[disabled],
input[disabled] {
  cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  *height: 13px;
  *width: 13px;
}
input[type="search"] {
  -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}
label {
  cursor: default;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption {
  text-align: left;
  caption-side: top;
}
th {
  text-align: left;
}
ul.grid {
  margin: 0;
}
.grid {
  font-size: 0px;
}
@media (-webkit-min-device-pixel-ratio: 0) {
  .grid {
    letter-spacing: -1px;
  }
}
@-moz-document url-prefix() {
  .grid {
    letter-spacing: -1px;
  }
}
.grid__cell {
  display: inline-block;
  vertical-align: top;
  font-size: 16px;
  text-align: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: normal;
  white-space: normal;
}
/*
 * Typo
 */
body {
  font: normal 16px/1.625 "freight-sans-pro", Calibri, "Helvetice Neue", Helvetica, sans-serif;
  color: #000;
  letter-spacing: 0.04em;
}
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.box-faq__title {
  margin: 1em 0 0.5em;
  font-family: "freight-display-pro", Georgia, "freight-sans-pro", Calibri, "Helvetice Neue", Helvetica, sans-serif;
  font-weight: normal;
  line-height: 1.2;
  font-style: italic;
}
h1 strong,
.h1 strong,
h2 strong,
.h2 strong,
h3 strong,
.h3 strong,
h4 strong,
.h4 strong,
h5 strong,
.h5 strong,
h6 strong,
.h6 strong,
.box-faq__title strong {
  font-weight: 700;
  font-style: normal;
}
.wf-loading h1,
.wf-loading .h1,
.wf-loading h2,
.wf-loading .h2,
.wf-loading h3,
.wf-loading .h3,
.wf-loading h4,
.wf-loading .h4,
.wf-loading h5,
.wf-loading .h5,
.wf-loading h6,
.wf-loading .h6,
.wf-loading .box-faq__title {
  visibility: hidden;
}
.wf-active h1,
.wf-active .h1,
.wf-active h2,
.wf-active .h2,
.wf-active h3,
.wf-active .h3,
.wf-active h4,
.wf-active .h4,
.wf-active h5,
.wf-active .h5,
.wf-active h6,
.wf-active .h6,
.wf-active .box-faq__title,
.wf-inactive h1,
.wf-inactive .h1,
.wf-inactive h2,
.wf-inactive .h2,
.wf-inactive h3,
.wf-inactive .h3,
.wf-inactive h4,
.wf-inactive .h4,
.wf-inactive h5,
.wf-inactive .h5,
.wf-inactive h6,
.wf-inactive .h6,
.wf-inactive .box-faq__title {
  visibility: visible;
}
h1,
.h1 {
  font-size: 32px;
  letter-spacing: -0.02em;
}
@media (min-width: 750px) {
  h1,
  .h1 {
    font-size: 75px;
    line-height: 72px;
  }
}
h2,
.h2 {
  margin-bottom: 0.75em;
  font-size: 25px;
  line-height: 1.28;
  letter-spacing: 0.02em;
}
@media (min-width: 750px) {
  h2,
  .h2 {
    font-size: 37px;
    line-height: 1.189189189189189;
  }
}
h3,
.h3,
.box-faq__title {
  font-size: 30px;
  line-height: 1.133333333333333;
}
h4,
.h4 {
  font-size: 19px;
  line-height: 1.473684210526316;
}
@media (min-width: 750px) {
  h4,
  .h4 {
    font-size: 24px;
    line-height: 1.166666666666667;
  }
}
h5,
.h5,
h6,
.h6 {
  font-size: 15px;
}
.alternate {
  font-family: "freight-sans-pro", Calibri, "Helvetice Neue", Helvetica, sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.04em;
}
.section-headline {
  position: relative;
  margin: 0 0 17px;
  overflow: hidden;
  font-family: "freight-display-pro", Georgia, "freight-sans-pro", Calibri, "Helvetice Neue", Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 400;
  font-style: italic;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 0.16em;
}
p {
  margin: 0 0 1.25em;
}
.wf-loading p {
  visibility: hidden;
}
.wf-active p,
.wf-inactive p {
  visibility: visible;
}
hr {
  border: none;
  border-top: 1px solid #d5d5d5;
  margin: 30px 0 40px;
  height: 1px;
  overflow: hidden;
}
@media (min-width: 750px) {
  hr {
    margin: 40px 0 50px;
  }
}
blockquote {
  margin: 0 0 1.25em;
  padding: 0;
  letter-spacing: 0.04em;
}
blockquote p {
  margin-bottom: 1em;
  font-family: "freight-display-pro", Georgia, "freight-sans-pro", Calibri, "Helvetice Neue", Helvetica, sans-serif;
  font-style: italic;
  font-size: 18px;
  line-height: 1.318181818181818;
}
blockquote cite {
  font-size: 14px;
  font-weight: 600;
  font-style: normal;
}
@media (min-width: 750px) {
  blockquote p {
    font-size: 22px;
  }
  blockquote cite {
    font-size: 15px;
  }
}
a {
  color: #ff0c94;
  text-decoration: underline;
  -webkit-transition: color 0.2s, border-color 0.2s, background 0.2s;
  -moz-transition: color 0.2s, border-color 0.2s, background 0.2s;
  -o-transition: color 0.2s, border-color 0.2s, background 0.2s;
  -ms-transition: color 0.2s, border-color 0.2s, background 0.2s;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
a:hover,
a:focus {
  color: #dd0a7e;
}
.wf-loading a {
  visibility: hidden;
}
.wf-active a,
.wf-inactive a {
  visibility: visible;
}
ul,
ol {
  margin: 0 0 1.25em;
  list-style: none;
  padding: 0;
}
li {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 0 0 16px;
  margin: 0 0 0.25em;
}
.wf-loading li {
  visibility: hidden;
}
.wf-active li,
.wf-inactive li {
  visibility: visible;
}
li ol,
li ul {
  margin: 0.25em 0 0;
}
ul li {
  background: url("../img/bg/li.png") 0 0.5em no-repeat;
  -webkit-background-size: 5px 10px;
  -moz-background-size: 5px 10px;
  background-size: 5px 10px;
}
ol {
  counter-reset: item;
}
ol li {
  background: none;
  position: relative;
}
ol li:before {
  content: counter(item) ".";
  counter-increment: item;
  position: absolute;
  left: 0;
  top: 0;
  font-weight: bold;
  text-align: left;
}
.ul-check li,
li.li-check {
  padding-left: 25px;
  background-image: url("../img/bg/li-check.png");
  -webkit-background-size: 14px 9px;
  -moz-background-size: 14px 9px;
  background-size: 14px 9px;
  background-position: 0 0.55em;
}
.ul-tall li {
  margin-bottom: 0.8em;
}
.ul-disable a {
  color: #828a8e;
  text-decoration: none;
}
.ul-disable a:hover {
  color: #252525;
}
@media (min-width: 750px) {
  .ul-halves {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
  .ul-halves > li {
    display: inline-block;
    vertical-align: top;
    width: 100%;
  }
  .ul-thirds {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
  }
  .ul-thirds > li {
    display: inline-block;
    vertical-align: top;
    width: 100%;
  }
}
dl {
  margin: 0 0 1.25em;
}
dt {
  font-weight: bold;
  margin: 0;
}
dd {
  margin: 0 0 0.75em;
  padding: 0;
}
table {
  clear: both;
  margin: 0 0 1.25em;
  empty-cells: show;
  border-collapse: collapse;
  border: 1px solid #ddd;
}
caption {
  font-weight: bold;
  text-align: left;
  padding: 0px 0px 10px;
  caption-side: top;
}
td,
th {
  vertical-align: top;
  padding: 7px 15px;
  border: 1px solid #ddd;
}
th {
  font-weight: bold;
}
thead th {
  background: #eee;
}
img.l {
  margin: 0.25em 20px 20px 0;
}
img.r {
  margin: 0.25em 0 20px 20px;
}
/*
 *	Simply fast class
 */
.reset {
  border: none;
  margin: 0;
  padding: 0;
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.reset td,
.reset th {
  border: none;
  background: none;
  padding: 0;
}
.reset > li,
.reset > dt,
.reset > dd {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  float: none;
  width: auto;
}
.l {
  float: left;
}
.r {
  float: right;
}
.cb {
  clear: both;
}
.cl {
  clear: left;
}
.cr {
  clear: right;
}
.cfx {
  zoom: 1;
}
.cfx:after,
.cfx:before {
  content: '';
  display: table;
  clear: both;
}
.break {
  height: 1px;
  font-size: 1px;
  line-height: 1px;
  clear: both;
  overflow: hidden;
  visibility: hidden;
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}
.ctx {
  zoom: 1;
  display: table-cell;
}
.ie7 .ctx {
  display: block;
}
.ctx:after {
  clear: both;
  display: block;
  visibility: hidden;
  overflow: hidden;
  height: 0px !important;
  line-height: 0px;
  font-size: xx-large;
  content: " x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ";
}
.hide,
.js .jsHide {
  display: none;
}
.out,
.js .jsOut {
  position: absolute;
  left: -5000px;
  top: -5000px;
}
.vhide {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -1px;
  padding: 0;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.center {
  text-align: center;
}
.lower {
  text-transform: lowercase;
}
.upper {
  text-transform: uppercase;
}
.no-upper {
  text-transform: none;
}
.bold {
  font-weight: bold;
}
.thin {
  font-weight: normal;
}
.italic {
  font-style: italic;
}
.normal {
  font-style: normal;
}
.top {
  vertical-align: top;
}
.middle {
  vertical-align: middle;
}
.big {
  font-size: 17px;
}
.bigger {
  font-size: 20px;
}
.small {
  font-size: 15px;
}
.error,
.red {
  color: #c00;
}
.green {
  color: #678713;
}
.grey {
  color: #999;
}
.pink {
  color: #ff0c94;
}
.nowrap {
  white-space: nowrap;
}
@media (min-width: 1280px) {
  .u-pull {
    margin-left: -30px;
    margin-right: -30px;
  }
}
@media (min-width: 1280px) {
  .u-pull-20 {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.u-full {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
@media (min-width: 1920px) {
  .u-full {
    margin-left: calc(-1920px / 2 + 50%);
    margin-right: calc(-1920px / 2 + 50%);
  }
}
.u-link {
  font-weight: 600;
  text-decoration: none;
}
.u-link:hover,
.u-link:focus {
  text-decoration: underline;
}
.u-alphabet {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 50px;
  height: 50px;
  margin: 0 0 0.8125em;
  border: 1px solid #d5d5d5;
  font-family: "freight-display-pro", Georgia, "freight-sans-pro", Calibri, "Helvetice Neue", Helvetica, sans-serif;
  font-style: italic;
  font-weight: 400;
  font-size: 32px;
  line-height: 48px;
  text-align: center;
}
.u-to-top {
  font: 0px/0px a;
  color: transparent;
  text-decoration: none;
  position: fixed;
  z-index: 998;
  bottom: 20px;
  right: 0;
  width: 50px;
  height: 50px;
  background: #fff;
  -webkit-box-shadow: 0 0 3px rgba(0,0,0,0.35);
  box-shadow: 0 0 3px rgba(0,0,0,0.35);
  -webkit-transform: translateY(73px);
  -moz-transform: translateY(73px);
  -o-transform: translateY(73px);
  -ms-transform: translateY(73px);
  transform: translateY(73px);
  -webkit-transition: -webkit-transform 0.2s;
  -moz-transition: -moz-transform 0.2s;
  -o-transition: -o-transform 0.2s;
  -ms-transition: -ms-transform 0.2s;
  transition: transform 0.2s;
}
.u-to-top.is-visible {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -o-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}
.u-to-top .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  fill: #ff0c94;
}
@media (min-width: 750px) {
  .u-to-top {
    display: none;
  }
}
.u-img-shadow {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  max-width: 100%;
}
.u-img-shadow img {
  max-width: 100%;
  height: auto;
}
.u-img-shadow:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: inset 0 0 55px rgba(0,0,0,0.1);
  box-shadow: inset 0 0 55px rgba(0,0,0,0.1);
}
.u-img-round {
  border-radius: 50%;
}
.u-img-round:before {
  border-radius: 50%;
}
.u-img-round img {
  border-radius: 50%;
}
.u-img-border {
  display: inline-block;
  vertical-align: top;
  max-width: 100%;
  padding: 10px 10px 20px 10px;
  -webkit-box-shadow: 0 0 3px rgba(0,0,0,0.2), 0 2px 3px rgba(0,0,0,0.1);
  box-shadow: 0 0 3px rgba(0,0,0,0.2), 0 2px 3px rgba(0,0,0,0.1);
  text-align: center;
}
@media (min-width: 750px) {
  .u-img-border {
    padding: 15px 15px 40px 15px;
  }
}
.u-underlined {
  text-decoration: underline !important;
}
.table-responsive {
  width: 100%;
  min-height: 0.01%;
  overflow-x: auto;
}
h1,
h2,
h3,
h4,
h5,
h6,
.box-faq__title {
  font-family: "freight-sans-pro", Calibri, "Helvetice Neue", Helvetica, sans-serif;
  font-weight: bold;
  line-height: 1.2;
  font-style: normal;
}
h1.center,
h2.center,
h3.center,
h4.center,
h5.center,
h6.center,
.box-faq__title.center {
  text-align: left;
}
h1 {
  font-size: 22pt;
  margin: 0 0 0.5cm;
}
h2 {
  font-size: 18pt;
  margin: 0.75cm 0 0.2cm;
}
h3,
.box-faq__title {
  font-size: 14pt;
  margin: 0.5cm 0 0.15cm;
}
h4,
h5,
h6 {
  font-size: 12pt;
  margin: 1cm 0 0.5cm;
}
blockquote {
  padding-left: 0;
  padding-right: 0;
  margin: 0.5cm 0;
}
table {
  margin: 15px 1pt 35px;
  text-align: left;
  border-collapse: collapse;
  width: 98% !important;
  font-size: 8pt;
}
tr {
  page-break-inside: avoid;
}
th,
td {
  border: 1pt solid #000;
  padding: 4px 10px 4px 10px;
}
th {
  font-weight: bold;
}
.menu-main,
.m-accessibility,
.menu-breadcrumb,
.menu-top,
.menu-mobile,
.menu-side,
.menu-lang,
.menu-secondary,
.menu-secondary__open,
form,
.tab-nav,
.btn,
.button,
.more,
.paging,
.pager,
.prev,
.next,
.u-to-top,
.footer-copy__r,
.box-hero__scroll,
.box-hero__scribble,
.box-hero__play,
.box-pattern--full,
.menu-context,
.menu-context-fixed,
.box-faq .icon,
.menu-intro {
  display: none;
}
.header {
  border-bottom: 2pt solid #000;
  padding: 0 0 20pt;
  margin: 0 auto 20pt;
}
.header:after {
  content: '';
  display: table;
  clear: both;
}
.header__contact {
  float: right;
  text-align: center;
  margin-top: 20px;
  line-height: 1.2;
  margin-bottom: 0;
}
.header__contact a {
  font-size: 30px;
  font-weight: 700;
}
.logo {
  font-size: 100%;
  line-height: 1;
  margin: 0;
  padding: 0;
  font-weight: normal;
  float: left;
}
.logo img {
  border: none;
}
.logo svg {
  width: 158px;
  height: 71px;
}
.footer {
  border-top: 2pt solid #000;
  padding: 20pt 0 0;
  margin: 20pt 0 0;
}
.icon {
  display: inline-block;
  vertical-align: middle;
  position: relative;
}
.icon__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.icon:before {
  content: '';
  display: block;
}
.icon--arr-s-left {
  width: 6px;
}
.icon--arr-s-left:before {
  padding-top: 200%;
}
.icon--arr-s-right {
  width: 6px;
}
.icon--arr-s-right:before {
  padding-top: 200%;
}
.icon--before-after-l {
  width: 22px;
}
.icon--before-after-l:before {
  padding-top: 272.7272727272727%;
}
.icon--before-after {
  width: 8px;
}
.icon--before-after:before {
  padding-top: 237.5%;
}
.icon--blog {
  width: 27px;
}
.icon--blog:before {
  padding-top: 100%;
}
.icon--body {
  width: 91px;
}
.icon--body:before {
  padding-top: 81.83516483516483%;
}
.icon--branch {
  width: 90.063px;
}
.icon--branch:before {
  padding-top: 85.49570855956385%;
}
.icon--bus {
  width: 16px;
}
.icon--bus:before {
  padding-top: 118.75%;
}
.icon--calendar {
  width: 80px;
}
.icon--calendar:before {
  padding-top: 96.25%;
}
.icon--car {
  width: 18px;
}
.icon--car:before {
  padding-top: 88.88888888888889%;
}
.icon--carousel-left {
  width: 13px;
}
.icon--carousel-left:before {
  padding-top: 300%;
}
.icon--carousel-right {
  width: 13px;
}
.icon--carousel-right:before {
  padding-top: 300%;
}
.icon--close {
  width: 17.341px;
}
.icon--close:before {
  padding-top: 97.02439305691712%;
}
.icon--comment {
  width: 16px;
}
.icon--comment:before {
  padding-top: 100%;
}
.icon--directions {
  width: 19.844px;
}
.icon--directions:before {
  padding-top: 99.82866357589194%;
}
.icon--facebook {
  width: 27px;
}
.icon--facebook:before {
  padding-top: 100%;
}
.icon--git-branch {
  width: 10px;
}
.icon--git-branch:before {
  padding-top: 160%;
}
.icon--globe {
  width: 18px;
}
.icon--globe:before {
  padding-top: 100%;
}
.icon--google {
  width: 27px;
}
.icon--google:before {
  padding-top: 100%;
}
.icon--health {
  width: 73.88px;
}
.icon--health:before {
  padding-top: 94.87005955603682%;
}
.icon--instagram {
  width: 27px;
}
.icon--instagram:before {
  padding-top: 100%;
}
.icon--insurance {
  width: 67px;
}
.icon--insurance:before {
  padding-top: 129.8507462686567%;
}
.icon--lang-arr {
  width: 10.598px;
}
.icon--lang-arr:before {
  padding-top: 43.0458577090017%;
}
.icon--letter {
  width: 40px;
}
.icon--letter:before {
  padding-top: 100%;
}
.icon--list {
  width: 54px;
}
.icon--list:before {
  padding-top: 153.7037037037037%;
}
.icon--logo-medicom {
  width: 158px;
}
.icon--logo-medicom:before {
  padding-top: 45.186075949367094%;
}
.icon--menu-close {
  width: 20px;
}
.icon--menu-close:before {
  padding-top: 100%;
}
.icon--minus {
  width: 20px;
}
.icon--minus:before {
  padding-top: 100%;
}
.icon--money {
  width: 117px;
}
.icon--money:before {
  padding-top: 47.863247863247864%;
}
.icon--more {
  width: 16px;
}
.icon--more:before {
  padding-top: 25%;
}
.icon--nope {
  width: 31px;
}
.icon--nope:before {
  padding-top: 100%;
}
.icon--ok {
  width: 31px;
}
.icon--ok:before {
  padding-top: 100%;
}
.icon--order {
  width: 87px;
}
.icon--order:before {
  padding-top: 101.14942528735634%;
}
.icon--pamphlet {
  width: 90px;
}
.icon--pamphlet:before {
  padding-top: 86.66666666666667%;
}
.icon--pin {
  width: 40px;
}
.icon--pin:before {
  padding-top: 100%;
}
.icon--pinterest {
  width: 27px;
}
.icon--pinterest:before {
  padding-top: 100%;
}
.icon--plane {
  width: 19px;
}
.icon--plane:before {
  padding-top: 105.26315789473684%;
}
.icon--play {
  width: 80px;
}
.icon--play:before {
  padding-top: 100%;
}
.icon--plus-simple {
  width: 20px;
}
.icon--plus-simple:before {
  padding-top: 100%;
}
.icon--plus {
  width: 20px;
}
.icon--plus:before {
  padding-top: 100%;
}
.icon--question-mark {
  width: 82px;
}
.icon--question-mark:before {
  padding-top: 92.6829268292683%;
}
.icon--scribble-white {
  width: 181px;
}
.icon--scribble-white:before {
  padding-top: 16.574585635359114%;
}
.icon--scribble {
  width: 181px;
}
.icon--scribble:before {
  padding-top: 16.574585635359114%;
}
.icon--scroll-arrow {
  width: 20px;
}
.icon--scroll-arrow:before {
  padding-top: 42.335%;
}
.icon--search {
  width: 18.5px;
}
.icon--search:before {
  padding-top: 102.7027027027027%;
}
.icon--submit {
  width: 15px;
}
.icon--submit:before {
  padding-top: 120%;
}
.icon--telephone {
  width: 40px;
}
.icon--telephone:before {
  padding-top: 100%;
}
.icon--thumbsup {
  width: 16px;
}
.icon--thumbsup:before {
  padding-top: 100%;
}
.icon--time {
  width: 74.12px;
}
.icon--time:before {
  padding-top: 99.3793847814355%;
}
.icon--up {
  width: 19px;
}
.icon--up:before {
  padding-top: 42.10526315789473%;
}
.icon--voucher-ikona {
  width: 157px;
}
.icon--voucher-ikona:before {
  padding-top: 47.77070063694268%;
}
.icon--youtube {
  width: 27px;
}
.icon--youtube:before {
  padding-top: 100%;
}
body {
  width: 100% !important;
  font-family: arial, Verdana, sans-serif;
  color: #000;
  background: none;
  font-size: 8pt;
  line-height: 12pt;
}
.small {
  font-size: 8pt;
}
.big,
.bigger {
  font-size: 9pt;
}
.reset {
  border: none;
  margin: 0;
  padding: 0;
  background: none;
}
.reset td,
.reset th {
  border: none;
  background: none;
  padding: 0;
}
.reset > li,
.reset > dt,
.reset > dd {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  font-weight: inherit;
  float: none;
  display: inherit;
  text-align: inherit;
  width: auto;
}
fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
p,
ul,
table {
  margin: 0 0 0.4cm;
}
a {
  color: #000;
  text-decoration: none;
}
img {
  border: none;
  max-width: 100%;
  height: auto !important;
}
img.left,
img.l,
img.right,
img.r {
  margin: 4px 0 30px 29px;
  float: right;
  display: inline;
  background: #fff;
}
img.left,
img.l {
  float: left;
  margin: 4px 29px 30px 0;
}
.grid {
  margin-left: -30px;
}
.grid__cell {
  font-size: 8pt;
  border-left: 30px solid transparent;
}
.size--0-12 {
  width: 0%;
}
.size--1-12 {
  width: 8.333333333333334%;
}
.size--2-12 {
  width: 16.666666666666668%;
}
.size--3-12 {
  width: 25%;
}
.size--4-12 {
  width: 33.333333333333336%;
}
.size--5-12 {
  width: 41.66666666666667%;
}
.size--6-12 {
  width: 50%;
}
.size--7-12 {
  width: 58.333333333333336%;
}
.size--8-12 {
  width: 66.66666666666667%;
}
.size--9-12 {
  width: 75%;
}
.size--10-12 {
  width: 83.33333333333334%;
}
.size--11-12 {
  width: 91.66666666666667%;
}
.size--12-12 {
  width: 100%;
}
.push--0-12 {
  left: 0%;
}
.push--1-12 {
  left: 8.333333333333334%;
}
.push--2-12 {
  left: 16.666666666666668%;
}
.push--3-12 {
  left: 25%;
}
.push--4-12 {
  left: 33.333333333333336%;
}
.push--5-12 {
  left: 41.66666666666667%;
}
.push--6-12 {
  left: 50%;
}
.push--7-12 {
  left: 58.333333333333336%;
}
.push--8-12 {
  left: 66.66666666666667%;
}
.push--9-12 {
  left: 75%;
}
.push--10-12 {
  left: 83.33333333333334%;
}
.push--11-12 {
  left: 91.66666666666667%;
}
.push--12-12 {
  left: 100%;
}
.pull--0-12 {
  left: 0%;
}
.pull--1-12 {
  left: -8.333333333333334%;
}
.pull--2-12 {
  left: -16.666666666666668%;
}
.pull--3-12 {
  left: -25%;
}
.pull--4-12 {
  left: -33.333333333333336%;
}
.pull--5-12 {
  left: -41.66666666666667%;
}
.pull--6-12 {
  left: -50%;
}
.pull--7-12 {
  left: -58.333333333333336%;
}
.pull--8-12 {
  left: -66.66666666666667%;
}
.pull--9-12 {
  left: -75%;
}
.pull--10-12 {
  left: -83.33333333333334%;
}
.pull--11-12 {
  left: -91.66666666666667%;
}
.pull--12-12 {
  left: -100%;
}
.footer .grid__cell {
  float: left;
  width: 25%;
}
.footer .box-std__header {
  font-weight: 700;
  font-size: 120%;
  margin-bottom: 0.5em;
}
.footer .box-std__center {
  line-height: 1.625 !important;
}
.crossroad-items {
  margin-left: -30px;
}
.crossroad-items .crossroad-items__initials {
  display: none;
}
.js-equal {
  height: auto !important;
}
.box-hero__title {
  font-size: 22pt;
  font-weight: 700;
  font-style: normal;
}
.box-hero__title > * {
  font-size: 22pt;
  font-weight: 700;
  font-style: normal;
}
.box-hero__title br {
  display: none;
}
.u-pull,
.u-full,
.u-pull-20 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.box-before-after {
  padding: 10px;
  border: 1px solid #ccc;
  display: inline-block;
  margin-bottom: 10px;
}
.box-before-after__inner {
  position: relative;
  width: 200px;
  height: 100px;
}
.box-before-after img {
  position: absolute;
  width: 50%;
  height: auto;
  top: 0;
  left: 0;
}
.box-before-after img + img {
  left: auto;
  right: 0;
}
.box-before-after .icon {
  display: none;
}
.box-before-after__overlay {
  display: none;
}
.box-image .center {
  text-align: left !important;
}
.section-headline {
  text-align: left;
}
.section-headline + * {
  margin-top: 0;
}
.box-pattern {
  margin: 50px 0;
}
.crossroad-doctors__list:before,
.crossroad-doctors__list:after {
  content: '';
  display: table;
  clear: both;
}
.crossroad-doctors__item {
  float: left;
  width: 33%;
}
.crossroad-doctors__item:nth-child(3n + 1) {
  clear: both;
}
.crossroad-doctors__pager {
  display: none;
}
.box-cycle__list {
  height: auto !important;
}
.box-cycle__list:before,
.box-cycle__list:after {
  content: '';
  display: table;
  clear: both;
}
.box-cycle__item {
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
  -ms-filter: none !important;
  filter: none !important;
  width: 50%;
  float: left;
  padding: 0;
}
.box-cycle__item:nth-child(2n+1) {
  clear: both;
}
.box-cycle__pager {
  display: none;
}
.box-content .grid__cell {
  width: 100% !important;
}
.box-inter {
  margin: 50px 0;
}
.box-inter h2,
.box-inter h3 {
  margin: 0;
}
.crossroad-benefits:before,
.crossroad-benefits:after {
  content: '';
  display: table;
  clear: both;
}
.crossroad-benefits .grid__cell {
  width: 25%;
  float: left;
}
.box-question__top {
  border-bottom: 2px solid #ccc;
  margin-bottom: 20px;
  padding-bottom: 10px;
}
.box-question__doctor a {
  font-size: 10pt;
  font-weight: 700;
}
.box-intro__link {
  display: none;
}
.crossroad-types__list:before,
.crossroad-types__list:after {
  content: '';
  display: table;
  clear: both;
}
.crossroad-types__item {
  width: 25%;
  float: left;
}
.crossroad-categories {
  display: none;
}
.box-social-images__item {
  display: inline-block;
  vertical-align: top;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
}
.box-social-images__item img {
  max-width: 100%;
  height: auto;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9iYXNlL25vcm1hbGl6ZS5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2ZsZXguc3R5bCIsIl9jb3JlL2ljb25zLnN0eWwiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvYm9yZGVyLnN0eWwiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvdmVuZG9yLnN0eWwiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvb3ZlcmZsb3cuc3R5bCIsIl9iYXNlL21peGlucy5zdHlsIiwiX2Jhc2UvdHlwb2dyYXBoeS5zdHlsIiwiX2Jhc2UvdXRpbGl0aWVzLnN0eWwiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvYm9yZGVyLXJhZGl1cy5zdHlsIiwicHJpbnQvdHlwb2dyYXBoeS5zdHlsIiwicHJpbnQvaGlkZS5zdHlsIiwicHJpbnQvbGF5b3V0LnN0eWwiLCJwcmludC5zdHlsIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUNRSSxTQUFTLE1BQVQ7O0FESko7QUFDQTtBQUNBO0VDRUksU0FBUyxhQUFUO0VEQUYsVUFBUSxPQUFSO0VBQ0QsTUFBSyxFQUFMOztBQUdEO0VDSkksU0FBUyxLQUFUOztBRFNKO0VDVEksU0FBUyxLQUFUOztBRHNCSjtFQUNDLFdBQVUsS0FBVjtFQUNBLFlBQVcsT0FBWDtFQUVBLDBCQUF5QixLQUF6QjtFQUNBLHNCQUFxQixLQUFyQjs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0MsYUFBWSxXQUFaOztBQUdEO0VBQ0MsUUFBTyxFQUFQOztBQU9EO0VBQ0MsU0FBUSxLQUFSOztBQVFEO0VBQ0MsV0FBVSxJQUFWO0VBQ0EsUUFBTyxTQUFQOztBQUVEO0VBQ0MsV0FBVSxNQUFWO0VBQ0EsUUFBTyxTQUFQOztBQUVEO0FFcENjO0VGcUNiLFdBQVUsT0FBVjtFQUNBLFFB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RyxTQUFTLEtBQVQ7O0FZNktIO0VBQ0MsT0FBTSxnQkFBTjs7QUFFRjtFQUNDLFFBQU8sT0FBUDs7QUFDQTtBQUNBO0VBQ0MsUUFBTyxFQUFQOztBQUdEO0FBQ0E7RUFDQyxTQUFRLEdBQVI7RVp6TEUsU0FBUyxNQUFUO0VZMkxGLE9BQU0sS0FBTjs7QUFDRDtFQUNDLE9BQU0sSUFBTjtFQUNBLE9BQU0sS0FBTjs7QUFHRDtFQUNDLGVBQWMsZUFBZDtFQUNBLGVBQWMsS0FBZDtFQUNBLGdCQUFlLEtBQWY7O0FBRUE7RUFDQyxXQUFVLEtBQVY7RUFDQSxhQUFZLElBQVo7O0FBR0Y7RVozTUcsU0FBUyxLQUFUOztBWWdORjtBQUNBO0VBQ0MsU0FBUSxHQUFSO0VabE5DLFNBQVMsTUFBVDtFWW9ORCxPQUFNLEtBQU47O0FBQ0Y7RUFDQyxPQUFNLElBQU47RUFDQSxPQUFNLEtBQU47O0FBRUY7RVp6TkksU0FBUyxLQUFUOztBWTZOSDtFWjdORyxTQUFTLGFBQVQ7RVkrTkYsZ0JBQWUsSUFBZjtFVDFNZ0Isb0JBQUcsV0FBSDtFQUFBLGlCQUFHLFdBQUg7RUFSSCxZQUFHLFdBQUg7RVNvTmIsU0FBUSxLQUFSO0VBQ0EsZUFBYyxLQUFkO0VWL09FLFFBQVEsZUFBUjs7QVVpUEY7RUFDQyxXQUFVLEtBQVY7RUFDQSxRQUFPLEtBQVAiLCJmaWxlIjoicHJpbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy9ALW1zLXZpZXdwb3J0XG4vL1x0d2lkdGggZGV2aWNlLXdpZHRoXG5cbi8vIENvcnJlY3RzIGJsb2NrIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUU2LzcvOC85ICYgRkYzXG5hcnRpY2xlXG5hc2lkZVxuZGV0YWlsc1xuZmlnY2FwdGlvblxuZmlndXJlXG5mb290ZXJcbmhlYWRlclxuaGdyb3VwXG5uYXZcbnNlY3Rpb25cbnN1bW1hcnlcblx0ZGlzcGxheSBibG9ja1xuXG4vLyBDb3JyZWN0cyBpbmxpbmUtYmxvY2sgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRTYvNy84LzkgJiBGRjNcbmF1ZGlvXG5jYW52YXNcbnZpZGVvXG5cdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdCpkaXNwbGF5IGlubGluZVxuXHR6b29tIDFcblxuLy8gUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyAnYXVkaW8nIHdpdGhvdXQgY29udHJvbHNcbmF1ZGlvOm5vdChbY29udHJvbHNdKVxuXHRkaXNwbGF5IG5vbmVcblxuLy8gQWRkcmVzc2VzIHN0eWxpbmcgZm9yICdoaWRkZW4nIGF0dHJpYnV0ZSBub3QgcHJlc2VudCBpbiBJRTcvOC85LCBGRjMsIFM0XG4vLyBLbm93biBpc3N1ZTogbm8gSUU2IHN1cHBvcnRcbltoaWRkZW5dXG5cdGRpc3BsYXkgbm9uZVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgQmFzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gMS4gQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRTYvNyB3aGVuIGJvZHkgZm9udC1zaXplIGlzIHNldCB1c2luZyBlbSB1bml0c1xuLy8gICAgaHR0cDovL2NsYWdudXQuY29tL2Jsb2cvMzQ4LyNjNzkwXG4vLyAyLiBLZWVwcyBwYWdlIGNlbnRyZWQgaW4gYWxsIGJyb3dzZXJzIHJlZ2FyZGxlc3Mgb2YgY29udGVudCBoZWlnaHRcbi8vIDMuIFByZXZlbnRzIGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tXG4vLyAgICB3d3cuNDU2YmVyZWFzdHJlZXQuY29tL2FyY2hpdmUvMjAxMDEyL2NvbnRyb2xsaW5nX3RleHRfc2l6ZV9pbl9zYWZhcmlfZm9yX2lvc193aXRob3V0X2Rpc2FibGluZ191c2VyX3pvb20vXG5odG1sXG5cdGZvbnQtc2l6ZSAxMDAlXG5cdG92ZXJmbG93LXkgc2Nyb2xsXG5cdC8vIC13ZWJraXQtZm9udC1zbW9vdGhpbmcgYW50aWFsaWFzZWRcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0IDEwMCVcblx0LW1zLXRleHQtc2l6ZS1hZGp1c3QgMTAwJVxuXG5odG1sXG5idXR0b25cbmlucHV0XG5zZWxlY3RcbnRleHRhcmVhXG5cdGZvbnQtZmFtaWx5IHNhbnMtc2VyaWZcblxuLy8gQWRkcmVzc2VzIG1hcmdpbnMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRTYvN1xuYm9keVxuXHRtYXJnaW4gMFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBBZGRyZXNzZXMgb3V0bGluZSBkaXNwbGF5ZWQgb2RkbHkgaW4gQ2hyb21lXG5hOmZvY3VzXG5cdG91dGxpbmUgbm9uZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFR5cG9ncmFwaHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEFkZHJlc3NlcyBmb250IHNpemVzIGFuZCBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRTYvN1xuLy8gQWRkcmVzc2VzIGZvbnQgc2l6ZXMgd2l0aGluICdzZWN0aW9uJyBhbmQgJ2FydGljbGUnIGluIEZGNCssIENocm9tZSwgUzVcbmgxXG5cdGZvbnQtc2l6ZSAyZW1cblx0bWFyZ2luIDAuNjdlbSAwXG5cbmgyXG5cdGZvbnQtc2l6ZSAxLjVlbVxuXHRtYXJnaW4gMC44M2VtIDBcblxuaDNcblx0Zm9udC1zaXplIDEuMTdlbVxuXHRtYXJnaW4gMWVtIDBcblxuaDRcblx0Zm9udC1zaXplIDFlbVxuXHRtYXJnaW4gMS4zM2VtIDBcblxuaDVcblx0Zm9udC1zaXplIDAuODNlbVxuXHRtYXJnaW4gMS42N2VtIDBcblxuaDZcblx0Zm9udC1zaXplIDAuNzVlbVxuXHRtYXJnaW4gMi4zM2VtIDBcblxuLy8gQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUU3LzgvOSwgUzUsIENocm9tZVxuYWJiclt0aXRsZV1cblx0Ym9yZGVyLWJvdHRvbSAxcHggZG90dGVkXG5cbi8vIEFkZHJlc3NlcyBzdHlsZSBzZXQgdG8gJ2JvbGRlcicgaW4gRkYzKywgUzQvNSwgQ2hyb21lXG5iXG5zdHJvbmdcblx0Zm9udC13ZWlnaHQgYm9sZFxuXG5ibG9ja3F1b3RlXG5cdG1hcmdpbiAxcHggNDBweFxuXG4vLyBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTNSwgQ2hyb21lXG5kZm5cblx0Zm9udC1zdHlsZSBpdGFsaWNcblxubWFya1xuXHRiYWNrZ3JvdW5kICNmZjBcblx0Y29sb3IgIzAwMFxuXG4vL0FkZHJlc3NlcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRTYvN1xucFxucHJlXG5cdG1hcmdpbiAxZW0gMFxuXG4vLyBDb3JyZWN0cyBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gSUU2LCBTNC81LCBDaHJvbWVcbi8vIGVuLndpa2lwZWRpYS5vcmcvd2lraS9Vc2VyOkRhdmlkZ290aGJlcmcvVGVzdDU5XG5wcmVcbmNvZGVcbmtiZFxuc2FtcFxuXHRmb250LWZhbWlseSBtb25vc3BhY2UsIHNlcmlmXG5cdF9mb250LWZhbWlseSAnY291cmllciBuZXcnLCBtb25vc3BhY2Vcblx0Zm9udC1zaXplIDFlbVxuXG4vLyBJbXByb3ZlcyByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzXG5wcmVcblx0d2hpdGUtc3BhY2UgcHJlXG5cdHdoaXRlLXNwYWNlIHByZS13cmFwXG5cdHdvcmQtd3JhcCBicmVhay13b3JkXG5cbi8vIEFkZHJlc3NlcyBDU1MgcXVvdGVzIG5vdCBzdXBwb3J0ZWQgaW4gSUU2LzdcbnFcblx0cXVvdGVzIG5vbmVcblxuLy8gQWRkcmVzc2VzIHF1b3RlIHByb3BlcnR5IG5vdCBzdXBwb3J0ZWQgaW4gUzRcbnE6YmVmb3JlXG5xOmFmdGVyXG5cdGNvbnRlbnQgJydcblx0Y29udGVudCBub25lXG5cbnNtYWxsXG5cdGZvbnQtc2l6ZSA3NSVcblxuLy8gUHJldmVudHMgc3ViIGFuZCBzdXAgYWZmZWN0aW5nIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vyc1xuLy8gZ2lzdC5naXRodWIuY29tLzQxMzkzMFxuc3ViXG5zdXBcblx0Zm9udC1zaXplIDc1JVxuXHRsaW5lLWhlaWdodCAwXG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cdHZlcnRpY2FsLWFsaWduIGJhc2VsaW5lXG5cbnN1cFxuXHR0b3AgLTAuNWVtXG5cbnN1YlxuXHRib3R0b20gLTAuMjVlbVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIExpc3RzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUU2LzdcbmRsXG5tZW51XG5vbFxudWxcblx0bWFyZ2luIDFlbSAwXG5cbmRkXG5cdG1hcmdpbiAwIDAgMCA0MHB4XG5cbi8vIEFkZHJlc3NlcyBwYWRkaW5ncyBzZXQgZGlmZmVyZW50bHkgaW4gSUU2Lzdcbm1lbnVcbm9sXG51bFxuXHRwYWRkaW5nXHQwIDAgMCA0MHB4XG5cbi8vIENvcnJlY3RzIGxpc3QgaW1hZ2VzIGhhbmRsZWQgaW5jb3JyZWN0bHkgaW4gSUU3XG5uYXYgdWxcbm5hdiBvbFxuXHRsaXN0LXN0eWxlIG5vbmVcblx0bGlzdC1zdHlsZS1pbWFnZSBub25lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgRW1iZWRkZWQgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gMS4gUmVtb3ZlcyBib3JkZXIgd2hlbiBpbnNpZGUgJ2EnIGVsZW1lbnQgaW4gSUU2LzcvOC85LCBGRjNcbi8vIDIuIEltcHJvdmVzIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUU3XG4vLyAgICBjb2RlLmZsaWNrci5jb20vYmxvZy8yMDA4LzExLzEyL29uLXVpLXF1YWxpdHktdGhlLWxpdHRsZS10aGluZ3MtY2xpZW50LXNpZGUtaW1hZ2UtcmVzaXppbmcvXG5pbWdcblx0Ym9yZGVyIDBcblx0LW1zLWludGVycG9sYXRpb24tbW9kZSBiaWN1YmljXG5cbi8vIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRTlcbnN2Zzpub3QoOnJvb3QpXG5cdG92ZXJmbG93IGhpZGRlblxuXG5pbWdcbmlmcmFtZVxub2JqZWN0XG5lbWJlZFxuXHR2ZXJ0aWNhbC1hbGlnbiBtaWRkbGVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBGaWd1cmVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBBZGRyZXNzZXMgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFNi83LzgvOSwgUzUsIE8xMVxuZmlndXJlXG5cdG1hcmdpbiAwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvcnJlY3RzIG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUU2LzdcbmZvcm1cblx0bWFyZ2luIDBcblxuZmllbGRzZXRcblx0Ym9yZGVyIDBcblx0bWFyZ2luIDBcblx0cGFkZGluZyAwXG5cbi8vIDEuIENvcnJlY3RzIGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vyc1xuLy8gMi4gQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFNi83LCBGRjMvNCwgUzUsIENocm9tZVxuLy8gMy4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzXG5idXR0b25cbmlucHV0XG5zZWxlY3RcbnRleHRhcmVhXG5cdGZvbnQtc2l6ZSAxMDAlXG5cdG1hcmdpbiAwXG5cdHZlcnRpY2FsLWFsaWduIGJhc2VsaW5lXG5cdCp2ZXJ0aWNhbC1hbGlnbiBtaWRkbGVcblx0Ym94LXNpemluZyBjb250ZW50LWJveFxuXHRvdXRsaW5lIG5vbmVcblx0Ym9yZGVyLXJhZGl1cyBub25lXG5cdGJveC1zaGFkb3cgbm9uZVxuXG4vLyBBZGRyZXNzZXMgRkYzLzQgc2V0dGluZyBsaW5lLWhlaWdodCBvbiAnaW5wdXQnIHVzaW5nICFpbXBvcnRhbnQgaW4gdGhlIFVBIHN0eWxlc2hlZXRcbmJ1dHRvblxuaW5wdXRcblx0bGluZS1oZWlnaHQgbm9ybWFsXG5cblxuLy8gMS4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlICdpbnB1dCcgYW5kIG90aGVyc1xuLy8gMi4gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSAnaW5wdXQnIHR5cGVzIGluIGlPU1xuLy8gMy4gQ29ycmVjdHMgaW5uZXIgc3BhY2luZyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUU3IHdpdGhvdXQgZWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0c1xuLy8gICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRTZcbmJ1dHRvblxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXVxuaW5wdXRbdHlwZT1cInJlc2V0XCJdXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdXG5cdGN1cnNvciBwb2ludGVyIC8vIDFcblx0LXdlYmtpdC1hcHBlYXJhbmNlIGJ1dHRvbiAvLyAyXG5cdCpvdmVyZmxvdyB2aXNpYmxlIC8vIDJcblxuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50c1xuYnV0dG9uW2Rpc2FibGVkXVxuaW5wdXRbZGlzYWJsZWRdXG5cdGN1cnNvciBkZWZhdWx0XG5cbi8vIDEuIEFkZHJlc3NlcyBib3ggc2l6aW5nIHNldCB0byBjb250ZW50LWJveCBpbiBJRTgvOVxuLy8gMi4gUmVtb3ZlcyBleGNlc3MgcGFkZGluZyBpbiBJRTgvOVxuLy8gMy4gUmVtb3ZlcyBleGNlc3MgcGFkZGluZyBpbiBJRTdcbi8vICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFNlxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdXG5pbnB1dFt0eXBlPVwicmFkaW9cIl1cblx0Ym94LXNpemluZyBib3JkZXItYm94IC8vIDFcblx0cGFkZGluZyAwIC8vIDJcblx0KmhlaWdodCAxM3B4IC8vIDNcblx0KndpZHRoIDEzcHggLy8gM1xuXG5cbi8vIDEuIEFkZHJlc3NlcyBhcHBlYXJhbmNlIHNldCB0byBzZWFyY2hmaWVsZCBpbiBTNSwgQ2hyb21lXG4vLyAyLiBBZGRyZXNzZXMgYm94LXNpemluZyBzZXQgdG8gYm9yZGVyLWJveCBpbiBTNSwgQ2hyb21lIChpbmNsdWRlIC1tb3ogdG8gZnV0dXJlLXByb29mKVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXVxuXHQtd2Via2l0LWFwcGVhcmFuY2UgdGV4dGZpZWxkIC8vIDFcblxuLy8gUmVtb3ZlcyBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTNSwgQ2hyb21lIG9uIE9TIFhcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb25cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b25cblx0LXdlYmtpdC1hcHBlYXJhbmNlIG5vbmVcblxuXG4vLyBSZW1vdmVzIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGRjMrXG4vLyB3d3cuc2l0ZXBlbi5jb20vYmxvZy8yMDA4LzA1LzE0L3RoZS1kZXZpbHMtaW4tdGhlLWRldGFpbHMtZml4aW5nLWRvam9zLXRvb2xiYXItYnV0dG9uc1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lclxuXHRib3JkZXIgMFxuXHRwYWRkaW5nIDBcblxuLy8gMS4gUmVtb3ZlcyBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRTYvNy84Lzlcbi8vIDIuIEltcHJvdmVzIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzXG50ZXh0YXJlYVxuXHRvdmVyZmxvdyBhdXRvIC8vIDFcblx0dmVydGljYWwtYWxpZ24gdG9wIC8vIDJcblx0cmVzaXplIHZlcnRpY2FsIC8vIFRLXG5cbmxhYmVsXG5cdGN1cnNvciBkZWZhdWx0XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHNcbnRhYmxlXG5cdGJvcmRlci1jb2xsYXBzZSBjb2xsYXBzZVxuXHRib3JkZXItc3BhY2luZyAwXG5cbmNhcHRpb25cblx0dGV4dC1hbGlnbiBsZWZ0XG5cdGNhcHRpb24tc2lkZSB0b3BcbnRoXG5cdHRleHQtYWxpZ24gbGVmdFxuIiwiLypcbiAqIFZlbmRvciBcImRpc3BsYXk6IGZsZXhcIiBzdXBwb3J0IHdpdGggZmFsbGJhY2sgdG8gb2Jzb2xldGUgdmVyc2lvbnMuXG4gKi9cblxuZmxleC12ZXJzaW9uID89IGJveCBmbGV4XG5cbi8vXG4vLyAxLiBEaXNwbGF5IHZhbHVlc1xuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2ZsZXgtY29udGFpbmVyc1xuLy9cbmRpc3BsYXkodHlwZSwgYXJncy4uLilcbiAgaWYgZmxleCA9PSB0eXBlIHx8IGlubGluZS1mbGV4ID09IHR5cGVcbiAgICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgICBpZiBmbGV4ID09IHR5cGVcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggYXJnc1xuICAgICAgICBkaXNwbGF5OiB2ZW5kb3ItdmFsdWUoYm94IGFyZ3MsIG9ubHk6IG1veiB3ZWJraXQpXG4gICAgICBlbHNlXG4gICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCBhcmdzXG4gICAgICAgIGRpc3BsYXk6IHZlbmRvci12YWx1ZShpbmxpbmUtYm94IGFyZ3MsIG9ubHk6IG1veiB3ZWJraXQpXG4gICAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICAgIGRpc3BsYXk6IHZlbmRvci12YWx1ZShhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbCkgLy8gb3ZlcndyaXRlcyBvbGQgd2Via2l0XG4gIGVsc2VcbiAgICBkaXNwbGF5OiBhcmd1bWVudHNcblxuLypcbiAqIE5ldyBzeW50YXggZm9yIGJyb3dzZXJzIGxpa2UgR29vZ2xlIENocm9tZS5cbiAqIFBsdXMgYSB0cmFuc2xhdGlvbiB0byB0aGUgb2xkIHN5bnRheCwgaWYgcG9zc2libGUuXG4gKi9cblxuXG4vL1xuLy8gNS4gT3JkZXJpbmcgYW5kIE9yaWVudGF0aW9uXG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jb3JkZXJpbmctYW5kLW9yaWVudGF0aW9uXG4vL1xuLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGRpcmVjdGlvbilcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIGlmIHJvdy1yZXZlcnNlID09IGRpcmVjdGlvbiB8fCBjb2x1bW4tcmV2ZXJzZSA9PSBkaXJlY3Rpb25cbiAgICAgIHZlbmRvcignYm94LWRpcmVjdGlvbicsIHJldmVyc2UsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgICBpZiByb3cgPT0gZGlyZWN0aW9uIHx8IHJvdy1yZXZlcnNlID09IGRpcmVjdGlvblxuICAgICAgdmVuZG9yKCdib3gtb3JpZW50JywgaG9yaXpvbnRhbCwgaWdub3JlOiBtcyBvZmZpY2lhbClcbiAgICBlbHNlIGlmIGNvbHVtbiA9PSBkaXJlY3Rpb24gfHwgY29sdW1uLXJldmVyc2UgPT0gZGlyZWN0aW9uXG4gICAgICB2ZW5kb3IoJ2JveC1vcmllbnQnLCB2ZXJ0aWNhbCwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuLWZsZXgtb2Jzb2xldGUtd3JhcCh2YWx1ZSlcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIC8vIFdBUk46IHdyYXAtcmV2ZXJzZSBkb2VzIG5vdCBoYXZlIGEgYm94IGVxdWl2YWxlbnQuIFRoaXMgd2lsbCByZW5kZXIgaW4gZGlmZmVyZW50IG1hbm5lcnNcbiAgICAvLyAgICBvbiBib3ggdnMuIGZsZXggdmFsdWVzLlxuICAgIGlmICd3cmFwJyA9PSB2YWx1ZSB8fCB3cmFwLXJldmVyc2UgPT0gdmFsdWVcbiAgICAgIHZlbmRvcignYm94LWxpbmVzJywgbXVsdGlwbGUsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG4gICAgZWxzZSBpZiBub3dyYXAgPT0gdmFsdWVcbiAgICAgIHZlbmRvcignYm94LWxpbmVzJywgc2luZ2xlLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG5mbGV4LWRpcmVjdGlvbihkaXJlY3Rpb24pXG4gIC8vIG9ic29sZXRlXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihkaXJlY3Rpb24pXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWRpcmVjdGlvbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5mbGV4LXdyYXAodmFsdWUpXG4gIC8vIG9ic29sZXRlXG4gIC1mbGV4LW9ic29sZXRlLXdyYXAodmFsdWUpXG5cbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtd3JhcCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5mbGV4LWZsb3coKVxuICAvLyBvYnNvbGV0ZVxuICAtZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oYXJndW1lbnRzWzBdKVxuICAtZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oYXJndW1lbnRzWzFdKVxuICAtZmxleC1vYnNvbGV0ZS13cmFwKGFyZ3VtZW50c1swXSlcbiAgLWZsZXgtb2Jzb2xldGUtd3JhcChhcmd1bWVudHNbMV0pXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWZsb3cnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtcyBvZmZpY2lhbClcblxuXG5vcmRlcigpXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1vcmRpbmFsLWdyb3VwJywgYXJndW1lbnRzLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1vcmRlcicsIGFyZ3VtZW50cywgb25seTogbXMpXG4gICAgdmVuZG9yKCdvcmRlcicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5cbi8vXG4vLyA3LiBGbGV4aWJpbGl0eVxuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2ZsZXhpYmlsaXR5XG4vL1xuZmxleC1ncm93KGdyb3d0aClcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LWZsZXgnLCBncm93dGgpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWdyb3cnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleC1iYXNpcygpXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWJhc2lzJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmZsZXgtc2hyaW5rKClcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtc2hyaW5rJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmZsZXgoZ3Jvd3RoKVxuXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICBzaHJpbmsgPSAxXG5cbiAgICBpZiBub25lID09IGdyb3d0aCB8fCBpbml0aWFsID09IGdyb3d0aFxuICAgICAgLy8gV2VsbCBrbm93biB2YWx1ZXNcbiAgICAgIHNocmluayA9IDAgaWYgbm9uZSA9PSBncm93dGhcbiAgICAgIGdyb3d0aCA9IDBcbiAgICBlbHNlIGlmIGlzLXdpZHRoKGdyb3d0aCkgPT0gdHJ1ZVxuICAgICAgLy8gQmFzaXMgaXMgZGVmaW5lZCBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyXG4gICAgICBncm93dGggPSBhcmd1bWVudHNbMV0gfHwgMFxuICAgICAgc2hyaW5rID0gYXJndW1lbnRzWzJdIGlmIDMgPD0gbGVuZ3RoKGFyZ3VtZW50cylcbiAgICBlbHNlIGlmIGFyZ3VtZW50c1sxXSAmJiBpcy13aWR0aChhcmd1bWVudHNbMV0pID09IGZhbHNlXG4gICAgICAvLyBHcm93dGggaXMgZmlyc3QgYW5kIHNocmluayBpcyBzZWNvbmRcbiAgICAgIHNocmluayA9IGFyZ3VtZW50c1sxXVxuXG4gICAgLy8gU2luY2Ugd2UgY2FuJ3QgbWFrZSB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiBncm93aW5nIGFuZCBzaHJpbmtpbmcgaW4gdGhlIGJveCBtb2RlbCwgdGFrZVxuICAgIC8vIHRoZSBvbmUgdGhhdCBwcm92aWRlcyB0aGUgbW9zdCBmbGV4aWJpbGl0eS5cbiAgICB2ZW5kb3IoJ2JveC1mbGV4JywgbWF4KGdyb3d0aCwgc2hyaW5rKSwgaWdub3JlOiBtcylcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtcyBvZmZpY2lhbClcblxuXG4vLyBjb252ZXJ0cyB0aGUganVzdGlmaWNhdGlvbiBhbGlnbm1lbnRcbi1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pXG4gIGlmIGZsZXgtc3RhcnQgPT0gYWxpZ25cbiAgICByZXR1cm4gc3RhcnRcbiAgZWxzZSBpZiBmbGV4LWVuZCA9PSBhbGlnblxuICAgIHJldHVybiBlbmRcbiAgZWxzZSBpZiBzcGFjZS1hcm91bmQgPT0gYWxpZ25cbiAgICByZXR1cm4gZGlzdHJpYnV0ZVxuICBlbHNlIGlmIHNwYWNlLWJldHdlZW4gPT0gYWxpZ25cbiAgICByZXR1cm4ganVzdGlmeVxuICBlbHNlXG4gICAgcmV0dXJuIGFsaWduXG5cbi8vXG4vLyA4LiBBbGlnbm1lbnRcbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNhbGlnbm1lbnRcbi8vXG5qdXN0aWZ5LWNvbnRlbnQoYWxpZ24pXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1wYWNrJywgLWNvbnZlcnQtanVzdGlmeShhbGlnbiksIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdqdXN0aWZ5LWNvbnRlbnQnLCBhbGlnbiwgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5hbGlnbi1jb250ZW50KGFsaWduKVxuICAvLyBXQVJOOiBPYnNvbGV0ZSBzcGVjIGRvZXMgbm90IGFsbG93IGZvciBhZGp1c3RtZW50IGhlcmVcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtbGluZS1wYWNrJywgLWNvbnZlcnQtanVzdGlmeShhbGlnbiksIG9ubHk6IG1zKVxuICAgIHZlbmRvcignYWxpZ24tY29udGVudCcsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbi8vIGNvbnZlcnRzIGFsaWdubWVudCBmcm9tICdmbGV4JyB0byBub3JtYWwgdmFsdWVcbi1jb252ZXJ0LWFsaWdubWVudChhbGlnbilcbiAgaWYgZmxleC1zdGFydCA9PSBhbGlnblxuICAgIHJldHVybiBzdGFydFxuICBlbHNlIGlmIGZsZXgtZW5kID09IGFsaWduXG4gICAgcmV0dXJuIGVuZFxuICBlbHNlXG4gICAgcmV0dXJuIGFsaWduXG5cbmFsaWduLWl0ZW1zKGFsaWduKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtYWxpZ24nLCAtY29udmVydC1hbGlnbm1lbnQoYWxpZ24pLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1hbGlnbicsIC1jb252ZXJ0LWFsaWdubWVudChhbGlnbiksIG9ubHk6IG1zKVxuICAgIHZlbmRvcignYWxpZ24taXRlbXMnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuYWxpZ24tc2VsZihhbGlnbilcbiAgLy8gV0FSTjogT2Jzb2xldGUgc3BlYyBkb2VzIG5vdCBhbGxvdyBmb3Igb3ZlcnJpZGluZyBhbGlnbm1lbnQgb24gaW5kaXZpZHVhbCBpdGVtcy5cbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2FsaWduLXNlbGYnLCBhbGlnbiwgb25seTogd2Via2l0IG9mZmljaWFsKVxuICAgIHZlbmRvcignZmxleC1pdGVtLWFsaWduJywgLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKSwgb25seTogbXMpXG4iLCIkaWNvblxuXHRkaXNwbGF5IGJsb2NrXG5cbi5pY29uXG5cdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdHZlcnRpY2FsLWFsaWduIG1pZGRsZVxuXHRwb3NpdGlvbiByZWxhdGl2ZVxuXHQmX19zdmdcblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdHRvcCAwXG5cdFx0bGVmdCAwXG5cdFx0d2lkdGggMTAwJVxuXHRcdGhlaWdodCAxMDAlXG5cdCY6YmVmb3JlXG5cdFx0Y29udGVudCAnJ1xuXHRcdGRpc3BsYXkgYmxvY2tcblxuXHRcblx0Ji0tYXJyLXMtbGVmdFxuXHRcdHdpZHRoIDZweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoMTIgLyA2ICogMTAwKSVcblx0XG5cdCYtLWFyci1zLXJpZ2h0XG5cdFx0d2lkdGggNnB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgxMiAvIDYgKiAxMDApJVxuXHRcblx0Ji0tYmVmb3JlLWFmdGVyLWxcblx0XHR3aWR0aCAyMnB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICg2MCAvIDIyICogMTAwKSVcblx0XG5cdCYtLWJlZm9yZS1hZnRlclxuXHRcdHdpZHRoIDhweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoMTkgLyA4ICogMTAwKSVcblx0XG5cdCYtLWJsb2dcblx0XHR3aWR0aCAyN3B4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgyNyAvIDI3ICogMTAwKSVcblx0XG5cdCYtLWJvZHlcblx0XHR3aWR0aCA5MXB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICg3NC40NyAvIDkxICogMTAwKSVcblx0XG5cdCYtLWJyYW5jaFxuXHRcdHdpZHRoIDkwLjA2M3B4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICg3NyAvIDkwLjA2MyAqIDEwMCklXG5cdFxuXHQmLS1idXNcblx0XHR3aWR0aCAxNnB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgxOSAvIDE2ICogMTAwKSVcblx0XG5cdCYtLWNhbGVuZGFyXG5cdFx0d2lkdGggODBweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoNzcgLyA4MCAqIDEwMCklXG5cdFxuXHQmLS1jYXJcblx0XHR3aWR0aCAxOHB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgxNiAvIDE4ICogMTAwKSVcblx0XG5cdCYtLWNhcm91c2VsLWxlZnRcblx0XHR3aWR0aCAxM3B4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgzOSAvIDEzICogMTAwKSVcblx0XG5cdCYtLWNhcm91c2VsLXJpZ2h0XG5cdFx0d2lkdGggMTNweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoMzkgLyAxMyAqIDEwMCklXG5cdFxuXHQmLS1jbG9zZVxuXHRcdHdpZHRoIDE3LjM0MXB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgxNi44MjUgLyAxNy4zNDEgKiAxMDApJVxuXHRcblx0Ji0tY29tbWVudFxuXHRcdHdpZHRoIDE2cHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDE2IC8gMTYgKiAxMDApJVxuXHRcblx0Ji0tZGlyZWN0aW9uc1xuXHRcdHdpZHRoIDE5Ljg0NHB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgxOS44MSAvIDE5Ljg0NCAqIDEwMCklXG5cdFxuXHQmLS1mYWNlYm9va1xuXHRcdHdpZHRoIDI3cHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDI3IC8gMjcgKiAxMDApJVxuXHRcblx0Ji0tZ2l0LWJyYW5jaFxuXHRcdHdpZHRoIDEwcHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDE2IC8gMTAgKiAxMDApJVxuXHRcblx0Ji0tZ2xvYmVcblx0XHR3aWR0aCAxOHB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgxOCAvIDE4ICogMTAwKSVcblx0XG5cdCYtLWdvb2dsZVxuXHRcdHdpZHRoIDI3cHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDI3IC8gMjcgKiAxMDApJVxuXHRcblx0Ji0taGVhbHRoXG5cdFx0d2lkdGggNzMuODhweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoNzAuMDkgLyA3My44OCAqIDEwMCklXG5cdFxuXHQmLS1pbnN0YWdyYW1cblx0XHR3aWR0aCAyN3B4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgyNyAvIDI3ICogMTAwKSVcblx0XG5cdCYtLWluc3VyYW5jZVxuXHRcdHdpZHRoIDY3cHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDg3IC8gNjcgKiAxMDApJVxuXHRcblx0Ji0tbGFuZy1hcnJcblx0XHR3aWR0aCAxMC41OThweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoNC41NjIgLyAxMC41OTggKiAxMDApJVxuXHRcblx0Ji0tbGV0dGVyXG5cdFx0d2lkdGggNDBweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoNDAgLyA0MCAqIDEwMCklXG5cdFxuXHQmLS1saXN0XG5cdFx0d2lkdGggNTRweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoODMgLyA1NCAqIDEwMCklXG5cdFxuXHQmLS1sb2dvLW1lZGljb21cblx0XHR3aWR0aCAxNThweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoNzEuMzk0IC8gMTU4ICogMTAwKSVcblx0XG5cdCYtLW1lbnUtY2xvc2Vcblx0XHR3aWR0aCAyMHB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgyMCAvIDIwICogMTAwKSVcblx0XG5cdCYtLW1pbnVzXG5cdFx0d2lkdGggMjBweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoMjAgLyAyMCAqIDEwMCklXG5cdFxuXHQmLS1tb25leVxuXHRcdHdpZHRoIDExN3B4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICg1NiAvIDExNyAqIDEwMCklXG5cdFxuXHQmLS1tb3JlXG5cdFx0d2lkdGggMTZweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoNCAvIDE2ICogMTAwKSVcblx0XG5cdCYtLW5vcGVcblx0XHR3aWR0aCAzMXB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgzMSAvIDMxICogMTAwKSVcblx0XG5cdCYtLW9rXG5cdFx0d2lkdGggMzFweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoMzEgLyAzMSAqIDEwMCklXG5cdFxuXHQmLS1vcmRlclxuXHRcdHdpZHRoIDg3cHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDg4IC8gODcgKiAxMDApJVxuXHRcblx0Ji0tcGFtcGhsZXRcblx0XHR3aWR0aCA5MHB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICg3OCAvIDkwICogMTAwKSVcblx0XG5cdCYtLXBpblxuXHRcdHdpZHRoIDQwcHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDQwIC8gNDAgKiAxMDApJVxuXHRcblx0Ji0tcGludGVyZXN0XG5cdFx0d2lkdGggMjdweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoMjcgLyAyNyAqIDEwMCklXG5cdFxuXHQmLS1wbGFuZVxuXHRcdHdpZHRoIDE5cHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDIwIC8gMTkgKiAxMDApJVxuXHRcblx0Ji0tcGxheVxuXHRcdHdpZHRoIDgwcHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDgwIC8gODAgKiAxMDApJVxuXHRcblx0Ji0tcGx1cy1zaW1wbGVcblx0XHR3aWR0aCAyMHB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgyMCAvIDIwICogMTAwKSVcblx0XG5cdCYtLXBsdXNcblx0XHR3aWR0aCAyMHB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgyMCAvIDIwICogMTAwKSVcblx0XG5cdCYtLXF1ZXN0aW9uLW1hcmtcblx0XHR3aWR0aCA4MnB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICg3NiAvIDgyICogMTAwKSVcblx0XG5cdCYtLXNjcmliYmxlLXdoaXRlXG5cdFx0d2lkdGggMTgxcHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDMwIC8gMTgxICogMTAwKSVcblx0XG5cdCYtLXNjcmliYmxlXG5cdFx0d2lkdGggMTgxcHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDMwIC8gMTgxICogMTAwKSVcblx0XG5cdCYtLXNjcm9sbC1hcnJvd1xuXHRcdHdpZHRoIDIwcHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDguNDY3IC8gMjAgKiAxMDApJVxuXHRcblx0Ji0tc2VhcmNoXG5cdFx0d2lkdGggMTguNXB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgxOSAvIDE4LjUgKiAxMDApJVxuXHRcblx0Ji0tc3VibWl0XG5cdFx0d2lkdGggMTVweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoMTggLyAxNSAqIDEwMCklXG5cdFxuXHQmLS10ZWxlcGhvbmVcblx0XHR3aWR0aCA0MHB4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICg0MCAvIDQwICogMTAwKSVcblx0XG5cdCYtLXRodW1ic3VwXG5cdFx0d2lkdGggMTZweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoMTYgLyAxNiAqIDEwMCklXG5cdFxuXHQmLS10aW1lXG5cdFx0d2lkdGggNzQuMTJweFxuXHRcdCY6YmVmb3JlXG5cdFx0XHRwYWRkaW5nLXRvcCAoNzMuNjYgLyA3NC4xMiAqIDEwMCklXG5cdFxuXHQmLS11cFxuXHRcdHdpZHRoIDE5cHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDggLyAxOSAqIDEwMCklXG5cdFxuXHQmLS12b3VjaGVyLWlrb25hXG5cdFx0d2lkdGggMTU3cHhcblx0XHQmOmJlZm9yZVxuXHRcdFx0cGFkZGluZy10b3AgKDc1IC8gMTU3ICogMTAwKSVcblx0XG5cdCYtLXlvdXR1YmVcblx0XHR3aWR0aCAyN3B4XG5cdFx0JjpiZWZvcmVcblx0XHRcdHBhZGRpbmctdG9wICgyNyAvIDI3ICogMTAwKSVcblx0IiwiLypcbiAqIGJvcmRlcjogPGNvbG9yPlxuICogYm9yZGVyOiAuLi5cbiAqL1xuXG5ib3JkZXIoY29sb3IsIGFyZ3MuLi4pXG4gIGlmIGNvbG9yIGlzIGEgJ2NvbG9yJ1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yIGFyZ3NcbiAgZWxzZVxuICAgIGJvcmRlcjogYXJndW1lbnRzXG4iLCJ1c2UoJy4uL25vZGVzL3ZlbmRvci1oZWxwZXJzLmpzJylcbkBpbXBvcnQgJ2NvbmZpZydcblxuLypcbiAqIEFsaWFzIFwibm93cmFwXCIgYXMgXCJuby13cmFwXCIuXG4gKi9cblxubm8td3JhcCA9IHVucXVvdGUoJ25vd3JhcCcpXG5cbi8qXG4gKiBIZWxwZXIgdG8gZmluZCBvdXQgaWYgYSBnaXZlbiB2YWx1ZSBpcyBhIHdpZHRoXG4gKi9cblxuaXMtd2lkdGgodmFsKVxuICBpZiBhdXRvID09IHZhbFxuICAgIHJldHVybiB0cnVlXG4gIGVsc2UgaWYgdmFsICYmICd1bml0JyA9PSB0eXBlKHZhbClcbiAgICAvLyBTdHlsdXMgZG9lcyBub3Qgc2hvcnQgY2lyY3VpdCBzbyB3ZSBuZWVkIHRvIHBlcmZvcm0gdGhpcyBhcyBhIGRpc3RpbmN0XG4gICAgLy8gb3BlcmF0aW9uIHRvIHByZXZlbnQgZXJyb3JzXG4gICAgcmV0dXJuICcnICE9IHVuaXQodmFsKVxuICByZXR1cm4gZmFsc2VcblxuLypcbiAqIFZlbmRvciBzdXBwb3J0IGZvciB0aGUgZ2l2ZW4gcHJvcCAvIGFyZ3VtZW50cywgb3B0aW9uYWxseSBzcGVjaWZ5aW5nIHRoZVxuICogb25seSBwcmVmaXhlcyB0byB1dGlsaXplLCBvciB0aG9zZSB3aGljaCBzaG91bGQgYmUgaWdub3JlZC5cbiAqL1xuXG52ZW5kb3IocHJvcCwgYXJncywgb25seSA9IG51bGwsIGlnbm9yZSA9IG51bGwsIHZlbmRvci1wcm9wZXJ0eSA9IHRydWUpXG4gIG5lZWRfbm9ybWFsaXplID0gIXZlbmRvci1wcm9wZXJ0eSBvciBwcm9wIGluICgndHJhbnNpdGlvbicgJ3RyYW5zaXRpb24tcHJvcGVydHknICdib3JkZXItaW1hZ2UnICdib3JkZXItaW1hZ2Utc2xpY2UnKVxuICBmb3IgcHJlZml4IGluIHZlbmRvci1wcmVmaXhlc1xuICAgIHVubGVzcyAob25seSBhbmQgIShwcmVmaXggaW4gb25seSkpIG9yIChpZ25vcmUgYW5kIHByZWZpeCBpbiBpZ25vcmUpXG4gICAgICBpZiBvZmZpY2lhbCA9PSBwcmVmaXhcbiAgICAgICAgaWYgbmVlZF9ub3JtYWxpemVcbiAgICAgICAgICB7cHJvcH06IG5vcm1hbGl6ZShwcm9wLCgnJXMnICUgYXJncykpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7cHJvcH06IGFyZ3NcbiAgICAgIGVsc2VcbiAgICAgICAgbmV3cHJvcCA9IHByb3BcbiAgICAgICAgbmV3cHJvcCA9ICctJyArIHByZWZpeCArICctJyArIHByb3AgaWYgdmVuZG9yLXByb3BlcnR5XG5cbiAgICAgICAgaWYgbmVlZF9ub3JtYWxpemVcbiAgICAgICAgICB7bmV3cHJvcH06IG5vcm1hbGl6ZShwcm9wLCgnJXMnICUgYXJncykscHJlZml4KVxuICAgICAgICBlbHNlXG4gICAgICAgICAge25ld3Byb3B9OiBhcmdzXG4vKlxuICogVmVuZG9yaXplIHRoZSBnaXZlbiB2YWx1ZS5cbiAqL1xuXG52ZW5kb3ItdmFsdWUoYXJnLCBvbmx5ID0gbnVsbCwgaWdub3JlID0gbnVsbClcbiAgcHJvcCA9IGN1cnJlbnQtcHJvcGVydHlbMF1cbiAgZm9yIHByZWZpeCBpbiB2ZW5kb3ItcHJlZml4ZXNcbiAgICB1bmxlc3MgKG9ubHkgYW5kICEocHJlZml4IGluIG9ubHkpKSBvciAoaWdub3JlIGFuZCBwcmVmaXggaW4gaWdub3JlKSBvciBvZmZpY2lhbCA9PSBwcmVmaXhcbiAgICAgIGFkZC1wcm9wZXJ0eShwcm9wLCAnLSVzLSVzJyAlIChwcmVmaXggYXJnKSlcbiAgYXJnXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtc2hhZG93XCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtc2hhZG93KClcbiAgdmVuZG9yKCdib3gtc2hhZG93JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ1c2VyLXNlbGVjdFwiIHN1cHBvcnQuXG4gKi9cblxudXNlci1zZWxlY3QoKVxuICB2ZW5kb3IoJ3VzZXItc2VsZWN0JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLWNvdW50XCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tY291bnQoKVxuICB2ZW5kb3IoJ2NvbHVtbi1jb3VudCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1nYXBcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1nYXAoKVxuICB2ZW5kb3IoJ2NvbHVtbi1nYXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZVwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXJ1bGUtY29sb3JcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1ydWxlLWNvbG9yKClcbiAgdmVuZG9yKCdjb2x1bW4tcnVsZS1jb2xvcicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlLXdpZHRoXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZS13aWR0aCgpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUtd2lkdGgnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZS1zdHlsZVwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUtc3R5bGUoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlLXN0eWxlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXdpZHRoXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4td2lkdGgoKVxuICB2ZW5kb3IoJ2NvbHVtbi13aWR0aCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1zcGFuXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tc3BhbigpXG4gIHZlbmRvcignY29sdW1uLXNwYW4nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1maWxsXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tZmlsbCgpXG4gIHZlbmRvcignY29sdW1uLWZpbGwnLCBhcmd1bWVudHMsIG9ubHk6IG1veilcblxuLypcbiAqIExlZ2FjeSBzeW50YXggc3VwcG9ydCBmb3IgYmFja2dyb3VuZC1jbGlwIGFuZCBiYWNrZ3JvdW5kLW9yaWdpblxuICovXG5cbmxlZ2FjeS1iZy12YWx1ZXMocHJvcGVydHksIGFyZ3MpXG4gIGxlZ2FjeV9hcmdzID0gKClcbiAgaW1wb3J0YW5jZSA9IHVucXVvdGUoJycpXG4gIGZvciBzdWJhcmdzIGluIGFyZ3NcbiAgICBmb3IgYXJnIGluIHN1YmFyZ3NcbiAgICAgIGlmIGFyZyBpbiAoYm9yZGVyLWJveCBwYWRkaW5nLWJveCBjb250ZW50LWJveClcbiAgICAgICAgYXJnID0gdW5xdW90ZSgnYm9yZGVyJykgIGlmIGFyZyA9PSBib3JkZXItYm94XG4gICAgICAgIGFyZyA9IHVucXVvdGUoJ3BhZGRpbmcnKSBpZiBhcmcgPT0gcGFkZGluZy1ib3hcbiAgICAgICAgYXJnID0gdW5xdW90ZSgnY29udGVudCcpIGlmIGFyZyA9PSBjb250ZW50LWJveFxuICAgICAgaWYgYXJnICE9ICchaW1wb3J0YW50J1xuICAgICAgICBwdXNoKGxlZ2FjeV9hcmdzLGFyZylcbiAgICAgIGVsc2VcbiAgICAgICAgaW1wb3J0YW5jZSA9ICFpbXBvcnRhbnRcbiAgdmVuZG9yKHByb3BlcnR5LCB1bnF1b3RlKGpvaW4oJywgJyxsZWdhY3lfYXJncykpIGltcG9ydGFuY2UsIG9ubHk6IG1veiB3ZWJraXQpXG5cbi8qXG4gKiBWZW5kb3IgXCJiYWNrZ3JvdW5kLWNsaXBcIiBzdXBwb3J0LlxuICovXG5cbmJhY2tncm91bmQtY2xpcCgpXG4gIGlmIGFyZ3VtZW50c1swXSA9PSB0ZXh0XG4gICAgdmVuZG9yKCdiYWNrZ3JvdW5kLWNsaXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdClcbiAgZWxzZVxuICAgIGxlZ2FjeS1iZy12YWx1ZXMoJ2JhY2tncm91bmQtY2xpcCcsIGFyZ3VtZW50cylcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwiYmFja2dyb3VuZC1vcmlnaW5cIiBzdXBwb3J0LlxuICovXG5cbmJhY2tncm91bmQtb3JpZ2luKClcbiAgbGVnYWN5LWJnLXZhbHVlcygnYmFja2dyb3VuZC1vcmlnaW4nLCBhcmd1bWVudHMpXG4gIGJhY2tncm91bmQtb3JpZ2luOiBhcmd1bWVudHNcblxuLypcbiAqIFZlbmRvciBcImJhY2tncm91bmQtc2l6ZVwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2dyb3VuZC1zaXplKClcbiAgdmVuZG9yKCdiYWNrZ3JvdW5kLXNpemUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2Zvcm1cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zZm9ybSgpXG4gIHZlbmRvcigndHJhbnNmb3JtJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNmb3JtLW9yaWdpblwiIHN1cHBvcnQuXG4gKi9cbnRyYW5zZm9ybS1vcmlnaW4oKVxuICAgIHZlbmRvcigndHJhbnNmb3JtLW9yaWdpbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zZm9ybS1zdHlsZVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNmb3JtLXN0eWxlKClcbiAgdmVuZG9yKCd0cmFuc2Zvcm0tc3R5bGUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3JkZXItaW1hZ2VcIiBzdXBwb3J0LlxuICovXG5cbmJvcmRlci1pbWFnZSgpXG4gIHZlbmRvcignYm9yZGVyLWltYWdlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG8gb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uKClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi1wcm9wZXJ0eVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi1wcm9wZXJ0eSgpXG4gIHZlbmRvcigndHJhbnNpdGlvbi1wcm9wZXJ0eScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb24tZHVyYXRpb25cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zaXRpb24tZHVyYXRpb24oKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24tZHVyYXRpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvblwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi1kZWxheVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi1kZWxheSgpXG4gIHZlbmRvcigndHJhbnNpdGlvbi1kZWxheScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImJhY2tmYWNlLXZpc2liaWxpdHlcIiBzdXBwb3J0LlxuICovXG5cbmJhY2tmYWNlLXZpc2liaWxpdHkoKVxuICB2ZW5kb3IoJ2JhY2tmYWNlLXZpc2liaWxpdHknLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJwZXJzcGVjdGl2ZVwiIHN1cHBvcnQuXG4gKi9cblxucGVyc3BlY3RpdmUoKVxuICBpZiBtaXhpblxuICAgIHZlbmRvcigncGVyc3BlY3RpdmUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG4gIGVsc2VcbiAgICAncGVyc3BlY3RpdmUoJXMpJyAlIGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwicGVyc3BlY3RpdmUtb3JpZ2luXCIgc3VwcG9ydC5cbiAqL1xuXG5wZXJzcGVjdGl2ZS1vcmlnaW4oKVxuICB2ZW5kb3IoJ3BlcnNwZWN0aXZlLW9yaWdpbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIE9wYWNpdHkgd2l0aCBjb25kaXRpb25hbCBJRSBzdXBwb3J0LlxuICovXG5cbm9wYWNpdHkobiwgYXJncy4uLilcbiAgb3BhY2l0eTogbiBhcmdzXG4gIGlmIHN1cHBvcnQtZm9yLWllXG4gICAgaWYgbiA9PSBpbmhlcml0IG9yIG4gPT0gaW5pdGlhbFxuICAgICAgLW1zLWZpbHRlcjogbiBhcmdzXG4gICAgICBmaWx0ZXI6IG4gYXJnc1xuICAgIGVsc2VcbiAgICAgIHZhbCA9IHJvdW5kKG4gKiAxMDApXG4gICAgICBpZiB2YWwgPT0gMTAwXG4gICAgICAgIC1tcy1maWx0ZXI6IG5vbmUgYXJnc1xuICAgICAgICBmaWx0ZXI6IG5vbmUgYXJnc1xuICAgICAgZWxzZVxuICAgICAgICAtbXMtZmlsdGVyOiAnXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0lcylcIicgJSB2YWwgYXJnc1xuICAgICAgICBmaWx0ZXI6ICdhbHBoYShvcGFjaXR5PSVzKScgJSB2YWwgYXJnc1xuXG4vKlxuICogVmVuZG9yIFwidGV4dC1zaXplLWFkanVzdFwiXG4gKi9cblxudGV4dC1zaXplLWFkanVzdCgpXG4gIHZlbmRvcigndGV4dC1zaXplLWFkanVzdCcsIGFyZ3VtZW50cylcblxuLypcbiAqIEFsaWFzIHRoZSBcIndoaXRlLXNwYWNlXCIgcHJvcGVydHkuXG4gKi9cblxud2hpdGVzcGFjZSgpXG4gIHdoaXRlLXNwYWNlOiBhcmd1bWVudHNcblxuLypcbiAqIFZlbmRvciBcImJveC1zaXppbmdcIiBzdXBwb3J0LlxuICovXG5cbmJveC1zaXppbmcoKVxuICB2ZW5kb3IoJ2JveC1zaXppbmcnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtb3JpZW50XCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtb3JpZW50KClcbiAgdmVuZG9yKCdib3gtb3JpZW50JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LWZsZXgtZ3JvdXBcIiBzdXBwb3J0LlxuICovXG5cbmJveC1mbGV4LWdyb3VwKClcbiAgdmVuZG9yKCdib3gtZmxleC1ncm91cCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1vcmRpbmFsLWdyb3VwXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtb3JkaW5hbC1ncm91cCgpXG4gIHZlbmRvcignYm94LW9yZGluYWwtZ3JvdXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cblxuLypcbiAqIFZlbmRvciBcImJveC1hbGlnblwiIHN1cHBvcnQuXG4gKi9cblxuYm94LWFsaWduKClcbiAgdmVuZG9yKCdib3gtYWxpZ24nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtcGFja1wiIHN1cHBvcnQuXG4gKi9cblxuYm94LXBhY2soKVxuICB2ZW5kb3IoJ2JveC1wYWNrJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LWRpcmVjdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYm94LWRpcmVjdGlvbigpXG4gIHZlbmRvcignYm94LWRpcmVjdGlvbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24nLCBhcmd1bWVudHMpXG5cblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1uYW1lXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tbmFtZSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLW5hbWUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZHVyYXRpb25cIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1kdXJhdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uLWR1cmF0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWRlbGF5XCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tZGVsYXkoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1kZWxheScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1kaXJlY3Rpb25cIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1kaXJlY3Rpb24oKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1kaXJlY3Rpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24taXRlcmF0aW9uLWNvdW50XCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24taXRlcmF0aW9uLWNvdW50KClcbiAgdmVuZG9yKCdhbmltYXRpb24taXRlcmF0aW9uLWNvdW50JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1wbGF5LXN0YXRlXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tcGxheS1zdGF0ZSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLXBsYXktc3RhdGUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZmlsbC1tb2RlXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tZmlsbC1tb2RlKClcbiAgdmVuZG9yKCdhbmltYXRpb24tZmlsbC1tb2RlJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiaHlwaGVuc1wiIHN1cHBvcnQuXG4gKi9cblxuaHlwaGVucygpXG4gIHZlbmRvcignaHlwaGVucycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImFwcGVhcmFuY2VcIiBzdXBwb3J0LlxuICovXG5cbmFwcGVhcmFuY2UoKVxuICB2ZW5kb3IoJ2FwcGVhcmFuY2UnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0YWItc2l6ZVwiIHN1cHBvcnQuXG4gKi9cblxudGFiLXNpemUoKVxuICB2ZW5kb3IoJ3RhYi1zaXplJywgYXJndW1lbnRzLCBvbmx5OiBtb3ogbyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcIm92ZXJmbG93LXNjcm9sbGluZ1wiIHN1cHBvcnQuXG4gKi9cblxub3ZlcmZsb3ctc2Nyb2xsaW5nKClcbiAgdmVuZG9yKCdvdmVyZmxvdy1zY3JvbGxpbmcnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRleHQtb3ZlcmZsb3dcIiBzdXBwb3J0LCAsIC1vLSBmb3Igb3BlcmEgOS4qIC0gMTAuKlxuICovXG5cbnRleHQtb3ZlcmZsb3coKVxuICB2ZW5kb3IoJ3RleHQtb3ZlcmZsb3cnLCBhcmd1bWVudHMsIG9ubHk6IG9mZmljaWFsIG8pXG5cbi8qXG4gKiBWZW5kb3IgXCJ0ZXh0LXNpemUtYWRqdXN0XCIgc3VwcG9ydC5cbiAqL1xudGV4dC1zaXplLWFkanVzdCgpXG4gIHZlbmRvcigndGV4dC1zaXplLWFkanVzdCcsIGFyZ3VtZW50cywgb25seTogb2ZmaWNpYWwgd2Via2l0IG1zKVxuXG4vKlxuICogVmVuZG9yIFwiZm9udC1zbW9vdGhpbmdcIiBzdXBwb3J0LCB3ZWJraXQgb25seS5cbiAqL1xuZm9udC1zbW9vdGhpbmcoKVxuICB2ZW5kb3IoJ2ZvbnQtc21vb3RoaW5nJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQpXG5cblxuLyoqXG4gKiBWZW5kb3IgaW5wdXQtcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIgc3VwcG9ydC5cbiAqXG4gKiBFeGFtcGxlczpcbiAqICAgIC8vIERlZmF1bHQgc3ludGF4XG4gKiAgICBib2R5XG4gKiAgICAgIHBsYWNlaG9sZGVyKGNvbG9yICMzMzMsIGZvbnQtd2VpZ2h0IG5vcm1hbClcbiAqXG4gKiAgICAvLyBUaGUgY29tbWEgaXMgaW1wb3J0YW50XG4gKiAgICAucGxhY2Vob2xkZXItcmVkXG4gKiAgICAgIHBsYWNlaG9sZGVyKGNvbG9yIHJlZCwpXG4gKlxuICogICAgLy8gV2UgY2FuIHBhc3MgYSBmdW5jdGlvblxuICogICAgZ3JlZW4tcGxhY2Vob2xkZXIoKVxuICogICAgICBjb2xvciBncmVlblxuICogICAgLnBsYWNlaG9sZGVyLWdyZWVuXG4gKiAgICAgIHBsYWNlaG9sZGVyKGdyZWVuLXBsYWNlaG9sZGVyKVxuICpcbiAqICAgIC8vIFdlIGNhbiBwYXNzIGEgaGFzaFxuICogICAgdGV4dGFyZWFcbiAqICAgICAgcGxhY2Vob2xkZXIoKGZvbnQtc3R5bGUgaXRhbGljKSAoZm9udC13ZWlnaHQgYm9sZCkgKHBhZGRpbmcgJzRweCAxMHB4JykpXG4gKi9cbnBsYWNlaG9sZGVyKClcbiAgZm9yIHYgaW4gJzotd2Via2l0LWlucHV0JyAnLW1veicgJzotbW96JyAnLW1zLWlucHV0J1xuICAgICY6e3Z9LXBsYWNlaG9sZGVyXG4gICAgICBmb3IgcGFpciBpbiBhcmd1bWVudHNcbiAgICAgICAgaWYgdHlwZW9mKHBhaXIpID09ICdmdW5jdGlvbidcbiAgICAgICAgICBwYWlyKClcbiAgICAgICAgZWxzZSBpZiBwYWlyIGlzIG5vdCBudWxsICYmIHBhaXJbMF0gaXMgbm90IG51bGxcbiAgICAgICAgICB7cGFpclswXX06IHR5cGUocGFpclsxXSkgPT0gJ3N0cmluZycgPyBzKHBhaXJbMV0pIDogcGFpclsxXVxuaW5wdXQtcGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlclxuXG4vKlxuICogVmVuZG9yIGJhY2tncm91bmQgc3VwcG9ydCAoZ3JhZGllbnRzKS5cbiAqL1xuXG5iYWNrZ3JvdW5kKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2JhY2tncm91bmQnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBiYWNrZ3JvdW5kIGFyZ3VtZW50c1xuXG5iYWNrZ3JvdW5kLWltYWdlKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2JhY2tncm91bmQtaW1hZ2UnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBiYWNrZ3JvdW5kLWltYWdlIGFyZ3VtZW50c1xuXG5jdXJzb3IoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignY3Vyc29yJywgYXJndW1lbnRzLCB2ZW5kb3ItcHJvcGVydHk6IGZhbHNlKVxuICBlbHNlXG4gICAgY3Vyc29yIGFyZ3VtZW50c1xuXG5saXN0LXN0eWxlKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2xpc3Qtc3R5bGUnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBsaXN0LXN0eWxlIGFyZ3VtZW50c1xuXG5saXN0LXN0eWxlLWltYWdlKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2xpc3Qtc3R5bGUtaW1hZ2UnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBsaXN0LXN0eWxlLWltYWdlIGFyZ3VtZW50c1xuIiwiLypcbiAqIE92ZXJmbG93IHV0aWxpdHkuIE1hcHMgdG8gcmVndWxhciBvdmVyZmxvdywgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdmFsdWUuXG4gKlxuICogU3lub3BzaXM6XG4gKlxuICogICBvdmVyZmxvdzogPHR5cGU+XG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogICAgIG92ZXJmbG93OiBhdXRvXG4gKiAgICAgb3ZlcmZsb3c6IGhpZGRlblxuICogICAgIG92ZXJmbG93OiBlbGxpcHNpc1xuICpcbiAqL1xuXG5vdmVyZmxvdygpXG4gIGlmIGFyZ3VtZW50c1swXSA9PSBlbGxpcHNpc1xuICAgIGVsbGlwc2lzKClcbiAgZWxzZVxuICAgIG92ZXJmbG93OiBhcmd1bWVudHNcbiIsIiRyZXNldC11bFxuXHRtYXJnaW4gMFxuXG4kcmVzZXQtdWwtbGlcblx0cGFkZGluZyAwXG5cdG1hcmdpbiAwXG5cdGJhY2tncm91bmQgbm9uZVxuXHRvdmVyZmxvdyB2aXNpYmxlXG5cdGJhY2tncm91bmQtc2l6ZSBhdXRvXG5cdGJhY2tncm91bmQtcG9zaXRpb24gYXV0byBhdXRvXG5cbiRyZXNldC1vbFxuXHRAZXh0ZW5kICRyZXNldC11bFxuXG4kcmVzZXQtb2wtbGlcblx0QGV4dGVuZCAkcmVzZXQtdWwtbGlcblx0cG9zaXRpb24gc3RhdGljXG5cdCY6YmVmb3JlXG5cdFx0Y29udGVudCBub3JtYWxcblx0XHRwb3NpdGlvbiBzdGF0aWNcblx0XHRsZWZ0IGF1dG9cblx0XHR0b3AgYXV0b1xuXG4kZ3JpZFxuXHRmb250LXNpemUgMHB4XG5cdC8vIHRleHQtYWxpZ24ganVzdGlmeVxuXHQvLyB0ZXh0LWp1c3RpZnkgZGlzdHJpYnV0ZS1hbGwtbGluZXNcblx0QG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gMClcblx0XHRsZXR0ZXItc3BhY2luZyAtMXB4XG5cdEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKVxuXHRcdCZcblx0XHRcdGxldHRlci1zcGFjaW5nIC0xcHhcblxuXG4kZ3JpZF9fY2VsbFxuXHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHR2ZXJ0aWNhbC1hbGlnbiB0b3Bcblx0Zm9udC1zaXplICRmb250U2l6ZVxuXHR0ZXh0LWFsaWduIGxlZnRcblx0Ym94LXNpemluZyBib3JkZXItYm94XG5cdGxldHRlci1zcGFjaW5nIG5vcm1hbFxuXHR3aGl0ZS1zcGFjZSBub3JtYWxcblxuJGdyaWQtLXNjcm9sbFxuXHRwb3NpdGlvbiByZWxhdGl2ZVxuXHR3aGl0ZS1zcGFjZSBub3dyYXBcblx0b3ZlcmZsb3cgaGlkZGVuXG5cdG92ZXJmbG93LXggYXV0b1xuXHQuanMgJlxuXHRcdG92ZXJmbG93LXggaGlkZGVuXG5cbmdyaWQoJHNlbGVjdG9yID0gJ2NvbC0tJywgJHNlcGFyYXRvciA9ICctJywgJGNvbHVtbnMgPSAxMiwgJHJ1bGUgPSAnd2lkdGgnLCAkY29lZiA9IDEsICRvdGhlcnMgPSB7fSlcblx0Zm9yICRpIGluIDAuLiRjb2x1bW5zXG5cdFx0eyRzZWxlY3RvciArICRpICsgJHNlcGFyYXRvciArICRjb2x1bW5zfVxuXHRcdFx0eyRydWxlfSB1bml0KDEwMCAvICRjb2x1bW5zICogJGkgKiAkY29lZiwgJyUnKVxuXHRcdFx0eyRvdGhlcnN9XG5cbmlubGluZS1ibG9jaygkYWxpZ24gPSB0b3AsICRpc0Jsb2NrID0gdHJ1ZSlcblx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0dmVydGljYWwtYWxpZ24gJGFsaWduXG5cdGlmICRpc0Jsb2NrICYmIHN1cHBvcnQtZm9yLWllXG5cdFx0LmllNyAmXG5cdFx0XHRkaXNwbGF5IGlubGluZVxuXHRcdFx0em9vbSAxXG5cbmlubGluZS1saXN0KCR3aWR0aCwgJGZvbnRTaXplKVxuXHRmb250LXNpemUgMHB4XG5cdD4gKlxuXHRcdGlubGluZS1ibG9jaygpXG5cdFx0aWYgJHdpZHRoIGlzbnQgZmFsc2Vcblx0XHRcdHdpZHRoICR3aWR0aFxuXHRcdGZvbnQtc2l6ZSAkZm9udFNpemVcblxuaW5saW5lLWxpc3Qtc2Nyb2xsLWV4dGVuZCgpXG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cdHdoaXRlLXNwYWNlIG5vd3JhcFxuXHRvdmVyZmxvdyBoaWRkZW5cblx0b3ZlcmZsb3cteCBhdXRvXG5cdD4gKiA+ICpcblx0XHR3aGl0ZS1zcGFjZSBub3JtYWxcblx0LmpzICZcblx0XHRvdmVyZmxvdy14IGhpZGRlblxuXG5pbmxpbmUtbGlzdC1zY3JvbGwoJHdpZHRoLCAkZm9udClcblx0aW5saW5lLWxpc3QoJHdpZHRoLCAkZm9udClcblx0aW5saW5lLWxpc3Qtc2Nyb2xsLWV4dGVuZCgpXG5cbi8vIENsZWFyb3bDoW7DrSBmbG90xa9cbmNsZWFyZml4KClcblx0em9vbSAxIGlmIHN1cHBvcnQtZm9yLWllXG5cdCY6YWZ0ZXJcblx0JjpiZWZvcmVcblx0XHRjb250ZW50ICcnXG5cdFx0ZGlzcGxheSB0YWJsZVxuXHRcdGNsZWFyIGJvdGhcblxuXG4vLyBTa3J5dMOtIHRleHR1XG50ZXh0LWhpZGUoKVxuXHRmb250IDBweC8wcHggYVxuXHRjb2xvciB0cmFuc3BhcmVudFxuXHR0ZXh0LWRlY29yYXRpb24gbm9uZVxuXG4vLyBSb3ptxJtyeVxuc2l6ZSgkd2lkdGggPSBmYWxzZSwgJGhlaWdodCA9IGZhbHNlKVxuXHRpZiB1bml0KCR3aWR0aCkgaXMgJydcblx0XHQkd2lkdGggPSB1bml0KCR3aWR0aCwgJ3B4JylcblxuXHRpZiAkaGVpZ2h0XG5cdFx0aWYgdW5pdCgkaGVpZ2h0KSBpcyAnJ1xuXHRcdFx0JGhlaWdodCA9IHVuaXQoJGhlaWdodCwgJ3B4Jylcblx0XHR3aWR0aCAkd2lkdGhcblx0XHRoZWlnaHQgJGhlaWdodFxuXHRlbHNlXG5cdFx0d2lkdGggJHdpZHRoXG5cdFx0aGVpZ2h0ICR3aWR0aFxuXG5cbi8vIFBYIGRvIEVNXG5weFRvRW0oJGZyb20sICR0bylcblx0dW5pdCgoJHRvLyRmcm9tKSwgZW0pXG5cbi8vIFZlcnRpa8OhbG7DrSB6YXJvdm7DoW7DrSBvYnNhaHVcbmJveC12ZXJ0aWNhbCgkYWxpZ24gPSBtaWRkbGUpXG5cdCY6YmVmb3JlXG5cdC5iZWZvcmVcblx0XHRjb250ZW50ICcnXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRoZWlnaHQgMTAwJVxuXHRcdG1hcmdpbi1yaWdodCAtMC4yNWVtXG5cdFx0dmVydGljYWwtYWxpZ24gJGFsaWduXG5cbi8vIFDFmWV2w6Fkw60geiBOaWIgYmFzZTY0IGRvIG9icsOhemt1XG50by1pbWFnZSh1cmwsIGJhc2U2NClcblx0J3VybCglcyknICUgZGF0YS10by1pbWFnZSh1bnF1b3RlKHVybCksIGJhc2U2NClcblxuLy8gVnl0dm/FmWVuw60gdHJvasO6aGVsbsOta3UgcG9tb2PDrSBib3JkZXLFr1xudHJpYW5nbGUoZGlyZWN0aW9uID0gJ2Rvd24nLCB3aWR0aCA9IDEwcHgsIGhlaWdodCA9IDEwcHgsIGNvbG9yID0gIzAwMClcblx0d2lkdGggMFxuXHRoZWlnaHQgMFxuXHRib3JkZXItc3R5bGUgc29saWRcblxuXHRkaXJlY3Rpb25zID0ge1xuXHRcdHVwOiB7XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgKHdpZHRoICogLjUpIGhlaWdodCAod2lkdGggKiAuNSksXG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IGNvbG9yIHRyYW5zcGFyZW50XG5cdFx0fSxcblx0XHRkb3duOiB7XG5cdFx0XHRib3JkZXItd2lkdGg6IGhlaWdodCAod2lkdGggKiAuNSkgMCAod2lkdGggKiAuNSksXG5cdFx0XHRib3JkZXItY29sb3I6IGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50XG5cdFx0fSxcblx0XHRsZWZ0OiB7XG5cdFx0XHRib3JkZXItd2lkdGg6IChoZWlnaHQgKiAuNSkgd2lkdGggKGhlaWdodCAqIC41KSAwLFxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCBjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudFxuXHRcdH0sXG5cdFx0cmlnaHQ6IHtcblx0XHRcdGJvcmRlci13aWR0aDogKGhlaWdodCAqIC41KSAwIChoZWlnaHQgKi41KSB3aWR0aCxcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgY29sb3Jcblx0XHR9LFxuXHRcdHVwLWxlZnQ6IHtcblx0XHRcdGJvcmRlci13aWR0aDogaGVpZ2h0IHdpZHRoIDAgMCxcblx0XHRcdGJvcmRlci1jb2xvcjogY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnRcblx0XHR9LFxuXHRcdGRvd24tbGVmdDoge1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiB3aWR0aCAwIDAgaGVpZ2h0LFxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBjb2xvclxuXHRcdH0sXG5cdFx0dXAtcmlnaHQ6IHtcblx0XHRcdGJvcmRlci13aWR0aDogMCB3aWR0aCBoZWlnaHQgMCxcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnRcblx0XHR9LFxuXHRcdGRvd24tcmlnaHQ6IHtcblx0XHRcdGJvcmRlci13aWR0aDogMCAwIGhlaWdodCB3aWR0aCxcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgY29sb3IgdHJhbnNwYXJlbnRcblx0XHR9XG5cdH1cblxuXHRzdHlsZXMgPSBkaXJlY3Rpb25zW2RpcmVjdGlvbl1cblx0e3N0eWxlc31cbiIsIi8qIVxuICogVHlwb1xuICovXG5ib2R5XG5cdGZvbnQgbm9ybWFsICRmb250U2l6ZS8kbGluZUhlaWdodCAkZm9udFxuXHRjb2xvciAjMDAwXG5cdGxldHRlci1zcGFjaW5nIC4wNGVtXG5cbi8qIFRpdGxlcyovXG5oMVxuLmgxXG5oMlxuLmgyXG5oM1xuLmgzXG5oNFxuLmg0XG5oNVxuLmg1XG5oNlxuLmg2XG5cdG1hcmdpbiAxZW0gMCAuNWVtXG5cdGZvbnQtZmFtaWx5ICRmb250VGl0bGVzXG5cdGZvbnQtd2VpZ2h0IG5vcm1hbFxuXHRsaW5lLWhlaWdodCAxLjJcblx0Zm9udC1zdHlsZSBpdGFsaWNcblx0c3Ryb25nXG5cdFx0Zm9udC13ZWlnaHQgNzAwXG5cdFx0Zm9udC1zdHlsZSBub3JtYWxcblx0XHRcblx0LndmLWxvYWRpbmcgJlxuXHRcdHZpc2liaWxpdHkgaGlkZGVuXG5cdC53Zi1hY3RpdmUgJlxuXHQud2YtaW5hY3RpdmUgJlxuXHRcdHZpc2liaWxpdHkgdmlzaWJsZVxuXG5oMVxuLmgxXG5cdGZvbnQtc2l6ZSAzMnB4XG5cdGxldHRlci1zcGFjaW5nIC0wLjAyZW1cblx0QG1lZGlhKG1pbi13aWR0aCAkdGFibGV0KVxuXHRcdGZvbnQtc2l6ZSA3NXB4XG5cdFx0bGluZS1oZWlnaHQgNzJweFxuaDJcbi5oMlxuXHRtYXJnaW4tYm90dG9tIC43NWVtXG5cdGZvbnQtc2l6ZSAyNXB4XG5cdGxpbmUtaGVpZ2h0ICgzMi8yNSlcblx0bGV0dGVyLXNwYWNpbmcgMC4wMmVtXG5cdEBtZWRpYShtaW4td2lkdGggJHRhYmxldClcblx0XHRmb250LXNpemUgMzdweFxuXHRcdGxpbmUtaGVpZ2h0ICg0NC8zNylcbmgzXG4uaDNcblx0Zm9udC1zaXplIDMwcHhcblx0bGluZS1oZWlnaHQgKDM0LzMwKVxuaDRcbi5oNFxuXHRmb250LXNpemUgMTlweFxuXHRsaW5lLWhlaWdodCAoMjgvMTkpXG5cdEBtZWRpYShtaW4td2lkdGggJHRhYmxldClcblx0XHRmb250LXNpemUgMjRweFxuXHRcdGxpbmUtaGVpZ2h0ICgyOC8yNClcblxuaDVcbi5oNVxuaDZcbi5oNlxuXHRmb250LXNpemUgMTVweFxuXG4uYWx0ZXJuYXRlXG5cdGZvbnQtZmFtaWx5ICRmb250XG5cdGZvbnQtd2VpZ2h0IDYwMFxuXHRmb250LXN0eWxlIG5vcm1hbFxuXHRsZXR0ZXItc3BhY2luZyAuMDRlbVxuXG4uc2VjdGlvbi1oZWFkbGluZVxuXHRwb3NpdGlvbiByZWxhdGl2ZVxuXHRtYXJnaW4gMCAwIDE3cHhcblx0b3ZlcmZsb3cgaGlkZGVuXG5cdGZvbnQtZmFtaWx5ICRmb250VGl0bGVzXG5cdGZvbnQtc2l6ZSAxNnB4XG5cdGxpbmUtaGVpZ2h0IDEuMlxuXHRmb250LXdlaWdodCA0MDBcblx0Zm9udC1zdHlsZSBpdGFsaWNcblx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG5cdHRleHQtYWxpZ24gY2VudGVyXG5cdGxldHRlci1zcGFjaW5nIDAuMTZlbVxuXG4vKiBQYXJhZ3JhcGggKi9cbnBcblx0bWFyZ2luIDAgMCAxLjI1ZW1cblx0LndmLWxvYWRpbmcgJlxuXHRcdHZpc2liaWxpdHkgaGlkZGVuXG5cdC53Zi1hY3RpdmUgJlxuXHQud2YtaW5hY3RpdmUgJlxuXHRcdHZpc2liaWxpdHkgdmlzaWJsZVxuaHJcblx0Ym9yZGVyIG5vbmVcblx0Ym9yZGVyLXRvcCAxcHggc29saWQgJGJvcmRlclxuXHRtYXJnaW4gMzBweCAwIDQwcHhcblx0aGVpZ2h0IDFweFxuXHRvdmVyZmxvdyBoaWRkZW5cblx0QG1lZGlhKG1pbi13aWR0aCAkdGFibGV0KVxuXHRcdG1hcmdpbiA0MHB4IDAgNTBweFxuXG4vKiBCbG9ja3F1b3RlICovXG5ibG9ja3F1b3RlXG5cdG1hcmdpbiAwIDAgMS4yNWVtXG5cdHBhZGRpbmcgMFxuXHRsZXR0ZXItc3BhY2luZyAwLjA0ZW1cblx0cFxuXHRcdG1hcmdpbi1ib3R0b20gMWVtXG5cdFx0Zm9udC1mYW1pbHkgJGZvbnRUaXRsZXNcblx0XHRmb250LXN0eWxlIGl0YWxpY1xuXHRcdGZvbnQtc2l6ZSAxOHB4XG5cdFx0bGluZS1oZWlnaHQgKDI5LzIyKVxuXHRjaXRlXG5cdFx0Zm9udC1zaXplIDE0cHhcblx0XHRmb250LXdlaWdodCA2MDBcblx0XHRmb250LXN0eWxlIG5vcm1hbFxuXG5cdEBtZWRpYShtaW4td2lkdGggJHRhYmxldClcblx0XHRwXG5cdFx0XHRmb250LXNpemUgMjJweFxuXHRcdGNpdGVcblx0XHRcdGZvbnQtc2l6ZSAxNXB4XG5cbi8qIExpbmtzICovXG5hXG5cdGNvbG9yICRjb2xvckxpbmtcblx0dGFwLWhpZ2hsaWdodC1jb2xvciByZ2JhKDAsMCwwLDApXG5cdHRleHQtZGVjb3JhdGlvbiB1bmRlcmxpbmVcblx0dHJhbnNpdGlvbiBjb2xvciAuMnMsIGJvcmRlci1jb2xvciAuMnMsIGJhY2tncm91bmQgLjJzXG5cdCY6aG92ZXJcblx0Jjpmb2N1c1xuXHRcdGNvbG9yICRjb2xvckhvdmVyXG5cdFxuXHQud2YtbG9hZGluZyAmXG5cdFx0dmlzaWJpbGl0eSBoaWRkZW5cblx0LndmLWFjdGl2ZSAmXG5cdC53Zi1pbmFjdGl2ZSAmXG5cdFx0dmlzaWJpbGl0eSB2aXNpYmxlXG5cblxuLyogTGlzdHMgKi9cbnVsXG5vbFxuXHRtYXJnaW4gMCAwIDEuMjVlbVxuXHRsaXN0LXN0eWxlIG5vbmVcblx0cGFkZGluZyAwXG5saVxuXHRib3gtc2l6aW5nIGJvcmRlci1ib3hcblx0cGFkZGluZyAwIDAgMCAxNnB4XG5cdG1hcmdpbiAwIDAgLjI1ZW1cblx0LndmLWxvYWRpbmcgJlxuXHRcdHZpc2liaWxpdHkgaGlkZGVuXG5cdC53Zi1hY3RpdmUgJlxuXHQud2YtaW5hY3RpdmUgJlxuXHRcdHZpc2liaWxpdHkgdmlzaWJsZVxuXHRvbFxuXHR1bFxuXHRcdG1hcmdpbiAuMjVlbSAwIDBcbnVsXG5cdGxpXG5cdFx0YmFja2dyb3VuZCB1cmwoJGltZysnYmcvbGkucG5nJykgMCAuNWVtIG5vLXJlcGVhdFxuXHRcdGJhY2tncm91bmQtc2l6ZSA1cHggMTBweFxub2xcblx0Y291bnRlci1yZXNldCBpdGVtXG5cdGxpXG5cdFx0YmFja2dyb3VuZCBub25lXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcblx0XHQmOmJlZm9yZVxuXHRcdFx0Y29udGVudCBjb3VudGVyKGl0ZW0pXCIuXCJcblx0XHRcdGNvdW50ZXItaW5jcmVtZW50IGl0ZW1cblx0XHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0XHRsZWZ0IDBcblx0XHRcdHRvcCAwXG5cdFx0XHRmb250LXdlaWdodCBib2xkXG5cdFx0XHR0ZXh0LWFsaWduIGxlZnRcblxuLnVsLWNoZWNrIGxpXG5saS5saS1jaGVja1xuXHRwYWRkaW5nLWxlZnQgMjVweFxuXHRiYWNrZ3JvdW5kLWltYWdlIHVybCgkaW1nJ2JnL2xpLWNoZWNrLnBuZycpXG5cdGJhY2tncm91bmQtc2l6ZSAxNHB4IDlweFxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uIDAgLjU1ZW1cblxuLnVsLXRhbGwgbGlcblx0bWFyZ2luLWJvdHRvbSAuOGVtXG5cbi51bC1kaXNhYmxlIGFcblx0Y29sb3IgJGxpZ2h0XG5cdHRleHQtZGVjb3JhdGlvbiBub25lXG5cdCY6aG92ZXJcblx0XHRjb2xvciAkZGFya1x0XG5cbkBtZWRpYShtaW4td2lkdGggJHRhYmxldClcblx0LnVsLWhhbHZlc1xuXHRcdGNvbHVtbi1jb3VudCAyXG5cdFx0Y29sdW1uLWdhcCAyMHB4XG5cdFx0PiBsaVxuXHRcdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRcdHZlcnRpY2FsLWFsaWduIHRvcFxuXHRcdFx0d2lkdGggMTAwJVx0XHRcdFxuXHQudWwtdGhpcmRzXG5cdFx0Y29sdW1uLWNvdW50IDNcblx0XHRjb2x1bW4tZ2FwIDQwcHhcblx0XHQ+IGxpXG5cdFx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRcdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cdFx0XHR3aWR0aCAxMDAlXG5cblxuZGxcblx0bWFyZ2luIDAgMCAxLjI1ZW1cbmR0XG5cdGZvbnQtd2VpZ2h0IGJvbGRcblx0bWFyZ2luIDBcbmRkXG5cdG1hcmdpbiAwIDAgLjc1ZW1cblx0cGFkZGluZyAwXG5cbi8qIFRhYmxlcyAqL1xudGFibGVcblx0Y2xlYXIgYm90aFxuXHRtYXJnaW4gMCAwIDEuMjVlbVxuXHRlbXB0eS1jZWxscyBzaG93XG5cdGJvcmRlci1jb2xsYXBzZSBjb2xsYXBzZVxuXHRib3JkZXIgMXB4IHNvbGlkICNkZGRcblxuY2FwdGlvblxuXHRmb250LXdlaWdodCBib2xkXG5cdHRleHQtYWxpZ24gbGVmdFxuXHRwYWRkaW5nIDBweCAwcHggMTBweFxuXHRjYXB0aW9uLXNpZGUgdG9wXG50ZFxudGhcblx0dmVydGljYWwtYWxpZ24gdG9wXG5cdHBhZGRpbmcgN3B4IDE1cHhcblx0Ym9yZGVyIDFweCBzb2xpZCAjZGRkXG50aFxuXHRmb250LXdlaWdodCBib2xkXG50aGVhZCB0aFxuXHRiYWNrZ3JvdW5kICNlZWVcblxuLyogSW1hZ2VzICovXG5pbWcubFxuXHRtYXJnaW4gLjI1ZW0gMjBweCAyMHB4IDBcbmltZy5yXG5cdG1hcmdpbiAuMjVlbSAwIDIwcHggMjBweFxuIiwiLyohXG4gKlx0U2ltcGx5IGZhc3QgY2xhc3NcbiAqL1xuLnJlc2V0XG5cdGJvcmRlciBub25lXG5cdG1hcmdpbiAwXG5cdHBhZGRpbmcgMFxuXHRiYWNrZ3JvdW5kIG5vbmVcblx0Ym94LXNoYWRvdyBub25lXG5cdHRkXG5cdHRoXG5cdFx0Ym9yZGVyIG5vbmVcblx0XHRiYWNrZ3JvdW5kIG5vbmVcblx0XHRwYWRkaW5nIDBcblx0PiBsaVxuXHQ+IGR0XG5cdD4gZGRcblx0XHRtYXJnaW4gMFxuXHRcdHBhZGRpbmcgMFxuXHRcdGJhY2tncm91bmQgbm9uZVxuXHRcdGJvcmRlciBub25lXG5cdFx0ZmxvYXQgbm9uZVxuXHRcdHdpZHRoIGF1dG9cblxuLy8gZmxvYXRcbi5sXG5cdGZsb2F0IGxlZnRcbi5yXG5cdGZsb2F0IHJpZ2h0XG5cbi8vIGNsZWFyXG4uY2Jcblx0Y2xlYXIgYm90aFxuLmNsXG5cdGNsZWFyIGxlZnRcbi5jclxuXHRjbGVhciByaWdodFxuLmNmeFxuXHR6b29tIDFcblx0JjphZnRlclxuXHQmOmJlZm9yZVxuXHRcdGNvbnRlbnQgJydcblx0XHRkaXNwbGF5IHRhYmxlXG5cdFx0Y2xlYXIgYm90aFxuLmJyZWFrXG5cdGhlaWdodCAxcHhcblx0Zm9udC1zaXplIDFweFxuXHRsaW5lLWhlaWdodCAxcHhcblx0Y2xlYXIgYm90aFxuXHRvdmVyZmxvdyBoaWRkZW5cblx0dmlzaWJpbGl0eSBoaWRkZW5cblx0ZGlzcGxheSBibG9ja1xuXHRtYXJnaW4gMCAhaW1wb3J0YW50XG5cdHBhZGRpbmcgMCAhaW1wb3J0YW50XG5cdHdpZHRoIDEwMCVcbi5jdHhcblx0em9vbSAxXG5cdGRpc3BsYXkgdGFibGUtY2VsbFxuXHQuaWU3ICZcblx0XHRkaXNwbGF5IGJsb2NrXG5cdCY6YWZ0ZXJcblx0XHRjbGVhciBib3RoXG5cdFx0ZGlzcGxheSBibG9ja1xuXHRcdHZpc2liaWxpdHkgaGlkZGVuXG5cdFx0b3ZlcmZsb3cgaGlkZGVuXG5cdFx0aGVpZ2h0IDBweCAhaW1wb3J0YW50XG5cdFx0bGluZS1oZWlnaHQgMHB4XG5cdFx0Zm9udC1zaXplIHh4LWxhcmdlXG5cdFx0Y29udGVudCBcIiB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IFwiXG5cbi8vIGhpZGVcbi5oaWRlXG4uanMgLmpzSGlkZVxuXHRkaXNwbGF5IG5vbmVcbi5vdXRcbi5qcyAuanNPdXRcblx0cG9zaXRpb24gYWJzb2x1dGVcblx0bGVmdCAtNTAwMHB4XG5cdHRvcCAtNTAwMHB4XG4udmhpZGVcblx0cG9zaXRpb24gYWJzb2x1dGVcblx0aGVpZ2h0IDFweFxuXHR3aWR0aCAxcHhcblx0b3ZlcmZsb3cgaGlkZGVuXG5cdGJvcmRlciAwXG5cdGNsaXAgcmVjdCgwIDAgMCAwKVxuXHRtYXJnaW4gLTFweFxuXHRwYWRkaW5nIDBcblxuLy8gYWxpZ25cbi5sZWZ0XG5cdHRleHQtYWxpZ24gbGVmdFxuLnJpZ2h0XG5cdHRleHQtYWxpZ24gcmlnaHRcbi5jZW50ZXJcblx0dGV4dC1hbGlnbiBjZW50ZXJcblxuLy8gdHJhbnNmb3JtXG4ubG93ZXJcblx0dGV4dC10cmFuc2Zvcm0gbG93ZXJjYXNlXG4udXBwZXJcblx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG4ubm8tdXBwZXJcblx0dGV4dC10cmFuc2Zvcm0gbm9uZVxuXG4vLyB3ZWlnaHRcbi5ib2xkXG5cdGZvbnQtd2VpZ2h0IGJvbGRcbi50aGluXG5cdGZvbnQtd2VpZ2h0IG5vcm1hbFxuXG4vLyBzdHlsZVxuLml0YWxpY1xuXHRmb250LXN0eWxlIGl0YWxpY1xuLm5vcm1hbFxuXHRmb250LXN0eWxlIG5vcm1hbFxuXG4vLyB2YWxpZ25cbi50b3Bcblx0dmVydGljYWwtYWxpZ24gdG9wXG4ubWlkZGxlXG5cdHZlcnRpY2FsLWFsaWduIG1pZGRsZVxuXG4vLyBzaXplXG4uYmlnXG5cdGZvbnQtc2l6ZSAxN3B4XG4uYmlnZ2VyXG5cdGZvbnQtc2l6ZSAyMHB4XG4uc21hbGxcblx0Zm9udC1zaXplIDE1cHhcblxuLy8gY29sb3Jcbi5lcnJvclxuLnJlZFxuXHRjb2xvciAjY2MwMDAwIC8vICRyZWRcbi5ncmVlblxuXHRjb2xvciAjNjc4NzEzIC8vICRncmVlblxuLmdyZXlcblx0Y29sb3IgIzk5OSAvLyAkZ3JleVxuLnBpbmtcblx0Y29sb3IgJHBpbmtcblxuLy8gbm93cmFwXG4ubm93cmFwXG5cdHdoaXRlLXNwYWNlIG5vd3JhcFxuXG5cbi8vIENMQVNTRVNcbi51LXB1bGxcblx0QG1lZGlhKG1pbi13aWR0aCAkZGVza3RvcFhMKVxuXHRcdG1hcmdpbi1sZWZ0IC0zMHB4XG5cdFx0bWFyZ2luLXJpZ2h0IC0zMHB4XG5cbi51LXB1bGwtMjBcblx0QG1lZGlhKG1pbi13aWR0aCAkZGVza3RvcFhMKVxuXHRcdG1hcmdpbi1sZWZ0IC0yMHB4XG5cdFx0bWFyZ2luLXJpZ2h0IC0yMHB4XG5cbi51LWZ1bGxcblx0bWFyZ2luLWxlZnQgY2FsYygtNTB2dyArIDUwJSlcblx0bWFyZ2luLXJpZ2h0IGNhbGMoLTUwdncgKyA1MCUpXG5cblx0QG1lZGlhKG1pbi13aWR0aCAxOTIwcHgpXG5cdFx0bWFyZ2luLWxlZnQgY2FsYygtMTkyMHB4IC8gMiArIDUwJSlcblx0XHRtYXJnaW4tcmlnaHQgY2FsYygtMTkyMHB4IC8gMiArIDUwJSlcblxuLnUtbGlua1xuXHRmb250LXdlaWdodCA2MDBcblx0dGV4dC1kZWNvcmF0aW9uIG5vbmVcblx0Jjpob3ZlclxuXHQmOmZvY3VzXG5cdFx0dGV4dC1kZWNvcmF0aW9uIHVuZGVybGluZVxuXG4udS1hbHBoYWJldFxuXHRib3gtc2l6aW5nIGJvcmRlci1ib3hcblx0c2l6ZSA1MFxuXHRtYXJnaW4gMCAwIC44MTI1ZW1cblx0Ym9yZGVyIDFweCBzb2xpZCAkYm9yZGVyXG5cdGZvbnQtZmFtaWx5ICRmb250VGl0bGVzXG5cdGZvbnQtc3R5bGUgaXRhbGljXG5cdGZvbnQtd2VpZ2h0IDQwMFxuXHRmb250LXNpemUgMzJweFxuXHRsaW5lLWhlaWdodCA0OHB4XG5cdHRleHQtYWxpZ24gY2VudGVyXG5cbi51LXRvLXRvcFxuXHR0ZXh0LWhpZGUoKVxuXHRwb3NpdGlvbiBmaXhlZFxuXHR6LWluZGV4IDk5OFxuXHRib3R0b20gMjBweFxuXHRyaWdodCAwXG5cdHNpemUgNTBcblx0YmFja2dyb3VuZCAjZmZmXG5cdGJveC1zaGFkb3cgMCAwIDNweCByZ2JhKCMwMDAsIC4zNSlcblx0dHJhbnNmb3JtIHRyYW5zbGF0ZVkoNzNweClcblx0dHJhbnNpdGlvbiB0cmFuc2Zvcm0gLjJzXG5cdCYuaXMtdmlzaWJsZVxuXHRcdHRyYW5zZm9ybSB0cmFuc2xhdGVZKDApXG5cdC5pY29uXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcblx0XHR0b3AgNTAlXG5cdFx0bGVmdCA1MCVcblx0XHR0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsIC01MCUpXG5cdFx0ZmlsbCAkY29sb3JMaW5rXG5cblx0QG1lZGlhKG1pbi13aWR0aCAkdGFibGV0KVxuXHRcdGRpc3BsYXkgbm9uZVxuXG4udS1pbWctc2hhZG93XG5cdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdHZlcnRpY2FsLWFsaWduIG1pZGRsZVxuXHRwb3NpdGlvbiByZWxhdGl2ZVxuXHRtYXgtd2lkdGggMTAwJVxuXHRpbWdcblx0XHRtYXgtd2lkdGggMTAwJVxuXHRcdGhlaWdodCBhdXRvXG5cdCY6YmVmb3JlXG5cdFx0Y29udGVudCAnJ1xuXHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0dG9wIDBcblx0XHRsZWZ0IDBcblx0XHR3aWR0aCAxMDAlXG5cdFx0aGVpZ2h0IDEwMCVcblx0XHRib3gtc2hhZG93IGluc2V0IDAgMCA1NXB4IHJnYmEoIzAwMCwgLjEpXG4udS1pbWctcm91bmRcblx0Ym9yZGVyLXJhZGl1cyA1MCVcblx0JjpiZWZvcmVcblx0XHRib3JkZXItcmFkaXVzIDUwJVxuXHRpbWdcblx0XHRib3JkZXItcmFkaXVzIDUwJVxuXG4udS1pbWctYm9yZGVyXG5cdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdHZlcnRpY2FsLWFsaWduIHRvcFxuXHRtYXgtd2lkdGggMTAwJVxuXHRwYWRkaW5nIDEwcHggMTBweCAyMHB4IDEwcHhcblx0Ym94LXNoYWRvdyAwIDAgM3B4IHJnYmEoIzAwMCwgLjIpLCAwIDJweCAzcHggcmdiYSgjMDAwLCAuMSlcblx0dGV4dC1hbGlnbiBjZW50ZXJcblx0QG1lZGlhKG1pbi13aWR0aCAkdGFibGV0KVxuXHRcdHBhZGRpbmcgMTVweCAxNXB4IDQwcHggMTVweFxuXG4udS11bmRlcmxpbmVkXG5cdHRleHQtZGVjb3JhdGlvbiB1bmRlcmxpbmUgIWltcG9ydGFudFxuXG4udGFibGUtcmVzcG9uc2l2ZVxuXHR3aWR0aCAxMDAlXG5cdG1pbi1oZWlnaHQgLjAxJVxuXHRvdmVyZmxvdy14IGF1dG9cbiIsIi8qXG4gKiBIZWxwZXIgZm9yIGJvcmRlci1yYWRpdXMoKS5cbiAqL1xuXG4tYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG4gIGlmIGxlbmd0aChwb3MpID09IDNcbiAgICAvLyBib3JkZXItcmFkaXVzOiA8dG9wIHwgYm90dG9tPiA8bGVmdCB8IHJpZ2h0PiA8bj5cbiAgICB5ID0gcG9zWzBdXG4gICAgeCA9IHBvc1sxXVxuICAgIC8vIFdlIGRvbid0IHVzZSB2ZW5kb3IgZm9yIGJvZGVyLXJhZGl1cyBhbnltb3JlXG4gICAgLy8gdmVuZG9yKCdib3JkZXItcmFkaXVzLSVzJXMnICUgcG9zLCBwb3NbMl0sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcbiAgICB7J2JvcmRlci0lcy0lcy1yYWRpdXMnICUgcG9zfTogcG9zWzJdIGltcG9ydGFuY2VcbiAgZWxzZSBpZiBwb3NbMF0gaW4gKHRvcCBib3R0b20pXG4gICAgLy8gYm9yZGVyLXJhZGl1czogPHRvcCB8IGJvdHRvbT4gPG4+XG4gICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zWzBdIGxlZnQgcG9zWzFdLCBpbXBvcnRhbmNlKVxuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvc1swXSByaWdodCBwb3NbMV0sIGltcG9ydGFuY2UpXG4gIGVsc2UgaWYgcG9zWzBdIGluIChsZWZ0IHJpZ2h0KVxuICAgIC8vIGJvcmRlci1yYWRpdXM6IDxsZWZ0IHwgcmlnaHQ+IDxuPlxuICAgIHVuc2hpZnQocG9zLCB0b3ApO1xuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvcywgaW1wb3J0YW5jZSlcbiAgICBwb3NbMF0gPSBib3R0b21cbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG5cbi8qXG4gKiBib3JkZXItcmFkaXVzIHN1cHBvcnRpbmcgYXVnbWVudGVkIGJlaGF2aW9yLlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgIGJvcmRlci1yYWRpdXM6IDJweCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCA1cHggYm90dG9tIDEwcHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IGxlZnQgNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgbGVmdCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCBsZWZ0IDEwcHggYm90dG9tIHJpZ2h0IDVweFxuICogICAgYm9yZGVyLXJhZGl1czogdG9wIGxlZnQgMTBweCwgYm90dG9tIHJpZ2h0IDVweFxuICpcbiAqL1xuXG5ib3JkZXItcmFkaXVzKClcbiAgcG9zID0gKClcbiAgYXVnbWVudGVkID0gZmFsc2VcbiAgaW1wb3J0YW5jZSA9IGFyZ3VtZW50c1tsZW5ndGgoYXJndW1lbnRzKSAtIDFdID09ICFpbXBvcnRhbnQgPyAhaW1wb3J0YW50IDogdW5xdW90ZSgnJylcblxuICBmb3IgYXJncyBpbiBhcmd1bWVudHNcbiAgICBmb3IgYXJnIGluIGFyZ3NcbiAgICAgIGlmIGFyZyBpcyBhICdpZGVudCdcbiAgICAgICAgYXBwZW5kKHBvcywgYXJnKVxuICAgICAgICBhdWdtZW50ZWQgPSB0cnVlXG4gICAgICBlbHNlXG4gICAgICAgIGFwcGVuZChwb3MsIGFyZylcbiAgICAgICAgaWYgYXVnbWVudGVkXG4gICAgICAgICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuICAgICAgICAgIHBvcyA9ICgpXG4gIGJvcmRlci1yYWRpdXMgcG9zIHVubGVzcyBhdWdtZW50ZWRcbiIsImgxXG5oMlxuaDNcbmg0XG5oNVxuaDZcblx0Zm9udC1mYW1pbHkgJGZvbnRcblx0Zm9udC13ZWlnaHQgYm9sZFxuXHRsaW5lLWhlaWdodCAxLjJcblx0Zm9udC1zdHlsZSBub3JtYWxcblx0Ji5jZW50ZXJcblx0XHR0ZXh0LWFsaWduIGxlZnRcbmgxXG5cdGZvbnQtc2l6ZSAyMnB0XG5cdG1hcmdpbiAwIDAgLjVjbVxuaDJcblx0Zm9udC1zaXplIDE4cHRcblx0bWFyZ2luIC43NWNtIDAgLjJjbVxuaDNcblx0Zm9udC1zaXplIDE0cHRcblx0bWFyZ2luIC41Y20gMCAuMTVjbVxuaDRcbmg1XG5oNlxuXHRmb250LXNpemUgMTJwdFxuXHRtYXJnaW4gMWNtIDAgLjVjbVxuXG5ibG9ja3F1b3RlXG5cdHBhZGRpbmctbGVmdCAwXG5cdHBhZGRpbmctcmlnaHQgMFxuXHRtYXJnaW4gLjVjbSAwXG5cbnRhYmxlXG5cdG1hcmdpbiAxNXB4IDFwdCAzNXB4XG5cdHRleHQtYWxpZ24gbGVmdFxuXHRib3JkZXItY29sbGFwc2UgY29sbGFwc2Vcblx0d2lkdGggOTglICFpbXBvcnRhbnRcblx0Zm9udC1zaXplIDhwdFxudHJcblx0cGFnZS1icmVhay1pbnNpZGUgYXZvaWRcbnRoXG50ZFxuXHRib3JkZXIgMXB0IHNvbGlkICMwMDBcblx0cGFkZGluZyA0cHggMTBweCA0cHggMTBweFxudGhcblx0Zm9udC13ZWlnaHQgYm9sZFxuIiwiLm1lbnUtbWFpblxuLm0tYWNjZXNzaWJpbGl0eVxuLm1lbnUtYnJlYWRjcnVtYlxuLm1lbnUtdG9wXG4ubWVudS1tb2JpbGVcbi5tZW51LXNpZGVcbi5tZW51LWxhbmdcbi5tZW51LXNlY29uZGFyeVxuLm1lbnUtc2Vjb25kYXJ5X19vcGVuXG5mb3JtXG4udGFiLW5hdlxuLmJ0blxuLmJ1dHRvblxuLm1vcmVcbi5wYWdpbmdcbi5wYWdlclxuLnByZXZcbi5uZXh0XG4udS10by10b3Bcbi5mb290ZXItY29weV9fclxuLmJveC1oZXJvX19zY3JvbGxcbi5ib3gtaGVyb19fc2NyaWJibGVcbi5ib3gtaGVyb19fcGxheVxuLmJveC1wYXR0ZXJuLS1mdWxsXG4ubWVudS1jb250ZXh0XG4ubWVudS1jb250ZXh0LWZpeGVkXG4uYm94LWZhcSAuaWNvblxuLm1lbnUtaW50cm9cblx0ZGlzcGxheSBub25lXG4iLCIuaGVhZGVyXG5cdGJvcmRlci1ib3R0b20gMnB0IHNvbGlkICMwMDBcblx0cGFkZGluZyAwIDAgMjBwdFxuXHRtYXJnaW4gMCBhdXRvIDIwcHRcblx0JjphZnRlclxuXHRcdGNvbnRlbnQgJydcblx0XHRkaXNwbGF5IHRhYmxlXG5cdFx0Y2xlYXIgYm90aFxuXHQmX19jb250YWN0XG5cdFx0ZmxvYXQgcmlnaHRcblx0XHR0ZXh0LWFsaWduIGNlbnRlclxuXHRcdG1hcmdpbi10b3AgMjBweFxuXHRcdGxpbmUtaGVpZ2h0IDEuMlxuXHRcdG1hcmdpbi1ib3R0b20gMFxuXHRcdGFcblx0XHRcdGZvbnQtc2l6ZSAzMHB4XG5cdFx0XHRmb250LXdlaWdodCA3MDBcbi5sb2dvXG5cdGZvbnQtc2l6ZSAxMDAlXG5cdGxpbmUtaGVpZ2h0IDFcblx0bWFyZ2luIDBcblx0cGFkZGluZyAwXG5cdGZvbnQtd2VpZ2h0IG5vcm1hbFxuXHRmbG9hdCBsZWZ0XG5cblx0aW1nXG5cdFx0Ym9yZGVyIG5vbmVcblx0c3ZnXG5cdFx0c2l6ZSAxNTggNzFcblxuLmZvb3RlclxuXHRib3JkZXItdG9wIDJwdCBzb2xpZCAjMDAwXG5cdHBhZGRpbmcgMjBwdCAwIDBcblx0bWFyZ2luIDIwcHQgMCAwXG4iLCJAaW1wb3J0ICdfYmFzZS9pbmRleCdcbkBpbXBvcnQgJ3ByaW50L2luZGV4J1xuQGltcG9ydCAnX2NvcmUvaWNvbnMnXG5ib2R5XG5cdHdpZHRoIDEwMCUgIWltcG9ydGFudFxuXHRmb250LWZhbWlseSBhcmlhbCxWZXJkYW5hLHNhbnMtc2VyaWZcblx0Y29sb3IgIzAwMFxuXHRiYWNrZ3JvdW5kIG5vbmVcblx0Zm9udC1zaXplIDhwdFxuXHRsaW5lLWhlaWdodCAxMnB0XG4uc21hbGxcblx0Zm9udC1zaXplIDhwdFxuLmJpZ1xuLmJpZ2dlclxuXHRmb250LXNpemUgOXB0XG4ucmVzZXRcblx0Ym9yZGVyIG5vbmVcblx0bWFyZ2luIDBcblx0cGFkZGluZyAwXG5cdGJhY2tncm91bmQgbm9uZVxuXHR0ZFxuXHR0aFxuXHRcdGJvcmRlciBub25lXG5cdFx0YmFja2dyb3VuZCBub25lXG5cdFx0cGFkZGluZyAwXG5cdD4gbGlcblx0PiBkdFxuXHQ+IGRkXG5cdFx0bWFyZ2luIDBcblx0XHRwYWRkaW5nIDBcblx0XHRiYWNrZ3JvdW5kIG5vbmVcblx0XHRib3JkZXIgbm9uZVxuXHRcdGZvbnQtd2VpZ2h0IGluaGVyaXRcblx0XHRmbG9hdCBub25lXG5cdFx0ZGlzcGxheSBpbmhlcml0XG5cdFx0dGV4dC1hbGlnbiBpbmhlcml0XG5cdFx0d2lkdGggYXV0b1xuXG5maWVsZHNldFxuXHRib3JkZXIgbm9uZVxuXHRwYWRkaW5nIDBcblx0bWFyZ2luIDBcblxucFxudWxcbnRhYmxlXG5cdG1hcmdpbiAwIDAgLjRjbVxuYVxuXHRjb2xvciAjMDAwXG5cdHRleHQtZGVjb3JhdGlvbiBub25lXG5cbmltZ1xuXHRib3JkZXIgbm9uZVxuXHRtYXgtd2lkdGggMTAwJVxuXHRoZWlnaHQgYXV0byAhaW1wb3J0YW50XG5pbWcubGVmdFxuaW1nLmxcbmltZy5yaWdodFxuaW1nLnJcblx0bWFyZ2luIDRweCAwIDMwcHggMjlweFxuXHRmbG9hdCByaWdodFxuXHRkaXNwbGF5IGlubGluZVxuXHRiYWNrZ3JvdW5kICNmZmZcbmltZy5sZWZ0XG5pbWcubFxuXHRmbG9hdCBsZWZ0XG5cdG1hcmdpbiA0cHggMjlweCAzMHB4IDBcblxuLmdyaWRcblx0QGV4dGVuZCAkZ3JpZFxuXHRtYXJnaW4tbGVmdCAtMzBweFxuXHR1bCZcblx0XHRAZXh0ZW5kICRyZXNldC1vbFxuXHQmX19jZWxsXG5cdFx0QGV4dGVuZCAkZ3JpZF9fY2VsbFxuLmdyaWRfX2NlbGxcblx0Zm9udC1zaXplIDhwdFxuXHRib3JkZXItbGVmdCAzMHB4IHNvbGlkIHRyYW5zcGFyZW50XG5cbmdyaWQoJy5zaXplLS0nLCAnLScsIDEyLCAnd2lkdGgnKVxuZ3JpZCgnLnB1c2gtLScsICctJywgMTIsICdsZWZ0JylcbmdyaWQoJy5wdWxsLS0nLCAnLScsIDEyLCAnbGVmdCcsIC0xKVxuXG4uZm9vdGVyXG5cdC5ncmlkX19jZWxsXG5cdFx0ZmxvYXQgbGVmdFxuXHRcdHdpZHRoIDI1JVxuXHQuYm94LXN0ZF9faGVhZGVyXG5cdFx0Zm9udC13ZWlnaHQgNzAwXG5cdFx0Zm9udC1zaXplIDEyMCVcblx0XHRtYXJnaW4tYm90dG9tIC41ZW1cblx0LmJveC1zdGRfX2NlbnRlclxuXHRcdGxpbmUtaGVpZ2h0IDEuNjI1ICFpbXBvcnRhbnRcblxuLmNyb3Nzcm9hZC1pdGVtc1xuXHRtYXJnaW4tbGVmdCAtMzBweFxuXHQuY3Jvc3Nyb2FkLWl0ZW1zX19pbml0aWFsc1xuXHRcdGRpc3BsYXkgbm9uZVxuXG4uanMtZXF1YWxcblx0aGVpZ2h0IGF1dG8gIWltcG9ydGFudFxuXG4uYm94LWhlcm9fX3RpdGxlXG5cdGZvbnQtc2l6ZSAyMnB0XG5cdGZvbnQtd2VpZ2h0IDcwMFxuXHRmb250LXN0eWxlIG5vcm1hbFxuXHQ+ICpcblx0XHRmb250LXNpemUgMjJwdFxuXHRcdGZvbnQtd2VpZ2h0IDcwMFxuXHRcdGZvbnQtc3R5bGUgbm9ybWFsXG5cdGJyXG5cdFx0ZGlzcGxheSBub25lXG5cbi51LXB1bGxcbi51LWZ1bGxcbi51LXB1bGwtMjBcblx0bWFyZ2luLWxlZnQgMCAhaW1wb3J0YW50XG5cdG1hcmdpbi1yaWdodCAwICFpbXBvcnRhbnRcblxuLmJveC1iZWZvcmUtYWZ0ZXJcblx0cGFkZGluZyAxMHB4XG5cdGJvcmRlciAxcHggc29saWQgI2NjY1xuXHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRtYXJnaW4tYm90dG9tIDEwcHhcblx0Jl9faW5uZXJcblx0XHRwb3NpdGlvbiByZWxhdGl2ZVxuXHRcdHdpZHRoIDIwMHB4XG5cdFx0aGVpZ2h0IChAd2lkdGgvMilcblxuXHRpbWdcblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdHdpZHRoIDUwJVxuXHRcdGhlaWdodCBhdXRvXG5cdFx0dG9wIDBcblx0XHRsZWZ0IDBcblx0XHQrIGltZ1xuXHRcdFx0bGVmdCBhdXRvXG5cdFx0XHRyaWdodCAwXG5cdC5pY29uXG5cdFx0ZGlzcGxheSBub25lXG5cdCZfX292ZXJsYXlcblx0XHRkaXNwbGF5IG5vbmVcblxuLmJveC1pbWFnZVxuXHQuY2VudGVyXG5cdFx0dGV4dC1hbGlnbiBsZWZ0ICFpbXBvcnRhbnRcblxuLnNlY3Rpb24taGVhZGxpbmVcblx0dGV4dC1hbGlnbiBsZWZ0XG5cdCsgKlxuXHRcdG1hcmdpbi10b3AgMFxuXG4uYm94LXBhdHRlcm5cblx0bWFyZ2luIDUwcHggMFxuXG4uYm94LWZhcV9fdGl0bGVcblx0QGV4dGVuZCBoM1xuXG4uY3Jvc3Nyb2FkLWRvY3RvcnNcblx0Jl9fbGlzdFxuXHRcdCY6YmVmb3JlXG5cdFx0JjphZnRlclxuXHRcdFx0Y29udGVudCAnJ1xuXHRcdFx0ZGlzcGxheSB0YWJsZVxuXHRcdFx0Y2xlYXIgYm90aFxuXHQmX19pdGVtXG5cdFx0ZmxvYXQgbGVmdFxuXHRcdHdpZHRoIDMzJVxuXHRcdCY6bnRoLWNoaWxkKDNuICsgMSlcblx0XHRcdGNsZWFyIGJvdGhcblxuXHQmX19wYWdlclxuXHRcdGRpc3BsYXkgbm9uZVxuXG4uYm94LWN5Y2xlXG5cdCZfX2xpc3Rcblx0XHRoZWlnaHQgYXV0byAhaW1wb3J0YW50XG5cdFx0JjpiZWZvcmVcblx0XHQmOmFmdGVyXG5cdFx0XHRjb250ZW50ICcnXG5cdFx0XHRkaXNwbGF5IHRhYmxlXG5cdFx0XHRjbGVhciBib3RoXG5cdCZfX2l0ZW1cblx0XHRwb3NpdGlvbiBzdGF0aWMgIWltcG9ydGFudFxuXHRcdHZpc2liaWxpdHkgdmlzaWJsZSAhaW1wb3J0YW50XG5cdFx0b3BhY2l0eSAxICFpbXBvcnRhbnRcblx0XHR3aWR0aCA1MCVcblx0XHRmbG9hdCBsZWZ0XG5cdFx0cGFkZGluZyAwXG5cdFx0JjpudGgtY2hpbGQoMm4rMSlcblx0XHRcdGNsZWFyIGJvdGhcblx0Jl9fcGFnZXJcblx0XHRkaXNwbGF5IG5vbmVcblxuLmJveC1jb250ZW50XG5cdC5ncmlkX19jZWxsXG5cdFx0d2lkdGggMTAwJSAhaW1wb3J0YW50XG5cbi5ib3gtaW50ZXJcblx0bWFyZ2luIDUwcHggMFxuXHRoMlxuXHRoM1xuXHRcdG1hcmdpbiAwXG5cbi5jcm9zc3JvYWQtYmVuZWZpdHNcblx0JjpiZWZvcmVcblx0JjphZnRlclxuXHRcdGNvbnRlbnQgJydcblx0XHRkaXNwbGF5IHRhYmxlXG5cdFx0Y2xlYXIgYm90aFxuXHQuZ3JpZF9fY2VsbFxuXHRcdHdpZHRoIDI1JVxuXHRcdGZsb2F0IGxlZnRcblxuLmJveC1xdWVzdGlvblxuXHQmX190b3Bcblx0XHRib3JkZXItYm90dG9tIDJweCBzb2xpZCAjY2NjXG5cdFx0bWFyZ2luLWJvdHRvbSAyMHB4XG5cdFx0cGFkZGluZy1ib3R0b20gMTBweFxuXHQmX19kb2N0b3Jcblx0XHRhXG5cdFx0XHRmb250LXNpemUgMTBwdFxuXHRcdFx0Zm9udC13ZWlnaHQgNzAwXG5cbi5ib3gtaW50cm9cblx0Jl9fbGlua1xuXHRcdGRpc3BsYXkgbm9uZVxuXG4uY3Jvc3Nyb2FkLXR5cGVzXG5cdCZfX2xpc3Rcblx0XHQmOmJlZm9yZVxuXHRcdCY6YWZ0ZXJcblx0XHRcdGNvbnRlbnQgJydcblx0XHRcdGRpc3BsYXkgdGFibGVcblx0XHRcdGNsZWFyIGJvdGhcblx0Jl9faXRlbVxuXHRcdHdpZHRoIDI1JVxuXHRcdGZsb2F0IGxlZnRcblxuLmNyb3Nzcm9hZC1jYXRlZ29yaWVzXG5cdGRpc3BsYXkgbm9uZVxuXG4uYm94LXNvY2lhbC1pbWFnZXNcblx0Jl9faXRlbVxuXHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cdFx0Ym94LXNpemluZyBib3JkZXItYm94XG5cdFx0cGFkZGluZyAxMHB4XG5cdFx0bWFyZ2luLWJvdHRvbSAyMHB4XG5cdFx0Ym9yZGVyIDFweCBzb2xpZCAjY2NjXG5cdFx0aW1nXG5cdFx0XHRtYXgtd2lkdGggMTAwJVxuXHRcdFx0aGVpZ2h0IGF1dG9cblxuIl19 */
