html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
body {
  line-height: 1;
  color: #000;
  background: #fff;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
a img {
  border: none;
}
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
main {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  display: block;
}
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
audio:not([controls]),
[hidden] {
  display: none;
}
@-moz-keyframes load {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -moz-transform: translate(-50%, -50%) rotate(0);
    -o-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -moz-transform: translate(-50%, -50%) rotate(360deg);
    -o-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-webkit-keyframes load {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -moz-transform: translate(-50%, -50%) rotate(0);
    -o-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -moz-transform: translate(-50%, -50%) rotate(360deg);
    -o-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-o-keyframes load {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -moz-transform: translate(-50%, -50%) rotate(0);
    -o-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -moz-transform: translate(-50%, -50%) rotate(360deg);
    -o-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes load {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -moz-transform: translate(-50%, -50%) rotate(0);
    -o-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -moz-transform: translate(-50%, -50%) rotate(360deg);
    -o-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-moz-keyframes rotate-360 {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -o-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes rotate-360 {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -o-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes rotate-360 {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -o-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate-360 {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -o-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
* {
  min-width: 0;
}
html,
body {
  min-width: 320px;
  height: 100%;
}
html {
  -webkit-tap-highlight-color: rgba(255,255,255,0);
}
body {
  cursor: default;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  overflow-y: scroll;
  color: #676871;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  font-size: 16px;
  line-height: 1.5;
}
.body {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.body.is-locked {
  position: fixed;
  left: 0;
  right: 0;
  overflow: hidden;
}
.body__wrapper {
  overflow: hidden;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
}
.body__wrapper.is-locked {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
}
.body__wrapper.is-hide {
  -webkit-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  -moz-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  -o-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  -ms-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.body__overlay {
  -webkit-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  pointer-events: none;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  z-index: 1199;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.5);
}
.body__overlay.is-opened {
  z-index: 1201;
  pointer-events: auto;
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.body__header,
.body__footer,
.body__content {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.body__content {
  padding-top: 115px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  -ms-box-flex: 1;
  box-flex: 1;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
.body__footer {
  margin-top: auto;
}
.body__action {
  z-index: 1000;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  pointer-events: none;
  position: fixed;
  bottom: 20px;
  right: 145px;
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.body__action.is-visible {
  opacity: 1;
  -ms-filter: none;
  filter: none;
  pointer-events: auto;
}
@media (max-width: 1200px) {
  .body__content {
    padding-top: 95px;
  }
}
table,
blockquote,
ol,
ul,
p {
  margin-bottom: 1.5em;
}
table:last-child,
blockquote:last-child,
ol:last-child,
ul:last-child,
p:last-child {
  margin-bottom: 0;
}
img {
  max-width: 100%;
}
i,
em {
  font-style: italic;
}
b,
strong {
  font-weight: 700;
}
.link,
a {
  -webkit-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  text-decoration: none !important;
  color: #676871;
}
.link:hover,
a:hover {
  color: #f47146;
}
a[href^='tel:']:not([class]) {
  border-bottom-width: 0;
  color: inherit;
  white-space: nowrap;
  text-decoration: none;
}
ol {
  counter-reset: nums;
  list-style: none;
}
ol li {
  counter-increment: nums;
  list-style-type: none;
  position: relative;
  margin-bottom: 14px;
  padding-left: 22px;
}
ol li::before {
  content: counter(nums) '.';
  position: absolute;
  left: 0;
}
ol li:last-child {
  margin-bottom: 0;
}
ul li:not(.ya-share2__item) {
  position: relative;
  margin-bottom: 14px;
  padding-left: 30px;
}
ul li:not(.ya-share2__item)::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 9px;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background-color: #f47146;
}
ul li:not(.ya-share2__item):last-child {
  margin-bottom: 0;
}
ul[type="check"] li {
  position: relative;
  margin-bottom: 14px;
  padding-left: 22px;
}
ul[type="check"] li::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
ul[type="check"] li:last-child {
  margin-bottom: 0;
}
.owl-dot {
  width: 8px;
  height: 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  outline: none;
  border-radius: 50%;
  border: none;
  background-color: $cloudy-blue-two !important;
  pointer-events: cursor;
  display: block;
  margin-right: 5px;
  margin-left: 5px;
}
.owl-dot.active {
  background-color: $battleship-grey !important;
  pointer-events: none;
}
.owl-dot:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.current {
  color: #f47146;
}
.link-primary {
  color: #f47146;
}
.left-arrow {
  display: -webkit-inline-box;
  display: -moz-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-box;
  display: inline-flex;
  padding-left: 16px;
  position: relative;
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  -ms-transition: none;
  transition: none;
}
.left-arrow:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px;
  height: 13px;
}
.left-arrow:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2212%22 height=%2219%22 viewBox=%220 0 12 19%22 xmlns=%22http://www.w3.org/2000/svg%22 preserveAspectRatio=%22none%22%3E%3Ctitle%3Eic_chevron_right%3C/title%3E%3Cpath d=%22M-.06 16l2.121 2.121 9.06-9.06L2.062 0-.06 2.121l6.939 6.94z%22 fill=%22%23f47146%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.link-arrow {
  display: -webkit-inline-box;
  display: -moz-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-box;
  display: inline-flex;
  padding-right: 30px;
  position: relative;
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  -ms-transition: none;
  transition: none;
}
.link-arrow:before {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.nav-slider .owl-prev,
.nav-slider .owl-next {
  pointer-events: auto;
  background-color: rgba(255,255,255,0);
  display: block;
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 3px;
  outline: none;
  border: 2px solid #f47146;
  -webkit-transition: 0.15s ease background-color;
  -moz-transition: 0.15s ease background-color;
  -o-transition: 0.15s ease background-color;
  -ms-transition: 0.15s ease background-color;
  transition: 0.15s ease background-color;
}
.nav-slider .owl-prev:before,
.nav-slider .owl-next:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) translateX(0);
  -moz-transform: translate(-50%, -50%) translateX(0);
  -o-transform: translate(-50%, -50%) translateX(0);
  -ms-transform: translate(-50%, -50%) translateX(0);
  transform: translate(-50%, -50%) translateX(0);
  -webkit-transition: 0.1s ease -webkit-transform;
  -moz-transition: 0.1s ease -moz-transform;
  -o-transition: 0.1s ease -o-transform;
  -ms-transition: 0.1s ease -ms-transform;
  transition: 0.1s ease transform;
}
.nav-slider .owl-prev:hover,
.nav-slider .owl-next:hover {
  background-color: #f47146;
}
.nav-slider .owl-prev:active,
.nav-slider .owl-next:active {
  background-color: #e35f34;
}
.nav-slider .owl-prev.disabled,
.nav-slider .owl-next.disabled {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
  pointer-events: none;
}
.nav-slider .owl-next:before {
  width: 16px;
  height: 11px;
}
.nav-slider .owl-next:before,
.button_outline .button__icon_arrow-right::after,
.button_outline .button__icon_arrow-right::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2223%22 height=%2216%22 viewBox=%220 0 23 16%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M15.323.24a.803.803 0 0 0-1.147 0 .81.81 0 0 0 0 1.136l5.815 5.815H.803A.799.799 0 0 0 0 7.994c0 .448.356.815.803.815H19.99l-5.815 5.804a.823.823 0 0 0 0 1.146c.321.321.838.321 1.147 0l7.191-7.191a.79.79 0 0 0 0-1.135L15.323.24z%22 fill=%22%23f47146%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.nav-slider .owl-next:hover:before,
.nav-slider .owl-next:active:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2223%22 height=%2216%22 viewBox=%220 0 23 16%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M15.323.24a.803.803 0 0 0-1.147 0 .81.81 0 0 0 0 1.136l5.815 5.815H.803A.799.799 0 0 0 0 7.994c0 .448.356.815.803.815H19.99l-5.815 5.804a.823.823 0 0 0 0 1.146c.321.321.838.321 1.147 0l7.191-7.191a.79.79 0 0 0 0-1.135L15.323.24z%22 fill=%22%23fff%22/%3E%3C/svg%3E");
}
.nav-slider .owl-next:active:before {
  -webkit-transform: translate(-50%, -50%) translateX(5px);
  -moz-transform: translate(-50%, -50%) translateX(5px);
  -o-transform: translate(-50%, -50%) translateX(5px);
  -ms-transform: translate(-50%, -50%) translateX(5px);
  transform: translate(-50%, -50%) translateX(5px);
}
.nav-slider .owl-prev:before {
  width: 16px;
  height: 14px;
}
.nav-slider .owl-prev:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2214%22 height=%2212%22 viewBox=%220 0 14 12%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M5.875 11L1 6m0 0l4.875-5M1 6h13%22 stroke=%22%23f47146%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.nav-slider .owl-prev:hover:before,
.nav-slider .owl-prev:active:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2214%22 height=%2212%22 viewBox=%220 0 14 12%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M5.875 11L1 6m0 0l4.875-5M1 6h13%22 stroke=%22%23fff%22/%3E%3C/svg%3E");
}
.nav-slider .owl-prev:active:before {
  -webkit-transform: translate(-50%, -50%) translateX(-5px);
  -moz-transform: translate(-50%, -50%) translateX(-5px);
  -o-transform: translate(-50%, -50%) translateX(-5px);
  -ms-transform: translate(-50%, -50%) translateX(-5px);
  transform: translate(-50%, -50%) translateX(-5px);
}
.ul-short {
  max-width: 720px;
}
.del-line {
  height: 2px;
  background-color: #f7f7f8;
}
.block {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 20px;
  padding-right: 20px;
}
.block-wrapper {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  min-width: 280px;
  max-width: 1180px;
}
.block-fill {
  position: relative;
}
.block-fill:before {
  content: '';
  z-index: -1;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: -50px;
  background-color: #fafafb;
  max-width: 1720px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 50px;
}
@media (max-width: 1200px) {
  .block-fill:before {
    margin-top: 0;
  }
}
.button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.button {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: top;
  display: inline-block;
  font-size: 16px;
  line-height: 1.5;
  position: relative;
  padding: 0;
  border: 0;
  outline: none;
  background: none;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  font-style: normal;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  border-radius: 0;
}
.button input {
  pointer-events: none;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  position: absolute;
  top: 0;
  left: 0;
}
.button__icon {
  -webkit-box-ordinal-group: 2;
  -moz-box-ordinal-group: 2;
  -o-box-ordinal-group: 2;
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: relative;
  margin-left: 10px;
}
.button__icon::before {
  content: '';
  z-index: 20;
  -webkit-transition: opacity .15s cubic-bezier(0.645, 0.045, 0.355, 1) 0.025s;
  -moz-transition: opacity .15s cubic-bezier(0.645, 0.045, 0.355, 1) 0.025s;
  -o-transition: opacity .15s cubic-bezier(0.645, 0.045, 0.355, 1) 0.025s;
  -ms-transition: opacity .15s cubic-bezier(0.645, 0.045, 0.355, 1) 0.025s;
  transition: opacity .15s cubic-bezier(0.645, 0.045, 0.355, 1) 0.025s;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: absolute;
}
.button__icon::after {
  content: '';
  -webkit-transition: opacity .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: opacity .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: opacity .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: opacity .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  opacity: 1;
  -ms-filter: none;
  filter: none;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  display: block;
}
.button__icon_side_left {
  -webkit-box-ordinal-group: -1;
  -moz-box-ordinal-group: -1;
  -o-box-ordinal-group: -1;
  -ms-flex-order: -1;
  -webkit-order: -1;
  order: -1;
  margin-right: 10px;
  margin-left: 0;
}
.button__icon_aside {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 27px;
}
.button__icon_arrow-left::after {
  width: 6px;
  height: 11px;
}
.button__icon_arrow-left::after,
.button__icon_arrow-left::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%228%22 height=%2214%22 viewBox=%220 0 8 14%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M7 1L1 7l6 6%22 stroke=%22$color-white%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.button__icon_arrow-left::before {
  width: 6px;
  height: 11px;
}
.button__icon_arrow-right::after {
  width: 20px;
  height: 14px;
}
.button__icon_arrow-right::after,
.button__icon_arrow-right::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2223%22 height=%2216%22 viewBox=%220 0 23 16%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M15.323.24a.803.803 0 0 0-1.147 0 .81.81 0 0 0 0 1.136l5.815 5.815H.803A.799.799 0 0 0 0 7.994c0 .448.356.815.803.815H19.99l-5.815 5.804a.823.823 0 0 0 0 1.146c.321.321.838.321 1.147 0l7.191-7.191a.79.79 0 0 0 0-1.135L15.323.24z%22 fill=%22%23fff%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.button__icon_arrow-right::before {
  width: 20px;
  height: 14px;
}
.button__icon_plus::after {
  width: 24px;
  height: 24px;
}
.button__icon_plus::after,
.button__icon_plus::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2221%22 height=%2221%22 viewBox=%220 0 21 21%22 xmlns=%22http://www.w3.org/2000/svg%22 preserveAspectRatio=%22none%22%3E%3Ctitle%3Eic_add%3C/title%3E%3Cpath d=%22M9 9V0h3v9h9v3h-9v9H9v-9H0V9h9z%22 fill=%22$electric-blue%22 fill-rule=%22evenodd%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.button__icon_plus::before {
  width: 24px;
  height: 24px;
}
.button__icon_login::after {
  width: 24px;
  height: 27px;
}
.button__icon_login::after,
.button__icon_login::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2222%22 height=%2225%22 viewBox=%220 0 22 25%22 xmlns=%22http://www.w3.org/2000/svg%22 preserveAspectRatio=%22none%22%3E%3Ctitle%3Eic_login%3C/title%3E%3Cpath d=%22M8.617 11L5.878 8.262 8 6.14l5.3 5.3a1.5 1.5 0 0 1 0 2.122l-5.3 5.3-2.122-2.122L8.618 14H0v-3h8.617zm10.278 11V3h-8.5V0h10a1.5 1.5 0 0 1 1.5 1.5v22a1.5 1.5 0 0 1-1.5 1.5h-10v-3h8.5z%22 fill=%22$electric-blue%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.button__icon_login::before {
  width: 24px;
  height: 27px;
}
.button__icon_refresh::after {
  width: 14px;
  height: 14px;
}
.button__icon_refresh::after,
.button__icon_refresh::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 492.883 492.883%22 preserveAspectRatio=%22none%22%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M122.941 374.241c-20.1-18.1-34.6-39.8-44.1-63.1-25.2-61.8-13.4-135.3 35.8-186l45.4 45.4c2.5 2.5 7 .7 7.6-3l24.8-162.3c.4-2.7-1.9-5-4.6-4.6l-162.4 24.8c-3.7.6-5.5 5.1-3 7.6l45.5 45.5c-75.1 76.8-87.9 192-38.6 282 14.8 27.1 35.3 51.9 61.4 72.7 44.4 35.3 99 52.2 153.2 51.1l10.2-66.7c-46.7 4-94.7-10.4-131.2-43.4zM424.941 414.341c75.1-76.8 87.9-192 38.6-282-14.8-27.1-35.3-51.9-61.4-72.7-44.4-35.3-99-52.2-153.2-51.1l-10.2 66.7c46.6-4 94.7 10.4 131.2 43.4 20.1 18.1 34.6 39.8 44.1 63.1 25.2 61.8 13.4 135.3-35.8 186l-45.4-45.4c-2.5-2.5-7-.7-7.6 3l-24.8 162.3c-.4 2.7 1.9 5 4.6 4.6l162.4-24.8c3.7-.6 5.4-5.1 3-7.6l-45.5-45.5z%22/%3E%3C/g%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.button__icon_refresh::before {
  width: 14px;
  height: 14px;
}
.button__content {
  -webkit-box-shadow: 0 10px 20px rgba(244,113,70,0.2);
  box-shadow: 0 10px 20px rgba(244,113,70,0.2);
  -webkit-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  border-radius: 3px;
  position: relative;
  padding: 0 50px;
  outline: none;
  background-color: #f47146;
  color: #fff;
  border: 1px solid transparent;
}
.button__title {
  padding: 8px 0;
}
.button.is-hover,
.button:hover {
  text-decoration: none;
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60);
}
.button.is-hover .button__icon::before,
.button:hover .button__icon::before {
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -ms-transition-delay: 0s;
  transition-delay: 0s;
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.button.is-hover .button__icon::after,
.button:hover .button__icon::after {
  -webkit-transition-delay: 0.025s;
  -moz-transition-delay: 0.025s;
  -o-transition-delay: 0.025s;
  -ms-transition-delay: 0.025s;
  transition-delay: 0.025s;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.button.is-active,
.button:active {
  text-decoration: none;
  outline: none;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90);
}
.button.is-active .button__icon::before,
.button:active .button__icon::before {
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -ms-transition-delay: 0s;
  transition-delay: 0s;
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.button.is-active .button__icon::after,
.button:active .button__icon::after {
  -webkit-transition-delay: 0.025s;
  -moz-transition-delay: 0.025s;
  -o-transition-delay: 0.025s;
  -ms-transition-delay: 0.025s;
  transition-delay: 0.025s;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.button.is-disabled,
.button:disabled {
  pointer-events: none;
  border: 0 !important;
  background: none !important;
  text-decoration: none !important;
}
.button.is-disabled .button__content,
.button:disabled .button__content {
  border-color: #b4b4bd !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  background-image: none !important;
  background-color: #b4b4bd !important;
}
.button.is-loading {
  position: relative;
  pointer-events: none;
}
.button.is-loading:before {
  content: '';
  position: absolute;
  display: block;
  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%);
  width: 20px;
  height: 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 50%;
  z-index: 9;
  -webkit-animation: load 1.5s linear infinite;
  -moz-animation: load 1.5s linear infinite;
  -o-animation: load 1.5s linear infinite;
  -ms-animation: load 1.5s linear infinite;
  animation: load 1.5s linear infinite;
}
.button.is-loading .button__title {
  opacity: 0 !important;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)" !important;
  filter: alpha(opacity=0) !important;
}
.button.is-loading .button__icon {
  opacity: 0 !important;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)" !important;
  filter: alpha(opacity=0) !important;
}
.button_full {
  width: 100%;
}
.button_light .button__content {
  background: transparent;
  border: 2px solid rgba(255,255,255,0.5);
}
.button_light .button__title {
  color: #fff;
}
.button_light:focus .button__content,
.button_light:hover .button__content {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.button_light:active .button__content {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.button_outline .button__content {
  background: transparent;
  border: 2px solid rgba(244,113,70,0.4);
}
.button_outline .button__title {
  color: #f47146;
}
.button_outline .button__icon_arrow-right::after {
  width: 20px;
  height: 14px;
}
.button_outline .button__icon_arrow-right::before {
  width: 20px;
  height: 14px;
}
.button_outline:focus .button__content,
.button_outline:hover .button__content {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.button_outline:active .button__content {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.button_login {
  position: relative;
}
.button_login .button__icon {
  margin-right: 0;
  margin-left: 0;
  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%);
  margin-left: -2px;
}
.button_login .button__content {
  height: 60px;
  width: 60px;
  padding: 0;
}
.button_login .button__title {
  display: none;
}
.button_callback .button__content {
  padding-right: 20px;
  padding-left: 20px;
}
.button.button_small .button__content {
  padding: 0 15px;
}
.button.button_small .button__title {
  padding: 14px 0;
}
@media (max-width: 750px) {
  .button.button_mobile_small .button__content {
    font-size: 12px;
    line-height: 1.5;
  }
  .button.button_mobile_small .button__title {
    padding: 14px 0;
  }
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
  cursor: pointer;
  -webkit-appearance: button;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type='checkbox'],
input[type='radio'] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto;
}
input[type='search'] {
  -webkit-appearance: textfield;
}
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
textarea {
  overflow: auto;
  resize: none;
}
optgroup {
  font-weight: bold;
}
select,
textarea,
input[type='number'],
input[type='email'],
input[type='tel'],
input[type='search'],
input[type='url'],
input[type=password],
input[type='text'] {
  -webkit-animation: not-input-autofilled 0.001s linear;
  -moz-animation: not-input-autofilled 0.001s linear;
  -o-animation: not-input-autofilled 0.001s linear;
  -ms-animation: not-input-autofilled 0.001s linear;
  animation: not-input-autofilled 0.001s linear;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: #000;
}
select::-ms-clear,
textarea::-ms-clear,
input[type='number']::-ms-clear,
input[type='email']::-ms-clear,
input[type='tel']::-ms-clear,
input[type='search']::-ms-clear,
input[type='url']::-ms-clear,
input[type=password]::-ms-clear,
input[type='text']::-ms-clear {
  display: none;
}
.field {
  display: block;
  position: relative;
}
.field__header {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  position: absolute;
  bottom: -100%;
}
.field__title {
  font-size: 15px;
  line-height: 1.333333333333333;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  display: block;
  padding-right: 20px;
  padding-left: 16px;
  margin-bottom: 0;
  color: rgba(40,48,79,0.5);
}
.field__error {
  z-index: 100;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: none;
  padding: 0 5px;
  margin-bottom: 5px;
}
.field__main {
  -webkit-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  position: relative;
  border-radius: 0;
  background-color: rgba(255,255,255,0);
}
.field__unit {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  color: #7c7c7c;
}
.field__unit-title {
  padding-bottom: 2px;
}
.field__indicator {
  -webkit-box-ordinal-group: 4;
  -moz-box-ordinal-group: 4;
  -o-box-ordinal-group: 4;
  -ms-flex-order: 4;
  -webkit-order: 4;
  order: 4;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -webkit-align-self: center;
  align-self: center;
  -ms-flex-item-align: center;
}
.field__indicator::before {
  display: block;
}
.field__notify {
  display: block;
  margin-top: 8px;
}
.field__action {
  cursor: pointer;
  position: relative;
}
.field__action-content {
  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%);
}
.field__action-content::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
}
.field__action_tip {
  width: 40px;
  height: 40px;
}
.field__action_tip .field__action-content {
  width: 16px;
  height: 16px;
}
@media (max-width: 750px) {
  .field__unit {
    font-size: 14px;
  }
}
.field_prefix .field__unit {
  -webkit-box-ordinal-group: -1;
  -moz-box-ordinal-group: -1;
  -o-box-ordinal-group: -1;
  -ms-flex-order: -1;
  -webkit-order: -1;
  order: -1;
  margin-right: 20px;
}
@media (max-width: 750px) {
  .field_prefix .field__unit {
    margin-right: 10px;
  }
}
.field_gap_left .field__main {
  padding-left: 20px;
}
@media (max-width: 750px) {
  .field_gap_left .field__main {
    padding-left: 0;
  }
}
.field.field_light .field-input {
  color: #fff;
  border-color: #fff;
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
}
.field.field_light .field-input::-webkit-input-placeholder {
  color: #fff;
}
.field.field_light .field-input:-moz-placeholder {
  color: #fff;
}
.field.field_light .field-input::-moz-placeholder {
  color: #fff;
}
.field.field_light .field-input:-ms-input-placeholder {
  color: #fff;
}
.field.field_light .field-input:focus,
.field.field_light .field-input:hover {
  border-color: #fff;
}
.field.field_light.is-filled .field-input,
.field.field_light.is-focus .field-input,
.field.field_light:focus .field-input,
.field.field_light:hover .field-input {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.field:hover .field__error,
.field.is-focus .field__error {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.field.is-error .field__error {
  display: block;
}
.field.is-error .field__indicator {
  display: none;
}
.field.is-error:hover .field__title,
.field.is-error.is-focus .field__title {
  display: none;
}
.field.is-error:hover .field__error,
.field.is-error.is-focus .field__error {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  max-width: none;
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.field.is-required .field__indicator {
  margin-right: 0;
  display: none;
}
.field.is-required .field__indicator::before {
  content: '*';
  position: absolute;
  top: -20px;
  right: 0;
}
.field-input {
  font-size: 18px;
  line-height: 1.333333333333333;
  -webkit-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  display: block;
  width: 100%;
  padding: 18px 30px;
  border: none;
  outline: 0;
  color: #000;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  background-color: rgba(255,255,255,0);
  border-radius: 30px;
  -webkit-box-shadow: 0 2px 8px 0 rgba(112,116,133,0.16);
  box-shadow: 0 2px 8px 0 rgba(112,116,133,0.16);
}
.field-input__count {
  border-radius: 50%;
  min-width: 20px;
  height: 21px;
  display: inline-block;
  text-align: center;
  padding-right: 1px;
}
.field-input::-webkit-input-placeholder {
  color: $battleship-grey;
}
.field-input:-moz-placeholder {
  color: $battleship-grey;
}
.field-input::-moz-placeholder {
  color: $battleship-grey;
}
.field-input:-ms-input-placeholder {
  color: $battleship-grey;
}
select.field-input {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-right: 44px;
}
select.field-input::-ms-expand {
  display: none;
}
textarea.field-input {
  min-height: calc(2.857142857142857em + 16px);
}
div.field-input {
  overflow: auto;
  height: calc(4.285714285714286em + 16px);
}
span.field-input {
  cursor: pointer;
  overflow: hidden;
  height: calc(1.4285714285714286em + 22px);
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
}
@media (max-width: 750px) {
  .field-input {
    padding-top: 14px;
    padding-bottom: 14px;
    padding-right: 25px;
    padding-left: 25px;
    font-size: 15px;
    line-height: 1.333333333333333;
  }
}
.field-box__title {
  color: rgba(0,0,0,0.5);
  margin-bottom: 5px;
}
.field-box__title_gap-medium {
  margin-bottom: 12px;
}
@media (max-width: 750px) {
  .field-box__title {
    font-size: 14px;
  }
}
.field-set__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.field-set__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  border-right: 1px solid #c4c4c4;
}
.field-set__side {
  max-width: 100px;
}
@media (max-width: 750px) {
  .field-set__wrapper {
    display: block;
  }
  .field-set__main {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    border-right: none;
    margin-bottom: 20px;
  }
  .field-set__side {
    max-width: 100%;
  }
}
.title,
.title-extra,
h1,
.title-h1,
h2,
.title-h2,
h3,
.title-h3,
h4,
.title-h4 {
  color: #050216;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  font-weight: 700;
}
.title-extra {
  font-size: 62px;
  line-height: 1;
}
@media (max-width: 1000px) {
  .title-extra {
    font-size: 48px;
    line-height: 1.25;
  }
}
@media (max-width: 750px) {
  .title-extra {
    font-size: 36px;
    line-height: 1.25;
  }
}
h1,
.title-h1 {
  font-size: 48px;
  line-height: 1.25;
}
@media (max-width: 1200px) {
  h1,
  .title-h1 {
    font-size: 38px;
    line-height: 1.184210526315789;
  }
}
@media (max-width: 1000px) {
  h1,
  .title-h1 {
    font-size: 36px;
    line-height: 1.25;
  }
}
@media (max-width: 750px) {
  h1,
  .title-h1 {
    font-size: 32px;
    line-height: 1.40625;
  }
}
@media (max-width: 500px) {
  h1,
  .title-h1 {
    font-size: 24px;
    line-height: 1.208333333333333;
  }
}
h2,
.title-h2 {
  font-size: 30px;
  line-height: 1.5;
}
@media (max-width: 750px) {
  h2,
  .title-h2 {
    font-size: 25px;
    line-height: 1.52;
  }
}
h3,
.title-h3 {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 500;
}
@media (max-width: 750px) {
  h3,
  .title-h3 {
    font-size: 22px;
  }
}
h4,
.title-h4 {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 400;
}
@media (max-width: 750px) {
  h4,
  .title-h4 {
    font-size: 16px;
    line-height: 1.5;
  }
}
table {
  border-collapse: collapse;
  margin: 0;
  padding: 0;
}
table p {
  margin-bottom: 0;
}
tr {
  z-index: 1;
  position: relative;
}
th,
td {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  vertical-align: top;
}
th {
  padding: 0 16px 15px;
}
td {
  padding: 18px 16px 17px;
}
th:first-child,
td:first-child {
  padding-left: 0;
}
th:last-child,
td:last-child {
  padding-right: 0;
}
tfoot tr {
  border-bottom: none;
}
tfoot td {
  padding: 15px 0 0;
}
.layer-close {
  z-index: 200;
  position: absolute;
  width: 40px;
  height: 40px;
  top: 20px;
  right: 20px;
  border: none;
}
.layer-close::before {
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  content: '';
  opacity: 0.2;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
  filter: alpha(opacity=20);
  position: absolute;
  display: block;
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.layer-close:hover::before {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.layer-close:active::before {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.layer {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #fff;
  min-height: 100%;
  z-index: 1200;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transform: translateY(5vh);
  -moz-transform: translateY(5vh);
  -o-transform: translateY(5vh);
  -ms-transform: translateY(5vh);
  transform: translateY(5vh);
  -webkit-transition: -webkit-transform .25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: -moz-transform .25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: -o-transform .25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: -ms-transform .25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform .25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.layer__inside {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  width: 100%;
  padding: 0 0;
}
.layer__title {
  padding-right: 40px;
}
.layer__content {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  padding: 30px 30px 40px 30px;
}
.layer__highlight {
  background-color: #fef6f6;
  padding: 14px 30px 11px 30px;
  margin: 0 -30px;
}
.layer.is-aside {
  -webkit-transition: -webkit-transform 0.4s ease-in-out, opacity 0s ease-in-out 0.4s;
  -moz-transition: -moz-transform 0.4s ease-in-out, opacity 0s ease-in-out 0.4s;
  -o-transition: -o-transform 0.4s ease-in-out, opacity 0s ease-in-out 0.4s;
  -ms-transition: -ms-transform 0.4s ease-in-out, opacity 0s ease-in-out 0.4s;
  transition: transform 0.4s ease-in-out, opacity 0s ease-in-out 0.4s;
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
}
.layer.is-aside.is-opened {
  -webkit-transition: -webkit-transform 0.4s linear, opacity 0.4s linear;
  -moz-transition: -moz-transform 0.4s linear, opacity 0.4s linear;
  -o-transition: -o-transform 0.4s linear, opacity 0.4s linear;
  -ms-transition: -ms-transform 0.4s linear, opacity 0.4s linear;
  transition: transform 0.4s linear, opacity 0.4s linear;
}
.layer.is-aside.is-opened {
  -webkit-transition: -webkit-transform 0.4s linear, opacity 0.4s linear;
  -moz-transition: -moz-transform 0.4s linear, opacity 0.4s linear;
  -o-transition: -o-transform 0.4s linear, opacity 0.4s linear;
  -ms-transition: -ms-transform 0.4s linear, opacity 0.4s linear;
  transition: transform 0.4s linear, opacity 0.4s linear;
}
.layer.is-opened {
  z-index: 1210;
  opacity: 1;
  -ms-filter: none;
  filter: none;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
.layer:not(.is-animating) {
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  -ms-transform: none;
  transform: none;
  position: relative;
}
.layer.is-faded {
  pointer-events: none;
  position: fixed;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.layer.is-closing {
  z-index: 1210;
  position: fixed;
}
.layer:not(.is-initialized) {
  display: none !important;
}
.layer_overlay {
  pointer-events: none;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  background: none;
}
.layer_overlay .layer__inside {
  pointer-events: auto;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  position: relative;
  max-width: 370px;
  width: 100%;
  background: #fff;
  -webkit-box-sizing: botder-box;
  -moz-box-sizing: botder-box;
  box-sizing: botder-box;
}
.layer_overlay .layer__content {
  width: auto;
}
.layer_overlay.is-opened {
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  -ms-transform: none;
  transform: none;
}
@media (max-width: 750px) {
  .layer_overlay {
    -webkit-box-align: stretch;
    -moz-box-align: stretch;
    -o-box-align: stretch;
    -ms-flex-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
  }
  .layer_overlay .layer__inside {
    max-width: none;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -o-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .layer_overlay .layer__content {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -o-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
}
.layer_wide .layer__inside {
  max-width: 630px;
}
.layer_wide .layer__content {
  padding-bottom: 30px;
}
.layer_alert .layer__icon {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  width: 86px;
  height: 86px;
  margin-top: 7px;
  margin-bottom: 27px;
}
.layer_alert .layer__icon::after {
  content: '';
  position: absolute;
}
.layer_alert .layer__icon::before {
  content: '';
  position: absolute;
  width: 148px;
  height: 148px;
  border-radius: 50%;
  opacity: 0.1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
  filter: alpha(opacity=10);
  top: 0;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.layer_alert .layer__description {
  color: $color-grey;
}
.layer_overlay_left {
  -webkit-transform: translateX(-30vw);
  -moz-transform: translateX(-30vw);
  -o-transform: translateX(-30vw);
  -ms-transform: translateX(-30vw);
  transform: translateX(-30vw);
  -webkit-box-pack: start;
  -moz-box-pack: start;
  -o-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.layer_overlay_left.is-opened {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
.layer_nav {
  max-width: 320px;
  padding-top: 0;
  padding-bottom: 0;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  -o-box-align: stretch;
  -ms-flex-align: stretch;
  -webkit-align-items: stretch;
  align-items: stretch;
}
.layer_nav .layer__inside {
  max-width: none;
  margin: 0;
  border-radius: 0;
}
.layer_nav .layer__content {
  padding: 0;
}
.-gap_1 {
  margin-bottom: 15px;
}
.-gap-out_1 {
  margin-bottom: -15px;
}
.-gap-inner-top_1 {
  padding-top: 15px;
}
.-gap-inner-bottom_1 {
  padding-bottom: 15px;
}
@media (max-width: 750px) {
  .-gap_1 {
    margin-bottom: 10px;
  }
  .-gap-out_1 {
    margin-bottom: -10px;
  }
  .-gap-inner-top_1 {
    padding-top: 10px;
  }
  .-gap-inner-bottom_1 {
    padding-bottom: 10px;
  }
}
.-gap_2 {
  margin-bottom: 30px;
}
.-gap-out_2 {
  margin-bottom: -30px;
}
.-gap-inner-top_2 {
  padding-top: 30px;
}
.-gap-inner-bottom_2 {
  padding-bottom: 30px;
}
@media (max-width: 750px) {
  .-gap_2 {
    margin-bottom: 20px;
  }
  .-gap-out_2 {
    margin-bottom: -20px;
  }
  .-gap-inner-top_2 {
    padding-top: 20px;
  }
  .-gap-inner-bottom_2 {
    padding-bottom: 20px;
  }
}
.-gap_3 {
  margin-bottom: 45px;
}
.-gap-inner-top_3 {
  padding-top: 45px;
}
.-gap-inner-bottom_3 {
  padding-bottom: 45px;
}
@media (max-width: 750px) {
  .-gap_3 {
    margin-bottom: 30px;
  }
  .-gap-inner-top_3 {
    padding-top: 30px;
  }
  .-gap-inner-bottom_3 {
    padding-bottom: 30px;
  }
}
.-gap_4 {
  margin-bottom: 60px;
}
.-gap-inner-top_4 {
  padding-top: 60px;
}
.-gap-inner-bottom_4 {
  padding-bottom: 60px;
}
@media (max-width: 750px) {
  .-gap_4 {
    margin-bottom: 40px;
  }
  .-gap-inner-top_4 {
    padding-top: 40px;
  }
  .-gap-inner-bottom_4 {
    padding-bottom: 40px;
  }
}
.-gap_5 {
  margin-bottom: 75px;
}
.-gap-inner-top_5 {
  padding-top: 75px;
}
.-gap-inner-bottom_5 {
  padding-bottom: 75px;
}
@media (max-width: 750px) {
  .-gap_5 {
    margin-bottom: 50px;
  }
  .-gap-inner-top_5 {
    padding-top: 50px;
  }
  .-gap-inner-bottom_5 {
    padding-bottom: 50px;
  }
}
.-gap_6 {
  margin-bottom: 90px;
}
.-gap-inner-top_6 {
  padding-top: 90px;
}
.-gap-inner-bottom_6 {
  padding-bottom: 90px;
}
@media (max-width: 750px) {
  .-gap_6 {
    margin-bottom: 60px;
  }
  .-gap-inner-top_6 {
    padding-top: 60px;
  }
  .-gap-inner-bottom_6 {
    padding-bottom: 60px;
  }
}
.-gap_7 {
  margin-bottom: 115px;
}
.-gap-inner-top_7 {
  padding-top: 115px;
}
.-gap-inner-bottom_7 {
  padding-bottom: 115px;
}
@media (max-width: 750px) {
  .-gap_7 {
    margin-bottom: 76.66666666666667px;
  }
  .-gap-inner-top_7 {
    padding-top: 76.66666666666667px;
  }
  .-gap-inner-bottom_7 {
    padding-bottom: 76.66666666666667px;
  }
}
.-gap_8 {
  margin-bottom: 145px;
}
.-gap-inner-top_8 {
  padding-top: 145px;
}
.-gap-inner-bottom_8 {
  padding-bottom: 145px;
}
@media (max-width: 750px) {
  .-gap_8 {
    margin-bottom: 96.66666666666667px;
  }
  .-gap-inner-top_8 {
    padding-top: 96.66666666666667px;
  }
  .-gap-inner-bottom_8 {
    padding-bottom: 96.66666666666667px;
  }
}
.about {
  background-color: #f47146;
  padding: 40px 60px;
  border-radius: 3px;
  -webkit-box-shadow: 0 20px 20px -10px rgba(4,8,17,0.1), 0 30px 60px 0px rgba(4,8,17,0.05);
  box-shadow: 0 20px 20px -10px rgba(4,8,17,0.1), 0 30px 60px 0px rgba(4,8,17,0.05);
}
.about__major {
  margin-bottom: 20px;
}
.about__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.about__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.about__title {
  font-size: 30px;
  line-height: 1.5;
  font-weight: 700;
  color: #fff;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  line-height: 1.1;
  margin-right: 30px;
}
.about__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.about__desc {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 660px;
  color: rgba(255,255,255,0.7);
}
.about__desc b {
  color: #fff;
}
.about.about_dark {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  position: relative;
}
.about.about_dark:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -270px;
  right: -270px;
  border-radius: 5px;
  background-color: rgba(103,104,113,0.03);
  z-index: -1;
}
.about.about_dark .about__title {
  color: #000;
}
.about.about_dark .about__desc {
  color: #676871;
  max-width: 500px;
}
@media (min-width: 1201px) {
  .about.about_dark {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (max-width: 1200px) {
  .about__main {
    display: block;
  }
}
@media (max-width: 750px) {
  .about {
    padding: 40px 20px;
    margin-right: -20px;
    margin-left: -20px;
  }
  .about__title {
    margin-bottom: 20px;
  }
  .about__wrapper {
    display: block;
  }
  .about__main {
    margin-bottom: 40px;
  }
}
.accordion__wrapper {
  margin-bottom: 10px;
}
.accordion__title {
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  padding: 5px 0px 20px;
  border-bottom: 1px solid #c2c3c6;
}
.accordion__content {
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  padding: 10px 15px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  display: none;
}
.accordion-item:last-child .accordion-item__wrapper {
  margin-bottom: 0;
}
.accordion-item__wrapper {
  margin-bottom: 20px;
}
.accordion-item__title {
  position: relative;
  margin-bottom: 10px;
}
.accordion-item__image {
  margin-bottom: 10px;
}
.accordion-item__image img {
  display: block;
  max-width: 100%;
}
.accordion.is-open .accordion__content {
  opacity: 1;
  -ms-filter: none;
  filter: none;
  display: block;
  border-bottom: 1px solid #c2c3c6;
}
.accordion.is-open .accordion__title {
  color: #f47146;
  border-color: #f47146;
}
@media (min-width: 1201px) {
  .animated-load_fly {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -o-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transition: 0.756s ease;
    -moz-transition: 0.756s ease;
    -o-transition: 0.756s ease;
    -ms-transition: 0.756s ease;
    transition: 0.756s ease;
  }
  .animated-load_fly.is-animate {
    opacity: 1;
    -ms-filter: none;
    filter: none;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  .animated-scroll_fly-x-right {
    -webkit-transition: 0.756s ease;
    -moz-transition: 0.756s ease;
    -o-transition: 0.756s ease;
    -ms-transition: 0.756s ease;
    transition: 0.756s ease;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transform: translateX(80px);
    -moz-transform: translateX(80px);
    -o-transform: translateX(80px);
    -ms-transform: translateX(80px);
    transform: translateX(80px);
  }
  .animated-scroll_fly-x-right.is-animate {
    opacity: 1;
    -ms-filter: none;
    filter: none;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -o-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  .animated-scroll_fly-x-left {
    -webkit-transition: 0.756s ease;
    -moz-transition: 0.756s ease;
    -o-transition: 0.756s ease;
    -ms-transition: 0.756s ease;
    transition: 0.756s ease;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transform: translateX(-80px);
    -moz-transform: translateX(-80px);
    -o-transform: translateX(-80px);
    -ms-transform: translateX(-80px);
    transform: translateX(-80px);
  }
  .animated-scroll_fly-x-left.is-animate {
    opacity: 1;
    -ms-filter: none;
    filter: none;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -o-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  .animated-scroll_fly-y-top {
    -webkit-transition: 0.756s ease;
    -moz-transition: 0.756s ease;
    -o-transition: 0.756s ease;
    -ms-transition: 0.756s ease;
    transition: 0.756s ease;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transform: translateY(80px);
    -moz-transform: translateY(80px);
    -o-transform: translateY(80px);
    -ms-transform: translateY(80px);
    transform: translateY(80px);
    -webkit-transition-delay: 0.1s;
    -moz-transition-delay: 0.1s;
    -o-transition-delay: 0.1s;
    -ms-transition-delay: 0.1s;
    transition-delay: 0.1s;
  }
  .animated-scroll_fly-y-top.is-animate {
    opacity: 1;
    -ms-filter: none;
    filter: none;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
.article__widgets {
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
}
.article__preview {
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(194,195,198,0.2);
  margin-bottom: 30px;
}
.article__preview-side {
  margin-bottom: 20px;
}
.article__preview img {
  margin-right: auto;
  margin-left: auto;
}
.article img {
  display: block;
  max-width: 100%;
}
.article__info-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-left: -5px;
  margin-right: -5px;
}
.article__info-side,
.article__info-main {
  margin-left: 5px;
  margin-right: 5px;
}
.article-pic {
  display: block;
}
.article-pic img {
  margin-right: auto;
  margin-left: auto;
}
.article-pic__side {
  display: block;
  opacity: 1;
  -ms-filter: none;
  filter: none;
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.article-pic__side:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.article-pic__main {
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(194,195,198,0.2);
}
.article-pic.article-pic_play .article-pic {
  border-radius: 5px;
}
.article-pic.article-pic_play .article-pic__side {
  position: relative;
}
.article-pic.article-pic_play .article-pic__side:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(244,113,70,0.4);
}
.article-pic.article-pic_play .article-pic__side:after {
  content: '';
  display: block;
  width: 70px;
  height: 70px;
  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%);
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../images/icon/play.svg");
}
.branding {
  min-height: 120px;
  background: url("../../images/smartix.svg") repeat 0 0;
  -webkit-animation: slide 5s linear infinite;
  -moz-animation: slide 5s linear infinite;
  -o-animation: slide 5s linear infinite;
  -ms-animation: slide 5s linear infinite;
  animation: slide 5s linear infinite;
}
@-webkit-keyframes slide {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -900px 0;
  }
}
.breadcrumbs__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -4px;
  margin-bottom: -8px;
}
.breadcrumbs__item {
  margin: 0 4px;
  margin-bottom: 8px;
  color: #050216;
  font-weight: 500;
}
.breadcrumbs__item:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.breadcrumbs__item.is-active {
  pointer-events: none;
  color: #676871;
}
.breadcrumbs_light .breadcrumbs__item {
  color: #fff;
}
.breadcrumbs_light .breadcrumbs__item.is-active {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
}
.case__section {
  border-bottom: 2px solid rgba(103,104,113,0.05);
  position: relative;
}
.case__section_fill:before {
  position: absolute;
  z-index: -1;
  background-color: #fafafa;
  top: 0;
  left: -270px;
  right: -270px;
  content: '';
  display: block;
  border-radius: 5px;
  margin-top: 80px;
  bottom: 190px;
}
.case-intro {
  position: relative;
}
.case-intro__title {
  color: #fff;
}
.case-intro__desc {
  color: #fff;
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60);
}
.case-intro__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  z-index: 5;
  position: relative;
}
.case-intro__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 385px;
  margin-right: 25px;
}
.case-intro__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: end;
  -moz-box-align: end;
  -o-box-align: end;
  -ms-flex-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
.case-intro__overlay {
  position: absolute;
  left: -100vw;
  right: -100vw;
  top: -100vh;
  bottom: 0;
  z-index: -1;
}
.case-preview {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.case-preview__images {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin-right: -10px;
  margin-left: -10px;
  margin-bottom: -20px;
}
.case-preview__images-item {
  margin-right: 10px;
  margin-left: 10px;
  margin-bottom: 20px;
  border-radius: 5px 5px 0 0;
  overflow: hidden;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.case-preview__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.case-preview__main {
  -webkit-box-ordinal-group: 2;
  -moz-box-ordinal-group: 2;
  -o-box-ordinal-group: 2;
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-left: auto;
}
.case-preview__side {
  margin-right: 10px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -webkit-box-ordinal-group: 1;
  -moz-box-ordinal-group: 1;
  -o-box-ordinal-group: 1;
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
}
.case-preview img {
  max-width: 100%;
  display: block;
}
.case-collect__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  margin-bottom: -20px;
}
.case-collect__list-item {
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 20px;
  max-width: calc(16.6% - 20px);
  -webkit-flex-basis: calc(16.6% - 20px);
  flex-basis: calc(16.6% - 20px);
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.case-collect img {
  display: block;
  max-width: 100%;
}
.case-collect.case-collect_4x .case-collect__list-item {
  max-width: calc(25% - 20px);
  -webkit-flex-basis: calc(25% - 20px);
  flex-basis: calc(25% - 20px);
}
.case-collect.case-collect_3x .case-collect__list-item {
  max-width: calc(33.3% - 20px);
  -webkit-flex-basis: calc(33.3% - 20px);
  flex-basis: calc(33.3% - 20px);
}
.case-img {
  overflow: hidden;
  border-radius: 5px;
  -webkit-box-shadow: 0 15px 20px rgba(6,14,35,0.05);
  box-shadow: 0 15px 20px rgba(6,14,35,0.05);
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  display: block;
}
.case-img:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
  -webkit-box-shadow: 0 15px 20px rgba(6,14,35,0);
  box-shadow: 0 15px 20px rgba(6,14,35,0);
}
.case-metrics__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
  margin-bottom: -20px;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.case-metrics__list-item {
  margin-right: 10px;
  margin-left: 10px;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.case-metrics__item-main {
  font-weight: 700;
  margin-bottom: 20px;
  font-size: 68px;
  line-height: 1.058823529411765;
  color: #f47146;
}
@media (max-width: 1200px) {
  .case-preview__images-item {
    max-width: 160px;
  }
}
@media (max-width: 1000px) {
  .case-intro__wrapper {
    display: block;
  }
  .case-intro__side {
    width: auto;
    margin-bottom: 40px;
  }
  .case-collect__list-item {
    max-width: calc(33.33% - 20px);
    -webkit-flex-basis: calc(33.33% - 20px);
    flex-basis: calc(33.33% - 20px);
  }
  .case-collect.case-collect_4x .case-collect__list-item {
    max-width: calc(33.33% - 20px);
    -webkit-flex-basis: calc(33.33% - 20px);
    flex-basis: calc(33.33% - 20px);
  }
  .case-metrics__list-item {
    max-width: calc(50% - 20px);
    -webkit-flex-basis: calc(50% - 20px);
    flex-basis: calc(50% - 20px);
  }
}
@media (max-width: 750px) {
  .case-preview__wrapper {
    display: block;
  }
  .case-preview__main {
    margin-bottom: 30px;
  }
  .case-metrics__list-item {
    max-width: calc(100% - 20px);
    -webkit-flex-basis: calc(100% - 20px);
    flex-basis: calc(100% - 20px);
  }
  .case-collect.case-collect_3x .case-collect__list-item,
  .case-collect.case-collect_4x .case-collect__list-item {
    max-width: calc(100% - 20px);
    -webkit-flex-basis: calc(100% - 20px);
    flex-basis: calc(100% - 20px);
  }
}
@media (max-width: 500px) {
  .case-preview__images-item {
    max-width: 130px;
  }
  .case-collect__list-item {
    max-width: calc(50% - 20px);
    -webkit-flex-basis: calc(50% - 20px);
    flex-basis: calc(50% - 20px);
  }
  .case-collect.case-collect_3x .case-collect__list-item,
  .case-collect.case-collect_4x .case-collect__list-item {
    max-width: calc(100% - 20px);
    -webkit-flex-basis: calc(100% - 20px);
    flex-basis: calc(100% - 20px);
  }
}
.case-card {
  border: 1px solid #e1e1e3;
  border-radius: 5px;
  padding: 30px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-height: 260px;
  position: relative;
  color: inherit !important;
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.case-card__wrapper {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative;
  z-index: 5;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.case-card__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.case-card__header {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-bottom: 20px;
}
.case-card__header-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.case-card__header-side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.case-card__header-main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 20px;
}
.case-card__title {
  color: #151313;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}
.case-card__body {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-bottom: 10px;
}
.case-card__desc {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.428571428571429;
}
.case-card__footer {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.case-card__more {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.case-card__more-caption {
  font-weight: 700;
  overflow: hidden;
  max-width: 0;
  display: inline-block;
}
.case-card:hover .case-card__title,
.case-card:hover .case-card__desc,
.case-card:hover .case-card__more {
  color: #fff;
}
.case-card:hover .case-card__more-caption {
  max-width: 999px;
  margin-right: 10px;
}
.case-card:hover .case-card__icon {
  filter: brightness(10);
}
.case-card:hover .case-card__overlay {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.case-card:hover .icon-svg {
  filter: brightness(10);
}
@media (max-width: 750px) {
  .case-card {
    padding: 20px 15px;
  }
}
.collection__actions {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.collection__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  margin-bottom: -20px;
}
.collection__list-item {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: calc(33% - 20px);
  -webkit-flex-basis: calc(33% - 20px);
  flex-basis: calc(33% - 20px);
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.collection__list-item.is-hidden {
  display: none;
}
.collection__list_2x .collection__list-item {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: calc(50% - 20px);
  -webkit-flex-basis: calc(50% - 20px);
  flex-basis: calc(50% - 20px);
}
@media (max-width: 1000px) {
  .collection__list-item {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: calc(50% - 20px);
    -webkit-flex-basis: calc(50% - 20px);
    flex-basis: calc(50% - 20px);
  }
}
@media (max-width: 750px) {
  .collection__list-item {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: calc(100% - 20px);
    -webkit-flex-basis: calc(100% - 20px);
    flex-basis: calc(100% - 20px);
  }
  .collection__list_2x .collection__list-item {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: calc(100% - 20px);
    -webkit-flex-basis: calc(100% - 20px);
    flex-basis: calc(100% - 20px);
  }
}
.cols-list__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin-right: -60px;
  margin-left: -60px;
  margin-bottom: -20px;
}
.cols-list__list-item {
  margin-right: 60px;
  margin-left: 60px;
  max-width: calc(50% - 120px);
  -webkit-flex-basis: calc(50% - 120px);
  flex-basis: calc(50% - 120px);
  margin-bottom: 20px;
}
@media (max-width: 1000px) {
  .cols-list__list {
    margin-right: -30px;
    margin-left: -30px;
  }
  .cols-list__list-item {
    margin-right: 30px;
    margin-left: 30px;
    max-width: calc(50% - 60px);
    -webkit-flex-basis: calc(50% - 60px);
    flex-basis: calc(50% - 60px);
  }
}
@media (max-width: 750px) {
  .cols-list__list {
    display: block;
  }
  .cols-list__list-item {
    max-width: none;
  }
}
.contacts__caption {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 400px;
}
.contacts__map {
  min-height: 500px;
}
.contacts__main {
  max-width: 1515px;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  background-color: #fafafa;
}
.contacts__main-desc {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.contacts__main-map {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-height: 500px;
}
@media (max-width: 1000px) {
  .contacts__main {
    display: block;
  }
  .contacts__caption {
    max-width: none;
  }
}
.cooperation {
  color: #fff;
}
.cooperation__title {
  margin-bottom: 30px;
}
.cooperation__wrapper {
  position: relative;
  background-color: #f47146;
  padding: 60px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 3px;
  overflow: hidden;
}
.cooperation__desc {
  margin-bottom: 45px;
  color: rgba(255,255,255,0.6);
}
.cooperation__main {
  max-width: 500px;
}
.cooperation__action {
  max-width: 240px;
}
.cooperation__side {
  position: absolute;
  bottom: 0;
  right: 0;
}
.cooperation h2 {
  color: #fff;
}
.cooperation img {
  display: block;
  max-width: 100%;
}
@media (max-width: 1200px) {
  .cooperation__side {
    right: -140px;
  }
}
@media (max-width: 1000px) {
  .cooperation__wrapper {
    margin-right: -20px;
    margin-left: -20px;
    padding: 20px;
    padding-bottom: 0;
  }
  .cooperation__side {
    position: static;
  }
}
.development__desc {
  max-width: 1020px;
  font-weight: 500;
}
.development__desc-cols {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-right: -10px;
  margin-left: -10px;
  margin-bottom: -10px;
}
.development__desc-item {
  margin-right: 10px;
  margin-left: 10px;
  margin-bottom: 10px;
  max-width: 430px;
}
.development__major {
  position: relative;
}
.development__major:before {
  content: '';
  position: absolute;
  bottom: 0;
  height: 1px;
  background-color: #eaeaea;
  width: 100vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.drop-menu {
  padding: 15px 25px;
}
.drop-menu__nav-item {
  width: 100%;
  margin-bottom: 10px;
}
.drop-menu__nav-link {
  white-space: nowrap;
}
.footer-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 400;
  pointer-events: none;
  margin-bottom: 80px;
}
.footer-fixed__wrapper {
  position: relative;
}
.footer-fixed__action {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: end;
  -moz-box-pack: end;
  -o-box-pack: end;
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
.footer-fixed__action-main {
  width: 40px;
  height: 40px;
  background-color: #fff;
  border: 2px solid #f47146;
  position: relative;
  border-radius: 50%;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  pointer-events: none;
  cursor: pointer;
  -webkit-transition: 0.3s ease opacity;
  -moz-transition: 0.3s ease opacity;
  -o-transition: 0.3s ease opacity;
  -ms-transition: 0.3s ease opacity;
  transition: 0.3s ease opacity;
  -webkit-box-shadow: 0 0 15px rgba(158,158,158,0.4);
  box-shadow: 0 0 15px rgba(158,158,158,0.4);
}
.footer-fixed__action-main:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
  -moz-transform: translate(-50%, -50%) rotate(180deg);
  -o-transform: translate(-50%, -50%) rotate(180deg);
  -ms-transform: translate(-50%, -50%) rotate(180deg);
  transform: translate(-50%, -50%) rotate(180deg);
  margin-top: -1px;
  width: 18px;
  height: 10px;
}
.footer-fixed__action-main:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2214%22 height=%228%22 viewBox=%220 0 14 8%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M1 1l6 6 6-6%22 stroke=%22%23f47146%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.footer-fixed__action-main.is-active {
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90);
  pointer-events: auto;
}
.footer-fixed__action-main.is-active:hover {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
@media (max-width: 750px) {
  .footer-fixed {
    margin-bottom: 100px;
  }
}
.footer {
  background: #353535;
}
.footer__major {
  padding-top: 90px;
  padding-bottom: 50px;
  border-bottom: 2px solid rgba(255,255,255,0.05);
}
.footer__header {
  font-size: 20px;
  line-height: 1.5;
  color: #fff;
  font-weight: 600;
  margin-bottom: 10px;
}
.footer__map {
  display: inline-block;
  font-size: 14px;
  line-height: 1.428571428571429;
  font-weight: 500;
  padding-left: 20px;
  color: #f47146 !important;
}
.footer__map:hover {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
}
.footer__list_horizontal {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.footer__list-item {
  margin-bottom: 10px;
}
.footer__list-item:last-child {
  margin-bottom: 0;
}
.footer__list-header {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin-bottom: 16px;
}
.footer__calltime {
  font-size: 14px;
  line-height: 1.428571428571429;
  font-weight: 500;
  padding-left: 20px;
  margin-bottom: 26px;
  color: rgba(103,104,113,0.7);
}
.workime,
.footer__worktime {
  margin-left: 20px;
  padding: 5px 15px;
  background-color: #b9e5c2;
  color: #14a735;
  font-size: 14px;
  line-height: 1.428571428571429;
  font-weight: 500;
  display: inline-block;
  border-radius: 5px;
}
.workime.is-disabled,
.footer__worktime.is-disabled {
  background-color: #fdb3b3;
  color: #f70000;
}
.workime_small,
.footer__worktime_small {
  padding: 0;
  background-color: transparent;
}
.footer__minor {
  padding-top: 35px;
  padding-bottom: 35px;
}
.footer__side {
  margin-bottom: 40px;
}
.footer__title {
  font-size: 32px;
  line-height: 1.40625;
  font-weight: 700;
  color: #050216;
}
.footer__cols {
  max-width: 1000px;
}
.footer__cols_large {
  max-width: unset;
}
.footer__cols-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin-right: -15px;
  margin-left: -15px;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
.footer__cols-list_start {
  -webkit-box-pack: start;
  -moz-box-pack: start;
  -o-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.footer__cols-list:last-child {
  margin-bottom: -10px;
}
.footer__cols-item {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-right: 15px;
  margin-left: 15px;
  margin-bottom: 10px;
}
.footer__cols-item_map {
  max-width: 260px;
}
.footer__cols-item_4x {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 calc(25% - 30px);
  -ms-flex: 0 0 calc(25% - 30px);
  flex: 0 0 calc(25% - 30px);
  margin-bottom: 20px;
}
.footer__cols-item_links {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: end;
  -moz-box-pack: end;
  -o-box-pack: end;
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
.footer__cols-item_products {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.footer__copyright {
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255,255,255,0.5);
}
.footer__copyright-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.footer__copyright-side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.footer__copyright-main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 10px;
}
.footer.footer_simple .footer__map,
.footer.footer_simple .footer__side {
  display: none;
}
.footer.footer_simple .footer__major {
  display: none;
}
.footer.footer_simple .footer__minor {
  border-top: 1px solid rgba(194,195,198,0.2);
}
.footer-cols_contacts .footer__cols-item_links {
  -webkit-box-pack: initial;
  -moz-box-pack: initial;
  -o-box-pack: initial;
  -ms-flex-pack: initial;
  -webkit-justify-content: initial;
  justify-content: initial;
}
@media (max-width: 1000px) {
  .footer__cols-item_4x {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 0 0 calc(50% - 30px);
    -ms-flex: 0 0 calc(50% - 30px);
    flex: 0 0 calc(50% - 30px);
  }
}
@media (max-width: 850px) {
  .footer__cols-item_links {
    -webkit-box-pack: initial;
    -moz-box-pack: initial;
    -o-box-pack: initial;
    -ms-flex-pack: initial;
    -webkit-justify-content: initial;
    justify-content: initial;
  }
}
@media (max-width: 750px) {
  .footer__worktime {
    margin-left: 0px;
  }
  .footer__list-header {
    display: block;
  }
  .footer__list_horizontal {
    display: block;
  }
  .footer__side {
    margin-bottom: 15px;
  }
  .footer__major {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .footer__minor {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .footer__cols-list {
    display: block;
    margin-bottom: 10px;
  }
  .footer__cols-item {
    margin-bottom: 20px;
  }
  .footer__cols-item_links {
    display: block;
  }
  .footer__cols-item_products {
    display: block;
  }
  .footer__cols-item:last-child {
    margin-bottom: 0;
  }
}
@media (max-width: 500px) {
  .footer__copyright-wrapper {
    display: block;
  }
  .footer__copyright-main {
    margin-right: 0;
    margin-bottom: 15px;
  }
}
.functions-item__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.functions-item__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 100px;
}
.functions-item__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-top: 40px;
  max-width: 500px;
}
.functions-item__counter {
  margin-bottom: 40px;
  font-weight: 700;
  color: #a4a4aa;
}
.functions-item__title {
  margin-bottom: 30px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  color: #050216;
}
.functions-item__desc {
  font-weight: 500;
}
.functions-item img {
  display: block;
  max-width: 100%;
}
.functions-item.functions-item_reverse .functions-item__side {
  -webkit-box-ordinal-group: 2;
  -moz-box-ordinal-group: 2;
  -o-box-ordinal-group: 2;
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
  margin-right: 0;
}
.functions-item.functions-item_reverse .functions-item__main {
  -webkit-box-ordinal-group: 1;
  -moz-box-ordinal-group: 1;
  -o-box-ordinal-group: 1;
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
  margin-right: 100px;
}
@media (max-width: 1000px) {
  .functions-item__side {
    width: 300px;
    margin-right: 60px;
  }
  .functions-item.functions-item_reverse .functions-item__side {
    margin-right: 0;
  }
  .functions-item.functions-item_reverse .functions-item__main {
    margin-right: 60px;
  }
}
@media (max-width: 750px) {
  .functions-item__wrapper {
    display: block;
  }
  .functions-item__counter {
    margin-bottom: 20px;
  }
  .functions-item__side {
    width: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
}
.gallery-slider {
  position: relative;
}
.gallery-slider__list.is-lock {
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90);
  pointer-events: none;
}
.gallery-slider__nav {
  position: absolute;
  right: -80px;
  left: -80px;
  z-index: 5;
  padding: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  pointer-events: none;
}
.gallery-slider__nav-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -3px;
}
.gallery-slider__link {
  display: block;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  transition: 0.3s ease;
  min-height: 90px;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}
.gallery-slider__link_bg-container {
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
}
.gallery-slider__item {
  display: none;
  overflow: hidden;
  border: 1px solid rgba(244,113,70,0);
  position: relative;
  cursor: pointer;
}
.gallery-slider__item:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  pointer-events: none;
  opacity: 0.2;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
  filter: alpha(opacity=20);
}
.gallery-slider__item:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  display: block;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  transition: 0.3s ease;
  background-color: rgba(244,113,70,0);
}
.gallery-slider__item.is-active {
  pointer-events: none;
}
.gallery-slider__item.is-active:before {
  background-color: rgba(244,113,70,0.5);
}
.gallery-slider__item:hover:before {
  background-color: rgba(244,113,70,0.3);
}
.gallery-slider__item:first-child {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  display: block;
}
.gallery-slider__item-desc {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 40px;
  color: #fff;
  font-size: 14px;
  line-height: ;
  z-index: 150;
}
.gallery-slider__img {
  display: block;
  max-width: 100%;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.gallery-slider.is-init .gallery-slider__item {
  opacity: 1;
  -ms-filter: none;
  filter: none;
  display: block;
}
.gallery-slider_previews {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  transition: 0.3s ease;
}
.gallery-slider_previews .gallery-slider__img {
  max-height: 56px;
}
.gallery-slider_previews .gallery-slider__link::before {
  content: '';
  display: block;
  padding-top: 64.47368421052632%;
}
.gallery-slider_previews .gallery-slider__item:after {
  display: none;
}
.gallery-slider_previews.is-init {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.gallery-slider_previews.is-init .gallery-slider__img {
  max-height: none;
}
.gallery-slider_main .gallery-slider__item:first-child {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
  position: relative;
  min-height: 220px;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  transition: 0.3s ease;
}
.gallery-slider_main .gallery-slider__item:first-child:before {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  top: 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%);
  width: 200px;
  height: 200px;
}
.gallery-slider_main .gallery-slider__item:first-child:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg class=%22lds-spinner%22 width=%22200%22 height=%22200%22 xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22 preserveAspectRatio=%22none%22 style=%22background:0 0%22%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.9166666666666666s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(30 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.8333333333333334s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(60 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.75s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(90 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.6666666666666666s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(120 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.5833333333333334s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(150 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.5s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(180 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.4166666666666667s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(210 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.3333333333333333s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(240 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.25s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(270 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.16666666666666666s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(300 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%22-0.08333333333333333s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3Crect x=%2247%22 y=%2224%22 rx=%229.4%22 ry=%224.8%22 width=%226%22 height=%2212%22 fill=%22%2328292f%22 transform=%22rotate(330 50 50)%22%3E%3Canimate attributeName=%22opacity%22 values=%221;0%22 keyTimes=%220;1%22 dur=%221s%22 begin=%220s%22 repeatCount=%22indefinite%22/%3E%3C/rect%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.gallery-slider_main.is-init .gallery-slider__item:first-child {
  opacity: 1;
  -ms-filter: none;
  filter: none;
  min-height: 0;
}
.gallery-slider_main.is-init .gallery-slider__item:first-child:before {
  display: none;
}
@media (max-width: 1400px) {
  .gallery-slider__nav {
    right: 0;
    left: 0;
    padding: 0 40px;
  }
}
@media (max-width: 1200px) {
  .gallery-slider__nav {
    display: none;
  }
  .gallery-slider.gallery-slider_previews .gallery-slider__link:before {
    padding-top: 34.21052631578947%;
  }
}
@media (max-width: 750px) {
  .gallery-slider__item-desc {
    padding: 20px;
  }
  .gallery-slider__desc {
    max-height: 2.4em;
    line-height: 1.4;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
  }
}
.grid__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  margin-bottom: -20px;
}
.grid__list-item {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: calc(33% - 20px);
  -webkit-flex-basis: calc(33% - 20px);
  flex-basis: calc(33% - 20px);
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 20px;
}
@media (max-width: 1200px) {
  .grid__list-item {
    max-width: calc(33% - 20px);
    -webkit-flex-basis: calc(33% - 20px);
    flex-basis: calc(33% - 20px);
  }
}
@media (max-width: 1000px) {
  .grid__list-item {
    max-width: calc(50% - 20px);
    -webkit-flex-basis: calc(50% - 20px);
    flex-basis: calc(50% - 20px);
  }
}
@media (max-width: 750px) {
  .grid__list-item {
    max-width: calc(100% - 20px);
    -webkit-flex-basis: calc(100% - 20px);
    flex-basis: calc(100% - 20px);
  }
}
.grid__list-item-2 {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: calc(50% - 20px);
  -webkit-flex-basis: calc(50% - 20px);
  flex-basis: calc(50% - 20px);
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 20px;
}
@media (max-width: 1200px) {
  .grid__list-item-2 {
    max-width: calc(50% - 20px);
    -webkit-flex-basis: calc(50% - 20px);
    flex-basis: calc(50% - 20px);
  }
}
@media (max-width: 1000px) {
  .grid__list-item-2 {
    max-width: calc(50% - 20px);
    -webkit-flex-basis: calc(50% - 20px);
    flex-basis: calc(50% - 20px);
  }
}
@media (max-width: 750px) {
  .grid__list-item-2 {
    max-width: calc(100% - 20px);
    -webkit-flex-basis: calc(100% - 20px);
    flex-basis: calc(100% - 20px);
  }
}
.grid-card {
  font-weight: 500;
  color: #050216;
  padding: 30px;
  border-radius: 3px;
  -webkit-box-shadow: 0 10px 20px -10px rgba(3,3,11,0.05);
  box-shadow: 0 10px 20px -10px rgba(3,3,11,0.05);
  background-color: #fafafa;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-height: 280px;
}
.grid-card__side {
  min-height: 25px;
  margin-bottom: 25px;
  overflow: hidden;
}
.grid-card__header-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.grid-card__header-main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 20px;
}
.grid-card__header-side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.grid-card__icon {
  font-weight: 700;
  color: #f47146;
}
.grid-card__icon img {
  display: block;
  max-width: 100%;
}
.grid-card__badge,
.grid-card__desc {
  color: #a1a1a1;
  font-weight: 400;
  padding-top: 15px;
}
.grid-card__badge {
  padding-top: 0;
}
.grid-card.grid-card_dark {
  background-color: #fafafb;
}
.hardware__desc {
  max-width: 1020px;
  font-weight: 500;
}
.hardware__desc-cols {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-right: -10px;
  margin-left: -10px;
  margin-bottom: -10px;
}
.hardware__desc-item {
  margin-right: 10px;
  margin-left: 10px;
  margin-bottom: 10px;
  max-width: 430px;
}
.hardware__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
}
.hardware__list-item {
  max-width: calc(33.33% - 10px);
  -webkit-flex-basis: calc(33.33% - 10px);
  flex-basis: calc(33.33% - 10px);
  margin-left: 5px;
  margin-right: 5px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.hardware-card {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.hardware-card__image {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 3px;
  -webkit-box-flex: 4;
  -moz-box-flex: 4;
  -o-box-flex: 4;
  box-flex: 4;
  -webkit-flex: 4;
  -ms-flex: 4;
  flex: 4;
  min-height: 420px;
}
.hardware-card__image img {
  display: block;
  max-width: 100%;
}
.hardware-card__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.hardware-card__title {
  font-size: 20px;
  line-height: 1.5;
  color: #a4a4aa;
}
.hardware-card__title b {
  color: #050216;
}
.hardware-card:hover .hardware-card__image {
  background-color: #f7f7f8;
}
@media (max-width: 1000px) {
  .hardware__list-item {
    max-width: calc(50% - 10px);
    -webkit-flex-basis: calc(50% - 10px);
    flex-basis: calc(50% - 10px);
  }
}
@media (max-width: 750px) {
  .hardware__list-item {
    max-width: calc(100% - 10px);
    -webkit-flex-basis: calc(100% - 10px);
    flex-basis: calc(100% - 10px);
  }
}
.header-box__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.header-box__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  margin-right: 20px;
  max-width: 900px;
}
.header-box__side {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: end;
  -moz-box-pack: end;
  -o-box-pack: end;
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-left: auto;
}
.header {
  z-index: 30;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.header__box {
  background-color: #fff;
  padding-top: 15px;
  padding-bottom: 15px;
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-box-shadow: 0 10px 10px rgba(182,182,182,0);
  box-shadow: 0 10px 10px rgba(182,182,182,0);
}
.header__lang {
  font-size: 14px;
  line-height: 1.428571428571429;
  font-weight: 500;
}
.header__lang-list {
  margin-right: -5px;
  margin-left: -5px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: single;
  -moz-box-lines: single;
  -o-box-lines: single;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.header__lang-item {
  margin-right: 5px;
  margin-left: 5px;
}
.header__lang-item.is-active {
  pointer-events: none;
  color: #f47146;
}
.header__menu {
  cursor: pointer;
}
.header__menu_open {
  display: none;
}
.header__menu:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.header__nav {
  font-size: 14px;
  line-height: 1.428571428571429;
  font-weight: 500;
}
.header__nav-link {
  white-space: nowrap;
  color: inherit;
}
.header__nav-link_bordered {
  display: block;
  padding: 5px 0px 20px;
  border-bottom: 1px solid #c2c3c6;
}
.header__nav-title {
  color: inherit;
  font-weight: 700;
}
.header__nav-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: space-evenly;
  -moz-box-pack: space-evenly;
  -o-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  -webkit-justify-content: space-evenly;
  justify-content: space-evenly;
  margin-left: -5px;
  margin-right: -5px;
  margin-bottom: -10px;
}
.header__nav-list_mobile {
  margin-bottom: 0px;
}
.header__nav-item {
  margin-right: 5px;
  margin-left: 5px;
  margin-bottom: 10px;
}
.header__nav_mobile {
  font-size: 16px;
  line-height: 1.5;
  display: block;
}
.header__nav_mobile .header__nav-list {
  display: block;
  padding: 0px 25px;
}
.header__nav_mobile .header__nav-item {
  margin-bottom: 15px;
}
.header__drop {
  background-color: #fff;
  -webkit-box-shadow: 0 10px 10px rgba(182,182,182,0.5);
  box-shadow: 0 10px 10px rgba(182,182,182,0.5);
  width: 100%;
  z-index: 25;
  overflow-x: hidden;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  height: calc(100% - 75px);
  display: none;
}
.header__drop-menu {
  width: 100%;
  max-width: 1080px;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.header__drop-side {
  margin-bottom: 30px;
}
.header__drop-main {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-bottom: 30px;
}
.header__drop.is-open {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
  -ms-filter: none;
  filter: none;
  display: block;
}
.header__items-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-left: -10px;
  margin-right: -10px;
}
.header__item {
  margin-left: 10px;
  margin-right: 10px;
}
.header__item_nav {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 670px;
}
.header__item_menu {
  display: none;
}
.header__logo {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.header__logo-side {
  padding-left: 20px;
}
.header__logo img {
  display: block;
}
.header__logo:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.header__nav-item:hover .header__drop-menu {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.header.is-open {
  height: 100%;
}
.header.is-open .header__menu_open {
  display: block;
}
.header.is-open .header__menu_close {
  display: none;
}
.header.is-sticky .header__box {
  -webkit-box-shadow: 0 10px 10px rgba(182,182,182,0.5);
  box-shadow: 0 10px 10px rgba(182,182,182,0.5);
}
@media (min-width: 1001px) {
  .header_light:not(.is-sticky) .logo-caption {
    fill: #fff;
  }
  .header_light:not(.is-sticky) .header__box {
    background-color: transparent;
  }
  .header_light:not(.is-sticky) .header__nav {
    color: #fff;
  }
  .header_light:not(.is-sticky) .header__nav-link:hover {
    color: inherit !important;
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=50);
  }
  .header_light:not(.is-sticky) .header__lang-item {
    color: #fff;
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=50);
  }
  .header_light:not(.is-sticky) .header__lang-item.is-active {
    opacity: 1;
    -ms-filter: none;
    filter: none;
  }
  .header_light:not(.is-sticky) .badge-icon {
    color: #fff;
  }
  .header_light:not(.is-sticky) .badge-icon__side {
    filter: brightness(10);
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=50);
  }
  .header_light:not(.is-sticky) .badge-icon path {
    fill: #fff !important;
  }
}
@media (max-width: 1000px) {
  .header__items-wrapper {
    margin-left: -10px;
    margin-right: -10px;
  }
  .header__item {
    margin-left: 10px;
    margin-right: 10px;
  }
  .header__item_nav {
    display: none;
  }
  .header__item_menu {
    display: block;
  }
  .header__item_logo {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
@media (max-width: 750px) {
  .header__item_phone {
    display: none;
  }
}
.icon-svg path {
  fill: #f47146 !important;
}
.icon-svg-menu {
  width: 26px;
  height: 26px;
}
.intro {
  padding-top: 30px;
}
.intro__title {
  max-width: 620px;
  font-weight: 700;
}
.intro__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-bottom: 70px;
}
.intro .current {
  color: #f47146;
}
.intro-item {
  font-weight: 500;
  position: relative;
}
.intro-item__call-item_desc {
  font-size: 14px;
  line-height: 1;
}
.intro-item__call-item:last-child {
  margin-bottom: 0;
}
.intro-item__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
}
.intro-item__cols {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  -webkit-box-align: start;
  -moz-box-align: start;
  -o-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-bottom: -15px;
}
.intro-item__cols-item {
  margin-right: 15px;
  margin-left: 15px;
  margin-bottom: 15px;
}
.intro-item__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 30px;
}
.intro-item__desc {
  max-width: 500px;
  margin-bottom: 85px;
}
.intro-item__title {
  margin-bottom: 50px;
}
.intro-item img {
  display: block;
  max-width: 100%;
}
.intro-item_inject {
  margin-bottom: 170px;
}
.intro-item_inject .intro-item__side {
  position: absolute;
  right: 20px;
  top: -340px;
}
@media (max-width: 1600px) {
  .intro-item_inject {
    margin-bottom: 120px;
  }
}
@media (max-width: 1200px) {
  .intro {
    padding-top: 0;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  .intro__side {
    margin-bottom: 40px;
  }
  .intro-item_inject {
    margin-bottom: 50px;
  }
  .intro-item_inject .intro-item__side {
    position: static;
  }
}
@media (max-width: 1000px) {
  .intro-item__actions-list {
    display: block;
  }
  .intro-item__title {
    margin-bottom: 20px;
  }
  .intro-item__desc {
    margin-bottom: 50px;
  }
  .intro-item__side {
    max-width: 300px;
  }
}
@media (max-width: 750px) {
  .intro__side {
    margin-bottom: 20px;
  }
  .intro-item__actions {
    padding-top: 20px;
    margin-bottom: 40px;
  }
  .intro-item__desc {
    margin-bottom: 30px;
  }
  .intro-item__main {
    margin-right: 0;
    margin-bottom: 20px;
  }
  .intro-item__wrapper {
    display: block;
  }
}
.lang {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
}
.lang__item {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  margin-right: 10px;
  margin-left: 10px;
}
.lang__item_title {
  min-width: 170px;
}
.lang__flags {
  margin-right: -5px;
  margin-left: -5px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: single;
  -moz-box-lines: single;
  -o-box-lines: single;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.lang-flag {
  filter: drop-shadow(0px 5px 10px rgba(0,0,0,0.1));
  margin-right: 5px;
  margin-left: 5px;
}
.news-card {
  display: block;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.news-card__side {
  margin-bottom: 30px;
}
.news-card__preview {
  min-height: 300px;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 3px;
  position: relative;
}
.news-card__preview:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(244,113,70,0);
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.news-card__title {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  color: #050216;
  margin-bottom: 15px;
}
.news-card:hover .news-card__preview:before {
  background-color: rgba(244,113,70,0.4);
}
.page {
  border-bottom: 1px solid rgba(194,195,198,0.2);
}
.page_border-none {
  border-bottom: none;
}
.partners {
  max-width: 1060px;
}
.partners__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  position: relative;
}
.partners__side {
  width: 400px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: absolute;
  right: 0;
  top: -125px;
  max-width: 100%;
}
.partners__main {
  max-width: 550px;
}
@media (max-width: 1200px) {
  .partners__main {
    max-width: 450px;
  }
}
@media (max-width: 1000px) {
  .partners__wrapper {
    display: block;
  }
  .partners__main {
    max-width: none;
    margin-bottom: 30px;
  }
  .partners__side {
    width: auto;
    position: static;
  }
}
.badge-icon {
  color: #050216;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.428571428571429;
  position: relative;
  display: -webkit-inline-box;
  display: -moz-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-box;
  display: inline-flex;
}
.badge-icon:before {
  content: '';
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
}
.badge-icon_contact {
  color: #fff;
}
.badge-icon_link {
  color: rgba(255,255,255,0.5);
  font-weight: 500;
}
.badge-icon__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.badge-icon__main {
  padding-left: 7px;
}
.badge-icon__main_gap_left {
  padding-left: 0px;
}
.badge-icon__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: relative;
  top: -1px;
}
.badge-icon__side img {
  vertical-align: middle;
}
.badge-icon.is-large {
  font-size: 22px;
  line-height: 1.363636363636364;
  font-weight: 700;
}
.picset__side {
  padding-bottom: 30px;
  margin-bottom: 30px;
  position: relative;
}
.picset__side:before {
  content: '';
  position: absolute;
  bottom: 0;
  height: 1px;
  background-color: #eaeaea;
  width: 100vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: 0.4;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  filter: alpha(opacity=40);
}
.picset-item__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  position: relative;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.picset-item__main {
  position: relative;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.picset-item__side {
  max-width: 530px;
  margin-right: 70px;
  padding-top: 145px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.picset-item__title {
  color: #050216;
  font-weight: 700;
  margin-bottom: 30px;
  font-size: 30px;
  line-height: 1.5;
}
.picset-item__desc {
  margin-bottom: 100px;
  font-weight: 500;
}
.picset-item__action {
  padding-bottom: 40px;
  min-width: 240px;
}
.picset-item__images {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  margin-bottom: -20px;
}
.picset-item__image {
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 20px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.picset-item img {
  display: block;
  max-width: 100%;
}
.picset-item_action .picset-item__side {
  padding-top: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.picset-item_action .picset-item__section {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.picset-item_action .picset-item__desc {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
@media (max-width: 1000px) {
  .picset-item__wrapper {
    display: block;
  }
  .picset-item__title {
    margin-bottom: 20px;
  }
  .picset-item__side {
    margin-right: 0;
    padding-top: 30px;
  }
  .picset-item__main {
    width: auto;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -o-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
  .picset-item__desc {
    margin-bottom: 30px;
  }
  .picset-item__image {
    display: block;
    position: static;
    margin-right: auto;
    margin-left: auto;
  }
  .picset-item__images {
    display: block;
  }
}
.price-checker {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin: 0 -10px;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.price-checker__item {
  margin: 0 10px;
}
.price-checker__button {
  width: 60px;
  height: 30px;
  background-color: #f47146;
  border-radius: 20px;
  position: relative;
  cursor: pointer;
}
.price-checker__button:before {
  width: 25px;
  height: 25px;
  content: '';
  display: block;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 5px;
}
.price-checker__button:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.price-checker.is-active .price-checker__button:before {
  right: 5px;
  left: auto;
}
.price-market {
  background-color: #f47146;
  color: #fff;
  border-radius: 5px;
  padding: 20px 40px;
  padding-right: 60px;
  font-size: 18px;
  line-height: 1.333333333333333;
  font-weight: 600;
  background-image: url("../images/icon/sale.svg");
  background-position: right center;
  background-repeat: no-repeat;
}
.price-market__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin: 0 -10px;
  max-width: 1000px;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: -10px;
}
.price-market__main {
  margin: 0 10px;
  max-width: 640px;
  margin-bottom: 10px;
}
.price-market__side {
  margin: 0 10px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-bottom: 10px;
}
.price-market__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
  margin-bottom: -10px;
}
.price-market__list-item {
  margin: 0 10px;
  margin-bottom: 10px;
  -webkit-flex-basis: calc(50% - 20px);
  flex-basis: calc(50% - 20px);
  max-width: calc(50% - 20px);
}
.price-market__title {
  font-size: 30px;
  line-height: 1.5;
  font-weight: 700;
  line-height: 1.2;
}
.price-table__section {
  border-bottom: 1px solid #f0f0f1;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.price-table__section:last-child {
  border-bottom: none;
}
.price-table__tr {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin: 0 -10px;
}
.price-table__td {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-top: 10px;
  padding-bottom: 10px;
  margin: 0 10px;
  font-size: 14px;
  line-height: 1.428571428571429;
}
.price-table__td_side {
  text-align: center;
  width: 175px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.price-table__td_caption {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.333333333333333;
  color: #000;
}
.price-table__td_small {
  font-size: 12px;
  line-height: 1.5;
}
.price-table__td_title,
.price-table__td_sum {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  color: #000;
}
.price-table__td_primary {
  color: #f47146;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
}
.price-table__checkbox {
  width: 20px;
  height: 20px;
  border: 2px solid #a4a4aa;
  -webkit-background-size: 60%;
  -moz-background-size: 60%;
  background-size: 60%;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-image: url("../images/icon/check.svg");
  border-radius: 2px;
  margin: 0 auto;
}
.price-table__checkbox.is-active {
  background-color: #14a735;
  border-color: #14a735;
}
.price-table_mobile {
  display: none;
}
.price-table em {
  color: #c2c3c6;
  font-style: normal;
}
.price-table .count-user {
  color: #000;
}
.price-server__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.price-server__main {
  max-width: 500px;
  margin-right: 70px;
}
.price-server__desc {
  margin-bottom: 50px;
}
.price-server__side {
  position: relative;
}
.price-server__image {
  position: relative;
  top: -75px;
}
.price-server svg {
  display: block;
  max-width: 100%;
}
.price-cards {
  display: none;
}
@media (max-width: 1200px) {
  .price-table__td_side {
    text-align: center;
    width: 140px;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
  .price-table__td_title {
    font-size: 14px;
    line-height: 1.428571428571429;
  }
  .price-server__wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
  }
  .price-server__main {
    margin-right: 20px;
  }
  .price-server__desc {
    margin-bottom: 50px;
  }
  .price-server__side {
    position: relative;
  }
  .price-server__image {
    position: relative;
    top: -75px;
  }
}
@media (max-width: 1000px) {
  .price-checker {
    font-size: 12px;
    line-height: 1.5;
    margin: 0 -5px;
  }
  .price-checker__button {
    width: 50px;
  }
  .price-checker__item {
    margin: 0 5px;
  }
  .price-cards {
    display: block;
  }
  .price-table_desktop {
    display: none;
  }
  .price-table__td_side {
    width: auto;
  }
  .price-table_mobile {
    display: block;
  }
}
@media (max-width: 750px) {
  .price-server__wrapper {
    display: block;
  }
  .price-server__desc {
    margin-bottom: 20px;
  }
  .price-server__main {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .price-server__image {
    position: relative;
    top: 0;
  }
  .price-server__image svg {
    max-height: 335px;
  }
}
.price-list {
  max-width: 1000px;
  padding: 0 60px;
}
.price-list__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -20px;
  margin-right: -20px;
  margin-bottom: -20px;
}
.price-list__list-item {
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 20px;
}
@media (max-width: 750px) {
  .price-list {
    max-width: 1000px;
    padding: 0;
  }
  .price-market {
    padding: 20px;
    background-position: 130% 110%;
  }
  .price-market__list {
    display: block;
  }
  .price-market__list-item {
    -webkit-flex-basis: calc(100% - 20px);
    flex-basis: calc(100% - 20px);
    max-width: calc(100% - 20px);
  }
}
.reg-form__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.reg-form__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: -90px;
}
.reg-form__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.reg-form .field-input {
  background-color: #fff;
  padding-right: 110px;
}
@media (max-width: 1200px) {
  .reg-form {
    max-width: 595px;
  }
}
@media (max-width: 750px) {
  .reg-form {
    max-width: none;
  }
  .reg-form__wrapper {
    display: block;
    max-width: 700px;
    margin-right: auto;
    margin-left: auto;
  }
  .reg-form__main {
    margin-bottom: 20px;
    margin-right: 0;
  }
  .reg-form .field-input {
    padding-right: 20px;
  }
  .reg-form .button {
    width: 100%;
  }
}
.representation-country {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  -o-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  -o-box-align: baseline;
  -ms-flex-align: baseline;
  -webkit-align-items: baseline;
  align-items: baseline;
  margin-left: -8px;
  margin-right: -8px;
}
.representation-country__item {
  margin-left: 8px;
  margin-right: 8px;
}
.representation-company {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  -o-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  -o-box-align: baseline;
  -ms-flex-align: baseline;
  -webkit-align-items: baseline;
  align-items: baseline;
  margin-left: -20px;
  margin-right: -20px;
}
.representation-company__item {
  margin-left: 20px;
  margin-right: 20px;
  font-style: normal;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.4;
  color: #050216;
}
.representation-link {
  position: relative;
  font-size: 16px;
  line-height: 1.5;
  line-height: 2;
  font-weight: 500;
  color: #050216;
}
.representation-link::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 1px;
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: 0 100%;
  -moz-transform-origin: 0 100%;
  -o-transform-origin: 0 100%;
  -ms-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  background-color: #f47146;
}
.representation-text {
  font-size: 16px;
  line-height: 1.5;
  line-height: 1.5;
  color: rgba(0,0,0,0.5);
  min-width: 170px;
}
.representation-owner {
  font-size: 16px;
  line-height: 1.5;
  color: #050216;
  font-weight: 600;
  line-height: 2;
}
.representation__desc {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 440px;
  max-width: 440px;
}
.representation__map {
  min-height: 700px;
}
.representation__main {
  max-width: 1520px;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  background-color: #fafafa;
}
.representation__main-desc {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 55px 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: start;
  -moz-box-align: start;
  -o-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.representation__main-map {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-height: 700px;
}
.representation-desc__main {
  border-bottom: 2px solid rgba(103,104,113,0.05);
  position: relative;
}
@media (max-width: 1000px) {
  .representation__main {
    display: block;
  }
  .representation__desc {
    max-width: none;
    min-width: auto;
  }
}
@media (max-width: 750px) {
  .representation__main-desc {
    padding: 40px 20px;
  }
  .representation-section__action {
    padding-top: 20px;
  }
}
.slider {
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(194,195,198,0.2);
}
.slider__major {
  margin-bottom: 20px;
}
.socials__list {
  margin-right: -5px;
  margin-left: -5px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.socials__list-item {
  margin-right: 5px;
  margin-left: 5px;
}
.social-item {
  width: 45px;
  height: 45px;
  border-radius: 3px;
  overflow: hidden;
  position: relative;
  display: block;
}
.social-item__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%);
}
.social-item:active {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.social-item:hover {
  background-color: #f47146;
}
.social-item:hover path {
  fill: #fff;
}
@media (max-width: 750px) {
  .social-item {
    width: 30px;
    height: 30px;
  }
}
.solution-slide__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.solution-slide__images-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin-right: -10px;
  margin-left: -10px;
}
.solution-slide__image {
  display: block;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 100%;
  margin-right: 10px;
  margin-left: 10px;
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.solution-slide__image:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.solution-slide__image-box {
  padding: 20px;
  border: 2px solid #f4f4f5;
  border-radius: 10px;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.solution-slide__image_side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 170px;
}
.solution-slide__title {
  margin-bottom: 20px;
  font-weight: 700;
  color: #a4a4aa;
}
.solution-slide__desc {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: 500;
  color: #676871;
}
.solution-slide__dots {
  padding-top: 40px;
}
.solution-slide__dots-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin-left: -7px;
  margin-right: -7px;
}
.solution-slide__dots-item {
  cursor: pointer;
  width: 10px;
  height: 10px;
  background-color: #f47146;
  border-radius: 3px;
  opacity: 0.4;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  filter: alpha(opacity=40);
  margin-left: 7px;
  margin-right: 7px;
}
.solution-slide__dots-item.is-active {
  opacity: 1;
  -ms-filter: none;
  filter: none;
  pointer-events: none;
}
.solution-slide__dots-item:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.solution-slide__side {
  width: 580px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 50px;
}
.solution-slide__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.solution-slide img {
  display: block;
  max-width: 100%;
  overflow: hidden;
  border-radius: 5px;
  max-height: 400px;
  object-fit: contain;
}
@media (max-width: 1200px) {
  .solution-slide__wrapper {
    display: block;
  }
  .solution-slide__side {
    width: auto;
    margin-right: auto;
    margin-bottom: 40px;
  }
}
@media (max-width: 750px) {
  .solution-slide__images-list {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
  .solution-slide__image {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.submenu__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  background-color: #fff;
  margin-top: 40px;
  padding: 20px;
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 15px rgba(182,182,182,0.5);
  box-shadow: 0 5px 15px rgba(182,182,182,0.5);
}
.submenu__main {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-flex: 1.3;
  -moz-box-flex: 1.3;
  -o-box-flex: 1.3;
  box-flex: 1.3;
  -webkit-flex: 1.3;
  -ms-flex: 1.3;
  flex: 1.3;
}
.submenu__side {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.submenu__item-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  -o-box-orient: horizontal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: start;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  overflow-y: auto;
}
.submenu__item-list .submenu__item {
  -webkit-flex-basis: 50%;
  flex-basis: 50%;
}
.submenu__item {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}
.submenu-item {
  width: 100%;
}
.submenu-item__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0px 10px;
  padding: 10px 15px;
}
.submenu-item__wrapper:hover .submenu-item__title {
  color: #f47146;
}
.submenu-item__title {
  font-weight: 500;
  color: #050216;
  margin-bottom: 10px;
  font-size: 16px;
  -webkit-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.submenu-item__desc {
  color: #676871;
}
.submenu-content__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0px 10px;
  padding: 10px 15px;
}
.submenu-content__title {
  margin-bottom: 30px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  color: #050216;
}
.submenu-content__image {
  margin-bottom: 20px;
  position: relative;
  cursor: pointer;
}
.submenu-content__image:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  display: block;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  transition: 0.3s ease;
  background-color: rgba(244,113,70,0);
}
.submenu-content__image img {
  display: block;
  max-width: 100%;
}
.submenu-content__image:hover:before {
  background-color: rgba(244,113,70,0.3);
}
.submenu-content__desc {
  margin-bottom: 20px;
}
.tabs__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin: 0 -23px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
.tabs__list::after {
  content: '';
  display: block;
  width: 20px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.tabs__item {
  margin: 0 23px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  cursor: pointer;
}
@media (max-width: 750px) {
  .tabs__list {
    margin: 0 -15px;
  }
  .tabs__item {
    margin: 0 15px;
  }
}
.tabs-item {
  color: #c2c3c6;
  padding-bottom: 14px;
  display: block;
  position: relative;
  font-weight: 500;
  -webkit-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.tabs-item::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 4px;
  -webkit-transform: scale(1, 0);
  -moz-transform: scale(1, 0);
  -o-transform: scale(1, 0);
  -ms-transform: scale(1, 0);
  transform: scale(1, 0);
  -webkit-transform-origin: 0 100%;
  -moz-transform-origin: 0 100%;
  -o-transform-origin: 0 100%;
  -ms-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  background-color: #f47146;
}
.tabs-item:hover {
  color: #f47146;
}
.tabs-item.is-open {
  color: #f47146;
}
.tabs-item.is-open::before {
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}
.tabs_white .tabs-item {
  color: rgba(255,255,255,0.4);
}
.tabs_white .tabs-item:hover {
  color: #fff;
}
.tabs_white .tabs-item.is-open {
  color: #fff;
}
.tabs_white .tabs-item.is-open::before {
  background-color: #fff;
}
.tabs_underline .tabs__wrapper {
  border-bottom: 1px solid rgba(224,223,234,0.8);
}
.tabs_underline-outer .tabs__wrapper {
  position: relative;
}
.tabs_underline-outer .tabs__wrapper::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -260px;
  right: -260px;
  background: rgba(224,223,234,0.2);
  height: 1px;
}
.tabs-animated {
  position: relative;
}
.tabs-animated .tabs-panel-transform {
  -webkit-transition: 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.tabs-animated .tabs-panel:not(.is-open) {
  pointer-events: none;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.tabs-animated .tabs-panel:not(.is-open) * {
  pointer-events: none !important;
}
.tabs-animated .tabs-panel:not(.is-open) .tabs-panel-transform {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transition: 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transform: translate(0, 20px) scale(0.98);
  -moz-transform: translate(0, 20px) scale(0.98);
  -o-transform: translate(0, 20px) scale(0.98);
  -ms-transform: translate(0, 20px) scale(0.98);
  transform: translate(0, 20px) scale(0.98);
}
.target {
  border-bottom: 1px solid rgba(194,195,198,0.5);
}
.-display-none {
  display: none;
}
@media (min-width: 1501px) {
  .-l-visible {
    display: none;
  }
}
@media (min-width: 1201px) {
  .-m-visible {
    display: none;
  }
}
@media (min-width: 1001px) {
  .-s-visible {
    display: none;
  }
}
@media (min-width: 751px) {
  .-xs-visible {
    display: none !important;
  }
}
@media (min-width: 501px) {
  .-xxs-visible {
    display: none;
  }
}
@media (max-width: 1200px) {
  .-m-hidden {
    display: none;
  }
}
@media (max-width: 1000px) {
  .-s-hidden {
    display: none;
  }
}
@media (max-width: 750px) {
  .-xs-hidden {
    display: none !important;
  }
}
@media (max-width: 500px) {
  .-xxs-hidden {
    display: none;
  }
}
.-text-inherit {
  font: inherit;
}
.-font-family_main {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
}
.-font-weight_inherit {
  font-weight: inherit;
}
.-font-weight_bold {
  font-weight: 700;
}
.-font-weight_normal {
  font-weight: 400;
}
.-opacity-05 {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
}
.-bg_pale-grey {
  background-color: $pale-grey;
}
.--bg-x2 {
  display: none;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .--bg-x1 {
    display: none;
  }
  .--bg-x2 {
    display: block;
  }
}
.-gap_1 {
  margin-bottom: 15px;
}
.-gap-out_1 {
  margin-bottom: -15px;
}
.-gap-inner-top_1 {
  padding-top: 15px;
}
.-gap-inner-bottom_1 {
  padding-bottom: 15px;
}
@media (max-width: 750px) {
  .-gap_1 {
    margin-bottom: 10px;
  }
  .-gap-out_1 {
    margin-bottom: -10px;
  }
  .-gap-inner-top_1 {
    padding-top: 10px;
  }
  .-gap-inner-bottom_1 {
    padding-bottom: 10px;
  }
}
.-gap_2 {
  margin-bottom: 30px;
}
.-gap-out_2 {
  margin-bottom: -30px;
}
.-gap-inner-top_2 {
  padding-top: 30px;
}
.-gap-inner-bottom_2 {
  padding-bottom: 30px;
}
@media (max-width: 750px) {
  .-gap_2 {
    margin-bottom: 20px;
  }
  .-gap-out_2 {
    margin-bottom: -20px;
  }
  .-gap-inner-top_2 {
    padding-top: 20px;
  }
  .-gap-inner-bottom_2 {
    padding-bottom: 20px;
  }
}
.-gap_3 {
  margin-bottom: 45px;
}
.-gap-inner-top_3 {
  padding-top: 45px;
}
.-gap-inner-bottom_3 {
  padding-bottom: 45px;
}
@media (max-width: 750px) {
  .-gap_3 {
    margin-bottom: 30px;
  }
  .-gap-inner-top_3 {
    padding-top: 30px;
  }
  .-gap-inner-bottom_3 {
    padding-bottom: 30px;
  }
}
.-gap_4 {
  margin-bottom: 60px;
}
.-gap-inner-top_4 {
  padding-top: 60px;
}
.-gap-inner-bottom_4 {
  padding-bottom: 60px;
}
@media (max-width: 750px) {
  .-gap_4 {
    margin-bottom: 40px;
  }
  .-gap-inner-top_4 {
    padding-top: 40px;
  }
  .-gap-inner-bottom_4 {
    padding-bottom: 40px;
  }
}
.-gap_5 {
  margin-bottom: 75px;
}
.-gap-inner-top_5 {
  padding-top: 75px;
}
.-gap-inner-bottom_5 {
  padding-bottom: 75px;
}
@media (max-width: 750px) {
  .-gap_5 {
    margin-bottom: 50px;
  }
  .-gap-inner-top_5 {
    padding-top: 50px;
  }
  .-gap-inner-bottom_5 {
    padding-bottom: 50px;
  }
}
.-gap_6 {
  margin-bottom: 90px;
}
.-gap-inner-top_6 {
  padding-top: 90px;
}
.-gap-inner-bottom_6 {
  padding-bottom: 90px;
}
@media (max-width: 750px) {
  .-gap_6 {
    margin-bottom: 60px;
  }
  .-gap-inner-top_6 {
    padding-top: 60px;
  }
  .-gap-inner-bottom_6 {
    padding-bottom: 60px;
  }
}
.-gap_7 {
  margin-bottom: 115px;
}
.-gap-inner-top_7 {
  padding-top: 115px;
}
.-gap-inner-bottom_7 {
  padding-bottom: 115px;
}
@media (max-width: 750px) {
  .-gap_7 {
    margin-bottom: 76.66666666666667px;
  }
  .-gap-inner-top_7 {
    padding-top: 76.66666666666667px;
  }
  .-gap-inner-bottom_7 {
    padding-bottom: 76.66666666666667px;
  }
}
.-gap_8 {
  margin-bottom: 145px;
}
.-gap-inner-top_8 {
  padding-top: 145px;
}
.-gap-inner-bottom_8 {
  padding-bottom: 145px;
}
@media (max-width: 750px) {
  .-gap_8 {
    margin-bottom: 96.66666666666667px;
  }
  .-gap-inner-top_8 {
    padding-top: 96.66666666666667px;
  }
  .-gap-inner-bottom_8 {
    padding-bottom: 96.66666666666667px;
  }
}
.price-cloud {
  padding: 40px 60px;
  background-color: #fafafb;
  border-radius: 3px;
  position: relative;
  overflow: hidden;
}
.price-cloud__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.price-cloud__title {
  margin-bottom: 10px;
}
.price-cloud__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.price-cloud__image {
  position: absolute;
  bottom: 0;
  right: 500px;
}
.price-cloud__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 400px;
  margin-right: 40px;
}
.price-cloud svg {
  max-width: 100%;
}
@media (max-width: 1200px) {
  .price-cloud__image {
    position: absolute;
    bottom: 0;
    right: 290px;
  }
}
@media (max-width: 1000px) {
  .price-cloud__image {
    width: 100px;
    bottom: -40px;
    right: 215px;
  }
}
@media (max-width: 750px) {
  .price-cloud {
    padding: 20px;
    padding-bottom: 0;
    margin-right: -20px;
    margin-left: -20px;
  }
  .price-cloud__wrapper {
    display: block;
  }
  .price-cloud__side,
  .price-cloud__main {
    margin-bottom: 30px;
  }
  .price-cloud__image {
    position: static;
    width: auto;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9uaWIvbGliL25pYi9yZXNldC5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2JvcmRlci5zdHlsIiwiaGVscGVycy9saW5lLWhlaWdodC5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL3ZlbmRvci5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2ZsZXguc3R5bCIsImxheW91dC9hbmltYXRpb25zLnN0eWwiLCJsYXlvdXQvYm9keS5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWx1cy9saWIvZnVuY3Rpb25zL2luZGV4LnN0eWwiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvb3ZlcmZsb3cuc3R5bCIsImhlbHBlcnMvZG8uc3R5bCIsImxheW91dC91aS5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL3NpemUuc3R5bCIsIi4uLy4uL25vZGVfbW9kdWxlcy9uaWIvbGliL25pYi9ib3JkZXItcmFkaXVzLnN0eWwiLCJoZWxwZXJzL3N2Zy5zdHlsIiwibGF5b3V0L2dhcC5zdHlsIiwibGF5b3V0L2Jsb2NrLnN0eWwiLCJsYXlvdXQvYnV0dG9uLnN0eWwiLCJoZWxwZXJzL3VzZS1zaXplLnN0eWwiLCJsYXlvdXQvZm9ybS5zdHlsIiwibGF5b3V0L2ZpZWxkLnN0eWwiLCJoZWxwZXJzL3BsYWNlaG9sZGVyLnN0eWwiLCJsYXlvdXQvdGl0bGUuc3R5bCIsImxheW91dC90YWJsZS5zdHlsIiwibGF5b3V0L2xheWVyLnN0eWwiLCJoZWxwZXJzL2FsaWduLnN0eWwiLCJoZWxwZXJzL3RyYmwuc3R5bCIsIm1vZHVsZXMvYWJvdXQuc3R5bCIsIm1vZHVsZXMvYWNjb3JkaW9uLnN0eWwiLCJtb2R1bGVzL2FuaW1hdGUuc3R5bCIsIm1vZHVsZXMvYXJ0aWNsZS5zdHlsIiwibW9kdWxlcy9icmFuZGluZy5zdHlsIiwibW9kdWxlcy9icmVhZGNydW1icy5zdHlsIiwibW9kdWxlcy9jYXNlLnN0eWwiLCJtb2R1bGVzL2Nhc2VzLnN0eWwiLCJtb2R1bGVzL2NvbGxlY3Rpb24uc3R5bCIsIm1vZHVsZXMvY29scy5zdHlsIiwibW9kdWxlcy9jb250YWN0cy5zdHlsIiwibW9kdWxlcy9jb29wZXJhdGlvbi5zdHlsIiwibW9kdWxlcy9kZXZlbG9wbWVudC5zdHlsIiwibW9kdWxlcy9kcm9wLWRvd24uc3R5bCIsIm1vZHVsZXMvZm9vdGVyLWZpeGVkLnN0eWwiLCJtb2R1bGVzL2Zvb3Rlci5zdHlsIiwibW9kdWxlcy9mdW5jdGlvbnMuc3R5bCIsIm1vZHVsZXMvZ2FsbGVyeS5zdHlsIiwibW9kdWxlcy9ncmlkLnN0eWwiLCJtb2R1bGVzL2hhcmR3YXJlLnN0eWwiLCJtb2R1bGVzL2hlYWRlci1ib3guc3R5bCIsIm1vZHVsZXMvaGVhZGVyLnN0eWwiLCJtb2R1bGVzL2ljb24tc3ZnLnN0eWwiLCJtb2R1bGVzL2ludHJvLnN0eWwiLCJtb2R1bGVzL2xhbmcuc3R5bCIsIm1vZHVsZXMvbmV3cy5zdHlsIiwibW9kdWxlcy9wYWdlLnN0eWwiLCJtb2R1bGVzL3BhcnRuZXJzLnN0eWwiLCJtb2R1bGVzL3Bob25lLnN0eWwiLCJtb2R1bGVzL3BpY3NldC5zdHlsIiwibW9kdWxlcy9wcmljZXMuc3R5bCIsIm1vZHVsZXMvcmVnLWZvcm0uc3R5bCIsIm1vZHVsZXMvcmVwcmVzZW50YXRpb24uc3R5bCIsIm1vZHVsZXMvc2xpZGVyLnN0eWwiLCJtb2R1bGVzL3NvY2lhbHMuc3R5bCIsIm1vZHVsZXMvc29sdXRpb25zLnN0eWwiLCJtb2R1bGVzL3N1Ym1lbnUuc3R5bCIsIm1vZHVsZXMvdGFicy5zdHlsIiwibW9kdWxlcy90YXJnZXQuc3R5bCIsImxheW91dC9tb2RpZmljYXRvcnMuc3R5bCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHRTtBQUFNO0FBQU07QUFBSztBQUFNO0FBQVE7QUFBUTtBQUFPO0FBQ0s7QUFBSTtBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQUc7QUFBWTtBQUFJO0FBQ0k7QUFBTTtBQUFTO0FBQVM7QUFBSztBQUFNO0FBQUs7QUFDTTtBQUFLO0FBQUk7QUFBSztBQUFLO0FBQUs7QUFBRztBQUFHO0FBQUs7QUFDUTtBQUFRO0FBQVE7QUFBSztBQUFLO0FBQUk7QUFBSTtBQUNLO0FBQUk7QUFBSTtBQUFJO0FBQUk7QUFBRztBQUNXO0FBQU07QUFBTztBQUFPO0FBQ1E7QUFBUztBQUFPO0FBQU87QUFBTztBQUFJO0FBQUk7RUE2QjlULFFBQVEsRUFBUjtFQUNBLFNBQVMsRUFBVDtFQy9CRSxRQUFRLEVBQVI7RURpQ0YsU0FBUyxFQUFUO0VBR0EsYUFBYSxRQUFiO0VBQ0EsWUFBWSxRQUFaO0VBQ0EsYUFBYSxRQUFiO0VBQ0EsV0FBVyxLQUFYO0VBQ0EsZ0JBQWdCLFNBQWhCOztBQXBDQTtFRUtNLGFBQVksRUFBWjtFRm1DTixPQUFPLEtBQVA7RUc2YkUsWUFBVyxLQUFYOztBSG5lRjtBQUFJO0VHcWZGLFlBQVcsS0FBWDs7QUhuZkY7RUF3Q0EsaUJBQWlCLFNBQWpCO0VBQ0EsZ0JBQWdCLEVBQWhCO0VBQ0EsZ0JBQWdCLE9BQWhCOztBQXhDQTtBQUFTO0FBQUk7RUEyQ2IsWUFBWSxLQUFaO0VBQ0EsYUFBYSxPQUFiO0VBQ0EsZ0JBQWdCLE9BQWhCOztBQTNDQTtFQ1pFLFFBQVEsS0FBUjs7QUQwREY7QUFBUztBQUFPO0FBQVE7QUFBUztBQUFXO0FBQ1M7QUFBUTtBQUFRO0FBQVE7QUFBTTtBQUFJO0FBQ1U7QUFBUztFQTlCMUcsUUFBUSxFQUFSO0VBQ0EsU0FBUyxFQUFUO0VDL0JFLFFBQVEsRUFBUjtFRGlDRixTQUFTLEVBQVQ7RUlwQkUsU0FBUyxNQUFUOztBSmtERjtBQUFPO0FBQVE7RUlsRGIsU0FBUyxhQUFUO0VKb0RDLFVBQVEsT0FBUjtFQUNBLE9BQUssRUFBTDs7QUFDSDtBQUFzQjtFSXREcEIsU0FBUyxLQUFUOztBQ3RCVztBQUNiO0lGMENnQixtQkFBRyxnQ0FBSDtJQUFBLGdCQUFHLGdDQUFIO0lBQUEsY0FBRyxnQ0FBSDtJQUFBLGVBQUcsZ0NBQUg7SUFSSCxXQUFHLGdDQUFIOztBRS9CYjtJRnVDZ0IsbUJBQUcscUNBQUg7SUFBQSxnQkFBRyxxQ0FBSDtJQUFBLGNBQUcscUNBQUg7SUFBQSxlQUFHLHFDQUFIO0lBUkgsV0FBRyxxQ0FBSDs7O0FFbkNBO0FBQ2I7SUYwQ2dCLG1CQUFHLGdDQUFIO0lBQUEsZ0JBQUcsZ0NBQUg7SUFBQSxjQUFHLGdDQUFIO0lBQUEsZUFBRyxnQ0FBSDtJQVJILFdBQUcsZ0NBQUg7O0FFL0JiO0lGdUNnQixtQkFBRyxxQ0FBSDtJQUFBLGdCQUFHLHFDQUFIO0lBQUEsY0FBRyxxQ0FBSDtJQUFBLGVBQUcscUNBQUg7SUFSSCxXQUFHLHFDQUFIOzs7QUVuQ0E7QUFDYjtJRjBDZ0IsbUJBQUcsZ0NBQUg7SUFBQSxnQkFBRyxnQ0FBSDtJQUFBLGNBQUcsZ0NBQUg7SUFBQSxlQUFHLGdDQUFIO0lBUkgsV0FBRyxnQ0FBSDs7QUUvQmI7SUZ1Q2dCLG1CQUFHLHFDQUFIO0lBQUEsZ0JBQUcscUNBQUg7SUFBQSxjQUFHLHFDQUFIO0lBQUEsZUFBRyxxQ0FBSDtJQVJILFdBQUcscUNBQUg7OztBRW5DQTtBQUNiO0lGMENnQixtQkFBRyxnQ0FBSDtJQUFBLGdCQUFHLGdDQUFIO0lBQUEsY0FBRyxnQ0FBSDtJQUFBLGVBQUcsZ0NBQUg7SUFSSCxXQUFHLGdDQUFIOztBRS9CYjtJRnVDZ0IsbUJBQUcscUNBQUg7SUFBQSxnQkFBRyxxQ0FBSDtJQUFBLGNBQUcscUNBQUg7SUFBQSxlQUFHLHFDQUFIO0lBUkgsV0FBRyxxQ0FBSDs7O0FFekJNO0FBQ25CO0lGZ0NnQixtQkFBRyxVQUFIO0lBQUEsZ0JBQUcsVUFBSDtJQUFBLGNBQUcsVUFBSDtJQUFBLGVBQUcsVUFBSDtJQVJILFdBQUcsVUFBSDs7QUVyQmI7SUY2QmdCLG1CQUFHLGVBQUg7SUFBQSxnQkFBRyxlQUFIO0lBQUEsY0FBRyxlQUFIO0lBQUEsZUFBRyxlQUFIO0lBUkgsV0FBRyxlQUFIOzs7QUV6Qk07QUFDbkI7SUZnQ2dCLG1CQUFHLFVBQUg7SUFBQSxnQkFBRyxVQUFIO0lBQUEsY0FBRyxVQUFIO0lBQUEsZUFBRyxVQUFIO0lBUkgsV0FBRyxVQUFIOztBRXJCYjtJRjZCZ0IsbUJBQUcsZUFBSDtJQUFBLGdCQUFHLGVBQUg7SUFBQSxjQUFHLGVBQUg7SUFBQSxlQUFHLGVBQUg7SUFSSCxXQUFHLGVBQUg7OztBRXpCTTtBQUNuQjtJRmdDZ0IsbUJBQUcsVUFBSDtJQUFBLGdCQUFHLFVBQUg7SUFBQSxjQUFHLFVBQUg7SUFBQSxlQUFHLFVBQUg7SUFSSCxXQUFHLFVBQUg7O0FFckJiO0lGNkJnQixtQkFBRyxlQUFIO0lBQUEsZ0JBQUcsZUFBSDtJQUFBLGNBQUcsZUFBSDtJQUFBLGVBQUcsZUFBSDtJQVJILFdBQUcsZUFBSDs7O0FFekJNO0FBQ25CO0lGZ0NnQixtQkFBRyxVQUFIO0lBQUEsZ0JBQUcsVUFBSDtJQUFBLGNBQUcsVUFBSDtJQUFBLGVBQUcsVUFBSDtJQVJILFdBQUcsVUFBSDs7QUVyQmI7SUY2QmdCLG1CQUFHLGVBQUg7SUFBQSxnQkFBRyxlQUFIO0lBQUEsY0FBRyxlQUFIO0lBQUEsZUFBRyxlQUFIO0lBUkgsV0FBRyxlQUFIOzs7QUduQ2Y7RUFDRyxXQUFVLEVBQVY7O0FBR0g7QUFBSztFQUVGLFdBQVUsTUFBVjtFQUNBLFFBQU8sS0FBUDs7QUFFSDtFQUNHLDZCQUEwQyxvQkFBMUM7O0FBRUg7RUhrZkksUUFBTyxRQUFQO0VHaGZILHlCQUF5QixVQUF6QjtFQUNFLHdCQUF3QixZQUF4QjtFQUNBLDBCQUEwQixLQUExQjtFQUNBLFlBQVcsT0FBWDtFQUNBLE9BQU0sUUFBTjtFQUNBLGFBQVksdUpBQVo7RUFDQSxXQUFVLEtBQVY7RUpMUSxhQUFtQyxJQUFuQzs7QUlTWDtFQTZFQyxTQ29LK0IsWURwSy9CO0VBQUEsU0NvSytCLFNEcEsvQjtFQUFBLFNDb0srQixhRHBLL0I7RUZ2Rk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxvQkFBRyxTQUFIO0VBQUEsaUJBQUcsU0FBSDtFQUFBLGVBQUcsU0FBSDtFQUFBLHdCQUFHLE9BQUg7RUFBQSxvQkFBRyxPQUFIO0VBUkgsZ0JBQUcsT0FBSDs7QUdQWjtFQUNHLFVBQVMsTUFBVDtFQUNBLE1BQUssRUFBTDtFQUNBLE9BQU0sRUFBTjtFRVpGLFVBQVUsT0FBVjs7QUZlRDtFRWZDLFVBQVUsT0FBVjtFTHdCYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0VHa0VkLFNDb0srQixZRHBLL0I7RUFBQSxTQ29LK0IsU0RwSy9CO0VBQUEsU0NvSytCLGFEcEsvQjtFRnZGTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG9CQUFHLFNBQUg7RUFBQSxpQkFBRyxTQUFIO0VBQUEsZUFBRyxTQUFIO0VBQUEsd0JBQUcsT0FBSDtFQUFBLG9CQUFHLE9BQUg7RUFSSCxnQkFBRyxPQUFIO0VHSVQsVUFBUyxTQUFUOztBQUNBO0VBQ0csVUFBUyxNQUFUO0VBQ0EsS0FBSSxFQUFKO0VBQ0EsUUFBTyxFQUFQO0VBQ0EsT0FBTSxLQUFOOztBQUdIO0VITlksb0JBQXNDLHVEQUF0QztFQUFBLGlCQUFzQyx1REFBdEM7RUFBQSxlQUFzQyx1REFBdEM7RUFBQSxnQkFBc0MsdURBQXRDO0VBUkgsWUFBK0IsdURBQS9CO0VBMk9iLFNBQVMsRUFBVDtFQVdNLFlBQXlFLHFEQUF6RTtFQUNBLFFBQWlDLGlCQUFqQzs7QUdwT0w7RUhYZSxvQkFBc0Msa0RBQXRDO0VBQUEsaUJBQXNDLGtEQUF0QztFQUFBLGVBQXNDLGtEQUF0QztFQUFBLGdCQUFzQyxrREFBdEM7RUFSSCxZQUErQixrREFBL0I7RUdxQlQsZ0JBQWUsS0FBZjtFSHNOSixTQUFTLEVBQVQ7RUFXTSxZQUF5RSxxREFBekU7RUFDQSxRQUFpQyxpQkFBakM7RUdoT0YsU0FBUSxLQUFSO0VBQ0EsVUFBUyxNQUFUO0VBQ0EsS0FBSSxFQUFKO0VBQ0EsTUFBSyxFQUFMO0VBQ0EsT0FBTSxFQUFOO0VBQ0EsUUFBTyxFQUFQO0VBQ0Esa0JBQThCLGdCQUE5Qjs7QUFDQTtFQUNHLFNBQVEsS0FBUjtFQUNBLGdCQUFlLEtBQWY7RUgyTVAsU0FBUyxFQUFUO0VBUU0sWUFBWSxLQUFaO0VBQ0EsUUFBUSxLQUFSOztBR2hOTDtBQUFVO0FBQ1c7RUgzQk4sa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsU0FBSDtFQUFBLFVBQUcsU0FBSDtFQVJILE1BQUcsU0FBSDs7QUd1Q1o7RUFDRyxhQUFZLE1BQVo7RUhoQ1ksa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQUFBLGNBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLG1CQUFHLEVBQUg7RUFSSCxXQUFHLEVBQUg7O0FHMkNaO0VBQ0csWUFBVyxLQUFYOztBQUVIO0VBQ0csU0FBUSxLQUFSO0VIMExKLFNBQVMsRUFBVDtFQVdNLFlBQXlFLHFEQUF6RTtFQUNBLFFBQWlDLGlCQUFqQztFR3BNRixnQkFBZSxLQUFmO0VBQ0EsVUFBUyxNQUFUO0VBQ0EsUUFBTyxLQUFQO0VBQ0EsT0FBTSxNQUFOO0VIOUNZLG9CQUFzQywwQ0FBdEM7RUFBQSxpQkFBc0MsMENBQXRDO0VBQUEsZUFBc0MsMENBQXRDO0VBQUEsZ0JBQXNDLDBDQUF0QztFQVJILFlBQStCLDBDQUEvQjs7QUd5RFo7RUhrTEQsU0FBUyxFQUFUO0VBUU0sWUFBWSxLQUFaO0VBQ0EsUUFBUSxLQUFSO0VHekxGLGdCQUFlLEtBQWY7O0FHL0NxQztBSG9EckM7SUFDRyxhQUFZLEtBQVo7OztBSWxHVDtBQUFXO0FBQ087QUFDWTtBQUNJO0VBR2hDLGVBQWMsTUFBZDs7QUFFQTs7Ozs7RUFDRSxlQUFjLEVBQWQ7O0FBSUo7RUFDRSxXQUFVLEtBQVY7O0FBR0Y7QUFBRztFQUNELFlBQVcsT0FBWDs7QUFHRjtBQUFHO0VBQ0QsYUFBWSxJQUFaOztBQUdGO0FBQU07RVBnQlksb0JBQXNDLDBDQUF0QztFQUFBLGlCQUFzQywwQ0FBdEM7RUFBQSxlQUFzQywwQ0FBdEM7RUFBQSxnQkFBc0MsMENBQXRDO0VBUkgsWUFBK0IsMENBQS9CO0VPTGIsaUJBQWdCLGdCQUFoQjtFQUNBLE9BQU0sUUFBTjs7QUFFQTs7RUFDRSxPQUFNLFFBQU47O0FBS0o7RUFDRSxxQkFBb0IsRUFBcEI7RUFDQSxPQUFNLFFBQU47RUFDQSxhQUFZLE9BQVo7RUFDQSxpQkFBZ0IsS0FBaEI7O0FBSUY7RUFDRSxlQUFjLEtBQWQ7RVBzZEUsWUFBVyxLQUFYOztBT25kRjtFQUNFLG1CQUFrQixLQUFsQjtFQUNBLGlCQUFnQixLQUFoQjtFQUNBLFVBQVMsU0FBVDtFQUNBLGVBQWMsS0FBZDtFQUNBLGNBQWEsS0FBYjs7QUFFQTtFQUNFLFNBQW9CLGtCQUFwQjtFQUNBLFVBQVMsU0FBVDtFQUNBLE1BQUssRUFBTDs7QUFJRjtFQUNFLGVBQWMsRUFBZDs7QUFPSjtFQUNFLFVBQVMsU0FBVDtFQUNBLGVBQWMsS0FBZDtFQUNBLGNBQWEsS0FBYjs7QUFFQTtFQUNFLFNBQVEsR0FBUjtFTnZERixTQUFTLE1BQVQ7RU15REUsVUFBUyxTQUFUO0VBQ0EsTUFBSyxFQUFMO0VBQ0EsS0FBSSxJQUFKO0VDMURGLE9BQWlCLEtBQWpCO0VBQ0EsUUFBa0IsS0FBbEI7RUM0QkYsZUFBYyxJQUFkO0VGZ0NJLGtCQUFpQixRQUFqQjs7QUFHRjtFQUNFLGVBQWMsRUFBZDs7QUFNSjtFQUNFLFVBQVMsU0FBVDtFQUNBLGVBQWMsS0FBZDtFQUNBLGNBQWEsS0FBYjs7QUFFQTtFQUVFLFNBQVEsR0FBUjtFTi9FRixTQUFTLE1BQVQ7RU1pRkUsVUFBUyxTQUFUO0VBQ0EsTUFBSyxFQUFMO0VBQ0EsS0FBSSxJQUFKO0VQOURZLG1CQUFHLGlCQUFIO0VBQUEsZ0JBQUcsaUJBQUg7RUFBQSxjQUFHLGlCQUFIO0VBQUEsZUFBRyxpQkFBSDtFQVJILFdBQUcsaUJBQUg7O0FPMEVYO0VBQ0UsZUFBYyxFQUFkOztBQUtOO0VDNUZJLE9BQWlCLElBQWpCO0VBQ0EsUUFBa0IsSUFBbEI7RVJtQmMsb0JBQUcsV0FBSDtFQUFBLGlCQUFHLFdBQUg7RUFSSCxZQUFHLFdBQUg7RU9tRmIsU0FBUSxFQUFSO0VBQ0EsU0FBUSxLQUFSO0VFbkVBLGVBQWMsSUFBZDtFWDNDRSxRQUFRLEtBQVI7RVNpSEYsa0JBQWlCLDRCQUFqQjtFQUNBLGdCQUFlLE9BQWY7RU5yR0UsU0FBUyxNQUFUO0VNdUdGLGNBQWEsSUFBYjtFQUNBLGFBQVksSUFBWjs7QUFFQTtFQUNFLGtCQUFpQiw0QkFBakI7RUFDQSxnQkFBZSxLQUFmOztBQUdGO0VQdUlBLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQzs7QU85SVI7RUFDRSxPQUFNLFFBQU47O0FBR0Y7RUFDRSxPQUFNLFFBQU47O0FBR0Y7RUF3SEMsU0hEK0IsbUJHQy9CO0VBQUEsU0hEK0IsZ0JHQy9CO0VBQUEsU0hEK0Isb0JHQy9CO0VOelBPLFNBQVMsbUJBQVQ7RUFDQSxTQUF1RCxXQUF2RDtFQUVGLFNBQXNELFlBQXREO0VNZ0lKLGNBQWEsS0FBYjtFQUNBLFVBQVMsU0FBVDtFUDVHZ0Isb0JBQXNDLEtBQXRDO0VBQUEsaUJBQXNDLEtBQXRDO0VBQUEsZUFBc0MsS0FBdEM7RUFBQSxnQkFBc0MsS0FBdEM7RUFSSCxZQUErQixLQUEvQjs7QU91SGI7RUFDRSxTQUFRLEdBQVI7RU5uSUEsU0FBUyxNQUFUO0VNcUlBLFVBQVMsU0FBVDtFQUNBLE1BQUssRUFBTDtFQUNBLEtBQUssSUFBTDtFUGxIYyxtQkFBRyxpQkFBSDtFQUFBLGdCQUFHLGlCQUFIO0VBQUEsY0FBRyxpQkFBSDtFQUFBLGVBQUcsaUJBQUg7RUFSSCxXQUFHLGlCQUFIO0VVSVQsT0FBTSxJQUFOO0VBQ0EsUUFBTyxLQUFQOztBTmtQRjtFSndOQSxZQUFXLDJXQUFYO0VBdmNjLHlCQUFHLFVBQUg7RUFBQSxzQkFBRyxVQUFIO0VBUkgsaUJBQUcsVUFBSDs7QU9nSWY7RUFuS0EsU0h5UWdDLG1CR3pRaEM7RUFBQSxTSHlRZ0MsZ0JHelFoQztFQUFBLFNIeVFnQyxvQkd6UWhDO0VOaUJRLFNBQVMsbUJBQVQ7RUFDQSxTQUF1RCxXQUF2RDtFQUVGLFNBQXNELFlBQXREO0VNaUpKLGVBQWMsS0FBZDtFQUNBLFVBQVMsU0FBVDtFUDdIZ0Isb0JBQXNDLEtBQXRDO0VBQUEsaUJBQXNDLEtBQXRDO0VBQUEsZUFBc0MsS0FBdEM7RUFBQSxnQkFBc0MsS0FBdEM7RUFSSCxZQUErQixLQUEvQjs7QU93SWI7RUFDRSxTQUFRLEdBQVI7RU5wSkEsU0FBUyxNQUFUO0VNc0pBLFVBQVMsU0FBVDtFQUNBLE9BQU0sRUFBTjtFQUNBLEtBQUksSUFBSjtFUG5JYyxtQkFBRyxpQkFBSDtFQUFBLGdCQUFHLGlCQUFIO0VBQUEsY0FBRyxpQkFBSDtFQUFBLGVBQUcsaUJBQUg7RUFSSCxXQUFHLGlCQUFIOztBT3dKYjtBQUFXO0VBQ1QsZ0JBQWUsS0FBZjtFQUNBLGtCQUE4QixvQkFBOUI7RU52S0EsU0FBUyxNQUFUO0VNeUtBLFVBQVMsU0FBVDtFQ3hLQSxPQUFpQixLQUFqQjtFQUNBLFFBQWtCLEtBQWxCO0VDNEJGLGVBQWMsSUFBZDtFRjhJRSxTQUFRLEtBQVI7RVR6TEEsUUFBUSxrQkFBUjtFRWdDYyxvQkFBc0MsNEJBQXRDO0VBQUEsaUJBQXNDLDRCQUF0QztFQUFBLGVBQXNDLDRCQUF0QztFQUFBLGdCQUFzQyw0QkFBdEM7RUFSSCxZQUErQiw0QkFBL0I7O0FPcUtYOztFQUNFLFNBQVEsR0FBUjtFTmpMRixTQUFTLE1BQVQ7RU1tTEUsVUFBUyxTQUFUO0VBQ0EsS0FBSSxJQUFKO0VBQ0EsTUFBSyxJQUFMO0VQaEtZLG1CQUFHLG9DQUFIO0VBQUEsZ0JBQUcsb0NBQUg7RUFBQSxjQUFHLG9DQUFIO0VBQUEsZUFBRyxvQ0FBSDtFQVJILFdBQUcsb0NBQUg7RUFNRyxvQkFBc0MsNEJBQXRDO0VBQUEsaUJBQXNDLHlCQUF0QztFQUFBLGVBQXNDLHVCQUF0QztFQUFBLGdCQUFzQyx3QkFBdEM7RUFSSCxZQUErQixvQkFBL0I7O0FPK0tYOztFQUNFLGtCQUFpQixRQUFqQjs7QUFHRjs7RUFDRSxrQkFBaUIsUUFBakI7O0FBR0Y7O0VQb0RGLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQztFTzlERixnQkFBZSxLQUFmOztBQUtGO0VHeExFLE9BQU0sS0FBTjtFQUNBLFFBQU8sS0FBUDs7QU5rUEY7QUFBRTtBTzNMTDtFWG1aRyxZQUFXLG9lQUFYO0VBdmNjLHlCQUFHLFVBQUg7RUFBQSxzQkFBRyxVQUFIO0VBUkgsaUJBQUcsVUFBSDs7QUl1UFg7QUFBRTtFSjhORixrQkFBaUIsbWRBQWpCOztBTzlRRTtFUC9MWSxtQkFBRyxzQ0FBSDtFQUFBLGdCQUFHLHNDQUFIO0VBQUEsY0FBRyxzQ0FBSDtFQUFBLGVBQUcsc0NBQUg7RUFSSCxXQUFHLHNDQUFIOztBTytNWDtFRzNNRSxPQUFNLEtBQU47RUFDQSxRQUFPLEtBQVA7O0FOa1BGO0VKd05BLFlBQVcsa1NBQVg7RUF2Y2MseUJBQUcsVUFBSDtFQUFBLHNCQUFHLFVBQUg7RUFSSCxpQkFBRyxVQUFIOztBSXVQWDtBQUFFO0VKOE5GLGtCQUFpQixpUkFBakI7O0FPM1BFO0VQbE5ZLG1CQUFHLHVDQUFIO0VBQUEsZ0JBQUcsdUNBQUg7RUFBQSxjQUFHLHVDQUFIO0VBQUEsZUFBRyx1Q0FBSDtFQVJILFdBQUcsdUNBQUg7O0FPaU9mO0VBQ0UsV0FBVSxNQUFWOztBQUVGO0VBQ0UsUUFBTyxJQUFQO0VBQ0Esa0JBQWlCLFFBQWpCOztBS3pRRjtFWjJDa0Isb0JBQUcsV0FBSDtFQUFBLGlCQUFHLFdBQUg7RUFSSCxZQUFHLFdBQUg7RVkvQmIsY0FBYSxLQUFiO0VBQ0EsZUFBYyxLQUFkOztBQUdGO0VabUNrQixvQkFBRyxXQUFIO0VBQUEsaUJBQUcsV0FBSDtFQVJILFlBQUcsV0FBSDtFWXZCYixhQUFZLEtBQVo7RUFDQSxjQUFhLEtBQWI7RUFFRSxXQUFVLE1BQVY7RUFDQSxXQUFVLE9BQVY7O0FBT0o7RUFDRSxVQUFTLFNBQVQ7O0FBRUE7RUFDRSxTQUFRLEdBQVI7RUFDQSxTQUFRLEdBQVI7RVhOQSxTQUFTLE1BQVQ7RVdRQSxVQUFTLFNBQVQ7RUFDQSxLQUFJLEVBQUo7RUFDQSxNQUFLLEVBQUw7RUFDQSxPQUFNLEVBQU47RUFDQSxRQUFPLE1BQVA7RUFDQSxrQkFBaUIsUUFBakI7RUFDQSxXQUFVLE9BQVY7RUFDQSxjQUFhLEtBQWI7RUFDQSxhQUFZLEtBQVo7RUFDQSxZQUFXLEtBQVg7O0FOTXVDO0FNQXZDO0lBQ0UsWUFBVyxFQUFYOzs7QUM5Q047RUFDRSxTQUFRLEVBQVI7RWZRRSxRQUFRLEVBQVI7O0FlSko7RWJ5ZkksUUFBTyxRQUFQO0VBbmRjLHFCQUFHLEtBQUg7RUFBQSxrQkFBRyxLQUFIO0VBQUEsaUJBQUcsS0FBSDtFQVJILGFBQUcsS0FBSDtFQVFHLG9CQUFHLFdBQUg7RUFBQSxpQkFBRyxXQUFIO0VBUkgsWUFBRyxXQUFIO0VhMUJiLGdCQUFlLElBQWY7RVphRSxTQUFTLGFBQVQ7RWFWSyxXQUFVLEtBQVY7RUFDQSxhQUFtRixJQUFuRjtFRERQLFVBQVMsU0FBVDtFQUNBLFNBQVEsRUFBUjtFZkpFLFFBQVEsRUFBUjtFZU1GLFNBQVEsS0FBUjtFYm1lRSxZQUFXLEtBQVg7RWFqZUYsYUFBWSx1SkFBWjtFQUNBLFlBQVcsT0FBWDtFQUNBLGFBQVksSUFBWjtFQUNBLFlBQVcsT0FBWDtFQUNBLGlCQUFnQixLQUFoQjtFSitCQSxlQUFjLEVBQWQ7O0FJNUJBO0VBQ0UsZ0JBQWUsS0FBZjtFYm1QRixTQUFTLEVBQVQ7RUFXTSxZQUF5RSxxREFBekU7RUFDQSxRQUFpQyxpQkFBakM7RWE3UEosVUFBUyxTQUFUO0VBQ0EsS0FBSSxFQUFKO0VBQ0EsTUFBSyxFQUFMOztBQUdGO0ViV2dCLDJCQUFHLEVBQUg7RUFBQSx3QkFBRyxFQUFIO0VBQUEsc0JBQUcsRUFBSDtFQUFBLGdCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFSSCxPQUFHLEVBQUg7RUFRRyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0VhcVZkLFNUL0crQixZUytHL0I7RUFBQSxTVC9HK0IsU1MrRy9CO0VBQUEsU1QvRytCLGFTK0cvQjtFWjFXTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLGtCQUFHLE9BQUg7RUFBQSxlQUFHLE9BQUg7RUFBQSxhQUFHLE9BQUg7RUFBQSxlQUFHLE9BQUg7RUFBQSx5QkFBRyxPQUFIO0VBUkgsaUJBQUcsT0FBSDtFYUVYLFVBQVMsU0FBVDtFQUNBLGFBQVksS0FBWjs7QUFFQTtFQUNFLFNBQVEsR0FBUjtFQUNBLFNBQVEsR0FBUjtFYkRZLG9CQUFzQyx5REFBdEM7RUFBQSxpQkFBc0MseURBQXRDO0VBQUEsZUFBc0MseURBQXRDO0VBQUEsZ0JBQXNDLHlEQUF0QztFQVJILFlBQStCLHlEQUEvQjtFQTJPYixTQUFTLEVBQVQ7RUFXTSxZQUF5RSxxREFBekU7RUFDQSxRQUFpQyxpQkFBakM7RUE3T1Usa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsU0FBSDtFQUFBLFVBQUcsU0FBSDtFQVJILE1BQUcsU0FBSDtFYVdULFVBQVMsU0FBVDs7QUFHRjtFQUNFLFNBQVEsR0FBUjtFYlRZLG9CQUFzQyxrREFBdEM7RUFBQSxpQkFBc0Msa0RBQXRDO0VBQUEsZUFBc0Msa0RBQXRDO0VBQUEsZ0JBQXNDLGtEQUF0QztFQVJILFlBQStCLGtEQUEvQjtFQTJPYixTQUFTLEVBQVQ7RUFRTSxZQUFZLEtBQVo7RUFDQSxRQUFRLEtBQVI7RUExT1Usa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsU0FBSDtFQUFBLFVBQUcsU0FBSDtFQVJILE1BQUcsU0FBSDtFQ2JYLFNBQVMsTUFBVDs7QVlvQ0Y7RWJmZ0IsMkJBQUcsR0FBSDtFQUFBLHdCQUFHLEdBQUg7RUFBQSxzQkFBRyxHQUFIO0VBQUEsZ0JBQUcsR0FBSDtFQUFBLGVBQUcsR0FBSDtFQVJILE9BQUcsR0FBSDtFYXlCWCxjQUFhLEtBQWI7RUFDQSxhQUFZLEVBQVo7O0FBR0Y7RUFDRSxVQUFTLFNBQVQ7RUFDQSxLQUFJLElBQUo7RWJ2QmMsbUJBQUcsaUJBQUg7RUFBQSxnQkFBRyxpQkFBSDtFQUFBLGNBQUcsaUJBQUg7RUFBQSxlQUFHLGlCQUFIO0VBUkgsV0FBRyxpQkFBSDtFYWlDWCxPQUFNLEtBQU47O0FBSUE7RUhqQ0UsT0FBTSxJQUFOO0VBQ0EsUUFBTyxLQUFQOztBTmtQRjtBQUFFO0VKd05GLFlBQVcsK1FBQVg7RUF2Y2MseUJBQUcsVUFBSDtFQUFBLHNCQUFHLFVBQUg7RUFSSCxpQkFBRyxVQUFIOztBYXlDWDtFSHJDRSxPQUFNLElBQU47RUFDQSxRQUFPLEtBQVA7O0FHMENGO0VIM0NFLE9BQU0sS0FBTjtFQUNBLFFBQU8sS0FBUDs7QU5rUEY7QUFBRTtFSndORixZQUFXLGllQUFYO0VBdmNjLHlCQUFHLFVBQUg7RUFBQSxzQkFBRyxVQUFIO0VBUkgsaUJBQUcsVUFBSDs7QWFtRFg7RUgvQ0UsT0FBTSxLQUFOO0VBQ0EsUUFBTyxLQUFQOztBR29ERjtFSHJERSxPQUFNLEtBQU47RUFDQSxRQUFPLEtBQVA7O0FOa1BGO0FBQUU7RUp3TkYsWUFBVyx5VUFBWDtFQXZjYyx5QkFBRyxVQUFIO0VBQUEsc0JBQUcsVUFBSDtFQVJILGlCQUFHLFVBQUg7O0FhNkRYO0VIekRFLE9BQU0sS0FBTjtFQUNBLFFBQU8sS0FBUDs7QUc4REY7RUgvREUsT0FBTSxLQUFOO0VBQ0EsUUFBTyxLQUFQOztBTmtQRjtBQUFFO0VKd05GLFlBQVcsaWVBQVg7RUF2Y2MseUJBQUcsVUFBSDtFQUFBLHNCQUFHLFVBQUg7RUFSSCxpQkFBRyxVQUFIOztBYXVFWDtFSG5FRSxPQUFNLEtBQU47RUFDQSxRQUFPLEtBQVA7O0FHd0VGO0VIekVFLE9BQU0sS0FBTjtFQUNBLFFBQU8sS0FBUDs7QU5rUEY7QUFBRTtFSndORixZQUFXLG0xQkFBWDtFQXZjYyx5QkFBRyxVQUFIO0VBQUEsc0JBQUcsVUFBSDtFQVJILGlCQUFHLFVBQUg7O0FhaUZYO0VIN0VFLE9BQU0sS0FBTjtFQUNBLFFBQU8sS0FBUDs7QUdpRko7RWI5RWdCLG9CQUFHLGlDQUFIO0VBUkgsWUFBRyxpQ0FBSDtFQU1HLG9CQUFzQywwQ0FBdEM7RUFBQSxpQkFBc0MsMENBQXRDO0VBQUEsZUFBc0MsMENBQXRDO0VBQUEsZ0JBQXNDLDBDQUF0QztFQVJILFlBQStCLDBDQUEvQjtFQVVHLG9CQUFHLFdBQUg7RUFBQSxpQkFBRyxXQUFIO0VBUkgsWUFBRyxXQUFIO0VhbkNmLFNUeVFnQyxZU3pRaEM7RUFBQSxTVHlRZ0MsU1N6UWhDO0VBQUEsU1R5UWdDLGFTelFoQztFWmNRLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsT0FBSDtFQUFBLGdCQUFHLE9BQUg7RUFBQSxjQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEscUJBQUcsT0FBSDtFQVJILGFBQUcsT0FBSDtFQVFHLGtCQUFHLE9BQUg7RUFBQSxlQUFHLE9BQUg7RUFBQSxhQUFHLE9BQUg7RUFBQSxlQUFHLE9BQUg7RUFBQSx5QkFBRyxPQUFIO0VBUkgsaUJBQUcsT0FBSDtFU2lCYixlQUFjLElBQWQ7RUk2RUUsVUFBUyxTQUFUO0VBQ0EsU0FBUSxPQUFSO0VBQ0EsU0FBUSxLQUFSO0VBQ0Esa0JBQWlCLFFBQWpCO0VBQ0EsT0FBTSxLQUFOO0VmNUhBLFFBQVEsc0JBQVI7O0FlZ0lGO0VBQ0UsU0FBUSxNQUFSOztBQVNGO0FBQVc7RUFFVCxpQkFBZ0IsS0FBaEI7RWJ1SEYsU0FBUyxJQUFUO0VBV00sWUFBeUUsc0RBQXpFO0VBQ0EsUUFBaUMsa0JBQWpDOztBYTVIRjs7RWJqSFksMEJBQUcsR0FBSDtFQUFBLHVCQUFHLEdBQUg7RUFBQSxxQkFBRyxHQUFIO0VBQUEsc0JBQUcsR0FBSDtFQVJILGtCQUFHLEdBQUg7RUF5T2IsU0FBUyxFQUFUO0VBUU0sWUFBWSxLQUFaO0VBQ0EsUUFBUSxLQUFSOztBYXBIRjs7RWJ0SFksMEJBQUcsT0FBSDtFQUFBLHVCQUFHLE9BQUg7RUFBQSxxQkFBRyxPQUFIO0VBQUEsc0JBQUcsT0FBSDtFQVJILGtCQUFHLE9BQUg7RUF5T2IsU0FBUyxFQUFUO0VBV00sWUFBeUUscURBQXpFO0VBQ0EsUUFBaUMsaUJBQWpDOztBYWhITjtBQUFZO0VBRVYsaUJBQWdCLEtBQWhCO0VBQ0EsU0FBUSxLQUFSO0ViaUdGLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQzs7QWFyR0Y7O0VieElZLDBCQUFHLEdBQUg7RUFBQSx1QkFBRyxHQUFIO0VBQUEscUJBQUcsR0FBSDtFQUFBLHNCQUFHLEdBQUg7RUFSSCxrQkFBRyxHQUFIO0VBeU9iLFNBQVMsRUFBVDtFQVFNLFlBQVksS0FBWjtFQUNBLFFBQVEsS0FBUjs7QWE3RkY7O0ViN0lZLDBCQUFHLE9BQUg7RUFBQSx1QkFBRyxPQUFIO0VBQUEscUJBQUcsT0FBSDtFQUFBLHNCQUFHLE9BQUg7RUFSSCxrQkFBRyxPQUFIO0VBeU9iLFNBQVMsRUFBVDtFQVdNLFlBQXlFLHFEQUF6RTtFQUNBLFFBQWlDLGlCQUFqQzs7QWF6Rk47QUFBYztFQUVaLGdCQUFlLEtBQWY7RWZ4TEEsUUFBUSxhQUFSO0VFeWVBLFlBQVcsZ0JBQVg7RWE5U0EsaUJBQWdCLGdCQUFoQjs7QUFFQTs7RUFFRSxjQUFhLG1CQUFiO0ViN0pZLG9CQUFHLGdCQUFIO0VBUkgsWUFBRyxnQkFBSDtFQXFkWCxrQkFBaUIsZ0JBQWpCO0VhN1NFLGtCQUFpQixtQkFBakI7O0FBS047RUFDRSxVQUFTLFNBQVQ7RUFDQSxnQkFBZSxLQUFmOztBQUVBO0VBQ0UsU0FBUSxHQUFSO0VBQ0EsVUFBUyxTQUFUO0VaaE1BLFNBQVMsTUFBVDtFWWtNQSxLQUFJLElBQUo7RUFDQSxNQUFLLElBQUw7RWI5S2MsbUJBQUcsc0JBQUg7RUFBQSxnQkFBRyxzQkFBSDtFQUFBLGNBQUcsc0JBQUg7RUFBQSxlQUFHLHNCQUFIO0VBUkgsV0FBRyxzQkFBSDtFUVpYLE9BQWlCLEtBQWpCO0VBQ0EsUUFBa0IsS0FBbEI7RVJtQmMsb0JBQUcsV0FBSDtFQUFBLGlCQUFHLFdBQUg7RUFSSCxZQUFHLFdBQUg7RVNpQmIsZUFBYyxJQUFkO0VJNEtFLFNBQVEsRUFBUjtFYnJMYyxtQkFBRywwQkFBSDtFQUFBLGdCQUFHLDBCQUFIO0VBQUEsY0FBRywwQkFBSDtFQUFBLGVBQUcsMEJBQUg7RUFSSCxXQUFHLDBCQUFIOztBYXFNWDtFYm9DRixTQUFTLGFBQVQ7RUFXTSxZQUF5RSxnRUFBekU7RUFDQSxRQUFpQyw0QkFBakM7O0FhNUNKO0ViZ0NGLFNBQVMsYUFBVDtFQVdNLFlBQXlFLGdFQUF6RTtFQUNBLFFBQWlDLDRCQUFqQzs7QWF0Q1I7RUFDRSxPQUFNLEtBQU47O0FBS0U7RWIwUEEsWUFBVyxZQUFYO0VGemVBLFFBQVEsZ0NBQVI7O0Flb1BBO0VBQ0UsT0FBTSxLQUFOOztBQU9BOztFYk9KLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQzs7QWFYRjtFYkRKLFNBQVMsRUFBVDtFQVFNLFlBQVksS0FBWjtFQUNBLFFBQVEsS0FBUjs7QWFFSjtFYjJOQSxZQUFXLFlBQVg7RUZ6ZUEsUUFBUSwrQkFBUjs7QWVtUkE7RUFDRSxPQUFNLFFBQU47O0FBSUE7RUgxUEEsT0FBTSxLQUFOO0VBQ0EsUUFBTyxLQUFQOztBRzZQQTtFSDlQQSxPQUFNLEtBQU47RUFDQSxRQUFPLEtBQVA7O0FHc1FBOztFYmxDSixTQUFTLElBQVQ7RUFXTSxZQUF5RSxzREFBekU7RUFDQSxRQUFpQyxrQkFBakM7O0FhOEJGO0ViMUNKLFNBQVMsRUFBVDtFQVFNLFlBQVksS0FBWjtFQUNBLFFBQVEsS0FBUjs7QWF3Q1I7RUFDRSxVQUFTLFNBQVQ7O0FBR0U7RUFDRSxjQUFhLEVBQWI7RUFDQSxhQUFZLEVBQVo7RUFDQSxVQUFTLFNBQVQ7RUFDQSxLQUFJLElBQUo7RUFDQSxNQUFLLElBQUw7RWIzUlksbUJBQUcsc0JBQUg7RUFBQSxnQkFBRyxzQkFBSDtFQUFBLGNBQUcsc0JBQUg7RUFBQSxlQUFHLHNCQUFIO0VBUkgsV0FBRyxzQkFBSDtFYXFTVCxhQUFZLEtBQVo7O0FBR0Y7RUFDRSxRQUFPLEtBQVA7RUFDQSxPQUFNLEtBQU47RUFDQSxTQUFRLEVBQVI7O0FBR0Y7RVozVEEsU0FBUyxLQUFUOztBWW1VQTtFQUNFLGVBQWMsS0FBZDtFQUNBLGNBQWEsS0FBYjs7QUFPRjtFQUNFLFNBQVEsT0FBUjs7QUFHRjtFQUNFLFNBQVEsT0FBUjs7QVAxVHFDO0FPa1VyQztJQ25XRyxXQUFVLEtBQVY7SUFDQSxhQUFtRixJQUFuRjs7QURzV0g7SUFDRSxTQUFRLE9BQVI7OztBRXBYUjtBQUFRO0FBQU87QUFBVTtBQUFRO0VBQzlCLE9BQU8sUUFBUDtFQUNBLE1BQU8sUUFBUDtFQUNBLFFBQU8sRUFBUDs7QUFFSDtFVmNJLFVBQVUsUUFBVjs7QVVYSjtBQUFRO0VBQ0wsZ0JBQWUsS0FBZjs7QUFFSDtBQUFRO0FBQTJCO0FBQXFCO0VmbWZwRCxRQUFPLFFBQVA7RWVqZkQsb0JBQW1CLE9BQW5COztBQUVIO0FBQWtCO0VmK2VkLFFBQU8sUUFBUDs7QWU1ZUo7QUFBMEI7RWpCVHRCLFFBQVEsRUFBUjtFaUJXRCxTQUFRLEVBQVI7O0FBRUg7RWhCakJLLGFBQVksT0FBWjs7QWdCb0JMO0FBQXdCO0Vma0JOLG9CQUFHLFdBQUg7RUFBQSxpQkFBRyxXQUFIO0VBUkgsWUFBRyxXQUFIO0VlUlosU0FBVyxFQUFYOztBQUVIO0FBQWdEO0VBRTdDLFFBQU8sS0FBUDs7QUFFSDtFQUNHLG9CQUFvQixVQUFwQjs7QUFFSDtBQUFtRDtFQUVoRCxvQkFBbUIsS0FBbkI7O0FBRUg7RVZyQkksVUFBVSxLQUFWO0VVdUJELFFBQU8sS0FBUDs7QUFFSDtFQUNHLGFBQVksS0FBWjs7QUFFSDtBQUNBO0FBQVM7QUFDc0I7QUFDcUI7QUFDbUI7QUFDc0I7QUFDbUI7QUFDc0I7RWZYcEgsbUJBQUcsbUNBQUg7RUFBQSxnQkFBRyxtQ0FBSDtFQUFBLGNBQUcsbUNBQUg7RUFBQSxlQUFHLG1DQUFIO0VBUkgsV0FBRyxtQ0FBSDtFQVFHLG9CQUFHLEtBQUg7RUFBQSxpQkFBRyxLQUFIO0VBUkgsWUFBRyxLQUFIO0VldUJaLFNBQVEsS0FBUjtFQUNBLE9BQU0sS0FBTjtFZmhCZSxvQkFBRyxXQUFIO0VBQUEsaUJBQUcsV0FBSDtFQVJILFlBQUcsV0FBSDtFZTBCWixPQUFNLEtBQU47O0FBQ0E7Ozs7Ozs7OztFZHhDQyxTQUFTLEtBQVQ7O0FldEJKO0Vmc0JJLFNBQVMsTUFBVDtFZXBCRixVQUFTLFNBQVQ7O0FBRUE7RUF5WEQsU1pwSCtCLFlZb0gvQjtFQUFBLFNacEgrQixTWW9IL0I7RUFBQSxTWnBIK0IsYVlvSC9CO0VmL1dPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1Qlksa0JBQUcsUUFBSDtFQUFBLGVBQUcsUUFBSDtFQUFBLGFBQUcsUUFBSDtFQUFBLGVBQUcsUUFBSDtFQUFBLHlCQUFHLGNBQUg7RUFSSCxpQkFBRyxjQUFIO0VnQjVCWCxVQUFVLFNBQVY7RUFDQSxRQUFRLE1BQVI7O0FBR0Y7RUZDTyxXQUFVLEtBQVY7RUFDQSxhQUFtRixrQkFBbkY7RVRNTCxVQUFVLE9BQVY7RUx3QmMsa0JBQUcsU0FBSDtFQVJILGVBQUcsU0FBSDtFZ0JwQlgsYUFBWSxPQUFaO0VoQjRCYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0VDYlgsU0FBUyxNQUFUO0VlSkEsZUFBYyxLQUFkO0VBQ0EsY0FBYSxLQUFiO0VBQ0EsZUFBYyxFQUFkO0VBQ0EsT0FBc0IsbUJBQXRCOztBQUdGO0VBQ0UsU0FBUSxJQUFSO0VYTkEsVUFBVSxPQUFWO0VMd0JjLGtCQUFHLFNBQUg7RUFSSCxlQUFHLFNBQUg7RWdCUFgsYUFBWSxPQUFaO0VmTkEsU0FBUyxLQUFUO0VlU0EsU0FBUSxNQUFSO0VBQ0EsZUFBYyxJQUFkOztBQUdGO0VoQk1nQixvQkFBc0MsMENBQXRDO0VBQUEsaUJBQXNDLDBDQUF0QztFQUFBLGVBQXNDLDBDQUF0QztFQUFBLGdCQUFzQywwQ0FBdEM7RUFSSCxZQUErQiwwQ0FBL0I7RWdCNFZkLFNacEgrQixZWW9IL0I7RUFBQSxTWnBIK0IsU1lvSC9CO0VBQUEsU1pwSCtCLGFZb0gvQjtFZi9XTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0Vla0JGLFVBQVMsU0FBVDtFUGNGLGVBQWMsRUFBZDtFT1ZFLGtCQUE4QixvQkFBOUI7O0FBR0Y7RWhCRmdCLHFCQUFHLEtBQUg7RUFBQSxrQkFBRyxLQUFIO0VBQUEsaUJBQUcsS0FBSDtFQVJILGFBQUcsS0FBSDtFQVFHLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RWdCMFZkLFNacEgrQixZWW9IL0I7RUFBQSxTWnBIK0IsU1lvSC9CO0VBQUEsU1pwSCtCLGFZb0gvQjtFZi9XTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEsY0FBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLHFCQUFHLE9BQUg7RUFSSCxhQUFHLE9BQUg7RWdCZVgsT0FBTSxRQUFOOztBQUdGO0VBQ0UsZ0JBQWUsSUFBZjs7QUFHRjtFaEJkZ0IsMkJBQUcsRUFBSDtFQUFBLHdCQUFHLEVBQUg7RUFBQSxzQkFBRyxFQUFIO0VBQUEsZ0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQVJILE9BQUcsRUFBSDtFQVFHLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RUFRRyxvQkFBRyxPQUFIO0VBUkgsWUFBRyxPQUFIO0VBUUcscUJBQUcsT0FBSDs7QWdCbUJkO0VmeENBLFNBQVMsTUFBVDs7QWU2Q0Y7RWY3Q0UsU0FBUyxNQUFUO0VlK0NBLFlBQVcsSUFBWDs7QUFJRjtFaEJxYkUsUUFBTyxRQUFQO0VnQm5iQSxVQUFTLFNBQVQ7O0FBR0Y7RUFDRSxVQUFTLFNBQVQ7RUFDQSxLQUFJLElBQUo7RUFDQSxNQUFLLElBQUw7RWhCdENjLG1CQUFHLHNCQUFIO0VBQUEsZ0JBQUcsc0JBQUg7RUFBQSxjQUFHLHNCQUFIO0VBQUEsZUFBRyxzQkFBSDtFQVJILFdBQUcsc0JBQUg7O0FnQmlEWDtFQUNFLFNBQVEsR0FBUjtFQUNBLFVBQVMsU0FBVDtFQUNBLEtBQUksRUFBSjtFQUNBLE1BQUssRUFBTDs7QUFJSjtFUnJFRSxPQUFpQixLQUFqQjtFQUNBLFFBQWtCLEtBQWxCOztBUXVFQTtFUnhFQSxPQUFpQixLQUFqQjtFQUNBLFFBQWtCLEtBQWxCOztBRnFCdUM7QVVzRXZDO0lBQ0UsV0FBVSxLQUFWOzs7QUFNRDtFaEIvRWEsMkJBQUcsR0FBSDtFQUFBLHdCQUFHLEdBQUg7RUFBQSxzQkFBRyxHQUFIO0VBQUEsZ0JBQUcsR0FBSDtFQUFBLGVBQUcsR0FBSDtFQVJILE9BQUcsR0FBSDtFZ0J5RlgsY0FBYSxLQUFiOztBVi9FdUM7QVVxRnBDO0lBQ0QsY0FBYSxLQUFiOzs7QUFNRDtFQUNELGNBQWEsS0FBYjs7QVY3RnVDO0FVbUdwQztJQUNELGNBQWEsRUFBYjs7O0FBTUo7RUFDRSxPQUFNLEtBQU47RUFDQSxjQUFhLEtBQWI7RWhCbUhGLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQzs7QWlCdlJMO0VEMkpHLE9BQU0sS0FBTjs7QUN4Skg7RUR3SkcsT0FBTSxLQUFOOztBQ3JKSDtFRHFKRyxPQUFNLEtBQU47O0FDbEpIO0VEa0pHLE9BQU0sS0FBTjs7QUFHRjtBQUFRO0VBRU4sY0FBYSxLQUFiOztBQVFGOzs7O0VoQm1HRixTQUFTLEVBQVQ7RUFRTSxZQUFZLEtBQVo7RUFDQSxRQUFRLEtBQVI7O0FnQjFGSDs7RWhCaUZILFNBQVMsRUFBVDtFQVFNLFlBQVksS0FBWjtFQUNBLFFBQVEsS0FBUjs7QWdCMUVIO0VmckxELFNBQVMsTUFBVDs7QWV5TEM7RWZ6TEQsU0FBUyxLQUFUOztBZWdNQzs7RWZoTUQsU0FBUyxLQUFUOztBZW9NQzs7RWhCL0thLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RWdCeUxYLFdBQVUsS0FBVjtFaEJuTGMsb0JBQXNDLDBDQUF0QztFQUFBLGlCQUFzQywwQ0FBdEM7RUFBQSxlQUFzQywwQ0FBdEM7RUFBQSxnQkFBc0MsMENBQXRDO0VBUkgsWUFBK0IsMENBQS9COztBZ0JpTVY7RUFDRCxjQUFhLEVBQWI7RWY3TUEsU0FBUyxLQUFUOztBZWdOQTtFQUNFLFNBQVEsSUFBUjtFQUNBLFVBQVMsU0FBVDtFQUNBLEtBQUksTUFBSjtFQUNBLE9BQU0sRUFBTjs7QUFNTjtFRnBPUyxXQUFVLEtBQVY7RUFDQSxhQUFtRixrQkFBbkY7RWQ0QlMsb0JBQXNDLDBDQUF0QztFQUFBLGlCQUFzQywwQ0FBdEM7RUFBQSxlQUFzQywwQ0FBdEM7RUFBQSxnQkFBc0MsMENBQXRDO0VBUkgsWUFBK0IsMENBQS9CO0VBVUcsb0JBQUcsS0FBSDtFQUFBLGlCQUFHLEtBQUg7RUFSSCxZQUFHLEtBQUg7RUFRRyxvQkFBRyxXQUFIO0VBQUEsaUJBQUcsV0FBSDtFQVJILFlBQUcsV0FBSDtFQVFHLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RUNiWCxTQUFTLE1BQVQ7RWVpT0YsT0FBTSxLQUFOO0VBQ0EsU0FBUSxVQUFSO0VsQi9PRSxRQUFRLEtBQVI7RWtCaVBGLFNBQVEsRUFBUjtFQUNBLE9BQU0sS0FBTjtFQUNBLGFBQVksdUpBQVo7RUFDQSxrQkFBOEIsb0JBQTlCO0VQek1BLGVBQWMsS0FBZDtFVFRnQixvQkFBRyxtQ0FBSDtFQVJILFlBQUcsbUNBQUg7O0FnQjhOYjtFUDdNQSxlQUFjLElBQWQ7RU9pTkUsV0FBVSxLQUFWO0VBQ0EsUUFBTyxLQUFQO0VmaFBBLFNBQVMsYUFBVDtFZWtQQSxZQUFXLE9BQVg7RUFDQSxlQUFjLElBQWQ7O0FDeFFEO0VEMlFDLE9BQU0saUJBQU47O0FDeFFEO0VEd1FDLE9BQU0saUJBQU47O0FDclFEO0VEcVFDLE9BQU0saUJBQU47O0FDbFFEO0VEa1FDLE9BQU0saUJBQU47O0FBb0JGO0VoQnJQZ0IscUJBQUcsS0FBSDtFQUFBLGtCQUFHLEtBQUg7RUFBQSxpQkFBRyxLQUFIO0VBUkgsYUFBRyxLQUFIO0VnQitQWCxlQUFzQixLQUF0Qjs7QUFFQTtFZjlRQSxTQUFTLEtBQVQ7O0FlbVJGO0VBQ0UsWUFBK0UsaUNBQS9FOztBQUdGO0VYMVJFLFVBQVUsS0FBVjtFVzRSQSxRQUEyRSxpQ0FBM0U7O0FBR0Y7RWhCNE1FLFFBQU8sUUFBUDtFSzNlQSxVQUFVLE9BQVY7RVdrU0EsUUFBNkUsa0NBQTdFO0VBQ0EsYUFBWSxPQUFaO0VoQjNRYyxrQkFBRyxTQUFIO0VBUkgsZUFBRyxTQUFIOztBTVU0QjtBVStRekM7SUFDRSxhQUFZLEtBQVo7SUFDQSxnQkFBZSxLQUFmO0lBQ0EsZUFBYyxLQUFkO0lBQ0EsY0FBYSxLQUFiO0lGcFRLLFdBQVUsS0FBVjtJQUNBLGFBQW1GLGtCQUFuRjs7O0FFeVRQO0VBRUUsT0FBbUIsZ0JBQW5CO0VBQ0EsZUFBYyxJQUFkOztBQUdGO0VBQ0UsZUFBYyxLQUFkOztBVmhTdUM7QVVzU3ZDO0lBQ0UsV0FBVSxLQUFWOzs7QUFNSjtFQW1DRCxTWnBIK0IsWVlvSC9CO0VBQUEsU1pwSCtCLFNZb0gvQjtFQUFBLFNacEgrQixhWW9IL0I7RWYvV08sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxtQkFBRyxTQUFIO0VBQUEsZ0JBQUcsU0FBSDtFQUFBLGNBQUcsU0FBSDtFQUFBLG1CQUFHLEtBQUg7RUFBQSxlQUFHLEtBQUg7RUFSSCxXQUFHLEtBQUg7O0FnQjRUYjtFaEJwVGdCLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RWdCOFRYLGNBQWEsa0JBQWI7O0FBR0Y7RUFDRSxXQUFVLE1BQVY7O0FWeFR1QztBVThUdkM7SWZyVkEsU0FBUyxNQUFUOztBZXlWQTtJaEJwVWMsa0JBQUcsRUFBSDtJQUFBLGVBQUcsRUFBSDtJQUFBLGFBQUcsRUFBSDtJQVJILFVBQUcsRUFBSDtJQVFHLGNBQUcsU0FBSDtJQUFBLFVBQUcsU0FBSDtJQVJILE1BQUcsU0FBSDtJZ0I4VVQsY0FBYSxLQUFiO0lBQ0EsZUFBYyxLQUFkOztBQUdGO0lBQ0UsV0FBVSxLQUFWOzs7QUV0WE47QUFBTztBUCtGTjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VPN0ZFLE9BQU0sUUFBTjtFQUNBLGFBQVksdUpBQVo7RUFDQSxhQUFZLElBQVo7O0FBR0g7RUpLUyxXQUFVLEtBQVY7RUFDQSxhQUFtRixFQUFuRjs7QVJnQ2tDO0FZaEN4QztJSkRNLFdBQVUsS0FBVjtJQUNBLGFBQW1GLEtBQW5GOzs7QVJnQ2tDO0FZMUJ4QztJSlBNLFdBQVUsS0FBVjtJQUNBLGFBQW1GLEtBQW5GOzs7QUlVVDtBQUFHO0VKWE0sV0FBVSxLQUFWO0VBQ0EsYUFBbUYsS0FBbkY7O0FSZ0NrQztBWWhCeEM7QUFBRztJSmpCRyxXQUFVLEtBQVY7SUFDQSxhQUFtRixrQkFBbkY7OztBUmdDa0M7QVlWeEM7QUFBRztJSnZCRyxXQUFVLEtBQVY7SUFDQSxhQUFtRixLQUFuRjs7O0FSZ0NrQztBWUp4QztBQUFHO0lKN0JHLFdBQVUsS0FBVjtJQUNBLGFBQW1GLFFBQW5GOzs7QVJnQ2tDO0FZRXhDO0FBQUc7SUpuQ0csV0FBVSxLQUFWO0lBQ0EsYUFBbUYsa0JBQW5GOzs7QUl3Q1Q7QUFBRztFSnpDTSxXQUFVLEtBQVY7RUFDQSxhQUFtRixJQUFuRjs7QVJnQ2tDO0FZY3hDO0FBQUc7SUovQ0csV0FBVSxLQUFWO0lBQ0EsYUFBbUYsS0FBbkY7OztBSW9EVDtBQUFHO0VKckRNLFdBQVUsS0FBVjtFQUNBLGFBQW1GLElBQW5GO0VJd0ROLGFBQVksSUFBWjs7QVp4QndDO0FZMkJ4QztBQUFHO0lBRUEsV0FBVSxLQUFWOzs7QUFJTjtBQUFHO0VKbEVNLFdBQVUsS0FBVjtFQUNBLGFBQW1GLElBQW5GO0VJcUVOLGFBQVksSUFBWjs7QVpyQ3dDO0FZd0N4QztBQUFHO0lKekVHLFdBQVUsS0FBVjtJQUNBLGFBQW1GLElBQW5GOzs7QUtiVDtFQUNHLGlCQUFnQixTQUFoQjtFQUNBLFFBQU8sRUFBUDtFQUNBLFNBQVEsRUFBUjs7QUFDQTtFQUNHLGVBQWMsRUFBZDs7QUFLTjtFQUNHLFNBQVEsRUFBUjtFQUNBLFVBQVMsU0FBVDs7QUFHSDtBQUFHO0VuQjRCZSxvQkFBRyxXQUFIO0VBQUEsaUJBQUcsV0FBSDtFQVJILFlBQUcsV0FBSDtFbUJqQlosVUFBUyxTQUFUO0VBQ0EsZ0JBQWUsSUFBZjs7QUFHSDtFQUNHLFNBQVEsWUFBUjs7QUFHSDtFQUNHLFNBQVEsZUFBUjs7QUFHSDtBQUFlO0VBRVosY0FBYSxFQUFiOztBQUVIO0FBQWM7RUFFWCxlQUFjLEVBQWQ7O0FBSUE7RUFDRyxlQUFjLEtBQWQ7O0FBRUg7RUFDRyxTQUFRLFNBQVI7O0FDNUNOO0VBQ0csU0FBUSxJQUFSO0VBQ0EsVUFBUyxTQUFUO0VacUJDLE9BQWlCLEtBQWpCO0VBQ0EsUUFBa0IsS0FBbEI7RVlwQkQsS0FBSSxLQUFKO0VBQ0EsT0FBTSxLQUFOO0V0QklDLFFBQVEsS0FBUjs7QXNCRkQ7RUNIQSxLQUFJLElBQUo7RUFDQSxNQUFLLElBQUw7RUFJRyxZQUFpQyxNQUFqQztFQUNBLGFBQWlDLE1BQWpDO0VEQUEsU0FBUSxHQUFSO0VwQmtRSixTQUFTLElBQVQ7RUFXTSxZQUF5RSxzREFBekU7RUFDQSxRQUFpQyxrQkFBakM7RW9CNVFGLFVBQVMsU0FBVDtFbkJVRixTQUFTLE1BQVQ7RURtQmMsb0JBQXNDLDBDQUF0QztFQUFBLGlCQUFzQywwQ0FBdEM7RUFBQSxlQUFzQywwQ0FBdEM7RUFBQSxnQkFBc0MsMENBQXRDO0VBUkgsWUFBK0IsMENBQS9COztBb0JoQlQ7RXBCMlBKLFNBQVMsRUFBVDtFQVFNLFlBQVksS0FBWjtFQUNBLFFBQVEsS0FBUjs7QW9COVBGO0VwQnFQSixTQUFTLEVBQVQ7RUFRTSxZQUFZLEtBQVo7RUFDQSxRQUFRLEtBQVI7O0FvQnRQUjtFcEJZa0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsU0FBSDtFQUFBLFVBQUcsU0FBSDtFQVJILE1BQUcsU0FBSDtFb0J5TWQsU2hCNkIrQixZZ0I3Qi9CO0VBQUEsU2hCNkIrQixTZ0I3Qi9CO0VBQUEsU2hCNkIrQixhZ0I3Qi9CO0VuQjlOTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VtQmdCSCxVQUFTLE1BQVQ7RUVsQ0csS0FBSSxFQUFKO0VBQ0EsT0FBTSxFQUFOO0VBQ0EsUUFBTyxFQUFQO0VBQ0EsTUFBSyxFQUFMO0V0QjZlRixZQUFXLEtBQVg7RW9CM2NELFlBQVcsS0FBWDtFQUNBLFNBQVEsS0FBUjtFcEJvT0QsU0FBUyxFQUFUO0VBV00sWUFBeUUscURBQXpFO0VBQ0EsUUFBaUMsaUJBQWpDO0VBN09VLG1CQUFHLGdCQUFIO0VBQUEsZ0JBQUcsZ0JBQUg7RUFBQSxjQUFHLGdCQUFIO0VBQUEsZUFBRyxnQkFBSDtFQVJILFdBQUcsZ0JBQUg7RUFNRyxvQkFBc0MsK0dBQXRDO0VBQUEsaUJBQXNDLDRHQUF0QztFQUFBLGVBQXNDLDBHQUF0QztFQUFBLGdCQUFzQywyR0FBdEM7RUFSSCxZQUErQix1R0FBL0I7RUFVRyxvQkFBRyxXQUFIO0VBQUEsaUJBQUcsV0FBSDtFQVJILFlBQUcsV0FBSDs7QW9CVVo7RXBCRmUsb0JBQUcsV0FBSDtFQUFBLGlCQUFHLFdBQUg7RUFSSCxZQUFHLFdBQUg7RUFRRyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0VvQmFULE9BQU0sS0FBTjtFQUNBLFNBQVEsSUFBUjs7QUFFSDtFQUNHLGVBQWMsS0FBZDs7QUFJSDtFcEJiZSxvQkFBRyxXQUFIO0VBQUEsaUJBQUcsV0FBSDtFQVJILFlBQUcsV0FBSDtFS2hCWCxVQUFVLE9BQVY7RWV3Q0UsT0FBTSxLQUFOO0VBQ0EsU0FBUSxvQkFBUjs7QUFLSDtFQUNHLGtCQUFpQixRQUFqQjtFQUNBLFNBQVEsb0JBQVI7RUFDQSxRQUFPLFFBQVA7O0FBSU47RXBCL0JrQixvQkFBc0MsZ0VBQXRDO0VBQUEsaUJBQXNDLDZEQUF0QztFQUFBLGVBQXNDLDJEQUF0QztFQUFBLGdCQUFzQyw0REFBdEM7RUFSSCxZQUErQix3REFBL0I7RUFVRyxtQkFBRyxrQkFBSDtFQUFBLGdCQUFHLGtCQUFIO0VBQUEsY0FBRyxrQkFBSDtFQUFBLGVBQUcsa0JBQUg7RUFSSCxXQUFHLGtCQUFIOztBb0J3Q1o7RXBCbENlLG9CQUFzQyxtREFBdEM7RUFBQSxpQkFBc0MsZ0RBQXRDO0VBQUEsZUFBc0MsOENBQXRDO0VBQUEsZ0JBQXNDLCtDQUF0QztFQVJILFlBQStCLDJDQUEvQjs7QW9CK0NmO0VwQnZDa0Isb0JBQXNDLG1EQUF0QztFQUFBLGlCQUFzQyxnREFBdEM7RUFBQSxlQUFzQyw4Q0FBdEM7RUFBQSxnQkFBc0MsK0NBQXRDO0VBUkgsWUFBK0IsMkNBQS9COztBb0JtRGY7RUFDRyxTQUFRLEtBQVI7RXBCdUxELFNBQVMsRUFBVDtFQVFNLFlBQVksS0FBWjtFQUNBLFFBQVEsS0FBUjtFQTFPVSxtQkFBRyxnQkFBSDtFQUFBLGdCQUFHLGdCQUFIO0VBQUEsY0FBRyxnQkFBSDtFQUFBLGVBQUcsZ0JBQUg7RUFSSCxXQUFHLGdCQUFIOztBb0J1RGY7RXBCL0NrQixtQkFBRyxLQUFIO0VBQUEsZ0JBQUcsS0FBSDtFQUFBLGNBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFb0J5RFosVUFBUyxTQUFUOztBQUdIO0VBQ0csZ0JBQWUsS0FBZjtFQUNBLFVBQVMsTUFBVDtFcEIyS0QsU0FBUyxFQUFUO0VBV00sWUFBeUUscURBQXpFO0VBQ0EsUUFBaUMsaUJBQWpDOztBb0JuTFI7RUFDRyxTQUFRLEtBQVI7RUFDQSxVQUFTLE1BQVQ7O0FBR0g7RW5CcEZJLFNBQVMsZ0JBQVQ7O0FtQnlGSjtFQUNHLGdCQUFlLEtBQWY7RXBCckVlLG1CQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEsY0FBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLHFCQUFHLE9BQUg7RUFSSCxhQUFHLE9BQUg7RUFRRyxrQkFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEsYUFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEseUJBQUcsT0FBSDtFQVJILGlCQUFHLE9BQUg7RUErY1gsWUFBVyxLQUFYOztBb0IzWEQ7RUFDRyxnQkFBZSxLQUFmO0VwQjdFWSxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0VvQnVGVCxVQUFTLFNBQVQ7RUFDQSxXQUFVLE1BQVY7RUFDQSxPQUFNLEtBQU47RXBCc1hGLFlBQVcsS0FBWDtFQXZjYyxvQkFBRyxXQUFIO0VBQUEsaUJBQUcsV0FBSDtFQVJILFlBQUcsV0FBSDs7QW9CNkZaO0VBQ0csT0FBTSxLQUFOOztBQUlOO0VwQjFGa0IsbUJBQUcsS0FBSDtFQUFBLGdCQUFHLEtBQUg7RUFBQSxjQUFHLEtBQUg7RUFBQSxlQUFHLEtBQUg7RUFSSCxXQUFHLEtBQUg7O0FNVTRCO0FjNkZ4QztJcEIvRmUsbUJBQUcsUUFBSDtJQUFBLGdCQUFHLFFBQUg7SUFBQSxjQUFHLFFBQUg7SUFBQSxnQkFBRyxRQUFIO0lBQUEscUJBQUcsUUFBSDtJQVJILGFBQUcsUUFBSDs7QW9CMEdOO0lBQ0csV0FBVSxLQUFWO0lBOEZYLFNoQjZCK0IsWWdCN0IvQjtJQUFBLFNoQjZCK0IsU2dCN0IvQjtJQUFBLFNoQjZCK0IsYWdCN0IvQjtJbkI5Tk8sU0FBUyxZQUFUO0lBQ0EsU0FBZ0QsSUFBaEQ7SUFLRixTQUFzRCxLQUF0RDtJRHVCWSxvQkFBRyxTQUFIO0lBQUEsaUJBQUcsU0FBSDtJQUFBLGVBQUcsU0FBSDtJQUFBLHdCQUFHLE9BQUg7SUFBQSxvQkFBRyxPQUFIO0lBUkgsZ0JBQUcsT0FBSDs7QW9CK0dOO0lBMEZSLFNoQjZCK0IsWWdCN0IvQjtJQUFBLFNoQjZCK0IsU2dCN0IvQjtJQUFBLFNoQjZCK0IsYWdCN0IvQjtJbkI5Tk8sU0FBUyxZQUFUO0lBQ0EsU0FBZ0QsSUFBaEQ7SUFLRixTQUFzRCxLQUF0RDtJRHVCWSxvQkFBRyxTQUFIO0lBQUEsaUJBQUcsU0FBSDtJQUFBLGVBQUcsU0FBSDtJQUFBLHdCQUFHLE9BQUg7SUFBQSxvQkFBRyxPQUFIO0lBUkgsZ0JBQUcsT0FBSDtJQVFHLGtCQUFHLEVBQUg7SUFBQSxlQUFHLEVBQUg7SUFBQSxhQUFHLEVBQUg7SUFSSCxVQUFHLEVBQUg7SUFRRyxjQUFHLFNBQUg7SUFBQSxVQUFHLFNBQUg7SUFSSCxNQUFHLFNBQUg7OztBb0J5SFo7RUFDRyxXQUFVLE1BQVY7O0FBRUg7RUFDRyxnQkFBZSxLQUFmOztBQUlIO0VwQnpIZSxvQkFBRyxXQUFIO0VBQUEsaUJBQUcsV0FBSDtFQVJILFlBQUcsV0FBSDtFb0JtSVQsVUFBUyxTQUFUO0VaL0lGLE9BQWlCLEtBQWpCO0VBQ0EsUUFBa0IsS0FBbEI7RVlnSkUsWUFBVyxJQUFYO0VBQ0EsZUFBYyxLQUFkOztBQUNBO0VBQ0csU0FBUSxHQUFSO0VBQ0EsVUFBUyxTQUFUOztBQUVIO0VBQ0csU0FBUSxHQUFSO0VBQ0EsVUFBUyxTQUFUO0VaekpMLE9BQWlCLE1BQWpCO0VBQ0EsUUFBa0IsTUFBbEI7RUM0QkYsZUFBYyxJQUFkO0VUd05BLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQztFb0JwR0MsS0FBSSxFQUFKO0VBQ0EsTUFBSyxFQUFMO0VwQjFJUyxtQkFBRyxzQkFBSDtFQUFBLGdCQUFHLHNCQUFIO0VBQUEsY0FBRyxzQkFBSDtFQUFBLGVBQUcsc0JBQUg7RUFSSCxXQUFHLHNCQUFIOztBb0JzSlo7RUFDRyxPQUFNLFlBQU47O0FBeUJOO0VwQnhLa0IsbUJBQUcsa0JBQUg7RUFBQSxnQkFBRyxrQkFBSDtFQUFBLGNBQUcsa0JBQUg7RUFBQSxlQUFHLGtCQUFIO0VBUkgsV0FBRyxrQkFBSDtFQVFHLGtCQUFHLE1BQUg7RUFBQSxlQUFHLE1BQUg7RUFBQSxhQUFHLE1BQUg7RUFBQSxlQUFHLE1BQUg7RUFBQSx5QkFBRyxXQUFIO0VBUkgsaUJBQUcsV0FBSDs7QW9CbUxaO0VwQjNLZSxtQkFBRyxnQkFBSDtFQUFBLGdCQUFHLGdCQUFIO0VBQUEsY0FBRyxnQkFBSDtFQUFBLGVBQUcsZ0JBQUg7RUFSSCxXQUFHLGdCQUFIOztBb0J3TGY7RUFDRyxXQUFVLE1BQVY7RUFDQSxhQUFZLEVBQVo7RUFDQSxnQkFBZSxFQUFmO0VwQm5MZSxtQkFBRyxRQUFIO0VBQUEsZ0JBQUcsUUFBSDtFQUFBLGNBQUcsUUFBSDtFQUFBLGdCQUFHLFFBQUg7RUFBQSxxQkFBRyxRQUFIO0VBUkgsYUFBRyxRQUFIOztBb0I4TFQ7RUFDRyxXQUFVLEtBQVY7RUFDQSxRQUFPLEVBQVA7RVgvS1AsZUFBYyxFQUFkOztBV21MSTtFQUNHLFNBQVEsRUFBUjs7QVR0T1Q7RUFDRSxlQUFjLEtBQWQ7O0FBRUY7RUFDRSxlQUFjLE1BQWQ7O0FBRUY7RUFDRSxhQUFZLEtBQVo7O0FBRUY7RUFDRSxnQkFBZSxLQUFmOztBTGlDeUM7QUs5QnpDO0lBQ0UsZUFBa0IsS0FBbEI7O0FBRUY7SUFDRSxlQUEyQixNQUEzQjs7QUFFRjtJQUNFLGFBQWdCLEtBQWhCOztBQUVGO0lBQ0UsZ0JBQW1CLEtBQW5COzs7QUFLSjtFQUNFLGVBQWMsS0FBZDs7QUFFRjtFQUNFLGVBQWMsTUFBZDs7QUFFRjtFQUNFLGFBQVksS0FBWjs7QUFFRjtFQUNFLGdCQUFlLEtBQWY7O0FMS3lDO0FLRnpDO0lBQ0UsZUFBa0IsS0FBbEI7O0FBRUY7SUFDRSxlQUEyQixNQUEzQjs7QUFFRjtJQUNFLGFBQWdCLEtBQWhCOztBQUVGO0lBQ0UsZ0JBQW1CLEtBQW5COzs7QUFLSjtFQUNFLGVBQWMsS0FBZDs7QUFFRjtFQUNFLGFBQVksS0FBWjs7QUFFRjtFQUNFLGdCQUFlLEtBQWY7O0FMcEJ5QztBS3VCekM7SUFDRSxlQUFrQixLQUFsQjs7QUFFRjtJQUNFLGFBQWdCLEtBQWhCOztBQUVGO0lBQ0UsZ0JBQW1CLEtBQW5COzs7QUFLSjtFQUNFLGVBQWMsS0FBZDs7QUFFRjtFQUNFLGFBQVksS0FBWjs7QUFFRjtFQUNFLGdCQUFlLEtBQWY7O0FMMUN5QztBSzZDekM7SUFDRSxlQUFrQixLQUFsQjs7QUFFRjtJQUNFLGFBQWdCLEtBQWhCOztBQUVGO0lBQ0UsZ0JBQW1CLEtBQW5COzs7QUFLSjtFQUNFLGVBQWMsS0FBZDs7QUFFRjtFQUNFLGFBQVksS0FBWjs7QUFFRjtFQUNFLGdCQUFlLEtBQWY7O0FMaEV5QztBS21FekM7SUFDRSxlQUFrQixLQUFsQjs7QUFFRjtJQUNFLGFBQWdCLEtBQWhCOztBQUVGO0lBQ0UsZ0JBQW1CLEtBQW5COzs7QUFLSjtFQUNFLGVBQWMsS0FBZDs7QUFFRjtFQUNFLGFBQVksS0FBWjs7QUFFRjtFQUNFLGdCQUFlLEtBQWY7O0FMdEZ5QztBS3lGekM7SUFDRSxlQUFrQixLQUFsQjs7QUFFRjtJQUNFLGFBQWdCLEtBQWhCOztBQUVGO0lBQ0UsZ0JBQW1CLEtBQW5COzs7QUFLSjtFQUNFLGVBQWMsTUFBZDs7QUFFRjtFQUNFLGFBQVksTUFBWjs7QUFFRjtFQUNFLGdCQUFlLE1BQWY7O0FMNUd5QztBSytHekM7SUFDRSxlQUFtQixvQkFBbkI7O0FBRUY7SUFDRSxhQUFpQixvQkFBakI7O0FBRUY7SUFDRSxnQkFBb0Isb0JBQXBCOzs7QUFLSjtFQUNFLGVBQWMsTUFBZDs7QUFFRjtFQUNFLGFBQVksTUFBWjs7QUFFRjtFQUNFLGdCQUFlLE1BQWY7O0FMbEl5QztBS3FJekM7SUFDRSxlQUFtQixvQkFBbkI7O0FBRUY7SUFDRSxhQUFpQixvQkFBakI7O0FBRUY7SUFDRSxnQkFBb0Isb0JBQXBCOzs7QVl6TEo7RUFDRSxrQkFBaUIsUUFBakI7RUFDQSxTQUFRLFVBQVI7RWRrREEsZUFBYyxJQUFkO0VUVGdCLG9CQUFHLHNFQUFIO0VBUkgsWUFBRyxzRUFBSDs7QXVCN0JiO0VBQ0UsZUFBYyxLQUFkOztBQUdGO0VBOEZELFNuQmlLK0IsWW1CaksvQjtFQUFBLFNuQmlLK0IsU21CaksvQjtFQUFBLFNuQmlLK0IsYW1CaksvQjtFdEIxRk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDs7QXNCTko7RXZCNkJnQixrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0V1Qm5CWCxjQUFhLEtBQWI7RUF3RkgsU25CaUsrQixZbUJqSy9CO0VBQUEsU25CaUsrQixTbUJqSy9CO0VBQUEsU25CaUsrQixhbUJqSy9CO0V0QjFGTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFQVFHLG1CQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEsY0FBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLHFCQUFHLE9BQUg7RUFSSCxhQUFHLE9BQUg7O0F1QmJiO0VUVk8sV0FBVSxLQUFWO0VBQ0EsYUFBbUYsSUFBbkY7RVNXTCxhQUFZLElBQVo7RUFDQSxPQUFNLEtBQU47RXZCa0JjLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RUQxQkosYUFBWSxJQUFaO0V3Qm1CUCxjQUFhLEtBQWI7O0FBR0Y7RXZCWWdCLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7O0F1QkFiO0V2QlFnQixrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0V1QkVYLFdBQVUsTUFBVjtFQUNBLE9BQXFCLHNCQUFyQjs7QUFFQTtFQUNFLE9BQW1CLEtBQW5COztBQUtOO0VBQ0Usa0JBQWlCLFlBQWpCO0V2QkpnQixvQkFBRyxLQUFIO0VBUkgsWUFBRyxLQUFIO0V1QmNiLFVBQVMsU0FBVDs7QUFDQTtFQUNFLFNBQVEsR0FBUjtFQUNBLFVBQVMsU0FBVDtFQUNBLEtBQUksRUFBSjtFQUNBLFFBQU8sRUFBUDtFQUNBLE1BQUssT0FBTDtFQUNBLE9BQU0sT0FBTjtFZEpGLGVBQWMsSUFBZDtFY01FLGtCQUF5Qyx1QkFBekM7RUFDQSxTQUFRLEdBQVI7O0FBR0E7RUFDRSxPQUFNLEtBQU47O0FBRUY7RUFDRSxPQUFNLFFBQU47RUFDQSxXQUFVLE1BQVY7O0FqQnRCcUM7QWlCNEJ6QztJQUNFLGVBQWMsRUFBZDtJQUNBLGNBQWEsRUFBYjs7O0FqQjlCdUM7QWlCb0N2QztJdEIzREEsU0FBUyxNQUFUOzs7QUt1QnVDO0FpQjJDekM7SUFDRSxTQUFRLFVBQVI7SUFDQSxjQUFhLE1BQWI7SUFDQSxhQUFZLE1BQVo7O0FBRUE7SUFDRSxlQUFjLEtBQWQ7O0FBRUY7SXRCMUVBLFNBQVMsTUFBVDs7QXNCOEVBO0lBQ0UsZUFBYyxLQUFkOzs7QUNwR0o7RUFDRSxlQUFjLEtBQWQ7O0FBRUY7RXhCcUNnQixvQkFBc0MsMENBQXRDO0VBQUEsaUJBQXNDLDBDQUF0QztFQUFBLGVBQXNDLDBDQUF0QztFQUFBLGdCQUFzQywwQ0FBdEM7RUFSSCxZQUErQiwwQ0FBL0I7RXdCMUJYLFNBQVEsYUFBUjtFQUNBLGVBQWMsa0JBQWQ7O0FBRUY7RXhCK0JnQixvQkFBc0MsMENBQXRDO0VBQUEsaUJBQXNDLDBDQUF0QztFQUFBLGVBQXNDLDBDQUF0QztFQUFBLGdCQUFzQywwQ0FBdEM7RUFSSCxZQUErQiwwQ0FBL0I7RXdCckJYLFNBQVEsVUFBUjtFeEJnUUYsU0FBUyxFQUFUO0VBV00sWUFBeUUscURBQXpFO0VBQ0EsUUFBaUMsaUJBQWpDO0VDbFFKLFNBQVMsS0FBVDs7QXVCSkU7RUFDRSxlQUFjLEVBQWQ7O0FBSUo7RUFDRSxlQUFjLEtBQWQ7O0FBRUY7RUFDRSxVQUFTLFNBQVQ7RUFDQSxlQUFjLEtBQWQ7O0FBR0Y7RUFDRSxlQUFjLEtBQWQ7O0FBRUE7RXZCWkYsU0FBUyxNQUFUO0V1QmNJLFdBQVUsS0FBVjs7QUFNSjtFeEJrT0YsU0FBUyxFQUFUO0VBUU0sWUFBWSxLQUFaO0VBQ0EsUUFBUSxLQUFSO0VDL1BKLFNBQVMsTUFBVDtFdUJ1QkUsZUFBYyxrQkFBZDs7QUFFRjtFQUNFLE9BQU0sUUFBTjtFQUNBLGNBQWEsUUFBYjs7QWxCSnFDO0FtQjNDckM7SXpCMFFKLFNBQVMsRUFBVDtJQVdNLFlBQXlFLHFEQUF6RTtJQUNBLFFBQWlDLGlCQUFqQztJQTdPVSxtQkFBRyxpQkFBSDtJQUFBLGdCQUFHLGlCQUFIO0lBQUEsY0FBRyxpQkFBSDtJQUFBLGVBQUcsaUJBQUg7SUFSSCxXQUFHLGlCQUFIO0lBTUcsb0JBQXNDLFlBQXRDO0lBQUEsaUJBQXNDLFlBQXRDO0lBQUEsZUFBc0MsWUFBdEM7SUFBQSxnQkFBc0MsWUFBdEM7SUFSSCxZQUErQixZQUEvQjs7QXlCM0JOO0l6QnNRUCxTQUFTLEVBQVQ7SUFRTSxZQUFZLEtBQVo7SUFDQSxRQUFRLEtBQVI7SUExT1UsbUJBQUcsY0FBSDtJQUFBLGdCQUFHLGNBQUg7SUFBQSxjQUFHLGNBQUg7SUFBQSxlQUFHLGNBQUg7SUFSSCxXQUFHLGNBQUg7O0F5QnJCVDtJekIyQlksb0JBQXNDLFlBQXRDO0lBQUEsaUJBQXNDLFlBQXRDO0lBQUEsZUFBc0MsWUFBdEM7SUFBQSxnQkFBc0MsWUFBdEM7SUFSSCxZQUErQixZQUEvQjtJQTJPYixTQUFTLEVBQVQ7SUFXTSxZQUF5RSxxREFBekU7SUFDQSxRQUFpQyxpQkFBakM7SUE3T1UsbUJBQUcsaUJBQUg7SUFBQSxnQkFBRyxpQkFBSDtJQUFBLGNBQUcsaUJBQUg7SUFBQSxlQUFHLGlCQUFIO0lBUkgsV0FBRyxpQkFBSDs7QXlCakJOO0l6QjBQUCxTQUFTLEVBQVQ7SUFRTSxZQUFZLEtBQVo7SUFDQSxRQUFRLEtBQVI7SUExT1UsbUJBQUcsY0FBSDtJQUFBLGdCQUFHLGNBQUg7SUFBQSxjQUFHLGNBQUg7SUFBQSxlQUFHLGNBQUg7SUFSSCxXQUFHLGNBQUg7O0F5QlpUO0l6QmtCWSxvQkFBc0MsWUFBdEM7SUFBQSxpQkFBc0MsWUFBdEM7SUFBQSxlQUFzQyxZQUF0QztJQUFBLGdCQUFzQyxZQUF0QztJQVJILFlBQStCLFlBQS9CO0lBMk9iLFNBQVMsRUFBVDtJQVdNLFlBQXlFLHFEQUF6RTtJQUNBLFFBQWlDLGlCQUFqQztJQTdPVSxtQkFBRyxrQkFBSDtJQUFBLGdCQUFHLGtCQUFIO0lBQUEsY0FBRyxrQkFBSDtJQUFBLGVBQUcsa0JBQUg7SUFSSCxXQUFHLGtCQUFIOztBeUJSTjtJekJpUFAsU0FBUyxFQUFUO0lBUU0sWUFBWSxLQUFaO0lBQ0EsUUFBUSxLQUFSO0lBMU9VLG1CQUFHLGNBQUg7SUFBQSxnQkFBRyxjQUFIO0lBQUEsY0FBRyxjQUFIO0lBQUEsZUFBRyxjQUFIO0lBUkgsV0FBRyxjQUFIOztBeUJIVDtJekJTWSxvQkFBc0MsWUFBdEM7SUFBQSxpQkFBc0MsWUFBdEM7SUFBQSxlQUFzQyxZQUF0QztJQUFBLGdCQUFzQyxZQUF0QztJQVJILFlBQStCLFlBQS9CO0lBMk9iLFNBQVMsRUFBVDtJQVdNLFlBQXlFLHFEQUF6RTtJQUNBLFFBQWlDLGlCQUFqQztJQTdPVSxtQkFBRyxpQkFBSDtJQUFBLGdCQUFHLGlCQUFIO0lBQUEsY0FBRyxpQkFBSDtJQUFBLGVBQUcsaUJBQUg7SUFSSCxXQUFHLGlCQUFIO0lBUUcsMEJBQUcsS0FBSDtJQUFBLHVCQUFHLEtBQUg7SUFBQSxxQkFBRyxLQUFIO0lBQUEsc0JBQUcsS0FBSDtJQVJILGtCQUFHLEtBQUg7O0F5QkVOO0l6QnVPUCxTQUFTLEVBQVQ7SUFRTSxZQUFZLEtBQVo7SUFDQSxRQUFRLEtBQVI7SUExT1UsbUJBQUcsY0FBSDtJQUFBLGdCQUFHLGNBQUg7SUFBQSxjQUFHLGNBQUg7SUFBQSxlQUFHLGNBQUg7SUFSSCxXQUFHLGNBQUg7OztBMEI5QmI7RUFDRSxXQUFVLE1BQVY7RUFDQSxjQUFhLEtBQWI7RUFDQSxhQUFZLEtBQVo7O0FBR0Y7RUFDRSxnQkFBZSxLQUFmO0VBQ0EsZUFBYyxnQ0FBZDtFQUNBLGVBQWMsS0FBZDs7QUFFQTtFQUNFLGVBQWMsS0FBZDs7QUFHRjtFQUNFLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjs7QUFJSjtFekJKRSxTQUFTLE1BQVQ7RXlCTUEsV0FBVSxLQUFWOztBQUlBO0VBd0VILFN0QmlLK0IsWXNCaksvQjtFQUFBLFN0QmlLK0IsU3NCaksvQjtFQUFBLFN0QmlLK0IsYXNCaksvQjtFekIxRk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxtQkFBRyxTQUFIO0VBQUEsZ0JBQUcsU0FBSDtFQUFBLGNBQUcsU0FBSDtFQUFBLG1CQUFHLEtBQUg7RUFBQSxlQUFHLEtBQUg7RUFSSCxXQUFHLEtBQUg7RUFRRyxrQkFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEsYUFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEseUJBQUcsY0FBSDtFQVJILGlCQUFHLGNBQUg7RTBCQ1QsYUFBWSxLQUFaO0VBQ0EsY0FBYSxLQUFiOztBQUdGO0FBQU87RUFFTCxhQUFZLElBQVo7RUFDQSxjQUFhLElBQWI7O0FBS047RXpCMUJJLFNBQVMsTUFBVDs7QXlCNkJGO0VBQ0UsY0FBYSxLQUFiO0VBQ0EsYUFBWSxLQUFaOztBQUdGO0V6QmxDRSxTQUFTLE1BQVQ7RURzUEYsU0FBUyxFQUFUO0VBUU0sWUFBWSxLQUFaO0VBQ0EsUUFBUSxLQUFSO0VBNU9VLG9CQUFzQywwQ0FBdEM7RUFBQSxpQkFBc0MsMENBQXRDO0VBQUEsZUFBc0MsMENBQXRDO0VBQUEsZ0JBQXNDLDBDQUF0QztFQVJILFlBQStCLDBDQUEvQjs7QTBCMkJYO0UxQmdORixTQUFTLElBQVQ7RUFXTSxZQUF5RSxzREFBekU7RUFDQSxRQUFpQyxrQkFBakM7O0EwQnhOTjtFQUNFLGFBQVksS0FBWjtFQUNBLGdCQUFlLEtBQWY7RUFDQSxlQUFjLGdDQUFkOztBQUtGO0VqQnBCQSxlQUFjLElBQWQ7O0FpQnNCRTtFQUNFLFVBQVMsU0FBVDs7QUFFQTtFQUNFLFNBQVEsR0FBUjtFekJ4REosU0FBUyxNQUFUO0V5QjBESSxVQUFTLFNBQVQ7RUFDQSxLQUFJLEVBQUo7RUFDQSxNQUFLLEVBQUw7RUFDQSxPQUFNLEVBQU47RUFDQSxRQUFPLEVBQVA7RUFDQSxrQkFBeUMscUJBQXpDOztBQUdGO0VBQ0UsU0FBUSxHQUFSO0V6Qm5FSixTQUFTLE1BQVQ7RXlCcUVJLE9BQU0sS0FBTjtFQUNBLFFBQU8sS0FBUDtFQUNBLFVBQVMsU0FBVDtFQUNBLEtBQUksSUFBSjtFQUNBLE1BQUssSUFBTDtFMUJwRFUsbUJBQUcsc0JBQUg7RUFBQSxnQkFBRyxzQkFBSDtFQUFBLGNBQUcsc0JBQUg7RUFBQSxlQUFHLHNCQUFIO0VBUkgsV0FBRyxzQkFBSDtFQVFHLHlCQUFHLFFBQUg7RUFBQSxzQkFBRyxRQUFIO0VBUkgsaUJBQUcsUUFBSDtFMEIrRFAsbUJBQWtCLFVBQWxCO0VBQ0EscUJBQW9CLE9BQXBCO0UxQnFaSixrQkFBaUIsK0JBQWpCOztBMkJ4Zko7RUFDRSxZQUFXLE1BQVg7RTNCaWZFLFlBQVcsMkNBQVg7RUF2Y2MsbUJBQUcseUJBQUg7RUFBQSxnQkFBRyx5QkFBSDtFQUFBLGNBQUcseUJBQUg7RUFBQSxlQUFHLHlCQUFIO0VBUkgsV0FBRyx5QkFBSDs7QTJCN0JTO0FBQ3RCO0lBQU8scUJBQXFCLElBQXJCOztBQUNQO0lBQUsscUJBQXFCLFNBQXJCOzs7QUNQTDtFQWlDRCxTeEJ1TytCLFl3QnZPL0I7RUFBQSxTeEJ1TytCLFN3QnZPL0I7RUFBQSxTeEJ1TytCLGF3QnZPL0I7RTNCcEJPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsU0FBSDtFQUFBLGdCQUFHLFNBQUg7RUFBQSxjQUFHLFNBQUg7RUFBQSxtQkFBRyxLQUFIO0VBQUEsZUFBRyxLQUFIO0VBUkgsV0FBRyxLQUFIO0U0Qi9CWCxRQUFPLE9BQVA7RUFDQSxlQUFjLEtBQWQ7O0FBR0Y7RUFDRSxRQUFPLE1BQVA7RUFDQSxlQUFjLElBQWQ7RUFDQSxPQUFNLFFBQU47RUFDQSxhQUFZLElBQVo7O0FBRUE7RTVCOFBGLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQzs7QTRCdFFKO0VBQ0UsZ0JBQWUsS0FBZjtFQUNBLE9BQU0sUUFBTjs7QUFPRjtFQUNFLE9BQU0sS0FBTjs7QUFDQTtFNUIrT0osU0FBUyxJQUFUO0VBV00sWUFBeUUsc0RBQXpFO0VBQ0EsUUFBaUMsa0JBQWpDOztBNkJ2Uk47RUFDRSxlQUFjLGlDQUFkO0VBQ0EsVUFBUyxTQUFUOztBQUVFO0VBQ0UsVUFBUyxTQUFUO0VBQ0EsU0FBUSxHQUFSO0VBQ0Esa0JBQWlCLFFBQWpCO0VBQ0EsS0FBSSxFQUFKO0VBQ0EsTUFBSyxPQUFMO0VBQ0EsT0FBTSxPQUFOO0VBQ0EsU0FBUSxHQUFSO0U1QlVKLFNBQVMsTUFBVDtFUThCRixlQUFjLElBQWQ7RW9CckNNLFlBQVcsS0FBWDtFQUNBLFFBQU8sTUFBUDs7QUFNUjtFQUNFLFVBQVMsU0FBVDs7QUFFQTtFQUNFLE9BQU0sS0FBTjs7QUFHRjtFQUNFLE9BQU0sS0FBTjtFN0I4T0YsU0FBUyxJQUFUO0VBV00sWUFBeUUsc0RBQXpFO0VBQ0EsUUFBaUMsa0JBQWpDOztBNkJ0UE47RUF3UUQsU3pCakMrQixZeUJpQy9CO0VBQUEsU3pCakMrQixTeUJpQy9CO0VBQUEsU3pCakMrQixheUJpQy9CO0U1QjVSTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0U0QmdCRixTQUFRLEVBQVI7RUFDQSxVQUFTLFNBQVQ7O0FBR0Y7RTdCR2dCLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RTZCT1gsT0FBTSxNQUFOO0VBQ0EsY0FBYSxLQUFiOztBQUdGO0U3QkhnQixrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0U2QnVRZCxTekJqQytCLFl5QmlDL0I7RUFBQSxTekJqQytCLFN5QmlDL0I7RUFBQSxTekJqQytCLGF5QmlDL0I7RTVCNVJPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsSUFBSDtFQUFBLGdCQUFHLElBQUg7RUFBQSxjQUFHLElBQUg7RUFBQSxnQkFBRyxJQUFIO0VBQUEscUJBQUcsU0FBSDtFQVJILGFBQUcsU0FBSDs7QTZCaUJiO0VBQ0UsVUFBUyxTQUFUO0VBQ0EsTUFBSyxPQUFMO0VBQ0EsT0FBTSxPQUFOO0VBQ0EsS0FBSSxPQUFKO0VBQ0EsUUFBTyxFQUFQO0VBQ0EsU0FBUSxHQUFSOztBQUlKO0U3Qm5Ca0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDs7QTZCOEJiO0VBeU9ELFN6QmpDK0IsWXlCaUMvQjtFQUFBLFN6QmpDK0IsU3lCaUMvQjtFQUFBLFN6QmpDK0IsYXlCaUMvQjtFNUI1Uk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFNEIrQ0YsY0FBYSxNQUFiO0VBQ0EsYUFBWSxNQUFaO0VBQ0EsZUFBYyxNQUFkOztBQUVBO0VBQ0UsY0FBYSxLQUFiO0VBQ0EsYUFBWSxLQUFaO0VBQ0EsZUFBYyxLQUFkO0VwQnRCSixlQUFjLFlBQWQ7RUpqQ0UsVUFBVSxPQUFWO0VMd0JjLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7O0E2QjhDYjtFQXlORCxTekJqQytCLFl5QmlDL0I7RUFBQSxTekJqQytCLFN5QmlDL0I7RUFBQSxTekJqQytCLGF5QmlDL0I7RTVCNVJPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7O0E0QmlFSjtFN0IxQ2dCLDJCQUFHLEVBQUg7RUFBQSx3QkFBRyxFQUFIO0VBQUEsc0JBQUcsRUFBSDtFQUFBLGdCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFSSCxPQUFHLEVBQUg7RUFRRyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0U2QnFEWCxhQUFZLEtBQVo7O0FBR0Y7RUFDRSxjQUFhLEtBQWI7RTdCakRjLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RUFRRywyQkFBRyxFQUFIO0VBQUEsd0JBQUcsRUFBSDtFQUFBLHNCQUFHLEVBQUg7RUFBQSxnQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBUkgsT0FBRyxFQUFIOztBNkI4RGI7RUFDRSxXQUFVLEtBQVY7RTVCNUVBLFNBQVMsTUFBVDs7QTRCa0ZGO0VBa01ELFN6QmpDK0IsWXlCaUMvQjtFQUFBLFN6QmpDK0IsU3lCaUMvQjtFQUFBLFN6QmpDK0IsYXlCaUMvQjtFNUI1Uk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxtQkFBRyxTQUFIO0VBQUEsZ0JBQUcsU0FBSDtFQUFBLGNBQUcsU0FBSDtFQUFBLG1CQUFHLEtBQUg7RUFBQSxlQUFHLEtBQUg7RUFSSCxXQUFHLEtBQUg7RTZCd0VYLGFBQVksTUFBWjtFQUNBLGNBQWEsTUFBYjtFQUNBLGVBQWMsTUFBZDs7QUFFQTtFQUNFLGFBQVksS0FBWjtFQUNBLGNBQWEsS0FBYjtFQUNBLGVBQWMsS0FBZDtFQUNBLFdBQTJCLG1CQUEzQjtFN0J4RVksb0JBQUcsbUJBQUg7RUFSSCxZQUFHLG1CQUFIO0U2QnVRZCxTekJqQytCLFl5QmlDL0I7RUFBQSxTekJqQytCLFN5QmlDL0I7RUFBQSxTekJqQytCLGF5QmlDL0I7RTVCNVJPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1Qlksa0JBQUcsT0FBSDtFQUFBLGVBQUcsT0FBSDtFQUFBLGFBQUcsT0FBSDtFQUFBLGVBQUcsT0FBSDtFQUFBLHlCQUFHLE9BQUg7RUFSSCxpQkFBRyxPQUFIO0VBUUcsbUJBQUcsT0FBSDtFQUFBLGdCQUFHLE9BQUg7RUFBQSxjQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEscUJBQUcsT0FBSDtFQVJILGFBQUcsT0FBSDs7QTZCd0ZiO0U1QnJHRSxTQUFTLE1BQVQ7RTRCdUdBLFdBQVUsS0FBVjs7QUFPRTtFQUNFLFdBQXlCLGlCQUF6QjtFN0IxRlUsb0JBQUcsaUJBQUg7RUFSSCxZQUFHLGlCQUFIOztBNkI0R1Q7RUFDRSxXQUEyQixtQkFBM0I7RTdCckdVLG9CQUFHLG1CQUFIO0VBUkgsWUFBRyxtQkFBSDs7QTZCb0hmO0V4QnBJSSxVQUFVLE9BQVY7RUlpQ0YsZUFBYyxJQUFkO0VUVGdCLG9CQUFHLCtCQUFIO0VBUkgsWUFBRywrQkFBSDtFQU1HLG9CQUFzQywwQ0FBdEM7RUFBQSxpQkFBc0MsMENBQXRDO0VBQUEsZUFBc0MsMENBQXRDO0VBQUEsZ0JBQXNDLDBDQUF0QztFQVJILFlBQStCLDBDQUEvQjtFQ1hYLFNBQVMsTUFBVDs7QTRCdUlGO0U3QitHQSxTQUFTLElBQVQ7RUFXTSxZQUF5RSxzREFBekU7RUFDQSxRQUFpQyxrQkFBakM7RUE3T1Usb0JBQUcsNEJBQUg7RUFSSCxZQUFHLDRCQUFIOztBNkJpSWI7RUFzSUQsU3pCakMrQixZeUJpQy9CO0VBQUEsU3pCakMrQixTeUJpQy9CO0VBQUEsU3pCakMrQixheUJpQy9CO0U1QjVSTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFNkJvSVgsY0FBYSxNQUFiO0VBQ0EsYUFBWSxNQUFaO0VBQ0EsZUFBYyxNQUFkO0U3QjlIYyxrQkFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEsYUFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEseUJBQUcsY0FBSDtFQVJILGlCQUFHLGNBQUg7O0E2QndJWDtFQUNFLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjtFQUNBLGVBQWMsS0FBZDtFQTRITCxTekJqQytCLFl5QmlDL0I7RUFBQSxTekJqQytCLFN5QmlDL0I7RUFBQSxTekJqQytCLGF5QmlDL0I7RTVCNVJPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7O0E0QitKRjtFQUNFLGFBQVksSUFBWjtFQUNBLGVBQWMsS0FBZDtFZnpLRyxXQUFVLEtBQVY7RUFDQSxhQUFtRixrQkFBbkY7RWUwS0gsT0FBTSxRQUFOOztBdkIxSXFDO0F1Qm9KckM7SUFDRSxXQUFVLE1BQVY7OztBdkJySm1DO0F1QjZKdkM7STVCcExBLFNBQVMsTUFBVDs7QTRCd0xBO0lBQ0UsT0FBTSxLQUFOO0lBQ0EsZUFBYyxLQUFkOztBQUtBO0lBQ0UsV0FBNEIsb0JBQTVCO0k3QjNLVSxvQkFBRyxvQkFBSDtJQVJILFlBQUcsb0JBQUg7O0E2QjJMUDtJQUNFLFdBQTRCLG9CQUE1QjtJN0JwTFEsb0JBQUcsb0JBQUg7SUFSSCxZQUFHLG9CQUFIOztBNkJvTVQ7SUFDRSxXQUF5QixpQkFBekI7STdCN0xVLG9CQUFHLGlCQUFIO0lBUkgsWUFBRyxpQkFBSDs7O0FNVTRCO0F1Qm9NdkM7STVCM05BLFNBQVMsTUFBVDs7QTRCK05BO0lBQ0UsZUFBYyxLQUFkOztBQU1BO0lBQ0UsV0FBMEIsa0JBQTFCO0k3QmxOVSxvQkFBRyxrQkFBSDtJQVJILFlBQUcsa0JBQUg7O0E2Qm1PUDs7SUFDRSxXQUEwQixrQkFBMUI7STdCNU5RLG9CQUFHLGtCQUFIO0lBUkgsWUFBRyxrQkFBSDs7O0FNVTRCO0F1QnFPckM7SUFDRSxXQUFVLE1BQVY7O0FBTUY7SUFDRSxXQUF5QixpQkFBekI7STdCL09VLG9CQUFHLGlCQUFIO0lBUkgsWUFBRyxpQkFBSDs7QTZCZ1FQOztJQUNFLFdBQTBCLGtCQUExQjtJN0J6UFEsb0JBQUcsa0JBQUg7SUFSSCxZQUFHLGtCQUFIOzs7QThCbkNmO0VoQ1NJLFFBQVEsa0JBQVI7RVcyQ0YsZUFBYyxJQUFkO0VxQmpEQSxTQUFRLEtBQVI7RUFtSEQsUzFCbUorQixZMEJuSi9CO0VBQUEsUzFCbUorQixTMEJuSi9CO0VBQUEsUzFCbUorQixhMEJuSi9CO0U3QnhHTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLEVBQUg7RUFBQSxVQUFHLEVBQUg7RUFSSCxNQUFHLEVBQUg7RThCN0JiLFlBQVcsTUFBWDtFQUNBLFVBQVMsU0FBVDtFQUNBLE9BQU0sbUJBQU47RTlCaUNnQixvQkFBc0MsMENBQXRDO0VBQUEsaUJBQXNDLDBDQUF0QztFQUFBLGVBQXNDLDBDQUF0QztFQUFBLGdCQUFzQywwQ0FBdEM7RUFSSCxZQUErQiwwQ0FBL0I7O0E4QnRCYjtFOUJnQ2dCLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLEVBQUg7RUFBQSxVQUFHLEVBQUg7RUFSSCxNQUFHLEVBQUg7RThCdEJYLFVBQVMsU0FBVDtFQUNBLFNBQVEsRUFBUjtFQXdHSCxTMUJtSitCLFkwQm5KL0I7RUFBQSxTMUJtSitCLFMwQm5KL0I7RUFBQSxTMUJtSitCLGEwQm5KL0I7RTdCeEdPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1Qlksb0JBQUcsU0FBSDtFQUFBLGlCQUFHLFNBQUg7RUFBQSxlQUFHLFNBQUg7RUFBQSx3QkFBRyxPQUFIO0VBQUEsb0JBQUcsT0FBSDtFQVJILGdCQUFHLE9BQUg7O0E4QmhCYjtFQUNFLFVBQVMsU0FBVDtFQUNBLEtBQUksRUFBSjtFQUNBLE1BQUssRUFBTDtFQUNBLE9BQU0sRUFBTjtFQUNBLFFBQU8sRUFBUDtFOUJvUEYsU0FBUyxFQUFUO0VBV00sWUFBeUUscURBQXpFO0VBQ0EsUUFBaUMsaUJBQWpDOztBOEI1UE47RTlCZWdCLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RThCTFgsZUFBYyxLQUFkOztBQUVBO0VBc0ZILFMxQm1KK0IsWTBCbkovQjtFQUFBLFMxQm1KK0IsUzBCbkovQjtFQUFBLFMxQm1KK0IsYTBCbkovQjtFN0J4R08sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxtQkFBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLGNBQUcsT0FBSDtFQUFBLGdCQUFHLE9BQUg7RUFBQSxxQkFBRyxPQUFIO0VBUkgsYUFBRyxPQUFIOztBOEJFWDtFOUJNYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIOztBOEJNWDtFOUJFYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0U4QlFULGNBQWEsS0FBYjs7QUFJSjtFQUNFLE9BQU0sUUFBTjtFQUNBLFdBQVUsS0FBVjtFQUNBLGFBQVksSUFBWjtFL0J6Q08sYUFBWSxJQUFaOztBK0JnRFQ7RTlCZGdCLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLEVBQUg7RUFBQSxVQUFHLEVBQUg7RUFSSCxNQUFHLEVBQUg7RThCd0JYLGVBQWMsS0FBZDs7QUFHRjtFQUNFLGFBQVksSUFBWjtFaEJuREssV0FBVSxLQUFWO0VBQ0EsYUFBbUYsa0JBQW5GOztBZ0JzRFA7RTlCeEJnQixrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIOztBOEJvQ2I7RUErQ0QsUzFCbUorQixZMEJuSi9CO0VBQUEsUzFCbUorQixTMEJuSi9CO0VBQUEsUzFCbUorQixhMEJuSi9CO0U3QnhHTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEsY0FBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLHFCQUFHLE9BQUg7RUFSSCxhQUFHLE9BQUg7O0E4QndDWDtFQUNFLGFBQVksSUFBWjtFekJ6REYsVUFBVSxPQUFWO0V5QjJERSxXQUFVLEVBQVY7RTdCeERGLFNBQVMsYUFBVDs7QTZCZ0VBO0FBQVM7QUFDUztFQUVoQixPQUFNLEtBQU47O0FBSUE7RUFDRSxXQUFVLE1BQVY7RUFDQSxjQUFhLEtBQWI7O0FBS0o7RUFDRSxRQUFvQixlQUFwQjs7QUFHRjtFOUJvS0YsU0FBUyxFQUFUO0VBUU0sWUFBWSxLQUFaO0VBQ0EsUUFBUSxLQUFSOztBOEJ4S047RUFDRSxRQUFvQixlQUFwQjs7QXhCakV1QztBd0JzRXpDO0lBQ0UsU0FBUSxVQUFSOzs7QUMxR0Y7RUE0RUQsUzNCbUwrQixZMkJuTC9CO0VBQUEsUzNCbUwrQixTMkJuTC9CO0VBQUEsUzNCbUwrQixhMkJuTC9CO0U5QnhFTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLGtCQUFHLE9BQUg7RUFBQSxlQUFHLE9BQUg7RUFBQSxhQUFHLE9BQUg7RUFBQSxlQUFHLE9BQUg7RUFBQSx5QkFBRyxPQUFIO0VBUkgsaUJBQUcsT0FBSDs7QStCakJiO0VBb0VELFMzQm1MK0IsWTJCbkwvQjtFQUFBLFMzQm1MK0IsUzJCbkwvQjtFQUFBLFMzQm1MK0IsYTJCbkwvQjtFOUJ4RU8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxtQkFBRyxTQUFIO0VBQUEsZ0JBQUcsU0FBSDtFQUFBLGNBQUcsU0FBSDtFQUFBLG1CQUFHLEtBQUg7RUFBQSxlQUFHLEtBQUg7RUFSSCxXQUFHLEtBQUg7RStCZFgsYUFBWSxNQUFaO0VBQ0EsY0FBYSxNQUFiO0VBQ0EsZUFBYyxNQUFkOztBQUVBO0UvQmtCYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0UrQlJULFdBQXlCLGlCQUF6QjtFL0JnQlksb0JBQUcsaUJBQUg7RUFSSCxZQUFHLGlCQUFIO0UrQk5ULGFBQVksS0FBWjtFQUNBLGNBQWEsS0FBYjtFQUNBLGVBQWMsS0FBZDtFQXVETCxTM0JtTCtCLFkyQm5ML0I7RUFBQSxTM0JtTCtCLFMyQm5ML0I7RUFBQSxTM0JtTCtCLGEyQm5ML0I7RTlCeEVPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7O0E4QmNBO0U5QlpGLFNBQVMsS0FBVDs7QThCc0JFO0UvQkRZLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLEVBQUg7RUFBQSxVQUFHLEVBQUg7RUFSSCxNQUFHLEVBQUg7RStCV1AsV0FBeUIsaUJBQXpCO0UvQkhVLG9CQUFHLGlCQUFIO0VBUkgsWUFBRyxpQkFBSDs7QU1VNEI7QXlCV3JDO0kvQmJZLGtCQUFHLEVBQUg7SUFBQSxlQUFHLEVBQUg7SUFBQSxhQUFHLEVBQUg7SUFSSCxVQUFHLEVBQUg7SUFRRyxjQUFHLEVBQUg7SUFBQSxVQUFHLEVBQUg7SUFSSCxNQUFHLEVBQUg7SStCdUJQLFdBQXlCLGlCQUF6QjtJL0JmVSxvQkFBRyxpQkFBSDtJQVJILFlBQUcsaUJBQUg7OztBTVU0QjtBeUJ1QnJDO0kvQnpCWSxrQkFBRyxFQUFIO0lBQUEsZUFBRyxFQUFIO0lBQUEsYUFBRyxFQUFIO0lBUkgsVUFBRyxFQUFIO0lBUUcsY0FBRyxFQUFIO0lBQUEsVUFBRyxFQUFIO0lBUkgsTUFBRyxFQUFIO0krQm1DUCxXQUEwQixrQkFBMUI7SS9CM0JVLG9CQUFHLGtCQUFIO0lBUkgsWUFBRyxrQkFBSDs7QStCMkNQO0kvQm5DVSxrQkFBRyxFQUFIO0lBQUEsZUFBRyxFQUFIO0lBQUEsYUFBRyxFQUFIO0lBUkgsVUFBRyxFQUFIO0lBUUcsY0FBRyxFQUFIO0lBQUEsVUFBRyxFQUFIO0lBUkgsTUFBRyxFQUFIO0krQjZDTCxXQUEwQixrQkFBMUI7SS9CckNRLG9CQUFHLGtCQUFIO0lBUkgsWUFBRyxrQkFBSDs7O0FnQ2xDYjtFQXVDRCxTNUJpTytCLFk0QmpPL0I7RUFBQSxTNUJpTytCLFM0QmpPL0I7RUFBQSxTNUJpTytCLGE0QmpPL0I7RS9CMUJPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RStCakJGLGNBQWEsTUFBYjtFQUNBLGFBQVksTUFBWjtFQUNBLGVBQWMsTUFBZDs7QUFDQTtFQUNFLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjtFQUNBLFdBQTBCLGtCQUExQjtFaENrQ1ksb0JBQUcsa0JBQUg7RUFSSCxZQUFHLGtCQUFIO0VnQ3hCVCxlQUFjLEtBQWQ7O0ExQmtDcUM7QTBCM0J2QztJQUNFLGNBQWEsTUFBYjtJQUNBLGFBQVksTUFBWjs7QUFFQTtJQUNFLGNBQWEsS0FBYjtJQUNBLGFBQVksS0FBWjtJQUNBLFdBQXlCLGlCQUF6QjtJaENrQlUsb0JBQUcsaUJBQUg7SUFSSCxZQUFHLGlCQUFIOzs7QU1VNEI7QTBCWnZDO0kvQlhBLFNBQVMsTUFBVDs7QStCYUU7SUFDRSxXQUFVLEtBQVY7OztBQ25DTjtFakMwQ2dCLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLEVBQUg7RUFBQSxVQUFHLEVBQUg7RUFSSCxNQUFHLEVBQUg7RWlDaENYLFdBQVUsTUFBVjs7QUFFRjtFQUNFLFlBQVcsTUFBWDs7QUFFRjtFQUNFLFdBQVUsT0FBVjtFQUNBLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjtFQTBCSCxTN0JvTytCLFk2QnBPL0I7RUFBQSxTN0JvTytCLFM2QnBPL0I7RUFBQSxTN0JvTytCLGE2QnBPL0I7RWhDdkJPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RWdDUEYsa0JBQWlCLFFBQWpCOztBQUNBO0VqQzZCYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0VpQ25CVCxTQUFRLEtBQVI7RUFxQkwsUzdCb08rQixZNkJwTy9CO0VBQUEsUzdCb08rQixTNkJwTy9CO0VBQUEsUzdCb08rQixhNkJwTy9CO0VoQ3ZCTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEsY0FBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLHFCQUFHLE9BQUg7RUFSSCxhQUFHLE9BQUg7RUFRRyxrQkFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEsYUFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEseUJBQUcsT0FBSDtFQVJILGlCQUFHLE9BQUg7O0FpQ2RYO0VqQ3NCYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0VpQ1pULFlBQVcsTUFBWDs7QTNCc0JxQztBMkJmdkM7SWhDUkEsU0FBUyxNQUFUOztBZ0NXQTtJQUNFLFdBQVUsS0FBVjs7O0FDbENOO0VBQ0UsT0FBTSxLQUFOOztBQUVBO0VBQ0UsZUFBYyxLQUFkOztBQUdGO0VBQ0UsVUFBUyxTQUFUO0VBQ0Esa0JBQWlCLFFBQWpCO0VBQ0EsU0FBUSxLQUFSO0VsQ2lDYyxvQkFBRyxXQUFIO0VBQUEsaUJBQUcsV0FBSDtFQVJILFlBQUcsV0FBSDtFU2lCYixlQUFjLElBQWQ7RUpqQ0UsVUFBVSxPQUFWOztBNkJIRjtFQUNFLGVBQWMsS0FBZDtFQUNBLE9BQXFCLHNCQUFyQjs7QUFHRjtFQUNFLFdBQVUsTUFBVjs7QUFHRjtFQUNFLFdBQVUsTUFBVjs7QUFHRjtFQUNFLFVBQVMsU0FBVDtFQUNBLFFBQU8sRUFBUDtFQUNBLE9BQU0sRUFBTjs7QUFHRjtFQUNFLE9BQU0sS0FBTjs7QUFHRjtFakNqQkUsU0FBUyxNQUFUO0VpQ21CQSxXQUFVLEtBQVY7O0E1Qkl1QztBNEJFdkM7SUFDRSxPQUFNLE9BQU47OztBNUJIcUM7QTRCVXZDO0lBQ0UsY0FBYSxNQUFiO0lBQ0EsYUFBWSxNQUFaO0lBQ0EsU0FBUSxLQUFSO0lBQ0EsZ0JBQWUsRUFBZjs7QUFFRjtJQUNFLFVBQVMsT0FBVDs7O0FDN0RKO0VBQ0UsV0FBVSxPQUFWO0VBQ0EsYUFBWSxJQUFaOztBQUVBO0VBOEJILFMvQnNPK0IsWStCdE8vQjtFQUFBLFMvQnNPK0IsUytCdE8vQjtFQUFBLFMvQnNPK0IsYStCdE8vQjtFbENyQk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxtQkFBRyxTQUFIO0VBQUEsZ0JBQUcsU0FBSDtFQUFBLGNBQUcsU0FBSDtFQUFBLG1CQUFHLEtBQUg7RUFBQSxlQUFHLEtBQUg7RUFSSCxXQUFHLEtBQUg7RUFRRyxrQkFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEsYUFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEseUJBQUcsY0FBSDtFQVJILGlCQUFHLGNBQUg7RW1DMUJULGNBQWEsTUFBYjtFQUNBLGFBQVksTUFBWjtFQUNBLGVBQWMsTUFBZDs7QUFHRjtFQUNFLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjtFQUNBLGVBQWMsS0FBZDtFQUNBLFdBQVUsTUFBVjs7QUFHSjtFQUNFLFVBQVMsU0FBVDs7QUFDQTtFQUNFLFNBQVEsR0FBUjtFQUNBLFVBQVMsU0FBVDtFQUNBLFFBQU8sRUFBUDtFQUNBLFFBQU8sSUFBUDtFQUNBLGtCQUFpQixRQUFqQjtFQUNBLE9BQU0sTUFBTjtFQUNBLE1BQUssSUFBTDtFbkNhWSxtQkFBRyxpQkFBSDtFQUFBLGdCQUFHLGlCQUFIO0VBQUEsY0FBRyxpQkFBSDtFQUFBLGVBQUcsaUJBQUg7RUFSSCxXQUFHLGlCQUFIO0VBeU9iLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQzs7QW9DeFJSO0VBQ0UsU0FBUSxVQUFSOztBQUVBO0VBQ0UsT0FBTSxLQUFOO0VBQ0EsZUFBYyxLQUFkOztBQUdGO0VBQ0UsYUFBWSxPQUFaOztBQ1RKO0VBQ0UsVUFBUyxNQUFUO0VBQ0EsUUFBTyxFQUFQO0VBQ0EsTUFBSyxFQUFMO0VBQ0EsT0FBTSxFQUFOO0VBQ0EsU0FBUSxJQUFSO0VBQ0EsZ0JBQWUsS0FBZjtFQUNBLGVBQWMsS0FBZDs7QUFDQTtFQUNFLFVBQVMsU0FBVDs7QUFFRjtFQXVDRCxTakN1TitCLFlpQ3ZOL0I7RUFBQSxTakN1TitCLFNpQ3ZOL0I7RUFBQSxTakN1TitCLGFpQ3ZOL0I7RXBDcENPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1Qlksa0JBQUcsSUFBSDtFQUFBLGVBQUcsSUFBSDtFQUFBLGFBQUcsSUFBSDtFQUFBLGVBQUcsSUFBSDtFQUFBLHlCQUFHLFNBQUg7RUFSSCxpQkFBRyxTQUFIOztBcUNyQlg7RTdCU0EsT0FBaUIsS0FBakI7RUFDQSxRQUFrQixLQUFsQjtFNkJSRSxrQkFBaUIsS0FBakI7RXZDUEYsUUFBUSxrQkFBUjtFdUNTRSxVQUFTLFNBQVQ7RTVCa0NKLGVBQWMsSUFBZDtFVHdOQSxTQUFTLEVBQVQ7RUFXTSxZQUF5RSxxREFBekU7RUFDQSxRQUFpQyxpQkFBakM7RXFDblFGLGdCQUFlLEtBQWY7RXJDeWVGLFFBQU8sUUFBUDtFQXJkYyxvQkFBc0Msa0JBQXRDO0VBQUEsaUJBQXNDLGtCQUF0QztFQUFBLGVBQXNDLGtCQUF0QztFQUFBLGdCQUFzQyxrQkFBdEM7RUFSSCxZQUErQixrQkFBL0I7RUFVRyxvQkFBRywrQkFBSDtFQVJILFlBQUcsK0JBQUg7O0FxQ1ZUO0VBQ0UsU0FBUSxHQUFSO0VwQ0pKLFNBQVMsTUFBVDtFb0NNSSxVQUFTLFNBQVQ7RUFDQSxLQUFJLElBQUo7RUFDQSxNQUFLLElBQUw7RXJDYVUsbUJBQUcscUNBQUg7RUFBQSxnQkFBRyxxQ0FBSDtFQUFBLGNBQUcscUNBQUg7RUFBQSxlQUFHLHFDQUFIO0VBUkgsV0FBRyxxQ0FBSDtFcUNIUCxZQUFXLEtBQVg7RTNCT0YsT0FBTSxLQUFOO0VBQ0EsUUFBTyxLQUFQOztBTmtQRjtFSndOQSxZQUFXLDRRQUFYO0VBdmNjLHlCQUFHLFVBQUg7RUFBQSxzQkFBRyxVQUFIO0VBUkgsaUJBQUcsVUFBSDs7QXFDQVQ7RXJDeU9KLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQztFcUNuUEEsZ0JBQWUsS0FBZjs7QUFDQTtFckNzT04sU0FBUyxFQUFUO0VBUU0sWUFBWSxLQUFaO0VBQ0EsUUFBUSxLQUFSOztBTXhPbUM7QStCRXpDO0lBQ0UsZUFBYyxNQUFkOzs7QUNoREo7RXRDa2ZJLFlBQVcsUUFBWDs7QXNDL2VGO0VBQ0UsYUFBWSxLQUFaO0VBQ0EsZ0JBQWUsS0FBZjtFQUNBLGVBQWMsaUNBQWQ7O0FBR0Y7RXhCR08sV0FBVSxLQUFWO0VBQ0EsYUFBbUYsSUFBbkY7RXdCRkwsT0FBTSxLQUFOO0VBQ0EsYUFBWSxJQUFaO0VBQ0EsZUFBYyxLQUFkOztBQUdGO0VyQ01FLFNBQVMsYUFBVDtFYVZLLFdBQVUsS0FBVjtFQUNBLGFBQW1GLGtCQUFuRjtFd0JNTCxhQUFZLElBQVo7RUFDQSxjQUFhLEtBQWI7RUFDQSxPQUFNLG1CQUFOOztBQUNBO0V0Q3NQRixTQUFTLElBQVQ7RUFXTSxZQUF5RSxzREFBekU7RUFDQSxRQUFpQyxrQkFBakM7O0FzQzVQSjtFQStPSCxTbENGK0IsWWtDRS9CO0VBQUEsU2xDRitCLFNrQ0UvQjtFQUFBLFNsQ0YrQixha0NFL0I7RXJDN1BPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7O0FxQ1dGO0VBQ0UsZUFBYyxLQUFkOztBQUVBO0VBQ0UsZUFBYyxFQUFkOztBQUdKO0VBcU9ILFNsQ0YrQixZa0NFL0I7RUFBQSxTbENGK0IsU2tDRS9CO0VBQUEsU2xDRitCLGFrQ0UvQjtFckM3UE8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFcUNvQkEsZUFBYyxLQUFkOztBQUlKO0V4QmhDTyxXQUFVLEtBQVY7RUFDQSxhQUFtRixrQkFBbkY7RXdCaUNMLGFBQVksSUFBWjtFQUNBLGNBQWEsS0FBYjtFQUNBLGVBQWMsS0FBZDtFQUNBLE9BQXVCLHNCQUF2Qjs7QUFHRjtBQUFVO0VBRVIsYUFBWSxLQUFaO0VBQ0EsU0FBUSxTQUFSO0VBQ0Esa0JBQWlCLFFBQWpCO0VBQ0EsT0FBTSxRQUFOO0V4QjdDSyxXQUFVLEtBQVY7RUFDQSxhQUFtRixrQkFBbkY7RXdCOENMLGFBQVksSUFBWjtFckNyQ0EsU0FBUyxhQUFUO0VROEJGLGVBQWMsSUFBZDs7QTZCVUU7O0VBQ0Usa0JBQWlCLFFBQWpCO0VBQ0EsT0FBTSxRQUFOOztBQUVGOztFQUNFLFNBQVEsRUFBUjtFQUNBLGtCQUFpQixZQUFqQjs7QUFJSjtFQUNFLGFBQVksS0FBWjtFQUNBLGdCQUFlLEtBQWY7O0FBR0Y7RUFDRSxlQUFjLEtBQWQ7O0FBR0Y7RXhCckVPLFdBQVUsS0FBVjtFQUNBLGFBQW1GLFFBQW5GO0V3QnNFTCxhQUFZLElBQVo7RUFDQSxPQUFNLFFBQU47O0FBR0Y7RUFDRSxXQUFVLE9BQVY7O0FBRUE7RUFDRSxXQUFVLE1BQVY7O0FBR0Y7RUE2S0gsU2xDRitCLFlrQ0UvQjtFQUFBLFNsQ0YrQixTa0NFL0I7RUFBQSxTbENGK0IsYWtDRS9CO0VyQzdQTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VxQzRFQSxjQUFhLE1BQWI7RUFDQSxhQUFZLE1BQVo7RXRDdERZLGtCQUFHLFFBQUg7RUFBQSxlQUFHLFFBQUg7RUFBQSxhQUFHLFFBQUg7RUFBQSxlQUFHLFFBQUg7RUFBQSx5QkFBRyxjQUFIO0VBUkgsaUJBQUcsY0FBSDtFQVFHLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFc0NpRVQsZUFBYyxLQUFkOztBQUVBO0V0QzNEWSxrQkFBRyxNQUFIO0VBQUEsZUFBRyxNQUFIO0VBQUEsYUFBRyxNQUFIO0VBQUEsZUFBRyxNQUFIO0VBQUEseUJBQUcsV0FBSDtFQVJILGlCQUFHLFdBQUg7O0FzQ3VFVDtFQUNFLGVBQWMsTUFBZDs7QUFJSjtFdENwRWMsa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsU0FBSDtFQUFBLFVBQUcsU0FBSDtFQVJILE1BQUcsU0FBSDtFc0M4RVQsY0FBYSxLQUFiO0VBQ0EsYUFBWSxLQUFaO0VBQ0EsZUFBYyxLQUFkOztBQUVBO0VBQ0UsV0FBVSxNQUFWOztBQUdGO0V0QzlFWSxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxxQkFBSDtFQUFBLFVBQUcscUJBQUg7RUFSSCxNQUFHLHFCQUFIO0VzQ3dGUCxlQUFjLEtBQWQ7O0FBR0Y7RUE2SUwsU2xDRitCLFlrQ0UvQjtFQUFBLFNsQ0YrQixTa0NFL0I7RUFBQSxTbENGK0IsYWtDRS9CO0VyQzdQTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLGtCQUFHLElBQUg7RUFBQSxlQUFHLElBQUg7RUFBQSxhQUFHLElBQUg7RUFBQSxlQUFHLElBQUg7RUFBQSx5QkFBRyxTQUFIO0VBUkgsaUJBQUcsU0FBSDs7QXNDK0ZUO0VBeUlMLFNsQ0YrQixZa0NFL0I7RUFBQSxTbENGK0IsU2tDRS9CO0VBQUEsU2xDRitCLGFrQ0UvQjtFckM3UE8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxrQkFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEsYUFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEseUJBQUcsT0FBSDtFQVJILGlCQUFHLE9BQUg7O0FzQ3NHYjtFeEI3SE8sV0FBVSxLQUFWO0VBQ0EsYUFBbUYsSUFBbkY7RXdCOEhMLE9BQXFCLHNCQUFyQjs7QUFFQTtFQThISCxTbENGK0IsWWtDRS9CO0VBQUEsU2xDRitCLFNrQ0UvQjtFQUFBLFNsQ0YrQixha0NFL0I7RXJDN1BPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsU0FBSDtFQUFBLGdCQUFHLFNBQUg7RUFBQSxjQUFHLFNBQUg7RUFBQSxtQkFBRyxLQUFIO0VBQUEsZUFBRyxLQUFIO0VBUkgsV0FBRyxLQUFIO0VBUUcsbUJBQUcsT0FBSDtFQUFBLGdCQUFHLE9BQUg7RUFBQSxjQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEscUJBQUcsT0FBSDtFQVJILGFBQUcsT0FBSDs7QXNDZ0hYO0V0Q3hHYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIOztBc0NvSFg7RXRDNUdjLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLEVBQUg7RUFBQSxVQUFHLEVBQUg7RUFSSCxNQUFHLEVBQUg7RXNDc0hULGNBQWEsS0FBYjs7QUFPRjtBQUFPO0VyQzFJUCxTQUFTLEtBQVQ7O0FxQzhJQTtFckM5SUEsU0FBUyxLQUFUOztBcUNpSkE7RUFDRSxZQUFXLGdDQUFYOztBQVFFO0V0Q3JJVSxrQkFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEsYUFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEseUJBQUcsUUFBSDtFQVJILGlCQUFHLFFBQUg7O0FNVTRCO0FnQzhJbkM7SXRDaEpVLGtCQUFHLEVBQUg7SUFBQSxlQUFHLEVBQUg7SUFBQSxhQUFHLEVBQUg7SUFSSCxVQUFHLEVBQUg7SUFRRyxjQUFHLHFCQUFIO0lBQUEsVUFBRyxxQkFBSDtJQVJILE1BQUcscUJBQUg7OztBTVU0QjtBZ0N5Sm5DO0l0QzNKVSxrQkFBRyxRQUFIO0lBQUEsZUFBRyxRQUFIO0lBQUEsYUFBRyxRQUFIO0lBQUEsZUFBRyxRQUFIO0lBQUEseUJBQUcsUUFBSDtJQVJILGlCQUFHLFFBQUg7OztBTVU0QjtBZ0NtS3ZDO0lBQ0UsYUFBWSxJQUFaOztBQUdBO0lyQzlMRixTQUFTLE1BQVQ7O0FxQ2lNRTtJckNqTUYsU0FBUyxNQUFUOztBcUNxTUE7SUFDRSxlQUFjLEtBQWQ7O0FBR0Y7SUFDRSxhQUFZLEtBQVo7SUFDQSxnQkFBZSxLQUFmOztBQUdGO0lBQ0UsYUFBWSxLQUFaO0lBQ0EsZ0JBQWUsS0FBZjs7QUFJQTtJckNwTkYsU0FBUyxNQUFUO0lxQ3NOSSxlQUFjLEtBQWQ7O0FBR0Y7SUFDRSxlQUFjLEtBQWQ7O0FBRUE7SXJDNU5KLFNBQVMsTUFBVDs7QXFDK05JO0lyQy9OSixTQUFTLE1BQVQ7O0FxQ2tPSTtJQUNFLGVBQWMsRUFBZDs7O0FoQzVNaUM7QWdDcU5wQztJckM1T0gsU0FBUyxNQUFUOztBcUMrT0U7SUFDRSxjQUFhLEVBQWI7SUFDQSxlQUFjLEtBQWQ7OztBQ3RRTjtFQTJGRCxTbkM2SytCLFltQzdLL0I7RUFBQSxTbkM2SytCLFNtQzdLL0I7RUFBQSxTbkM2SytCLGFtQzdLL0I7RXRDOUVPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7O0FzQ2ZKO0V2Q3NDZ0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsU0FBSDtFQUFBLFVBQUcsU0FBSDtFQVJILE1BQUcsU0FBSDtFdUM1QlgsY0FBYSxNQUFiOztBQUdGO0V2Q2lDZ0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDtFdUN2QlgsYUFBWSxLQUFaO0VBQ0EsV0FBVSxNQUFWOztBQUdGO0VBQ0UsZUFBYyxLQUFkO0VBQ0EsYUFBWSxJQUFaO0VBQ0EsT0FBTSxRQUFOOztBQUdGO0VBQ0UsZUFBYyxLQUFkO0VBQ0EsYUFBWSxJQUFaO0V6QlpLLFdBQVUsS0FBVjtFQUNBLGFBQW1GLElBQW5GO0V5QmFMLE9BQU0sUUFBTjs7QUFHRjtFQUNFLGFBQVksSUFBWjs7QUFHRjtFdENYRSxTQUFTLE1BQVQ7RXNDYUEsV0FBVSxLQUFWOztBQU1BO0V2Q0VjLDJCQUFHLEVBQUg7RUFBQSx3QkFBRyxFQUFIO0VBQUEsc0JBQUcsRUFBSDtFQUFBLGdCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFSSCxPQUFHLEVBQUg7RXVDUVQsY0FBYSxFQUFiOztBQUdGO0V2Q0hjLDJCQUFHLEVBQUg7RUFBQSx3QkFBRyxFQUFIO0VBQUEsc0JBQUcsRUFBSDtFQUFBLGdCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFSSCxPQUFHLEVBQUg7RXVDYVQsY0FBYSxNQUFiOztBakNIcUM7QWlDVXZDO0lBQ0UsT0FBTSxNQUFOO0lBQ0EsY0FBYSxLQUFiOztBQU9BO0lBQ0UsY0FBYSxFQUFiOztBQUdGO0lBQ0UsY0FBYSxLQUFiOzs7QWpDeEJtQztBaUNpQ3ZDO0l0Q3hEQSxTQUFTLE1BQVQ7O0FzQzREQTtJQUNFLGVBQWMsS0FBZDs7QUFHRjtJQUNFLE9BQU0sS0FBTjtJQUNBLGNBQWEsS0FBYjtJQUNBLGVBQWMsS0FBZDs7O0FDekZOO0VBQ0UsVUFBUyxTQUFUOztBQUdFO0V4Q3dRRixTQUFTLElBQVQ7RUFXTSxZQUF5RSxzREFBekU7RUFDQSxRQUFpQyxrQkFBakM7RXdDbFJGLGdCQUFlLEtBQWY7O0FBSUo7RUFDRSxVQUFTLFNBQVQ7RUFDQSxPQUFNLE1BQU47RUFDQSxNQUFLLE1BQUw7RUFDQSxTQUFRLEVBQVI7RUFDQSxTQUFRLEVBQVI7RUFDQSxLQUFJLElBQUo7RXhDMkJjLG1CQUFHLGlCQUFIO0VBQUEsZ0JBQUcsaUJBQUg7RUFBQSxjQUFHLGlCQUFIO0VBQUEsZUFBRyxpQkFBSDtFQVJILFdBQUcsaUJBQUg7RXdDakJYLGdCQUFlLEtBQWY7O0FBRUE7RUEwTkgsU3BDMkIrQixZb0MzQi9CO0VBQUEsU3BDMkIrQixTb0MzQi9CO0VBQUEsU3BDMkIrQixhb0MzQi9CO0V2Q2hPTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLGtCQUFHLFFBQUg7RUFBQSxlQUFHLFFBQUg7RUFBQSxhQUFHLFFBQUg7RUFBQSxlQUFHLFFBQUg7RUFBQSx5QkFBRyxjQUFIO0VBUkgsaUJBQUcsY0FBSDtFQVFHLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFd0NYVCxRQUFPLE9BQVA7O0FBSUo7RXZDTkUsU0FBUyxNQUFUO0VEbUJjLG9CQUFzQyxVQUF0QztFQUFBLGlCQUFzQyxVQUF0QztFQUFBLGVBQXNDLFVBQXRDO0VBQUEsZ0JBQXNDLFVBQXRDO0VBUkgsWUFBK0IsVUFBL0I7RXdDRlgsWUFBVyxLQUFYO0VBQ0EscUJBQW9CLE9BQXBCO0VBQ0EsbUJBQWtCLFVBQWxCO0V4Q1VjLHlCQUFHLE1BQUg7RUFBQSxzQkFBRyxNQUFIO0VBUkgsaUJBQUcsTUFBSDs7QXdDQ1g7RXhDT2MseUJBQUcsUUFBSDtFQUFBLHNCQUFHLFFBQUg7RUFSSCxpQkFBRyxRQUFIOztBd0NVYjtFdkN2QkUsU0FBUyxLQUFUO0VJSEEsVUFBVSxPQUFWO0VQVkEsUUFBUSw2QkFBUjtFMEN3Q0EsVUFBUyxTQUFUO0V4QzZjQSxRQUFPLFFBQVA7O0F3QzFjQTtFQUNFLFNBQVEsR0FBUjtFQUNBLFVBQVMsU0FBVDtFQUNBLEtBQUksRUFBSjtFQUNBLE1BQUssRUFBTDtFQUNBLE9BQU0sRUFBTjtFQUNBLFFBQU8sRUFBUDtFQUNBLFNBQVEsR0FBUjtFQUNBLGdCQUFlLEtBQWY7RXhDZ05KLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQzs7QXdDeE5KO0VBQ0UsU0FBUSxHQUFSO0VBQ0EsVUFBUyxTQUFUO0VBQ0EsTUFBSyxFQUFMO0VBQ0EsT0FBTSxFQUFOO0VBQ0EsUUFBTyxFQUFQO0VBQ0EsS0FBSSxFQUFKO0V2Q2hERixTQUFTLE1BQVQ7RURtQmMsb0JBQXNDLFVBQXRDO0VBQUEsaUJBQXNDLFVBQXRDO0VBQUEsZUFBc0MsVUFBdEM7RUFBQSxnQkFBc0MsVUFBdEM7RUFSSCxZQUErQixVQUEvQjtFd0N3Q1Qsa0JBQXVDLG1CQUF2Qzs7QUFHRjtFQUNFLGdCQUFlLEtBQWY7O0FBRUE7RUFDRSxrQkFBeUMscUJBQXpDOztBQUtGO0VBQ0Usa0JBQXlDLHFCQUF6Qzs7QUFJSjtFeENrTEYsU0FBUyxFQUFUO0VBV00sWUFBeUUscURBQXpFO0VBQ0EsUUFBaUMsaUJBQWpDO0VDbFFKLFNBQVMsTUFBVDs7QXVDeUVBO0VBQ0UsVUFBUyxTQUFUO0VBQ0EsUUFBTyxFQUFQO0VBQ0EsTUFBSyxFQUFMO0VBQ0EsT0FBTSxFQUFOO0VBQ0EsU0FBUSxLQUFSO0VBQ0EsT0FBTSxLQUFOO0UxQnpGRyxXQUFVLEtBQVY7RUFDQSxhQUFtRixDQUFuRjtFMEIwRkgsU0FBUSxJQUFSOztBQUlKO0V2Q3JGRSxTQUFTLE1BQVQ7RXVDdUZBLFdBQVUsS0FBVjtFQUNBLE9BQU0sS0FBTjtFQUNBLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjs7QUFLQTtFeEN1SkYsU0FBUyxFQUFUO0VBUU0sWUFBWSxLQUFaO0VBQ0EsUUFBUSxLQUFSO0VDL1BKLFNBQVMsTUFBVDs7QXVDcUdGO0V4Q2lKQSxTQUFTLEVBQVQ7RUFXTSxZQUF5RSxxREFBekU7RUFDQSxRQUFpQyxpQkFBakM7RUEvT1Usb0JBQXNDLFVBQXRDO0VBQUEsaUJBQXNDLFVBQXRDO0VBQUEsZUFBc0MsVUFBdEM7RUFBQSxnQkFBc0MsVUFBdEM7RUFSSCxZQUErQixVQUEvQjs7QXdDOEZYO0VBQ0UsWUFBVyxLQUFYOztBQUdBO0VBQ0UsU0FBUSxHQUFSO0V2QzlHSixTQUFTLE1BQVQ7RXVDZ0hJLGFBQXlCLG1CQUF6Qjs7QUFJRjtFdkNwSEYsU0FBUyxLQUFUOztBdUN5SEE7RXhDNkhGLFNBQVMsRUFBVDtFQVFNLFlBQVksS0FBWjtFQUNBLFFBQVEsS0FBUjs7QXdDbklGO0VBQ0UsWUFBVyxLQUFYOztBQVNGO0V4Q2dISixTQUFTLElBQVQ7RUFXTSxZQUF5RSxzREFBekU7RUFDQSxRQUFpQyxrQkFBakM7RXdDMUhBLFVBQVMsU0FBVDtFQUNBLFlBQVcsTUFBWDtFeEN0SFUsb0JBQXNDLFVBQXRDO0VBQUEsaUJBQXNDLFVBQXRDO0VBQUEsZUFBc0MsVUFBdEM7RUFBQSxnQkFBc0MsVUFBdEM7RUFSSCxZQUErQixVQUEvQjs7QXdDZ0lQO0VBQ0UsU0FBUyxHQUFUO0V2QzVJTixTQUFTLE1BQVQ7RXVDOElNLFVBQVMsU0FBVDtFQUNBLE1BQUssSUFBTDtFQUNBLEtBQUksSUFBSjtFeEMzSFEsbUJBQUcsc0JBQUg7RUFBQSxnQkFBRyxzQkFBSDtFQUFBLGNBQUcsc0JBQUg7RUFBQSxlQUFHLHNCQUFIO0VBUkgsV0FBRyxzQkFBSDtFVUlULE9BQU0sTUFBTjtFQUNBLFFBQU8sTUFBUDs7QU5rUEY7RUp3TkEsWUFBVyxrd0hBQVg7RUF2Y2MseUJBQUcsVUFBSDtFQUFBLHNCQUFHLFVBQUg7RUFSSCxpQkFBRyxVQUFIOztBd0M2SVQ7RXhDNEZKLFNBQVMsRUFBVDtFQVFNLFlBQVksS0FBWjtFQUNBLFFBQVEsS0FBUjtFd0NuR0EsWUFBVyxFQUFYOztBQUVBO0V2QzlKSixTQUFTLEtBQVQ7O0FLdUJ1QztBa0NpSnZDO0lBQ0UsT0FBTSxFQUFOO0lBQ0EsTUFBSyxFQUFMO0lBQ0EsU0FBUSxPQUFSOzs7QWxDcEpxQztBa0M0SnZDO0l2Q25MQSxTQUFTLEtBQVQ7O0F1QzJMSTtJQUNFLGFBQXlCLG1CQUF6Qjs7O0FsQ3JLaUM7QWtDcUxyQztJQUNFLFNBQVEsS0FBUjs7QUFJSjtJQUNFLFlBQWlCLE1BQWpCO0l6Q3RORSxhQUFZLElBQVo7SU1DSixVQUFVLE9BQVY7SUx3QmMsa0JBQUcsU0FBSDtJQVJILGVBQUcsU0FBSDs7O0F5Q2xDYjtFQXFIRCxTckNtSitCLFlxQ25KL0I7RUFBQSxTckNtSitCLFNxQ25KL0I7RUFBQSxTckNtSitCLGFxQ25KL0I7RXhDeEdPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsU0FBSDtFQUFBLGdCQUFHLFNBQUg7RUFBQSxjQUFHLFNBQUg7RUFBQSxtQkFBRyxLQUFIO0VBQUEsZUFBRyxLQUFIO0VBUkgsV0FBRyxLQUFIO0V5Qy9CWCxhQUFZLE1BQVo7RUFDQSxjQUFhLE1BQWI7RUFDQSxlQUFjLE1BQWQ7O0FBRUE7RUE4R0gsU3JDbUorQixZcUNuSi9CO0VBQUEsU3JDbUorQixTcUNuSi9CO0VBQUEsU3JDbUorQixhcUNuSi9CO0V4Q3hHTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLEVBQUg7RUFBQSxVQUFHLEVBQUg7RUFSSCxNQUFHLEVBQUg7RXlDeEJULFdBQXlCLGlCQUF6QjtFekNnQ1ksb0JBQUcsaUJBQUg7RUFSSCxZQUFHLGlCQUFIO0V5Q3RCVCxhQUFZLEtBQVo7RUFDQSxjQUFhLEtBQWI7RUFDQSxlQUFjLEtBQWQ7O0FuQzhCcUM7QW1DdEJyQztJQUNFLFdBQXlCLGlCQUF6QjtJekNtQlUsb0JBQUcsaUJBQUg7SUFSSCxZQUFHLGlCQUFIOzs7QU1VNEI7QW1DWHJDO0lBQ0UsV0FBeUIsaUJBQXpCO0l6Q1FVLG9CQUFHLGlCQUFIO0lBUkgsWUFBRyxpQkFBSDs7O0FNVTRCO0FtQ0FyQztJQUNFLFdBQTBCLGtCQUExQjtJekNIVSxvQkFBRyxrQkFBSDtJQVJILFlBQUcsa0JBQUg7OztBeUNrQmY7RUFDRSxhQUFZLElBQVo7RUFDQSxPQUFNLFFBQU47RUFDQSxTQUFRLEtBQVI7RWhDSkEsZUFBYyxJQUFkO0VUVGdCLG9CQUFHLG9DQUFIO0VBUkgsWUFBRyxvQ0FBSDtFeUN3QmIsa0JBQWlCLFFBQWpCO0V6Q2hCZ0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDtFeUMwQmIsWUFBVyxNQUFYOztBQUVBO0VBQ0UsWUFBVyxLQUFYO0VBQ0EsZUFBYyxLQUFkO0VwQzlDQSxVQUFVLE9BQVY7O0FvQ21EQTtFQWdESCxTckNtSitCLFlxQ25KL0I7RUFBQSxTckNtSitCLFNxQ25KL0I7RUFBQSxTckNtSitCLGFxQ25KL0I7RXhDeEdPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7O0F3Q3NERjtFekMvQmMsa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDtFeUN5Q1QsY0FBYSxLQUFiOztBQUdGO0V6Q3BDYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIOztBeUNpRGI7RUFDRSxhQUFZLElBQVo7RUFDQSxPQUFNLFFBQU47O0FBRUE7RXhDbEVBLFNBQVMsTUFBVDtFd0NvRUUsV0FBVSxLQUFWOztBQVVKO0FBQVM7RUFFUCxPQUFNLFFBQU47RUFDQSxhQUFZLElBQVo7RUFDQSxhQUFZLEtBQVo7O0FBR0Y7RUFDRSxhQUFZLEVBQVo7O0FBUUo7RUFDRSxrQkFBaUIsUUFBakI7O0FDcEhBO0VBQ0UsV0FBVSxPQUFWO0VBQ0EsYUFBWSxJQUFaOztBQUVBO0VBbUdILFN0Q2lLK0IsWXNDaksvQjtFQUFBLFN0Q2lLK0IsU3NDaksvQjtFQUFBLFN0Q2lLK0IsYXNDaksvQjtFekMxRk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxtQkFBRyxTQUFIO0VBQUEsZ0JBQUcsU0FBSDtFQUFBLGNBQUcsU0FBSDtFQUFBLG1CQUFHLEtBQUg7RUFBQSxlQUFHLEtBQUg7RUFSSCxXQUFHLEtBQUg7RUFRRyxrQkFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEsYUFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEseUJBQUcsY0FBSDtFQVJILGlCQUFHLGNBQUg7RTBDMUJULGNBQWEsTUFBYjtFQUNBLGFBQVksTUFBWjtFQUNBLGVBQWMsTUFBZDs7QUFHRjtFQUNFLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjtFQUNBLGVBQWMsS0FBZDtFQUNBLFdBQVUsTUFBVjs7QUFJSjtFQWtGRCxTdENpSytCLFlzQ2pLL0I7RUFBQSxTdENpSytCLFNzQ2pLL0I7RUFBQSxTdENpSytCLGFzQ2pLL0I7RXpDMUZPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsU0FBSDtFQUFBLGdCQUFHLFNBQUg7RUFBQSxjQUFHLFNBQUg7RUFBQSxtQkFBRyxLQUFIO0VBQUEsZUFBRyxLQUFIO0VBUkgsV0FBRyxLQUFIO0UwQ1ZYLGFBQVksS0FBWjtFQUNBLGNBQWEsS0FBYjs7QUFFQTtFQUNFLFdBQTRCLG9CQUE1QjtFMUNjWSxvQkFBRyxvQkFBSDtFQVJILFlBQUcsb0JBQUg7RTBDSlQsYUFBWSxJQUFaO0VBQ0EsY0FBYSxJQUFiO0VBd0VMLFN0Q2lLK0IsWXNDaksvQjtFQUFBLFN0Q2lLK0IsU3NDaksvQjtFQUFBLFN0Q2lLK0IsYXNDaksvQjtFekMxRk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDs7QXlDa0JOO0UxQ0trQixrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0UwQ3FFZCxTdENpSytCLFlzQ2pLL0I7RUFBQSxTdENpSytCLFNzQ2pLL0I7RUFBQSxTdENpSytCLGFzQ2pLL0I7RXpDMUZPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1Qlksb0JBQUcsU0FBSDtFQUFBLGlCQUFHLFNBQUg7RUFBQSxlQUFHLFNBQUg7RUFBQSx3QkFBRyxPQUFIO0VBQUEsb0JBQUcsT0FBSDtFQVJILGdCQUFHLE9BQUg7O0EwQ1FiO0VBNkRELFN0Q2lLK0IsWXNDaksvQjtFQUFBLFN0Q2lLK0IsU3NDaksvQjtFQUFBLFN0Q2lLK0IsYXNDaksvQjtFekMxRk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxrQkFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEsYUFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEseUJBQUcsT0FBSDtFQVJILGlCQUFHLE9BQUg7RUFRRyxtQkFBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLGNBQUcsT0FBSDtFQUFBLGdCQUFHLE9BQUg7RUFBQSxxQkFBRyxPQUFIO0VBUkgsYUFBRyxPQUFIO0UwQ1lYLFNBQVEsS0FBUjtFMUNKYyxvQkFBRyxXQUFIO0VBQUEsaUJBQUcsV0FBSDtFQVJILFlBQUcsV0FBSDtFU2lCYixlQUFjLElBQWQ7RVRUZ0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDtFMENnQlgsWUFBVyxNQUFYOztBQUNBO0V6QzlCQSxTQUFTLE1BQVQ7RXlDZ0NFLFdBQVUsS0FBVjs7QUFJSjtFMUNmZ0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDtFMEN5QlgsZUFBYyxLQUFkO0VBNENILFN0Q2lLK0IsWXNDaksvQjtFQUFBLFN0Q2lLK0IsU3NDaksvQjtFQUFBLFN0Q2lLK0IsYXNDaksvQjtFekMxRk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxrQkFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEsYUFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEseUJBQUcsT0FBSDtFQVJILGlCQUFHLE9BQUg7RUFRRyxtQkFBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLGNBQUcsT0FBSDtFQUFBLGdCQUFHLE9BQUg7RUFBQSxxQkFBRyxPQUFIO0VBUkgsYUFBRyxPQUFIOztBMEMrQmI7RTVCdERPLFdBQVUsS0FBVjtFQUNBLGFBQW1GLElBQW5GO0U0QnVETCxPQUFNLFFBQU47O0FBRUE7RUFDRSxPQUFNLFFBQU47O0FBT0Y7RUFDRSxrQkFBaUIsUUFBakI7O0FwQ2xDcUM7QW9DMENyQztJQUNFLFdBQXlCLGlCQUF6QjtJMUM3Q1Usb0JBQUcsaUJBQUg7SUFSSCxZQUFHLGlCQUFIOzs7QU1VNEI7QW9DcURyQztJQUNFLFdBQTBCLGtCQUExQjtJMUN4RFUsb0JBQUcsa0JBQUg7SUFSSCxZQUFHLGtCQUFIOzs7QTJDbENiO0VBa0JELFN2Q3NQK0IsWXVDdFAvQjtFQUFBLFN2Q3NQK0IsU3VDdFAvQjtFQUFBLFN2Q3NQK0IsYXVDdFAvQjtFMUNMTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFQVFHLG1CQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEsY0FBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLHFCQUFHLE9BQUg7RUFSSCxhQUFHLE9BQUg7O0EyQzVCYjtFM0NvQ2dCLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RTJDMUJYLGNBQWEsS0FBYjtFQUNBLFdBQVUsTUFBVjs7QUFHRjtFQU1ELFN2Q3NQK0IsWXVDdFAvQjtFQUFBLFN2Q3NQK0IsU3VDdFAvQjtFQUFBLFN2Q3NQK0IsYXVDdFAvQjtFMUNMTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLGtCQUFHLElBQUg7RUFBQSxlQUFHLElBQUg7RUFBQSxhQUFHLElBQUg7RUFBQSxlQUFHLElBQUg7RUFBQSx5QkFBRyxTQUFIO0VBUkgsaUJBQUcsU0FBSDtFQVFHLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RTJDbEJYLGFBQVksS0FBWjs7QUNqQko7RUFDRSxTQUFTLEdBQVQ7RUFDQSxVQUFTLE1BQVQ7RUFDQSxLQUFJLEVBQUo7RUFDQSxNQUFLLEVBQUw7RUFDQSxPQUFNLEVBQU47O0FBRUE7RUFDRSxrQkFBaUIsS0FBakI7RUFDQSxhQUFZLEtBQVo7RUFDQSxnQkFBZSxLQUFmO0U1QytCYyxvQkFBc0MsMENBQXRDO0VBQUEsaUJBQXNDLDBDQUF0QztFQUFBLGVBQXNDLDBDQUF0QztFQUFBLGdCQUFzQywwQ0FBdEM7RUFSSCxZQUErQiwwQ0FBL0I7RUFVRyxvQkFBRyxnQ0FBSDtFQVJILFlBQUcsZ0NBQUg7O0E0Q3BCYjtFOUJITyxXQUFVLEtBQVY7RUFDQSxhQUFtRixrQkFBbkY7RThCSUwsYUFBWSxJQUFaOztBQUVBO0VBQ0UsY0FBYSxLQUFiO0VBQ0EsYUFBWSxLQUFaO0VBbVNMLFN4Qy9DK0IsWXdDK0MvQjtFQUFBLFN4Qy9DK0IsU3dDK0MvQjtFQUFBLFN4Qy9DK0IsYXdDK0MvQjtFM0MxU08sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxtQkFBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLGNBQUcsT0FBSDtFQUFBLG1CQUFHLE9BQUg7RUFBQSxlQUFHLE9BQUg7RUFSSCxXQUFHLE9BQUg7O0E0Q1RYO0VBQ0UsY0FBYSxJQUFiO0VBQ0EsYUFBWSxJQUFaOztBQUVBO0VBQ0UsZ0JBQWUsS0FBZjtFQUNBLE9BQU0sUUFBTjs7QUFRTjtFNUNzZEUsUUFBTyxRQUFQOztBNEMvY0E7RTNDekJBLFNBQVMsS0FBVDs7QTJDNkJBO0U1Q3lORixTQUFTLElBQVQ7RUFXTSxZQUF5RSxzREFBekU7RUFDQSxRQUFpQyxrQkFBakM7O0E0Q2hPTjtFOUI1Q08sV0FBVSxLQUFWO0VBQ0EsYUFBbUYsa0JBQW5GO0U4QjZDTCxhQUFZLElBQVo7O0FBRUE7RUFDRSxhQUFZLE9BQVo7RUFDQSxPQUFNLFFBQU47O0FBRUE7RTNDMUNGLFNBQVMsTUFBVDtFMkM0Q0ksU0FBUSxhQUFSO0VBQ0EsZUFBYyxrQkFBZDs7QUFJSjtFQUNFLE9BQU0sUUFBTjtFQUNBLGFBQVksSUFBWjs7QUFHRjtFQTRPSCxTeEMvQytCLFl3QytDL0I7RUFBQSxTeEMvQytCLFN3QytDL0I7RUFBQSxTeEMvQytCLGF3QytDL0I7RTNDMVNPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsU0FBSDtFQUFBLGdCQUFHLFNBQUg7RUFBQSxjQUFHLFNBQUg7RUFBQSxtQkFBRyxLQUFIO0VBQUEsZUFBRyxLQUFIO0VBUkgsV0FBRyxLQUFIO0VBUUcsa0JBQUcsYUFBSDtFQUFBLGVBQUcsYUFBSDtFQUFBLGFBQUcsYUFBSDtFQUFBLGVBQUcsYUFBSDtFQUFBLHlCQUFHLGFBQUg7RUFSSCxpQkFBRyxhQUFIO0U0QzZDVCxhQUFZLEtBQVo7RUFDQSxjQUFhLEtBQWI7RUFDQSxlQUFjLE1BQWQ7O0FBRUE7RUFDRSxlQUFjLElBQWQ7O0FBSUo7RUFDRSxjQUFhLElBQWI7RUFDQSxhQUFZLElBQVo7RUFDQSxlQUFjLEtBQWQ7O0FBR0Y7RTlCbkZLLFdBQVUsS0FBVjtFQUNBLGFBQW1GLElBQW5GO0ViU0wsU0FBUyxNQUFUOztBMkM2RUU7RTNDN0VGLFNBQVMsTUFBVDtFMkMrRUksU0FBUSxTQUFSOztBQUdGO0VBQ0UsZUFBYyxLQUFkOztBQUtOO0VBQ0Usa0JBQWlCLEtBQWpCO0U1Q3BFYyxvQkFBRyxrQ0FBSDtFQVJILFlBQUcsa0NBQUg7RTRDOEVYLE9BQU0sS0FBTjtFQUNBLFNBQVEsR0FBUjtFQUNBLFlBQVcsT0FBWDtFQUNBLFlBQVcsT0FBWDtFQUNBLGdCQUFlLEtBQWY7RTVDdUpGLFNBQVMsRUFBVDtFQVdNLFlBQXlFLHFEQUF6RTtFQUNBLFFBQWlDLGlCQUFqQztFQS9PVSxvQkFBc0MsMENBQXRDO0VBQUEsaUJBQXNDLDBDQUF0QztFQUFBLGVBQXNDLDBDQUF0QztFQUFBLGdCQUFzQywwQ0FBdEM7RUFSSCxZQUErQiwwQ0FBL0I7RTRDdUZYLFFBQXVCLGtCQUF2QjtFM0NsR0EsU0FBUyxLQUFUOztBMkNxR0E7RUFDRSxPQUFNLEtBQU47RUFDQSxXQUFVLE9BQVY7RUFDQSxVQUFTLFNBQVQ7RUFDQSxNQUFLLElBQUw7RTVDcEZZLG1CQUFHLGlCQUFIO0VBQUEsZ0JBQUcsaUJBQUg7RUFBQSxjQUFHLGlCQUFIO0VBQUEsZUFBRyxpQkFBSDtFQVJILFdBQUcsaUJBQUg7RTRDOEZULFlBQVcsT0FBWDtFQUNBLGdCQUFlLEtBQWY7RTVDMElKLFNBQVMsRUFBVDtFQVdNLFlBQXlFLHFEQUF6RTtFQUNBLFFBQWlDLGlCQUFqQztFQS9PVSxvQkFBc0MsMENBQXRDO0VBQUEsaUJBQXNDLDBDQUF0QztFQUFBLGVBQXNDLDBDQUF0QztFQUFBLGdCQUFzQywwQ0FBdEM7RUFSSCxZQUErQiwwQ0FBL0I7O0E0Q3NHWDtFQUNFLGVBQWMsS0FBZDs7QUFHRjtFQTZLSCxTeEMvQytCLFl3QytDL0I7RUFBQSxTeEMvQytCLFN3QytDL0I7RUFBQSxTeEMvQytCLGF3QytDL0I7RTNDMVNPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1Qlksa0JBQUcsT0FBSDtFQUFBLGVBQUcsT0FBSDtFQUFBLGFBQUcsT0FBSDtFQUFBLGVBQUcsT0FBSDtFQUFBLHlCQUFHLE9BQUg7RUFSSCxpQkFBRyxPQUFIO0U0QzJHVCxlQUFjLEtBQWQ7O0FBR0Y7RUFDRSxZQUFXLFFBQVg7RUFDQSxnQkFBZSxLQUFmO0U1Q3lISixTQUFTLEVBQVQ7RUFRTSxZQUFZLEtBQVo7RUFDQSxRQUFRLEtBQVI7RUMvUEosU0FBUyxNQUFUOztBMkNvSUE7RUE4SkgsU3hDL0MrQixZd0MrQy9CO0VBQUEsU3hDL0MrQixTd0MrQy9CO0VBQUEsU3hDL0MrQixhd0MrQy9CO0UzQzFTTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEsY0FBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLHFCQUFHLE9BQUg7RUFSSCxhQUFHLE9BQUg7RUFRRyxrQkFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEsYUFBRyxRQUFIO0VBQUEsZUFBRyxRQUFIO0VBQUEseUJBQUcsY0FBSDtFQVJILGlCQUFHLGNBQUg7RTRDMkhULGFBQVksTUFBWjtFQUNBLGNBQWEsTUFBYjs7QUFJSjtFQUNFLGFBQVksS0FBWjtFQUNBLGNBQWEsS0FBYjs7QUFFQTtFNUM1SGMsa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDtFNENzSVQsV0FBVSxNQUFWOztBQUdGO0UzQ3RKQSxTQUFTLEtBQVQ7O0EyQzJKRjtFQXVJRCxTeEMvQytCLFl3QytDL0I7RUFBQSxTeEMvQytCLFN3QytDL0I7RUFBQSxTeEMvQytCLGF3QytDL0I7RTNDMVNPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsT0FBSDtFQUFBLGdCQUFHLE9BQUg7RUFBQSxjQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEscUJBQUcsT0FBSDtFQVJILGFBQUcsT0FBSDs7QTRDa0pYO0VBQ0UsY0FBYSxLQUFiOztBQU1GO0UzQ3RLQSxTQUFTLE1BQVQ7O0EyQzBLQTtFNUM0RUYsU0FBUyxJQUFUO0VBV00sWUFBeUUsc0RBQXpFO0VBQ0EsUUFBaUMsa0JBQWpDOztBNENuRlI7RUFDRSxZQUFXLFFBQVg7RUFDQSxnQkFBZSxLQUFmO0U1Q3FFQSxTQUFTLEVBQVQ7RUFRTSxZQUFZLEtBQVo7RUFDQSxRQUFRLEtBQVI7O0E0QzFFUjtFQUNFLFFBQU8sS0FBUDs7QUFJSTtFM0MxTEYsU0FBUyxNQUFUOztBMkM4TEU7RTNDOUxGLFNBQVMsS0FBVDs7QTJDd01BO0U1Q25MYyxvQkFBRyxrQ0FBSDtFQVJILFlBQUcsa0NBQUg7O0FNVTRCO0FzQzBMdkM7SUFDRSxNQUFLLEtBQUw7O0FBSUE7SUFDRSxrQkFBaUIsWUFBakI7O0FBR0Y7SUFDRSxPQUFNLEtBQU47O0FBRUE7SUFDRSxPQUFNLG1CQUFOO0k1Q3dCUixTQUFTLElBQVQ7SUFXTSxZQUF5RSxzREFBekU7SUFDQSxRQUFpQyxrQkFBakM7O0E0QzlCQTtJQUNFLE9BQU0sS0FBTjtJNUNpQlIsU0FBUyxJQUFUO0lBV00sWUFBeUUsc0RBQXpFO0lBQ0EsUUFBaUMsa0JBQWpDOztBNEMxQkU7STVDY1IsU0FBUyxFQUFUO0lBUU0sWUFBWSxLQUFaO0lBQ0EsUUFBUSxLQUFSOztBNENoQko7SUFDRSxPQUFNLEtBQU47O0FBRUE7SUFDRSxRQUFvQixlQUFwQjtJNUNHTixTQUFTLElBQVQ7SUFXTSxZQUF5RSxzREFBekU7SUFDQSxRQUFpQyxrQkFBakM7O0E0Q1pGO0lBQ0UsTUFBSyxnQkFBTDs7O0F0Q2hPbUM7QXNDME9yQztJQUNFLGFBQVksTUFBWjtJQUNBLGNBQWEsTUFBYjs7QUFJSjtJQUNFLGFBQVksS0FBWjtJQUNBLGNBQWEsS0FBYjs7QUFFQTtJM0MzUUYsU0FBUyxLQUFUOztBMkMrUUU7STNDL1FGLFNBQVMsTUFBVDs7QTJDbVJFO0k1QzlQWSxrQkFBRyxFQUFIO0lBQUEsZUFBRyxFQUFIO0lBQUEsYUFBRyxFQUFIO0lBUkgsVUFBRyxFQUFIO0lBUUcsY0FBRyxFQUFIO0lBQUEsVUFBRyxFQUFIO0lBUkgsTUFBRyxFQUFIOzs7QU1VNEI7QXNDc1FyQztJM0M3UkYsU0FBUyxLQUFUOzs7QTRDckJGO0VBQ0UsTUFBSyxtQkFBTDs7QUFJSjtFQUNFLE9BQU0sS0FBTjtFQUNBLFFBQU8sS0FBUDs7QUNSRjtFQUNFLGFBQVksS0FBWjs7QUFFQTtFQUNFLFdBQVUsTUFBVjtFQUNBLGFBQVksSUFBWjs7QUFHRjtFOUNtQ2dCLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7RThDekJYLGVBQWMsS0FBZDs7QUFZRjtFQUNFLE9BQU0sUUFBTjs7QUFJSjtFQUNFLGFBQVksSUFBWjtFQUNBLFVBQVMsU0FBVDs7QUFJSTtFQUNFLFdBQVUsS0FBVjtFL0N6QkcsYUFBWSxFQUFaOztBK0M0Qkw7RUFDRSxlQUFjLEVBQWQ7O0FBSU47RUE0SEQsUzFDbUcrQixZMENuRy9CO0VBQUEsUzFDbUcrQixTMENuRy9CO0VBQUEsUzFDbUcrQixhMENuRy9CO0U3Q3hKTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFOENVWCxVQUFTLFNBQVQ7O0FBR0Y7RUFzSEQsUzFDbUcrQixZMENuRy9CO0VBQUEsUzFDbUcrQixTMENuRy9CO0VBQUEsUzFDbUcrQixhMENuRy9CO0U3Q3hKTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFOENnQlgsY0FBYSxNQUFiO0VBQ0EsYUFBWSxNQUFaO0U5Q1RjLG1CQUFHLE1BQUg7RUFBQSxnQkFBRyxNQUFIO0VBQUEsY0FBRyxNQUFIO0VBQUEsZ0JBQUcsTUFBSDtFQUFBLHFCQUFHLFdBQUg7RUFSSCxhQUFHLFdBQUg7RThDbUJYLGVBQWMsTUFBZDs7QUFDQTtFQUNFLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjtFQUNBLGVBQWMsS0FBZDs7QUFHSjtFOUNsQmdCLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLEVBQUg7RUFBQSxVQUFHLEVBQUg7RUFSSCxNQUFHLEVBQUg7RThDNEJYLGNBQWEsS0FBYjs7QUFHRjtFQUNFLFdBQVUsTUFBVjtFQUNBLGVBQWMsS0FBZDs7QUFHRjtFQUNFLGVBQWMsS0FBZDs7QUFHRjtFN0NyREUsU0FBUyxNQUFUO0U2Q3VEQSxXQUFVLEtBQVY7O0FBSUo7RUFDRSxlQUFjLE1BQWQ7O0FBR0U7RUFDRSxVQUFTLFNBQVQ7RUFDQSxPQUFNLEtBQU47RUFDQSxLQUFJLE9BQUo7O0F4QzNDcUM7QXdDaUR6QztJQUNFLGVBQWMsTUFBZDs7O0F4Q2xEdUM7QXdDdUR6QztJQUNFLGFBQVksRUFBWjtJOUMxRGMsa0JBQUcsRUFBSDtJQUFBLGVBQUcsRUFBSDtJQUFBLGFBQUcsRUFBSDtJQVJILFVBQUcsRUFBSDtJQVFHLGNBQUcsRUFBSDtJQUFBLFVBQUcsRUFBSDtJQVJILE1BQUcsRUFBSDs7QThDcUVYO0lBQ0UsZUFBYyxLQUFkOztBQUdKO0lBQ0UsZUFBYyxLQUFkOztBQUdFO0lBQ0UsVUFBUyxPQUFUOzs7QXhDcEVtQztBd0M2RXJDO0k3Q3BHRixTQUFTLE1BQVQ7O0E2Q3lHQTtJQUNFLGVBQWMsS0FBZDs7QUFHRjtJQUNFLGVBQWMsS0FBZDs7QUFHRjtJQUNFLFdBQVUsTUFBVjs7O0F4QzNGcUM7QXdDa0d2QztJQUNFLGVBQWMsS0FBZDs7QUFJRjtJQUNFLGFBQVksS0FBWjtJQUNBLGVBQWMsS0FBZDs7QUFHRjtJQUNFLGVBQWMsS0FBZDs7QUFHRjtJQUNFLGNBQWEsRUFBYjtJQUNBLGVBQWMsS0FBZDs7QUFHRjtJN0M1SUEsU0FBUyxNQUFUOzs7QThDdEJKO0VBMEJDLFMzQytPK0IsWTJDL08vQjtFQUFBLFMzQytPK0IsUzJDL08vQjtFQUFBLFMzQytPK0IsYTJDL08vQjtFOUNaTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFK0NoQ2IsY0FBYSxNQUFiO0VBQ0EsYUFBWSxNQUFaOztBQUNBO0VBcUJELFMzQytPK0IsWTJDL08vQjtFQUFBLFMzQytPK0IsUzJDL08vQjtFQUFBLFMzQytPK0IsYTJDL08vQjtFOUNaTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEsY0FBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLHFCQUFHLE9BQUg7RUFSSCxhQUFHLE9BQUg7RStDM0JYLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjs7QUFDQTtFQUNJLFdBQVUsTUFBVjs7QUFHTjtFQUNFLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjtFQVVILFMzQytPK0IsWTJDL08vQjtFQUFBLFMzQytPK0IsUzJDL08vQjtFQUFBLFMzQytPK0IsYTJDL08vQjtFOUNaTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEsY0FBRyxPQUFIO0VBQUEsbUJBQUcsT0FBSDtFQUFBLGVBQUcsT0FBSDtFQVJILFdBQUcsT0FBSDs7QStDZGI7RUFDRSxRQUFrRCwwQ0FBbEQ7RUFDQSxjQUFhLElBQWI7RUFDQSxhQUFZLElBQVo7O0FDeEJKO0UvQ3NCSSxTQUFTLE1BQVQ7RURxQmMsa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDs7QWdEaENiO0VBQ0UsZUFBYyxLQUFkOztBQUdGO0VBQ0UsWUFBVyxNQUFYO0VoRG1DYyx5QkFBRyxNQUFIO0VBQUEsc0JBQUcsTUFBSDtFQVJILGlCQUFHLE1BQUg7RWdEekJYLG1CQUFrQixVQUFsQjtFQUNBLHFCQUFvQixPQUFwQjtFdkN5Q0YsZUFBYyxJQUFkO0V1Q3ZDRSxVQUFTLFNBQVQ7O0FBRUE7RUFDRSxTQUFRLEdBQVI7RUFDQSxVQUFTLFNBQVQ7RUFDQSxLQUFJLEVBQUo7RUFDQSxNQUFLLEVBQUw7RUFDQSxPQUFNLEVBQU47RUFDQSxRQUFPLEVBQVA7RUFDQSxrQkFBdUMsbUJBQXZDO0VoRG1CWSxvQkFBc0MsMENBQXRDO0VBQUEsaUJBQXNDLDBDQUF0QztFQUFBLGVBQXNDLDBDQUF0QztFQUFBLGdCQUFzQywwQ0FBdEM7RUFSSCxZQUErQiwwQ0FBL0I7O0FnRE5iO0VBQ0UsYUFBWSxJQUFaO0VsQ2hCSyxXQUFVLEtBQVY7RUFDQSxhQUFtRixJQUFuRjtFa0NpQkwsT0FBTSxRQUFOO0VBQ0EsZUFBYyxLQUFkOztBQVVFO0VBQ0Usa0JBQXlDLHFCQUF6Qzs7QUMxQ1I7RUFDRSxlQUFjLGdDQUFkOztBQUdBO0VBQ0UsZUFBYyxLQUFkOztBQ0xKO0VBQ0UsV0FBVSxPQUFWOztBQUNBO0VBNkNELFM5QzBOK0IsWThDMU4vQjtFQUFBLFM5QzBOK0IsUzhDMU4vQjtFQUFBLFM5QzBOK0IsYThDMU4vQjtFakRqQ08sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFaURoQkYsVUFBUyxTQUFUOztBQUdGO0VBQ0UsT0FBTSxNQUFOO0VsRG1DYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0VrRHpCWCxVQUFTLFNBQVQ7RUFDQSxPQUFNLEVBQU47RUFDQSxLQUFJLE9BQUo7RUFDQSxXQUFVLEtBQVY7O0FBR0Y7RUFDRSxXQUFVLE1BQVY7O0E1QzRCdUM7QTRDbEJ2QztJQUNFLFdBQVUsTUFBVjs7O0E1Q2lCcUM7QTRDVnZDO0lqRGJBLFNBQVMsTUFBVDs7QWlEZ0JBO0lBQ0UsV0FBVSxLQUFWO0lBQ0EsZUFBYyxLQUFkOztBQUVGO0lBQ0UsT0FBTSxLQUFOO0lBQ0EsVUFBUyxPQUFUOzs7QUM1Q047RUFDRSxPQUFNLFFBQU47RUFDQSxhQUFZLElBQVo7RXJDVU8sV0FBVSxLQUFWO0VBQ0EsYUFBbUYsa0JBQW5GO0VxQ1RQLFVBQVMsU0FBVDtFQTBDRCxTL0MyTitCLG1CK0MzTi9CO0VBQUEsUy9DMk4rQixnQitDM04vQjtFQUFBLFMvQzJOK0Isb0IrQzNOL0I7RWxEN0JPLFNBQVMsbUJBQVQ7RUFDQSxTQUF1RCxXQUF2RDtFQUVGLFNBQXNELFlBQXREOztBa0RkSjtFQUNFLFNBQVEsR0FBUjtFQUNBLFVBQVMsU0FBVDtFQUNBLEtBQUksTUFBSjtFQUNBLE1BQUssTUFBTDtFQUNBLE9BQU0sTUFBTjtFQUNBLFFBQU8sTUFBUDs7QUFHRjtFQUNFLE9BQU0sS0FBTjs7QUFHRjtFQUNFLE9BQXFCLHNCQUFyQjtFQUNBLGFBQVksSUFBWjs7QUFHRjtFQXNCRCxTL0MyTitCLFkrQzNOL0I7RUFBQSxTL0MyTitCLFMrQzNOL0I7RUFBQSxTL0MyTitCLGErQzNOL0I7RWxEaENPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7O0FrRE9KO0VBQ0UsY0FBYSxJQUFiOztBQUVBO0VBQ0UsY0FBYSxJQUFiOztBQUdKO0VuRFNnQixrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0VtRENYLFVBQVMsU0FBVDtFQUNBLEtBQUksS0FBSjs7QUFDQTtFQUNFLGdCQUFlLE9BQWY7O0FBSU47RXJDL0JTLFdBQVUsS0FBVjtFQUNBLGFBQW1GLGtCQUFuRjtFcUNnQ1AsYUFBWSxJQUFaOztBQzVDQTtFQUNFLGdCQUFlLEtBQWY7RUFDQSxlQUFjLEtBQWQ7RUFDQSxVQUFTLFNBQVQ7O0FBRUE7RUFDRSxTQUFRLEdBQVI7RUFDQSxVQUFTLFNBQVQ7RUFDQSxRQUFPLEVBQVA7RUFDQSxRQUFPLElBQVA7RUFDQSxrQkFBaUIsUUFBakI7RUFDQSxPQUFNLE1BQU47RUFDQSxNQUFLLElBQUw7RXBEOEJZLG1CQUFHLGlCQUFIO0VBQUEsZ0JBQUcsaUJBQUg7RUFBQSxjQUFHLGlCQUFIO0VBQUEsZUFBRyxpQkFBSDtFQVJILFdBQUcsaUJBQUg7RUF5T2IsU0FBUyxJQUFUO0VBV00sWUFBeUUsc0RBQXpFO0VBQ0EsUUFBaUMsa0JBQWpDOztBb0RuUU47RUFnSEQsU2hEb0krQixZZ0RwSS9CO0VBQUEsU2hEb0krQixTZ0RwSS9CO0VBQUEsU2hEb0krQixhZ0RwSS9CO0VuRHZITyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VtREdGLFVBQVMsU0FBVDtFcERvQmMsbUJBQUcsU0FBSDtFQUFBLGdCQUFHLFNBQUg7RUFBQSxjQUFHLFNBQUg7RUFBQSxtQkFBRyxLQUFIO0VBQUEsZUFBRyxLQUFIO0VBUkgsV0FBRyxLQUFIOztBb0RSYjtFQUNFLFVBQVMsU0FBVDtFcERlYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIOztBb0RBYjtFQUNFLFdBQVUsTUFBVjtFQUNBLGNBQWEsS0FBYjtFQUNBLGFBQVksTUFBWjtFcERLYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIOztBb0RPYjtFQUNFLE9BQU0sUUFBTjtFQUNBLGFBQVksSUFBWjtFQUNBLGVBQWMsS0FBZDtFdENqQ0ssV0FBVSxLQUFWO0VBQ0EsYUFBbUYsSUFBbkY7O0FzQ29DUDtFQUNFLGVBQWMsTUFBZDtFQUNBLGFBQVksSUFBWjs7QUFHRjtFQUNFLGdCQUFlLEtBQWY7RUFDQSxXQUFVLE1BQVY7O0FBR0Y7RUEwRUQsU2hEb0krQixZZ0RwSS9CO0VBQUEsU2hEb0krQixTZ0RwSS9CO0VBQUEsU2hEb0krQixhZ0RwSS9CO0VuRHZITyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFb0QyQlgsYUFBWSxNQUFaO0VBQ0EsY0FBYSxNQUFiO0VBQ0EsZUFBYyxNQUFkOztBQUdGO0VBQ0UsYUFBWSxLQUFaO0VBQ0EsY0FBYSxLQUFiO0VBQ0EsZUFBYyxLQUFkO0VwRDNCYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIOztBb0R1Q2I7RW5EcERFLFNBQVMsTUFBVDtFbURzREEsV0FBVSxLQUFWOztBQU1BO0VBQ0UsYUFBWSxFQUFaO0VBa0RMLFNoRG9JK0IsWWdEcEkvQjtFQUFBLFNoRG9JK0IsU2dEcEkvQjtFQUFBLFNoRG9JK0IsYWdEcEkvQjtFbkR2SE8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDs7QW1Ea0VGO0VwRDNDYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0VvRGtHZCxTaERvSStCLFlnRHBJL0I7RUFBQSxTaERvSStCLFNnRHBJL0I7RUFBQSxTaERvSStCLGFnRHBJL0I7RW5EdkhPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1Qlksb0JBQUcsU0FBSDtFQUFBLGlCQUFHLFNBQUg7RUFBQSxlQUFHLFNBQUg7RUFBQSx3QkFBRyxPQUFIO0VBQUEsb0JBQUcsT0FBSDtFQVJILGdCQUFHLE9BQUg7O0FvRHdEWDtFcERoRGMsa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDs7QU1VNEI7QThDc0R2QztJbkQ3RUEsU0FBUyxNQUFUOztBbURpRkE7SUFDRSxlQUFjLEtBQWQ7O0FBR0Y7SUFDRSxjQUFhLEVBQWI7SUFDQSxhQUFZLEtBQVo7O0FBR0Y7SUFDRSxPQUFNLEtBQU47SUFvQkwsU2hEb0krQixZZ0RwSS9CO0lBQUEsU2hEb0krQixTZ0RwSS9CO0lBQUEsU2hEb0krQixhZ0RwSS9CO0luRHZITyxTQUFTLFlBQVQ7SUFDQSxTQUFnRCxJQUFoRDtJQUtGLFNBQXNELEtBQXREO0lEdUJZLGtCQUFHLE9BQUg7SUFBQSxlQUFHLE9BQUg7SUFBQSxhQUFHLE9BQUg7SUFBQSxlQUFHLE9BQUg7SUFBQSx5QkFBRyxPQUFIO0lBUkgsaUJBQUcsT0FBSDs7QW9EbUZYO0lBQ0UsZUFBYyxLQUFkOztBQUdGO0luRHBHQSxTQUFTLE1BQVQ7SW1Ec0dFLFVBQVMsT0FBVDtJQUNBLGNBQWEsS0FBYjtJQUNBLGFBQVksS0FBWjs7QUFHRjtJbkQzR0EsU0FBUyxNQUFUOzs7QW9EbEJKO0VBc1dDLFNqRGpHK0IsWWlEaUcvQjtFQUFBLFNqRGpHK0IsU2lEaUcvQjtFQUFBLFNqRGpHK0IsYWlEaUcvQjtFcEQ1Vk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFb0RkSixRQUFPLFFBQVA7RXJEcUNnQixtQkFBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLGNBQUcsT0FBSDtFQUFBLGdCQUFHLE9BQUg7RUFBQSxxQkFBRyxPQUFIO0VBUkgsYUFBRyxPQUFIOztBcUQxQmI7RUFDRSxRQUFPLE9BQVA7O0FBR0Y7RUFDRSxPQUFNLEtBQU47RUFDQSxRQUFPLEtBQVA7RUFDQSxrQkFBaUIsUUFBakI7RTVDb0NGLGVBQWMsS0FBZDtFNENsQ0UsVUFBUyxTQUFUO0VyRDRlQSxRQUFPLFFBQVA7O0FxRHplQTtFQUNFLE9BQU0sS0FBTjtFQUNBLFFBQU8sS0FBUDtFQUNBLFNBQVEsR0FBUjtFcERGRixTQUFTLE1BQVQ7RW9ESUUsa0JBQWlCLEtBQWpCO0U1QzBCSixlQUFjLElBQWQ7RTRDeEJJLFVBQVMsU0FBVDtFQUNBLEtBQUksSUFBSjtFckRjWSxtQkFBRyxpQkFBSDtFQUFBLGdCQUFHLGlCQUFIO0VBQUEsY0FBRyxpQkFBSDtFQUFBLGVBQUcsaUJBQUg7RUFSSCxXQUFHLGlCQUFIO0VxREpULE1BQUssSUFBTDs7QUFHRjtFckQwT0YsU0FBUyxJQUFUO0VBV00sWUFBeUUsc0RBQXpFO0VBQ0EsUUFBaUMsa0JBQWpDOztBcUQ5T0E7RUFDRSxPQUFNLElBQU47RUFDQSxNQUFLLEtBQUw7O0FBUVY7RUFDRSxrQkFBaUIsUUFBakI7RUFDQSxPQUFNLEtBQU47RTVDRkEsZUFBYyxJQUFkO0U0Q0lBLFNBQVEsVUFBUjtFQUNBLGVBQWMsS0FBZDtFdkM3Q08sV0FBVSxLQUFWO0VBQ0EsYUFBbUYsa0JBQW5GO0V1QzhDUCxhQUFZLElBQVo7RXJENmJFLGtCQUFpQiwrQkFBakI7RXFEM2JGLHFCQUFvQixhQUFwQjtFQUNBLG1CQUFrQixVQUFsQjs7QUFFQTtFQTBTRCxTakRqRytCLFlpRGlHL0I7RUFBQSxTakRqRytCLFNpRGlHL0I7RUFBQSxTakRqRytCLGFpRGlHL0I7RXBENVZPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsU0FBSDtFQUFBLGdCQUFHLFNBQUg7RUFBQSxjQUFHLFNBQUg7RUFBQSxtQkFBRyxLQUFIO0VBQUEsZUFBRyxLQUFIO0VBUkgsV0FBRyxLQUFIO0VBUUcsa0JBQUcsUUFBSDtFQUFBLGVBQUcsUUFBSDtFQUFBLGFBQUcsUUFBSDtFQUFBLGVBQUcsUUFBSDtFQUFBLHlCQUFHLGNBQUg7RUFSSCxpQkFBRyxjQUFIO0VxRGlDWCxRQUFPLFFBQVA7RUFDQSxXQUFVLE9BQVY7RXJEMUJjLG1CQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEsY0FBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLHFCQUFHLE9BQUg7RUFSSCxhQUFHLE9BQUg7RXFEb0NYLGVBQWMsTUFBZDs7QUFHRjtFQUNFLFFBQU8sT0FBUDtFQUNBLFdBQVUsTUFBVjtFQUNBLGVBQWMsS0FBZDs7QUFHRjtFQUNFLFFBQU8sT0FBUDtFckR0Q2Msa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsU0FBSDtFQUFBLFVBQUcsU0FBSDtFQVJILE1BQUcsU0FBSDtFcURnRFgsZUFBYyxLQUFkOztBQUlGO0VBbVJELFNqRGpHK0IsWWlEaUcvQjtFQUFBLFNqRGpHK0IsU2lEaUcvQjtFQUFBLFNqRGpHK0IsYWlEaUcvQjtFcEQ1Vk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxtQkFBRyxTQUFIO0VBQUEsZ0JBQUcsU0FBSDtFQUFBLGNBQUcsU0FBSDtFQUFBLG1CQUFHLEtBQUg7RUFBQSxlQUFHLEtBQUg7RUFSSCxXQUFHLEtBQUg7RXFEdURYLFFBQU8sUUFBUDtFQUNBLGVBQWMsTUFBZDs7QUFFQTtFQUNFLFFBQU8sT0FBUDtFQUNBLGVBQWMsS0FBZDtFckRwRFksb0JBQUcsaUJBQUg7RUFSSCxZQUFHLGlCQUFIO0VxRDhEVCxXQUFVLGlCQUFWOztBQUlKO0V2Q3pGTyxXQUFVLEtBQVY7RUFDQSxhQUFtRixJQUFuRjtFdUMwRkwsYUFBWSxJQUFaO0V0RDlGTyxhQUFZLElBQVo7O0FzRHFHVDtFQUNFLGVBQWMsa0JBQWQ7RUFDQSxnQkFBZSxLQUFmO0VBQ0EsZUFBYyxLQUFkOztBQUVBO0VBQ0UsZUFBYyxLQUFkOztBQUlKO0VBa1BELFNqRGpHK0IsWWlEaUcvQjtFQUFBLFNqRGpHK0IsU2lEaUcvQjtFQUFBLFNqRGpHK0IsYWlEaUcvQjtFcEQ1Vk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFb0RzR0YsUUFBTyxRQUFQOztBQU9GO0VyRHRGZ0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDtFcURnR1gsYUFBWSxLQUFaO0VBQ0EsZ0JBQWUsS0FBZjtFQUNBLFFBQU8sT0FBUDtFdkN6SEssV0FBVSxLQUFWO0VBQ0EsYUFBbUYsa0JBQW5GOztBdUM4SEw7RUFDRSxZQUFXLE9BQVg7RUFDQSxPQUFNLE1BQU47RXJEbEdZLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLFNBQUg7RUFBQSxVQUFHLFNBQUg7RUFSSCxNQUFHLFNBQUg7O0FxRDhHWDtFQUNFLGFBQVksSUFBWjtFdkN0SUcsV0FBVSxLQUFWO0VBQ0EsYUFBbUYsa0JBQW5GO0V1Q3VJSCxPQUFNLEtBQU47O0FBR0Y7RXZDM0lLLFdBQVUsS0FBVjtFQUNBLGFBQW1GLElBQW5GOztBdUM4SUw7QUFBUTtFQUVOLGFBQVksSUFBWjtFdkNqSkcsV0FBVSxLQUFWO0VBQ0EsYUFBbUYsSUFBbkY7RXVDa0pILE9BQU0sS0FBTjs7QUFHRjtFQUNFLE9BQU0sUUFBTjtFdkN2SkcsV0FBVSxLQUFWO0VBQ0EsYUFBbUYsSUFBbkY7RXVDd0pILGFBQVksSUFBWjs7QUFJSjtFQUNFLE9BQU0sS0FBTjtFQUNBLFFBQU8sS0FBUDtFdkRsS0EsUUFBUSxrQkFBUjtFRWtDYyx5QkFBRyxJQUFIO0VBQUEsc0JBQUcsSUFBSDtFQVJILGlCQUFHLElBQUg7RXFEMklYLHFCQUFvQixRQUFwQjtFQUNBLG1CQUFrQixVQUFsQjtFckR5VUEsa0JBQWlCLGdDQUFqQjtFU3BjRixlQUFjLElBQWQ7RTRDOEhFLFFBQU8sT0FBUDs7QUFFQTtFQUNFLGtCQUFpQixRQUFqQjtFQUNBLGNBQWEsUUFBYjs7QUFJSjtFcERwS0UsU0FBUyxLQUFUOztBb0R3S0Y7RUFDRSxPQUFNLFFBQU47RUFDQSxZQUFXLE9BQVg7O0FBR0Y7RUFDRSxPQUFNLEtBQU47O0FBS0Y7RUFpS0QsU2pEakcrQixZaURpRy9CO0VBQUEsU2pEakcrQixTaURpRy9CO0VBQUEsU2pEakcrQixhaURpRy9CO0VwRDVWTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREOztBb0R5TEo7RUFDRSxXQUFVLE1BQVY7RUFDQSxjQUFhLEtBQWI7O0FBR0Y7RUFDRSxlQUFjLEtBQWQ7O0FBR0Y7RUFDRSxVQUFTLFNBQVQ7O0FBR0Y7RUFDRSxVQUFTLFNBQVQ7RUFDQSxLQUFJLE1BQUo7O0FBR0Y7RXBEek1FLFNBQVMsTUFBVDtFb0QyTUEsV0FBVSxLQUFWOztBQUdKO0VwRDlNSSxTQUFTLEtBQVQ7O0FLdUJ1QztBK0M2THJDO0lBQ0UsWUFBVyxPQUFYO0lBQ0EsT0FBTSxNQUFOO0lyRGpNVSxrQkFBRyxFQUFIO0lBQUEsZUFBRyxFQUFIO0lBQUEsYUFBRyxFQUFIO0lBUkgsVUFBRyxFQUFIO0lBUUcsY0FBRyxTQUFIO0lBQUEsVUFBRyxTQUFIO0lBUkgsTUFBRyxTQUFIOztBcUQ2TVQ7SXZDcE9HLFdBQVUsS0FBVjtJQUNBLGFBQW1GLGtCQUFuRjs7QXVDME9MO0lBbUhILFNqRGpHK0IsWWlEaUcvQjtJQUFBLFNqRGpHK0IsU2lEaUcvQjtJQUFBLFNqRGpHK0IsYWlEaUcvQjtJcEQ1Vk8sU0FBUyxZQUFUO0lBQ0EsU0FBZ0QsSUFBaEQ7SUFLRixTQUFzRCxLQUF0RDs7QW9EdU9GO0lBQ0UsY0FBYSxLQUFiOztBQUdGO0lBQ0UsZUFBYyxLQUFkOztBQUdGO0lBQ0UsVUFBUyxTQUFUOztBQUdGO0lBQ0UsVUFBUyxTQUFUO0lBQ0EsS0FBSSxNQUFKOzs7QS9DNU5xQztBK0NrT3pDO0l2Q25RTyxXQUFVLEtBQVY7SUFDQSxhQUFtRixJQUFuRjtJdUNvUUwsUUFBTyxPQUFQOztBQUNBO0lBQ0UsT0FBTSxLQUFOOztBQUdGO0lBQ0UsUUFBTyxNQUFQOztBQUdKO0lwRHBRRSxTQUFTLE1BQVQ7O0FvRHdRQTtJcER4UUEsU0FBUyxLQUFUOztBb0Q0UUU7SUFDRSxPQUFNLEtBQU47O0FBR0o7SXBEaFJBLFNBQVMsTUFBVDs7O0FLdUJ1QztBK0NpUXZDO0lwRHhSQSxTQUFTLE1BQVQ7O0FvRDRSQTtJQUNFLGVBQWMsS0FBZDs7QUFHRjtJQUNFLGNBQWEsRUFBYjtJQUNBLGVBQWMsS0FBZDs7QUFHRjtJQUNFLFVBQVMsU0FBVDtJQUNBLEtBQUksRUFBSjs7QUFFQTtJQUNFLFlBQVcsTUFBWDs7O0FBTVI7RUFDRSxXQUFVLE9BQVY7RUFDQSxTQUFRLE9BQVI7O0FBRUE7RUFnQ0QsU2pEakcrQixZaURpRy9CO0VBQUEsU2pEakcrQixTaURpRy9CO0VBQUEsU2pEakcrQixhaURpRy9CO0VwRDVWTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFcUQwU1gsYUFBWSxNQUFaO0VBQ0EsY0FBYSxNQUFiO0VBQ0EsZUFBYyxNQUFkOztBQUVBO0VBQ0UsYUFBWSxLQUFaO0VBQ0EsY0FBYSxLQUFiO0VBQ0EsZUFBYyxLQUFkOztBL0N2U3FDO0ErQzZTekM7SUFDRSxXQUFVLE9BQVY7SUFDQSxTQUFRLEVBQVI7O0FBRUY7SUFDRSxTQUFRLEtBQVI7SUFDQSxxQkFBb0IsVUFBcEI7O0FBQ0E7SXBEM1VBLFNBQVMsTUFBVDs7QW9EOFVFO0lyRHpUWSxvQkFBRyxrQkFBSDtJQVJILFlBQUcsa0JBQUg7SXFEbVVQLFdBQVUsa0JBQVY7OztBQ3JXTjtFQW1ERCxTbERxTitCLFlrRHJOL0I7RUFBQSxTbERxTitCLFNrRHJOL0I7RUFBQSxTbERxTitCLGFrRHJOL0I7RXJEdENPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsT0FBSDtFQUFBLGdCQUFHLE9BQUg7RUFBQSxjQUFHLE9BQUg7RUFBQSxnQkFBRyxPQUFIO0VBQUEscUJBQUcsT0FBSDtFQVJILGFBQUcsT0FBSDs7QXNEN0JiO0V0RHFDZ0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDtFc0QzQlgsY0FBYSxNQUFiOztBQUdGO0V0RGdDZ0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsU0FBSDtFQUFBLFVBQUcsU0FBSDtFQVJILE1BQUcsU0FBSDs7QXNEbEJiO0VBQ0Usa0JBQWlCLEtBQWpCO0VBQ0EsZUFBYyxNQUFkOztBaEQwQnVDO0FnRHJCekM7SUFDRSxXQUFVLE1BQVY7OztBaERvQnVDO0FnRGZ6QztJQUNFLFdBQVUsS0FBVjs7QUFDQTtJckRWQSxTQUFTLE1BQVQ7SXFEWUUsV0FBVSxNQUFWO0lBQ0EsY0FBYSxLQUFiO0lBQ0EsYUFBWSxLQUFaOztBQUdGO0lBQ0UsZUFBYyxLQUFkO0lBQ0EsY0FBYSxFQUFiOztBQUdGO0lBQ0UsZUFBYyxLQUFkOztBQUdGO0lBQ0UsT0FBTSxLQUFOOzs7QUNoREo7RUF3SEQsU25EZ0orQixZbURoSi9CO0VBQUEsU25EZ0orQixTbURoSi9CO0VBQUEsU25EZ0orQixhbURoSi9CO0V0RDNHTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsbUJBQUcsS0FBSDtFQUFBLGVBQUcsS0FBSDtFQVJILFdBQUcsS0FBSDtFQVFHLGtCQUFHLE1BQUg7RUFBQSxlQUFHLE1BQUg7RUFBQSxhQUFHLE1BQUg7RUFBQSxlQUFHLE1BQUg7RUFBQSx5QkFBRyxXQUFIO0VBUkgsaUJBQUcsV0FBSDtFQVFHLG1CQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEsY0FBRyxTQUFIO0VBQUEsZ0JBQUcsU0FBSDtFQUFBLHFCQUFHLFNBQUg7RUFSSCxhQUFHLFNBQUg7RXVEN0JYLGFBQVksS0FBWjtFQUNBLGNBQWEsS0FBYjs7QUFDQTtFQUNFLGFBQVksSUFBWjtFQUNBLGNBQWEsSUFBYjs7QUFHSjtFQTRHRCxTbkRnSitCLFltRGhKL0I7RUFBQSxTbkRnSitCLFNtRGhKL0I7RUFBQSxTbkRnSitCLGFtRGhKL0I7RXREM0dPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsU0FBSDtFQUFBLGdCQUFHLFNBQUg7RUFBQSxjQUFHLFNBQUg7RUFBQSxtQkFBRyxLQUFIO0VBQUEsZUFBRyxLQUFIO0VBUkgsV0FBRyxLQUFIO0VBUUcsa0JBQUcsTUFBSDtFQUFBLGVBQUcsTUFBSDtFQUFBLGFBQUcsTUFBSDtFQUFBLGVBQUcsTUFBSDtFQUFBLHlCQUFHLFdBQUg7RUFSSCxpQkFBRyxXQUFIO0VBUUcsbUJBQUcsU0FBSDtFQUFBLGdCQUFHLFNBQUg7RUFBQSxjQUFHLFNBQUg7RUFBQSxnQkFBRyxTQUFIO0VBQUEscUJBQUcsU0FBSDtFQVJILGFBQUcsU0FBSDtFdURqQlgsYUFBWSxNQUFaO0VBQ0EsY0FBYSxNQUFiOztBQUNBO0VBQ0UsYUFBWSxLQUFaO0VBQ0EsY0FBYSxLQUFiO0VBRUEsWUFBWSxPQUFaO0VBQ0EsYUFBYSxLQUFiO0VBQ0EsV0FBVyxLQUFYO0V4RGpCSyxhQUFZLElBQVo7RXdEbUJMLE9BQU0sUUFBTjs7QUFHSjtFQUNFLFVBQVMsU0FBVDtFekNwQkssV0FBVSxLQUFWO0VBQ0EsYUFBbUYsSUFBbkY7RWZKRSxhQUFZLEVBQVo7RXdEMEJQLGFBQVksSUFBWjtFQUNBLE9BQU0sUUFBTjs7QUFFQTtFQUNFLFNBQVEsR0FBUjtFQUNBLFVBQVMsU0FBVDtFQUNBLFFBQU8sS0FBUDtFQUNBLE1BQUssRUFBTDtFQUNBLE9BQU0sRUFBTjtFQUNBLFFBQU8sSUFBUDtFdkREWSxtQkFBRyxZQUFIO0VBQUEsZ0JBQUcsWUFBSDtFQUFBLGNBQUcsWUFBSDtFQUFBLGVBQUcsWUFBSDtFQVJILFdBQUcsWUFBSDtFQVFHLDBCQUFHLE9BQUg7RUFBQSx1QkFBRyxPQUFIO0VBQUEscUJBQUcsT0FBSDtFQUFBLHNCQUFHLE9BQUg7RUFSSCxrQkFBRyxPQUFIO0VBTUcsb0JBQXNDLDBDQUF0QztFQUFBLGlCQUFzQywwQ0FBdEM7RUFBQSxlQUFzQywwQ0FBdEM7RUFBQSxnQkFBc0MsMENBQXRDO0VBUkgsWUFBK0IsMENBQS9CO0V1RGVULGtCQUFpQixRQUFqQjs7QUFHSjtFekN2Q08sV0FBVSxLQUFWO0VBQ0EsYUFBbUYsSUFBbkY7RWZKRSxhQUFZLElBQVo7RXdENkNQLE9BQXNCLGdCQUF0QjtFQUNBLFdBQVUsTUFBVjs7QUFFRjtFekM3Q08sV0FBVSxLQUFWO0VBQ0EsYUFBbUYsSUFBbkY7RXlDOENMLE9BQU0sUUFBTjtFQUNBLGFBQVksSUFBWjtFeERuRE8sYUFBWSxFQUFaOztBd0RzRFQ7RXZEcEJnQixrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0V1RDhCWCxXQUFVLE1BQVY7RUFDQSxXQUFVLE1BQVY7O0FBRUY7RUFDRSxZQUFXLE1BQVg7O0FBRUY7RUFDRSxXQUFVLE9BQVY7RUFDQSxjQUFhLEtBQWI7RUFDQSxhQUFZLEtBQVo7RUErQ0gsU25EZ0orQixZbURoSi9CO0VBQUEsU25EZ0orQixTbURoSi9CO0VBQUEsU25EZ0orQixhbURoSi9CO0V0RDNHTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VzRHdERixrQkFBaUIsUUFBakI7O0FBQ0E7RXZEbENjLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLEVBQUg7RUFBQSxVQUFHLEVBQUg7RUFSSCxNQUFHLEVBQUg7RXVENENULFNBQVEsVUFBUjtFQTBDTCxTbkRnSitCLFltRGhKL0I7RUFBQSxTbkRnSitCLFNtRGhKL0I7RUFBQSxTbkRnSitCLGFtRGhKL0I7RXREM0dPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsTUFBSDtFQUFBLGdCQUFHLE1BQUg7RUFBQSxjQUFHLE1BQUg7RUFBQSxnQkFBRyxNQUFIO0VBQUEscUJBQUcsV0FBSDtFQVJILGFBQUcsV0FBSDtFQVFHLGtCQUFHLE9BQUg7RUFBQSxlQUFHLE9BQUg7RUFBQSxhQUFHLE9BQUg7RUFBQSxlQUFHLE9BQUg7RUFBQSx5QkFBRyxPQUFIO0VBUkgsaUJBQUcsT0FBSDs7QXVEaURYO0V2RHpDYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0V1RG1EVCxZQUFXLE1BQVg7O0FBSUY7RUFDRSxlQUFjLGlDQUFkO0VBQ0EsVUFBUyxTQUFUOztBakQvQ3FDO0FpRHNEdkM7SXREN0VBLFNBQVMsTUFBVDs7QXNEZ0ZBO0lBQ0UsV0FBVSxLQUFWO0lBQ0EsV0FBVSxLQUFWOzs7QWpEM0RxQztBaURrRXJDO0lBQ0UsU0FBUSxVQUFSOztBQUlGO0lBQ0UsYUFBWSxLQUFaOzs7QUNySFI7RUFDRSxnQkFBZSxLQUFmO0VBQ0EsZUFBYyxnQ0FBZDs7QUFDQTtFQUNFLGVBQWMsS0FBZDs7QUNIRjtFQUNFLGNBQWEsS0FBYjtFQUNBLGFBQVksS0FBWjtFQTJDSCxTckQyTitCLFlxRDNOL0I7RUFBQSxTckQyTitCLFNxRDNOL0I7RUFBQSxTckQyTitCLGFxRDNOL0I7RXhEaENPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7O0F3RGRGO0VBQ0UsY0FBYSxJQUFiO0VBQ0EsYUFBWSxJQUFaOztBQUtOO0VBQ0UsT0FBTSxLQUFOO0VBQ0EsUUFBTyxLQUFQO0VoRHFDQSxlQUFjLElBQWQ7RUpqQ0UsVUFBVSxPQUFWO0VvRERGLFVBQVMsU0FBVDtFeERJRSxTQUFTLE1BQVQ7O0F3RERGO0VBQ0UsVUFBUyxTQUFUO0VBQ0EsS0FBSSxJQUFKO0VBQ0EsTUFBSyxJQUFMO0V6RG1CYyxtQkFBRyxzQkFBSDtFQUFBLGdCQUFHLHNCQUFIO0VBQUEsY0FBRyxzQkFBSDtFQUFBLGVBQUcsc0JBQUg7RUFSSCxXQUFHLHNCQUFIOztBeURQYjtFekRnUEEsU0FBUyxJQUFUO0VBV00sWUFBeUUsc0RBQXpFO0VBQ0EsUUFBaUMsa0JBQWpDOztBeUR4UE47RUFDRSxrQkFBaUIsUUFBakI7O0FBRUE7RUFDRSxNQUFLLEtBQUw7O0FuRFNxQztBbURIekM7SUFDRSxPQUFNLEtBQU47SUFDQSxRQUFPLEtBQVA7OztBQ3JDRjtFQXFJRCxTdEQ2SCtCLFlzRDdIL0I7RUFBQSxTdEQ2SCtCLFNzRDdIL0I7RUFBQSxTdEQ2SCtCLGFzRDdIL0I7RXpEOUhPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1QlksbUJBQUcsU0FBSDtFQUFBLGdCQUFHLFNBQUg7RUFBQSxjQUFHLFNBQUg7RUFBQSxtQkFBRyxLQUFIO0VBQUEsZUFBRyxLQUFIO0VBUkgsV0FBRyxLQUFIOztBMER0Qlg7RUErSEgsU3RENkgrQixZc0Q3SC9CO0VBQUEsU3RENkgrQixTc0Q3SC9CO0VBQUEsU3RENkgrQixhc0Q3SC9CO0V6RDlITyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0V5RExBLGNBQWEsTUFBYjtFQUNBLGFBQVksTUFBWjs7QUFJSjtFekRFRSxTQUFTLE1BQVQ7RURxQmMsa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDtFMERaWCxXQUFVLEtBQVY7RUFDQSxjQUFhLEtBQWI7RUFDQSxhQUFZLEtBQVo7RTFEZ0JjLG9CQUFzQywwQ0FBdEM7RUFBQSxpQkFBc0MsMENBQXRDO0VBQUEsZUFBc0MsMENBQXRDO0VBQUEsZ0JBQXNDLDBDQUF0QztFQVJILFlBQStCLDBDQUEvQjs7QTBETFg7RTFEZ1BGLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQzs7QTBEeFBKO0VBQ0UsU0FBUSxLQUFSO0U1RHhCRixRQUFRLGtCQUFSO0VXMkNGLGVBQWMsS0FBZDtFVFRnQixrQkFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEsYUFBRyxPQUFIO0VBQUEsZUFBRyxPQUFIO0VBQUEseUJBQUcsT0FBSDtFQVJILGlCQUFHLE9BQUg7RTBEeUdkLFN0RDZIK0IsWXNEN0gvQjtFQUFBLFN0RDZIK0IsU3NEN0gvQjtFQUFBLFN0RDZIK0IsYXNEN0gvQjtFekQ5SE8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxtQkFBRyxPQUFIO0VBQUEsZ0JBQUcsT0FBSDtFQUFBLGNBQUcsT0FBSDtFQUFBLGdCQUFHLE9BQUg7RUFBQSxxQkFBRyxPQUFIO0VBUkgsYUFBRyxPQUFIOztBMERLWDtFMURHYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0UwRE9ULE9BQU0sTUFBTjs7QUFLSjtFQUNFLGVBQWMsS0FBZDtFQUNBLGFBQVksSUFBWjtFQUNBLE9BQU0sUUFBTjs7QUFHRjtFMURWZ0Isa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsRUFBSDtFQUFBLFVBQUcsRUFBSDtFQVJILE1BQUcsRUFBSDtFMERvQlgsYUFBWSxJQUFaO0VBQ0EsT0FBTSxRQUFOOztBQUdGO0VBQ0UsYUFBWSxLQUFaOztBQUVBO0VBOEVILFN0RDZIK0IsWXNEN0gvQjtFQUFBLFN0RDZIK0IsU3NEN0gvQjtFQUFBLFN0RDZIK0IsYXNEN0gvQjtFekQ5SE8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFeUQ0Q0EsYUFBWSxLQUFaO0VBQ0EsY0FBYSxLQUFiOztBQUdGO0UxRDBiQSxRQUFPLFFBQVA7RTBEeGJFLE9BQU0sS0FBTjtFQUNBLFFBQU8sS0FBUDtFQUNBLGtCQUFpQixRQUFqQjtFakRwQkosZUFBYyxJQUFkO0VUd05BLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQztFMEQ3TUYsYUFBWSxJQUFaO0VBQ0EsY0FBYSxJQUFiOztBQUVBO0UxRDhMSixTQUFTLEVBQVQ7RUFRTSxZQUFZLEtBQVo7RUFDQSxRQUFRLEtBQVI7RTBEck1BLGdCQUFlLEtBQWY7O0FBR0Y7RTFEeUxKLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQzs7QTBEL0xOO0VBQ0UsT0FBTSxNQUFOO0UxRC9DYyxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0UwRHlEWCxjQUFhLEtBQWI7O0FBR0Y7RTFEcERnQixrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxFQUFIO0VBQUEsVUFBRyxFQUFIO0VBUkgsTUFBRyxFQUFIO0UwRHlHZCxTdEQ2SCtCLFlzRDdIL0I7RUFBQSxTdEQ2SCtCLFNzRDdIL0I7RUFBQSxTdEQ2SCtCLGFzRDdIL0I7RXpEOUhPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1Qlksb0JBQUcsU0FBSDtFQUFBLGlCQUFHLFNBQUg7RUFBQSxlQUFHLFNBQUg7RUFBQSx3QkFBRyxPQUFIO0VBQUEsb0JBQUcsT0FBSDtFQVJILGdCQUFHLE9BQUg7O0EwRGtFYjtFekQvRUUsU0FBUyxNQUFUO0V5RGlGQSxXQUFVLEtBQVY7RXJEcEZBLFVBQVUsT0FBVjtFSWlDRixlQUFjLElBQWQ7RWlEc0RFLFlBQVcsTUFBWDtFQUNBLFlBQVcsUUFBWDs7QXBEOUR1QztBb0RvRXZDO0l6RDNGQSxTQUFTLE1BQVQ7O0F5RCtGQTtJQUNFLE9BQU0sS0FBTjtJQUNBLGNBQWEsS0FBYjtJQUNBLGVBQWMsS0FBZDs7O0FwRDNFcUM7QW9EbUZyQztJekQxR0YsU0FBUyxNQUFUO0l5RDRHSSxhQUFZLEVBQVo7SUFDQSxjQUFhLEVBQWI7O0FBR0o7SUFDRSxhQUFZLEVBQVo7SUFDQSxjQUFhLEVBQWI7SUFDQSxlQUFjLEtBQWQ7OztBQ3hJSjtFQTRHRCxTdkQ0SitCLFl1RDVKL0I7RUFBQSxTdkQ0SitCLFN1RDVKL0I7RUFBQSxTdkQ0SitCLGF1RDVKL0I7RTFEL0ZPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RTBEakJGLGtCQUFpQixLQUFqQjtFQUNBLFlBQVcsS0FBWDtFQUNBLFNBQVEsS0FBUjtFbEQrQ0YsZUFBYyxJQUFkO0VUVGdCLG9CQUFHLGlDQUFIO0VBUkgsWUFBRyxpQ0FBSDs7QTJEekJiO0VBbUdELFN2RDRKK0IsWXVENUovQjtFQUFBLFN2RDRKK0IsU3VENUovQjtFQUFBLFN2RDRKK0IsYXVENUovQjtFMUQvRk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxrQkFBRyxJQUFIO0VBQUEsZUFBRyxJQUFIO0VBQUEsYUFBRyxJQUFIO0VBUkgsVUFBRyxJQUFIO0VBUUcsY0FBRyxJQUFIO0VBQUEsVUFBRyxJQUFIO0VBUkgsTUFBRyxJQUFIOztBMkRyQmI7RUErRkQsU3ZENEorQixZdUQ1Si9CO0VBQUEsU3ZENEorQixTdUQ1Si9CO0VBQUEsU3ZENEorQixhdUQ1Si9CO0UxRC9GTyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0VEdUJZLGtCQUFHLEVBQUg7RUFBQSxlQUFHLEVBQUg7RUFBQSxhQUFHLEVBQUg7RUFSSCxVQUFHLEVBQUg7RUFRRyxjQUFHLEVBQUg7RUFBQSxVQUFHLEVBQUg7RUFSSCxNQUFHLEVBQUg7O0EyRGhCYjtFQTBGRCxTdkQ0SitCLFl1RDVKL0I7RUFBQSxTdkQ0SitCLFN1RDVKL0I7RUFBQSxTdkQ0SitCLGF1RDVKL0I7RTFEL0ZPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1Qlksb0JBQUcsV0FBSDtFQUFBLGlCQUFHLFdBQUg7RUFBQSxlQUFHLFdBQUg7RUFBQSx3QkFBRyxJQUFIO0VBQUEsb0JBQUcsSUFBSDtFQVJILGdCQUFHLElBQUg7RUFRRyxtQkFBRyxTQUFIO0VBQUEsZ0JBQUcsU0FBSDtFQUFBLGNBQUcsU0FBSDtFQUFBLG1CQUFHLEtBQUg7RUFBQSxlQUFHLEtBQUg7RUFSSCxXQUFHLEtBQUg7RUFRRyxvQkFBRyxNQUFIO0VBQUEsdUJBQUcsV0FBSDtFQVJILGVBQUcsV0FBSDtFMkRYWCxZQUFXLEtBQVg7O0FBRUE7RTNEaUJjLG9CQUFHLElBQUg7RUFSSCxZQUFHLElBQUg7O0EyREpiO0VBOEVELFN2RDRKK0IsWXVENUovQjtFQUFBLFN2RDRKK0IsU3VENUovQjtFQUFBLFN2RDRKK0IsYXVENUovQjtFMUQvRk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxvQkFBRyxLQUFIO0VBUkgsWUFBRyxLQUFIOztBMkRFYjtFQUNFLE9BQU0sS0FBTjs7QUFFQTtFQXFFSCxTdkQ0SitCLFl1RDVKL0I7RUFBQSxTdkQ0SitCLFN1RDVKL0I7RUFBQSxTdkQ0SitCLGF1RDVKL0I7RTFEL0ZPLFNBQVMsWUFBVDtFQUNBLFNBQWdELElBQWhEO0VBS0YsU0FBc0QsS0FBdEQ7RUR1Qlksb0JBQUcsU0FBSDtFQUFBLGlCQUFHLFNBQUg7RUFBQSxlQUFHLFNBQUg7RUFBQSx3QkFBRyxPQUFIO0VBQUEsb0JBQUcsT0FBSDtFQVJILGdCQUFHLE9BQUg7RTJEUVQsUUFBTyxTQUFQO0VBQ0EsU0FBUSxVQUFSOztBQUVBO0VBQ0UsT0FBTSxRQUFOOztBQUlKO0VBQ0UsYUFBWSxJQUFaO0VBQ0EsT0FBTSxRQUFOO0VBQ0EsZUFBYyxLQUFkO0VBQ0EsV0FBVSxLQUFWO0UzRGRZLG9CQUFzQywwQ0FBdEM7RUFBQSxpQkFBc0MsMENBQXRDO0VBQUEsZUFBc0MsMENBQXRDO0VBQUEsZ0JBQXNDLDBDQUF0QztFQVJILFlBQStCLDBDQUEvQjs7QTJEeUJYO0VBQ0UsT0FBTSxRQUFOOztBQUtGO0VBNkNILFN2RDRKK0IsWXVENUovQjtFQUFBLFN2RDRKK0IsU3VENUovQjtFQUFBLFN2RDRKK0IsYXVENUovQjtFMUQvRk8sU0FBUyxZQUFUO0VBQ0EsU0FBZ0QsSUFBaEQ7RUFLRixTQUFzRCxLQUF0RDtFRHVCWSxvQkFBRyxTQUFIO0VBQUEsaUJBQUcsU0FBSDtFQUFBLGVBQUcsU0FBSDtFQUFBLHdCQUFHLE9BQUg7RUFBQSxvQkFBRyxPQUFIO0VBUkgsZ0JBQUcsT0FBSDtFMkRnQ1QsUUFBTyxTQUFQO0VBQ0EsU0FBUSxVQUFSOztBQUVGO0VBQ0UsZUFBYyxLQUFkO0VBQ0EsYUFBWSxJQUFaO0U3QzVERyxXQUFVLEtBQVY7RUFDQSxhQUFtRixJQUFuRjtFNkM2REgsT0FBTSxRQUFOOztBQUVGO0VBQ0UsZUFBYyxLQUFkO0VBQ0EsVUFBUyxTQUFUO0UzRGdiRixRQUFPLFFBQVA7O0EyRDdhRTtFQUNFLFNBQVEsR0FBUjtFQUNBLFVBQVMsU0FBVDtFQUNBLE1BQUssRUFBTDtFQUNBLE9BQU0sRUFBTjtFQUNBLFFBQU8sRUFBUDtFQUNBLEtBQUksRUFBSjtFMURqRUosU0FBUyxNQUFUO0VEbUJjLG9CQUFzQyxVQUF0QztFQUFBLGlCQUFzQyxVQUF0QztFQUFBLGVBQXNDLFVBQXRDO0VBQUEsZ0JBQXNDLFVBQXRDO0VBUkgsWUFBK0IsVUFBL0I7RTJEeURQLGtCQUF1QyxtQkFBdkM7O0FBR0Y7RTFEdkVGLFNBQVMsTUFBVDtFMER5RUksV0FBVSxLQUFWOztBQUlBO0VBQ0Usa0JBQXlDLHFCQUF6Qzs7QUFLTjtFQUNFLGVBQWMsS0FBZDs7QUNyR0o7RUF1SUQsU3hENkgrQixZd0Q3SC9CO0VBQUEsU3hENkgrQixTd0Q3SC9CO0VBQUEsU3hENkgrQixhd0Q3SC9CO0UzRDlITyxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREO0UyRGJGLFFBQU8sUUFBUDtFQUNBLFlBQVcsS0FBWDtFQUNBLFlBQVcsT0FBWDtFNURrQ2MsNEJBQUcsTUFBSDtFQVJILG9CQUFHLE1BQUg7O0E0RHZCWDtFQUNFLFNBQVEsR0FBUjtFM0RTRixTQUFTLE1BQVQ7RTJEUEUsT0FBTSxLQUFOO0U1RDRCWSxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIOztBNERmYjtFQUNFLFFBQU8sT0FBUDtFNURzQmMsa0JBQUcsRUFBSDtFQUFBLGVBQUcsRUFBSDtFQUFBLGFBQUcsRUFBSDtFQVJILFVBQUcsRUFBSDtFQVFHLGNBQUcsU0FBSDtFQUFBLFVBQUcsU0FBSDtFQVJILE1BQUcsU0FBSDtFQTJkWCxRQUFPLFFBQVA7O0FNamR1QztBc0RmdkM7SUFDRSxRQUFPLFFBQVA7O0FBR0Y7SUFDRSxRQUFPLE9BQVA7OztBQUtOO0VBQ0UsT0FBTSxRQUFOO0VBQ0EsZ0JBQWUsS0FBZjtFM0RwQkUsU0FBUyxNQUFUO0UyRHNCRixVQUFTLFNBQVQ7RUFDQSxhQUFZLElBQVo7RTVESmdCLG9CQUFzQywwQ0FBdEM7RUFBQSxpQkFBc0MsMENBQXRDO0VBQUEsZUFBc0MsMENBQXRDO0VBQUEsZ0JBQXNDLDBDQUF0QztFQVJILFlBQStCLDBDQUEvQjs7QTREZWI7RUFDRSxTQUFRLEdBQVI7RUFDQSxVQUFTLFNBQVQ7RUFDQSxRQUFPLEtBQVA7RUFDQSxNQUFLLEVBQUw7RUFDQSxPQUFNLEVBQU47RUFDQSxRQUFPLElBQVA7RTVEWGMsbUJBQUcsWUFBSDtFQUFBLGdCQUFHLFlBQUg7RUFBQSxjQUFHLFlBQUg7RUFBQSxlQUFHLFlBQUg7RUFSSCxXQUFHLFlBQUg7RUFRRywwQkFBRyxPQUFIO0VBQUEsdUJBQUcsT0FBSDtFQUFBLHFCQUFHLE9BQUg7RUFBQSxzQkFBRyxPQUFIO0VBUkgsa0JBQUcsT0FBSDtFQU1HLG9CQUFzQywwQ0FBdEM7RUFBQSxpQkFBc0MsMENBQXRDO0VBQUEsZUFBc0MsMENBQXRDO0VBQUEsZ0JBQXNDLDBDQUF0QztFQVJILFlBQStCLDBDQUEvQjtFNER5Qlgsa0JBQWlCLFFBQWpCOztBQUdGO0VBQ0UsT0FBTSxRQUFOOztBQUdGO0VBQ0UsT0FBTSxRQUFOOztBQUVBO0U1RHpCYyxtQkFBRyxZQUFIO0VBQUEsZ0JBQUcsWUFBSDtFQUFBLGNBQUcsWUFBSDtFQUFBLGVBQUcsWUFBSDtFQVJILFdBQUcsWUFBSDs7QTREd0NiO0VBQ0UsT0FBb0Isc0JBQXBCOztBQUVBO0VBQ0UsT0FBTSxLQUFOOztBQUdGO0VBQ0UsT0FBTSxLQUFOOztBQUVBO0VBQ0Usa0JBQWlCLEtBQWpCOztBQVFOO0VBQ0UsZUFBYyxnQ0FBZDs7QUFLRjtFQUNFLFVBQVMsU0FBVDs7QUFFQTtFQUNFLFNBQVEsR0FBUjtFQUNBLFVBQVMsU0FBVDtFQUNBLFFBQU8sRUFBUDtFQUNBLE1BaUNMLE9BakNLO0VBQ0EsT0FBaUIsT0FBakI7RTVEc1lGLFlBQVcsc0JBQVg7RTREcFlFLFFBQU8sSUFBUDs7QUFLTjtFQUNFLFVBQVMsU0FBVDs7QUFFQTtFNUQ3RWdCLG9CQUFzQywwQ0FBdEM7RUFBQSxpQkFBc0MsMENBQXRDO0VBQUEsZUFBc0MsMENBQXRDO0VBQUEsZ0JBQXNDLDBDQUF0QztFQVJILFlBQStCLDBDQUEvQjs7QTREeUZiO0VBQ0UsZ0JBQWUsS0FBZjtFQUNBLFlBQVcsT0FBWDtFQUNBLFVBQVMsU0FBVDtFQUNBLEtBQUksRUFBSjtFQUNBLE1BQUssRUFBTDtFQUNBLE9BQU0sRUFBTjs7QUFFQTtFQUNFLGdCQUFlLGdCQUFmOztBQUdGO0U1RHNJRixTQUFTLEVBQVQ7RUFXTSxZQUF5RSxxREFBekU7RUFDQSxRQUFpQyxpQkFBakM7RUEvT1Usb0JBQXNDLDJDQUF0QztFQUFBLGlCQUFzQywyQ0FBdEM7RUFBQSxlQUFzQywyQ0FBdEM7RUFBQSxnQkFBc0MsMkNBQXRDO0VBUkgsWUFBK0IsMkNBQS9CO0VBVUcsbUJBQUcsK0JBQUg7RUFBQSxnQkFBRywrQkFBSDtFQUFBLGNBQUcsK0JBQUg7RUFBQSxlQUFHLCtCQUFIO0VBUkgsV0FBRywrQkFBSDs7QTZEbkNmO0VBQ0UsZUFBZSxnQ0FBZjs7QUNERjtFN0RzQkksU0FBUyxLQUFUOztBS3VCdUM7QXdEdkN4QztJN0RnQkMsU0FBUyxLQUFUOzs7QUt1QnVDO0F3RGxDeEM7STdEV0MsU0FBUyxLQUFUOzs7QUt1QnVDO0F3RDdCeEM7STdETUMsU0FBUyxLQUFUOzs7QUt1QnVDO0F3RHhCeEM7STdEQ0MsU0FBUyxnQkFBVDs7O0FLdUJ1QztBd0RuQnhDO0k3REpDLFNBQVMsS0FBVDs7O0FLdUJ1QztBd0RaeEM7STdEWEMsU0FBUyxLQUFUOzs7QUt1QnVDO0F3RFB4QztJN0RoQkMsU0FBUyxLQUFUOzs7QUt1QnVDO0F3REZ4QztJN0RyQkMsU0FBUyxnQkFBVDs7O0FLdUJ1QztBd0RHeEM7STdEMUJDLFNBQVMsS0FBVDs7O0E2RGlDSjtFQUNHLE1BQUssUUFBTDs7QUFHSDtFQUNHLGFBQVksdUpBQVo7O0FBR0g7RUFDRyxhQUFZLFFBQVo7O0FBR0g7RUFDRyxhQUFZLElBQVo7O0FBR0g7RUFDRyxhQUFZLElBQVo7O0FBRUg7RTlEa01FLFNBQVMsSUFBVDtFQVdNLFlBQXlFLHNEQUF6RTtFQUNBLFFBQWlDLGtCQUFqQzs7QThEM01SO0VBQ0csa0JBQWlCLFdBQWpCOztBQU1IO0U3RDlESSxTQUFTLEtBQVQ7O0E2RGlFcUQ7QUFDdEQ7STdEbEVDLFNBQVMsS0FBVDs7QTZEc0VEO0k3RHRFQyxTQUFTLE1BQVQ7OztBVXBCSjtFQUNFLGVBQWMsS0FBZDs7QUFFRjtFQUNFLGVBQWMsTUFBZDs7QUFFRjtFQUNFLGFBQVksS0FBWjs7QUFFRjtFQUNFLGdCQUFlLEtBQWY7O0FMaUN5QztBSzlCekM7SUFDRSxlQUFrQixLQUFsQjs7QUFFRjtJQUNFLGVBQTJCLE1BQTNCOztBQUVGO0lBQ0UsYUFBZ0IsS0FBaEI7O0FBRUY7SUFDRSxnQkFBbUIsS0FBbkI7OztBQUtKO0VBQ0UsZUFBYyxLQUFkOztBQUVGO0VBQ0UsZUFBYyxNQUFkOztBQUVGO0VBQ0UsYUFBWSxLQUFaOztBQUVGO0VBQ0UsZ0JBQWUsS0FBZjs7QUxLeUM7QUtGekM7SUFDRSxlQUFrQixLQUFsQjs7QUFFRjtJQUNFLGVBQTJCLE1BQTNCOztBQUVGO0lBQ0UsYUFBZ0IsS0FBaEI7O0FBRUY7SUFDRSxnQkFBbUIsS0FBbkI7OztBQUtKO0VBQ0UsZUFBYyxLQUFkOztBQUVGO0VBQ0UsYUFBWSxLQUFaOztBQUVGO0VBQ0UsZ0JBQWUsS0FBZjs7QUxwQnlDO0FLdUJ6QztJQUNFLGVBQWtCLEtBQWxCOztBQUVGO0lBQ0UsYUFBZ0IsS0FBaEI7O0FBRUY7SUFDRSxnQkFBbUIsS0FBbkI7OztBQUtKO0VBQ0UsZUFBYyxLQUFkOztBQUVGO0VBQ0UsYUFBWSxLQUFaOztBQUVGO0VBQ0UsZ0JBQWUsS0FBZjs7QUwxQ3lDO0FLNkN6QztJQUNFLGVBQWtCLEtBQWxCOztBQUVGO0lBQ0UsYUFBZ0IsS0FBaEI7O0FBRUY7SUFDRSxnQkFBbUIsS0FBbkI7OztBQUtKO0VBQ0UsZUFBYyxLQUFkOztBQUVGO0VBQ0UsYUFBWSxLQUFaOztBQUVGO0VBQ0UsZ0JBQWUsS0FBZjs7QUxoRXlDO0FLbUV6QztJQUNFLGVBQWtCLEtBQWxCOztBQUVGO0lBQ0UsYUFBZ0IsS0FBaEI7O0FBRUY7SUFDRSxnQkFBbUIsS0FBbkI7OztBQUtKO0VBQ0UsZUFBYyxLQUFkOztBQUVGO0VBQ0UsYUFBWSxLQUFaOztBQUVGO0VBQ0UsZ0JBQWUsS0FBZjs7QUx0RnlDO0FLeUZ6QztJQUNFLGVBQWtCLEtBQWxCOztBQUVGO0lBQ0UsYUFBZ0IsS0FBaEI7O0FBRUY7SUFDRSxnQkFBbUIsS0FBbkI7OztBQUtKO0VBQ0UsZUFBYyxNQUFkOztBQUVGO0VBQ0UsYUFBWSxNQUFaOztBQUVGO0VBQ0UsZ0JBQWUsTUFBZjs7QUw1R3lDO0FLK0d6QztJQUNFLGVBQW1CLG9CQUFuQjs7QUFFRjtJQUNFLGFBQWlCLG9CQUFqQjs7QUFFRjtJQUNFLGdCQUFvQixvQkFBcEI7OztBQUtKO0VBQ0UsZUFBYyxNQUFkOztBQUVGO0VBQ0UsYUFBWSxNQUFaOztBQUVGO0VBQ0UsZ0JBQWUsTUFBZjs7QUxsSXlDO0FLcUl6QztJQUNFLGVBQW1CLG9CQUFuQjs7QUFFRjtJQUNFLGFBQWlCLG9CQUFqQjs7QUFFRjtJQUNFLGdCQUFvQixvQkFBcEIiLCJmaWxlIjoiY29tbW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEJhc2VkIG9uIFtFcmljIE1leWVyJ3MgcmVzZXRdKGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90aG91Z2h0cy8yMDA3LzA1LzAxL3Jlc2V0LXJlbG9hZGVkLylcblxuZ2xvYmFsLXJlc2V0KClcbiAgaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG4gIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbiAgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuICBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuICBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuICBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbiAgdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGRcbiAgICByZXNldC1ib3gtbW9kZWwoKVxuICAgIHJlc2V0LWZvbnQoKVxuICBib2R5XG4gICAgcmVzZXQtYm9keSgpXG4gIG9sLCB1bFxuICAgIGxpc3Qtc3R5bGU6IG5vbmVcbiAgdGFibGVcbiAgICByZXNldC10YWJsZSgpXG4gIGNhcHRpb24sIHRoLCB0ZFxuICAgIHJlc2V0LXRhYmxlLWNlbGwoKVxuICBhIGltZ1xuICAgIGJvcmRlcjogbm9uZVxuXG5uZXN0ZWQtcmVzZXQoKVxuICBkaXYsIHNwYW4sIG9iamVjdCwgaWZyYW1lLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLFxuICBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGNvZGUsIGRlbCwgZGZuLCBlbSwgaW1nLFxuICBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsXG4gIGxlZ2VuZCwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHJcbiAgICByZXNldC1ib3gtbW9kZWwoKVxuICAgIHJlc2V0LWZvbnQoKVxuICB0YWJsZVxuICAgIHJlc2V0LXRhYmxlKClcbiAgY2FwdGlvbiwgdGgsIHRkXG4gICAgcmVzZXQtdGFibGUtY2VsbCgpXG4gIGEgaW1nXG4gICAgYm9yZGVyOiBub25lXG5cbnJlc2V0LWJveC1tb2RlbCgpXG4gIG1hcmdpbjogMFxuICBwYWRkaW5nOiAwXG4gIGJvcmRlcjogMFxuICBvdXRsaW5lOiAwXG5cbnJlc2V0LWZvbnQoKVxuICBmb250LXdlaWdodDogaW5oZXJpdFxuICBmb250LXN0eWxlOiBpbmhlcml0XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0XG4gIGZvbnQtc2l6ZTogMTAwJVxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmVcblxucmVzZXQtYm9keSgpXG4gIGxpbmUtaGVpZ2h0OiAxXG4gIGNvbG9yOiBibGFja1xuICBiYWNrZ3JvdW5kOiB3aGl0ZVxuXG5yZXNldC10YWJsZSgpXG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGVcbiAgYm9yZGVyLXNwYWNpbmc6IDBcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZVxuXG5yZXNldC10YWJsZS1jZWxsKClcbiAgdGV4dC1hbGlnbjogbGVmdFxuICBmb250LXdlaWdodDogbm9ybWFsXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGVcblxucmVzZXQtaHRtbDUoKVxuICBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBmaWdjYXB0aW9uLFxuICBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdixcbiAgc2VjdGlvbiwgc3VtbWFyeSwgbWFpblxuICAgIHJlc2V0LWJveC1tb2RlbCgpXG4gICAgZGlzcGxheTogYmxvY2tcbiAgYXVkaW8sIGNhbnZhcywgdmlkZW9cbiAgICBkaXNwbGF5IGlubGluZS1ibG9ja1xuICAgICpkaXNwbGF5IGlubGluZVxuICAgICp6b29tIDFcbiAgYXVkaW86bm90KFtjb250cm9sc10pLFtoaWRkZW5dXG4gICAgZGlzcGxheSBub25lXG4iLCIvKlxuICogYm9yZGVyOiA8Y29sb3I+XG4gKiBib3JkZXI6IC4uLlxuICovXG5cbmJvcmRlcihjb2xvciwgYXJncy4uLilcbiAgaWYgY29sb3IgaXMgYSAnY29sb3InXG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IgYXJnc1xuICBlbHNlXG4gICAgYm9yZGVyOiBhcmd1bWVudHNcbiIsIi8qKlxuICog0J/QvtC30LLQvtC70Y/QtdGCINCx0YvRgdGC0YDQviDQt9Cw0LTQsNCy0LDRgtGMIGxpbmUtaGVpZ2h0XG4gKi9cbmxpbmUtaGVpZ2h0KCkge1xuICBpZiAodHlwZW9mKGFyZ3VtZW50cykgaXMgaWRlbnQgfHwgYXJndW1lbnRzID09IGluaGVyaXQpIHtcbiAgICAgbGluZS1oZWlnaHQgYXJndW1lbnRzXG4gIH0gZWxzZSB7XG4gICAgIGlmIChAZm9udC1zaXplKSB7XG4gICAgICAgIGlmICh1bml0KGFyZ3VtZW50cykgaXNudCAoJ3B4JyBvciAnJykpIHtcbiAgICAgICAgICAgbGluZS1oZWlnaHQgYXJndW1lbnRzXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgIGZ6ID0gQGZvbnQtc2l6ZVxuICAgICAgICAgICBpZiAodW5pdChmeikgaXMgJ3JlbScpIHtcbiAgICAgICAgICAgICAgZnogPSBmeioxMFxuICAgICAgICAgICB9XG4gICAgICAgICAgIGxpbmUtaGVpZ2h0IHVuaXQoYXJndW1lbnRzIC8gZnosICcnKVxuICAgICAgICB9XG4gICAgIH0gZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0IGFyZ3VtZW50c1xuICAgICB9XG4gIH1cbn1cbiIsInVzZSgnLi4vbm9kZXMvdmVuZG9yLWhlbHBlcnMuanMnKVxuQGltcG9ydCAnY29uZmlnJ1xuXG4vKlxuICogQWxpYXMgXCJub3dyYXBcIiBhcyBcIm5vLXdyYXBcIi5cbiAqL1xuXG5uby13cmFwID0gdW5xdW90ZSgnbm93cmFwJylcblxuLypcbiAqIEhlbHBlciB0byBmaW5kIG91dCBpZiBhIGdpdmVuIHZhbHVlIGlzIGEgd2lkdGhcbiAqL1xuXG5pcy13aWR0aCh2YWwpXG4gIGlmIGF1dG8gPT0gdmFsXG4gICAgcmV0dXJuIHRydWVcbiAgZWxzZSBpZiB2YWwgJiYgJ3VuaXQnID09IHR5cGUodmFsKVxuICAgIC8vIFN0eWx1cyBkb2VzIG5vdCBzaG9ydCBjaXJjdWl0IHNvIHdlIG5lZWQgdG8gcGVyZm9ybSB0aGlzIGFzIGEgZGlzdGluY3RcbiAgICAvLyBvcGVyYXRpb24gdG8gcHJldmVudCBlcnJvcnNcbiAgICByZXR1cm4gJycgIT0gdW5pdCh2YWwpXG4gIHJldHVybiBmYWxzZVxuXG4vKlxuICogVmVuZG9yIHN1cHBvcnQgZm9yIHRoZSBnaXZlbiBwcm9wIC8gYXJndW1lbnRzLCBvcHRpb25hbGx5IHNwZWNpZnlpbmcgdGhlXG4gKiBvbmx5IHByZWZpeGVzIHRvIHV0aWxpemUsIG9yIHRob3NlIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkLlxuICovXG5cbnZlbmRvcihwcm9wLCBhcmdzLCBvbmx5ID0gbnVsbCwgaWdub3JlID0gbnVsbCwgdmVuZG9yLXByb3BlcnR5ID0gdHJ1ZSlcbiAgbmVlZF9ub3JtYWxpemUgPSAhdmVuZG9yLXByb3BlcnR5IG9yIHByb3AgaW4gKCd0cmFuc2l0aW9uJyAndHJhbnNpdGlvbi1wcm9wZXJ0eScgJ2JvcmRlci1pbWFnZScgJ2JvcmRlci1pbWFnZS1zbGljZScpXG4gIGZvciBwcmVmaXggaW4gdmVuZG9yLXByZWZpeGVzXG4gICAgdW5sZXNzIChvbmx5IGFuZCAhKHByZWZpeCBpbiBvbmx5KSkgb3IgKGlnbm9yZSBhbmQgcHJlZml4IGluIGlnbm9yZSlcbiAgICAgIGlmIG9mZmljaWFsID09IHByZWZpeFxuICAgICAgICBpZiBuZWVkX25vcm1hbGl6ZVxuICAgICAgICAgIHtwcm9wfTogbm9ybWFsaXplKHByb3AsKCclcycgJSBhcmdzKSlcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHtwcm9wfTogYXJnc1xuICAgICAgZWxzZVxuICAgICAgICBuZXdwcm9wID0gcHJvcFxuICAgICAgICBuZXdwcm9wID0gJy0nICsgcHJlZml4ICsgJy0nICsgcHJvcCBpZiB2ZW5kb3ItcHJvcGVydHlcblxuICAgICAgICBpZiBuZWVkX25vcm1hbGl6ZVxuICAgICAgICAgIHtuZXdwcm9wfTogbm9ybWFsaXplKHByb3AsKCclcycgJSBhcmdzKSxwcmVmaXgpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7bmV3cHJvcH06IGFyZ3Ncbi8qXG4gKiBWZW5kb3JpemUgdGhlIGdpdmVuIHZhbHVlLlxuICovXG5cbnZlbmRvci12YWx1ZShhcmcsIG9ubHkgPSBudWxsLCBpZ25vcmUgPSBudWxsKVxuICBwcm9wID0gY3VycmVudC1wcm9wZXJ0eVswXVxuICBmb3IgcHJlZml4IGluIHZlbmRvci1wcmVmaXhlc1xuICAgIHVubGVzcyAob25seSBhbmQgIShwcmVmaXggaW4gb25seSkpIG9yIChpZ25vcmUgYW5kIHByZWZpeCBpbiBpZ25vcmUpIG9yIG9mZmljaWFsID09IHByZWZpeFxuICAgICAgYWRkLXByb3BlcnR5KHByb3AsICctJXMtJXMnICUgKHByZWZpeCBhcmcpKVxuICBhcmdcblxuLypcbiAqIFZlbmRvciBcImJveC1zaGFkb3dcIiBzdXBwb3J0LlxuICovXG5cbmJveC1zaGFkb3coKVxuICB2ZW5kb3IoJ2JveC1zaGFkb3cnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInVzZXItc2VsZWN0XCIgc3VwcG9ydC5cbiAqL1xuXG51c2VyLXNlbGVjdCgpXG4gIHZlbmRvcigndXNlci1zZWxlY3QnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tY291bnRcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1jb3VudCgpXG4gIHZlbmRvcignY29sdW1uLWNvdW50JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLWdhcFwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLWdhcCgpXG4gIHZlbmRvcignY29sdW1uLWdhcCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZSgpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZS1jb2xvclwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUtY29sb3IoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlLWNvbG9yJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXJ1bGUtd2lkdGhcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1ydWxlLXdpZHRoKClcbiAgdmVuZG9yKCdjb2x1bW4tcnVsZS13aWR0aCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlLXN0eWxlXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZS1zdHlsZSgpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUtc3R5bGUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4td2lkdGhcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi13aWR0aCgpXG4gIHZlbmRvcignY29sdW1uLXdpZHRoJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXNwYW5cIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1zcGFuKClcbiAgdmVuZG9yKCdjb2x1bW4tc3BhbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLWZpbGxcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1maWxsKClcbiAgdmVuZG9yKCdjb2x1bW4tZmlsbCcsIGFyZ3VtZW50cywgb25seTogbW96KVxuXG4vKlxuICogTGVnYWN5IHN5bnRheCBzdXBwb3J0IGZvciBiYWNrZ3JvdW5kLWNsaXAgYW5kIGJhY2tncm91bmQtb3JpZ2luXG4gKi9cblxubGVnYWN5LWJnLXZhbHVlcyhwcm9wZXJ0eSwgYXJncylcbiAgbGVnYWN5X2FyZ3MgPSAoKVxuICBpbXBvcnRhbmNlID0gdW5xdW90ZSgnJylcbiAgZm9yIHN1YmFyZ3MgaW4gYXJnc1xuICAgIGZvciBhcmcgaW4gc3ViYXJnc1xuICAgICAgaWYgYXJnIGluIChib3JkZXItYm94IHBhZGRpbmctYm94IGNvbnRlbnQtYm94KVxuICAgICAgICBhcmcgPSB1bnF1b3RlKCdib3JkZXInKSAgaWYgYXJnID09IGJvcmRlci1ib3hcbiAgICAgICAgYXJnID0gdW5xdW90ZSgncGFkZGluZycpIGlmIGFyZyA9PSBwYWRkaW5nLWJveFxuICAgICAgICBhcmcgPSB1bnF1b3RlKCdjb250ZW50JykgaWYgYXJnID09IGNvbnRlbnQtYm94XG4gICAgICBpZiBhcmcgIT0gJyFpbXBvcnRhbnQnXG4gICAgICAgIHB1c2gobGVnYWN5X2FyZ3MsYXJnKVxuICAgICAgZWxzZVxuICAgICAgICBpbXBvcnRhbmNlID0gIWltcG9ydGFudFxuICB2ZW5kb3IocHJvcGVydHksIHVucXVvdGUoam9pbignLCAnLGxlZ2FjeV9hcmdzKSkgaW1wb3J0YW5jZSwgb25seTogbW96IHdlYmtpdClcblxuLypcbiAqIFZlbmRvciBcImJhY2tncm91bmQtY2xpcFwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2dyb3VuZC1jbGlwKClcbiAgaWYgYXJndW1lbnRzWzBdID09IHRleHRcbiAgICB2ZW5kb3IoJ2JhY2tncm91bmQtY2xpcCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0KVxuICBlbHNlXG4gICAgbGVnYWN5LWJnLXZhbHVlcygnYmFja2dyb3VuZC1jbGlwJywgYXJndW1lbnRzKVxuICAgIGJhY2tncm91bmQtY2xpcDogYXJndW1lbnRzXG5cbi8qXG4gKiBWZW5kb3IgXCJiYWNrZ3JvdW5kLW9yaWdpblwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2dyb3VuZC1vcmlnaW4oKVxuICBsZWdhY3ktYmctdmFsdWVzKCdiYWNrZ3JvdW5kLW9yaWdpbicsIGFyZ3VtZW50cylcbiAgYmFja2dyb3VuZC1vcmlnaW46IGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwiYmFja2dyb3VuZC1zaXplXCIgc3VwcG9ydC5cbiAqL1xuXG5iYWNrZ3JvdW5kLXNpemUoKVxuICB2ZW5kb3IoJ2JhY2tncm91bmQtc2l6ZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRyYW5zZm9ybVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNmb3JtKClcbiAgdmVuZG9yKCd0cmFuc2Zvcm0nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2Zvcm0tb3JpZ2luXCIgc3VwcG9ydC5cbiAqL1xudHJhbnNmb3JtLW9yaWdpbigpXG4gICAgdmVuZG9yKCd0cmFuc2Zvcm0tb3JpZ2luJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNmb3JtLXN0eWxlXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2Zvcm0tc3R5bGUoKVxuICB2ZW5kb3IoJ3RyYW5zZm9ybS1zdHlsZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImJvcmRlci1pbWFnZVwiIHN1cHBvcnQuXG4gKi9cblxuYm9yZGVyLWltYWdlKClcbiAgdmVuZG9yKCdib3JkZXItaW1hZ2UnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb25cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zaXRpb24oKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLXByb3BlcnR5XCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLXByb3BlcnR5KClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uLXByb3BlcnR5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi1kdXJhdGlvblwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi1kdXJhdGlvbigpXG4gIHZlbmRvcigndHJhbnNpdGlvbi1kdXJhdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigpXG4gIHZlbmRvcigndHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLWRlbGF5XCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLWRlbGF5KClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uLWRlbGF5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYmFja2ZhY2UtdmlzaWJpbGl0eVwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2ZhY2UtdmlzaWJpbGl0eSgpXG4gIHZlbmRvcignYmFja2ZhY2UtdmlzaWJpbGl0eScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInBlcnNwZWN0aXZlXCIgc3VwcG9ydC5cbiAqL1xuXG5wZXJzcGVjdGl2ZSgpXG4gIGlmIG1peGluXG4gICAgdmVuZG9yKCdwZXJzcGVjdGl2ZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcbiAgZWxzZVxuICAgICdwZXJzcGVjdGl2ZSglcyknICUgYXJndW1lbnRzXG5cbi8qXG4gKiBWZW5kb3IgXCJwZXJzcGVjdGl2ZS1vcmlnaW5cIiBzdXBwb3J0LlxuICovXG5cbnBlcnNwZWN0aXZlLW9yaWdpbigpXG4gIHZlbmRvcigncGVyc3BlY3RpdmUtb3JpZ2luJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogT3BhY2l0eSB3aXRoIGNvbmRpdGlvbmFsIElFIHN1cHBvcnQuXG4gKi9cblxub3BhY2l0eShuLCBhcmdzLi4uKVxuICBvcGFjaXR5OiBuIGFyZ3NcbiAgaWYgc3VwcG9ydC1mb3ItaWVcbiAgICBpZiBuID09IGluaGVyaXQgb3IgbiA9PSBpbml0aWFsXG4gICAgICAtbXMtZmlsdGVyOiBuIGFyZ3NcbiAgICAgIGZpbHRlcjogbiBhcmdzXG4gICAgZWxzZVxuICAgICAgdmFsID0gcm91bmQobiAqIDEwMClcbiAgICAgIGlmIHZhbCA9PSAxMDBcbiAgICAgICAgLW1zLWZpbHRlcjogbm9uZSBhcmdzXG4gICAgICAgIGZpbHRlcjogbm9uZSBhcmdzXG4gICAgICBlbHNlXG4gICAgICAgIC1tcy1maWx0ZXI6ICdcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSVzKVwiJyAlIHZhbCBhcmdzXG4gICAgICAgIGZpbHRlcjogJ2FscGhhKG9wYWNpdHk9JXMpJyAlIHZhbCBhcmdzXG5cbi8qXG4gKiBWZW5kb3IgXCJ0ZXh0LXNpemUtYWRqdXN0XCJcbiAqL1xuXG50ZXh0LXNpemUtYWRqdXN0KClcbiAgdmVuZG9yKCd0ZXh0LXNpemUtYWRqdXN0JywgYXJndW1lbnRzKVxuXG4vKlxuICogQWxpYXMgdGhlIFwid2hpdGUtc3BhY2VcIiBwcm9wZXJ0eS5cbiAqL1xuXG53aGl0ZXNwYWNlKClcbiAgd2hpdGUtc3BhY2U6IGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwiYm94LXNpemluZ1wiIHN1cHBvcnQuXG4gKi9cblxuYm94LXNpemluZygpXG4gIHZlbmRvcignYm94LXNpemluZycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1vcmllbnRcIiBzdXBwb3J0LlxuICovXG5cbmJveC1vcmllbnQoKVxuICB2ZW5kb3IoJ2JveC1vcmllbnQnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtZmxleC1ncm91cFwiIHN1cHBvcnQuXG4gKi9cblxuYm94LWZsZXgtZ3JvdXAoKVxuICB2ZW5kb3IoJ2JveC1mbGV4LWdyb3VwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LW9yZGluYWwtZ3JvdXBcIiBzdXBwb3J0LlxuICovXG5cbmJveC1vcmRpbmFsLWdyb3VwKClcbiAgdmVuZG9yKCdib3gtb3JkaW5hbC1ncm91cCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuXG4vKlxuICogVmVuZG9yIFwiYm94LWFsaWduXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtYWxpZ24oKVxuICB2ZW5kb3IoJ2JveC1hbGlnbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1wYWNrXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtcGFjaygpXG4gIHZlbmRvcignYm94LXBhY2snLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtZGlyZWN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtZGlyZWN0aW9uKClcbiAgdmVuZG9yKCdib3gtZGlyZWN0aW9uJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24oKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbicsIGFyZ3VtZW50cylcblxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLW5hbWVcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1uYW1lKClcbiAgdmVuZG9yKCdhbmltYXRpb24tbmFtZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1kdXJhdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWR1cmF0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24tZHVyYXRpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZGVsYXlcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1kZWxheSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLWRlbGF5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWRpcmVjdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWRpcmVjdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uLWRpcmVjdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnRcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLXBsYXktc3RhdGVcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1wbGF5LXN0YXRlKClcbiAgdmVuZG9yKCdhbmltYXRpb24tcGxheS1zdGF0ZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1maWxsLW1vZGVcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1maWxsLW1vZGUoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1maWxsLW1vZGUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJoeXBoZW5zXCIgc3VwcG9ydC5cbiAqL1xuXG5oeXBoZW5zKClcbiAgdmVuZG9yKCdoeXBoZW5zJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYXBwZWFyYW5jZVwiIHN1cHBvcnQuXG4gKi9cblxuYXBwZWFyYW5jZSgpXG4gIHZlbmRvcignYXBwZWFyYW5jZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRhYi1zaXplXCIgc3VwcG9ydC5cbiAqL1xuXG50YWItc2l6ZSgpXG4gIHZlbmRvcigndGFiLXNpemUnLCBhcmd1bWVudHMsIG9ubHk6IG1veiBvIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwib3ZlcmZsb3ctc2Nyb2xsaW5nXCIgc3VwcG9ydC5cbiAqL1xuXG5vdmVyZmxvdy1zY3JvbGxpbmcoKVxuICB2ZW5kb3IoJ292ZXJmbG93LXNjcm9sbGluZycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwidGV4dC1vdmVyZmxvd1wiIHN1cHBvcnQsICwgLW8tIGZvciBvcGVyYSA5LiogLSAxMC4qXG4gKi9cblxudGV4dC1vdmVyZmxvdygpXG4gIHZlbmRvcigndGV4dC1vdmVyZmxvdycsIGFyZ3VtZW50cywgb25seTogb2ZmaWNpYWwgbylcblxuLypcbiAqIFZlbmRvciBcInRleHQtc2l6ZS1hZGp1c3RcIiBzdXBwb3J0LlxuICovXG50ZXh0LXNpemUtYWRqdXN0KClcbiAgdmVuZG9yKCd0ZXh0LXNpemUtYWRqdXN0JywgYXJndW1lbnRzLCBvbmx5OiBvZmZpY2lhbCB3ZWJraXQgbXMpXG5cbi8qXG4gKiBWZW5kb3IgXCJmb250LXNtb290aGluZ1wiIHN1cHBvcnQsIHdlYmtpdCBvbmx5LlxuICovXG5mb250LXNtb290aGluZygpXG4gIHZlbmRvcignZm9udC1zbW9vdGhpbmcnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdClcblxuXG4vKipcbiAqIFZlbmRvciBpbnB1dC1wbGFjZWhvbGRlci9wbGFjZWhvbGRlciBzdXBwb3J0LlxuICpcbiAqIEV4YW1wbGVzOlxuICogICAgLy8gRGVmYXVsdCBzeW50YXhcbiAqICAgIGJvZHlcbiAqICAgICAgcGxhY2Vob2xkZXIoY29sb3IgIzMzMywgZm9udC13ZWlnaHQgbm9ybWFsKVxuICpcbiAqICAgIC8vIFRoZSBjb21tYSBpcyBpbXBvcnRhbnRcbiAqICAgIC5wbGFjZWhvbGRlci1yZWRcbiAqICAgICAgcGxhY2Vob2xkZXIoY29sb3IgcmVkLClcbiAqXG4gKiAgICAvLyBXZSBjYW4gcGFzcyBhIGZ1bmN0aW9uXG4gKiAgICBncmVlbi1wbGFjZWhvbGRlcigpXG4gKiAgICAgIGNvbG9yIGdyZWVuXG4gKiAgICAucGxhY2Vob2xkZXItZ3JlZW5cbiAqICAgICAgcGxhY2Vob2xkZXIoZ3JlZW4tcGxhY2Vob2xkZXIpXG4gKlxuICogICAgLy8gV2UgY2FuIHBhc3MgYSBoYXNoXG4gKiAgICB0ZXh0YXJlYVxuICogICAgICBwbGFjZWhvbGRlcigoZm9udC1zdHlsZSBpdGFsaWMpIChmb250LXdlaWdodCBib2xkKSAocGFkZGluZyAnNHB4IDEwcHgnKSlcbiAqL1xucGxhY2Vob2xkZXIoKVxuICBmb3IgdiBpbiAnOi13ZWJraXQtaW5wdXQnICctbW96JyAnOi1tb3onICctbXMtaW5wdXQnXG4gICAgJjp7dn0tcGxhY2Vob2xkZXJcbiAgICAgIGZvciBwYWlyIGluIGFyZ3VtZW50c1xuICAgICAgICBpZiB0eXBlb2YocGFpcikgPT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgIHBhaXIoKVxuICAgICAgICBlbHNlIGlmIHBhaXIgaXMgbm90IG51bGwgJiYgcGFpclswXSBpcyBub3QgbnVsbFxuICAgICAgICAgIHtwYWlyWzBdfTogdHlwZShwYWlyWzFdKSA9PSAnc3RyaW5nJyA/IHMocGFpclsxXSkgOiBwYWlyWzFdXG5pbnB1dC1wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyXG5cbi8qXG4gKiBWZW5kb3IgYmFja2dyb3VuZCBzdXBwb3J0IChncmFkaWVudHMpLlxuICovXG5cbmJhY2tncm91bmQoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignYmFja2dyb3VuZCcsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGJhY2tncm91bmQgYXJndW1lbnRzXG5cbmJhY2tncm91bmQtaW1hZ2UoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignYmFja2dyb3VuZC1pbWFnZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGJhY2tncm91bmQtaW1hZ2UgYXJndW1lbnRzXG5cbmN1cnNvcigpXG4gIGlmIG1hdGNoKCctZ3JhZGllbnRcXCgnLCAnJythcmd1bWVudHMpXG4gICAgdmVuZG9yKCdjdXJzb3InLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBjdXJzb3IgYXJndW1lbnRzXG5cbmxpc3Qtc3R5bGUoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignbGlzdC1zdHlsZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGxpc3Qtc3R5bGUgYXJndW1lbnRzXG5cbmxpc3Qtc3R5bGUtaW1hZ2UoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignbGlzdC1zdHlsZS1pbWFnZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGxpc3Qtc3R5bGUtaW1hZ2UgYXJndW1lbnRzXG4iLCIvKlxuICogVmVuZG9yIFwiZGlzcGxheTogZmxleFwiIHN1cHBvcnQgd2l0aCBmYWxsYmFjayB0byBvYnNvbGV0ZSB2ZXJzaW9ucy5cbiAqL1xuXG5mbGV4LXZlcnNpb24gPz0gYm94IGZsZXhcblxuLy9cbi8vIDEuIERpc3BsYXkgdmFsdWVzXG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jZmxleC1jb250YWluZXJzXG4vL1xuZGlzcGxheSh0eXBlLCBhcmdzLi4uKVxuICBpZiBmbGV4ID09IHR5cGUgfHwgaW5saW5lLWZsZXggPT0gdHlwZVxuICAgIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICAgIGlmIGZsZXggPT0gdHlwZVxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCBhcmdzXG4gICAgICAgIGRpc3BsYXk6IHZlbmRvci12YWx1ZShib3ggYXJncywgb25seTogbW96IHdlYmtpdClcbiAgICAgIGVsc2VcbiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94IGFyZ3NcbiAgICAgICAgZGlzcGxheTogdmVuZG9yLXZhbHVlKGlubGluZS1ib3ggYXJncywgb25seTogbW96IHdlYmtpdClcbiAgICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgICAgZGlzcGxheTogdmVuZG9yLXZhbHVlKGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKSAvLyBvdmVyd3JpdGVzIG9sZCB3ZWJraXRcbiAgZWxzZVxuICAgIGRpc3BsYXk6IGFyZ3VtZW50c1xuXG4vKlxuICogTmV3IHN5bnRheCBmb3IgYnJvd3NlcnMgbGlrZSBHb29nbGUgQ2hyb21lLlxuICogUGx1cyBhIHRyYW5zbGF0aW9uIHRvIHRoZSBvbGQgc3ludGF4LCBpZiBwb3NzaWJsZS5cbiAqL1xuXG5cbi8vXG4vLyA1LiBPcmRlcmluZyBhbmQgT3JpZW50YXRpb25cbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNvcmRlcmluZy1hbmQtb3JpZW50YXRpb25cbi8vXG4tZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oZGlyZWN0aW9uKVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgaWYgcm93LXJldmVyc2UgPT0gZGlyZWN0aW9uIHx8IGNvbHVtbi1yZXZlcnNlID09IGRpcmVjdGlvblxuICAgICAgdmVuZG9yKCdib3gtZGlyZWN0aW9uJywgcmV2ZXJzZSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAgIGlmIHJvdyA9PSBkaXJlY3Rpb24gfHwgcm93LXJldmVyc2UgPT0gZGlyZWN0aW9uXG4gICAgICB2ZW5kb3IoJ2JveC1vcmllbnQnLCBob3Jpem9udGFsLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuICAgIGVsc2UgaWYgY29sdW1uID09IGRpcmVjdGlvbiB8fCBjb2x1bW4tcmV2ZXJzZSA9PSBkaXJlY3Rpb25cbiAgICAgIHZlbmRvcignYm94LW9yaWVudCcsIHZlcnRpY2FsLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4tZmxleC1vYnNvbGV0ZS13cmFwKHZhbHVlKVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgLy8gV0FSTjogd3JhcC1yZXZlcnNlIGRvZXMgbm90IGhhdmUgYSBib3ggZXF1aXZhbGVudC4gVGhpcyB3aWxsIHJlbmRlciBpbiBkaWZmZXJlbnQgbWFubmVyc1xuICAgIC8vICAgIG9uIGJveCB2cy4gZmxleCB2YWx1ZXMuXG4gICAgaWYgJ3dyYXAnID09IHZhbHVlIHx8IHdyYXAtcmV2ZXJzZSA9PSB2YWx1ZVxuICAgICAgdmVuZG9yKCdib3gtbGluZXMnLCBtdWx0aXBsZSwgaWdub3JlOiBtcyBvZmZpY2lhbClcbiAgICBlbHNlIGlmIG5vd3JhcCA9PSB2YWx1ZVxuICAgICAgdmVuZG9yKCdib3gtbGluZXMnLCBzaW5nbGUsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbmZsZXgtZGlyZWN0aW9uKGRpcmVjdGlvbilcbiAgLy8gb2Jzb2xldGVcbiAgLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGRpcmVjdGlvbilcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZGlyZWN0aW9uJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cbmZsZXgtd3JhcCh2YWx1ZSlcbiAgLy8gb2Jzb2xldGVcbiAgLWZsZXgtb2Jzb2xldGUtd3JhcCh2YWx1ZSlcblxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC13cmFwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cbmZsZXgtZmxvdygpXG4gIC8vIG9ic29sZXRlXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihhcmd1bWVudHNbMF0pXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihhcmd1bWVudHNbMV0pXG4gIC1mbGV4LW9ic29sZXRlLXdyYXAoYXJndW1lbnRzWzBdKVxuICAtZmxleC1vYnNvbGV0ZS13cmFwKGFyZ3VtZW50c1sxXSlcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZmxvdycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5cbm9yZGVyKClcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LW9yZGluYWwtZ3JvdXAnLCBhcmd1bWVudHMsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LW9yZGVyJywgYXJndW1lbnRzLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ29yZGVyJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cblxuLy9cbi8vIDcuIEZsZXhpYmlsaXR5XG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jZmxleGliaWxpdHlcbi8vXG5mbGV4LWdyb3coZ3Jvd3RoKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtZmxleCcsIGdyb3d0aClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZ3JvdycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5mbGV4LWJhc2lzKClcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtYmFzaXMnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleC1zaHJpbmsoKVxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1zaHJpbmsnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleChncm93dGgpXG5cbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHNocmluayA9IDFcblxuICAgIGlmIG5vbmUgPT0gZ3Jvd3RoIHx8IGluaXRpYWwgPT0gZ3Jvd3RoXG4gICAgICAvLyBXZWxsIGtub3duIHZhbHVlc1xuICAgICAgc2hyaW5rID0gMCBpZiBub25lID09IGdyb3d0aFxuICAgICAgZ3Jvd3RoID0gMFxuICAgIGVsc2UgaWYgaXMtd2lkdGgoZ3Jvd3RoKSA9PSB0cnVlXG4gICAgICAvLyBCYXNpcyBpcyBkZWZpbmVkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXJcbiAgICAgIGdyb3d0aCA9IGFyZ3VtZW50c1sxXSB8fCAwXG4gICAgICBzaHJpbmsgPSBhcmd1bWVudHNbMl0gaWYgMyA8PSBsZW5ndGgoYXJndW1lbnRzKVxuICAgIGVsc2UgaWYgYXJndW1lbnRzWzFdICYmIGlzLXdpZHRoKGFyZ3VtZW50c1sxXSkgPT0gZmFsc2VcbiAgICAgIC8vIEdyb3d0aCBpcyBmaXJzdCBhbmQgc2hyaW5rIGlzIHNlY29uZFxuICAgICAgc2hyaW5rID0gYXJndW1lbnRzWzFdXG5cbiAgICAvLyBTaW5jZSB3ZSBjYW4ndCBtYWtlIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGdyb3dpbmcgYW5kIHNocmlua2luZyBpbiB0aGUgYm94IG1vZGVsLCB0YWtlXG4gICAgLy8gdGhlIG9uZSB0aGF0IHByb3ZpZGVzIHRoZSBtb3N0IGZsZXhpYmlsaXR5LlxuICAgIHZlbmRvcignYm94LWZsZXgnLCBtYXgoZ3Jvd3RoLCBzaHJpbmspLCBpZ25vcmU6IG1zKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5cbi8vIGNvbnZlcnRzIHRoZSBqdXN0aWZpY2F0aW9uIGFsaWdubWVudFxuLWNvbnZlcnQtanVzdGlmeShhbGlnbilcbiAgaWYgZmxleC1zdGFydCA9PSBhbGlnblxuICAgIHJldHVybiBzdGFydFxuICBlbHNlIGlmIGZsZXgtZW5kID09IGFsaWduXG4gICAgcmV0dXJuIGVuZFxuICBlbHNlIGlmIHNwYWNlLWFyb3VuZCA9PSBhbGlnblxuICAgIHJldHVybiBkaXN0cmlidXRlXG4gIGVsc2UgaWYgc3BhY2UtYmV0d2VlbiA9PSBhbGlnblxuICAgIHJldHVybiBqdXN0aWZ5XG4gIGVsc2VcbiAgICByZXR1cm4gYWxpZ25cblxuLy9cbi8vIDguIEFsaWdubWVudFxuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2FsaWdubWVudFxuLy9cbmp1c3RpZnktY29udGVudChhbGlnbilcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtcGFjaycsIC1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ2p1c3RpZnktY29udGVudCcsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmFsaWduLWNvbnRlbnQoYWxpZ24pXG4gIC8vIFdBUk46IE9ic29sZXRlIHNwZWMgZG9lcyBub3QgYWxsb3cgZm9yIGFkanVzdG1lbnQgaGVyZVxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1saW5lLXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdhbGlnbi1jb250ZW50JywgYWxpZ24sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLy8gY29udmVydHMgYWxpZ25tZW50IGZyb20gJ2ZsZXgnIHRvIG5vcm1hbCB2YWx1ZVxuLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKVxuICBpZiBmbGV4LXN0YXJ0ID09IGFsaWduXG4gICAgcmV0dXJuIHN0YXJ0XG4gIGVsc2UgaWYgZmxleC1lbmQgPT0gYWxpZ25cbiAgICByZXR1cm4gZW5kXG4gIGVsc2VcbiAgICByZXR1cm4gYWxpZ25cblxuYWxpZ24taXRlbXMoYWxpZ24pXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1hbGlnbicsIC1jb252ZXJ0LWFsaWdubWVudChhbGlnbiksIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWFsaWduJywgLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdhbGlnbi1pdGVtcycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5hbGlnbi1zZWxmKGFsaWduKVxuICAvLyBXQVJOOiBPYnNvbGV0ZSBzcGVjIGRvZXMgbm90IGFsbG93IGZvciBvdmVycmlkaW5nIGFsaWdubWVudCBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYWxpZ24tc2VsZicsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG4gICAgdmVuZG9yKCdmbGV4LWl0ZW0tYWxpZ24nLCAtY29udmVydC1hbGlnbm1lbnQoYWxpZ24pLCBvbmx5OiBtcylcbiIsIkBrZXlmcmFtZXMgbG9hZCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlKDApXG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtIHRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZSgzNjBkZWcpXG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0zNjAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtIHJvdGF0ZSgwKVxuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybSByb3RhdGUoMzYwZGVnKVxuICB9XG59XG4iLCIqIHtcbiAgIG1pbi13aWR0aCAwXG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgIG1pbi13aWR0aCAzMjBweFxuICAgaGVpZ2h0IDEwMCVcbn1cbmh0bWwge1xuICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKHdoaXRlLCAwKVxufVxuYm9keSB7XG4gICBjdXJzb3IgZGVmYXVsdFxuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlXG4gICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZFxuICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlXG4gICBvdmVyZmxvdy15IHNjcm9sbFxuICAgY29sb3IgJGNvbG9yLW1haW5cbiAgIGZvbnQtZmFtaWx5ICRmb250LW1haW5cbiAgIGZvbnQtc2l6ZSAkc2l6ZS1tYWluXG4gICBsaW5lLWhlaWdodCAkbGluZS1tYWluXG59XG5cbi5ib2R5IHtcbiAgIGRpc3BsYXkgZmxleFxuICAgZmxleC1kaXJlY3Rpb24gY29sdW1uXG5cbiAgICYuaXMtbG9ja2VkIHtcbiAgICAgIHBvc2l0aW9uIGZpeGVkXG4gICAgICBsZWZ0IDBcbiAgICAgIHJpZ2h0IDBcbiAgICAgIG92ZXJmbG93IGhpZGRlblxuICAgfVxuICAgJl9fd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdyBoaWRkZW5cbiAgICAgIGZsZXggMSAwIGF1dG9cbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgZmxleC1kaXJlY3Rpb24gY29sdW1uXG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgJi5pcy1sb2NrZWQge1xuICAgICAgICAgcG9zaXRpb24gZml4ZWRcbiAgICAgICAgIHRvcCAwXG4gICAgICAgICBib3R0b20gMFxuICAgICAgICAgd2lkdGggMTAwJVxuICAgICAgfVxuXG4gICAgICAmLmlzLWhpZGUge1xuICAgICAgICAgdHJhbnNpdGlvbiBvcGFjaXR5ICR0cmFuc2l0aW9uLW1haW4gLjNzXG4gICAgICAgICBvcGFjaXR5IDBcbiAgICAgIH1cbiAgIH1cbiAgICZfX292ZXJsYXkge1xuICAgICAgdHJhbnNpdGlvbiBvcGFjaXR5ICR0cmFuc2l0aW9uLW1haW5cbiAgICAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgICAgIG9wYWNpdHkgMFxuICAgICAgei1pbmRleCAxMTk5XG4gICAgICBwb3NpdGlvbiBmaXhlZFxuICAgICAgdG9wIDBcbiAgICAgIGxlZnQgMFxuICAgICAgcmlnaHQgMFxuICAgICAgYm90dG9tIDBcbiAgICAgIGJhY2tncm91bmQtY29sb3IgcmdiYSgjMDAwLCAuNSlcbiAgICAgICYuaXMtb3BlbmVkIHtcbiAgICAgICAgIHotaW5kZXggMTIwMVxuICAgICAgICAgcG9pbnRlci1ldmVudHMgYXV0b1xuICAgICAgICAgb3BhY2l0eSAxXG4gICAgICB9XG4gICB9XG4gICAmX19oZWFkZXIsXG4gICAmX19mb290ZXIsXG4gICAmX19jb250ZW50IHtcbiAgICAgIGZsZXggMCAwIGF1dG9cbiAgIH1cbiAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3AgMTE1cHhcbiAgICAgIGZsZXgtZ3JvdyAxXG4gICB9XG4gICAmX19mb290ZXIge1xuICAgICAgbWFyZ2luLXRvcCBhdXRvXG4gICB9XG4gICAmX19hY3Rpb24ge1xuICAgICAgei1pbmRleCAxMDAwXG4gICAgICBvcGFjaXR5IDBcbiAgICAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgICAgIHBvc2l0aW9uIGZpeGVkXG4gICAgICBib3R0b20gMjBweFxuICAgICAgcmlnaHQgMTQ1cHhcbiAgICAgIHRyYW5zaXRpb24gJHRyYW5zaXRpb24tbWFpblxuICAgfVxuICAgJl9fYWN0aW9uLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eSAxXG4gICAgICBwb2ludGVyLWV2ZW50cyBhdXRvXG4gICB9XG59XG4rZG8oMTIwMCkge1xuICAgLmJvZHkge1xuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICBwYWRkaW5nLXRvcCA5NXB4XG4gICAgICB9XG4gICB9XG59XG4iLCJjYWxsZWQtZnJvbSA9ICgpXG5cbnZlbmRvcnMgPSBtb3ogd2Via2l0IG8gbXMgb2ZmaWNpYWxcblxuLy8gc3RyaW5naWZ5IHRoZSBnaXZlbiBhcmdcblxuLXN0cmluZyhhcmcpXG4gIHR5cGUoYXJnKSArICcgJyArIGFyZ1xuXG4vLyByZXF1aXJlIGEgY29sb3JcblxucmVxdWlyZS1jb2xvcihjb2xvcilcbiAgdW5sZXNzIGNvbG9yIGlzIGEgJ2NvbG9yJ1xuICAgIGVycm9yKCdSR0Igb3IgSFNMIHZhbHVlIGV4cGVjdGVkLCBnb3QgYSAnICsgLXN0cmluZyhjb2xvcikpXG5cbi8vIHJlcXVpcmUgYSB1bml0XG5cbnJlcXVpcmUtdW5pdChuKVxuICB1bmxlc3MgbiBpcyBhICd1bml0J1xuICAgIGVycm9yKCd1bml0IGV4cGVjdGVkLCBnb3QgYSAnICsgLXN0cmluZyhuKSlcblxuLy8gcmVxdWlyZSBhIHN0cmluZ1xuXG5yZXF1aXJlLXN0cmluZyhzdHIpXG4gIHVubGVzcyBzdHIgaXMgYSAnc3RyaW5nJyBvciBzdHIgaXMgYSAnaWRlbnQnXG4gICAgZXJyb3IoJ3N0cmluZyBleHBlY3RlZCwgZ290IGEgJyArIC1zdHJpbmcoc3RyKSlcblxuLy8gTWF0aCBmdW5jdGlvbnNcblxuYWJzKG4pIHsgbWF0aChuLCAnYWJzJykgfVxubWluKGEsIGIpIHsgYSA8IGIgPyBhIDogYiB9XG5tYXgoYSwgYikgeyBhID4gYiA/IGEgOiBiIH1cblxuLy8gVHJpZ29ub21ldHJpY3NcblBJID0gLW1hdGgtcHJvcCgnUEknKVxuXG5yYWRpYW5zLXRvLWRlZ3JlZXMoYW5nbGUpXG4gIGFuZ2xlICogKDE4MCAvIFBJKVxuXG5kZWdyZWVzLXRvLXJhZGlhbnMoYW5nbGUpXG4gIHVuaXQoYW5nbGUgKiAoUEkgLyAxODApLCcnKVxuXG5zaW4obilcbiAgbiA9IGRlZ3JlZXMtdG8tcmFkaWFucyhuKSBpZiB1bml0KG4pID09ICdkZWcnXG4gIHJvdW5kKG1hdGgobiwgJ3NpbicpLCA5KVxuXG5jb3MobilcbiAgbiA9IGRlZ3JlZXMtdG8tcmFkaWFucyhuKSBpZiB1bml0KG4pID09ICdkZWcnXG4gIHJvdW5kKG1hdGgobiwgJ2NvcycpLCA5KVxuXG4vLyBSb3VuZGluZyBNYXRoIGZ1bmN0aW9uc1xuXG5jZWlsKG4sIHByZWNpc2lvbiA9IDApXG4gIG11bHRpcGxpZXIgPSAxMCAqKiBwcmVjaXNpb25cbiAgbWF0aChuICogbXVsdGlwbGllciwgJ2NlaWwnKSAvIG11bHRpcGxpZXJcblxuZmxvb3IobiwgcHJlY2lzaW9uID0gMClcbiAgbXVsdGlwbGllciA9IDEwICoqIHByZWNpc2lvblxuICBtYXRoKG4gKiBtdWx0aXBsaWVyLCAnZmxvb3InKSAvIG11bHRpcGxpZXJcblxucm91bmQobiwgcHJlY2lzaW9uID0gMClcbiAgbXVsdGlwbGllciA9IDEwICoqIHByZWNpc2lvblxuICBtYXRoKG4gKiBtdWx0aXBsaWVyLCAncm91bmQnKSAvIG11bHRpcGxpZXJcblxuLy8gcmV0dXJuIHRoZSBzdW0gb2YgdGhlIGdpdmVuIG51bWJlcnNcblxuc3VtKG51bXMpXG4gIHN1bSA9IDBcbiAgc3VtICs9IG4gZm9yIG4gaW4gbnVtc1xuXG4vLyByZXR1cm4gdGhlIGF2ZXJhZ2Ugb2YgdGhlIGdpdmVuIG51bWJlcnNcblxuYXZnKG51bXMpXG4gIHN1bShudW1zKSAvIGxlbmd0aChudW1zKVxuXG4vLyByZXR1cm4gYSB1bml0bGVzcyBudW1iZXIsIG9yIHBhc3MgdGhyb3VnaFxuXG5yZW1vdmUtdW5pdChuKVxuICBpZiB0eXBlb2YobikgaXMgXCJ1bml0XCJcbiAgICB1bml0KG4sIFwiXCIpXG4gIGVsc2VcbiAgICBuXG5cbi8vIGNvbnZlcnQgYSBwZXJjZW50IHRvIGEgZGVjaW1hbCwgb3IgcGFzcyB0aHJvdWdoXG5cbnBlcmNlbnQtdG8tZGVjaW1hbChuKVxuICBpZiB1bml0KG4pIGlzIFwiJVwiXG4gICAgcmVtb3ZlLXVuaXQobikgLyAxMDBcbiAgZWxzZVxuICAgIG5cblxuLy8gY2hlY2sgaWYgbiBpcyBhbiBvZGQgbnVtYmVyXG5cbm9kZChuKVxuICAxID09IG4gJSAyXG5cbi8vIGNoZWNrIGlmIG4gaXMgYW4gZXZlbiBudW1iZXJcblxuZXZlbihuKVxuICAwID09IG4gJSAyXG5cbi8vIGNoZWNrIGlmIGNvbG9yIGlzIGxpZ2h0XG5cbmxpZ2h0KGNvbG9yKVxuICBsaWdodG5lc3MoY29sb3IpID49IDUwJVxuXG4vLyBjaGVjayBpZiBjb2xvciBpcyBkYXJrXG5cbmRhcmsoY29sb3IpXG4gIGxpZ2h0bmVzcyhjb2xvcikgPCA1MCVcblxuLy8gZGVzYXR1cmF0ZSBjb2xvciBieSBhbW91bnRcblxuZGVzYXR1cmF0ZShjb2xvciwgYW1vdW50KVxuICBhZGp1c3QoY29sb3IsICdzYXR1cmF0aW9uJywgLSBhbW91bnQpXG5cbi8vIHNhdHVyYXRlIGNvbG9yIGJ5IGFtb3VudFxuXG5zYXR1cmF0ZShjb2xvciA9ICcnLCBhbW91bnQgPSAxMDAlKVxuICBpZiBjb2xvciBpcyBhICdjb2xvcidcbiAgICBhZGp1c3QoY29sb3IsICdzYXR1cmF0aW9uJywgYW1vdW50KVxuICBlbHNlXG4gICAgdW5xdW90ZSggXCJzYXR1cmF0ZShcIiArIGNvbG9yICsgXCIpXCIgKVxuXG4vLyBkYXJrZW4gYnkgdGhlIGdpdmVuIGFtb3VudFxuXG5kYXJrZW4oY29sb3IsIGFtb3VudClcbiAgYWRqdXN0KGNvbG9yLCAnbGlnaHRuZXNzJywgLSBhbW91bnQpXG5cbi8vIGxpZ2h0ZW4gYnkgdGhlIGdpdmVuIGFtb3VudFxuXG5saWdodGVuKGNvbG9yLCBhbW91bnQpXG4gIGFkanVzdChjb2xvciwgJ2xpZ2h0bmVzcycsIGFtb3VudClcblxuLy8gZGVjcmVhc2Ugb3BhY2l0eSBieSBhbW91bnRcblxuZmFkZS1vdXQoY29sb3IsIGFtb3VudClcbiAgY29sb3IgLSByZ2JhKGJsYWNrLCBwZXJjZW50LXRvLWRlY2ltYWwoYW1vdW50KSlcblxuLy8gaW5jcmVhc2Ugb3BhY2l0eSBieSBhbW91bnRcblxuZmFkZS1pbihjb2xvciwgYW1vdW50KVxuICBjb2xvciArIHJnYmEoYmxhY2ssIHBlcmNlbnQtdG8tZGVjaW1hbChhbW91bnQpKVxuXG4vLyBzcGluIGh1ZSBieSBhIGdpdmVuIGFtb3VudFxuXG5zcGluKGNvbG9yLCBhbW91bnQpXG4gIGNvbG9yICsgdW5pdChhbW91bnQsIGRlZylcblxuLy8gbWl4IHR3byBjb2xvcnMgYnkgYSBnaXZlbiBhbW91bnRcblxubWl4KGNvbG9yMSwgY29sb3IyLCB3ZWlnaHQgPSA1MCUpXG4gIHVubGVzcyB3ZWlnaHQgaW4gMC4uMTAwXG4gICAgZXJyb3IoXCJXZWlnaHQgbXVzdCBiZSBiZXR3ZWVuIDAlIGFuZCAxMDAlXCIpXG5cbiAgaWYgbGVuZ3RoKGNvbG9yMSkgPT0gMlxuICAgIHdlaWdodCA9IGNvbG9yMVswXVxuICAgIGNvbG9yMSA9IGNvbG9yMVsxXVxuXG4gIGVsc2UgaWYgbGVuZ3RoKGNvbG9yMikgPT0gMlxuICAgIHdlaWdodCA9IDEwMCAtIGNvbG9yMlswXVxuICAgIGNvbG9yMiA9IGNvbG9yMlsxXVxuXG4gIHJlcXVpcmUtY29sb3IoY29sb3IxKVxuICByZXF1aXJlLWNvbG9yKGNvbG9yMilcblxuICBwID0gdW5pdCh3ZWlnaHQgLyAxMDAsICcnKVxuICB3ID0gcCAqIDIgLSAxXG5cbiAgYSA9IGFscGhhKGNvbG9yMSkgLSBhbHBoYShjb2xvcjIpXG5cbiAgdzEgPSAoKCh3ICogYSA9PSAtMSkgPyB3IDogKHcgKyBhKSAvICgxICsgdyAqIGEpKSArIDEpIC8gMlxuICB3MiA9IDEgLSB3MVxuXG4gIGNoYW5uZWxzID0gKHJlZChjb2xvcjEpIHJlZChjb2xvcjIpKSAoZ3JlZW4oY29sb3IxKSBncmVlbihjb2xvcjIpKSAoYmx1ZShjb2xvcjEpIGJsdWUoY29sb3IyKSlcbiAgcmdiID0gKClcblxuICBmb3IgcGFpciBpbiBjaGFubmVsc1xuICAgIHB1c2gocmdiLCBmbG9vcihwYWlyWzBdICogdzEgKyBwYWlyWzFdICogdzIpKVxuXG4gIGExID0gYWxwaGEoY29sb3IxKSAqIHBcbiAgYTIgPSBhbHBoYShjb2xvcjIpICogKDEgLSBwKVxuICBhbHBoYSA9IGExICsgYTJcblxuICByZ2JhKHJnYlswXSwgcmdiWzFdLCByZ2JbMl0sIGFscGhhKVxuXG4vLyBpbnZlcnQgY29sb3JzLCBsZWF2ZSBhbHBoYSBpbnRhY3RcblxuaW52ZXJ0KGNvbG9yID0gJycpXG4gIGlmIGNvbG9yIGlzIGEgJ2NvbG9yJ1xuICAgIHJnYmEoI2ZmZiAtIGNvbG9yLCBhbHBoYShjb2xvcikpXG4gIGVsc2VcbiAgICB1bnF1b3RlKCBcImludmVydChcIiArIGNvbG9yICsgXCIpXCIgKVxuXG4vLyBnaXZlIGNvbXBsZW1lbnQgb2YgdGhlIGdpdmVuIGNvbG9yXG5cbmNvbXBsZW1lbnQoIGNvbG9yIClcbiAgc3BpbiggY29sb3IsIDE4MCApXG5cbi8vIGdpdmUgZ3JheXNjYWxlIG9mIHRoZSBnaXZlbiBjb2xvclxuXG5ncmF5c2NhbGUoIGNvbG9yID0gJycgKVxuICBpZiBjb2xvciBpcyBhICdjb2xvcidcbiAgICBkZXNhdHVyYXRlKCBjb2xvciwgMTAwJSApXG4gIGVsc2VcbiAgICB1bnF1b3RlKCBcImdyYXlzY2FsZShcIiArIGNvbG9yICsgXCIpXCIgKVxuXG4vLyBtaXggdGhlIGdpdmVuIGNvbG9yIHdpdGggd2hpdGVcblxudGludCggY29sb3IsIHBlcmNlbnQgKVxuICBtaXgoIHdoaXRlLCBjb2xvciwgcGVyY2VudCApXG5cbi8vIG1peCB0aGUgZ2l2ZW4gY29sb3Igd2l0aCBibGFja1xuXG5zaGFkZSggY29sb3IsIHBlcmNlbnQgKVxuICBtaXgoIGJsYWNrLCBjb2xvciwgcGVyY2VudCApXG5cbi8vIHJldHVybiB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgZ2l2ZW4gZXhwclxuXG5sYXN0KGV4cHIpXG4gIGV4cHJbbGVuZ3RoKGV4cHIpIC0gMV1cblxuLy8gcmV0dXJuIGtleXMgaW4gdGhlIGdpdmVuIHBhaXJzIG9yIG9iamVjdFxuXG5rZXlzKHBhaXJzKVxuICByZXQgPSAoKVxuICBpZiB0eXBlKHBhaXJzKSA9PSAnb2JqZWN0J1xuICAgIGZvciBrZXkgaW4gcGFpcnNcbiAgICAgIHB1c2gocmV0LCBrZXkpXG4gIGVsc2VcbiAgICBmb3IgcGFpciBpbiBwYWlyc1xuICAgICAgcHVzaChyZXQsIHBhaXJbMF0pO1xuICByZXRcblxuLy8gcmV0dXJuIHZhbHVlcyBpbiB0aGUgZ2l2ZW4gcGFpcnMgb3Igb2JqZWN0XG5cbnZhbHVlcyhwYWlycylcbiAgcmV0ID0gKClcbiAgaWYgdHlwZShwYWlycykgPT0gJ29iamVjdCdcbiAgICBmb3Iga2V5LCB2YWwgaW4gcGFpcnNcbiAgICAgIHB1c2gocmV0LCB2YWwpXG4gIGVsc2VcbiAgICBmb3IgcGFpciBpbiBwYWlyc1xuICAgICAgcHVzaChyZXQsIHBhaXJbMV0pO1xuICByZXRcblxuLy8gam9pbiB2YWx1ZXMgd2l0aCB0aGUgZ2l2ZW4gZGVsaW1pdGVyXG5cbmpvaW4oZGVsaW0sIHZhbHMuLi4pXG4gIGJ1ZiA9ICcnXG4gIHZhbHMgPSB2YWxzWzBdIGlmIGxlbmd0aCh2YWxzKSA9PSAxXG4gIGZvciB2YWwsIGkgaW4gdmFsc1xuICAgIGJ1ZiArPSBpID8gZGVsaW0gKyB2YWwgOiB2YWxcblxuLy8gYWRkIGEgQ1NTIHJ1bGUgdG8gdGhlIGNvbnRhaW5pbmcgYmxvY2tcblxuLy8gLSBUaGlzIGRlZmluaXRpb24gYWxsb3dzIGFkZC1wcm9wZXJ0eSB0byBiZSB1c2VkIGFzIGEgbWl4aW5cbi8vIC0gSXQgaGFzIHRoZSBzYW1lIGVmZmVjdCBhcyBpbnRlcnBvbGF0aW9uIGJ1dCBhbGxvd3MgdXNlcnNcbi8vICAgdG8gb3B0IGZvciBhIGZ1bmN0aW9uYWwgc3R5bGVcblxuYWRkLXByb3BlcnR5LWZ1bmN0aW9uID0gYWRkLXByb3BlcnR5XG5hZGQtcHJvcGVydHkobmFtZSwgZXhwcilcbiAgaWYgbWl4aW5cbiAgICB7bmFtZX0gZXhwclxuICBlbHNlXG4gICAgYWRkLXByb3BlcnR5LWZ1bmN0aW9uKG5hbWUsIGV4cHIpXG5cbnByZWZpeC1jbGFzc2VzKHByZWZpeClcbiAgLXByZWZpeC1jbGFzc2VzKHByZWZpeCwgYmxvY2spXG5cbi8vIENhY2hpbmcgbWl4aW4sIHVzZSBpbnNpZGUgeW91ciBmdW5jdGlvbnMgdG8gZW5hYmxlIGNhY2hpbmcgYnkgZXh0ZW5kaW5nLlxuXG4kc3R5bHVzX21peGluX2NhY2hlID0ge31cbmNhY2hlKClcbiAgJGtleSA9IChjdXJyZW50LW1lZGlhKCkgb3IgJ25vLW1lZGlhJykgKyAnX18nICsgY2FsbGVkLWZyb21bMF0gKyAnX18nICsgYXJndW1lbnRzXG4gIGlmICRrZXkgaW4gJHN0eWx1c19taXhpbl9jYWNoZVxuICAgIEBleHRlbmQge1wiJGNhY2hlX3BsYWNlaG9sZGVyX2Zvcl9cIiArICRzdHlsdXNfbWl4aW5fY2FjaGVbJGtleV19XG4gIGVsc2UgaWYgJ2NhY2hlJyBpbiBjYWxsZWQtZnJvbVxuICAgIHtibG9ja31cbiAgZWxzZVxuICAgICRpZCA9IGxlbmd0aCgkc3R5bHVzX21peGluX2NhY2hlKVxuXG4gICAgJixcbiAgICAvJGNhY2hlX3BsYWNlaG9sZGVyX2Zvcl97JGlkfVxuICAgICAgJHN0eWx1c19taXhpbl9jYWNoZVska2V5XSA9ICRpZFxuICAgICAge2Jsb2NrfVxuXG4vLyBQZXJjZW50YWdlIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBudW1iZXIsIGUuZy4gXCIuNDVcIiwgaW50byBhIHBlcmNlbnRhZ2UsIGUuZy4gXCI0NSVcIlxuXG5wZXJjZW50YWdlKG51bSlcbiAgcmV0dXJuIHVuaXQobnVtICogMTAwLCAnJScpXG5cbi8vIFJldHVybnMgdGhlIHBvc2l0aW9uIG9mIGEgYHZhbHVlYCB3aXRoaW4gYSBgbGlzdGBcblxuaW5kZXgobGlzdCwgdmFsdWUpXG4gIGZvciB2YWwsIGkgaW4gbGlzdFxuICAgIHJldHVybiBpIGlmIHZhbCA9PSB2YWx1ZVxuIiwiLypcbiAqIE92ZXJmbG93IHV0aWxpdHkuIE1hcHMgdG8gcmVndWxhciBvdmVyZmxvdywgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdmFsdWUuXG4gKlxuICogU3lub3BzaXM6XG4gKlxuICogICBvdmVyZmxvdzogPHR5cGU+XG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogICAgIG92ZXJmbG93OiBhdXRvXG4gKiAgICAgb3ZlcmZsb3c6IGhpZGRlblxuICogICAgIG92ZXJmbG93OiBlbGxpcHNpc1xuICpcbiAqL1xuXG5vdmVyZmxvdygpXG4gIGlmIGFyZ3VtZW50c1swXSA9PSBlbGxpcHNpc1xuICAgIGVsbGlwc2lzKClcbiAgZWxzZVxuICAgIG92ZXJmbG93OiBhcmd1bWVudHNcbiIsImRvKCkge1xuICAgJHR5cGUgPSBhcmd1bWVudHNbMF1cbiAgIF90eXBlID0gJHR5cGVcbiAgICRzaXplID0gYXJndW1lbnRzWzFdXG4gICBfc2l6ZSA9ICRzaXplXG5cbiAgIGlmICggc2VsZWN0b3IoKSAhPSAnJicgKSB7XG4gICAgICB3YXJuKCdkbygpIOKAlCAnKyBzZWxlY3RvcigpICsnXFxuINCQ0LTQsNC/0YLQuNCyINC00L7Qu9C20LXQvSDQsdGL0YLRjCDQvdCwINGA0L7QtNC40YLQtdC70YzRgdC60L7QvCDRg9GA0L7QstC90LUnKVxuICAgfVxuXG4gICBpZiAoIHR5cGVvZihfdHlwZSkgPT0gJ3VuaXQnICYmIHR5cGVvZihfc2l6ZSkgIT0gJ3VuaXQnICkge1xuICAgICAgJHNpemUgPSBfdHlwZVxuICAgICAgJHR5cGUgPSBfc2l6ZVxuICAgfVxuXG4gICBpZiAoICR0eXBlID09ICdtaW4nIHx8ICR0eXBlID09ICdtaXcnICkge1xuICAgICAgJHR5cGUgPSAnbWluLXdpZHRoJ1xuICAgICAgJHNpemUgPSAoJHNpemUgKyAxKVxuICAgfSBlbHNlIGlmICggJHR5cGUgPT0gJ21paCcgKSB7XG4gICAgICAkdHlwZSA9ICdtaW4taGVpZ2h0J1xuICAgICAgJHNpemUgPSAoJHNpemUgKyAxKVxuICAgfSBlbHNlIGlmICggJHR5cGUgPT0gJ21haCcpIHtcbiAgICAgICR0eXBlID0gJ21heC1oZWlnaHQnXG4gICB9IGVsc2UgaWYgKCAkdHlwZSA9PSAnbWF4JyB8fCAkdHlwZSA9PSAnbWF3JyB8fCAhJHR5cGUgKSB7XG4gICAgICAkdHlwZSA9ICdtYXgtd2lkdGgnXG4gICB9XG5cbiAgIGlmICggdHlwZW9mKF90eXBlKSA9PSAndW5pdCcgJiYgdHlwZW9mKF9zaXplKSA9PSAndW5pdCcgKSB7XG4gICAgICAkbWluID0gKG1pbihfdHlwZSwgX3NpemUpICsgMSlcbiAgICAgICRtYXggPSBtYXgoX3R5cGUsIF9zaXplKVxuICAgICAgLy8gaWYgKCAkbWluID4gNzAwICYmICRtYXggPD0gMTAwMCApIHtcbiAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiB1bml0KCRtaW4sICdweCcpKSBhbmQgKG1heC13aWR0aDogdW5pdCgkbWF4LCAncHgnKSkge1xuICAgICAgICAgICAge2Jsb2NrfVxuICAgICAgICAgfVxuICAgICAgLy8gfSBlbHNlIHtcbiAgICAgIC8vICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogdW5pdCgkbWluLCAncHgnKSkgYW5kIChtYXgtd2lkdGg6IHVuaXQoJG1heCwgJ3B4JykpIHtcbiAgICAgIC8vICAgICAgIHtibG9ja31cbiAgICAgIC8vICAgIH1cbiAgICAgIC8vIH1cbiAgIH0gZWxzZSBpZiAoICR0eXBlID09ICdwb3J0cmFpdCcgfHwgJHR5cGUgPT0gJ2xhbmRzY2FwZScgKSB7XG4gICAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiB1bnF1b3RlKCR0eXBlKSkge1xuICAgICAgICAge2Jsb2NrfVxuICAgICAgfVxuICAgfSBlbHNlIHtcbiAgICAgIC8vIGlmICggKCR0eXBlID09ICdtYXgtd2lkdGgnICYmICRzaXplID4gMTAwMCkgfHwgKCR0eXBlID09ICdtaW4td2lkdGgnICYmICRzaXplIDw9IDEwMDApICkge1xuICAgICAgICAgQG1lZGlhICh7JHR5cGV9OiB1bml0KCRzaXplLCAncHgnKSkge1xuICAgICAgICAgICAge2Jsb2NrfVxuICAgICAgICAgfVxuICAgICAgLy8gfSBlbHNlIHtcbiAgICAgIC8vICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKHskdHlwZX06IHVuaXQoJHNpemUsICdweCcpKSB7XG4gICAgICAvLyAgICAgICB7YmxvY2t9XG4gICAgICAvLyAgICB9XG4gICAgICAvLyB9XG4gICB9XG59XG4iLCIkcGFyYWdyYXBoLFxudGFibGUsXG5ibG9ja3F1b3RlLFxub2wsXG51bCxcbnAge1xuICBtYXJnaW4tYm90dG9tICRtYXJnaW4tcGFyYWdyYXBoXG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tIDBcbiAgfVxufVxuXG5pbWcge1xuICBtYXgtd2lkdGggMTAwJVxufVxuXG5pLCBlbSB7XG4gIGZvbnQtc3R5bGUgaXRhbGljXG59XG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0IDcwMFxufVxuXG4ubGluayxcbmEge1xuICB0cmFuc2l0aW9uICR0cmFuc2l0aW9uLWZhc3RcbiAgdGV4dC1kZWNvcmF0aW9uIG5vbmUgIWltcG9ydGFudFxuICBjb2xvciAkY29sb3ItbGlua1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yICRjb2xvci1ob3ZlclxuICB9XG59XG5cblxuYVtocmVmXj0ndGVsOiddOm5vdChbY2xhc3NdKSB7XG4gIGJvcmRlci1ib3R0b20td2lkdGggMFxuICBjb2xvciBpbmhlcml0XG4gIHdoaXRlLXNwYWNlIG5vd3JhcFxuICB0ZXh0LWRlY29yYXRpb24gbm9uZVxufVxuXG5cbm9sIHtcbiAgY291bnRlci1yZXNldCBudW1zXG4gIGxpc3Qtc3R5bGUgbm9uZVxuXG4gIGxpIHtcbiAgICBjb3VudGVyLWluY3JlbWVudCBudW1zXG4gICAgbGlzdC1zdHlsZS10eXBlIG5vbmVcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgIG1hcmdpbi1ib3R0b20gMTRweFxuICAgIHBhZGRpbmctbGVmdCAyMnB4XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudCBjb3VudGVyKG51bXMpICcuJ1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgIGxlZnQgMFxuICAgICAgLy9jb2xvciAkY29sb3ItcmVkXG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b20gMFxuICAgIH1cbiAgfVxufVxuXG5cbnVsIHtcbiAgbGk6bm90KC55YS1zaGFyZTJfX2l0ZW0pIHtcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgIG1hcmdpbi1ib3R0b20gMTRweFxuICAgIHBhZGRpbmctbGVmdCAzMHB4XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudCAnJ1xuICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgIGxlZnQgMFxuICAgICAgdG9wIDlweFxuICAgICAgc2l6ZSAxMHB4XG4gICAgICBib3JkZXItcmFkaXVzIDNweFxuICAgICAgYmFja2dyb3VuZC1jb2xvciAkY29sb3ItcHJpbWFyeVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tIDBcbiAgICB9XG4gIH1cbn1cblxudWxbdHlwZT1cImNoZWNrXCJdIHtcbiAgbGkge1xuICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgbWFyZ2luLWJvdHRvbSAxNHB4XG4gICAgcGFkZGluZy1sZWZ0IDIycHhcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAvL3N2ZygndGljaycsIDEzcHgsICRjb2xvci1yZWQpXG4gICAgICBjb250ZW50ICcnXG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgbGVmdCAwXG4gICAgICB0b3AgNTAlXG4gICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWSgtNTAlKVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tIDBcbiAgICB9XG4gIH1cbn1cblxuLm93bC1kb3Qge1xuICBzaXplIDhweFxuICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgcGFkZGluZyAwXG4gIG91dGxpbmUgbm9uZVxuICBib3JkZXItcmFkaXVzIDUwJVxuICBib3JkZXIgbm9uZVxuICBiYWNrZ3JvdW5kLWNvbG9yICRjbG91ZHktYmx1ZS10d28gIWltcG9ydGFudFxuICBwb2ludGVyLWV2ZW50cyBjdXJzb3JcbiAgZGlzcGxheSBibG9ja1xuICBtYXJnaW4tcmlnaHQgNXB4XG4gIG1hcmdpbi1sZWZ0IDVweFxuXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yICRiYXR0bGVzaGlwLWdyZXkgIWltcG9ydGFudFxuICAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHkgMC44XG4gIH1cbn1cblxuLmN1cnJlbnQge1xuICBjb2xvciAkY29sb3ItcHJpbWFyeVxufVxuXG4ubGluay1wcmltYXJ5IHtcbiAgY29sb3IgJGNvbG9yLXByaW1hcnlcbn1cblxuLmxlZnQtYXJyb3cge1xuICBkaXNwbGF5IGlubGluZS1mbGV4XG4gIHBhZGRpbmctbGVmdCAxNnB4XG4gIHBvc2l0aW9uIHJlbGF0aXZlXG4gIHRyYW5zaXRpb24gbm9uZVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50ICcnXG4gICAgZGlzcGxheSBibG9ja1xuICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgbGVmdCAwXG4gICAgdG9wOiA1MCVcbiAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWSgtNTAlKVxuICAgIHN2ZygnYXJyb3ctc21hbGwtcmlnaHQnLCA4cHgsICRjb2xvci1wcmltYXJ5KVxuICB9XG59XG5cbi5saW5rLWFycm93IHtcbiAgZGlzcGxheSBpbmxpbmUtZmxleFxuICBwYWRkaW5nLXJpZ2h0IDMwcHhcbiAgcG9zaXRpb24gcmVsYXRpdmVcbiAgdHJhbnNpdGlvbiBub25lXG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQgJydcbiAgICBkaXNwbGF5IGJsb2NrXG4gICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICByaWdodCAwXG4gICAgdG9wIDUwJVxuICAgIHRyYW5zZm9ybSB0cmFuc2xhdGVZKC01MCUpXG4gICAgLy9zdmcoJ2Fycm93LXJpZ2h0LWJvbGQnLCAyMHB4LCAkY29sb3ItbWFpbilcbiAgfVxufVxuXG4ubGluay1hcnJvdzpob3ZlciB7XG4gICY6YmVmb3JlIHtcbiAgICAvL3N2ZygnYXJyb3ctcmlnaHQtYm9sZCcsIDIwcHgsICRjb2xvci1wcmltYXJ5KVxuICB9XG59XG5cbi5uYXYtc2xpZGVyIHtcbiAgLm93bC1wcmV2LCAub3dsLW5leHQge1xuICAgIHBvaW50ZXItZXZlbnRzIGF1dG9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yIHJnYmEod2hpdGUsIDApXG4gICAgZGlzcGxheSBibG9ja1xuICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgc2l6ZSA1MHB4XG4gICAgYm9yZGVyLXJhZGl1cyAzcHhcbiAgICBvdXRsaW5lIG5vbmVcbiAgICBib3JkZXIgMnB4IHNvbGlkICRjb2xvci1wcmltYXJ5XG4gICAgdHJhbnNpdGlvbiAuMTVzIGVhc2UgYmFja2dyb3VuZC1jb2xvclxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudCAnJ1xuICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgIHRvcCA1MCVcbiAgICAgIGxlZnQgNTAlXG4gICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZVgoMClcbiAgICAgIHRyYW5zaXRpb24gLjFzIGVhc2UgdHJhbnNmb3JtXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yICRjb2xvci1wcmltYXJ5XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvciAkY29sb3ItcHJpbWFyeS1kYXJrXG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5IDAuOFxuICAgICAgcG9pbnRlci1ldmVudHMgbm9uZVxuICAgIH1cbiAgfVxuXG4gIC5vd2wtbmV4dCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgc3ZnKCdhcnJvdy1kaXJlY3Rpb24tcmlnaHQnLCAxNnB4LCAkY29sb3ItcHJpbWFyeSlcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgc3ZnLWNvbG9yKCdhcnJvdy1kaXJlY3Rpb24tcmlnaHQnLCB3aGl0ZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHN2Zy1jb2xvcignYXJyb3ctZGlyZWN0aW9uLXJpZ2h0Jywgd2hpdGUpXG4gICAgICAgIHRyYW5zZm9ybSB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlWCg1cHgpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm93bC1wcmV2IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBzdmcoJ2Fycm93LWRpcmVjdGlvbi1sZWZ0JywgMTZweCwgJGNvbG9yLXByaW1hcnkpXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHN2Zy1jb2xvcignYXJyb3ctZGlyZWN0aW9uLWxlZnQnLCB3aGl0ZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHN2Zy1jb2xvcignYXJyb3ctZGlyZWN0aW9uLWxlZnQnLCB3aGl0ZSlcbiAgICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGVYKC01cHgpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udWwtc2hvcnQge1xuICBtYXgtd2lkdGggNzIwcHhcbn1cbi5kZWwtbGluZSB7XG4gIGhlaWdodCAycHhcbiAgYmFja2dyb3VuZC1jb2xvciAjRjdGN0Y4XG59XG4iLCIvKlxuICogU2l6ZSB1dGlsaXR5LlxuICpcbiAqIFN5bm9wc2lzOlxuICpcbiAqICAgc2l6ZTogPHdpZHRoPiA8aGVpZ2h0PiB8IDx3aWR0aCAmIGhlaWdodD5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICAgc2l6ZTogMTAwJSAzMHB4XG4gKiAgICAgICB5aWVsZHM6XG4gKiAgICAgICAgIHdpZHRoOiAxMDAlXG4gKiAgICAgICAgIGhlaWdodDogMzBweFxuICpcbiAqICAgICBzaXplOiA1cHhcbiAqICAgICAgIHlpZWxkczpcbiAqICAgICAgICAgd2lkdGg6IDVweFxuICogICAgICAgICBoZWlnaHQ6IDVweFxuICpcbiAqL1xuXG5zaXplKClcbiAgaWYgbGVuZ3RoKGFyZ3VtZW50cykgPT0gMVxuICAgIHdpZHRoOiBhcmd1bWVudHNbMF1cbiAgICBoZWlnaHQ6IGFyZ3VtZW50c1swXVxuICBlbHNlXG4gICAgd2lkdGg6IGFyZ3VtZW50c1swXVxuICAgIGhlaWdodDogYXJndW1lbnRzWzFdXG4iLCIvKlxuICogSGVscGVyIGZvciBib3JkZXItcmFkaXVzKCkuXG4gKi9cblxuLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuICBpZiBsZW5ndGgocG9zKSA9PSAzXG4gICAgLy8gYm9yZGVyLXJhZGl1czogPHRvcCB8IGJvdHRvbT4gPGxlZnQgfCByaWdodD4gPG4+XG4gICAgeSA9IHBvc1swXVxuICAgIHggPSBwb3NbMV1cbiAgICAvLyBXZSBkb24ndCB1c2UgdmVuZG9yIGZvciBib2Rlci1yYWRpdXMgYW55bW9yZVxuICAgIC8vIHZlbmRvcignYm9yZGVyLXJhZGl1cy0lcyVzJyAlIHBvcywgcG9zWzJdLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG4gICAgeydib3JkZXItJXMtJXMtcmFkaXVzJyAlIHBvc306IHBvc1syXSBpbXBvcnRhbmNlXG4gIGVsc2UgaWYgcG9zWzBdIGluICh0b3AgYm90dG9tKVxuICAgIC8vIGJvcmRlci1yYWRpdXM6IDx0b3AgfCBib3R0b20+IDxuPlxuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvc1swXSBsZWZ0IHBvc1sxXSwgaW1wb3J0YW5jZSlcbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3NbMF0gcmlnaHQgcG9zWzFdLCBpbXBvcnRhbmNlKVxuICBlbHNlIGlmIHBvc1swXSBpbiAobGVmdCByaWdodClcbiAgICAvLyBib3JkZXItcmFkaXVzOiA8bGVmdCB8IHJpZ2h0PiA8bj5cbiAgICB1bnNoaWZ0KHBvcywgdG9wKTtcbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG4gICAgcG9zWzBdID0gYm90dG9tXG4gICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuXG4vKlxuICogYm9yZGVyLXJhZGl1cyBzdXBwb3J0aW5nIGF1Z21lbnRlZCBiZWhhdmlvci5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICBib3JkZXItcmFkaXVzOiAycHggNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgNXB4IGJvdHRvbSAxMHB4XG4gKiAgICBib3JkZXItcmFkaXVzOiBsZWZ0IDVweFxuICogICAgYm9yZGVyLXJhZGl1czogdG9wIGxlZnQgNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgbGVmdCAxMHB4IGJvdHRvbSByaWdodCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCBsZWZ0IDEwcHgsIGJvdHRvbSByaWdodCA1cHhcbiAqXG4gKi9cblxuYm9yZGVyLXJhZGl1cygpXG4gIHBvcyA9ICgpXG4gIGF1Z21lbnRlZCA9IGZhbHNlXG4gIGltcG9ydGFuY2UgPSBhcmd1bWVudHNbbGVuZ3RoKGFyZ3VtZW50cykgLSAxXSA9PSAhaW1wb3J0YW50ID8gIWltcG9ydGFudCA6IHVucXVvdGUoJycpXG5cbiAgZm9yIGFyZ3MgaW4gYXJndW1lbnRzXG4gICAgZm9yIGFyZyBpbiBhcmdzXG4gICAgICBpZiBhcmcgaXMgYSAnaWRlbnQnXG4gICAgICAgIGFwcGVuZChwb3MsIGFyZylcbiAgICAgICAgYXVnbWVudGVkID0gdHJ1ZVxuICAgICAgZWxzZVxuICAgICAgICBhcHBlbmQocG9zLCBhcmcpXG4gICAgICAgIGlmIGF1Z21lbnRlZFxuICAgICAgICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvcywgaW1wb3J0YW5jZSlcbiAgICAgICAgICBwb3MgPSAoKVxuICBib3JkZXItcmFkaXVzIHBvcyB1bmxlc3MgYXVnbWVudGVkXG4iLCJzdmcobmFtZSwgc2l6ZSA9IDE2cHgsIGNvbG9yID0gI2ZmZiwgYWxpZ24gPSBudWxsLCB0YXJnZXRDb2xvciA9ICclMjN4eHgnKSB7XG4gICAvLyDQmNGJ0LXQvCDQvtCx0YrQtdC60YIg0YEg0LTQsNC90L3Ri9C80Lggc3ZnXG4gICAkaW1hZ2UgPSAkc3ZnW25hbWVdXG5cbiAgIC8vINCV0YHQu9C4INC90LDRiNC70Lgg0LrQsNGA0YLQuNC90LrRg1xuICAgaWYgKCAkaW1hZ2UgKSB7XG4gICAgICAvLyDQn9C+0LvRg9GH0LDQtdC8INC30LDQtNCw0L3QvdGD0Y4g0L3QsNC80Lgg0YjQuNGA0LjQvdGDINC4INCy0YvRgdC+0YLRg1xuICAgICAgLy8gc2l6ZSA9IHN0ci1zcGxpdCgnJytzaXplKycnLCAnICcpXG4gICAgICAkd2lkdGggPSBjb252ZXJ0KCcnK3NpemUrJycpXG4gICAgICAkaGVpZ2h0ID0gdW5pdChyb3VuZCgoJHdpZHRoICogJGltYWdlWydoZWlnaHQnXSkgLyAkaW1hZ2VbJ3dpZHRoJ10pLCAncHgnKVxuICAgICAgLy8gaGVpZ2h0ID0gY29udmVydCghc2l6ZVsxXSA/IHNpemVbMF0gOiBzaXplWzFdKSAvLyDQldGB0LvQuCDQvdC10YLRgyDQstGL0YHQvtGC0YssINGC0L4g0L/RgNC40YDQsNCy0L3QuNCy0LDQtdC8INC6INGI0LjRgNC40L3QtVxuXG4gICAgICBpZiAoIGFsaWduICkge1xuICAgICAgICAgaG9yaXpvbnRhbCA9IGFsaWduWzBdXG4gICAgICAgICB2ZXJ0aWNhbCA9IGFsaWduWzFdID8gYWxpZ25bMV0gOiBhbGlnblswXVxuICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGUgaWYgIUBwb3NpdGlvblxuICAgICAgICAgaWYgaG9yaXpvbnRhbCBpcyBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQgcm91bmQoJHdpZHRoIC8gLTIpXG4gICAgICAgICAgICBsZWZ0IDUwJVxuICAgICAgICAgfSBlbHNlIGlmIChob3Jpem9udGFsIGlzIGxlZnQpIHtcbiAgICAgICAgICAgIGxlZnQgMFxuICAgICAgICAgfSBlbHNlIGlmIChob3Jpem9udGFsIGlzIHJpZ2h0KSB7XG4gICAgICAgICAgICByaWdodCAwXG4gICAgICAgICB9XG5cbiAgICAgICAgIGlmICh2ZXJ0aWNhbCBpcyBjZW50ZXIpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3Agcm91bmQoJGhlaWdodCAvIC0yKVxuICAgICAgICAgICAgdG9wIDUwJVxuICAgICAgICAgfSBlbHNlIGlmICh2ZXJ0aWNhbCBpcyB0b3ApIHtcbiAgICAgICAgICAgIHRvcCAwXG4gICAgICAgICB9IGVsc2UgaWYgKHZlcnRpY2FsIGlzIGJvdHRvbSkge1xuICAgICAgICAgICAgYm90dG9tIDBcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJGJnID0gc3RyLXJlcGxhY2UoJGltYWdlWydpY29uJ10sIHRhcmdldENvbG9yLCBzdHItcmVwbGFjZShjb2xvciwgJyMnLCAnJTIzJykpXG4gICAgICAvLyBfY2FjaGUgPSAnJHN2Z19iZy0nK25hbWUrJy0tJytzdHItcmVwbGFjZShjb2xvciwgJyMnLCAnJykrJ18nK3VuaXQoc2l6ZSwgJycpXG4gICAgICBfY2FjaGUgPSAnJHN2Z19iZy0nK25hbWUrJy0tJytzdHItcmVwbGFjZShjb2xvciwgJyMnLCAnJylcblxuICAgICAgd2lkdGggJHdpZHRoXG4gICAgICBoZWlnaHQgJGhlaWdodFxuXG4gICAgICBpZiAoIGNhbGxlZC1mcm9tICE9ICdkbycgKSB7XG4gICAgICAgICArY2FjaGUoX2NhY2hlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kIHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJyRiZykgMCAwIG5vLXJlcGVhdFxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplIDEwMCUgMTAwJVxuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgICBiYWNrZ3JvdW5kIHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJyRiZykgMCAwIG5vLXJlcGVhdFxuICAgICAgICAgYmFja2dyb3VuZC1zaXplIDEwMCUgMTAwJVxuICAgICAgfVxuXG4gICB9IGVsc2Uge1xuICAgICAgLy8g0JjQvdCw0YfQtSDQvtGI0LjQsdC60LBcbiAgICAgIGVycm9yKCdcXG5cXG5cXG4g0J3QtdGC0YMg0YLQsNC60L7Qs9C+IHN2ZyBgJytuYW1lKydgIFxcblxcbicpXG4gICB9XG59XG5cbnN2Zy1jb2xvcihuYW1lLCBjb2xvciA9ICNmZmYsIHRhcmdldENvbG9yID0gJyUyM3h4eCcsIGZvcmNlID0gZmFsc2UpIHtcbiAgIC8vINCY0YnQtdC8INC+0LHRitC10LrRgiDRgSDQtNCw0L3QvdGL0LzQuCBzdmdcbiAgICRpbWFnZSA9ICRzdmdbbmFtZV1cblxuICAgaWYgKCAkaW1hZ2UgKSB7XG4gICAgICAkYmcgPSBzdHItcmVwbGFjZSgkaW1hZ2VbJ2ljb24nXSwgdGFyZ2V0Q29sb3IsIHN0ci1yZXBsYWNlKGNvbG9yLCAnIycsICclMjMnKSlcbiAgICAgIC8vIF9jYWNoZSA9ICckc3ZnX2JnLScrbmFtZSsnLS0nK3N0ci1yZXBsYWNlKGNvbG9yLCAnIycsICcnKSsnXycrdW5pdChzaXplLCAnJylcbiAgICAgIF9jYWNoZSA9ICckc3ZnX2JnLScrbmFtZSsnLS0nK3N0ci1yZXBsYWNlKGNvbG9yLCAnIycsICcnKVxuXG4gICAgICBpZiAoICFmb3JjZSB8fCAoY2FsbGVkLWZyb20gIT0gJ2RvJyAmJiAhZm9yY2UpICkge1xuICAgICAgICAgK2NhY2hlKF9jYWNoZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZSB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCckYmcpXG4gICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwnJGJnKVxuICAgICAgfVxuXG4gICB9IGVsc2Uge1xuICAgICAgLy8g0JjQvdCw0YfQtSDQvtGI0LjQsdC60LBcbiAgICAgIGVycm9yKCdcXG5cXG5cXG4g0J3QtdGC0YMg0YLQsNC60L7Qs9C+IHN2ZyBgJytuYW1lKydgIFxcblxcbicpXG4gICB9XG59XG5cbnN2Zy1zaXplKG5hbWUsIHNpemUgPSAxNnB4LCBhbGlnbiA9IG51bGwpIHtcbiAgICRpbWFnZSA9ICRzdmdbbmFtZV1cbiAgIGlmICggJGltYWdlICkge1xuICAgICAgJHdpZHRoID0gY29udmVydCgnJytzaXplKycnKVxuICAgICAgJGhlaWdodCA9IHVuaXQocm91bmQoKCR3aWR0aCAqICRpbWFnZVsnaGVpZ2h0J10pIC8gJGltYWdlWyd3aWR0aCddKSwgJ3B4JylcblxuICAgICAgd2lkdGggJHdpZHRoXG4gICAgICBoZWlnaHQgJGhlaWdodFxuXG4gICAgICBpZiAoIGFsaWduICkge1xuICAgICAgICAgaG9yaXpvbnRhbCA9IGFsaWduWzBdXG4gICAgICAgICB2ZXJ0aWNhbCA9IGFsaWduWzFdIHx8IGFsaWduWzBdXG4gICAgICAgICBwb3NpdGlvbiBhYnNvbHV0ZSBpZiAhQHBvc2l0aW9uXG4gICAgICAgICBpZiBob3Jpem9udGFsIGlzIGNlbnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdCByb3VuZCgkd2lkdGggLyAtMilcbiAgICAgICAgICAgIGxlZnQgNTAlXG4gICAgICAgICB9IGVsc2UgaWYgKGhvcml6b250YWwgaXMgbGVmdCkge1xuICAgICAgICAgICAgbGVmdCAwXG4gICAgICAgICAgICBtYXJnaW4tbGVmdCAwXG4gICAgICAgICB9IGVsc2UgaWYgKGhvcml6b250YWwgaXMgcmlnaHQpIHtcbiAgICAgICAgICAgIHJpZ2h0IDBcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0IDBcbiAgICAgICAgIH1cblxuICAgICAgICAgaWYgKHZlcnRpY2FsIGlzIGNlbnRlcikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcCByb3VuZCgkaGVpZ2h0IC8gLTIpXG4gICAgICAgICAgICB0b3AgNTAlXG4gICAgICAgICB9IGVsc2UgaWYgKHZlcnRpY2FsIGlzIHRvcCkge1xuICAgICAgICAgICAgdG9wIDBcbiAgICAgICAgICAgIG1hcmdpbi10b3AgMFxuICAgICAgICAgfSBlbHNlIGlmICh2ZXJ0aWNhbCBpcyBib3R0b20pIHtcbiAgICAgICAgICAgIGJvdHRvbSAwXG4gICAgICAgICAgICBtYXJnaW4tdG9wIDBcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH0gZWxzZSB7XG4gICAgICAvLyDQmNC90LDRh9C1INC+0YjQuNCx0LrQsFxuICAgICAgZXJyb3IoJ1xcblxcblxcbiDQndC10YLRgyDRgtCw0LrQvtCz0L4gc3ZnIGAnK25hbWUrJ2AgXFxuXFxuJylcbiAgIH1cbn1cbnN2Zy1oZWlnaHQobmFtZSwgc2l6ZSA9IDE2cHgpIHtcbiAgICRpbWFnZSA9ICRzdmdbbmFtZV1cbiAgIGlmICggJGltYWdlICkge1xuICAgICAgJHdpZHRoID0gY29udmVydCgnJytzaXplKycnKVxuICAgICAgJGhlaWdodCA9IHVuaXQocm91bmQoKCR3aWR0aCAqICRpbWFnZVsnaGVpZ2h0J10pIC8gJGltYWdlWyd3aWR0aCddKSwgJ3B4JylcblxuICAgICAgcmV0dXJuICRoZWlnaHRcbiAgIH0gZWxzZSB7XG4gICAgICAvLyDQmNC90LDRh9C1INC+0YjQuNCx0LrQsFxuICAgICAgZXJyb3IoJ1xcblxcblxcbiDQndC10YLRgyDRgtCw0LrQvtCz0L4gc3ZnIGAnK25hbWUrJ2AgXFxuXFxuJylcbiAgIH1cbn1cbiIsIiRyZXNpemUgPSAxLjU7XG4vLyAxXG4uLWdhcF8xIHtcbiAgbWFyZ2luLWJvdHRvbSAxNXB4XG59XG4uLWdhcC1vdXRfMSB7XG4gIG1hcmdpbi1ib3R0b20gLTE1cHhcbn1cbi4tZ2FwLWlubmVyLXRvcF8xIHtcbiAgcGFkZGluZy10b3AgMTVweFxufVxuLi1nYXAtaW5uZXItYm90dG9tXzEge1xuICBwYWRkaW5nLWJvdHRvbSAxNXB4XG59XG4rZG8oNzUwKSB7XG4gIC4tZ2FwXzEge1xuICAgIG1hcmdpbi1ib3R0b20gKDE1LyRyZXNpemUpcHhcbiAgfVxuICAuLWdhcC1vdXRfMSB7XG4gICAgbWFyZ2luLWJvdHRvbSAtKDE1LyRyZXNpemUpcHhcbiAgfVxuICAuLWdhcC1pbm5lci10b3BfMSB7XG4gICAgcGFkZGluZy10b3AgKDE1LyRyZXNpemUpcHhcbiAgfVxuICAuLWdhcC1pbm5lci1ib3R0b21fMSB7XG4gICAgcGFkZGluZy1ib3R0b20gKDE1LyRyZXNpemUpcHhcbiAgfVxufVxuXG4vLyAyXG4uLWdhcF8yIHtcbiAgbWFyZ2luLWJvdHRvbSAzMHB4XG59XG4uLWdhcC1vdXRfMiB7XG4gIG1hcmdpbi1ib3R0b20gLTMwcHhcbn1cbi4tZ2FwLWlubmVyLXRvcF8yIHtcbiAgcGFkZGluZy10b3AgMzBweFxufVxuLi1nYXAtaW5uZXItYm90dG9tXzIge1xuICBwYWRkaW5nLWJvdHRvbSAzMHB4XG59XG4rZG8oNzUwKSB7XG4gIC4tZ2FwXzIge1xuICAgIG1hcmdpbi1ib3R0b20gKDMwLyRyZXNpemUpcHhcbiAgfVxuICAuLWdhcC1vdXRfMiB7XG4gICAgbWFyZ2luLWJvdHRvbSAtKDMwLyRyZXNpemUpcHhcbiAgfVxuICAuLWdhcC1pbm5lci10b3BfMiB7XG4gICAgcGFkZGluZy10b3AgKDMwLyRyZXNpemUpcHhcbiAgfVxuICAuLWdhcC1pbm5lci1ib3R0b21fMiB7XG4gICAgcGFkZGluZy1ib3R0b20gKDMwLyRyZXNpemUpcHhcbiAgfVxufVxuXG4vLyAzXG4uLWdhcF8zIHtcbiAgbWFyZ2luLWJvdHRvbSA0NXB4XG59XG4uLWdhcC1pbm5lci10b3BfMyB7XG4gIHBhZGRpbmctdG9wIDQ1cHhcbn1cbi4tZ2FwLWlubmVyLWJvdHRvbV8zIHtcbiAgcGFkZGluZy1ib3R0b20gNDVweFxufVxuK2RvKDc1MCkge1xuICAuLWdhcF8zIHtcbiAgICBtYXJnaW4tYm90dG9tICg0NS8kcmVzaXplKXB4XG4gIH1cbiAgLi1nYXAtaW5uZXItdG9wXzMge1xuICAgIHBhZGRpbmctdG9wICg0NS8kcmVzaXplKXB4XG4gIH1cbiAgLi1nYXAtaW5uZXItYm90dG9tXzMge1xuICAgIHBhZGRpbmctYm90dG9tICg0NS8kcmVzaXplKXB4XG4gIH1cbn1cblxuLy8gNFxuLi1nYXBfNCB7XG4gIG1hcmdpbi1ib3R0b20gNjBweFxufVxuLi1nYXAtaW5uZXItdG9wXzQge1xuICBwYWRkaW5nLXRvcCA2MHB4XG59XG4uLWdhcC1pbm5lci1ib3R0b21fNCB7XG4gIHBhZGRpbmctYm90dG9tIDYwcHhcbn1cbitkbyg3NTApIHtcbiAgLi1nYXBfNCB7XG4gICAgbWFyZ2luLWJvdHRvbSAoNjAvJHJlc2l6ZSlweFxuICB9XG4gIC4tZ2FwLWlubmVyLXRvcF80IHtcbiAgICBwYWRkaW5nLXRvcCAoNjAvJHJlc2l6ZSlweFxuICB9XG4gIC4tZ2FwLWlubmVyLWJvdHRvbV80IHtcbiAgICBwYWRkaW5nLWJvdHRvbSAoNjAvJHJlc2l6ZSlweFxuICB9XG59XG5cbi8vIDVcbi4tZ2FwXzUge1xuICBtYXJnaW4tYm90dG9tIDc1cHhcbn1cbi4tZ2FwLWlubmVyLXRvcF81IHtcbiAgcGFkZGluZy10b3AgNzVweFxufVxuLi1nYXAtaW5uZXItYm90dG9tXzUge1xuICBwYWRkaW5nLWJvdHRvbSA3NXB4XG59XG4rZG8oNzUwKSB7XG4gIC4tZ2FwXzUge1xuICAgIG1hcmdpbi1ib3R0b20gKDc1LyRyZXNpemUpcHhcbiAgfVxuICAuLWdhcC1pbm5lci10b3BfNSB7XG4gICAgcGFkZGluZy10b3AgKDc1LyRyZXNpemUpcHhcbiAgfVxuICAuLWdhcC1pbm5lci1ib3R0b21fNSB7XG4gICAgcGFkZGluZy1ib3R0b20gKDc1LyRyZXNpemUpcHhcbiAgfVxufVxuXG4vLyA2XG4uLWdhcF82IHtcbiAgbWFyZ2luLWJvdHRvbSA5MHB4XG59XG4uLWdhcC1pbm5lci10b3BfNiB7XG4gIHBhZGRpbmctdG9wIDkwcHhcbn1cbi4tZ2FwLWlubmVyLWJvdHRvbV82IHtcbiAgcGFkZGluZy1ib3R0b20gOTBweFxufVxuK2RvKDc1MCkge1xuICAuLWdhcF82IHtcbiAgICBtYXJnaW4tYm90dG9tICg5MC8kcmVzaXplKXB4XG4gIH1cbiAgLi1nYXAtaW5uZXItdG9wXzYge1xuICAgIHBhZGRpbmctdG9wICg5MC8kcmVzaXplKXB4XG4gIH1cbiAgLi1nYXAtaW5uZXItYm90dG9tXzYge1xuICAgIHBhZGRpbmctYm90dG9tICg5MC8kcmVzaXplKXB4XG4gIH1cbn1cblxuLy8gN1xuLi1nYXBfNyB7XG4gIG1hcmdpbi1ib3R0b20gMTE1cHhcbn1cbi4tZ2FwLWlubmVyLXRvcF83IHtcbiAgcGFkZGluZy10b3AgMTE1cHhcbn1cbi4tZ2FwLWlubmVyLWJvdHRvbV83IHtcbiAgcGFkZGluZy1ib3R0b20gMTE1cHhcbn1cbitkbyg3NTApIHtcbiAgLi1nYXBfNyB7XG4gICAgbWFyZ2luLWJvdHRvbSAoMTE1LyRyZXNpemUpcHhcbiAgfVxuICAuLWdhcC1pbm5lci10b3BfNyB7XG4gICAgcGFkZGluZy10b3AgKDExNS8kcmVzaXplKXB4XG4gIH1cbiAgLi1nYXAtaW5uZXItYm90dG9tXzcge1xuICAgIHBhZGRpbmctYm90dG9tICgxMTUvJHJlc2l6ZSlweFxuICB9XG59XG5cbi8vIDdcbi4tZ2FwXzgge1xuICBtYXJnaW4tYm90dG9tIDE0NXB4XG59XG4uLWdhcC1pbm5lci10b3BfOCB7XG4gIHBhZGRpbmctdG9wIDE0NXB4XG59XG4uLWdhcC1pbm5lci1ib3R0b21fOCB7XG4gIHBhZGRpbmctYm90dG9tIDE0NXB4XG59XG4rZG8oNzUwKSB7XG4gIC4tZ2FwXzgge1xuICAgIG1hcmdpbi1ib3R0b20gKDE0NS8kcmVzaXplKXB4XG4gIH1cbiAgLi1nYXAtaW5uZXItdG9wXzgge1xuICAgIHBhZGRpbmctdG9wICgxNDUvJHJlc2l6ZSlweFxuICB9XG4gIC4tZ2FwLWlubmVyLWJvdHRvbV84IHtcbiAgICBwYWRkaW5nLWJvdHRvbSAoMTQ1LyRyZXNpemUpcHhcbiAgfVxufVxuIiwiJGJsb2NrXG4sXG4uYmxvY2sge1xuICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgcGFkZGluZy1sZWZ0ICRibG9jay1wYWRkaW5nXG4gIHBhZGRpbmctcmlnaHQgJGJsb2NrLXBhZGRpbmdcbn1cblxuJGJsb2NrLXdyYXBwZXJcbixcbi5ibG9jay13cmFwcGVyIHtcbiAgYm94LXNpemluZyBib3JkZXItYm94XG4gIG1hcmdpbi1sZWZ0IGF1dG9cbiAgbWFyZ2luLXJpZ2h0IGF1dG9cbiAgaWYgKCRibG9jay1tYXgtd2lkdGgpIHtcbiAgICBtaW4td2lkdGggJGJsb2NrLXdpZHRoXG4gICAgbWF4LXdpZHRoICRibG9jay1tYXgtd2lkdGhcbiAgfSBlbHNlIHtcbiAgICB3aWR0aCAkYmxvY2std2lkdGhcbiAgfVxufVxuXG5cbi5ibG9jay1maWxsIHtcbiAgcG9zaXRpb24gcmVsYXRpdmVcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudCAnJ1xuICAgIHotaW5kZXggLTFcbiAgICBkaXNwbGF5IGJsb2NrXG4gICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICB0b3AgMFxuICAgIGxlZnQgMFxuICAgIHJpZ2h0IDBcbiAgICBib3R0b20gLTUwcHhcbiAgICBiYWNrZ3JvdW5kLWNvbG9yICRncmV5LXhsaWdodFxuICAgIG1heC13aWR0aCAxNzIwcHhcbiAgICBtYXJnaW4tcmlnaHQgYXV0b1xuICAgIG1hcmdpbi1sZWZ0IGF1dG9cbiAgICBtYXJnaW4tdG9wIDUwcHhcbiAgfVxufVxuXG4rZG8oMTIwMCkge1xuICAuYmxvY2stZmlsbCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXRvcCAwXG4gICAgfVxuICB9XG59XG4iLCIuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZyAwXG4gIGJvcmRlciAwXG59XG5cbi5idXR0b24ge1xuICBjdXJzb3IgcG9pbnRlclxuICB1c2VyLXNlbGVjdCBub25lXG4gIGJveC1zaXppbmcgYm9yZGVyLWJveFxuICB2ZXJ0aWNhbC1hbGlnbiB0b3BcbiAgZGlzcGxheSBpbmxpbmUtYmxvY2tcbiAgdXNlLXNpemUoMTYpXG4gIHBvc2l0aW9uIHJlbGF0aXZlXG4gIHBhZGRpbmcgMFxuICBib3JkZXIgMFxuICBvdXRsaW5lIG5vbmVcbiAgYmFja2dyb3VuZCBub25lXG4gIGZvbnQtZmFtaWx5ICRmb250LW1haW5cbiAgZm9udC1zdHlsZSBub3JtYWxcbiAgZm9udC13ZWlnaHQgNTAwXG4gIHRleHQtYWxpZ24gY2VudGVyXG4gIHRleHQtZGVjb3JhdGlvbiBub25lXG4gIGJvcmRlci1yYWRpdXMgMFxuXG4gIGlucHV0IHtcbiAgICBwb2ludGVyLWV2ZW50cyBub25lXG4gICAgb3BhY2l0eSAwXG4gICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICB0b3AgMFxuICAgIGxlZnQgMFxuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgb3JkZXIgMlxuICAgIGZsZXggMCAwIGF1dG9cbiAgICBkaXNwbGF5IGZsZXhcbiAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICBtYXJnaW4tbGVmdCAxMHB4XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudCAnJ1xuICAgICAgei1pbmRleCAyMFxuICAgICAgdHJhbnNpdGlvbiBvcGFjaXR5ICR0cmFuc2l0aW9uLWZhc3QgLjAyNXNcbiAgICAgIG9wYWNpdHkgMFxuICAgICAgZmxleCAwIDAgYXV0b1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50ICcnXG4gICAgICB0cmFuc2l0aW9uIG9wYWNpdHkgJHRyYW5zaXRpb24tZmFzdFxuICAgICAgb3BhY2l0eSAxXG4gICAgICBmbGV4IDAgMCBhdXRvXG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgfVxuICB9XG5cbiAgJl9faWNvbl9zaWRlX2xlZnQge1xuICAgIG9yZGVyIC0xXG4gICAgbWFyZ2luLXJpZ2h0IDEwcHhcbiAgICBtYXJnaW4tbGVmdCAwXG4gIH1cblxuICAmX19pY29uX2FzaWRlIHtcbiAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgIHRvcCA1MCVcbiAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWSgtNTAlKVxuICAgIHJpZ2h0IDI3cHhcbiAgfVxuXG4gICZfX2ljb25fYXJyb3ctbGVmdCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgc3ZnKCdhcnJvdy1sZWZ0JywgNnB4LCAkY29sb3Itd2hpdGUpXG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHN2ZygnYXJyb3ctbGVmdCcsIDZweCwgJGNvbG9yLXdoaXRlKVxuICAgIH1cbiAgfVxuXG4gICZfX2ljb25fYXJyb3ctcmlnaHQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHN2ZygnYXJyb3ctZGlyZWN0aW9uLXJpZ2h0JywgMjBweCwgd2hpdGUpXG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHN2ZygnYXJyb3ctZGlyZWN0aW9uLXJpZ2h0JywgMjBweCwgd2hpdGUpXG4gICAgfVxuICB9XG5cbiAgJl9faWNvbl9wbHVzIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBzdmcoJ3BsdXMnLCAyNHB4LCAkZWxlY3RyaWMtYmx1ZSlcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgc3ZnKCdwbHVzJywgMjRweCwgJGVsZWN0cmljLWJsdWUpXG4gICAgfVxuICB9XG5cbiAgJl9faWNvbl9sb2dpbiB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgc3ZnKCdsb2dpbicsIDI0cHgsICRlbGVjdHJpYy1ibHVlKVxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBzdmcoJ2xvZ2luJywgMjRweCwgJGVsZWN0cmljLWJsdWUpXG4gICAgfVxuICB9XG5cbiAgJl9faWNvbl9yZWZyZXNoIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBzdmcoJ3JlZnJlc2gnLCAxNHB4LCAkd2hpdGUpXG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHN2ZygncmVmcmVzaCcsIDE0cHgsICR3aGl0ZSlcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBib3gtc2hhZG93IDAgMTBweCAyMHB4IHJnYmEoJGNvbG9yLXByaW1hcnksIDAuMilcbiAgICB0cmFuc2l0aW9uICR0cmFuc2l0aW9uLWZhc3RcbiAgICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBhbGlnbi1pdGVtcyBjZW50ZXJcbiAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICAgYm9yZGVyLXJhZGl1cyAzcHhcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgIHBhZGRpbmcgMCA1MHB4XG4gICAgb3V0bGluZSBub25lXG4gICAgYmFja2dyb3VuZC1jb2xvciAkY29sb3ItcHJpbWFyeVxuICAgIGNvbG9yIHdoaXRlXG4gICAgYm9yZGVyIDFweCBzb2xpZCB0cmFuc3BhcmVudFxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHBhZGRpbmcgOHB4IDBcbiAgfVxuXG4gICZfX3RhZyB7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gJl9fY29udGVudCB7XG4gIH1cblxuICAmLmlzLWhvdmVyLFxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb24gbm9uZVxuICAgIG9wYWNpdHkgMC42XG5cbiAgICAuYnV0dG9uX19jb250ZW50IHtcbiAgICB9XG5cbiAgICAuYnV0dG9uX19pY29uIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXkgMHNcbiAgICAgICAgb3BhY2l0eSAxXG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheSAuMDI1c1xuICAgICAgICBvcGFjaXR5IDBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbiBub25lXG4gICAgb3V0bGluZSBub25lXG4gICAgb3BhY2l0eSAwLjlcblxuICAgIC5idXR0b25fX2NvbnRlbnQge1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yIGxpZ2h0ZW4oJGVsZWN0cmljLWJsdWUsIDIwJSlcbiAgICB9XG5cbiAgICAuYnV0dG9uX19pY29uIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXkgMHNcbiAgICAgICAgb3BhY2l0eSAxXG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheSAuMDI1c1xuICAgICAgICBvcGFjaXR5IDBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50cyBub25lXG4gICAgYm9yZGVyIDAgIWltcG9ydGFudFxuICAgIGJhY2tncm91bmQgbm9uZSAhaW1wb3J0YW50XG4gICAgdGV4dC1kZWNvcmF0aW9uIG5vbmUgIWltcG9ydGFudFxuXG4gICAgLmJ1dHRvbl9fY29udGVudCB7XG4gICAgICAvL2NvbG9yICRjb2xvci13aGl0ZSAhaW1wb3J0YW50XG4gICAgICBib3JkZXItY29sb3IgI0I0QjRCRCAhaW1wb3J0YW50XG4gICAgICBib3gtc2hhZG93IG5vbmUgIWltcG9ydGFudFxuICAgICAgYmFja2dyb3VuZC1pbWFnZSBub25lICFpbXBvcnRhbnRcbiAgICAgIGJhY2tncm91bmQtY29sb3IgI0I0QjRCRCAhaW1wb3J0YW50XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24uaXMtbG9hZGluZyB7XG4gIHBvc2l0aW9uIHJlbGF0aXZlXG4gIHBvaW50ZXItZXZlbnRzIG5vbmVcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudCAnJ1xuICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgZGlzcGxheSBibG9ja1xuICAgIHRvcCA1MCVcbiAgICBsZWZ0IDUwJVxuICAgIHRyYW5zZm9ybSB0cmFuc2xhdGUoLTUwJSwgLTUwJSlcbiAgICBzaXplIDIwcHhcbiAgICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgICBib3JkZXItcmFkaXVzIDUwJVxuICAgIC8vYm9yZGVyIDJweCBzb2xpZCAkY29sb3Itd2hpdGVcbiAgICAvL2JvcmRlci1sZWZ0IDJweCBzb2xpZCByZ2JhKCRjb2xvci13aGl0ZSwgMClcbiAgICB6LWluZGV4IDlcbiAgICBhbmltYXRpb24gbG9hZCAxLjVzIGxpbmVhciBpbmZpbml0ZVxuICB9XG5cbiAgLmJ1dHRvbiB7XG4gICAgJl9fY29udGVudCB7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgb3BhY2l0eSAwICFpbXBvcnRhbnRcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgIG9wYWNpdHkgMCAhaW1wb3J0YW50XG4gICAgfVxuICB9XG59XG5cbi5idXR0b25fZnVsbCB7XG4gIHdpZHRoIDEwMCVcbn1cblxuLmJ1dHRvbl9saWdodCB7XG4gIC5idXR0b24ge1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZCB0cmFuc3BhcmVudFxuICAgICAgYm9yZGVyIDJweCBzb2xpZCByZ2JhKHdoaXRlLCAwLjUpXG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgY29sb3Igd2hpdGVcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICBvcGFjaXR5IDAuOFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICBvcGFjaXR5IDFcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4uYnV0dG9uX291dGxpbmUge1xuICAuYnV0dG9uIHtcbiAgICAmX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQgdHJhbnNwYXJlbnRcbiAgICAgIGJvcmRlciAycHggc29saWQgcmdiYSgkY29sb3ItcHJpbWFyeSwgMC40KVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIGNvbG9yICRjb2xvci1wcmltYXJ5XG4gICAgfVxuXG4gICAgJl9faWNvbl9hcnJvdy1yaWdodCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHN2ZygnYXJyb3ctZGlyZWN0aW9uLXJpZ2h0JywgMjBweCwgJGNvbG9yLXByaW1hcnkpXG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHN2ZygnYXJyb3ctZGlyZWN0aW9uLXJpZ2h0JywgMjBweCwgJGNvbG9yLXByaW1hcnkpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgb3BhY2l0eSAwLjhcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgb3BhY2l0eSAxXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5idXR0b25fbG9naW4ge1xuICBwb3NpdGlvbiByZWxhdGl2ZVxuXG4gIC5idXR0b24ge1xuICAgICZfX2ljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0IDBcbiAgICAgIG1hcmdpbi1sZWZ0IDBcbiAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICB0b3AgNTAlXG4gICAgICBsZWZ0IDUwJVxuICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxuICAgICAgbWFyZ2luLWxlZnQgLTJweFxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgaGVpZ2h0IDYwcHhcbiAgICAgIHdpZHRoIDYwcHhcbiAgICAgIHBhZGRpbmcgMFxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgIH1cbiAgfVxufVxuXG4uYnV0dG9uX2NhbGxiYWNrIHtcbiAgLmJ1dHRvbiB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0IDIwcHhcbiAgICAgIHBhZGRpbmctbGVmdCAyMHB4XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24uYnV0dG9uX3NtYWxsIHtcbiAgLmJ1dHRvbiB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nIDAgMTVweFxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmcgMTRweCAwXG4gICAgfVxuICB9XG59XG5cbitkbyg3NTApIHtcbiAgLmJ1dHRvbi5idXR0b25fbW9iaWxlX3NtYWxsIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICB1c2Utc2l6ZSgxMilcbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nIDE0cHggMFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwidXNlLXNpemUoZm9udC1zaXplLCBsaW5lLWhlaWdodCA9IG51bGwpIHtcbiAgIGlmICggZm9udC1zaXplID09ICdpbmhlcml0JyApIHtcbiAgICAgIGZvbnQtc2l6ZSBpbmhlcml0XG4gICAgICBsaW5lLWhlaWdodCBpbmhlcml0XG4gICB9XG4gICBlbHNlIHtcbiAgICAgIF9uYW1lID0gcm91bmQobm8tdW5pdChmb250LXNpemUpKVxuICAgICAgZnogPSBsb29rdXAoJyRzaXplLScrIF9uYW1lKVxuICAgICAgaWYgKCAhZnogKSB7XG4gICAgICAgICB3YXJuKCfQkiDQvdCw0YHRgtGA0L7QudC60LDRhSDQvdC10YIg0YDQsNC30LzQtdGA0LAg4oCUICcrIF9uYW1lICsnIGAnKyBzZWxlY3RvcigpICsnYCcpXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgIGZvbnQtc2l6ZSBmelxuICAgICAgICAgbGluZS1oZWlnaHQgbG9va3VwKCckbGluZS0nKyBfbmFtZSArIChsaW5lLWhlaWdodCA/ICctJysgbm8tdW5pdChsaW5lLWhlaWdodCkgOiAnJykpXG4gICAgICB9XG4gICB9XG59XG4iLCJidXR0b24sIGlucHV0LCBvcHRncm91cCwgc2VsZWN0LCB0ZXh0YXJlYVxuICAgY29sb3IgIGluaGVyaXRcbiAgIGZvbnQgICBpbmhlcml0XG4gICBtYXJnaW4gMFxuXG5idXR0b25cbiAgIG92ZXJmbG93IHZpc2libGVcblxuYnV0dG9uLCBzZWxlY3RcbiAgIHRleHQtdHJhbnNmb3JtIG5vbmVcblxuYnV0dG9uLCBodG1sIGlucHV0W3R5cGU9J2J1dHRvbiddLCBpbnB1dFt0eXBlPSdyZXNldCddLCBpbnB1dFt0eXBlPSdzdWJtaXQnXVxuICAgY3Vyc29yIHBvaW50ZXJcbiAgIC13ZWJraXQtYXBwZWFyYW5jZSBidXR0b25cblxuYnV0dG9uW2Rpc2FibGVkXSwgaHRtbCBpbnB1dFtkaXNhYmxlZF1cbiAgIGN1cnNvciBkZWZhdWx0XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJcbiAgIGJvcmRlciAgMFxuICAgcGFkZGluZyAwXG5cbmlucHV0XG4gICBsaW5lLWhlaWdodCBub3JtYWxcblxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXSwgaW5wdXRbdHlwZT0ncmFkaW8nXVxuICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICBwYWRkaW5nICAgIDBcblxuaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvblxuICAgaGVpZ2h0IGF1dG9cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ11cbiAgIC13ZWJraXQtYXBwZWFyYW5jZSAgdGV4dGZpZWxkXG5cbmlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb25cbiAgIC13ZWJraXQtYXBwZWFyYW5jZSBub25lXG5cbnRleHRhcmVhXG4gICBvdmVyZmxvdyBhdXRvXG4gICByZXNpemUgbm9uZVxuXG5vcHRncm91cFxuICAgZm9udC13ZWlnaHQgYm9sZFxuXG5zZWxlY3RcbnRleHRhcmVhLFxuaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG5pbnB1dFt0eXBlPSdlbWFpbCddLFxuaW5wdXRbdHlwZT0ndGVsJ10sXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcbmlucHV0W3R5cGU9J3VybCddLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgYW5pbWF0aW9uIG5vdC1pbnB1dC1hdXRvZmlsbGVkIC4wMDFzIGxpbmVhclxuICAgYXBwZWFyYW5jZSBub25lXG4gICBvdXRsaW5lIG5vbmVcbiAgIHdpZHRoIDEwMCVcbiAgIGJveC1zaXppbmcgYm9yZGVyLWJveFxuICAgY29sb3IgIzAwMFxuICAgJjo6LW1zLWNsZWFyIHtcbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgfVxuICAgLy8gK3BsYWNlaG9sZGVyKCl7XG4gICAvLyAgICBjb2xvciAkY29sb3ItZ3JleS1saWdodFxuICAgLy8gfVxufVxuXG5cbi8vIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG4vLyBpbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzXG4vLyBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbi8vICAgIC8vIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDUwcHggdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLyog0KbQstC10YIg0YTQvtC90LAgKi9cbi8vICAgIGFuaW1hdGlvbiBpcy1pbnB1dC1hdXRvZmlsbGVkIC4wMDFzIGxpbmVhclxuLy8gfVxuXG5cbi8vIEBrZXlmcmFtZXMgaXMtaW5wdXQtYXV0b2ZpbGxlZCB7XG4vLyAgICBmcm9tIHtcbi8vICAgICAgIG9wYWNpdHkgLjk5XG4vLyAgICB9XG4vLyAgICB0byB7XG4vLyAgICAgICBvcGFjaXR5IDFcbi8vICAgIH1cbi8vIH1cbi8vIEBrZXlmcmFtZXMgbm90LWlucHV0LWF1dG9maWxsZWQge1xuLy8gICAgZnJvbSB7XG4vLyAgICAgICBvcGFjaXR5IC45OVxuLy8gICAgfVxuLy8gICAgdG8ge1xuLy8gICAgICAgb3BhY2l0eSAxXG4vLyAgICB9XG4vLyB9XG4iLCIuZmllbGQge1xuICBkaXNwbGF5IGJsb2NrXG4gIHBvc2l0aW9uIHJlbGF0aXZlXG5cbiAgJl9faGVhZGVyIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBqdXN0aWZ5LWNvbnRlbnQgc3BhY2UtYmV0d2VlblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMDAlO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHVzZS1zaXplKDE1KVxuICAgIG92ZXJmbG93IGhpZGRlblxuICAgIHRleHQtb3ZlcmZsb3cgZWxsaXBzaXNcbiAgICB3aGl0ZS1zcGFjZSBub3dyYXBcbiAgICBmbGV4IDEgMSBhdXRvXG4gICAgZGlzcGxheSBibG9ja1xuICAgIHBhZGRpbmctcmlnaHQgMjBweFxuICAgIHBhZGRpbmctbGVmdCAxNnB4XG4gICAgbWFyZ2luLWJvdHRvbSAwXG4gICAgY29sb3IgcmdiYSgjMjgzMDRGLCAuNSlcbiAgfVxuXG4gICZfX2Vycm9yIHtcbiAgICB6LWluZGV4IDEwMFxuICAgIG92ZXJmbG93IGhpZGRlblxuICAgIHRleHQtb3ZlcmZsb3cgZWxsaXBzaXNcbiAgICB3aGl0ZS1zcGFjZSBub3dyYXBcbiAgICBkaXNwbGF5IG5vbmVcbiAgICAvL2NvbG9yICRjb2xvci13aGl0ZVxuICAgIHBhZGRpbmcgMCA1cHhcbiAgICBtYXJnaW4tYm90dG9tIDVweFxuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1mYXN0XG4gICAgZGlzcGxheSBmbGV4XG4gICAgcG9zaXRpb24gcmVsYXRpdmVcblxuICAgIGJvcmRlci1yYWRpdXMgMFxuICAgIC8vYm94LXNoYWRvdyBpbnNldCAwIC0xcHggMCAwICNDNEM0QzRcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIHJnYmEod2hpdGUsIDApXG4gIH1cblxuICAmX191bml0IHtcbiAgICB1c2VyLXNlbGVjdCBub25lXG4gICAgZmxleCAwIDAgYXV0b1xuICAgIGRpc3BsYXkgZmxleFxuICAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICAgIGNvbG9yICM3QzdDN0NcbiAgfVxuXG4gICZfX3VuaXQtdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tIDJweFxuICB9XG5cbiAgJl9faW5kaWNhdG9yIHtcbiAgICBvcmRlciA0XG4gICAgZmxleCAwIDAgYXV0b1xuICAgIGFsaWduLXNlbGYgY2VudGVyXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheSBibG9ja1xuICAgIH1cbiAgfVxuXG4gICZfX25vdGlmeSB7XG4gICAgZGlzcGxheSBibG9ja1xuICAgIG1hcmdpbi10b3AgOHB4XG4gICAgLy9jb2xvciAkY29sb3ItZ3JleVxuICB9XG5cbiAgJl9fYWN0aW9uIHtcbiAgICBjdXJzb3IgcG9pbnRlclxuICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gIH1cblxuICAmX19hY3Rpb24tY29udGVudCB7XG4gICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICB0b3AgNTAlXG4gICAgbGVmdCA1MCVcbiAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsIC01MCUpXG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50ICcnXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgdG9wIDBcbiAgICAgIGxlZnQgMFxuICAgIH1cbiAgfVxuXG4gICZfX2FjdGlvbl90aXAge1xuICAgIHNpemUgNDBweFxuXG4gICAgLmZpZWxkX19hY3Rpb24tY29udGVudCB7XG4gICAgICBzaXplIDE2cHhcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAvL3N2ZygncXVlc3Rpb24nLCAxNnB4LCAkY29sb3ItZ3JleS1saWdodClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19hY3Rpb25fdGlwOmhvdmVyIHtcbiAgICAuZmllbGRfX2FjdGlvbi1jb250ZW50IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgLy9zdmctY29sb3IoJ3F1ZXN0aW9uJywgJGNvbG9yLWJsdWUpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbitkbyg3NTApIHtcbiAgLmZpZWxkIHtcbiAgICAmX191bml0IHtcbiAgICAgIGZvbnQtc2l6ZSAxNHB4XG4gICAgfVxuICB9XG59XG5cbi5maWVsZF9wcmVmaXgge1xuICB7YigpfV9fdW5pdCB7XG4gICAgb3JkZXIgLTFcbiAgICBtYXJnaW4tcmlnaHQgMjBweFxuICB9XG59XG5cbitkbyg3NTApIHtcbiAgLmZpZWxkX3ByZWZpeCB7XG4gICAge2IoKX1fX3VuaXQge1xuICAgICAgbWFyZ2luLXJpZ2h0IDEwcHhcbiAgICB9XG4gIH1cbn1cblxuLmZpZWxkX2dhcF9sZWZ0IHtcbiAge2IoKX1fX21haW4ge1xuICAgIHBhZGRpbmctbGVmdCAyMHB4XG4gIH1cbn1cblxuK2RvKDc1MCkge1xuICAuZmllbGRfZ2FwX2xlZnQge1xuICAgIHtiKCl9X19tYWluIHtcbiAgICAgIHBhZGRpbmctbGVmdCAwXG4gICAgfVxuICB9XG59XG5cbi5maWVsZC5maWVsZF9saWdodCB7XG4gIC5maWVsZC1pbnB1dCB7XG4gICAgY29sb3Igd2hpdGVcbiAgICBib3JkZXItY29sb3Igd2hpdGVcbiAgICBvcGFjaXR5IDAuNVxuICAgICtwbGFjZWhvbGRlcigpIHtcbiAgICAgIGNvbG9yIHdoaXRlXG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvciB3aGl0ZVxuICAgIH1cbiAgfVxuXG4gICYuaXMtZmlsbGVkLFxuICAmLmlzLWZvY3VzLFxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICAuZmllbGQtaW5wdXQge1xuICAgICAgb3BhY2l0eSAxXG4gICAgfVxuXG4gICAgLmZpZWxkX19tYWluIHtcbiAgICAgIC8vYm94LXNoYWRvdyBpbnNldCAwIC0xcHggMCAwIHJnYmEoJGNvbG9yLXdoaXRlLCAuOClcbiAgICB9XG4gIH1cbn1cblxuLmZpZWxkOmhvdmVyIHtcbiAge2IoKX1fX21haW4ge1xuICAgIC8vYm94LXNoYWRvdyBpbnNldCAwIC0xcHggMCAwIHJnYmEoIzI4MzA0RiwgLjQpXG4gIH1cbn1cblxuLmZpZWxkOmhvdmVyLFxuLmZpZWxkLmlzLWZvY3VzIHtcbiAge2IoKX1fX2Vycm9yIHtcbiAgICBvcGFjaXR5IDFcbiAgfVxufVxuXG4uZmllbGQuaXMtZm9jdXMge1xuICB7YigpfV9fbWFpbiB7XG4gICAgLy9ib3gtc2hhZG93IGluc2V0IDAgLTFweCAwIDAgcmdiYSgjMjgzMDRGLCAuNilcbiAgfVxufVxuXG4uZmllbGQuaXMtZXJyb3Ige1xuICB7YigpfV9fbWFpbiB7XG4gICAgLy9ib3gtc2hhZG93IGluc2V0IDAgLTFweCAwIDAgJGNvbG9yLXJlZFxuICB9XG5cbiAge2IoKX1fX2Vycm9yIHtcbiAgICBkaXNwbGF5IGJsb2NrXG4gIH1cblxuICB7YigpfV9faW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5IG5vbmVcbiAgfVxufVxuXG4uZmllbGQuaXMtZXJyb3I6aG92ZXIsXG4uZmllbGQuaXMtZXJyb3IuaXMtZm9jdXMge1xuICB7YigpfV9fdGl0bGUge1xuICAgIGRpc3BsYXkgbm9uZVxuICB9XG5cbiAge2IoKX1fX2Vycm9yIHtcbiAgICBmbGV4IDEgMSAxMDAlXG4gICAgbWF4LXdpZHRoIG5vbmVcbiAgICB0cmFuc2l0aW9uICR0cmFuc2l0aW9uLW1haW5cbiAgfVxufVxuXG4uZmllbGQuaXMtcmVxdWlyZWQge1xuICB7YigpfV9faW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tcmlnaHQgMFxuICAgIGRpc3BsYXkgbm9uZVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQgJyonXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgdG9wIC0yMHB4XG4gICAgICByaWdodCAwXG4gICAgICAvL2NvbG9yICRjb2xvci13aGl0ZVxuICAgIH1cbiAgfVxufVxuXG4uZmllbGQtaW5wdXQge1xuICB1c2Utc2l6ZSgxOClcbiAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1mYXN0XG4gIGFwcGVhcmFuY2Ugbm9uZVxuICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgZmxleCAxIDEgMTAwJVxuICBkaXNwbGF5IGJsb2NrXG4gIHdpZHRoIDEwMCVcbiAgcGFkZGluZyAxOHB4IDMwcHhcbiAgYm9yZGVyIG5vbmVcbiAgb3V0bGluZSAwXG4gIGNvbG9yICMwMDBcbiAgZm9udC1mYW1pbHkgJGZvbnQtbWFpblxuICBiYWNrZ3JvdW5kLWNvbG9yIHJnYmEod2hpdGUsIDApXG4gIGJvcmRlci1yYWRpdXMgMzBweFxuICBib3gtc2hhZG93IDAgMnB4IDhweCAwIHJnYmEoMTEyLCAxMTYsIDEzMywgMC4xNilcblxuICAmX19jb3VudCB7XG4gICAgLy9jb2xvciAkY29sb3Itd2hpdGVcbiAgICAvL2JhY2tncm91bmQtY29sb3IgJGNvbG9yLWJsdWVcbiAgICBib3JkZXItcmFkaXVzIDUwJVxuICAgIG1pbi13aWR0aCAyMHB4XG4gICAgaGVpZ2h0IDIxcHhcbiAgICBkaXNwbGF5IGlubGluZS1ibG9ja1xuICAgIHRleHQtYWxpZ24gY2VudGVyXG4gICAgcGFkZGluZy1yaWdodCAxcHhcbiAgfVxuICArcGxhY2Vob2xkZXIoKSB7XG4gICAgY29sb3IgJGJhdHRsZXNoaXAtZ3JleVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLy9ib3JkZXItY29sb3IgJGNvbG9yLWJsdWVcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIC8vYm9yZGVyLWNvbG9yICRjb2xvci13aGl0ZVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgLy9ib3JkZXItY29sb3IgJGNvbG9yLWdyZXkteGxpZ2h0ICFpbXBvcnRhbnRcbiAgICAvL2NvbG9yICRjb2xvci1ncmV5ICFpbXBvcnRhbnRcbiAgICAvL2JhY2tncm91bmQgJGNvbG9yLWdyZXktbGlnaHQgIWltcG9ydGFudFxuICAgICtwbGFjZWhvbGRlcigpIHtcbiAgICAgIC8vY29sb3IgJGNvbG9yLWdyZXkgIWltcG9ydGFudFxuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCYge1xuICAgIHVzZXItc2VsZWN0IG5vbmVcbiAgICBwYWRkaW5nLXJpZ2h0ICgxOXB4ICsgMjVweClcblxuICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgZGlzcGxheSBub25lXG4gICAgfVxuICB9XG5cbiAgdGV4dGFyZWEmIHtcbiAgICBtaW4taGVpZ2h0IHVucXVvdGUoJ2NhbGMoJyArIChnZXQtbGluZSgxNCkgKiAyZW0pICsgJyArICcgKyAoNiArIDggKyAyKSArICdweCknKVxuICB9XG5cbiAgZGl2JiB7XG4gICAgb3ZlcmZsb3cgYXV0b1xuICAgIGhlaWdodCB1bnF1b3RlKCdjYWxjKCcgKyAoZ2V0LWxpbmUoMTQpICogM2VtKSArICcgKyAnICsgKDYgKyA4ICsgMikgKyAncHgpJylcbiAgfVxuXG4gIHNwYW4mIHtcbiAgICBjdXJzb3IgcG9pbnRlclxuICAgIG92ZXJmbG93IGhpZGRlblxuICAgIGhlaWdodCB1bnF1b3RlKCdjYWxjKCcgKyAoZ2V0LWxpbmUoMTQpICogMWVtKSArICcgKyAnICsgKDEwICsgMTAgKyAyKSArICdweCknKVxuICAgIHdoaXRlLXNwYWNlIG5vd3JhcFxuICAgIHRleHQtb3ZlcmZsb3cgZWxsaXBzaXNcbiAgfVxufVxuXG4rZG8oNzUwKSB7XG4gIC5maWVsZC1pbnB1dCB7XG4gICAgcGFkZGluZy10b3AgMTRweFxuICAgIHBhZGRpbmctYm90dG9tIDE0cHhcbiAgICBwYWRkaW5nLXJpZ2h0IDI1cHhcbiAgICBwYWRkaW5nLWxlZnQgMjVweFxuICAgIHVzZS1zaXplKDE1KVxuICB9XG59XG5cbi5maWVsZC1ib3gge1xuICAmX190aXRsZSB7XG4gICAgLy91c2Utc2l6ZSgxNilcbiAgICBjb2xvciByZ2JhKCMwMDAsIC41KVxuICAgIG1hcmdpbi1ib3R0b20gNXB4XG4gIH1cblxuICAmX190aXRsZV9nYXAtbWVkaXVtIHtcbiAgICBtYXJnaW4tYm90dG9tIDEycHhcbiAgfVxufVxuXG4rZG8oNzUwKSB7XG4gIC5maWVsZC1ib3gge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZSAxNHB4XG4gICAgfVxuICB9XG59XG5cbi5maWVsZC1zZXQge1xuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4LXdyYXAgd3JhcFxuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgZmxleCAxIDEgYXV0b1xuICAgIGJvcmRlci1yaWdodCAxcHggc29saWQgI0M0QzRDNFxuICB9XG5cbiAgJl9fc2lkZSB7XG4gICAgbWF4LXdpZHRoIDEwMHB4XG4gIH1cbn1cblxuK2RvKDc1MCkge1xuICAuZmllbGQtc2V0IHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgIGZsZXggMSAxIGF1dG9cbiAgICAgIGJvcmRlci1yaWdodCBub25lXG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICB9XG5cbiAgICAmX19zaWRlIHtcbiAgICAgIG1heC13aWR0aCAxMDAlXG4gICAgfVxuICB9XG59XG5cbi5maWVsZF9jbG91ZCB7XG5cbn1cbiIsInBsYWNlaG9sZGVyKCkge1xuICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICB7YmxvY2t9XG4gICB9XG4gICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAge2Jsb2NrfVxuICAgfVxuICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICB7YmxvY2t9XG4gICB9XG4gICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICB7YmxvY2t9XG4gICB9XG59XG4iLCIudGl0bGUsXG4kdGl0bGUge1xuICAgY29sb3IgJGNvbG9yLXRpdGxlXG4gICBmb250LWZhbWlseSAkZm9udC10aXRsZVxuICAgZm9udC13ZWlnaHQgNzAwXG59XG5cbi50aXRsZS1leHRyYSB7XG4gICBAZXh0ZW5kICR0aXRsZVxuICAgdXNlLXNpemUoODIpXG59XG5cbitkbygxMDAwKSB7XG4gICAudGl0bGUtZXh0cmEge1xuICAgICAgdXNlLXNpemUoNDgpXG4gICB9XG59XG5cbitkbyg3NTApIHtcbiAgIC50aXRsZS1leHRyYSB7XG4gICAgICB1c2Utc2l6ZSgzNilcbiAgIH1cbn1cbmgxLFxuLnRpdGxlLWgxIHtcbiAgIEBleHRlbmQgJHRpdGxlXG4gICB1c2Utc2l6ZSg0OClcbn1cbitkbygxMjAwKSB7XG4gICBoMSxcbiAgIC50aXRsZS1oMSB7XG4gICAgICB1c2Utc2l6ZSgzOClcbiAgIH1cbn1cbitkbygxMDAwKSB7XG4gICBoMSxcbiAgIC50aXRsZS1oMSB7XG4gICAgICB1c2Utc2l6ZSgzNilcbiAgIH1cbn1cbitkbyg3NTApIHtcbiAgIGgxLFxuICAgLnRpdGxlLWgxIHtcbiAgICAgIHVzZS1zaXplKDMyKVxuICAgfVxufVxuK2RvKDUwMCkge1xuICAgaDEsXG4gICAudGl0bGUtaDEge1xuICAgICAgdXNlLXNpemUoMjQsMjkpXG4gICB9XG59XG5cbmgyLFxuLnRpdGxlLWgyIHtcbiAgIEBleHRlbmQgJHRpdGxlXG4gICB1c2Utc2l6ZSgzMClcbn1cbitkbyg3NTApIHtcbiAgIGgyLFxuICAgLnRpdGxlLWgyIHtcbiAgICAgIHVzZS1zaXplKDI1KVxuICAgfVxufVxuXG5oMyxcbi50aXRsZS1oMyB7XG4gICBAZXh0ZW5kICR0aXRsZVxuICAgdXNlLXNpemUoMjQpXG4gICBmb250LXdlaWdodCA1MDBcbn1cbitkbyg3NTApIHtcbiAgIGgzLFxuICAgLnRpdGxlLWgzIHtcbiAgICAgIGZvbnQtc2l6ZSAyMnB4XG4gICB9XG59XG5cbmg0LFxuLnRpdGxlLWg0IHtcbiAgIEBleHRlbmQgJHRpdGxlXG4gICB1c2Utc2l6ZSgyMClcbiAgIGZvbnQtd2VpZ2h0IDQwMFxufVxuK2RvKDc1MCkge1xuICAgaDQsXG4gICAudGl0bGUtaDQge1xuICAgICAgdXNlLXNpemUoMTYpXG4gICB9XG59XG4iLCJ0YWJsZSB7XG4gICBib3JkZXItY29sbGFwc2UgY29sbGFwc2VcbiAgIG1hcmdpbiAwXG4gICBwYWRkaW5nIDBcbiAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbSAwXG4gICB9XG59XG5cblxudHIge1xuICAgei1pbmRleCAxXG4gICBwb3NpdGlvbiByZWxhdGl2ZVxufVxuXG50aCxcbnRkIHtcbiAgIGJveC1zaXppbmcgYm9yZGVyLWJveFxuICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgIHZlcnRpY2FsLWFsaWduIHRvcFxufVxuXG50aCB7XG4gICBwYWRkaW5nIDAgMTZweCAxNXB4XG59XG5cbnRkIHtcbiAgIHBhZGRpbmcgMThweCAxNnB4IDE3cHhcbn1cblxudGg6Zmlyc3QtY2hpbGQsXG50ZDpmaXJzdC1jaGlsZCB7XG4gICBwYWRkaW5nLWxlZnQgMFxufVxudGg6bGFzdC1jaGlsZCxcbnRkOmxhc3QtY2hpbGQge1xuICAgcGFkZGluZy1yaWdodCAwXG59XG5cbnRmb290IHtcbiAgIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b20gbm9uZVxuICAgfVxuICAgdGQge1xuICAgICAgcGFkZGluZyAxNXB4IDAgMFxuICAgfVxufVxuIiwiLmxheWVyLWNsb3NlIHtcbiAgIHotaW5kZXggMjAwXG4gICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgc2l6ZSA0MHB4XG4gICB0b3AgMjBweFxuICAgcmlnaHQgMjBweFxuICAgYm9yZGVyIG5vbmVcbiAgICY6OmJlZm9yZSB7XG4gICAgICAvL3N2ZygnY3Jvc3MnLCAyMHB4LCAkY29sb3ItbWFpbilcbiAgICAgIGFsaWduLWNlbnRlcigpXG4gICAgICBjb250ZW50ICcnXG4gICAgICBvcGFjaXR5IC4yXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1tYWluXG4gICB9XG4gICAmOmhvdmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAvL3N2ZygnY3Jvc3MnLCAyMHB4LCAkY29sb3ItcmVkKVxuICAgICAgICAgb3BhY2l0eSAxXG4gICAgICB9XG4gICB9XG4gICAmOmFjdGl2ZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgLy9zdmcoJ2Nyb3NzJywgMjBweCwgJGNvbG9yLXJlZClcbiAgICAgICAgIG9wYWNpdHkgMVxuICAgICAgfVxuICAgfVxufVxuXG5cbi5sYXllciB7XG4gICAkbGF5ZXItcGFkZGluZyA9IDMwcHhcblxuICAgZmxleCAxIDAgYXV0b1xuICAgZGlzcGxheSBmbGV4XG4gICBwb3NpdGlvbiBmaXhlZFxuICAgdHJibCAwXG4gICBiYWNrZ3JvdW5kICNmZmZcbiAgIG1pbi1oZWlnaHQgMTAwJVxuICAgei1pbmRleCAxMjAwXG4gICBvcGFjaXR5IDBcbiAgIHRyYW5zZm9ybSB0cmFuc2xhdGVZKDV2aClcbiAgIHRyYW5zaXRpb24gdHJhbnNmb3JtICR0cmFuc2l0aW9uLW1haW4sIG9wYWNpdHkgJHRyYW5zaXRpb24tbWFpblxuICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICAmX19pbnNpZGUge1xuICAgICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICAgICBmbGV4IDEgMCBhdXRvXG4gICAgICB3aWR0aCAxMDAlXG4gICAgICBwYWRkaW5nIDAgMFxuICAgfVxuICAgJl9fdGl0bGUge1xuICAgICAgcGFkZGluZy1yaWdodCA0MHB4XG4gICB9XG4gICAmX19kZXNjcmlwdGlvbiB7XG4gICB9XG4gICAmX19jb250ZW50IHtcbiAgICAgIGJveC1zaXppbmcgYm9yZGVyLWJveFxuICAgICAgb3ZlcmZsb3cgaGlkZGVuXG4gICAgICB3aWR0aCAxMDAlXG4gICAgICBwYWRkaW5nIDMwcHggJGxheWVyLXBhZGRpbmcgNDBweCAkbGF5ZXItcGFkZGluZ1xuICAgfVxuICAgJl9fZm9vdGVyIHtcbiAgICAgIC8vXG4gICB9XG4gICAmX19oaWdobGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvciAjRkVGNkY2XG4gICAgICBwYWRkaW5nIDE0cHggJGxheWVyLXBhZGRpbmcgMTFweCAkbGF5ZXItcGFkZGluZ1xuICAgICAgbWFyZ2luIDAgLTMwcHhcbiAgIH1cbn1cblxuLmxheWVyLmlzLWFzaWRlIHtcbiAgIHRyYW5zaXRpb24gdHJhbnNmb3JtIC40cyBlYXNlLWluLW91dCwgb3BhY2l0eSAuMHMgZWFzZS1pbi1vdXQgLjRzXG4gICB0cmFuc2Zvcm0gdHJhbnNsYXRlWCgtMTAwJSlcbiAgICYuaXMtb3BlbmVkIHtcbiAgICAgIHRyYW5zaXRpb24gdHJhbnNmb3JtIC40cyBsaW5lYXIsIG9wYWNpdHkgLjRzIGxpbmVhclxuICAgfVxufVxuXG4ubGF5ZXIuaXMtYXNpZGUuaXMtb3BlbmVkIHtcbiAgIHRyYW5zaXRpb24gdHJhbnNmb3JtIC40cyBsaW5lYXIsIG9wYWNpdHkgLjRzIGxpbmVhclxufVxuXG4ubGF5ZXIuaXMtb3BlbmVkIHtcbiAgIHotaW5kZXggMTIxMFxuICAgb3BhY2l0eSAxXG4gICB0cmFuc2Zvcm0gdHJhbnNsYXRlKDAsIDApXG59XG5cbi5sYXllcjpub3QoLmlzLWFuaW1hdGluZykge1xuICAgdHJhbnNmb3JtIG5vbmVcbiAgIHBvc2l0aW9uIHJlbGF0aXZlXG59XG5cbi5sYXllci5pcy1mYWRlZCB7XG4gICBwb2ludGVyLWV2ZW50cyBub25lXG4gICBwb3NpdGlvbiBmaXhlZFxuICAgb3BhY2l0eSAwXG59XG5cbi5sYXllci5pcy1jbG9zaW5nIHtcbiAgIHotaW5kZXggMTIxMFxuICAgcG9zaXRpb24gZml4ZWRcbn1cblxuLmxheWVyOm5vdCguaXMtaW5pdGlhbGl6ZWQpIHtcbiAgIGRpc3BsYXkgbm9uZSAhaW1wb3J0YW50XG59XG5cblxuLmxheWVyX292ZXJsYXkge1xuICAgcG9pbnRlci1ldmVudHMgbm9uZVxuICAgYWxpZ24taXRlbXMgY2VudGVyXG4gICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICBiYWNrZ3JvdW5kIG5vbmVcbn1cblxuLmxheWVyX292ZXJsYXkgLmxheWVyIHtcbiAgICZfX2luc2lkZSB7XG4gICAgICBwb2ludGVyLWV2ZW50cyBhdXRvXG4gICAgICBmbGV4IDAgMSBhdXRvXG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgbWF4LXdpZHRoIDM3MHB4XG4gICAgICB3aWR0aCAxMDAlXG4gICAgICBiYWNrZ3JvdW5kICNmZmZcbiAgICAgIGJveC1zaXppbmcgYm90ZGVyLWJveFxuICAgfVxuICAgJl9fY29udGVudCB7XG4gICAgICB3aWR0aCBhdXRvXG4gICB9XG59XG5cbi5sYXllcl9vdmVybGF5LmlzLW9wZW5lZCB7XG4gICB0cmFuc2Zvcm0gbm9uZVxufVxuXG4rZG8oNzUwKSB7XG4gICAubGF5ZXJfb3ZlcmxheSB7XG4gICAgICBhbGlnbi1pdGVtcyBzdHJldGNoXG4gICAgICAubGF5ZXIge1xuICAgICAgICAgJl9faW5zaWRlIHtcbiAgICAgICAgICAgIG1heC13aWR0aCBub25lXG4gICAgICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uIGNvbHVtblxuICAgICAgICAgfVxuICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uIGNvbHVtblxuICAgICAgICAgICAgZmxleCAxIDEgYXV0b1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4ubGF5ZXJfd2lkZSAubGF5ZXIge1xuICAgJl9faW5zaWRlIHtcbiAgICAgIG1heC13aWR0aCA2MzBweFxuICAgfVxuICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbSAzMHB4XG4gICB9XG59XG4ubGF5ZXJfYWxlcnQgLmxheWVyIHtcbiAgICZfX2ljb24ge1xuICAgICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgc2l6ZSA4NnB4XG4gICAgICBtYXJnaW4tdG9wIDdweFxuICAgICAgbWFyZ2luLWJvdHRvbSAyN3B4XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgICBjb250ZW50ICcnXG4gICAgICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgfVxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICBzaXplIDE0OHB4XG4gICAgICAgICBib3JkZXItcmFkaXVzIDUwJVxuICAgICAgICAgb3BhY2l0eSAuMVxuICAgICAgICAgdG9wIDBcbiAgICAgICAgIGxlZnQgMFxuICAgICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxuICAgICAgfVxuICAgfVxuICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3IgJGNvbG9yLWdyZXlcbiAgIH1cbn1cblxuLmxheWVyX2FsZXJ0X3N1Y2Nlc3MgLmxheWVyIHtcbiAgICZfX2ljb24ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgLy9zdmcoJ2NoZWNrLWNpcmNsZWQnLCA4NnB4LCAkY29sb3ItYmx1ZSlcbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAvL2JhY2tncm91bmQtY29sb3IgJGNvbG9yLWJsdWVcbiAgICAgIH1cbiAgIH1cbn1cbi5sYXllcl9hbGVydF9lcnJvciAubGF5ZXIge1xuICAgJl9faWNvbiB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgICAvL3N2ZygnY3Jvc3MtY2lyY2xlZCcsIDgycHgsICRjb2xvci1yZWQpXG4gICAgICB9XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yICRjb2xvci1yZWRcbiAgICAgIH1cbiAgIH1cbn1cblxuLmxheWVyX292ZXJsYXlfbGVmdCB7XG4gICB0cmFuc2Zvcm0gdHJhbnNsYXRlWCgtMzB2dylcbiAgIGp1c3RpZnktY29udGVudCBmbGV4LXN0YXJ0XG4gICAmLmlzLW9wZW5lZCB7XG4gICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKDAsIDApXG4gICB9XG59XG5cbi5sYXllcl9uYXYge1xuICAgbWF4LXdpZHRoIDMyMHB4XG4gICBwYWRkaW5nLXRvcCAwXG4gICBwYWRkaW5nLWJvdHRvbSAwXG4gICBhbGlnbi1pdGVtcyBzdHJldGNoXG4gICAubGF5ZXIge1xuICAgICAgJl9faW5zaWRlIHtcbiAgICAgICAgIG1heC13aWR0aCBub25lXG4gICAgICAgICBtYXJnaW4gMFxuICAgICAgICAgYm9yZGVyLXJhZGl1cyAwXG4gICAgICAgICAvL2JhY2tncm91bmQgJGNvbG9yLXdoaXRlXG4gICAgICB9XG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgIHBhZGRpbmcgMFxuICAgICAgICAgYm9yZGVyLXJhZGl1cyBub25lXG4gICAgICB9XG4gICB9XG59XG4iLCJhbGlnbi1jZW50ZXIoc2hpZnQgPSAwLCB0cmFuc2Zvcm0gPSBmYWxzZSkge1xuICAgaWYoIXNoaWZ0WzFdKSB7XG4gICAgICBzaGlmdCA9IChzaGlmdCBzaGlmdClcbiAgIH1cbiAgIHRvcCA1MCVcbiAgIGxlZnQgNTAlXG4gICBpZiAoIHRyYW5zZm9ybSApIHtcbiAgICAgIHRyYW5zZm9ybSB0cmFuc2xhdGUoLTUwJSwgLTUwJSlcbiAgIH0gZWxzZSB7XG4gICAgICBtYXJnaW4tdG9wIChAaGVpZ2h0Ly0yKSArIHNoaWZ0WzFdXG4gICAgICBtYXJnaW4tbGVmdCAoQHdpZHRoLy0yKSArIHNoaWZ0WzBdXG4gICB9XG59XG5hbGlnbi1jZW50ZXIteChzaGlmdCA9IDAsIHRyYW5zZm9ybSA9IGZhbHNlKSB7XG4gICBsZWZ0IDUwJVxuICAgaWYgKCB0cmFuc2Zvcm0gKSB7XG4gICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWCgtNTAlKVxuICAgfSBlbHNlIHtcbiAgICAgIG1hcmdpbi1sZWZ0IChAd2lkdGgvLTIpICsgc2hpZnRcbiAgIH1cbn1cbmFsaWduLWNlbnRlci15KHNoaWZ0ID0gMCwgdHJhbnNmb3JtID0gZmFsc2UpIHtcbiAgIHRvcCA1MCVcbiAgIGlmICggdHJhbnNmb3JtICkge1xuICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZVkoLTUwJSlcbiAgIH0gZWxzZSB7XG4gICAgICBtYXJnaW4tdG9wIChAaGVpZ2h0Ly0yKSArIHNoaWZ0XG4gICB9XG59XG4iLCJ0cmJsKCkge1xuICAgaWYgKCBsZW5ndGgoYXJndW1lbnRzKSA9PSAxICkge1xuICAgICAgdG9wIGFyZ3VtZW50c1xuICAgICAgcmlnaHQgYXJndW1lbnRzXG4gICAgICBib3R0b20gYXJndW1lbnRzXG4gICAgICBsZWZ0IGFyZ3VtZW50c1xuICAgfSBlbHNlIGlmICggbGVuZ3RoKGFyZ3VtZW50cykgPT0gMiApIHtcbiAgICAgIHRvcCBhcmd1bWVudHNbMF1cbiAgICAgIHJpZ2h0IGFyZ3VtZW50c1sxXVxuICAgICAgYm90dG9tIGFyZ3VtZW50c1swXVxuICAgICAgbGVmdCBhcmd1bWVudHNbMV1cbiAgIH0gZWxzZSBpZiAoIGxlbmd0aChhcmd1bWVudHMpID09IDMgKSB7XG4gICAgICB0b3AgYXJndW1lbnRzWzBdXG4gICAgICByaWdodCBhcmd1bWVudHNbMV1cbiAgICAgIGJvdHRvbSBhcmd1bWVudHNbMl1cbiAgICAgIGxlZnQgYXJndW1lbnRzWzFdXG4gICB9IGVsc2UgaWYgKCBsZW5ndGgoYXJndW1lbnRzKSA9PSA0ICkge1xuICAgICAgdG9wIGFyZ3VtZW50c1swXVxuICAgICAgcmlnaHQgYXJndW1lbnRzWzFdXG4gICAgICBib3R0b20gYXJndW1lbnRzWzJdXG4gICAgICBsZWZ0IGFyZ3VtZW50c1szXVxuICAgfVxufVxuIiwiLmFib3V0IHtcbiAgYmFja2dyb3VuZC1jb2xvciAkY29sb3ItcHJpbWFyeVxuICBwYWRkaW5nIDQwcHggNjBweFxuICBib3JkZXItcmFkaXVzIDNweFxuICBib3gtc2hhZG93ICRzaGFkb3ctbWFpblxuXG4gICZfX21ham9yIHtcbiAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXkgZmxleFxuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgZmxleCAxXG4gICAgbWFyZ2luLXJpZ2h0IDIwcHhcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4LXdyYXAgd3JhcFxuICAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHVzZS1zaXplKDMwKVxuICAgIGZvbnQtd2VpZ2h0IDcwMFxuICAgIGNvbG9yIHdoaXRlXG4gICAgZmxleCAwIDAgYXV0b1xuICAgIGxpbmUtaGVpZ2h0IDEuMVxuICAgIG1hcmdpbi1yaWdodCAzMHB4XG4gIH1cblxuICAmX19zaWRlIHtcbiAgICBmbGV4IDAgMCBhdXRvXG4gIH1cblxuICAmX19kZXNjIHtcbiAgICBmbGV4IDFcbiAgICBtYXgtd2lkdGggNjYwcHhcbiAgICBjb2xvciByZ2JhKHdoaXRlLCAwLjcpXG5cbiAgICBiIHtcbiAgICAgIGNvbG9yIHJnYmEod2hpdGUsIDEpXG4gICAgfVxuICB9XG59XG5cbi5hYm91dC5hYm91dF9kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvciB0cmFuc3BhcmVudFxuICBib3gtc2hhZG93IG5vbmVcbiAgcG9zaXRpb24gcmVsYXRpdmVcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQgJydcbiAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgIHRvcCAwXG4gICAgYm90dG9tIDBcbiAgICBsZWZ0IC0yNzBweFxuICAgIHJpZ2h0IC0yNzBweFxuICAgIGJvcmRlci1yYWRpdXMgNXB4XG4gICAgYmFja2dyb3VuZC1jb2xvciByZ2JhKDEwMywgMTA0LCAxMTMsIDAuMDMpO1xuICAgIHotaW5kZXggLTFcbiAgfVxuICAuYWJvdXQge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIGNvbG9yICMwMDAwMDBcbiAgICB9XG4gICAgJl9fZGVzYyB7XG4gICAgICBjb2xvciAjNjc2ODcxXG4gICAgICBtYXgtd2lkdGggNTAwcHhcbiAgICB9XG4gIH1cbn1cblxuK2RvKCdtaW4nLCAxMjAwKSB7XG4gIC5hYm91dC5hYm91dF9kYXJrIHtcbiAgICBwYWRkaW5nLXJpZ2h0IDBcbiAgICBwYWRkaW5nLWxlZnQgMFxuICB9XG5cbn1cbitkbygxMjAwKSB7XG4gIC5hYm91dCB7XG4gICAgJl9fbWFpbiB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgfVxuICB9XG59XG5cbitkbyg3NTApIHtcbiAgLmFib3V0IHtcbiAgICBwYWRkaW5nIDQwcHggMjBweFxuICAgIG1hcmdpbi1yaWdodCAtMjBweFxuICAgIG1hcmdpbi1sZWZ0IC0yMHB4XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICB9XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICBtYXJnaW4tYm90dG9tIDQwcHhcbiAgICB9XG4gIH1cbn1cbiIsIi5hY2NvcmRpb24ge1xuICAmX193cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tIDEwcHhcbiAgfVxuICAmX190aXRsZSB7XG4gICAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1tYWluXG5cbiAgICBwYWRkaW5nIDVweCAwcHggMjBweFxuICAgIGJvcmRlci1ib3R0b20gMXB4IHNvbGlkICRncmV5XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1tYWluXG4gICAgcGFkZGluZyAxMHB4IDE1cHhcbiAgICBvcGFjaXR5IDBcbiAgICBkaXNwbGF5IG5vbmVcbiAgfVxuICAmLWl0ZW0ge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAuYWNjb3JkaW9uLWl0ZW1fX3dyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tIDBcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgbWFyZ2luLWJvdHRvbSAxMHB4XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbSAxMHB4XG5cbiAgICAgICYgaW1nIHtcbiAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICBtYXgtd2lkdGggMTAwJVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgLmFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICBvcGFjaXR5IDFcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIGJvcmRlci1ib3R0b20gMXB4IHNvbGlkICRncmV5XG4gICAgfVxuICAgIC5hY2NvcmRpb25fX3RpdGxlIHtcbiAgICAgIGNvbG9yICRjb2xvci1wcmltYXJ5XG4gICAgICBib3JkZXItY29sb3IgJGNvbG9yLXByaW1hcnlcbiAgICB9XG4gIH1cbn1cbiIsIitkbygnbWl3JywgMTIwMCkge1xuICAgLmFuaW1hdGVkLWxvYWQge1xuICAgICAgJl9mbHkge1xuICAgICAgICAgb3BhY2l0eSAwXG4gICAgICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWSgzMHB4KVxuICAgICAgICAgdHJhbnNpdGlvbiAuNzU2cyBlYXNlXG4gICAgICAgICAmLmlzLWFuaW1hdGUge1xuICAgICAgICAgICAgb3BhY2l0eSAxXG4gICAgICAgICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWSgwKVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAuYW5pbWF0ZWQtc2Nyb2xsIHtcbiAgICAgICZfZmx5LXgtcmlnaHQge1xuICAgICAgICAgdHJhbnNpdGlvbiAuNzU2cyBlYXNlXG4gICAgICAgICBvcGFjaXR5IDBcbiAgICAgICAgIHRyYW5zZm9ybSB0cmFuc2xhdGVYKDgwcHgpXG4gICAgICAgICAmLmlzLWFuaW1hdGUge1xuICAgICAgICAgICAgb3BhY2l0eSAxXG4gICAgICAgICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWCgwKVxuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9mbHkteC1sZWZ0IHtcbiAgICAgICAgIHRyYW5zaXRpb24gLjc1NnMgZWFzZVxuICAgICAgICAgb3BhY2l0eSAwXG4gICAgICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWCgtODBweClcbiAgICAgICAgICYuaXMtYW5pbWF0ZSB7XG4gICAgICAgICAgICBvcGFjaXR5IDFcbiAgICAgICAgICAgIHRyYW5zZm9ybSB0cmFuc2xhdGVYKDApXG4gICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX2ZseS15LXRvcCB7XG4gICAgICAgICB0cmFuc2l0aW9uIC43NTZzIGVhc2VcbiAgICAgICAgIG9wYWNpdHkgMFxuICAgICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZVkoODBweClcbiAgICAgICAgIHRyYW5zaXRpb24tZGVsYXkgLjFzXG4gICAgICAgICAmLmlzLWFuaW1hdGUge1xuICAgICAgICAgICAgb3BhY2l0eSAxXG4gICAgICAgICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWSgwKVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLmFydGljbGUge1xuICAmX19pbmZvIHtcblxuICB9XG5cbiAgJl9fd2lkZ2V0cyB7XG4gICAgbWF4LXdpZHRoIDc4MHB4XG4gICAgbWFyZ2luLXJpZ2h0IGF1dG9cbiAgICBtYXJnaW4tbGVmdCBhdXRvXG4gIH1cblxuICAmX19wcmV2aWV3IHtcbiAgICBwYWRkaW5nLWJvdHRvbSAxNXB4XG4gICAgYm9yZGVyLWJvdHRvbSAxcHggc29saWQgcmdiYSgkZ3JleSwgMC4yKVxuICAgIG1hcmdpbi1ib3R0b20gMzBweFxuXG4gICAgJi1zaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tcmlnaHQgYXV0b1xuICAgICAgbWFyZ2luLWxlZnQgYXV0b1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgZGlzcGxheSBibG9ja1xuICAgIG1heC13aWR0aCAxMDAlXG4gIH1cblxuICAmX19pbmZvIHtcbiAgICAmLXdyYXBwZXIge1xuICAgICAgZGlzcGxheSBmbGV4XG4gICAgICBmbGV4LXdyYXAgd3JhcFxuICAgICAganVzdGlmeS1jb250ZW50IHNwYWNlLWJldHdlZW5cbiAgICAgIG1hcmdpbi1sZWZ0IC01cHhcbiAgICAgIG1hcmdpbi1yaWdodCAtNXB4XG4gICAgfVxuXG4gICAgJi1zaWRlLFxuICAgICYtbWFpbiB7XG4gICAgICBtYXJnaW4tbGVmdCA1cHhcbiAgICAgIG1hcmdpbi1yaWdodCA1cHhcbiAgICB9XG4gIH1cbn1cblxuLmFydGljbGUtcGljIHtcbiAgZGlzcGxheSBibG9ja1xuXG4gIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0IGF1dG9cbiAgICBtYXJnaW4tbGVmdCBhdXRvXG4gIH1cblxuICAmX19zaWRlIHtcbiAgICBkaXNwbGF5IGJsb2NrXG4gICAgb3BhY2l0eSAxXG4gICAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1tYWluXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5IDAuOFxuICAgIH1cbiAgfVxuICAmX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcCAyMHB4XG4gICAgcGFkZGluZy1ib3R0b20gMjBweFxuICAgIGJvcmRlci1ib3R0b20gMXB4IHNvbGlkIHJnYmEoJGdyZXksIDAuMilcbiAgfVxufVxuXG4uYXJ0aWNsZS1waWMuYXJ0aWNsZS1waWNfcGxheSB7XG4gIC5hcnRpY2xlLXBpYyB7XG4gICAgYm9yZGVyLXJhZGl1cyA1cHhcbiAgICAmX19zaWRlIHtcbiAgICAgIHBvc2l0aW9uIHJlbGF0aXZlXG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudCAnJ1xuICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgIHRvcCAwXG4gICAgICAgIGxlZnQgMFxuICAgICAgICByaWdodCAwXG4gICAgICAgIGJvdHRvbSAwXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgcmdiYSgkY29sb3ItcHJpbWFyeSwgMC40KVxuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudCAnJ1xuICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgIHdpZHRoIDcwcHhcbiAgICAgICAgaGVpZ2h0IDcwcHhcbiAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgICAgdG9wIDUwJVxuICAgICAgICBsZWZ0IDUwJVxuICAgICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsIC01MCUpXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZSBjb250YWluXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0IG5vLXJlcGVhdFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIGNlbnRlclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIHVybCgnLi4vaW1hZ2VzL2ljb24vcGxheS5zdmcnKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJyYW5kaW5nIHtcbiAgbWluLWhlaWdodCAxMjBweFxuICBiYWNrZ3JvdW5kICB1cmwoJy4uLy4uL2ltYWdlcy9zbWFydGl4LnN2ZycpIHJlcGVhdCAwIDBcbiAgYW5pbWF0aW9uOiBzbGlkZSA1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZSB7XG4gIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTAwcHggMDsgfVxufVxuIiwiLmJyZWFkY3J1bWJzIHtcbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgZmxleC13cmFwIHdyYXBcbiAgICBtYXJnaW4gMCAtNHB4XG4gICAgbWFyZ2luLWJvdHRvbSAtOHB4XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBtYXJnaW4gMCA0cHhcbiAgICBtYXJnaW4tYm90dG9tIDhweFxuICAgIGNvbG9yICRjb2xvci1ibGFja1xuICAgIGZvbnQtd2VpZ2h0IDUwMFxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5IDAuOFxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgICAgIGNvbG9yICRjb2xvci1tYWluXG4gICAgfVxuICB9XG59XG5cbi5icmVhZGNydW1ic19saWdodCB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgJl9faXRlbSB7XG4gICAgICBjb2xvciB3aGl0ZVxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBvcGFjaXR5IDAuNVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNhc2Uge1xuICAmX19zZWN0aW9uIHtcbiAgICBib3JkZXItYm90dG9tIDJweCBzb2xpZCByZ2JhKCM2NzY4NzEsIC4wNSlcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICZfZmlsbCB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgIHotaW5kZXggLTFcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAjRkFGQUZBXG4gICAgICAgIHRvcCAwXG4gICAgICAgIGxlZnQgLTI3MHB4XG4gICAgICAgIHJpZ2h0IC0yNzBweFxuICAgICAgICBjb250ZW50ICcnXG4gICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgYm9yZGVyLXJhZGl1cyA1cHhcbiAgICAgICAgbWFyZ2luLXRvcCA4MHB4XG4gICAgICAgIGJvdHRvbSAxOTBweFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2FzZS1pbnRybyB7XG4gIHBvc2l0aW9uIHJlbGF0aXZlXG5cbiAgJl9fdGl0bGUge1xuICAgIGNvbG9yIHdoaXRlXG4gIH1cblxuICAmX19kZXNjIHtcbiAgICBjb2xvciB3aGl0ZVxuICAgIG9wYWNpdHkgMC42XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICB6LWluZGV4IDVcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICB9XG5cbiAgJl9fc2lkZSB7XG4gICAgZmxleCAwIDAgYXV0b1xuICAgIHdpZHRoIDM4NXB4XG4gICAgbWFyZ2luLXJpZ2h0IDI1cHhcbiAgfVxuXG4gICZfX21haW4ge1xuICAgIGZsZXggMVxuICAgIGRpc3BsYXkgZmxleFxuICAgIGFsaWduLWl0ZW1zIGZsZXgtZW5kXG4gIH1cblxuICAmX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgIGxlZnQgLTEwMHZ3XG4gICAgcmlnaHQgLTEwMHZ3XG4gICAgdG9wIC0xMDB2aFxuICAgIGJvdHRvbSAwXG4gICAgei1pbmRleCAtMVxuICB9XG59XG5cbi5jYXNlLXByZXZpZXcge1xuICBmbGV4IDFcblxuICAmX19pbWFnZXMge1xuICAgIGRpc3BsYXkgZmxleFxuICAgIG1hcmdpbi1yaWdodCAtMTBweFxuICAgIG1hcmdpbi1sZWZ0IC0xMHB4XG4gICAgbWFyZ2luLWJvdHRvbSAtMjBweFxuXG4gICAgJi1pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodCAxMHB4XG4gICAgICBtYXJnaW4tbGVmdCAxMHB4XG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICAgIGJvcmRlci1yYWRpdXMgNXB4IDVweCAwIDBcbiAgICAgIG92ZXJmbG93IGhpZGRlblxuICAgICAgZmxleCAwIDAgYXV0b1xuICAgIH1cbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXkgZmxleFxuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgb3JkZXIgMlxuICAgIGZsZXg6IDAgMCBhdXRvXG4gICAgbWFyZ2luLWxlZnQgYXV0b1xuICB9XG5cbiAgJl9fc2lkZSB7XG4gICAgbWFyZ2luLXJpZ2h0IDEwcHhcbiAgICBmbGV4IDAgMCBhdXRvXG4gICAgb3JkZXIgMVxuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGggMTAwJVxuICAgIGRpc3BsYXkgYmxvY2tcbiAgfVxufVxuXG4uY2FzZS1jb2xsZWN0IHtcbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgZmxleC13cmFwIHdyYXBcbiAgICBtYXJnaW4tbGVmdCAtMTBweFxuICAgIG1hcmdpbi1yaWdodCAtMTBweFxuICAgIG1hcmdpbi1ib3R0b20gLTIwcHhcblxuICAgICYtaXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdCAxMHB4XG4gICAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgICAgbWFyZ2luLWJvdHRvbSAyMHB4XG4gICAgICBtYXgtd2lkdGggY2FsYygxNi42JSAtIDIwcHgpXG4gICAgICBmbGV4LWJhc2lzIEBtYXgtd2lkdGhcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAganVzdGlmeS1jb250ZW50IGNlbnRlclxuICAgICAgYWxpZ24taXRlbXMgY2VudGVyXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5IGJsb2NrXG4gICAgbWF4LXdpZHRoIDEwMCVcbiAgfVxufVxuXG4uY2FzZS1jb2xsZWN0LmNhc2UtY29sbGVjdF80eCB7XG4gIC5jYXNlLWNvbGxlY3Qge1xuICAgICZfX2xpc3Qge1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoIGNhbGMoMjUlIC0gMjBweClcbiAgICAgICAgZmxleC1iYXNpcyBAbWF4LXdpZHRoXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXNlLWNvbGxlY3QuY2FzZS1jb2xsZWN0XzN4IHtcbiAgLmNhc2UtY29sbGVjdCB7XG4gICAgJl9fbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGggY2FsYygzMy4zJSAtIDIwcHgpXG4gICAgICAgIGZsZXgtYmFzaXMgQG1heC13aWR0aFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2FzZS1pbWcge1xuICBvdmVyZmxvdyBoaWRkZW5cbiAgYm9yZGVyLXJhZGl1cyA1cHhcbiAgYm94LXNoYWRvdyAwIDE1cHggMjBweCByZ2JhKDYsIDE0LCAzNSwgMC4wNSk7XG4gIHRyYW5zaXRpb24gJHRyYW5zaXRpb24tbWFpblxuICBkaXNwbGF5IGJsb2NrXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHkgMC44XG4gICAgYm94LXNoYWRvdyAwIDE1cHggMjBweCByZ2JhKDYsIDE0LCAzNSwgMCk7XG4gIH1cbn1cblxuLmNhc2UtbWV0cmljcyB7XG4gICZfX2xpc3Qge1xuICAgIGRpc3BsYXkgZmxleFxuICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgbWFyZ2luLXJpZ2h0IC0xMHB4XG4gICAgbWFyZ2luLWxlZnQgLTEwcHhcbiAgICBtYXJnaW4tYm90dG9tIC0yMHB4XG4gICAganVzdGlmeS1jb250ZW50IHNwYWNlLWJldHdlZW5cbiAgICAmLWl0ZW0ge1xuICAgICAgbWFyZ2luLXJpZ2h0IDEwcHhcbiAgICAgIG1hcmdpbi1sZWZ0IDEwcHhcbiAgICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgICAgZGlzcGxheSBmbGV4XG4gICAgfVxuICB9XG4gICZfX2l0ZW0ge1xuICAgICYtbWFpbiB7XG4gICAgICBmb250LXdlaWdodCA3MDBcbiAgICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgICAgdXNlLXNpemUoNjgpXG4gICAgICBjb2xvciAkY29sb3ItcHJpbWFyeVxuICAgIH1cbiAgICAmLXNpZGUge1xuXG4gICAgfVxuICB9XG59XG4rZG8oMTIwMCkge1xuICAuY2FzZS1wcmV2aWV3IHtcbiAgICAmX19pbWFnZXMge1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoIDE2MHB4XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbitkbygxMDAwKSB7XG4gIC5jYXNlLWludHJvIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICB9XG5cbiAgICAmX19zaWRlIHtcbiAgICAgIHdpZHRoIGF1dG9cbiAgICAgIG1hcmdpbi1ib3R0b20gNDBweFxuICAgIH1cbiAgfVxuICAuY2FzZS1jb2xsZWN0IHtcbiAgICAmX19saXN0IHtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgIG1heC13aWR0aCBjYWxjKDMzLjMzJSAtIDIwcHgpXG4gICAgICAgIGZsZXgtYmFzaXMgQG1heC13aWR0aFxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY2FzZS1jb2xsZWN0LmNhc2UtY29sbGVjdF80eCB7XG4gICAgLmNhc2UtY29sbGVjdCB7XG4gICAgICAmX19saXN0IHtcbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICBtYXgtd2lkdGggY2FsYygzMy4zMyUgLSAyMHB4KVxuICAgICAgICAgIGZsZXgtYmFzaXMgQG1heC13aWR0aFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jYXNlLW1ldHJpY3Mge1xuICAgICZfX2xpc3Qge1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoIGNhbGMoNTAlIC0gMjBweClcbiAgICAgICAgZmxleC1iYXNpcyBAbWF4LXdpZHRoXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbitkbyg3NTApIHtcbiAgLmNhc2UtcHJldmlldyB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICB9XG4gIH1cblxuICAuY2FzZS1tZXRyaWNzIHtcbiAgICAmX19saXN0IHtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgIG1heC13aWR0aCBjYWxjKDEwMCUgLSAyMHB4KVxuICAgICAgICBmbGV4LWJhc2lzIEBtYXgtd2lkdGhcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNhc2UtY29sbGVjdC5jYXNlLWNvbGxlY3RfM3gsXG4gIC5jYXNlLWNvbGxlY3QuY2FzZS1jb2xsZWN0XzR4IHtcbiAgICAuY2FzZS1jb2xsZWN0IHtcbiAgICAgICZfX2xpc3Qge1xuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgIG1heC13aWR0aCBjYWxjKDEwMCUgLSAyMHB4KVxuICAgICAgICAgIGZsZXgtYmFzaXMgQG1heC13aWR0aFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbitkbyg1MDApIHtcbiAgLmNhc2UtcHJldmlldyB7XG4gICAgJl9faW1hZ2VzIHtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgIG1heC13aWR0aCAxMzBweFxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY2FzZS1jb2xsZWN0IHtcbiAgICAmX19saXN0IHtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgIG1heC13aWR0aCBjYWxjKDUwJSAtIDIwcHgpXG4gICAgICAgIGZsZXgtYmFzaXMgQG1heC13aWR0aFxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY2FzZS1jb2xsZWN0LmNhc2UtY29sbGVjdF8zeCxcbiAgLmNhc2UtY29sbGVjdC5jYXNlLWNvbGxlY3RfNHgge1xuICAgIC5jYXNlLWNvbGxlY3Qge1xuICAgICAgJl9fbGlzdCB7XG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgbWF4LXdpZHRoIGNhbGMoMTAwJSAtIDIwcHgpXG4gICAgICAgICAgZmxleC1iYXNpcyBAbWF4LXdpZHRoXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jYXNlLWNhcmQge1xuICBib3JkZXIgMXB4IHNvbGlkICNFMUUxRTNcbiAgYm9yZGVyLXJhZGl1cyA1cHhcbiAgcGFkZGluZyAzMHB4XG4gIGRpc3BsYXkgZmxleFxuICBmbGV4IDFcbiAgbWluLWhlaWdodCAyNjBweFxuICBwb3NpdGlvbiByZWxhdGl2ZVxuICBjb2xvciBpbmhlcml0ICFpbXBvcnRhbnRcbiAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1tYWluXG5cbiAgJl9fd3JhcHBlciB7XG4gICAgZmxleCAxXG4gICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICB6LWluZGV4IDVcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4LWRpcmVjdGlvbiBjb2x1bW5cbiAgfVxuXG4gICZfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgdG9wIDBcbiAgICBsZWZ0IDBcbiAgICByaWdodCAwXG4gICAgYm90dG9tIDBcbiAgICBvcGFjaXR5IDBcbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgZmxleCAwIDAgYXV0b1xuICAgIG1hcmdpbi1ib3R0b20gMjBweFxuXG4gICAgJi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgYWxpZ24taXRlbXMgY2VudGVyXG4gICAgfVxuXG4gICAgJi1zaWRlIHtcbiAgICAgIGZsZXggMCAwIGF1dG9cbiAgICB9XG5cbiAgICAmLW1haW4ge1xuICAgICAgZmxleCAxXG4gICAgICBtYXJnaW4tcmlnaHQgMjBweFxuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBjb2xvciAjMTUxMzEzXG4gICAgZm9udC1zaXplIDI0cHhcbiAgICBmb250LXdlaWdodCA3MDBcbiAgICBsaW5lLWhlaWdodCAxLjJcbiAgfVxuXG4gICZfX2ljb24ge1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgZmxleCAxXG4gICAgbWFyZ2luLWJvdHRvbSAxMHB4XG4gIH1cblxuICAmX19kZXNjIHtcbiAgICBmb250LXdlaWdodCA1MDBcbiAgICB1c2Utc2l6ZSgxNClcbiAgfVxuXG4gICZfX2Zvb3RlciB7XG4gICAgZmxleCAwIDAgYXV0b1xuICB9XG5cbiAgJl9fbW9yZSB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgYWxpZ24taXRlbXMgY2VudGVyXG5cbiAgICAmLWNhcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICBvdmVyZmxvdyBoaWRkZW5cbiAgICAgIG1heC13aWR0aCAwXG4gICAgICBkaXNwbGF5IGlubGluZS1ibG9ja1xuICAgIH1cbiAgfVxufVxuXG4uY2FzZS1jYXJkOmhvdmVyIHtcbiAgLmNhc2UtY2FyZCB7XG4gICAgJl9fdGl0bGUsXG4gICAgJl9fZGVzYyxcbiAgICAmX19tb3JlIHtcbiAgICAgIGNvbG9yIHdoaXRlXG4gICAgfVxuXG4gICAgJl9fbW9yZSB7XG4gICAgICAmLWNhcHRpb24ge1xuICAgICAgICBtYXgtd2lkdGggOTk5cHhcbiAgICAgICAgbWFyZ2luLXJpZ2h0IDEwcHhcbiAgICAgIH1cbiAgICB9XG5cblxuICAgICZfX2ljb24ge1xuICAgICAgZmlsdGVyIGJyaWdodG5lc3MoMTApXG4gICAgfVxuXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICBvcGFjaXR5IDFcbiAgICB9XG4gIH1cblxuICAuaWNvbi1zdmcge1xuICAgIGZpbHRlciBicmlnaHRuZXNzKDEwKVxuICB9XG59XG5cbitkbyg3NTApIHtcbiAgLmNhc2UtY2FyZCB7XG4gICAgcGFkZGluZyAyMHB4IDE1cHhcbiAgfVxufVxuIiwiLmNvbGxlY3Rpb24ge1xuICAmX19zaWRlIHtcbiAgfVxuXG4gICZfX21haW4ge1xuICB9XG5cbiAgJl9fbGlzdCB7XG4gIH1cblxuICAmX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG5cbiAgICAmLWl0ZW0ge1xuICAgIH1cbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIGRpc3BsYXkgZmxleFxuICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgbWFyZ2luLWxlZnQgLTEwcHhcbiAgICBtYXJnaW4tcmlnaHQgLTEwcHhcbiAgICBtYXJnaW4tYm90dG9tIC0yMHB4XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgZmxleCAxXG4gICAgICBtYXgtd2lkdGggY2FsYygzMyUgLSAyMHB4KVxuICAgICAgZmxleC1iYXNpcyBAbWF4LXdpZHRoXG4gICAgICBtYXJnaW4tbGVmdCAxMHB4XG4gICAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgICAgbWFyZ2luLWJvdHRvbSAyMHB4XG4gICAgICBkaXNwbGF5IGZsZXhcblxuICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5IG5vbmVcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNvbGxlY3Rpb25fX2xpc3RfMngge1xuICAuY29sbGVjdGlvbiB7XG4gICAgJl9fbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBmbGV4IDFcbiAgICAgICAgbWF4LXdpZHRoIGNhbGMoNTAlIC0gMjBweClcbiAgICAgICAgZmxleC1iYXNpcyBAbWF4LXdpZHRoXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbitkbygxMDAwKSB7XG4gIC5jb2xsZWN0aW9uIHtcbiAgICAmX19saXN0IHtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgIGZsZXggMVxuICAgICAgICBtYXgtd2lkdGggY2FsYyg1MCUgLSAyMHB4KVxuICAgICAgICBmbGV4LWJhc2lzIEBtYXgtd2lkdGhcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuK2RvKDc1MCkge1xuICAuY29sbGVjdGlvbiB7XG4gICAgJl9fbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBmbGV4IDFcbiAgICAgICAgbWF4LXdpZHRoIGNhbGMoMTAwJSAtIDIwcHgpXG4gICAgICAgIGZsZXgtYmFzaXMgQG1heC13aWR0aFxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY29sbGVjdGlvbl9fbGlzdF8yeCB7XG4gICAgLmNvbGxlY3Rpb24ge1xuICAgICAgJl9fbGlzdCB7XG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgZmxleCAxXG4gICAgICAgICAgbWF4LXdpZHRoIGNhbGMoMTAwJSAtIDIwcHgpXG4gICAgICAgICAgZmxleC1iYXNpcyBAbWF4LXdpZHRoXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jb2xzLWxpc3Qge1xuICAmX19saXN0IHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBtYXJnaW4tcmlnaHQgLTYwcHhcbiAgICBtYXJnaW4tbGVmdCAtNjBweFxuICAgIG1hcmdpbi1ib3R0b20gLTIwcHhcbiAgICAmLWl0ZW0ge1xuICAgICAgbWFyZ2luLXJpZ2h0IDYwcHhcbiAgICAgIG1hcmdpbi1sZWZ0IDYwcHhcbiAgICAgIG1heC13aWR0aCBjYWxjKDUwJSAtIDEyMHB4KVxuICAgICAgZmxleC1iYXNpcyBAbWF4LXdpZHRoXG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICB9XG4gIH1cbn1cblxuK2RvKDEwMDApIHtcbiAgLmNvbHMtbGlzdCB7XG4gICAgJl9fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQgLTMwcHhcbiAgICAgIG1hcmdpbi1sZWZ0IC0zMHB4XG5cbiAgICAgICYtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodCAzMHB4XG4gICAgICAgIG1hcmdpbi1sZWZ0IDMwcHhcbiAgICAgICAgbWF4LXdpZHRoIGNhbGMoNTAlIC0gNjBweClcbiAgICAgICAgZmxleC1iYXNpcyBAbWF4LXdpZHRoXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4rZG8oNzUwKSB7XG4gIC5jb2xzLWxpc3Qge1xuICAgICZfX2xpc3Qge1xuICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoIG5vbmVcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jb250YWN0cyB7XG4gICZfX2NhcHRpb24ge1xuICAgIGZsZXggMVxuICAgIG1heC13aWR0aCA0MDBweFxuICB9XG4gICZfX21hcCB7XG4gICAgbWluLWhlaWdodCA1MDBweFxuICB9XG4gICZfX21haW4ge1xuICAgIG1heC13aWR0aCAxNTE1cHhcbiAgICBtYXJnaW4tcmlnaHQgYXV0b1xuICAgIG1hcmdpbi1sZWZ0IGF1dG9cbiAgICBkaXNwbGF5IGZsZXhcbiAgICBiYWNrZ3JvdW5kLWNvbG9yICNGQUZBRkFcbiAgICAmLWRlc2Mge1xuICAgICAgZmxleCAxXG4gICAgICBwYWRkaW5nIDIwcHhcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgYWxpZ24taXRlbXMgY2VudGVyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICAgfVxuICAgICYtbWFwIHtcbiAgICAgIGZsZXggMVxuICAgICAgbWluLWhlaWdodCA1MDBweFxuICAgIH1cbiAgfVxufVxuXG4rZG8oMTAwMCkge1xuICAuY29udGFjdHMge1xuICAgICZfX21haW4ge1xuICAgICAgZGlzcGxheSBibG9ja1xuICAgIH1cbiAgICAmX19jYXB0aW9uICB7XG4gICAgICBtYXgtd2lkdGggbm9uZVxuICAgIH1cbiAgfVxufVxuIiwiLmNvb3BlcmF0aW9uIHtcbiAgY29sb3Igd2hpdGVcblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbSAzMHB4XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgIGJhY2tncm91bmQtY29sb3IgJGNvbG9yLXByaW1hcnlcbiAgICBwYWRkaW5nIDYwcHhcbiAgICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgICBib3JkZXItcmFkaXVzIDNweFxuICAgIG92ZXJmbG93IGhpZGRlblxuICB9XG5cbiAgJl9fZGVzYyB7XG4gICAgbWFyZ2luLWJvdHRvbSA0NXB4XG4gICAgY29sb3IgcmdiYSh3aGl0ZSwgMC42KVxuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgbWF4LXdpZHRoIDUwMHB4XG4gIH1cblxuICAmX19hY3Rpb24ge1xuICAgIG1heC13aWR0aCAyNDBweFxuICB9XG5cbiAgJl9fc2lkZSB7XG4gICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICBib3R0b20gMFxuICAgIHJpZ2h0IDBcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvciB3aGl0ZVxuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5IGJsb2NrXG4gICAgbWF4LXdpZHRoIDEwMCVcbiAgfVxufVxuXG4rZG8oMTIwMCkge1xuICAuY29vcGVyYXRpb24ge1xuICAgICZfX3NpZGUge1xuICAgICAgcmlnaHQgLTE0MHB4XG4gICAgfVxuICB9XG59XG5cbitkbygxMDAwKSB7XG4gIC5jb29wZXJhdGlvbiB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBtYXJnaW4tcmlnaHQgLTIwcHhcbiAgICAgIG1hcmdpbi1sZWZ0IC0yMHB4XG4gICAgICBwYWRkaW5nIDIwcHhcbiAgICAgIHBhZGRpbmctYm90dG9tIDBcbiAgICB9XG4gICAgJl9fc2lkZSB7XG4gICAgICBwb3NpdGlvbiBzdGF0aWNcbiAgICB9XG4gIH1cbn1cbiIsIi5kZXZlbG9wbWVudCB7XG4gICZfX2Rlc2Mge1xuICAgIG1heC13aWR0aCAxMDIwcHhcbiAgICBmb250LXdlaWdodCA1MDBcblxuICAgICYtY29scyB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgc3BhY2UtYmV0d2VlblxuICAgICAgbWFyZ2luLXJpZ2h0IC0xMHB4XG4gICAgICBtYXJnaW4tbGVmdCAtMTBweFxuICAgICAgbWFyZ2luLWJvdHRvbSAtMTBweFxuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgICAgbWFyZ2luLWxlZnQgMTBweFxuICAgICAgbWFyZ2luLWJvdHRvbSAxMHB4XG4gICAgICBtYXgtd2lkdGggNDMwcHhcbiAgICB9XG4gIH1cbiAgJl9fbWFqb3Ige1xuICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudCAnJ1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgIGJvdHRvbSAwXG4gICAgICBoZWlnaHQgMXB4XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yICRncmV5LXh4eGxpZ2h0XG4gICAgICB3aWR0aCAxMDB2d1xuICAgICAgbGVmdCA1MCVcbiAgICAgIHRyYW5zZm9ybSB0cmFuc2xhdGVYKC01MCUpXG4gICAgICBvcGFjaXR5IDAuOFxuICAgIH1cbiAgfVxufVxuIiwiLmRyb3AtbWVudSB7XG4gIHBhZGRpbmcgMTVweCAyNXB4XG5cbiAgJl9fbmF2LWl0ZW0ge1xuICAgIHdpZHRoIDEwMCVcbiAgICBtYXJnaW4tYm90dG9tIDEwcHhcbiAgfVxuXG4gICZfX25hdi1saW5rIHtcbiAgICB3aGl0ZS1zcGFjZSBub3dyYXBcbiAgfVxufVxuIiwiLmZvb3Rlci1maXhlZCB7XG4gIHBvc2l0aW9uIGZpeGVkXG4gIGJvdHRvbSAwXG4gIGxlZnQgMFxuICByaWdodCAwXG4gIHotaW5kZXggNDAwXG4gIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgbWFyZ2luLWJvdHRvbSA4MHB4XG4gICZfX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gIH1cbiAgJl9fYWN0aW9uIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBqdXN0aWZ5LWNvbnRlbnQgZmxleC1lbmRcbiAgICAmLW1haW4ge1xuICAgICAgc2l6ZSA0MHB4XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yIHdoaXRlXG4gICAgICBib3JkZXIgMnB4IHNvbGlkIHJnYmEoJGNvbG9yLXByaW1hcnksIDEpXG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgYm9yZGVyLXJhZGl1cyA1MCVcbiAgICAgIG9wYWNpdHkgMFxuICAgICAgcG9pbnRlci1ldmVudHMgbm9uZVxuICAgICAgY3Vyc29yIHBvaW50ZXJcbiAgICAgIHRyYW5zaXRpb24gLjNzIGVhc2Ugb3BhY2l0eVxuICAgICAgYm94LXNoYWRvdyAwIDAgMTVweCByZ2JhKDE1OCwgMTU4LCAxNTgsIDAuNClcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudCAnJ1xuICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgIHRvcCA1MCVcbiAgICAgICAgbGVmdCA1MCVcbiAgICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMTgwZGVnKVxuICAgICAgICBtYXJnaW4tdG9wIC0xcHhcbiAgICAgICAgc3ZnKCdhcnJvdy1kb3duJywgMThweCwgJGNvbG9yLXByaW1hcnkpXG4gICAgICB9XG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHkgMC45XG4gICAgICAgIHBvaW50ZXItZXZlbnRzIGF1dG9cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eSAxXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuK2RvKDc1MCkge1xuICAuZm9vdGVyLWZpeGVkIHtcbiAgICBtYXJnaW4tYm90dG9tIDEwMHB4XG4gIH1cbn1cbiIsIi5mb290ZXIge1xuICBiYWNrZ3JvdW5kICRkYXJrLWdyZXlcblxuICAmX19tYWpvciB7XG4gICAgcGFkZGluZy10b3AgOTBweFxuICAgIHBhZGRpbmctYm90dG9tIDUwcHhcbiAgICBib3JkZXItYm90dG9tIDJweCBzb2xpZCByZ2JhKCR3aGl0ZSwgLjA1KVxuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICB1c2Utc2l6ZSgyMClcbiAgICBjb2xvciAkd2hpdGVcbiAgICBmb250LXdlaWdodCA2MDBcbiAgICBtYXJnaW4tYm90dG9tIDEwcHhcbiAgfVxuXG4gICZfX21hcCB7XG4gICAgZGlzcGxheSBpbmxpbmUtYmxvY2tcbiAgICB1c2Utc2l6ZSgxNClcbiAgICBmb250LXdlaWdodCA1MDBcbiAgICBwYWRkaW5nLWxlZnQgMjBweFxuICAgIGNvbG9yICRjb2xvci1wcmltYXJ5ICFpbXBvcnRhbnRcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHkgMC41XG4gICAgfVxuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgJl9ob3Jpem9udGFsIHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgIH1cbiAgICAmLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbSAxMHB4XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b20gMFxuICAgICAgfVxuICAgIH1cbiAgICAmLWhlYWRlciB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIG1hcmdpbi1ib3R0b20gMTZweFxuICAgIH1cbiAgfVxuXG4gICZfX2NhbGx0aW1lIHtcbiAgICB1c2Utc2l6ZSgxNClcbiAgICBmb250LXdlaWdodCA1MDBcbiAgICBwYWRkaW5nLWxlZnQgMjBweFxuICAgIG1hcmdpbi1ib3R0b20gMjZweFxuICAgIGNvbG9yIHJnYmEoIzY3Njg3MSwgMC43KVxuICB9XG5cbiAgLy53b3JraW1lLFxuICAmX193b3JrdGltZSB7XG4gICAgbWFyZ2luLWxlZnQgMjBweFxuICAgIHBhZGRpbmcgNXB4IDE1cHhcbiAgICBiYWNrZ3JvdW5kLWNvbG9yICNCOUU1QzJcbiAgICBjb2xvciAjMTRBNzM1XG4gICAgdXNlLXNpemUoMTQpXG4gICAgZm9udC13ZWlnaHQgNTAwXG4gICAgZGlzcGxheSBpbmxpbmUtYmxvY2tcbiAgICBib3JkZXItcmFkaXVzIDVweFxuICAgICYuaXMtZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvciAjRkRCM0IzXG4gICAgICBjb2xvciAjRjcwMDAwXG4gICAgfVxuICAgICZfc21hbGwge1xuICAgICAgcGFkZGluZyAwXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zcGFyZW50XG4gICAgfVxuICB9XG5cbiAgJl9fbWlub3Ige1xuICAgIHBhZGRpbmctdG9wIDM1cHhcbiAgICBwYWRkaW5nLWJvdHRvbSAzNXB4XG4gIH1cblxuICAmX19zaWRlIHtcbiAgICBtYXJnaW4tYm90dG9tIDQwcHhcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICB1c2Utc2l6ZSgzMilcbiAgICBmb250LXdlaWdodCA3MDBcbiAgICBjb2xvciAkY29sb3ItdGl0bGVcbiAgfVxuXG4gICZfX2NvbHMge1xuICAgIG1heC13aWR0aCAxMDAwcHhcblxuICAgICZfbGFyZ2Uge1xuICAgICAgbWF4LXdpZHRoIHVuc2V0XG4gICAgfVxuXG4gICAgJi1saXN0IHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgbWFyZ2luLXJpZ2h0IC0xNXB4XG4gICAgICBtYXJnaW4tbGVmdCAtMTVweFxuICAgICAganVzdGlmeS1jb250ZW50IHNwYWNlLWJldHdlZW5cbiAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICBtYXJnaW4tYm90dG9tIDgwcHhcblxuICAgICAgJl9zdGFydCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudCBmbGV4LXN0YXJ0XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b20gLTEwcHhcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgZmxleCAxIDAgYXV0b1xuICAgICAgbWFyZ2luLXJpZ2h0IDE1cHhcbiAgICAgIG1hcmdpbi1sZWZ0IDE1cHhcbiAgICAgIG1hcmdpbi1ib3R0b20gMTBweFxuXG4gICAgICAmX21hcCB7XG4gICAgICAgIG1heC13aWR0aCAyNjBweFxuICAgICAgfVxuXG4gICAgICAmXzR4IHtcbiAgICAgICAgZmxleCAwIDAgY2FsYygyNSUgLSAzMHB4KVxuICAgICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICAgIH1cblxuICAgICAgJl9saW5rcyB7XG4gICAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQgZmxleC1lbmRcbiAgICAgIH1cbiAgICAgICZfcHJvZHVjdHMge1xuICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAganVzdGlmeS1jb250ZW50IGNlbnRlclxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvcHlyaWdodCB7XG4gICAgdXNlLXNpemUoMTIpXG4gICAgY29sb3IgcmdiYSgkd2hpdGUsIC41KVxuXG4gICAgJi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgZmxleC13cmFwIHdyYXBcbiAgICAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICAgIH1cblxuICAgICYtc2lkZSB7XG4gICAgICBmbGV4IDAgMCBhdXRvXG4gICAgfVxuXG4gICAgJi1tYWluIHtcbiAgICAgIGZsZXggMVxuICAgICAgbWFyZ2luLXJpZ2h0IDEwcHhcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci5mb290ZXJfc2ltcGxlIHtcbiAgLmZvb3RlciB7XG4gICAgJl9fbWFwLFxuICAgICZfX3NpZGUge1xuICAgICAgZGlzcGxheSBub25lXG4gICAgfVxuICAgICZfX21ham9yIHtcbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgIH1cbiAgICAmX19taW5vciB7XG4gICAgICBib3JkZXItdG9wIDFweCBzb2xpZCByZ2JhKCRncmV5LCAwLjIpXG4gICAgfVxuICB9XG59XG4uZm9vdGVyLWNvbHNfY29udGFjdHMge1xuICAuZm9vdGVyIHtcbiAgICAmX19jb2xzIHtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgICZfbGlua3Mge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudCBpbml0aWFsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbitkbygxMDAwKSB7XG4gIC5mb290ZXIge1xuICAgICZfX2NvbHMge1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgJl80eCB7XG4gICAgICAgICAgZmxleCAwIDAgY2FsYyg1MCUgLSAzMHB4KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4rZG8oODUwKSB7XG4gIC5mb290ZXIge1xuICAgICZfX2NvbHMge1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgJl9saW5rcyB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50IGluaXRpYWxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4rZG8oNzUwKSB7XG4gIC5mb290ZXIge1xuICAgICZfX3dvcmt0aW1lIHtcbiAgICAgIG1hcmdpbi1sZWZ0IDBweFxuICAgIH1cbiAgICAmX19saXN0IHtcbiAgICAgICYtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgfVxuICAgICAgJl9ob3Jpem9udGFsIHtcbiAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgfVxuICAgIH1cbiAgICAmX19zaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b20gMTVweFxuICAgIH1cblxuICAgICZfX21ham9yIHtcbiAgICAgIHBhZGRpbmctdG9wIDQwcHhcbiAgICAgIHBhZGRpbmctYm90dG9tIDQwcHhcbiAgICB9XG5cbiAgICAmX19taW5vciB7XG4gICAgICBwYWRkaW5nLXRvcCAxNXB4XG4gICAgICBwYWRkaW5nLWJvdHRvbSAxNXB4XG4gICAgfVxuXG4gICAgJl9fY29scyB7XG4gICAgICAmLWxpc3Qge1xuICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgIG1hcmdpbi1ib3R0b20gMTBweFxuICAgICAgfVxuXG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tIDIwcHhcblxuICAgICAgICAmX2xpbmtzIHtcbiAgICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgIH1cbiAgICAgICAgJl9wcm9kdWN0cyB7XG4gICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbSAwXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbitkbyg1MDApIHtcbiAgLmZvb3RlciB7XG4gICAgJl9fY29weXJpZ2h0IHtcbiAgICAgICAmLXdyYXBwZXIge1xuICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgIH1cbiAgICAgICYtbWFpbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodCAwXG4gICAgICAgIG1hcmdpbi1ib3R0b20gMTVweFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZ1bmN0aW9ucy1pdGVtIHtcbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheSBmbGV4XG4gIH1cblxuICAmX19zaWRlIHtcbiAgICBmbGV4IDAgMCBhdXRvXG4gICAgbWFyZ2luLXJpZ2h0IDEwMHB4XG4gIH1cblxuICAmX19tYWluIHtcbiAgICBmbGV4IDFcbiAgICBwYWRkaW5nLXRvcCA0MHB4XG4gICAgbWF4LXdpZHRoIDUwMHB4XG4gIH1cblxuICAmX19jb3VudGVyIHtcbiAgICBtYXJnaW4tYm90dG9tIDQwcHhcbiAgICBmb250LXdlaWdodCA3MDBcbiAgICBjb2xvciAkZ3JleS14eGRhcmtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICBmb250LXdlaWdodCA3MDBcbiAgICB1c2Utc2l6ZSgyMClcbiAgICBjb2xvciAkY29sb3ItYmxhY2tcbiAgfVxuXG4gICZfX2Rlc2Mge1xuICAgIGZvbnQtd2VpZ2h0IDUwMFxuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5IGJsb2NrXG4gICAgbWF4LXdpZHRoIDEwMCVcbiAgfVxufVxuXG4uZnVuY3Rpb25zLWl0ZW0uZnVuY3Rpb25zLWl0ZW1fcmV2ZXJzZSB7XG4gIC5mdW5jdGlvbnMtaXRlbSB7XG4gICAgJl9fc2lkZSB7XG4gICAgICBvcmRlciAyXG4gICAgICBtYXJnaW4tcmlnaHQgMFxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgb3JkZXIgMVxuICAgICAgbWFyZ2luLXJpZ2h0IDEwMHB4XG4gICAgfVxuICB9XG59XG5cbitkbygxMDAwKSB7XG4gIC5mdW5jdGlvbnMtaXRlbSB7XG4gICAgJl9fc2lkZSB7XG4gICAgICB3aWR0aCAzMDBweFxuICAgICAgbWFyZ2luLXJpZ2h0IDYwcHhcbiAgICB9XG4gIH1cblxuXG4gIC5mdW5jdGlvbnMtaXRlbS5mdW5jdGlvbnMtaXRlbV9yZXZlcnNlIHtcbiAgICAuZnVuY3Rpb25zLWl0ZW0ge1xuICAgICAgJl9fc2lkZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodCAwXG4gICAgICB9XG5cbiAgICAgICZfX21haW4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQgNjBweFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbitkbyg3NTApIHtcbiAgLmZ1bmN0aW9ucy1pdGVtIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICB9XG5cbiAgICAmX19jb3VudGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgIH1cblxuICAgICZfX3NpZGUge1xuICAgICAgd2lkdGggYXV0b1xuICAgICAgbWFyZ2luLXJpZ2h0IGF1dG9cbiAgICAgIG1hcmdpbi1ib3R0b20gMzBweFxuICAgIH1cbiAgfVxufVxuIiwiLmdhbGxlcnktc2xpZGVyIHtcbiAgcG9zaXRpb24gcmVsYXRpdmVcblxuICAmX19saXN0IHtcbiAgICAmLmlzLWxvY2sge1xuICAgICAgb3BhY2l0eSAwLjlcbiAgICAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgICB9XG4gIH1cblxuICAmX19uYXYge1xuICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgcmlnaHQgLTgwcHhcbiAgICBsZWZ0IC04MHB4XG4gICAgei1pbmRleCA1XG4gICAgcGFkZGluZyAwXG4gICAgdG9wIDUwJVxuICAgIHRyYW5zZm9ybSB0cmFuc2xhdGVZKC01MCUpXG4gICAgcG9pbnRlci1ldmVudHMgbm9uZVxuXG4gICAgJi1saXN0IHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAganVzdGlmeS1jb250ZW50IHNwYWNlLWJldHdlZW5cbiAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICBtYXJnaW4gMCAtM3B4XG4gICAgfVxuICB9XG5cbiAgJl9fbGluayB7XG4gICAgZGlzcGxheSBibG9ja1xuICAgIHRyYW5zaXRpb24gLjNzIGVhc2VcbiAgICBtaW4taGVpZ2h0IDkwcHhcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIGNlbnRlclxuICAgIGJhY2tncm91bmQtcmVwZWF0IG5vLXJlcGVhdFxuICAgIGJhY2tncm91bmQtc2l6ZSBjb3ZlclxuXG4gICAgJl9iZy1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplIGNvbnRhaW5cbiAgICB9XG4gIH1cblxuICAmX19kZXNjIHtcblxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheSBub25lXG4gICAgb3ZlcmZsb3cgaGlkZGVuXG4gICAgYm9yZGVyIDFweCBzb2xpZCByZ2JhKCRjb2xvci1wcmltYXJ5LCAwKVxuICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgY3Vyc29yIHBvaW50ZXJcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudCAnJ1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgIHRvcCAwXG4gICAgICBsZWZ0IDBcbiAgICAgIHJpZ2h0IDBcbiAgICAgIGJvdHRvbSAwXG4gICAgICB6LWluZGV4IDk5XG4gICAgICBwb2ludGVyLWV2ZW50cyBub25lXG4gICAgICBvcGFjaXR5IDAuMlxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQgJydcbiAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICBsZWZ0IDBcbiAgICAgIHJpZ2h0IDBcbiAgICAgIGJvdHRvbSAwXG4gICAgICB0b3AgMFxuICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgdHJhbnNpdGlvbiAuM3MgZWFzZVxuICAgICAgYmFja2dyb3VuZC1jb2xvciByZ2JhKCRjb2xvci1wcmltYXJ5LCAwKVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzIG5vbmVcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHJnYmEoJGNvbG9yLXByaW1hcnksIDAuNSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciByZ2JhKCRjb2xvci1wcmltYXJ5LCAwLjMpXG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBvcGFjaXR5IDBcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICB9XG5cbiAgICAmLWRlc2Mge1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgIGJvdHRvbSAwXG4gICAgICBsZWZ0IDBcbiAgICAgIHJpZ2h0IDBcbiAgICAgIHBhZGRpbmcgNDBweFxuICAgICAgY29sb3Igd2hpdGVcbiAgICAgIHVzZS1zaXplKDE0LCAxOClcbiAgICAgIHotaW5kZXggMTUwXG4gICAgfVxuICB9XG5cbiAgJl9faW1nIHtcbiAgICBkaXNwbGF5IGJsb2NrXG4gICAgbWF4LXdpZHRoIDEwMCVcbiAgICB3aWR0aCAxMDAlXG4gICAgbWFyZ2luLXJpZ2h0IGF1dG9cbiAgICBtYXJnaW4tbGVmdCBhdXRvXG5cbiAgfVxuXG4gICYuaXMtaW5pdCB7XG4gICAgJiBeWzBdX19pdGVtIHtcbiAgICAgIG9wYWNpdHkgMVxuICAgICAgZGlzcGxheSBibG9ja1xuICAgIH1cbiAgfVxuXG4gICZfcHJldmlld3Mge1xuICAgIG9wYWNpdHkgMFxuICAgIHRyYW5zaXRpb24gLjNzIGVhc2VcblxuICAgICYgXlswXV9faW1nIHtcbiAgICAgIG1heC1oZWlnaHQgNTZweFxuICAgIH1cbiAgICAmIF5bMF1fX2xpbmsge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudCAnJ1xuICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgIHBhZGRpbmctdG9wICgyNDUgKiAxMDAgLyAzODApICVcbiAgICAgIH1cbiAgICB9XG4gICAgJiBeWzBdX19pdGVtIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5IG5vbmVcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWluaXQge1xuICAgICAgb3BhY2l0eSAxXG5cbiAgICAgICYgXlswXV9faW1nIHtcbiAgICAgICAgbWF4LWhlaWdodCBub25lXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5nYWxsZXJ5LXNsaWRlcl9tYWluIHtcbiAgLmdhbGxlcnktc2xpZGVyIHtcbiAgICAmX19pdGVtIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBvcGFjaXR5IDAuOFxuICAgICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgICBtaW4taGVpZ2h0IDIyMHB4XG4gICAgICAgIHRyYW5zaXRpb24gLjNzIGVhc2VcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnXG4gICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICAgbGVmdCA1MCVcbiAgICAgICAgICB0b3AgNTAlXG4gICAgICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxuICAgICAgICAgIHN2Zygnc3Bpbm5lcicsIDIwMHB4KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1pbml0IHtcbiAgICAmIC5nYWxsZXJ5LXNsaWRlcl9faXRlbSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgb3BhY2l0eSAxXG4gICAgICAgIG1pbi1oZWlnaHQgMFxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5IG5vbmVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4rZG8oMTQwMCkge1xuICAuZ2FsbGVyeS1zbGlkZXIge1xuICAgICZfX25hdiB7XG4gICAgICByaWdodCAwXG4gICAgICBsZWZ0IDBcbiAgICAgIHBhZGRpbmcgMCA0MHB4XG4gICAgfVxuICB9XG59XG5cblxuK2RvKDEyMDApIHtcbiAgLmdhbGxlcnktc2xpZGVyIHtcbiAgICAmX19uYXYge1xuICAgICAgZGlzcGxheSBub25lXG4gICAgfVxuICB9XG5cbiAgLmdhbGxlcnktc2xpZGVyLmdhbGxlcnktc2xpZGVyX3ByZXZpZXdzIHtcbiAgICAuZ2FsbGVyeS1zbGlkZXIge1xuICAgICAgJl9fbGluayB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcCAoMTMwICogMTAwIC8gMzgwKSAlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuK2RvKDEwMDApIHtcbiAgLmdhbGxlcnktc2xpZGVyIHtcbiAgICAmX19saW5rIHt9XG4gIH1cbn1cblxuK2RvKDc1MCkge1xuICAuZ2FsbGVyeS1zbGlkZXIge1xuICAgICZfX2l0ZW0ge1xuICAgICAgJi1kZXNjIHtcbiAgICAgICAgcGFkZGluZyAyMHB4XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICBtYXgtaGVpZ2h0IDEuMiAqIDJlbVxuICAgICAgbGluZS1oZWlnaHQgMS40XG4gICAgICBvdmVyZmxvdyBoaWRkZW5cbiAgICAgIHRleHQtb3ZlcmZsb3cgZWxsaXBzaXNcbiAgICB9XG4gIH1cbn1cbiIsIi5ncmlkIHtcbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgZmxleC13cmFwIHdyYXBcbiAgICBtYXJnaW4tbGVmdCAtMTBweFxuICAgIG1hcmdpbi1yaWdodCAtMTBweFxuICAgIG1hcmdpbi1ib3R0b20gLTIwcHhcblxuICAgICYtaXRlbSB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXggMVxuICAgICAgbWF4LXdpZHRoIGNhbGMoMzMlIC0gMjBweClcbiAgICAgIGZsZXgtYmFzaXMgQG1heC13aWR0aFxuICAgICAgbWFyZ2luLWxlZnQgMTBweFxuICAgICAgbWFyZ2luLXJpZ2h0IDEwcHhcbiAgICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgIH1cbiAgfVxufVxuXG4rZG8oMTIwMCkge1xuICAuZ3JpZCB7XG4gICAgJl9fbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGggY2FsYygzMyUgLSAyMHB4KVxuICAgICAgICBmbGV4LWJhc2lzIEBtYXgtd2lkdGhcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuK2RvKDEwMDApIHtcbiAgLmdyaWQge1xuICAgICZfX2xpc3Qge1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoIGNhbGMoNTAlIC0gMjBweClcbiAgICAgICAgZmxleC1iYXNpcyBAbWF4LXdpZHRoXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbitkbyg3NTApIHtcbiAgLmdyaWQge1xuICAgICZfX2xpc3Qge1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoIGNhbGMoMTAwJSAtIDIwcHgpXG4gICAgICAgIGZsZXgtYmFzaXMgQG1heC13aWR0aFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZ3JpZC1jYXJkIHtcbiAgZm9udC13ZWlnaHQgNTAwXG4gIGNvbG9yICRjb2xvci1ibGFja1xuICBwYWRkaW5nIDMwcHhcbiAgYm9yZGVyLXJhZGl1cyAzcHhcbiAgYm94LXNoYWRvdyAkc2hhZG93LWNhcmRcbiAgYmFja2dyb3VuZC1jb2xvciAjRkFGQUZBXG4gIGZsZXggMVxuICBtaW4taGVpZ2h0IDI4MHB4XG5cbiAgJl9fc2lkZSB7XG4gICAgbWluLWhlaWdodCAyNXB4XG4gICAgbWFyZ2luLWJvdHRvbSAyNXB4XG4gICAgb3ZlcmZsb3cgaGlkZGVuXG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgICYtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICB9XG5cbiAgICAmLW1haW4ge1xuICAgICAgZmxleCAxXG4gICAgICBtYXJnaW4tcmlnaHQgMjBweFxuICAgIH1cblxuICAgICYtc2lkZSB7XG4gICAgICBmbGV4IDAgMCBhdXRvXG4gICAgfVxuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgZm9udC13ZWlnaHQgNzAwXG4gICAgY29sb3IgJGNvbG9yLXByaW1hcnlcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICBtYXgtd2lkdGggMTAwJVxuICAgIH1cbiAgfVxuXG4gICZfX2JhZGdlIHtcbiAgfVxuXG4gICZfX2RlcyB7XG4gIH1cblxuICAmX19iYWRnZSxcbiAgJl9fZGVzYyB7XG4gICAgY29sb3IgJGdyZXkteGRhcmtcbiAgICBmb250LXdlaWdodCA0MDBcbiAgICBwYWRkaW5nLXRvcCAxNXB4XG4gIH1cblxuICAmX19iYWRnZSB7XG4gICAgcGFkZGluZy10b3AgMFxuICB9XG5cbiAgJl9fbWFpbiB7XG5cbiAgfVxufVxuXG4uZ3JpZC1jYXJkLmdyaWQtY2FyZF9kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvciAkZ3JleS14bGlnaHRcbn1cbiIsIi5oYXJkd2FyZSB7XG4gICZfX2Rlc2Mge1xuICAgIG1heC13aWR0aCAxMDIwcHhcbiAgICBmb250LXdlaWdodCA1MDBcblxuICAgICYtY29scyB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgc3BhY2UtYmV0d2VlblxuICAgICAgbWFyZ2luLXJpZ2h0IC0xMHB4XG4gICAgICBtYXJnaW4tbGVmdCAtMTBweFxuICAgICAgbWFyZ2luLWJvdHRvbSAtMTBweFxuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgICAgbWFyZ2luLWxlZnQgMTBweFxuICAgICAgbWFyZ2luLWJvdHRvbSAxMHB4XG4gICAgICBtYXgtd2lkdGggNDMwcHhcbiAgICB9XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4LXdyYXAgd3JhcFxuICAgIG1hcmdpbi1sZWZ0IC01cHhcbiAgICBtYXJnaW4tcmlnaHQgLTVweFxuXG4gICAgJi1pdGVtIHtcbiAgICAgIG1heC13aWR0aCBjYWxjKDMzLjMzJSAtIDEwcHgpXG4gICAgICBmbGV4LWJhc2lzIGNhbGMoMzMuMzMlIC0gMTBweClcbiAgICAgIG1hcmdpbi1sZWZ0IDVweFxuICAgICAgbWFyZ2luLXJpZ2h0IDVweFxuICAgICAgZGlzcGxheSBmbGV4XG4gICAgfVxuICB9XG59XG5cbi5oYXJkd2FyZS1jYXJkIHtcbiAgZmxleCAxXG4gIGRpc3BsYXkgZmxleFxuICBmbGV4LWRpcmVjdGlvbiBjb2x1bW5cblxuICAmX19pbWFnZSB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAganVzdGlmeS1jb250ZW50IGNlbnRlclxuICAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICAgIHBhZGRpbmcgMTBweFxuICAgIGJveC1zaXppbmcgYm9yZGVyLWJveFxuICAgIGJvcmRlci1yYWRpdXMgM3B4XG4gICAgZmxleCA0XG4gICAgbWluLWhlaWdodCA0MjBweFxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICBtYXgtd2lkdGggMTAwJVxuICAgIH1cbiAgfVxuXG4gICZfX3NpZGUge1xuICAgIGZsZXggMVxuICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgIGRpc3BsYXkgZmxleFxuICAgIGp1c3RpZnktY29udGVudCBjZW50ZXJcbiAgICBhbGlnbi1pdGVtcyBjZW50ZXJcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICB1c2Utc2l6ZSgyMClcbiAgICBjb2xvciAkZ3JleS14eGRhcmtcblxuICAgIGIge1xuICAgICAgY29sb3IgJGNvbG9yLWJsYWNrXG4gICAgfVxuICB9XG59XG5cbi5oYXJkd2FyZS1jYXJkOmhvdmVyIHtcbiAgLmhhcmR3YXJlLWNhcmQge1xuICAgICZfX2ltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJGdyZXktbGlnaHRcbiAgICB9XG4gIH1cbn1cblxuK2RvKDEwMDApIHtcbiAgLmhhcmR3YXJlIHtcbiAgICAmX19saXN0IHtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgIG1heC13aWR0aCBjYWxjKDUwJSAtIDEwcHgpXG4gICAgICAgIGZsZXgtYmFzaXMgY2FsYyg1MCUgLSAxMHB4KVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4rZG8oNzUwKSB7XG4gIC5oYXJkd2FyZSB7XG4gICAgJl9fbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGggY2FsYygxMDAlIC0gMTBweClcbiAgICAgICAgZmxleC1iYXNpcyBjYWxjKDEwMCUgLSAxMHB4KVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmhlYWRlci1ib3gge1xuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4LXdyYXAgd3JhcFxuICAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgZmxleCAwIDEgYXV0b1xuICAgIG1hcmdpbi1yaWdodCAyMHB4XG4gICAgbWF4LXdpZHRoIDkwMHB4XG4gIH1cblxuICAmX19zaWRlIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBqdXN0aWZ5LWNvbnRlbnQgZmxleC1lbmRcbiAgICBmbGV4IDAgMCBhdXRvXG4gICAgbWFyZ2luLWxlZnQgYXV0b1xuICB9XG59XG4iLCIuaGVhZGVyIHtcbiAgei1pbmRleDogMzBcbiAgcG9zaXRpb24gZml4ZWRcbiAgdG9wIDBcbiAgbGVmdCAwXG4gIHJpZ2h0IDBcblxuICAmX19ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3Igd2hpdGVcbiAgICBwYWRkaW5nLXRvcCAxNXB4XG4gICAgcGFkZGluZy1ib3R0b20gMTVweFxuICAgIHRyYW5zaXRpb24gJHRyYW5zaXRpb24tbWFpblxuICAgIGJveC1zaGFkb3cgMCAxMHB4IDEwcHggcmdiYSgxODIsIDE4MiwgMTgyLCAwKVxuICB9XG5cbiAgJl9fbGFuZyB7XG4gICAgdXNlLXNpemUoMTQpXG4gICAgZm9udC13ZWlnaHQgNTAwXG5cbiAgICAmLWxpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0IC01cHhcbiAgICAgIG1hcmdpbi1sZWZ0IC01cHhcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgZmxleC13cmFwIG5vd3JhcFxuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQgNXB4XG4gICAgICBtYXJnaW4tbGVmdCA1cHhcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBwb2ludGVyLWV2ZW50cyBub25lXG4gICAgICAgIGNvbG9yICRjb2xvci1wcmltYXJ5XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gIH1cblxuICAmX19tZW51IHtcbiAgICBjdXJzb3IgcG9pbnRlclxuXG4gICAgJl9jbG9zZSB7XG5cbiAgICB9XG5cbiAgICAmX29wZW4ge1xuICAgICAgZGlzcGxheSBub25lXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5IDAuOFxuICAgIH1cbiAgfVxuXG4gICZfX25hdiB7XG4gICAgdXNlLXNpemUoMTQpXG4gICAgZm9udC13ZWlnaHQgNTAwXG5cbiAgICAmLWxpbmsge1xuICAgICAgd2hpdGUtc3BhY2Ugbm93cmFwXG4gICAgICBjb2xvciBpbmhlcml0XG5cbiAgICAgICZfYm9yZGVyZWQge1xuICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgIHBhZGRpbmcgNXB4IDBweCAyMHB4XG4gICAgICAgIGJvcmRlci1ib3R0b20gMXB4IHNvbGlkICRncmV5XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBjb2xvciBpbmhlcml0XG4gICAgICBmb250LXdlaWdodCA3MDBcbiAgICB9XG5cbiAgICAmLWxpc3Qge1xuICAgICAgZGlzcGxheSBmbGV4XG4gICAgICBmbGV4LXdyYXAgd3JhcFxuICAgICAganVzdGlmeS1jb250ZW50IHNwYWNlLWV2ZW5seVxuICAgICAgbWFyZ2luLWxlZnQgLTVweFxuICAgICAgbWFyZ2luLXJpZ2h0IC01cHhcbiAgICAgIG1hcmdpbi1ib3R0b20gLTEwcHhcblxuICAgICAgJl9tb2JpbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tIDBweFxuICAgICAgfVxuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQgNXB4XG4gICAgICBtYXJnaW4tbGVmdCA1cHhcbiAgICAgIG1hcmdpbi1ib3R0b20gMTBweFxuICAgIH1cblxuICAgICZfbW9iaWxlIHtcbiAgICAgIHVzZS1zaXplKDE2KVxuICAgICAgZGlzcGxheSBibG9ja1xuXG4gICAgICAmIF5bLTFdLWxpc3Qge1xuICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgIHBhZGRpbmcgMHB4IDI1cHhcbiAgICAgIH1cblxuICAgICAgJiBeWy0xXS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbSAxNXB4XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZHJvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvciB3aGl0ZVxuICAgIGJveC1zaGFkb3cgMCAxMHB4IDEwcHggcmdiYSgxODIsIDE4MiwgMTgyLCAwLjUpXG4gICAgd2lkdGggMTAwJVxuICAgIHotaW5kZXggMjVcbiAgICBvdmVyZmxvdy14IGhpZGRlblxuICAgIHZpc2liaWxpdHkgaGlkZGVuXG4gICAgcG9pbnRlci1ldmVudHMgbm9uZVxuICAgIG9wYWNpdHkgMFxuICAgIHRyYW5zaXRpb24gJHRyYW5zaXRpb24tbWFpblxuICAgIGhlaWdodCBjYWxjKDEwMCUgLSA3NXB4KVxuICAgIGRpc3BsYXkgbm9uZVxuXG4gICAgJi1tZW51IHtcbiAgICAgIHdpZHRoIDEwMCVcbiAgICAgIG1heC13aWR0aCAxMDgwcHhcbiAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICBsZWZ0IDUwJVxuICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZVgoLTUwJSlcbiAgICAgIHZpc2liaWxpdHkgaGlkZGVuXG4gICAgICBwb2ludGVyLWV2ZW50cyBub25lXG4gICAgICBvcGFjaXR5IDBcbiAgICAgIHRyYW5zaXRpb24gJHRyYW5zaXRpb24tbWFpblxuICAgIH1cblxuICAgICYtc2lkZSB7XG4gICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICB9XG5cbiAgICAmLW1haW4ge1xuICAgICAgZGlzcGxheSBmbGV4XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICB9XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgdmlzaWJpbGl0eSB2aXNpYmxlXG4gICAgICBwb2ludGVyLWV2ZW50cyBhdXRvXG4gICAgICBvcGFjaXR5IDFcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICB9XG4gIH1cblxuICAmX19pdGVtcyB7XG4gICAgJi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgYWxpZ24taXRlbXMgY2VudGVyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgc3BhY2UtYmV0d2VlblxuICAgICAgbWFyZ2luLWxlZnQgLTEwcHhcbiAgICAgIG1hcmdpbi1yaWdodCAtMTBweFxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0IDEwcHhcbiAgICBtYXJnaW4tcmlnaHQgMTBweFxuXG4gICAgJl9uYXYge1xuICAgICAgZmxleCAxXG4gICAgICBtYXgtd2lkdGggNjcwcHhcbiAgICB9XG5cbiAgICAmX21lbnUge1xuICAgICAgZGlzcGxheSBub25lXG4gICAgfVxuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgYWxpZ24taXRlbXMgY2VudGVyXG5cbiAgICAmLXNpZGUge1xuICAgICAgcGFkZGluZy1sZWZ0IDIwcHhcbiAgICB9XG5cbiAgICAmLW1haW4ge1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5IDAuOFxuICAgIH1cbiAgfVxufVxuLmhlYWRlcl9fbmF2LWl0ZW06aG92ZXIgLmhlYWRlcl9fZHJvcC1tZW51IHtcbiAgdmlzaWJpbGl0eSB2aXNpYmxlXG4gIHBvaW50ZXItZXZlbnRzIGF1dG9cbiAgb3BhY2l0eSAxXG59XG5cbi5oZWFkZXIuaXMtb3BlbiB7XG4gIGhlaWdodCAxMDAlXG5cbiAgLmhlYWRlciB7XG4gICAgJl9fbWVudSB7XG4gICAgICAmX29wZW4ge1xuICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICB9XG5cbiAgICAgICZfY2xvc2Uge1xuICAgICAgICBkaXNwbGF5IG5vbmVcblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLmlzLXN0aWNreSB7XG4gIC5oZWFkZXIge1xuICAgICZfX2JveCB7XG4gICAgICBib3gtc2hhZG93IDAgMTBweCAxMHB4IHJnYmEoMTgyLCAxODIsIDE4MiwgMC41KVxuICAgIH1cbiAgfVxufVxuXG4rZG8oJ21pbicsIDEwMDApIHtcbiAgLmhlYWRlcl9saWdodDpub3QoLmlzLXN0aWNreSkge1xuXG4gICAgLmxvZ28tY2FwdGlvbiB7XG4gICAgICBmaWxsIHdoaXRlXG4gICAgfVxuXG4gICAgLmhlYWRlciB7XG4gICAgICAmX19ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zcGFyZW50XG4gICAgICB9XG5cbiAgICAgICZfX25hdiB7XG4gICAgICAgIGNvbG9yIHdoaXRlXG5cbiAgICAgICAgJi1saW5rOmhvdmVyIHtcbiAgICAgICAgICBjb2xvciBpbmhlcml0ICFpbXBvcnRhbnRcbiAgICAgICAgICBvcGFjaXR5IDAuNVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2xhbmcge1xuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgIGNvbG9yIHdoaXRlXG4gICAgICAgICAgb3BhY2l0eSAwLjVcblxuICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHkgMVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5iYWRnZS1pY29uIHtcbiAgICAgIGNvbG9yIHdoaXRlXG5cbiAgICAgICZfX3NpZGUge1xuICAgICAgICBmaWx0ZXIgYnJpZ2h0bmVzcygxMClcbiAgICAgICAgb3BhY2l0eSAwLjVcbiAgICAgIH1cbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsIHdoaXRlICFpbXBvcnRhbnRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4rZG8oMTAwMCkge1xuICAuaGVhZGVyIHtcbiAgICAmX19pdGVtcyB7XG4gICAgICAmLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdCAtMTBweFxuICAgICAgICBtYXJnaW4tcmlnaHQgLTEwcHhcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0IDEwcHhcbiAgICAgIG1hcmdpbi1yaWdodCAxMHB4XG5cbiAgICAgICZfbmF2IHtcbiAgICAgICAgZGlzcGxheSBub25lXG4gICAgICB9XG5cbiAgICAgICZfbWVudSB7XG4gICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIH1cblxuICAgICAgJl9sb2dvIHtcbiAgICAgICAgZmxleCAxXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbitkbyg3NTApIHtcbiAgLmhlYWRlciB7XG4gICAgJl9faXRlbSB7XG4gICAgICAmX3Bob25lIHtcbiAgICAgICAgZGlzcGxheSBub25lXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaWNvbi1zdmcge1xuICBwYXRoIHtcbiAgICBmaWxsICRjb2xvci1wcmltYXJ5ICFpbXBvcnRhbnRcbiAgfVxufVxuXG4uaWNvbi1zdmctbWVudSB7XG4gIHdpZHRoIDI2cHhcbiAgaGVpZ2h0IDI2cHhcbn1cbiIsIi5pbnRybyB7XG4gIHBhZGRpbmctdG9wIDMwcHhcblxuICAmX190aXRsZSB7XG4gICAgbWF4LXdpZHRoIDYyMHB4XG4gICAgZm9udC13ZWlnaHQgNzAwXG4gIH1cblxuICAmX19zaWRlIHtcbiAgICBmbGV4IDAgMCBhdXRvXG4gICAgbWFyZ2luLWJvdHRvbSA3MHB4XG4gIH1cblxuICAmX19tYWluIHtcbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgICYtaXRlbSB7XG5cbiAgICB9XG4gIH1cblxuICAuY3VycmVudCB7XG4gICAgY29sb3IgJGNvbG9yLXByaW1hcnlcbiAgfVxufVxuXG4uaW50cm8taXRlbSB7XG4gIGZvbnQtd2VpZ2h0IDUwMFxuICBwb3NpdGlvbiByZWxhdGl2ZVxuXG4gICZfX2NhbGwge1xuICAgICYtaXRlbSB7XG4gICAgICAmX2Rlc2Mge1xuICAgICAgICBmb250LXNpemUgMTRweFxuICAgICAgICBsaW5lLWhlaWdodCAxXG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tIDBcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgZmxleC13cmFwIHdyYXBcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICB9XG5cbiAgJl9fY29scyB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgZmxleC13cmFwIHdyYXBcbiAgICBtYXJnaW4tcmlnaHQgLTE1cHhcbiAgICBtYXJnaW4tbGVmdCAtMTVweFxuICAgIGFsaWduLWl0ZW1zIGZsZXgtc3RhcnRcbiAgICBtYXJnaW4tYm90dG9tIC0xNXB4XG4gICAgJi1pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodCAxNXB4XG4gICAgICBtYXJnaW4tbGVmdCAxNXB4XG4gICAgICBtYXJnaW4tYm90dG9tIDE1cHhcbiAgICB9XG4gIH1cbiAgJl9fbWFpbiB7XG4gICAgZmxleCAxXG4gICAgbWFyZ2luLXJpZ2h0IDMwcHhcbiAgfVxuXG4gICZfX2Rlc2Mge1xuICAgIG1heC13aWR0aCA1MDBweFxuICAgIG1hcmdpbi1ib3R0b20gODVweFxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b20gNTBweFxuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5IGJsb2NrXG4gICAgbWF4LXdpZHRoIDEwMCVcbiAgfVxufVxuXG4uaW50cm8taXRlbV9pbmplY3Qge1xuICBtYXJnaW4tYm90dG9tIDE3MHB4XG5cbiAgLmludHJvLWl0ZW0ge1xuICAgICZfX3NpZGUge1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgIHJpZ2h0IDIwcHhcbiAgICAgIHRvcCAtMzQwcHhcbiAgICB9XG4gIH1cbn1cblxuK2RvKDE2MDApIHtcbiAgLmludHJvLWl0ZW1faW5qZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tIDEyMHB4XG4gIH1cbn1cblxuK2RvKDEyMDApIHtcbiAgLmludHJvIHtcbiAgICBwYWRkaW5nLXRvcCAwXG4gICAgZmxleCAxXG5cbiAgICAmX19zaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b20gNDBweFxuICAgIH1cbiAgfVxuICAuaW50cm8taXRlbV9pbmplY3Qge1xuICAgIG1hcmdpbi1ib3R0b20gNTBweFxuXG4gICAgLmludHJvLWl0ZW0ge1xuICAgICAgJl9fc2lkZSB7XG4gICAgICAgIHBvc2l0aW9uIHN0YXRpY1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4rZG8oMTAwMCkge1xuICAuaW50cm8taXRlbSB7XG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAmLWxpc3Qge1xuICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbSAyMHB4XG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICBtYXJnaW4tYm90dG9tIDUwcHhcbiAgICB9XG5cbiAgICAmX19zaWRlIHtcbiAgICAgIG1heC13aWR0aCAzMDBweFxuICAgIH1cbiAgfVxufVxuXG4rZG8oNzUwKSB7XG4gIC5pbnRybyB7XG4gICAgJl9fc2lkZSB7XG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICB9XG4gIH1cbiAgLmludHJvLWl0ZW0ge1xuICAgICZfX2FjdGlvbnMge1xuICAgICAgcGFkZGluZy10b3AgMjBweFxuICAgICAgbWFyZ2luLWJvdHRvbSA0MHB4XG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgIG1hcmdpbi1yaWdodCAwXG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICB9XG4gIH1cbn1cbiIsIi5sYW5nIHtcbiAgZGlzcGxheSBmbGV4XG4gIGZsZXgtd3JhcCB3cmFwXG4gIG1hcmdpbi1yaWdodCAtMTBweFxuICBtYXJnaW4tbGVmdCAtMTBweFxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBhbGlnbi1pdGVtcyBjZW50ZXJcbiAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgIG1hcmdpbi1sZWZ0IDEwcHhcbiAgICAmX3RpdGxlIHtcbiAgICAgICAgbWluLXdpZHRoIDE3MHB4XG4gICAgfVxuICB9XG4gICZfX2ZsYWdzIHtcbiAgICBtYXJnaW4tcmlnaHQgLTVweFxuICAgIG1hcmdpbi1sZWZ0IC01cHhcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4LXdyYXAgbm93cmFwXG4gIH1cblxuICAmLWZsYWcge1xuICAgIGZpbHRlciBkcm9wLXNoYWRvdygwcHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpKVxuICAgIG1hcmdpbi1yaWdodCA1cHhcbiAgICBtYXJnaW4tbGVmdCA1cHhcbiAgfVxufVxuXG4iLCIubmV3cy1jYXJkIHtcbiAgZGlzcGxheSBibG9ja1xuICBmbGV4IDFcbiAgJl9fc2lkZSB7XG4gICAgbWFyZ2luLWJvdHRvbSAzMHB4XG4gIH1cblxuICAmX19wcmV2aWV3IHtcbiAgICBtaW4taGVpZ2h0IDMwMHB4XG4gICAgYmFja2dyb3VuZC1zaXplIGNvdmVyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQgbm8tcmVwZWF0XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbiBjZW50ZXJcbiAgICBib3JkZXItcmFkaXVzIDNweFxuICAgIHBvc2l0aW9uIHJlbGF0aXZlXG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50ICcnXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgdG9wIDBcbiAgICAgIGxlZnQgMFxuICAgICAgcmlnaHQgMFxuICAgICAgYm90dG9tIDBcbiAgICAgIGJhY2tncm91bmQtY29sb3IgcmdiYSgkY29sb3ItcHJpbWFyeSwgMClcbiAgICAgIHRyYW5zaXRpb24gJHRyYW5zaXRpb24tbWFpblxuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodCA3MDBcbiAgICB1c2Utc2l6ZSgyMClcbiAgICBjb2xvciAkY29sb3ItYmxhY2tcbiAgICBtYXJnaW4tYm90dG9tIDE1cHhcbiAgfVxuXG4gICZfX21haW4ge1xuICB9XG59XG5cbi5uZXdzLWNhcmQ6aG92ZXIge1xuICAubmV3cy1jYXJkIHtcbiAgICAmX19wcmV2aWV3IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciByZ2JhKCRjb2xvci1wcmltYXJ5LCAwLjQpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFnZSB7XG4gIGJvcmRlci1ib3R0b20gMXB4IHNvbGlkIHJnYmEoJGdyZXksIDAuMilcbn1cbi5wYWdlIHtcbiAgJl9ib3JkZXItbm9uZSB7XG4gICAgYm9yZGVyLWJvdHRvbSBub25lXG4gIH1cbn1cbiIsIi5wYXJ0bmVycyB7XG4gIG1heC13aWR0aCAxMDYwcHhcbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgfVxuXG4gICZfX3NpZGUge1xuICAgIHdpZHRoIDQwMHB4XG4gICAgZmxleCAwIDAgYXV0b1xuICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgcmlnaHQgMFxuICAgIHRvcCAtMTI1cHhcbiAgICBtYXgtd2lkdGggMTAwJVxuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgbWF4LXdpZHRoIDU1MHB4XG4gIH1cbiAgJl9faW1hZ2Uge1xuICAgICYtbWFpbiB7fVxuICAgICYtc2lkZSB7fVxuICB9XG59XG5cbitkbygxMjAwKSB7XG4gIC5wYXJ0bmVycyB7XG4gICAgJl9fbWFpbiB7XG4gICAgICBtYXgtd2lkdGggNDUwcHhcbiAgICB9XG4gIH1cbn1cblxuK2RvKDEwMDApIHtcbiAgLnBhcnRuZXJzIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICB9XG4gICAgJl9fbWFpbiB7XG4gICAgICBtYXgtd2lkdGggbm9uZVxuICAgICAgbWFyZ2luLWJvdHRvbSAzMHB4XG4gICAgfVxuICAgICZfX3NpZGUge1xuICAgICAgd2lkdGggYXV0b1xuICAgICAgcG9zaXRpb24gc3RhdGljXG4gICAgfVxuICB9XG59XG4iLCIuYmFkZ2UtaWNvbiB7XG4gIGNvbG9yICRjb2xvci1ibGFja1xuICBmb250LXdlaWdodCA1MDBcbiAgdXNlLXNpemUoMTQpXG4gIHBvc2l0aW9uIHJlbGF0aXZlXG4gIGRpc3BsYXkgaW5saW5lLWZsZXhcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQgJydcbiAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgIHRvcCAtMTBweFxuICAgIGxlZnQgLTEwcHhcbiAgICByaWdodCAtMTBweFxuICAgIGJvdHRvbSAtMTBweFxuICB9XG5cbiAgJl9jb250YWN0IHtcbiAgICBjb2xvciAkd2hpdGVcbiAgfVxuXG4gICZfbGluayB7XG4gICAgY29sb3IgcmdiYSgkd2hpdGUsIC41KVxuICAgIGZvbnQtd2VpZ2h0IDUwMFxuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheSBmbGV4XG4gIH1cbiAgJl9fbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0IDdweFxuXG4gICAgJl9nYXBfbGVmdCB7XG4gICAgICBwYWRkaW5nLWxlZnQgMHB4XG4gICAgfVxuICB9XG4gICZfX3NpZGUge1xuICAgIGZsZXggMCAwIGF1dG9cbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgIHRvcCAtMXB4XG4gICAgJiBpbWcge1xuICAgICAgdmVydGljYWwtYWxpZ24gbWlkZGxlXG4gICAgfVxuICB9XG59XG4uYmFkZ2UtaWNvbi5pcy1sYXJnZSB7XG4gIHVzZS1zaXplKDIyKVxuICBmb250LXdlaWdodCA3MDBcbn1cblxuIiwiLnBpY3NldCB7XG4gICZfX3NpZGUge1xuICAgIHBhZGRpbmctYm90dG9tIDMwcHhcbiAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudCAnJ1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgIGJvdHRvbSAwXG4gICAgICBoZWlnaHQgMXB4XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yICRncmV5LXh4eGxpZ2h0XG4gICAgICB3aWR0aCAxMDB2d1xuICAgICAgbGVmdCA1MCVcbiAgICAgIHRyYW5zZm9ybSB0cmFuc2xhdGVYKC01MCUpXG4gICAgICBvcGFjaXR5IDAuNFxuICAgIH1cbiAgfVxufVxuXG4ucGljc2V0LWl0ZW0ge1xuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgIGZsZXgtd3JhcCB3cmFwXG4gIH1cblxuICAmX19tYWluIHtcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgIGZsZXggMCAwIGF1dG9cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgfVxuXG4gICZfX3NpZGUge1xuICAgIG1heC13aWR0aCA1MzBweFxuICAgIG1hcmdpbi1yaWdodCA3MHB4XG4gICAgcGFkZGluZy10b3AgMTQ1cHhcbiAgICBmbGV4IDFcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBjb2xvciAkY29sb3ItYmxhY2tcbiAgICBmb250LXdlaWdodCA3MDBcbiAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICB1c2Utc2l6ZSgzMClcbiAgfVxuXG4gICZfX2Rlc2Mge1xuICAgIG1hcmdpbi1ib3R0b20gMTAwcHhcbiAgICBmb250LXdlaWdodCA1MDBcbiAgfVxuXG4gICZfX2FjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b20gNDBweFxuICAgIG1pbi13aWR0aCAyNDBweFxuICB9XG5cbiAgJl9faW1hZ2VzIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4LXdyYXAgd3JhcFxuICAgIG1hcmdpbi1sZWZ0IC0xMHB4XG4gICAgbWFyZ2luLXJpZ2h0IC0xMHB4XG4gICAgbWFyZ2luLWJvdHRvbSAtMjBweFxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIG1hcmdpbi1sZWZ0IDEwcHhcbiAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgIGZsZXggMCAwIGF1dG9cbiAgfVxuXG4gIGltZyB7XG4gICAgZGlzcGxheSBibG9ja1xuICAgIG1heC13aWR0aCAxMDAlXG4gIH1cbn1cblxuLnBpY3NldC1pdGVtX2FjdGlvbiB7XG4gIC5waWNzZXQtaXRlbSB7XG4gICAgJl9fc2lkZSB7XG4gICAgICBwYWRkaW5nLXRvcCAwXG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICB9XG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICBmbGV4IDFcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgZmxleC1kaXJlY3Rpb24gY29sdW1uXG4gICAgfVxuICAgICZfX2Rlc2Mge1xuICAgICAgZmxleCAxXG4gICAgfVxuICB9XG59XG5cbitkbygxMDAwKSB7XG4gIC5waWNzZXQtaXRlbSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbSAyMHB4XG4gICAgfVxuXG4gICAgJl9fc2lkZSB7XG4gICAgICBtYXJnaW4tcmlnaHQgMFxuICAgICAgcGFkZGluZy10b3AgMzBweFxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgd2lkdGggYXV0b1xuICAgICAgZGlzcGxheSBmbGV4XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICBwb3NpdGlvbiBzdGF0aWNcbiAgICAgIG1hcmdpbi1yaWdodCBhdXRvXG4gICAgICBtYXJnaW4tbGVmdCBhdXRvXG4gICAgfVxuXG4gICAgJl9faW1hZ2VzIHtcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICB9XG4gIH1cbn1cbiIsIi5wcmljZS1jbG91ZCB7XG5cbn1cblxuLnByaWNlLWNoZWNrZXIge1xuICBkaXNwbGF5IGZsZXhcbiAgbWFyZ2luIDAgLTEwcHhcbiAgYWxpZ24taXRlbXMgY2VudGVyXG5cbiAgJl9faXRlbSB7XG4gICAgbWFyZ2luIDAgMTBweFxuICB9XG5cbiAgJl9fYnV0dG9uIHtcbiAgICB3aWR0aCA2MHB4XG4gICAgaGVpZ2h0IDMwcHhcbiAgICBiYWNrZ3JvdW5kLWNvbG9yICRjb2xvci1wcmltYXJ5XG4gICAgYm9yZGVyLXJhZGl1cyAyMHB4XG4gICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICBjdXJzb3IgcG9pbnRlclxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgd2lkdGggMjVweFxuICAgICAgaGVpZ2h0IDI1cHhcbiAgICAgIGNvbnRlbnQgJydcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIGJhY2tncm91bmQtY29sb3Igd2hpdGVcbiAgICAgIGJvcmRlci1yYWRpdXMgNTAlXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgdG9wIDUwJVxuICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZVkoLTUwJSlcbiAgICAgIGxlZnQgNXB4XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5IDAuOFxuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICAucHJpY2UtY2hlY2tlciB7XG4gICAgICAmX19idXR0b24ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQgNXB4XG4gICAgICAgICAgbGVmdCBhdXRvXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4ucHJpY2UtbWFya2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvciAkY29sb3ItcHJpbWFyeVxuICBjb2xvciB3aGl0ZVxuICBib3JkZXItcmFkaXVzIDVweFxuICBwYWRkaW5nIDIwcHggNDBweFxuICBwYWRkaW5nLXJpZ2h0IDYwcHhcbiAgdXNlLXNpemUoMTgpXG4gIGZvbnQtd2VpZ2h0IDYwMFxuICBiYWNrZ3JvdW5kLWltYWdlIHVybCgnLi4vaW1hZ2VzL2ljb24vc2FsZS5zdmcnKVxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uIHJpZ2h0IGNlbnRlclxuICBiYWNrZ3JvdW5kLXJlcGVhdCBuby1yZXBlYXRcblxuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4LXdyYXAgd3JhcFxuICAgIGp1c3RpZnktY29udGVudCBzcGFjZS1iZXR3ZWVuXG4gICAgbWFyZ2luIDAgLTEwcHhcbiAgICBtYXgtd2lkdGggMTAwMHB4XG4gICAgYWxpZ24taXRlbXMgY2VudGVyXG4gICAgbWFyZ2luLWJvdHRvbSAtMTBweFxuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgbWFyZ2luIDAgMTBweFxuICAgIG1heC13aWR0aCA2NDBweFxuICAgIG1hcmdpbi1ib3R0b20gMTBweFxuICB9XG5cbiAgJl9fc2lkZSB7XG4gICAgbWFyZ2luIDAgMTBweFxuICAgIGZsZXggMCAwIGF1dG9cbiAgICBtYXJnaW4tYm90dG9tIDEwcHhcblxuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgZmxleC13cmFwIHdyYXBcbiAgICBtYXJnaW4gMCAtMTBweFxuICAgIG1hcmdpbi1ib3R0b20gLTEwcHhcblxuICAgICYtaXRlbSB7XG4gICAgICBtYXJnaW4gMCAxMHB4XG4gICAgICBtYXJnaW4tYm90dG9tIDEwcHhcbiAgICAgIGZsZXgtYmFzaXMgY2FsYyg1MCUgLSAyMHB4KVxuICAgICAgbWF4LXdpZHRoIEBmbGV4LWJhc2lzXG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHVzZS1zaXplKDMwKVxuICAgIGZvbnQtd2VpZ2h0IDcwMFxuICAgIGxpbmUtaGVpZ2h0IDEuMlxuICB9XG59XG5cblxuLnByaWNlLXRhYmxlIHtcbiAgJl9fc2VjdGlvbiB7XG4gICAgYm9yZGVyLWJvdHRvbSAxcHggc29saWQgI0YwRjBGMVxuICAgIHBhZGRpbmctYm90dG9tIDIwcHhcbiAgICBtYXJnaW4tYm90dG9tIDIwcHhcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tIG5vbmVcbiAgICB9XG4gIH1cblxuICAmX190ciB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgbWFyZ2luIDAgLTEwcHhcblxuICAgICZfY2FwdGlvbiB7XG5cbiAgICB9XG4gIH1cblxuICAmX190ZCB7XG4gICAgZmxleCAxXG4gICAgcGFkZGluZy10b3AgMTBweFxuICAgIHBhZGRpbmctYm90dG9tIDEwcHhcbiAgICBtYXJnaW4gMCAxMHB4XG4gICAgdXNlLXNpemUoMTQpXG5cbiAgICAmX21haW4ge1xuICAgIH1cblxuICAgICZfc2lkZSB7XG4gICAgICB0ZXh0LWFsaWduIGNlbnRlclxuICAgICAgd2lkdGggMTc1cHhcbiAgICAgIGZsZXggMCAwIGF1dG9cbiAgICB9XG5cbiAgICAmX2NhcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICB1c2Utc2l6ZSgxOClcbiAgICAgIGNvbG9yIGJsYWNrXG4gICAgfVxuXG4gICAgJl9zbWFsbCB7XG4gICAgICB1c2Utc2l6ZSgxMilcbiAgICB9XG5cbiAgICAmX3RpdGxlLFxuICAgICZfc3VtIHtcbiAgICAgIGZvbnQtd2VpZ2h0IDcwMFxuICAgICAgdXNlLXNpemUoMjApXG4gICAgICBjb2xvciBibGFja1xuICAgIH1cblxuICAgICZfcHJpbWFyeSB7XG4gICAgICBjb2xvciAkY29sb3ItcHJpbWFyeVxuICAgICAgdXNlLXNpemUoMTYpXG4gICAgICBmb250LXdlaWdodCA1MDBcbiAgICB9XG4gIH1cblxuICAmX19jaGVja2JveCB7XG4gICAgd2lkdGggMjBweFxuICAgIGhlaWdodCAyMHB4XG4gICAgYm9yZGVyIDJweCBzb2xpZCAjQTRBNEFBXG4gICAgYmFja2dyb3VuZC1zaXplIDYwJVxuICAgIGJhY2tncm91bmQtcG9zaXRpb24gNTAlIDUwJVxuICAgIGJhY2tncm91bmQtcmVwZWF0IG5vLXJlcGVhdFxuICAgIGJhY2tncm91bmQtaW1hZ2UgdXJsKCcuLi9pbWFnZXMvaWNvbi9jaGVjay5zdmcnKVxuICAgIGJvcmRlci1yYWRpdXMgMnB4XG4gICAgbWFyZ2luIDAgYXV0b1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvciAjMTRBNzM1XG4gICAgICBib3JkZXItY29sb3IgIzE0QTczNVxuICAgIH1cbiAgfVxuXG4gICZfbW9iaWxlIHtcbiAgICBkaXNwbGF5IG5vbmVcbiAgfVxuXG4gIGVtIHtcbiAgICBjb2xvciAjQzJDM0M2XG4gICAgZm9udC1zdHlsZSBub3JtYWxcbiAgfVxuXG4gIC5jb3VudC11c2VyIHtcbiAgICBjb2xvciBibGFja1xuICB9XG59XG5cbi5wcmljZS1zZXJ2ZXIge1xuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgfVxuXG4gICZfX21haW4ge1xuICAgIG1heC13aWR0aCA1MDBweFxuICAgIG1hcmdpbi1yaWdodCA3MHB4XG4gIH1cblxuICAmX19kZXNjIHtcbiAgICBtYXJnaW4tYm90dG9tIDUwcHhcbiAgfVxuXG4gICZfX3NpZGUge1xuICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICB0b3AgLTc1cHhcbiAgfVxuXG4gIHN2ZyB7XG4gICAgZGlzcGxheSBibG9ja1xuICAgIG1heC13aWR0aCAxMDAlXG4gIH1cbn1cbi5wcmljZS1jYXJkcyB7XG4gIGRpc3BsYXkgbm9uZVxufVxuK2RvKDEyMDApIHtcbiAgLnByaWNlLXRhYmxlIHtcbiAgICAmX190ZCB7XG4gICAgICAmX3NpZGUge1xuICAgICAgICB0ZXh0LWFsaWduIGNlbnRlclxuICAgICAgICB3aWR0aCAxNDBweFxuICAgICAgICBmbGV4IDAgMCBhdXRvXG4gICAgICB9XG5cbiAgICAgICZfdGl0bGUge1xuICAgICAgICB1c2Utc2l6ZSgxNClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJpY2Utc2VydmVyIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0IDIwcHhcbiAgICB9XG5cbiAgICAmX19kZXNjIHtcbiAgICAgIG1hcmdpbi1ib3R0b20gNTBweFxuICAgIH1cblxuICAgICZfX3NpZGUge1xuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgdG9wIC03NXB4XG4gICAgfVxuICB9XG59XG5cbitkbygxMDAwKSB7XG4gIC5wcmljZS1jaGVja2VyIHtcbiAgICB1c2Utc2l6ZSgxMilcbiAgICBtYXJnaW4gMCAtNXB4XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgIHdpZHRoIDUwcHhcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIG1hcmdpbiAwIDVweFxuICAgIH1cbiAgfVxuICAucHJpY2UtY2FyZHMge1xuICAgIGRpc3BsYXkgYmxvY2tcbiAgfVxuICAucHJpY2UtdGFibGUge1xuICAgICZfZGVza3RvcCB7XG4gICAgICBkaXNwbGF5IG5vbmVcbiAgICB9XG4gICAgJl9fdGQge1xuICAgICAgJl9zaWRlIHtcbiAgICAgICAgd2lkdGggYXV0b1xuICAgICAgfVxuICAgIH1cbiAgICAmX21vYmlsZSB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgfVxuICB9XG59XG5cbitkbyg3NTApIHtcbiAgLnByaWNlLXNlcnZlciB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgIG1hcmdpbi1yaWdodCAwXG4gICAgICBtYXJnaW4tYm90dG9tIDEwcHhcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgdG9wIDBcblxuICAgICAgc3ZnIHtcbiAgICAgICAgbWF4LWhlaWdodCAzMzVweFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJpY2UtbGlzdCB7XG4gIG1heC13aWR0aCAxMDAwcHhcbiAgcGFkZGluZyAwIDYwcHhcblxuICAmX19saXN0IHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4LXdyYXAgd3JhcFxuICAgIG1hcmdpbi1sZWZ0IC0yMHB4XG4gICAgbWFyZ2luLXJpZ2h0IC0yMHB4XG4gICAgbWFyZ2luLWJvdHRvbSAtMjBweFxuXG4gICAgJi1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0IDIwcHhcbiAgICAgIG1hcmdpbi1yaWdodCAyMHB4XG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICB9XG4gIH1cbn1cblxuK2RvKDc1MCkge1xuICAucHJpY2UtbGlzdCB7XG4gICAgbWF4LXdpZHRoIDEwMDBweFxuICAgIHBhZGRpbmcgMFxuICB9XG4gIC5wcmljZS1tYXJrZXQge1xuICAgIHBhZGRpbmcgMjBweFxuICAgIGJhY2tncm91bmQtcG9zaXRpb24gMTMwJSAxMTAlXG4gICAgJl9fbGlzdCB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG5cbiAgICAgICYtaXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXMgY2FsYygxMDAlIC0gMjBweClcbiAgICAgICAgbWF4LXdpZHRoIEBmbGV4LWJhc2lzXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucmVnLWZvcm0ge1xuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBhbGlnbi1pdGVtcyBjZW50ZXJcbiAgfVxuXG4gICZfX21haW4ge1xuICAgIGZsZXggMVxuICAgIG1hcmdpbi1yaWdodCAtOTBweFxuICB9XG5cbiAgJl9fc2lkZSB7XG4gICAgZmxleCAwIDAgYXV0b1xuICB9XG59XG5cbi5yZWctZm9ybSB7XG4gIC5maWVsZC1pbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvciAkd2hpdGVcbiAgICBwYWRkaW5nLXJpZ2h0IDExMHB4XG4gIH1cbn1cblxuK2RvKDEyMDApIHtcbiAgLnJlZy1mb3JtIHtcbiAgICBtYXgtd2lkdGggNTk1cHhcbiAgfVxufVxuXG4rZG8oNzUwKSB7XG4gIC5yZWctZm9ybSB7XG4gICAgbWF4LXdpZHRoIG5vbmVcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIG1heC13aWR0aCA3MDBweFxuICAgICAgbWFyZ2luLXJpZ2h0IGF1dG9cbiAgICAgIG1hcmdpbi1sZWZ0IGF1dG9cbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgICAgbWFyZ2luLXJpZ2h0IDBcbiAgICB9XG5cbiAgICAuZmllbGQtaW5wdXQge1xuICAgICAgcGFkZGluZy1yaWdodCAyMHB4XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICB3aWR0aCAxMDAlXG4gICAgfVxuICB9XG59XG4iLCIucmVwcmVzZW50YXRpb24ge1xuICAmLWNvdW50cnkge1xuICAgIGRpc3BsYXkgZmxleFxuICAgIGZsZXgtd3JhcCB3cmFwXG4gICAganVzdGlmeS1jb250ZW50IGZsZXgtc3RhcnRcbiAgICBhbGlnbi1pdGVtcyBiYXNlbGluZVxuICAgIG1hcmdpbi1sZWZ0IC04cHhcbiAgICBtYXJnaW4tcmlnaHQgLThweFxuICAgICZfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQgOHB4XG4gICAgICBtYXJnaW4tcmlnaHQgOHB4XG4gICAgfVxuICB9XG4gICYtY29tcGFueSB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgZmxleC13cmFwIHdyYXBcbiAgICBqdXN0aWZ5LWNvbnRlbnQgZmxleC1zdGFydFxuICAgIGFsaWduLWl0ZW1zIGJhc2VsaW5lXG4gICAgbWFyZ2luLWxlZnQgLTIwcHhcbiAgICBtYXJnaW4tcmlnaHQgLTIwcHhcbiAgICAmX19pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0IDIwcHhcbiAgICAgIG1hcmdpbi1yaWdodCAyMHB4XG5cbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGNvbG9yICRjb2xvci1ibGFja1xuICAgIH1cbiAgfVxuICAmLWxpbmsge1xuICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgdXNlLXNpemUoMTYpXG4gICAgbGluZS1oZWlnaHQgMlxuICAgIGZvbnQtd2VpZ2h0IDUwMFxuICAgIGNvbG9yICRjb2xvci1ibGFja1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQgJydcbiAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICBib3R0b20gLTFweFxuICAgICAgbGVmdCAwXG4gICAgICByaWdodCAwXG4gICAgICBoZWlnaHQgMXB4XG4gICAgICB0cmFuc2Zvcm0gc2NhbGUoMSwgMSlcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW4gMCAxMDAlXG4gICAgICB0cmFuc2l0aW9uICR0cmFuc2l0aW9uLW1haW5cbiAgICAgIGJhY2tncm91bmQtY29sb3IgJGNvbG9yLXByaW1hcnlcbiAgICB9XG4gIH1cbiAgJi10ZXh0IHtcbiAgICB1c2Utc2l6ZSgxNilcbiAgICBsaW5lLWhlaWdodCAxLjVcbiAgICBjb2xvciByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICBtaW4td2lkdGggMTcwcHhcbiAgfVxuICAmLW93bmVyIHtcbiAgICB1c2Utc2l6ZSgxNilcbiAgICBjb2xvciAkY29sb3ItYmxhY2tcbiAgICBmb250LXdlaWdodCA2MDBcbiAgICBsaW5lLWhlaWdodCAyXG4gIH1cbiAgJl9fZGVzYyB7XG4gICAgZmxleCAxXG4gICAgbWluLXdpZHRoIDQ0MHB4XG4gICAgbWF4LXdpZHRoIDQ0MHB4XG4gIH1cbiAgJl9fbWFwIHtcbiAgICBtaW4taGVpZ2h0IDcwMHB4XG4gIH1cbiAgJl9fbWFpbiB7XG4gICAgbWF4LXdpZHRoIDE1MjBweFxuICAgIG1hcmdpbi1yaWdodCBhdXRvXG4gICAgbWFyZ2luLWxlZnQgYXV0b1xuICAgIGRpc3BsYXkgZmxleFxuICAgIGJhY2tncm91bmQtY29sb3IgI0ZBRkFGQVxuICAgICYtZGVzYyB7XG4gICAgICBmbGV4IDFcbiAgICAgIHBhZGRpbmcgNTVweCAyMHB4XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGFsaWduLWl0ZW1zIGZsZXgtc3RhcnRcbiAgICAgIGp1c3RpZnktY29udGVudCBjZW50ZXJcbiAgICB9XG4gICAgJi1tYXAge1xuICAgICAgZmxleCAxXG4gICAgICBtaW4taGVpZ2h0IDcwMHB4XG4gICAgfVxuICB9XG4gICYtZGVzYyB7XG4gICAgJl9fbWFpbiB7XG4gICAgICBib3JkZXItYm90dG9tIDJweCBzb2xpZCByZ2JhKCM2NzY4NzEsIC4wNSlcbiAgICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgfVxuICB9XG59XG5cbitkbygxMDAwKSB7XG4gIC5yZXByZXNlbnRhdGlvbiB7XG4gICAgJl9fbWFpbiB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgfVxuICAgICZfX2Rlc2MgIHtcbiAgICAgIG1heC13aWR0aCBub25lXG4gICAgICBtaW4td2lkdGggYXV0b1xuICAgIH1cbiAgfVxufVxuK2RvKDc1MCkge1xuICAucmVwcmVzZW50YXRpb24ge1xuICAgICZfX21haW4ge1xuICAgICAgJi1kZXNjIHtcbiAgICAgICAgcGFkZGluZyA0MHB4IDIwcHhcbiAgICAgIH1cbiAgICB9XG4gICAgJi1zZWN0aW9uIHtcbiAgICAgICZfX2FjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wIDIwcHhcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zbGlkZXIge1xuICBwYWRkaW5nLWJvdHRvbSAyMHB4XG4gIGJvcmRlci1ib3R0b20gMXB4IHNvbGlkIHJnYmEoJGdyZXksIDAuMilcbiAgJl9fbWFqb3Ige1xuICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICB9XG4gICZfX21pbm9yIHt9XG59XG4iLCIuc29jaWFscyB7XG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbi1yaWdodCAtNXB4XG4gICAgbWFyZ2luLWxlZnQgLTVweFxuICAgIGRpc3BsYXkgZmxleFxuXG4gICAgJi1pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodCA1cHhcbiAgICAgIG1hcmdpbi1sZWZ0IDVweFxuICAgIH1cbiAgfVxufVxuXG4uc29jaWFsLWl0ZW0ge1xuICB3aWR0aCA0NXB4XG4gIGhlaWdodCA0NXB4XG4gIGJvcmRlci1yYWRpdXMgM3B4XG4gIG92ZXJmbG93IGhpZGRlblxuICBwb3NpdGlvbiByZWxhdGl2ZVxuICBkaXNwbGF5IGJsb2NrXG5cbiAgJl9faWNvbiB7XG4gICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICB0b3AgNTAlXG4gICAgbGVmdCA1MCVcbiAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsIC01MCUpXG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eSAwLjhcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3IgJGNvbG9yLXByaW1hcnlcblxuICAgIHBhdGgge1xuICAgICAgZmlsbCB3aGl0ZVxuICAgIH1cbiAgfVxufVxuXG4rZG8oNzUwKSB7XG4gIC5zb2NpYWwtaXRlbSB7XG4gICAgd2lkdGggMzBweFxuICAgIGhlaWdodCAzMHB4XG4gIH1cbn1cbiIsIi5zb2x1dGlvbiB7XG4gICZfX3dyYXBwZXIge1xuXG4gIH1cbn1cblxuLnNvbHV0aW9uLXNsaWRlIHtcbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgZmxleC13cmFwIHdyYXBcbiAgfVxuXG4gICZfX2ltYWdlcyB7XG4gICAgJi1saXN0IHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgbWFyZ2luLXJpZ2h0IC0xMHB4XG4gICAgICBtYXJnaW4tbGVmdCAtMTBweFxuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBkaXNwbGF5IGJsb2NrXG4gICAgZmxleCAxXG4gICAgbWF4LXdpZHRoIDEwMCVcbiAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgIG1hcmdpbi1sZWZ0IDEwcHhcbiAgICB0cmFuc2l0aW9uICR0cmFuc2l0aW9uLW1haW5cblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eSAwLjhcbiAgICB9XG5cbiAgICAmLWJveCB7XG4gICAgICBwYWRkaW5nIDIwcHhcbiAgICAgIGJvcmRlciAycHggc29saWQgJGdyZXkteHhsaWdodFxuICAgICAgYm9yZGVyLXJhZGl1cyAxMHB4XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICAgIH1cbiAgICAmX3NpZGUge1xuICAgICAgZmxleCAwIDAgYXV0b1xuICAgICAgd2lkdGggMTcwcHhcbiAgICB9XG4gICAgJl9tYWluIHt9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbSAyMHB4XG4gICAgZm9udC13ZWlnaHQgNzAwXG4gICAgY29sb3IgJGdyZXkteHhkYXJrXG4gIH1cblxuICAmX19kZXNjIHtcbiAgICBmbGV4IDFcbiAgICBmb250LXdlaWdodCA1MDBcbiAgICBjb2xvciAkZ3JleS1kYXJrXG4gIH1cblxuICAmX19kb3RzIHtcbiAgICBwYWRkaW5nLXRvcCA0MHB4XG5cbiAgICAmLWxpc3Qge1xuICAgICAgZGlzcGxheSBmbGV4XG4gICAgICBtYXJnaW4tbGVmdCAtN3B4XG4gICAgICBtYXJnaW4tcmlnaHQgLTdweFxuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICBjdXJzb3IgcG9pbnRlclxuICAgICAgd2lkdGggMTBweFxuICAgICAgaGVpZ2h0IDEwcHhcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJGNvbG9yLXByaW1hcnlcbiAgICAgIGJvcmRlci1yYWRpdXMgM3B4XG4gICAgICBvcGFjaXR5IDAuNFxuICAgICAgbWFyZ2luLWxlZnQgN3B4XG4gICAgICBtYXJnaW4tcmlnaHQgN3B4XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eSAxXG4gICAgICAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHkgMC44XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2lkZSB7XG4gICAgd2lkdGggNTgwcHhcbiAgICBmbGV4IDAgMCBhdXRvXG4gICAgbWFyZ2luLXJpZ2h0IDUwcHhcbiAgfVxuXG4gICZfX21haW4ge1xuICAgIGZsZXggMVxuICAgIGRpc3BsYXkgZmxleFxuICAgIGZsZXgtZGlyZWN0aW9uIGNvbHVtblxuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5IGJsb2NrXG4gICAgbWF4LXdpZHRoIDEwMCVcbiAgICBvdmVyZmxvdyBoaWRkZW5cbiAgICBib3JkZXItcmFkaXVzIDVweFxuICAgIG1heC1oZWlnaHQgNDAwcHhcbiAgICBvYmplY3QtZml0IGNvbnRhaW5cbiAgfVxufVxuXG4rZG8oMTIwMCkge1xuICAuc29sdXRpb24tc2xpZGUge1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgZGlzcGxheSBibG9ja1xuICAgIH1cblxuICAgICZfX3NpZGUge1xuICAgICAgd2lkdGggYXV0b1xuICAgICAgbWFyZ2luLXJpZ2h0IGF1dG9cbiAgICAgIG1hcmdpbi1ib3R0b20gNDBweFxuICAgIH1cbiAgfVxufVxuXG4rZG8oNzUwKSB7XG4gIC5zb2x1dGlvbi1zbGlkZSB7XG4gICAgJl9faW1hZ2VzIHtcbiAgICAgICYtbGlzdCB7XG4gICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgbWFyZ2luLWxlZnQgMFxuICAgICAgICBtYXJnaW4tcmlnaHQgMFxuICAgICAgfVxuICAgIH1cbiAgICAmX19pbWFnZSB7XG4gICAgICBtYXJnaW4tbGVmdCAwXG4gICAgICBtYXJnaW4tcmlnaHQgMFxuICAgICAgbWFyZ2luLWJvdHRvbSAyMHB4XG4gICAgfVxuICB9XG59XG4iLCIuc3VibWVudSB7XG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXkgZmxleFxuICAgIGJhY2tncm91bmQtY29sb3IgJHdoaXRlXG4gICAgbWFyZ2luLXRvcCA0MHB4XG4gICAgcGFkZGluZyAyMHB4XG4gICAgYm9yZGVyLXJhZGl1cyA2cHhcbiAgICBib3gtc2hhZG93IDAgNXB4IDE1cHggcmdiYSgxODIsMTgyLDE4MiwwLjUpXG4gIH1cblxuICAmX19tYWluIHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4IDEuM1xuICB9XG4gICZfX3NpZGUge1xuICAgIGRpc3BsYXkgZmxleFxuICAgIGZsZXggMVxuICB9XG5cbiAgJl9faXRlbS1saXN0IHtcbiAgICBkaXNwbGF5IGZsZXhcbiAgICBmbGV4LWRpcmVjdGlvbiByb3dcbiAgICBmbGV4LXdyYXAgd3JhcFxuICAgIGFsaWduLWNvbnRlbnQgZmxleC1zdGFydFxuICAgIG92ZXJmbG93LXkgYXV0b1xuXG4gICAgJiAuc3VibWVudV9faXRlbXtcbiAgICAgIGZsZXgtYmFzaXMgNTAlXG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheSBmbGV4XG4gICAgZmxleC1iYXNpcyAxMDAlXG4gIH1cblxuXG4gICYtaXRlbSB7XG4gICAgd2lkdGggMTAwJVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtZGlyZWN0aW9uIGNvbHVtblxuICAgICAgbWFyZ2luIDBweCAxMHB4XG4gICAgICBwYWRkaW5nIDEwcHggMTVweFxuXG4gICAgICAmOmhvdmVyIC5zdWJtZW51LWl0ZW1fX3RpdGxlIHtcbiAgICAgICAgY29sb3IgJGNvbG9yLXByaW1hcnlcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBmb250LXdlaWdodCA1MDBcbiAgICAgIGNvbG9yICRjb2xvci1ibGFja1xuICAgICAgbWFyZ2luLWJvdHRvbSAxMHB4XG4gICAgICBmb250LXNpemUgJHNpemUtbWFpblxuICAgICAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1mYXN0XG4gICAgfVxuICAgICZfX2Rlc2Mge1xuICAgICAgY29sb3IgJGdyZXktZGFya1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtZGlyZWN0aW9uIGNvbHVtblxuICAgICAgbWFyZ2luIDBweCAxMHB4XG4gICAgICBwYWRkaW5nIDEwcHggMTVweFxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICAgIGZvbnQtd2VpZ2h0IDcwMFxuICAgICAgdXNlLXNpemUoMjApXG4gICAgICBjb2xvciAkY29sb3ItYmxhY2tcbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbSAyMHB4XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgY3Vyc29yIHBvaW50ZXJcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50ICcnXG4gICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgIGxlZnQgMFxuICAgICAgICByaWdodCAwXG4gICAgICAgIGJvdHRvbSAwXG4gICAgICAgIHRvcCAwXG4gICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgdHJhbnNpdGlvbiAuM3MgZWFzZVxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHJnYmEoJGNvbG9yLXByaW1hcnksIDApXG4gICAgICB9XG5cbiAgICAgICYgaW1nIHtcbiAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICBtYXgtd2lkdGggMTAwJVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgcmdiYSgkY29sb3ItcHJpbWFyeSwgMC4zKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICB9XG4gIH1cbn1cbiIsIi50YWJzIHtcbiAgJl9fd3JhcHBlciB7XG4gICAgLy9cbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIGRpc3BsYXkgZmxleFxuICAgIG1hcmdpbiAwIC0yM3B4XG4gICAgb3ZlcmZsb3cteCBhdXRvXG4gICAgb3ZlcmZsb3cteSBoaWRkZW5cbiAgICBvdmVyZmxvdy1zY3JvbGxpbmcgdG91Y2hcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQgJydcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIHdpZHRoIDIwcHhcbiAgICAgIGZsZXggMCAwIGF1dG9cbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBtYXJnaW4gMCAyM3B4XG4gICAgZmxleCAwIDAgYXV0b1xuXG4gICAgY3Vyc29yIHBvaW50ZXJcbiAgfVxufVxuXG4rZG8oNzUwKSB7XG4gIC50YWJzIHtcbiAgICAmX19saXN0IHtcbiAgICAgIG1hcmdpbiAwIC0xNXB4XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBtYXJnaW4gMCAxNXB4XG4gICAgfVxuICB9XG59XG5cbi50YWJzLWl0ZW0ge1xuICBjb2xvciAkZ3JleVxuICBwYWRkaW5nLWJvdHRvbSAxNHB4XG4gIGRpc3BsYXkgYmxvY2tcbiAgcG9zaXRpb24gcmVsYXRpdmVcbiAgZm9udC13ZWlnaHQgNTAwXG4gIHRyYW5zaXRpb24gJHRyYW5zaXRpb24tZmFzdFxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudCAnJ1xuICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgYm90dG9tIC0xcHhcbiAgICBsZWZ0IDBcbiAgICByaWdodCAwXG4gICAgaGVpZ2h0IDRweFxuICAgIHRyYW5zZm9ybSBzY2FsZSgxLCAwKVxuICAgIHRyYW5zZm9ybS1vcmlnaW4gMCAxMDAlXG4gICAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1tYWluXG4gICAgYmFja2dyb3VuZC1jb2xvciAkY29sb3ItcHJpbWFyeVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3IgJGNvbG9yLXByaW1hcnlcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgY29sb3IgJGNvbG9yLXByaW1hcnlcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm0gc2NhbGUoMSwgMSlcbiAgICB9XG4gIH1cbn1cblxuLnRhYnNfd2hpdGUge1xuICAudGFicy1pdGVtIHtcbiAgICBjb2xvciByZ2JhKHdoaXRlLCAuNClcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3Igd2hpdGVcbiAgICB9XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgY29sb3Igd2hpdGVcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciB3aGl0ZVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi50YWJzX3VuZGVybGluZSB7XG4gIC50YWJzX193cmFwcGVyIHtcbiAgICBib3JkZXItYm90dG9tIDFweCBzb2xpZCByZ2JhKCNFMERGRUEsIC44KVxuICB9XG59XG5cbi50YWJzX3VuZGVybGluZS1vdXRlciB7XG4gIC50YWJzX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbiByZWxhdGl2ZVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQgJydcbiAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICBib3R0b20gMFxuICAgICAgbGVmdCAtKDUyMCAvIDIpIHB4XG4gICAgICByaWdodCAtKDUyMCAvIDJweClcbiAgICAgIGJhY2tncm91bmQgcmdiYSgjRTBERkVBLCAuMilcbiAgICAgIGhlaWdodCAxcHhcbiAgICB9XG4gIH1cbn1cblxuLnRhYnMtYW5pbWF0ZWQge1xuICBwb3NpdGlvbiByZWxhdGl2ZVxuXG4gIC50YWJzLXBhbmVsLXRyYW5zZm9ybSB7XG4gICAgdHJhbnNpdGlvbiAuNnMgJGVhc2luZy1tYWluXG4gIH1cblxuICAudGFicy1wYW5lbDpub3QoLmlzLW9wZW4pIHtcbiAgICBwb2ludGVyLWV2ZW50cyBub25lXG4gICAgdmlzaWJpbGl0eSBoaWRkZW5cbiAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgIHRvcCAwXG4gICAgbGVmdCAwXG4gICAgcmlnaHQgMFxuXG4gICAgKiB7XG4gICAgICBwb2ludGVyLWV2ZW50cyBub25lICFpbXBvcnRhbnRcbiAgICB9XG5cbiAgICAudGFicy1wYW5lbC10cmFuc2Zvcm0ge1xuICAgICAgb3BhY2l0eSAwXG4gICAgICB0cmFuc2l0aW9uIC40NXMgJGVhc2luZy1tYWluXG4gICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKDAsIDIwcHgpIHNjYWxlKC45OClcbiAgICB9XG4gIH1cbn1cbiIsIi50YXJnZXQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkZ3JleSwgMC41KVxufVxuIiwiLi1kaXNwbGF5LW5vbmUge1xuICAgZGlzcGxheSBub25lXG59XG5cblxuK2RvKDE1MDAgJ21pdycpIHtcbiAgIC4tbC12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgfVxufVxuK2RvKDEyMDAgJ21pdycpIHtcbiAgIC4tbS12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgfVxufVxuK2RvKDEwMDAgJ21pdycpIHtcbiAgIC4tcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgfVxufVxuK2RvKDc1MCAnbWl3Jykge1xuICAgLi14cy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXkgbm9uZSAhaW1wb3J0YW50XG4gICB9XG59XG4rZG8oNTAwICdtaXcnKSB7XG4gICAuLXh4cy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgfVxufVxuXG5cbitkbygxMjAwKSB7XG4gICAuLW0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgfVxufVxuK2RvKDEwMDApIHtcbiAgIC4tcy1oaWRkZW4ge1xuICAgICAgZGlzcGxheSBub25lXG4gICB9XG59XG4rZG8oNzUwKSB7XG4gICAuLXhzLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5IG5vbmUgIWltcG9ydGFudFxuICAgfVxufVxuK2RvKDUwMCkge1xuICAgLi14eHMtaGlkZGVuIHtcbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgfVxufVxuXG5cblxuLi10ZXh0LWluaGVyaXQge1xuICAgZm9udCBpbmhlcml0XG59XG5cbi4tZm9udC1mYW1pbHlfbWFpbiB7XG4gICBmb250LWZhbWlseSAkZm9udC1tYWluXG59XG5cbi4tZm9udC13ZWlnaHRfaW5oZXJpdCB7XG4gICBmb250LXdlaWdodCBpbmhlcml0XG59XG5cbi4tZm9udC13ZWlnaHRfYm9sZCB7XG4gICBmb250LXdlaWdodCA3MDBcbn1cblxuLi1mb250LXdlaWdodF9ub3JtYWwge1xuICAgZm9udC13ZWlnaHQgNDAwXG59XG4uLW9wYWNpdHktMDUge1xuICAgb3BhY2l0eSAwLjVcbn1cbi4tYmdfcGFsZS1ncmV5IHtcbiAgIGJhY2tncm91bmQtY29sb3IgJHBhbGUtZ3JleVxufVxuXG4uLS1iZy14MSB7XG4gICAvL1xufVxuLi0tYmcteDIge1xuICAgZGlzcGxheSBub25lXG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIHtcbiAgIC4tLWJnLXgxIHtcbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgfVxuXG4gICAuLS1iZy14MiB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICB9XG59XG4iXX0= */
