/*
 * Stylesheet for Maps specific pages (maps and accident detail)
*/
/*
 * Root most parent of map block
 */
.map-row {
  position: relative; }

/*
 * Map loader element overlay (uses SVG) with animation
 * 1. .map-loaded class addded onComplete of map load
 */
.map-loader {
  position: absolute;
  width: 80px;
  height: 80px;
  top: calc(50% - 40px);
  left: calc(50% - 40px);
  margin-top: auto;
  margin-left: auto;
  z-index: 1;
  fill: #2700E2; }

.map-loaded .map-loader {
  display: none; }

/*
 * Google Maps InfoWindow markup, outer element
 * 1. override default, to decrease corner radius
 */
.gm-style .gm-style-iw-c {
  border-radius: 4px; }

.map-infowindow {
  padding: 10px 16px; }

.map-infowindow__title {
  margin-top: 0;
  color: #1710DA; }

.map-infowindow__link {
  font-size: 14px;
  font-weight: 500;
  text-decoration: underline;
  color: #1710DA; }
  .map-infowindow__link:focus, .map-infowindow__link:active, .map-infowindow__link:visited {
    color: #1710DA; }
  .map-infowindow__link:hover {
    text-decoration: none; }

/*
 * Map page info section (houses SEO content, and rate data block)
 * 1. section sidebar (accident-data element subsumes this role here)
 * 2.
 */
.map-info-section {
  color: #fff;
  background: #13223E; }

@media screen and (min-width: 1100px) {
  .map-info-section__inner {
    position: relative;
    max-width: 1190px;
    margin: 0 auto; } }

@media screen and (min-width: 1100px) {
  .map-info-section__sb {
    position: absolute;
    top: -16px;
    left: 0;
    width: 404px;
    z-index: 1; } }

.map-info-section__content {
  padding: 32px 16px;
  font-size: 18px; }
  @media screen and (min-width: 1100px) {
    .map-info-section__content {
      padding-left: 444px; } }

.map-info-section__title {
  font-size: 28px; }
  @media screen and (min-width: 1190px) {
    .map-info-section__title {
      margin-bottom: 20px;
      font-size: 35px; } }

/*
 * Accident Data Panel (blue block, showing accident stats)
 * this shares class .map-info-section__sb which controls layout specific controls
 * 1. 
 */
.accident-data {
  padding: 72px 24px;
  text-align: left;
  background-color: rgba(29, 17, 217, 0.9);
  background-image: url("dist/images/state-map-vector-dark.svg");
  background-repeat: no-repeat;
  background-position: top center; }

.accident-data__title {
  margin-top: 0;
  font-size: 23px;
  text-transform: uppercase; }

.accident-data__list {
  margin: 0;
  padding: 0;
  list-style: none; }

.accident-data__list-item {
  display: flex;
  flex-flow: row nowrap;
  justify-content: left;
  align-items: center;
  margin-bottom: 20px; }

.accident-data__number {
  min-width: 118px;
  margin-right: 12px;
  font-family: "Libre Baskerville", serif;
  font-size: 38px;
  font-weight: 700;
  letter-spacing: -1px;
  text-align: right; }

.accident-data__icon {
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  width: 44px;
  max-height: 40px;
  margin-right: 12px; }

.accident-data__type {
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  line-height: 20px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: left; }

.accident-data__line-2 {
  display: block; }

/*
 * Accidents Page Related styling (single-accidents.php)
 * 1. content section parent
 * 2. content column
 * 3. sedcondary title on accidents page that is 'long title' CF
 * 4. pin icon that shows accident-type and alongside long-title
 * 5. move the content to two cols - will columnize .accidents-info | .accidents-sieebar
 * 6. sidebar
 */
.accidents-content {
  padding: 48px 16px;
  background-image: url("dist/images/page-map-bg-sm.jpg");
  background-repeat: no-repeat;
  background-position: top center; }
  @media screen and (min-width: 860px) {
    .accidents-content {
      background-image: url("dist/images/page-map-bg-lg.jpg");
      background-size: 100% auto; } }

.accidents-content-inner {
  max-width: 1160px;
  margin: 0 auto; }
  @media screen and (min-width: 1160px) {
    .accidents-content-inner {
      display: flex;
      flex-flow: row nowrap;
      flex-direction: row-reverse; } }

.accidents-info {
  position: relative; }
  @media screen and (min-width: 1160px) {
    .accidents-info {
      width: 100%; } }

@media screen and (min-width: 1160px) {
  .accidents-sidebar {
    max-width: 255px;
    margin-right: 56px; } }

.accidents-title {
  color: #162040;
  text-align: center; }
  @media screen and (min-width: 1160px) {
    .accidents-title {
      padding-left: 108px;
      text-align: left;
      font-size: 34px;
      letter-spacing: -0.4px; } }
  @media screen and (min-width: 1210px) {
    .accidents-title {
      margin-bottom: 20px;
      padding-left: 148px;
      font-size: 38px; } }

.accidents-title-icon {
  display: block;
  width: 80px;
  height: 100px;
  margin: 0 auto;
  padding-top: 18px;
  text-align: center;
  background-image: url("dist/images/accidents-title-pin.svg");
  background-size: 100%;
  background-repeat: no-repeat; }
  @media screen and (min-width: 1160px) {
    .accidents-title-icon {
      position: absolute;
      top: 18px;
      z-index: 2;
      width: 90px;
      height: 113px; } }
  @media screen and (min-width: 1210px) {
    .accidents-title-icon {
      width: 126px;
      height: 160px;
      padding-top: 28px; } }

.accidents-title-icon__icon {
  width: 67%;
  max-height: 52px; }
  @media screen and (min-width: 1210px) {
    .accidents-title-icon__icon {
      width: 70%;
      max-height: 80px; } }

/*
 * Accidents Maps - parent wrapper around map panels + labels
 * used to make two columns from .map-column children
 * 1. 
 */
@media screen and (min-width: 1160px) {
  .accidents-maps {
    display: flex;
    flex-flow: row;
    justify-content: space-between; } }

@media screen and (min-width: 1160px) {
  .map-column {
    width: calc(50% - 6px); } }

/*
 * Accident Map Panel - shows map on accidents page (single-accidents.php)
 * 1. 
 */
.accidents-map-panel {
  border: 2px solid #2700E2;
  border-radius: 4px; }

/*
 * Accident Map Panel Label - shows under maps, labels what type of map it is
 * 1. tool-top point on element
 * 2. skinnier icons need more space from edge to align with tool-tip
 * 3. modifier for last child, which gets styled to be flush againsts .accidents-meta
 * 4. pseudo element used to visually 'bridge' the two map panel labels together
 */
.accidents-map-panel-label {
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  min-height: 64px;
  margin-top: 32px;
  margin-bottom: 32px;
  padding-left: 72px;
  font-size: 21px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  border-radius: 4px;
  background: #2700E2; }
  @media screen and (min-width: 1160px) {
    .accidents-map-panel-label {
      margin-bottom: 0;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0; } }
  .accidents-map-panel-label:before {
    content: "";
    position: absolute;
    width: 32px;
    height: 32px;
    top: 2px;
    left: 36px;
    border-radius: inherit;
    background-color: inherit;
    transform: translate(-50%, -50%) rotate(-45deg); }

@media screen and (min-width: 1160px) {
  .accidents-map-panel-label--first:after {
    content: "";
    position: absolute;
    top: 0;
    right: -25px;
    height: 100%;
    width: 50px;
    background: #2700E2;
    z-index: 0; } }

.accidents-map-panel-label--last {
  margin-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.accidents-map-panel-label__icon {
  position: absolute;
  top: 6px;
  left: 16px;
  height: 40px;
  fill: #fff; }

.accidents-map-panel-label__icon--skinny {
  left: 20px; }

/*
 * Accident Meta Section - shows weather and road conditions
 * 1. creates more space between border-top and element above for vis effect
 * 2. subsumes the role of icon element parent container (image and text-node inside)
 */
.accidents-meta {
  position: relative;
  padding: 24px;
  padding-top: 32px;
  color: #fff;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  background: #2700E2; }
  @media screen and (min-width: 1160px) {
    .accidents-meta {
      display: flex;
      flex-flow: row nowrap; } }
  .accidents-meta:before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translate(-50%);
    width: calc(100% - 48px);
    height: 1px;
    background: #1D058F; }

.accidents-meta__col {
  margin-bottom: 20px; }
  @media screen and (min-width: 1160px) {
    .accidents-meta__col {
      width: 50%; } }

.accidents-meta__title {
  margin-top: 0;
  font-family: "Nunito Sans", sans-serif;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase; }

.accidents-meta__list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none; }

.accidents-meta__list-item {
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  margin-right: 24px;
  margin-bottom: 16px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 14px; }

.accidents-meta__icon {
  height: 36px; }

/*
 * Incident Information section - text content block for accident descrip
 * 1. 
 */
.incident-info {
  margin-top: 48px;
  font-size: 18px; }

.incident-info__title {
  margin-bottom: 24px;
  padding-bottom: 4px;
  font-size: 30px;
  color: #162040;
  border-bottom: 1px solid #162040; }
  @media screen and (min-width: 900px) {
    .incident-info__title {
      font-size: 34px; } }

/*
 * Accidents Form - sidebar form in accident-page
 * 1. 
 */
.accidents-sb-image {
  display: block;
  margin: 0 auto; }

.accidents-report-title {
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  margin-top: 0;
  margin-bottom: 36px;
  padding: 16px 20px;
  font-family: "Nunito Sans", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  border-top-left-radius: 11px;
  border-top-right-radius: 11px;
  background: #162040; }
  @media screen and (min-width: 1160px) {
    .accidents-report-title {
      padding: 6px 20px; } }
  .accidents-report-title:before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 14px;
    width: 0;
    height: 0;
    border-left: 28px solid transparent;
    border-right: 28px solid transparent;
    border-top: 20px solid #162040; }

.accidents-report-title__icon {
  height: 45px;
  fill: #fff; }
  @media screen and (min-width: 1160px) {
    .accidents-report-title__icon {
      height: 80px; } }

.accidents-report-title__text {
  display: inline-block;
  margin-left: 16px;
  line-height: 1.23; }

.accidents-report-form {
  max-width: none; }
  .accidents-report-form label {
    font-size: 16px;
    font-weight: 700;
    color: #162040; }
  .accidents-report-form input, .accidents-report-form textarea {
    padding: 10px;
    border: 1px solid #8C8C8C;
    border-radius: 4px;
    color: #162040;
    background: #F7F6F6; }

.accidents-report-form__btn {
  font-weight: 700;
  background-color: #162040 !important; }

/*
 * Accidents Comments - section for comments form and thread 
 * 1. 
 */
.accidents-comments {
  padding: 64px 16px;
  background: #EEEE; }

.accidents-comments-inner {
  max-width: 1160px;
  margin: 0 auto; }
  @media screen and (min-width: 1160px) {
    .accidents-comments-inner {
      display: flex;
      flex-flow: row nowrap; } }

@media screen and (min-width: 1160px) {
  .accidents-comments-intro {
    max-width: 400px;
    margin-right: 50px; } }

.accidents-comments-title {
  position: relative;
  max-width: 478px;
  padding-left: 80px;
  font-size: 22px;
  color: #162040; }
  @media screen and (min-width: 1160px) {
    .accidents-comments-title {
      margin-bottom: 0;
      padding-left: 85px;
      font-size: 27px;
      line-height: 1.4; } }

.accidents-comments-title__icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 64px;
  fill: #2700E2; }
  @media screen and (min-width: 1160px) {
    .accidents-comments-title__icon {
      width: 72px; } }

.accidents-comments-title-sub {
  font-size: 17px; }

/*
 * Accidents Comment Form - the actual form for submitting comments
 * 1. form field containers (<p> paerent to label + input)
 * 2. subsumes bottom of tooltip, with shadow and tucked under the actual body element
 * 3. subsumes top of tooltip, with no shadow and placed above the actual body element
 * 4. allows tooltip to stack correctly
 */
.accidents-comments-form {
  margin-bottom: 48px;
  padding: 8px 24px;
  border-radius: 4px;
  background-color: rgba(216, 216, 216, 0.3); }

.accidents-comments-form__form {
  position: relative;
  max-width: none;
  z-index: 1; }
  @media screen and (min-width: 1160px) {
    .accidents-comments-form__form {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between; } }

.accidents-comments-form__comment, .accidents-comments-form__author, .accidents-comments-form__email {
  padding: 2px 12px 8px 12px;
  border-radius: 4px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.08);
  background-color: #fff; }
  .accidents-comments-form__comment label, .accidents-comments-form__author label, .accidents-comments-form__email label {
    font-weight: 700;
    opacity: 0.5; }
  .accidents-comments-form__comment input, .accidents-comments-form__comment textarea, .accidents-comments-form__author input, .accidents-comments-form__author textarea, .accidents-comments-form__email input, .accidents-comments-form__email textarea {
    border: none;
    background: none; }

.accidents-comments-form__comment {
  position: relative;
  margin-bottom: 38px;
  padding: 16px; }
  @media screen and (min-width: 1160px) {
    .accidents-comments-form__comment {
      width: 100%; } }
  .accidents-comments-form__comment::before {
    content: "";
    position: absolute;
    width: 32px;
    height: 32px;
    bottom: -31px;
    left: 36px;
    border-radius: inherit;
    background-color: inherit;
    transform: translate(-50%, -50%) rotate(-45deg);
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.08);
    z-index: -1; }
  .accidents-comments-form__comment::after {
    content: "";
    position: absolute;
    width: 32px;
    height: 32px;
    bottom: -31px;
    left: 36px;
    border-radius: inherit;
    background-color: inherit;
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1; }
  .accidents-comments-form__comment label {
    font-size: 17px; }
  .accidents-comments-form__comment textarea {
    position: relative;
    height: 90px;
    z-index: 2; }

@media screen and (min-width: 1160px) {
  .accidents-comments-form__author {
    width: 37.68%; } }

.accidents-comments-form__author label {
  font-size: 13px; }

@media screen and (min-width: 1160px) {
  .accidents-comments-form__email {
    width: 40.02%; } }

.accidents-comments-form__email label {
  font-size: 13px; }

input.accidents-comments-form__submit-btn {
  width: 138px;
  padding: 16px 28px;
  text-transform: uppercase;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  border: none;
  border-radius: 24px;
  cursor: pointer;
  background: #C01B27; }
  @media screen and (min-width: 1160px) {
    input.accidents-comments-form__submit-btn {
      width: 120px;
      height: 100%;
      border-radius: 30px; } }
  input.accidents-comments-form__submit-btn:hover {
    background: #050A30; }

/*
 * Accidents Comment Thread - output of submitted comments in thread
 * 1. using default comment HTML output so overriding elements based on those hooks
 * 2. bubble element (main comment text)
 * 3. subsumes bottom of tooltip, with shadow and tucked under the actual body element
 * 4. subsumes top of tooltip, with no shadow and placed above the actual body element
 * 5. <li> element inside comments thread list
 * 6. nested comment
 */
.accidents-comments-thread__list {
  list-style: none;
  margin: 0;
  padding: 0; }
  .accidents-comments-thread__list .comment {
    margin-bottom: 48px; }
  .accidents-comments-thread__list .avatar {
    display: none; }
  .accidents-comments-thread__list .comment-metadata {
    font-size: 14px; }
    .accidents-comments-thread__list .comment-metadata a {
      color: inherit; }
  .accidents-comments-thread__list .comment-content {
    position: relative;
    margin-top: 26px;
    padding: 8px 32px;
    border-radius: 4px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.08);
    background-color: #fff; }
    .accidents-comments-thread__list .comment-content::before {
      content: "";
      position: absolute;
      width: 32px;
      height: 32px;
      top: 2px;
      left: 36px;
      border-radius: inherit;
      background-color: inherit;
      transform: translate(-50%, -50%) rotate(-45deg);
      box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.08);
      z-index: -1; }
    .accidents-comments-thread__list .comment-content::after {
      content: "";
      position: absolute;
      width: 32px;
      height: 32px;
      top: 2px;
      left: 36px;
      border-radius: inherit;
      background-color: inherit;
      transform: translate(-50%, -50%) rotate(-45deg);
      z-index: 1; }
  .accidents-comments-thread__list .reply {
    margin-top: 4px;
    font-size: 14px;
    color: #C01B27; }
    .accidents-comments-thread__list .reply a {
      color: inherit; }
  .accidents-comments-thread__list .children {
    margin-top: 22px;
    margin-left: 32px;
    padding-left: 0; }

/*
 * Animation classes
 * 1.
 */
.rotate, .map-loader {
  animation: rotation 1s infinite linear; }

/*
 * Animation keyframes
 * 1.
 */
@keyframes rotation {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(359deg); } }

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