@charset "UTF-8";

/**
 * 値が2つ以上の配列かどうか判定する関数
 * @param  {array} $_list 配列か判定したい値
 * @return {boole}        値が2つ以上の配列ならtrue
 */

/**
 * 数値をremに変換する関数です
 * @param  {Number} $target        remにしたい数値
 * @param  {Number} $threshold [1] しきい値
 * @return {Number}                数値にremが付いた数値を返します
 */

/**
 * 数値をemに変換する関数です
 * @param  {Number} $target           emにしたい数値
 * @param  {Number} $parentValue [16] しきい値
 * @return {Number}                   数値にremが付いた数値を返します
 */

/**
 * 数値をpxに変換する関数です
 * @param  {Number} $arget          pxにしたい数値
 * @param  {Number} $threshold [1]  しきい値
 * @return {Number}                 数値にpxが付いた数値を返します
 */

/**
 * line-heightが1の時と同じになるようにline-height分の差分を返す関数です
 * @param  {Number} $lineHeight lineHeightの値
 * @param  {Number} $fontSize   fontの値
 * @return {Number}             差分の数値
 */

/**
 * 深い階層のmapの値を取得して返す関数です。
 * @param  {map} $map   map本体
 * @param  {map} $keys  mapのkey
 * @return {map}        指定したmapのkey
 */

/**
 * $breakpointsの中の数値を@mediaに入れてemにして返すmixin
 * @param  {array}  $breakpoint [sm]  $breakpointsのkeyのarray
 * @param  {string} $key        [min] min or max
 * @return {void}                     @media ($key-width) {}
 */

/**
 * font-weightの数値を返す関数
 * @param  {String} $weight weightのキーワード値
 * @return {Number}         weightのnumber
 */

/**
 * 色をmapから取得する関数です
 * @param  {array}  $keys      配列
 * @param  {number} $_opacity  0.0 ~ 1
 * @return {map}               $colorsの任意のkey
 */

/**
 * z-indexをmapから取得する関数です
 * @param  {array} $keys  配列
 * @return {map}   $z-indexの任意のkey
 */

/**
 * 擬似要素でアスペクト比の領域を確保するmixin
 * @param  {$_width}                   横の値
 * @param  {$_height}                  縦の値
 * @param  {$_pseudo_element} [before] 消費する疑似要素 before or after
 * @return {void}
 */

/**
 * fontをmapから取得する関数です
 * @param  {array} $keys  配列
 * @return {map}   $fontsの任意のkey
 */

.blog-pagenation {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 320px;
  padding-top: 30px;
  margin: auto;
}

.blog-pagenation__prev > a, .blog-pagenation__next > a {
  padding-bottom: 2px;
  font-size: 0.875rem;
  color: #231815;
  text-decoration: underline;
  transition: opacity 0.4s;
}

.blog-pagenation__prev > a:hover, .blog-pagenation__next > a:hover {
  opacity: 0.7;
}

.blog-pagenation__numbers {
  display: inline-block;
  padding: 0;
  margin: 0 18px;
  list-style-type: none;
}

.blog-pagenation__numbers > li {
  display: inline-block;
  width: 33px;
  height: 33px;
  margin: 0 3px;
  background-color: #efefef;
  border-radius: 5px;
}

.blog-pagenation__numbers > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 3px;
  font-size: 1rem;
  color: #575757;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.4s, color 0.4s;
}

.blog-pagenation__numbers > li > a:hover {
  color: #fff;
  background-color: #dc263f;
}

.blog-pagenation__numbers > li.is-current {
  background-color: #dc263f;
}

.blog-pagenation__numbers > li.is-current > a {
  color: #fff;
  transition: opacity 0.4s;
}

.blog-pagenation__numbers > li.is-current > a:hover {
  opacity: 0.7;
}

.blog-pagenation__toindex {
  width: 133px;
  height: 33px;
  background-color: #dc263f;
  border-radius: 5px;
}

.blog-pagenation__toindex > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 2px;
  font-size: 0.875rem;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.4s;
}

.blog-pagenation__toindex > a:hover {
  opacity: 0.7;
}

.heading-page {
  margin: 40px 0 50px;
  color: #575757;
  text-align: center;
}

.heading-page__en {
  display: block;
  font-family: "Dancing Script", cursive;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.heading-page__ja {
  display: block;
  margin-top: 1em;
  font-size: 0.8125rem;
  font-weight: 500;
}

.heading-section {
  padding-left: 17px;
  margin-bottom: 40px;
  font-size: 1.25rem;
  font-weight: 300;
  line-height: 1.1;
  border-left: 7px solid #d83e4f;
}

.type-list {
  border: 1px solid #595757;
}

.kind__box {
  position: relative;
  cursor: pointer;
}

.kind__box::before {
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  transition: 0.3s ease-in;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

body.ie.windows .kind__box:hover::before {
  background-color: rgba(255, 255, 255, 0.2);
}

_:-ms-fullscreen:hover::before, :root .kind__box:hover::before {
  background-color: rgba(255, 255, 255, 0.2);
}

.kind__box .icon-blank::after {
  display: inline-block;
  width: 14px;
  height: 10px;
  margin-left: 5px;
  content: "";
  background: url(/assets/img/friendship/icon_blank.svg) no-repeat center center;
  background-size: 14px 10px;
}

.kind__list {
  border: 1px solid #ccc;
}

.shop__inner {
  border: 1px solid #595757;
}

.shop__img {
  margin: 0 10px;
}

.shop__list {
  border-right: 1px solid #d83e4f;
}

.shop__usedcar {
  position: relative;
  cursor: pointer;
  border: 1px solid #595757;
  box-shadow: 0 8px 0 #efefef;
}

.shop__usedcar::before {
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  transition: 0.3s ease-in;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

body.ie.windows .shop__usedcar:hover::before {
  background-color: rgba(255, 255, 255, 0.2);
}

_:-ms-fullscreen:hover::before, :root .shop__usedcar:hover::before {
  background-color: rgba(255, 255, 255, 0.2);
}

.dot-line {
  border-bottom: dotted #d83e4f;
}

@media (min-width: 61.25em){
  .heading-page {
    margin: 30px 0 100px;
  }

  .heading-page__en {
    font-size: 3.75rem;
  }

  .heading-page__ja {
    font-size: 0.9375rem;
    letter-spacing: 0.31em;
  }

  .heading-section {
    padding-left: 9px;
    font-size: 1.375rem;
    border-left-width: 8px;
  }

  .shop__usedcar {
    box-shadow: 8px 8px 0 #efefef;
  }
}

@media (hover: hover){
  .kind__box:hover::before {
    background-color: rgba(255, 255, 255, 0.2);
  }

  .shop__usedcar:hover::before {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZnJpZW5kc2hpcC5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL19mdW5jdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jb21tb24vc2Nzcy9AZm91bmRhdGlvbi9icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL2ZvbnQtd2VpZ2h0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vei1pbmRleC5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL2FzcGVjdC5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL19mb250cy5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL19ibG9nLXBhZ2VuYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9wYWdlcy9mcmllbmRzaGlwL2ZyaWVuZHNoaXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9jb21tb24vc2Nzcy9AZm91bmRhdGlvbi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLzxubyBzb3VyY2U+Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjs7QUNBaEI7Ozs7RUFBQTs7QUFTQTs7Ozs7RUFBQTs7QUErQkE7Ozs7O0VBQUE7O0FBZ0NBOzs7OztFQUFBOztBQStCQTs7Ozs7RUFBQTs7QUFnQkE7Ozs7O0VBQUE7O0FDdkdBOzs7OztFQUFBOztBQ1BBOzs7O0VBQUE7O0FDcURBOzs7OztFQUFBOztBQ2pEQTs7OztFQUFBOztBQ2JBOzs7Ozs7RUFBQTs7QUNZQTs7OztFQUFBOztBQ1pBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSdUVGOztBUXBFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJ1RUY7O0FRcEVBO0VBQ0U7QVJ1RUY7O0FRcEVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVJ1RUY7O0FRcEVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSdUVGOztBUXBFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJ1RUY7O0FRcEVBO0VBQ0U7RUFDQTtBUnVFRjs7QVFwRUE7RUFDRTtBUnVFRjs7QVFwRUE7RUFDRTtFQUNBO0FSdUVGOztBUXBFQTtFQUNFO0FSdUVGOztBUXBFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FSdUVGOztBUXBFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSdUVGOztBUXBFQTtFQUNFO0FSdUVGOztBUy9KQTtFQUNFO0VBQ0E7RUFDQTtBVGtLRjs7QVNoS0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRrS0o7O0FTaEtFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVRrS0o7O0FTakpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUZ0tGOztBU3JKQTtFQUNFO0FUK0pGOztBUzNKRTtFQUNFO0VBQ0E7QVQ4Sko7O0FTN0pJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VDNEJKO0VBRUU7RUFDQTtFQUNBO0FWbUlKOztBUy9KTTtFQUNFO0FUc0tSOztBU3ZLTTtFQUNFO0FUMEtSOztBU3RLTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUeUtSOztBU3BLRTtFQUNFO0FUc0tKOztBU2pLRTtFQUNFO0FUb0tKOztBU2xLRTtFQUNFO0FUb0tKOztBU2xLRTtFQUNFO0FUb0tKOztBU2xLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FUb0tKOztBU25LSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQ25CSjtFQUVFO0VBQ0E7RUFDQTtBVndMSjs7QVNyS007RUFDRTtBVDRLUjs7QVM3S007RUFDRTtBVGdMUjs7QVNuS0E7RUFDRTtBVDJLRjs7QVdoVEE7RUZ3QkU7SUFDRTtFVGlLRjs7RVNoS0U7SUFDRTtFVGtLSjs7RVNoS0U7SUFDRTtJQUNBO0VUa0tKOztFU25KQTtJQUNFO0lBQ0E7SUFDQTtFVGdLRjs7RVNsRkE7SUFDRTtFVDRLRjtDVzVTRjs7QUFBQTtFRnVFTTtJQUNFO0VUa0tOOztFU3BISTtJQUNFO0VUd0tOIiwiZmlsZSI6ImRhaWhhdHN1L2Fzc2V0cy9jc3MvZnJpZW5kc2hpcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIOWApOOBjDLjgaTku6XkuIrjga7phY3liJfjgYvjganjgYbjgYvliKTlrprjgZnjgovplqLmlbBcbiAqIEBwYXJhbSAge2FycmF5fSAkX2xpc3Qg6YWN5YiX44GL5Yik5a6a44GX44Gf44GE5YCkXG4gKiBAcmV0dXJuIHtib29sZX0gICAgICAgIOWApOOBjDLjgaTku6XkuIrjga7phY3liJfjgarjgol0cnVlXG4gKi9cbi8qKlxuICog5pWw5YCk44KScmVt44Gr5aSJ5o+b44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0YXJnZXQgICAgICAgIHJlbeOBq+OBl+OBn+OBhOaVsOWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkdGhyZXNob2xkIFsxXSDjgZfjgY3jgYTlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAg5pWw5YCk44GrcmVt44GM5LuY44GE44Gf5pWw5YCk44KS6L+U44GX44G+44GZXG4gKi9cbi8qKlxuICog5pWw5YCk44KSZW3jgavlpInmj5vjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge051bWJlcn0gJHRhcmdldCAgICAgICAgICAgZW3jgavjgZfjgZ/jgYTmlbDlgKRcbiAqIEBwYXJhbSAge051bWJlcn0gJHBhcmVudFZhbHVlIFsxNl0g44GX44GN44GE5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgIOaVsOWApOOBq3JlbeOBjOS7mOOBhOOBn+aVsOWApOOCkui/lOOBl+OBvuOBmVxuICovXG4vKipcbiAqIOaVsOWApOOCknB444Gr5aSJ5o+b44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRhcmdldCAgICAgICAgICBweOOBq+OBl+OBn+OBhOaVsOWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkdGhyZXNob2xkIFsxXSAg44GX44GN44GE5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICDmlbDlgKTjgatweOOBjOS7mOOBhOOBn+aVsOWApOOCkui/lOOBl+OBvuOBmVxuICovXG4vKipcbiAqIGxpbmUtaGVpZ2h044GMMeOBruaZguOBqOWQjOOBmOOBq+OBquOCi+OCiOOBhuOBq2xpbmUtaGVpZ2h05YiG44Gu5beu5YiG44KS6L+U44GZ6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRsaW5lSGVpZ2h0IGxpbmVIZWlnaHTjga7lgKRcbiAqIEBwYXJhbSAge051bWJlcn0gJGZvbnRTaXplICAgZm9udOOBruWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICDlt67liIbjga7mlbDlgKRcbiAqL1xuLyoqXG4gKiDmt7HjgYTpmo7lsaTjga5tYXDjga7lgKTjgpLlj5blvpfjgZfjgabov5TjgZnplqLmlbDjgafjgZnjgIJcbiAqIEBwYXJhbSAge21hcH0gJG1hcCAgIG1hcOacrOS9k1xuICogQHBhcmFtICB7bWFwfSAka2V5cyAgbWFw44Gua2V5XG4gKiBAcmV0dXJuIHttYXB9ICAgICAgICDmjIflrprjgZfjgZ9tYXDjga5rZXlcbiAqL1xuLyoqXG4gKiAkYnJlYWtwb2ludHPjga7kuK3jga7mlbDlgKTjgpJAbWVkaWHjgavlhaXjgozjgaZlbeOBq+OBl+OBpui/lOOBmW1peGluXG4gKiBAcGFyYW0gIHthcnJheX0gICRicmVha3BvaW50IFtzbV0gICRicmVha3BvaW50c+OBrmtleeOBrmFycmF5XG4gKiBAcGFyYW0gIHtzdHJpbmd9ICRrZXkgICAgICAgIFttaW5dIG1pbiBvciBtYXhcbiAqIEByZXR1cm4ge3ZvaWR9ICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICgka2V5LXdpZHRoKSB7fVxuICovXG4vKipcbiAqIGZvbnQtd2VpZ2h044Gu5pWw5YCk44KS6L+U44GZ6Zai5pWwXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICR3ZWlnaHQgd2VpZ2h044Gu44Kt44O844Ov44O844OJ5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgd2VpZ2h044GubnVtYmVyXG4gKi9cbi8qKlxuICog6Imy44KSbWFw44GL44KJ5Y+W5b6X44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHthcnJheX0gICRrZXlzICAgICAg6YWN5YiXXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICRfb3BhY2l0eSAgMC4wIH4gMVxuICogQHJldHVybiB7bWFwfSAgICAgICAgICAgICAgICRjb2xvcnPjga7ku7vmhI/jga5rZXlcbiAqL1xuLyoqXG4gKiB6LWluZGV444KSbWFw44GL44KJ5Y+W5b6X44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHthcnJheX0gJGtleXMgIOmFjeWIl1xuICogQHJldHVybiB7bWFwfSAgICR6LWluZGV444Gu5Lu75oSP44Gua2V5XG4gKi9cbi8qKlxuICog5pOs5Ly86KaB57Sg44Gn44Ki44K544Oa44Kv44OI5q+U44Gu6aCY5Z+f44KS56K65L+d44GZ44KLbWl4aW5cbiAqIEBwYXJhbSAgeyRfd2lkdGh9ICAgICAgICAgICAgICAgICAgIOaoquOBruWApFxuICogQHBhcmFtICB7JF9oZWlnaHR9ICAgICAgICAgICAgICAgICAg57im44Gu5YCkXG4gKiBAcGFyYW0gIHskX3BzZXVkb19lbGVtZW50fSBbYmVmb3JlXSDmtojosrvjgZnjgovnlpHkvLzopoHntKAgYmVmb3JlIG9yIGFmdGVyXG4gKiBAcmV0dXJuIHt2b2lkfVxuICovXG4vKipcbiAqIGZvbnTjgpJtYXDjgYvjgonlj5blvpfjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge2FycmF5fSAka2V5cyAg6YWN5YiXXG4gKiBAcmV0dXJuIHttYXB9ICAgJGZvbnRz44Gu5Lu75oSP44Gua2V5XG4gKi9cbi5ibG9nLXBhZ2VuYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fcHJldiA+IGEsIC5ibG9nLXBhZ2VuYXRpb25fX25leHQgPiBhIHtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMyMzE4MTU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3ByZXYgPiBhOmhvdmVyLCAuYmxvZy1wYWdlbmF0aW9uX19uZXh0ID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDE4cHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzNweDtcbiAgaGVpZ2h0OiAzM3B4O1xuICBtYXJnaW46IDAgM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzU3NTc1NztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cywgY29sb3IgMC40cztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNjNmO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkuaXMtY3VycmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzI2M2Y7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaS5pcy1jdXJyZW50ID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaS5pcy1jdXJyZW50ID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fdG9pbmRleCB7XG4gIHdpZHRoOiAxMzNweDtcbiAgaGVpZ2h0OiAzM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNjNmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3RvaW5kZXggPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fdG9pbmRleCA+IGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi5oZWFkaW5nLXBhZ2Uge1xuICBtYXJnaW46IDQwcHggMCA1MHB4O1xuICBjb2xvcjogIzU3NTc1NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmhlYWRpbmctcGFnZV9fZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiRGFuY2luZyBTY3JpcHRcIiwgY3Vyc2l2ZTtcbiAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuLmhlYWRpbmctcGFnZV9famEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLmhlYWRpbmctcGFnZSB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMTAwcHg7XG4gIH1cbiAgLmhlYWRpbmctcGFnZV9fZW4ge1xuICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgfVxuICAuaGVhZGluZy1wYWdlX19qYSB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMzFlbTtcbiAgfVxufVxuLmhlYWRpbmctc2VjdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMTdweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBib3JkZXItbGVmdDogN3B4IHNvbGlkICNkODNlNGY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC5oZWFkaW5nLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDhweDtcbiAgfVxufVxuLnR5cGUtbGlzdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1OTU3NTc7XG59XG5cbi5raW5kX19ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5raW5kX19ib3g6OmJlZm9yZSB7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAua2luZF9fYm94OmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgfVxufVxuYm9keS5pZS53aW5kb3dzIC5raW5kX19ib3g6aG92ZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuXzotbXMtZnVsbHNjcmVlbjpob3Zlcjo6YmVmb3JlLCA6cm9vdCAua2luZF9fYm94OmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi5raW5kX19ib3ggLmljb24tYmxhbms6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWcvZnJpZW5kc2hpcC9pY29uX2JsYW5rLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTRweCAxMHB4O1xufVxuLmtpbmRfX2xpc3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xufVxuXG4uc2hvcF9faW5uZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTk1NzU3O1xufVxuLnNob3BfX2ltZyB7XG4gIG1hcmdpbjogMCAxMHB4O1xufVxuLnNob3BfX2xpc3Qge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDgzZTRmO1xufVxuLnNob3BfX3VzZWRjYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU5NTc1NztcbiAgYm94LXNoYWRvdzogMCA4cHggMCAjZWZlZmVmO1xufVxuLnNob3BfX3VzZWRjYXI6OmJlZm9yZSB7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuc2hvcF9fdXNlZGNhcjpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIH1cbn1cbmJvZHkuaWUud2luZG93cyAuc2hvcF9fdXNlZGNhcjpob3Zlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG5fOi1tcy1mdWxsc2NyZWVuOmhvdmVyOjpiZWZvcmUsIDpyb290IC5zaG9wX191c2VkY2FyOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC5zaG9wX191c2VkY2FyIHtcbiAgICBib3gtc2hhZG93OiA4cHggOHB4IDAgI2VmZWZlZjtcbiAgfVxufVxuLmRvdC1saW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkICNkODNlNGY7XG59IiwiLyoqXG4gKiDlgKTjgYwy44Gk5Lul5LiK44Gu6YWN5YiX44GL44Gp44GG44GL5Yik5a6a44GZ44KL6Zai5pWwXG4gKiBAcGFyYW0gIHthcnJheX0gJF9saXN0IOmFjeWIl+OBi+WIpOWumuOBl+OBn+OBhOWApFxuICogQHJldHVybiB7Ym9vbGV9ICAgICAgICDlgKTjgYwy44Gk5Lul5LiK44Gu6YWN5YiX44Gq44KJdHJ1ZVxuICovXG5AZnVuY3Rpb24gaXNfYXJyYXkoJF9saXN0KSB7XG4gIEByZXR1cm4gdHlwZS1vZigkX2xpc3QpID09IGxpc3Qgb3IgdHlwZS1vZigkX2xpc3QpID09IGFyZ2xpc3Q7XG59XG5cbi8qKlxuICog5pWw5YCk44KScmVt44Gr5aSJ5o+b44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0YXJnZXQgICAgICAgIHJlbeOBq+OBl+OBn+OBhOaVsOWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkdGhyZXNob2xkIFsxXSDjgZfjgY3jgYTlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAg5pWw5YCk44GrcmVt44GM5LuY44GE44Gf5pWw5YCk44KS6L+U44GX44G+44GZXG4gKi9cbkBmdW5jdGlvbiBfcmVtKCR0YXJnZXQsICR0aHJlc2hvbGQpIHtcbiAgQGlmKHVuaXQoJHRhcmdldCkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ3JlbeOBq+OBl+OBn+OBhOaVsOWApOOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCc7XG4gIH0gQGVsc2UgaWYodW5pdCgkdGhyZXNob2xkKSAhPSAnJykge1xuICAgIEBlcnJvciAn44GX44GN44GE5YCk44Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJ1xuICB9IEBlbHNlIGlmKCR0YXJnZXQgPT0gMCkge1xuICAgIEByZXR1cm4gJHRhcmdldDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAoKCgkdGFyZ2V0IC8gMTYpICogJHRocmVzaG9sZCkgKiAxcmVtKTtcbiAgfVxufVxuXG4vL+esrOS4gOW8leaVsOOBq+mFjeWIl+OCkua4oeOBmeOBk+OBqOOBjOWPr+iDveOBq+OBquOBo+OBn1xuQGZ1bmN0aW9uIHJlbSgkdGFyZ2V0LCAkdGhyZXNob2xkOiAxKSB7XG4gIEBpZihpc19hcnJheSgkdGFyZ2V0KSkge1xuICAgICRuZXdfcmVtX2FycmF5OiAoKTtcbiAgICBAZWFjaCAkdGFyZ2V0X2l0ZW0gaW4gJHRhcmdldCB7XG4gICAgICAkbmV3X3JlbV9hcnJheTogYXBwZW5kKCRuZXdfcmVtX2FycmF5LCBfcmVtKCR0YXJnZXRfaXRlbSwgJHRocmVzaG9sZCkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXdfcmVtX2FycmF5O1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIF9yZW0oJHRhcmdldCwkdGhyZXNob2xkKTtcbiAgfVxufVxuXG4vKipcbiAqIOaVsOWApOOCkmVt44Gr5aSJ5o+b44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0YXJnZXQgICAgICAgICAgIGVt44Gr44GX44Gf44GE5pWw5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRwYXJlbnRWYWx1ZSBbMTZdIOOBl+OBjeOBhOWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICDmlbDlgKTjgatyZW3jgYzku5jjgYTjgZ/mlbDlgKTjgpLov5TjgZfjgb7jgZlcbiAqL1xuQGZ1bmN0aW9uIF9lbSgkdGFyZ2V0LCAkcGFyZW50VmFsdWUpIHtcbiAgQGlmKHVuaXQoJHRhcmdldCkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ2Vt44Gr44GX44Gf44GE5pWw5YCk44Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJztcbiAgfSBAZWxzZSBpZih1bml0KCRwYXJlbnRWYWx1ZSkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ+imquimgee0oOOBruaVsOWApOOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCdcbiAgfSBAZWxzZSBpZigkdGFyZ2V0ID09IDApIHtcbiAgICBAcmV0dXJuICR0YXJnZXQ7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gKCgkdGFyZ2V0IC8gMTYpICogMWVtKTtcbiAgfVxufVxuXG4vL+esrOS4gOW8leaVsOOBq+mFjeWIl+OCkua4oeOBmeOBk+OBqOOBjOWPr+iDveOBq+OBquOBo+OBn1xuQGZ1bmN0aW9uIGVtKCR0YXJnZXQsICRwYXJlbnRWYWx1ZTogMTYpIHtcbiAgQGlmKGlzX2FycmF5KCR0YXJnZXQpKSB7XG4gICAgJG5ld19lbV9hcnJheTogKCk7XG4gICAgQGVhY2ggJHRhcmdldF9pdGVtIGluICR0YXJnZXQge1xuICAgICAgJG5ld19lbV9hcnJheTogYXBwZW5kKCRuZXdfZW1fYXJyYXksIF9lbSgkdGFyZ2V0X2l0ZW0sICRwYXJlbnRWYWx1ZSkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXdfZW1fYXJyYXk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gX2VtKCR0YXJnZXQsJHBhcmVudFZhbHVlKTtcbiAgfVxufVxuXG5cbi8qKlxuICog5pWw5YCk44KScHjjgavlpInmj5vjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge051bWJlcn0gJGFyZ2V0ICAgICAgICAgIHB444Gr44GX44Gf44GE5pWw5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0aHJlc2hvbGQgWzFdICDjgZfjgY3jgYTlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAgIOaVsOWApOOBq3B444GM5LuY44GE44Gf5pWw5YCk44KS6L+U44GX44G+44GZXG4gKi9cbkBmdW5jdGlvbiBfcHgoJHRhcmdldCwgJHRocmVzaG9sZCkge1xuICBAaWYodW5pdCgkdGFyZ2V0KSAhPSAnJykge1xuICAgIEBlcnJvciAncHjjgavjgZfjgZ/jgYTmlbDlgKTjgavljZjkvY3jgpLku5jjgZHjgarjgYTjgafjgY/jgaDjgZXjgYQnO1xuICB9IEBlbHNlIGlmKHVuaXQoJHRocmVzaG9sZCkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ+OBl+OBjeOBhOWApOOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCdcbiAgfSBAZWxzZSBpZigkdGFyZ2V0ID09IDApIHtcbiAgICBAcmV0dXJuICR0YXJnZXQ7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gKCgkdGFyZ2V0ICogJHRocmVzaG9sZCkgKiAxcHgpO1xuICB9XG59XG5cbi8v56ys5LiA5byV5pWw44Gr6YWN5YiX44KS5rih44GZ44GT44Go44GM5Y+v6IO944Gr44Gq44Gj44GfXG5AZnVuY3Rpb24gcHgoJHRhcmdldCwgJHRocmVzaG9sZDogMSkge1xuICBAaWYoaXNfYXJyYXkoJHRhcmdldCkpIHtcbiAgICAkbmV3X3B4X2FycmF5OiAoKTtcbiAgICBAZWFjaCAkdGFyZ2V0X2l0ZW0gaW4gJHRhcmdldCB7XG4gICAgICAkbmV3X3B4X2FycmF5OiBhcHBlbmQoJG5ld19weF9hcnJheSwgX3B4KCR0YXJnZXRfaXRlbSwgJHRocmVzaG9sZCkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXdfcHhfYXJyYXk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gX3B4KCR0YXJnZXQsJHRocmVzaG9sZCk7XG4gIH1cbn1cblxuLyoqXG4gKiBsaW5lLWhlaWdodOOBjDHjga7mmYLjgajlkIzjgZjjgavjgarjgovjgojjgYbjgatsaW5lLWhlaWdodOWIhuOBruW3ruWIhuOCkui/lOOBmemWouaVsOOBp+OBmVxuICogQHBhcmFtICB7TnVtYmVyfSAkbGluZUhlaWdodCBsaW5lSGVpZ2h044Gu5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRmb250U2l6ZSAgIGZvbnTjga7lgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAg5beu5YiG44Gu5pWw5YCkXG4gKi9cbkBmdW5jdGlvbiBtYXJnaW4oJF9saW5lSGVpZ2h0LCAkX2ZvbnRTaXplKSB7XG4gIEBpZih1bml0KCRfbGluZUhlaWdodCkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ2xpbmUtaGVpZ2h044Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJztcbiAgfSBAZWxzZSBpZih1bml0KCRfZm9udFNpemUpICE9ICcnKSB7XG4gICAgQGVycm9yICdmb250LXNpemXjgavljZjkvY3jgpLku5jjgZHjgarjgYTjgafjgY/jgaDjgZXjgYQnO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICgkX2ZvbnRTaXplICogJF9saW5lSGVpZ2h0IC0gJF9mb250U2l6ZSkgLyAyO1xuICB9XG59XG5cbi8qKlxuICog5rex44GE6ZqO5bGk44GubWFw44Gu5YCk44KS5Y+W5b6X44GX44Gm6L+U44GZ6Zai5pWw44Gn44GZ44CCXG4gKiBAcGFyYW0gIHttYXB9ICRtYXAgICBtYXDmnKzkvZNcbiAqIEBwYXJhbSAge21hcH0gJGtleXMgIG1hcOOBrmtleVxuICogQHJldHVybiB7bWFwfSAgICAgICAg5oyH5a6a44GX44GfbWFw44Gua2V5XG4gKi9cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgQGlmIChub3QgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgfVxuICBAcmV0dXJuICRtYXA7XG59XG4iLCIvL+ODluODrOODvOOCr+ODneOCpOODs+ODiOOBruWumue+qVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8v44Oh44OH44Kj44Ki44Kv44Ko44Oq44Gu5aSJ5pWwXG4kYnJlYWtwb2ludHM6IChcbiAgeHM6IDM2NSxcbiAgc206IDcyMCxcbiAgbWQ6IDk4MCxcbiAgbGc6IDEyMDAsXG4pO1xuXG4vL+OCq+ODs+ODl+OBruOCpOODs+ODiuODvOaoquW5hVxuJHdyYXBwZXItd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtZCApO1xuLy/jgrnjg57jg5vmmYLjga7lt6blj7Pjga5wYWRkaW5nXG4kd3JhcHBlci1wYWRkaW5nOiAyMDtcblxuLyoqXG4gKiAkYnJlYWtwb2ludHPjga7kuK3jga7mlbDlgKTjgpJAbWVkaWHjgavlhaXjgozjgaZlbeOBq+OBl+OBpui/lOOBmW1peGluXG4gKiBAcGFyYW0gIHthcnJheX0gICRicmVha3BvaW50IFtzbV0gICRicmVha3BvaW50c+OBrmtleeOBrmFycmF5XG4gKiBAcGFyYW0gIHtzdHJpbmd9ICRrZXkgICAgICAgIFttaW5dIG1pbiBvciBtYXhcbiAqIEByZXR1cm4ge3ZvaWR9ICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICgka2V5LXdpZHRoKSB7fVxuICovXG5AbWl4aW4gbWVkaWEoJF9icmVha3BvaW50czogc20sICRfa2V5OiBtaW4pIHtcbiAgLy8kX2JyZWFrcG9pbnRz44GuRXJyb3LmpJzlh7pcbiAgQGVhY2ggJF9oYXNfYnJlYWtwb2ludCBpbiAkX2JyZWFrcG9pbnRzIHtcbiAgICAkX2N1cnJlbnRfaW5kZXg6IGluZGV4KCRfYnJlYWtwb2ludHMsICRfaGFzX2JyZWFrcG9pbnQpO1xuICAgIEBpZihtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRfaGFzX2JyZWFrcG9pbnQpID09IGZhbHNlKSB7XG4gICAgICBAZXJyb3IgJ+esrOS4gOW8leaVsOOBriN7JF9jdXJyZW50X2luZGV4feebruOBruWApCN7JF9oYXNfYnJlYWtwb2ludH3jga/nhKHlirnjgarlgKTjgafjgZnjgIInO1xuICAgIH1cbiAgfVxuICAvLyRfa2V544GMbWlu44GLbWF444GL44GuRXJyb3LmpJzlh7pcbiAgJGtleV9hcnJheTogKG1pbixtYXgpO1xuICBAaWYoaW5kZXgoJGtleV9hcnJheSwgJF9rZXkpID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ+esrOS6jOW8leaVsCN7JF9rZXl944Gv54Sh5Yq544Gq5YCk44Gn44GZ44CCbWluIG9yIG1heOOBp+aMh+WumuOBl+OBpuOBj+OBoOOBleOBhOOAgidcbiAgfVxuXG4gICRfYnJlYWtwb2ludC1sZW5ndGg6IGxlbmd0aCgkX2JyZWFrcG9pbnRzKTtcbiAgQGlmKCRfYnJlYWtwb2ludC1sZW5ndGggPT0gMSkge1xuXG4gICAgJF9maXJzdF9icmVha3BvaW50OiBudGgoJF9icmVha3BvaW50cywxKTtcbiAgICAkX2ZpcnN0X2JyZWFrcG9pbnRfdmFsdWU6IG1hcF9nZXQoJGJyZWFrcG9pbnRzLCRfZmlyc3RfYnJlYWtwb2ludCk7XG4gICAgQGlmICgkX2tleSA9PSBtYXgpIHtcbiAgICAgIEBtZWRpYSAoI3skX2tleX0td2lkdGg6IGVtKCRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZSkgLSAuMDAxMSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICgkX2tleSA9PSBtaW4pIHtcbiAgICAgIEBtZWRpYSAoI3skX2tleX0td2lkdGg6IGVtKCRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZSkpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gIH0gQGVsc2UgaWYoJF9icmVha3BvaW50LWxlbmd0aCA9PSAyKSB7XG5cbiAgICAkX2ZpcnN0X2JyZWFrcG9pbnQ6IG50aCgkX2JyZWFrcG9pbnRzLDEpO1xuICAgICRfc2Vjb25kX2JyZWFrcG9pbnQ6IG50aCgkX2JyZWFrcG9pbnRzLDIpO1xuICAgICRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZTogbWFwX2dldCgkYnJlYWtwb2ludHMsJF9maXJzdF9icmVha3BvaW50KTtcbiAgICAkX3NlY29uZF9icmVha3BvaW50X3ZhbHVlOiBtYXBfZ2V0KCRicmVha3BvaW50cywkX3NlY29uZF9icmVha3BvaW50KTtcbiAgICAkX21heF92YWx1ZTogbWF4KCRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZSwkX3NlY29uZF9icmVha3BvaW50X3ZhbHVlKTtcbiAgICAkX21pbl92YWx1ZTogbWluKCRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZSwkX3NlY29uZF9icmVha3BvaW50X3ZhbHVlKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBlbSgkX21pbl92YWx1ZSkpIGFuZCAobWF4LXdpZHRoOiBlbSgkX21heF92YWx1ZSkgLSAuMDAxMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAn56ys5LiA5byV5pWw44Gv5pyA5aSnMuOBpOOBl+OBi+ioreWumuOBp+OBjeOBvuOBm+OCk+OAgidcbiAgfVxufVxuIiwiJGZvbnQtd2VpZ2h0OiAoXG4gIHRoaW46IDEwMCxcbiAgbGlnaHQ6IDMwMCxcbiAgcmVndWxhcjogNDAwLFxuICBtZWRpdW06IDUwMCxcbiAgYm9sZDogNzAwLFxuICBibGFjazogOTAwXG4pO1xuXG4vKipcbiAqIGZvbnQtd2VpZ2h044Gu5pWw5YCk44KS6L+U44GZ6Zai5pWwXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICR3ZWlnaHQgd2VpZ2h044Gu44Kt44O844Ov44O844OJ5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgd2VpZ2h044GubnVtYmVyXG4gKi9cbkBmdW5jdGlvbiBmb250LXdlaWdodCgkX3dlaWdodCkge1xuICBAaWYobWFwLWhhcy1rZXkoJGZvbnQtd2VpZ2h0LCAkX3dlaWdodCkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvbnQtd2VpZ2h0LCAkX3dlaWdodCk7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAn5L2/44GI44KL5YCk44Gv5Lul5LiL44Gn44GZ4oaSI3ttYXAta2V5cygkZm9udC13ZWlnaHQpfSdcbiAgfVxufSIsIi8v6Imy44Gu5a6a576pXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb2xvcnM6IChcbiAgd2hpdGU6ICNmZmYsXG4gIGJsYWNrOiAjMDAwLFxuICByZWQ6ICNkODNlNGYsXG4gIGdyYXk6ICM1OTU3NTcsXG4gIHNub3c6ICNlZmVmZWYsXG4gIHNpbHZlcjogI2NjYyxcbiAgbmF2eTogIzAwNDBhNyxcbiAgYmx1ZTogIzAwYTBlOSxcbiAgZ3JlZW46ICMwMDkxM2EsXG4gIHBpbms6ICNmN2Q4ZGMsXG4gIHRleHQ6IChcbiAgICBibGFjazogIzIyMTgxNSxcbiAgICBkZWVwcmVkOiAjZGMyNjNmLFxuICAgIGxpZ2h0cmVkOiAjZTczZTUxLFxuICApLFxuICBiZDogKFxuICAgIGdyYXk6ICNjY2MsXG4gICAgYmxhY2s6ICMyMjE4MTUsXG4gICAgZGVlcHJlZDogI2RjMjYzZixcbiAgICBsaWdodHJlZDogI2U3M2U1MSxcbiAgKSxcbiAgYmc6IChcbiAgICBncmF5OiAjZWZlZmVmLFxuICAgIGJsYWNrOiAjMjIxODE1LFxuICAgIGRlZXByZWQ6ICNkYzI2M2YsXG4gICAgbGlnaHRyZWQ6ICNlNzNlNTEsXG4gICksXG4gIGVsZWM6IChcbiAgICBwaW5rOiNmZmIyYmMsXG4gICAgeWVsbG93OiAjZmZlMjQwLFxuICAgIHNpbHZlcjogIzcwNzA3MCxcbiAgICBsaWdodHNpbHZlcjogI2NkY2VjZSxcbiAgICBsLXBpbms6ICNmZGQwZDAsXG4gICAgZC1waW5rOiAjZmZkYmRiLFxuICAgIG8tcGluazogI2ZmZWJlZSxcbiAgICBnb2xkOiAjZTdlM2RhLFxuICApLFxuICBkaHR2OiAoXG4gICAgcmVkOiAjYmIwYTJmXG4gICksXG4gIGR3YXNoOiAoXG4gICAgYmxhY2s6ICMwODA4MDgsXG4gICAgZ3JlZW46ICMzM2FmMzMsXG4gICAgYmx1ZTogIzAwNDBhNyxcbiAgICBsaWdodGJsdWU6ICMxNTVkZDEsXG4gICksXG4gIHNkZ3M6IChcbiAgICBibHVlOiAjMDA5ZWRiLFxuICAgIGxpZ2h0Ymx1ZTogI2YyZjVmOSxcbiAgICBib3JkZXJibHVlOiAjMDA3ZWFmLFxuICApLFxuICBldGFqaW1hOiAoXG4gICAgcmVkOiAjYjcyMzFkLFxuICAgIGJsdWU6ICMwMDkzZmYsXG4gICAgYmctYmx1ZTogIzNiOGFjNCxcbiAgICB5ZWxsb3c6ICNmZmQ4MzQsXG4gIClcbik7XG5cbi8qKlxuICog6Imy44KSbWFw44GL44KJ5Y+W5b6X44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHthcnJheX0gICRrZXlzICAgICAg6YWN5YiXXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICRfb3BhY2l0eSAgMC4wIH4gMVxuICogQHJldHVybiB7bWFwfSAgICAgICAgICAgICAgICRjb2xvcnPjga7ku7vmhI/jga5rZXlcbiAqL1xuQGZ1bmN0aW9uIGNvbG9yKCRfa2V5cywkX29wYWNpdHk6IG51bGwpIHtcbiAgQGlmKCRfb3BhY2l0eSAhPSBudWxsKSB7XG4gICAgQHJldHVybiByZ2JhKG1hcC1kZWVwLWdldCgkY29sb3JzLCAkX2tleXMuLi4pLCRfb3BhY2l0eSlcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZGVlcC1nZXQoJGNvbG9ycywgJF9rZXlzLi4uKVxuICB9XG59XG4iLCIkei1pbmRleDogKFxuICBoYW06IDUwMixcbiAgZ25hdjogNTAxLFxuICByZXNlcnZlZDogNTAwLFxuICBmcm9udDogMjAwLFxuICBtb2RhbDogKFxuICAgIG1haW46IDEwMSxcbiAgKSxcbiAgbWFpbjogMSxcbiAgYmFjazogLTFcbik7XG5cblxuLyoqXG4gKiB6LWluZGV444KSbWFw44GL44KJ5Y+W5b6X44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHthcnJheX0gJGtleXMgIOmFjeWIl1xuICogQHJldHVybiB7bWFwfSAgICR6LWluZGV444Gu5Lu75oSP44Gua2V5XG4gKi9cbkBmdW5jdGlvbiB6LWluZGV4KCRrZXlzKSB7XG4gIEByZXR1cm4gbWFwLWRlZXAtZ2V0KCR6LWluZGV4LCAka2V5cy4uLik7XG59XG4iLCIvKipcbiAqIOaTrOS8vOimgee0oOOBp+OCouOCueODmuOCr+ODiOavlOOBrumgmOWfn+OCkueiuuS/neOBmeOCi21peGluXG4gKiBAcGFyYW0gIHskX3dpZHRofSAgICAgICAgICAgICAgICAgICDmqKrjga7lgKRcbiAqIEBwYXJhbSAgeyRfaGVpZ2h0fSAgICAgICAgICAgICAgICAgIOe4puOBruWApFxuICogQHBhcmFtICB7JF9wc2V1ZG9fZWxlbWVudH0gW2JlZm9yZV0g5raI6LK744GZ44KL55aR5Ly86KaB57SgIGJlZm9yZSBvciBhZnRlclxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuQG1peGluIGFzcGVjdCgkX3dpZHRoLCAkX2hlaWdodCwgJF9wc2V1ZG9fZWxlbWVudDogYmVmb3JlKSB7XG4gIC8vIG1heC13aWR0aDogJF9oZWlnaHQgKyBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJjo6I3skX3BzZXVkb19lbGVtZW50fSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJF93aWR0aC8kX2hlaWdodCk7XG4gICAgY29udGVudDogJyc7XG4gIH1cbiAgPiBpbWcsIHN2Z3tcbiAgICBAaW5jbHVkZSBwb3NpdGlvbjtcbiAgfVxufVxuIiwiJGZvbnRzOiAoXG4gIGphOiAoXG4gICAgc2FuczogKCdOb3RvIFNhbnMgSlAnLCBzYW5zLXNlcmlmKSxcbiAgICBzZXJpZjogKCdOb3RvIFNlcmlmIEpQJywgc2VyaWYpXG4gICksXG4gIGVuOiAoXG4gICAgcm9ib3RvOiAoJ1JvYm90bycsIHNhbnMtc2VyaWYpLFxuICAgIGRhbmNpbmc6ICgnRGFuY2luZyBTY3JpcHQnLCBjdXJzaXZlKSxcbiAgICBqb3NlZmluOiAoJ0pvc2VmaW4gU2xhYicsIHNlcmlmKVxuICApXG4pO1xuXG4vKipcbiAqIGZvbnTjgpJtYXDjgYvjgonlj5blvpfjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge2FycmF5fSAka2V5cyAg6YWN5YiXXG4gKiBAcmV0dXJuIHttYXB9ICAgJGZvbnRz44Gu5Lu75oSP44Gua2V5XG4gKi9cbkBmdW5jdGlvbiBmb250KCRrZXlzKSB7XG4gIEByZXR1cm4gbWFwLWRlZXAtZ2V0KCRmb250cywgJGtleXMuLi4pO1xufVxuIiwiLmJsb2ctcGFnZW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19wcmV2ID4gYSwgLmJsb2ctcGFnZW5hdGlvbl9fbmV4dCA+IGEge1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGNvbG9yOiAjMjMxODE1O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHM7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3ByZXYgPiBhOmhvdmVyLCAuYmxvZy1wYWdlbmF0aW9uX19uZXh0ID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IC43O1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMThweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzM3B4O1xuICBoZWlnaHQ6IDMzcHg7XG4gIG1hcmdpbjogMCAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjNTc1NzU3O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMsIGNvbG9yIC40cztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNjNmO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkuaXMtY3VycmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzI2M2Y7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaS5pcy1jdXJyZW50ID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpLmlzLWN1cnJlbnQgPiBhOmhvdmVyIHtcbiAgb3BhY2l0eTogLjc7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3RvaW5kZXgge1xuICB3aWR0aDogMTMzcHg7XG4gIGhlaWdodDogMzNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMjYzZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX190b2luZGV4ID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX190b2luZGV4ID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IC43O1xufVxuIiwiQGltcG9ydCAnLi4vLi4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vZm91bmRhdGlvbic7XG5cbi5oZWFkaW5nLXBhZ2Uge1xuICBtYXJnaW46IDQwcHggMCA1MHB4O1xuICBjb2xvcjogIzU3NTc1NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBcbiAgJl9fZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAnRGFuY2luZyBTY3JpcHQnLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogcmVtKDUwKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG4gICZfX2phIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbn1cbiAgXG5AaW5jbHVkZSBtZWRpYShtZCkge1xuICAuaGVhZGluZy1wYWdlIHtcbiAgICBtYXJnaW46IDMwcHggMCAxMDBweDtcbiAgICAmX19lbiB7XG4gICAgICBmb250LXNpemU6IHJlbSg2MCk7XG4gICAgfVxuICAgICZfX2phIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMzFlbTtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRpbmctc2VjdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMTdweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgZm9udC1zaXplOiByZW0oMjApO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBib3JkZXItbGVmdDogN3B4IHNvbGlkICNkODNlNGY7XG59XG5cbkBpbmNsdWRlIG1lZGlhKG1kKSB7XG4gIC5oZWFkaW5nLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogOHB4O1xuICB9XG59XG5cbi50eXBlLWxpc3R7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1OTU3NTc7XG59XG5cbi5raW5ke1xuICAmX19ib3h7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlLWluO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb247XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlLCAuMik7XG4gICAgICB9XG4gICAgfVxuICAgIC5pY29uLWJsYW5re1xuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltZy9mcmllbmRzaGlwL2ljb25fYmxhbmsuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbGlzdHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB9XG59XG5cbi5zaG9we1xuICAmX19pbm5lcntcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTk1NzU3O1xuICB9XG4gICZfX2ltZ3tcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxuICAmX19saXN0e1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkODNlNGY7XG4gIH1cbiAgJl9fdXNlZGNhcntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1OTU3NTc7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMCAjZWZlZmVmO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2UtaW47XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbjtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUsIC4yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG5AaW5jbHVkZSBtZWRpYShtZCkge1xuICAuc2hvcF9fdXNlZGNhcntcbiAgICBib3gtc2hhZG93OiA4cHggOHB4IDAgI2VmZWZlZjtcbiAgfVxufVxuXG4uZG90LWxpbmV7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAjZDgzZTRmO1xufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJTkRFWFxuLy8g44O7SUXnlKjjga7jg5bjg6njgqbjgrbjg4/jg4Pjgq9cbi8vIOODu+ODm+ODkOODvOOBruioreWumlxuLy8g44O744OG44Kt44K544OI44Ob44OQ44O844Gu6Kit5a6aXG4vLyDjg7vnlLvlg4/jg5vjg5Djg7zjga7oqK3lrppcbi8vIOODu+ODoeODh+OCo+OCouOCr+OCqOODquODvOOBruioreWumlxuLy8g44O7cG9zaXRpb27jga5taXhpblxuLy8g44O7ZmxleOOBrm1peGluXG4vLyDjg7t3cmFwcGVy44GL44KJ44Gu6ZaL5pS+XG4vLyDjg7vnlpHkvLzopoHntKDjgadwYWRkaW5nLXRvcFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy9JReeUqOOBruODluODqeOCpuOCtuODj+ODg+OCr1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gaWVoYWNrIHtcbiAgQGF0LXJvb3QgYm9keS5pZS53aW5kb3dzICYge1xuICAgIEBjb250ZW50O1xuICB9XG4gIC8vanPjgpLliIfjgaPjgabjgYTjgotJRTEx55So44Gu44OV44Kp44O844Or44OQ44OD44KvXG4gIEBhdC1yb290IF86LW1zLWZ1bGxzY3JlZW4sIDpyb290ICYge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8v44Ob44OQ44O844Gu6Kit5a6aXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBfaG92ZXIge1xuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGllaGFjayB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy/jg4bjgq3jgrnjg4jjg5vjg5Djg7zjga7oqK3lrppcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGhvdmVyKCRuYW1lOm51bGwpIHtcbiAgQGlmICgkbmFtZSAhPSBudWxsKSB7JG5hbWU6IHRvLWxvd2VyLWNhc2UodW5xdW90ZSgkbmFtZSkpO31cbiAgQGlmKCRuYW1lID09IG51bGwpIHtcbiAgICBAaW5jbHVkZSBfaG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkbmFtZSA9PSAnb3BhJyB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gICAgQGluY2x1ZGUgX2hvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cbiAgfVxuICBAaWYgJG5hbWUgPT0gJ3VuZGVyJyB7XG4gICAgQGluY2x1ZGUgX2hvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgY29sb3I6IGNvbG9yKHJlZCk7XG4gICAgfVxuICB9XG4gIEBpZiAkbmFtZSA9PSAnYnV0dG9uJyB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIEBpbmNsdWRlIF9ob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihiZyBkZWVwcmVkKTtcbiAgICB9XG4gIH1cbn1cblxuLy/nlLvlg4/jg5vjg5Djg7zjga7oqK3lrppcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGhvdmVyaW1nKCRnaXppOmJlZm9yZSkge1xuICAmOjojeyRnaXppfSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzO1xuICB9XG4gIEBpbmNsdWRlIF9ob3ZlciB7XG4gICAgJjo6I3skZ2l6aX0ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgjZmZmLC41KTtcbiAgICB9XG4gIH1cbn1cblxuLy9wb3NpdGlvbuOBrm1peGluXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHh5KSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGlmICRwb3NpdGlvbiA9PSB4eSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSB4IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0geSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbi8vZmxleOOBrm1peGluXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBmbGV4KCRwb3NpdGlvbjp4eSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaWYgJHBvc2l0aW9uID09IHh5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0geCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSB5IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi8vd3JhcHBlcuOBi+OCieOBrumWi+aUvlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gb3ZlcmZsb3coJHBhZGRpbmc6IG51bGwpIHtcbiAgJGlzcGFkZGluZzogJHBhZGRpbmcgIT1udWxsO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyg1MHZ3IC0gNTAlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDUwdncgLSA1MCUpO1xuICB9XG59XG5cbi8vICog6KGM5pWw44Gr44KI44KL55yB55WlXG4vLyAqIEBwYXJhbSB7SW50ZXJnZXJ9ICRsaW5lcyDooajnpLrjgZnjgovooYzmlbBcbi8vICogQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCDoqIjnrpfjgavkvb/nlKjjgZnjgovooYzpq5hcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGVsbGlwc2lzKCRsaW5lcywgJGxpbmUtaGVpZ2h0KSB7XG4gIGhlaWdodDogY2FsYygjeyRsaW5lc31lbSAqICN7JGxpbmUtaGVpZ2h0fSApO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuXG4gIEBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZXMpIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmVzO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIH1cbn1cblxuLy8g5pac44KB44K544OI44Op44Kk44OXXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVzKCRjb2xvcjE6ICRwcmltYXJ5LCAkY29sb3IyOiAkcHJpbWFyeS1saWdodCwgJGFuZ2xlOiAtNDVkZWcsICRzdHJpcGUxLXdpZHRoOiA1cHgsICRzdHJpcGUyLXdpZHRoOiAxcHgpIHtcbiAgQGlmICgkc3RyaXBlMi13aWR0aCA9PSBudWxsKSB7XG4gICAgJHN0cmlwZTItd2lkdGg6IG51bGw7XG4gIH1cblxuICAkdGlsZS1zaXplOiAoJHN0cmlwZTEtd2lkdGggKyAkc3RyaXBlMi13aWR0aCkgKiAyO1xuICAkc3RyaXBlMi1zdGFydDogKCRzdHJpcGUxLXdpZHRoIC8gJHRpbGUtc2l6ZSkgKiAxMDAlO1xuICAkc3RyaXBlMy1zdGFydDogJHN0cmlwZTItc3RhcnQgKyAoKCRzdHJpcGUyLXdpZHRoIC8gJHRpbGUtc2l6ZSkgKiAxMDAlKTtcbiAgJHN0cmlwZTQtc3RhcnQ6ICRzdHJpcGUzLXN0YXJ0ICsgKCgkc3RyaXBlMS13aWR0aCAvICR0aWxlLXNpemUpICogMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAkYW5nbGUsXG4gICAgJGNvbG9yMSxcbiAgICAkY29sb3IxICRzdHJpcGUyLXN0YXJ0LFxuICAgICRjb2xvcjIgJHN0cmlwZTItc3RhcnQsXG4gICAgJGNvbG9yMiAkc3RyaXBlMy1zdGFydCxcbiAgICAkY29sb3IxICRzdHJpcGUzLXN0YXJ0LFxuICAgICRjb2xvcjEgJHN0cmlwZTQtc3RhcnQsXG4gICAgJGNvbG9yMiAkc3RyaXBlNC1zdGFydCxcbiAgICAkY29sb3IyXG4gICk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG5cbiAgYmFja2dyb3VuZC1zaXplOiAkdGlsZS1zaXplICR0aWxlLXNpemU7XG59XG5cblxuJGRlZmF1bHQtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8gKipcbi8vICog44OG44Kt44K544OI44Oc44OD44Kv44K544GubGluZS1oZWlnaHTliIbjgpJuZWdhdGl2ZSBtYXJnaW7jgafpmaTljrvjgZnjgotcbi8vICogQHBhcmFtIHs/TnVtYmVyfSAkbGluZS1oZWlnaHQg5oyH5a6a44GZ44KLbGluZS1oZWlnaHRcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuQG1peGluIHRyaW0oJGxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiB0cmltKCRsaW5lLWhlaWdodCk7XG4gIG1hcmdpbi1ib3R0b206IHRyaW0oJGxpbmUtaGVpZ2h0KTtcbn1cblxuLy8gKipcbi8vICog44OG44Kt44K544OI44Oc44OD44Kv44K544GubGluZS1oZWlnaHTliIbjgpJuZWdhdGl2ZSBtYXJnaW7jgafpmaTljrvjgZnjgotcbi8vICogQHBhcmFtIHs/TnVtYmVyfSAkbGluZS1oZWlnaHQg5oyH5a6a44GZ44KLbGluZS1oZWlnaHRcbi8vICogQHJldHVybiB7TnVtYmVyfSBsaW5lLWhlaWdodOOBruWNiuWIhltlbV1cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuQGZ1bmN0aW9uIHRyaW0oJGxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCkge1xuICBAcmV0dXJuIC0oJGxpbmUtaGVpZ2h0IC0gMSkgLyAyICogMWVtO1xufVxuIixudWxsXSwic291cmNlUm9vdCI6IiJ9*/