@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:400,300,300italic,400italic,700,700italic|Roboto:400,700,700italic,400italic);
@import url("https://fonts.googleapis.com/css?family=Kanit:400,500,600,700,900");
.border-black {
  border: 3px solid #2E2E2E; }

.border-white {
  border: 3px solid white; }

.color-white {
  color: white !important; }

.color-dropdown {
  color: #3f51b5 !important; }

.color-black {
  color: #2E2E2E; }

.color-blue {
  color: #0019FF; }

.color-cyan {
  color: #0019FF; }

.color-green {
  color: #00E597; }
  .color-green svg {
    fill: #00E597; }

.color-red {
  color: #FF3D4C; }
  .color-red svg {
    fill: #FF3D4C !important; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.d-flex {
  display: flex; }

.full-width {
  width: 100%; }

.max-width-500px {
  max-width: 500px; }

.min-height-80 {
  min-height: 80%; }

.font-roboto-condensed {
  font-family: 'Roboto Condensed'; }

.font-kanit {
  font-family: 'Kanit'; }

.text-center {
  text-align: center; }

.text-left {
  text-align: left; }

.bg-white {
  background-color: #fff; }

.bg-black {
  background-color: black; }

.bg-green {
  background-color: #00E597; }

.bg-blue {
  background-color: #0019FF; }

.bg-red {
  background-color: #FF3D4C !important; }

.bg-red-light {
  background-color: rgba(255, 61, 76, 0.2); }

.bg-yellow {
  background-color: #FFC100; }

.bg-grey {
  background-color: #D2D3D5 !important; }

.bg-grey-lightest {
  background-color: #F9F9FB !important; }

.outline {
  outline: 1px solid red; }

.btn-outline-blue {
  border: 2px solid #0019FF;
  color: #0019FF;
  padding: 10px 29px; }
  .btn-outline-blue svg {
    fill: #0019FF; }

.btn-outline-blue:hover {
  background: #0019FF;
  color: white; }
  .btn-outline-blue:hover svg {
    fill: white; }

.btn-outline-white:hover {
  background: white;
  color: #2E2E2E; }

.btn-outline-white {
  border: 2px solid white;
  color: white;
  padding: 10px 29px; }

.btn-outline-yellow {
  border: 2px solid #FFC100;
  color: #FFC100;
  padding: 10px 29px; }

.btn-outline-yellow:hover {
  background: #FFC100;
  color: #2E2E2E; }

.btn-yellow {
  background: #FFC100;
  color: #2E2E2E;
  padding: 12px 29px; }

.btn-yellow:hover {
  background: rgba(255, 193, 0, 0.8);
  color: #2E2E2E; }

.btn-black-outline {
  border: 2px solid #2E2E2E;
  color: #2E2E2E;
  padding: 10px 29px; }

.btn-black-outline:hover {
  background: #2E2E2E;
  color: white; }

.btn-blue {
  background: #0019FF;
  color: white;
  padding: 12px 29px; }

.btn-blue:hover {
  color: blue; }

.btn-round-new {
  border-radius: 40px;
  font-family: 'Roboto Condensed';
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.0325em; }

.btn-round {
  border: 0;
  border-radius: 25px;
  padding: 5px 35px;
  font-size: 18px; }

.btn-cyan {
  background-color: #0019FF;
  color: white; }

.btn-cyan:hover {
  color: blue; }

.btn-full {
  display: block;
  width: 100%;
  border-radius: 0px;
  margin: 0px;
  padding: 12px 29px; }

.btn-small {
  min-width: unset !important;
  min-height: unset !important; }

.m-0 {
  margin: 0; }

.m-10 {
  margin: 10px; }

.ml-0 {
  margin-left: 0px; }

.mt-10 {
  margin-top: 10px; }

.mt-20 {
  margin-top: 20px; }

.mt-30 {
  margin-top: 30px; }

.mt-50 {
  margin-top: 50px; }

.mr-10 {
  margin-right: 10px; }

.mr-20 {
  margin-right: 20px; }

.mr-30 {
  margin-right: 30px; }

.mr-50 {
  margin-right: 50px; }

.mb-10 {
  margin-bottom: 10px; }

.mb-20 {
  margin-bottom: 20px; }

.mb-30 {
  margin-bottom: 30px; }

.mb-50 {
  margin-bottom: 50px; }

.ml-10 {
  margin-left: 10px; }

.ml-20 {
  margin-left: 20px; }

.ml-30 {
  margin-left: 30px; }

.ml-50 {
  margin-left: 50px; }

.my-20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important; }

.mw-100 {
  max-width: 100%; }

.p-0 {
  padding: 0; }

.p-10 {
  padding: 10px; }

.p-20 {
  padding: 20px; }

.p-30 {
  padding: 30px; }

.p-40 {
  padding: 40px; }

.p-50 {
  padding: 50px; }

.p-60 {
  padding: 60px; }

.pl-20 {
  padding-left: 20px; }

.pt-80 {
  padding-top: 80px; }

.py-40 {
  padding-top: 40px;
  padding-bottom: 40px; }

.px-20 {
  padding-left: 20px;
  padding-right: 20px; }

.px-40 {
  padding-left: 40px;
  padding-right: 40px; }

.img-circle {
  border-radius: 50%; }

footer p {
  font-size: 12px !important;
  line-height: 12px !important; }

.absolute {
  position: absolute; }

.relative {
  position: relative; }

.s-48 {
  width: 48px;
  height: 48px; }

.grey-waves {
  background: grey url("/assets/images/sck_bg.png");
  background-repeat: repeat;
  background-size: 65px; }

.new-landing-page h1, .new-landing-page h2, .new-landing-page h3, .new-landing-page h4, .new-landing-page h5, .new-landing-page h6 {
  letter-spacing: 0.0325em;
  font-family: 'Kanit';
  font-weight: 900;
  color: #2E2E2E; }

.new-landing-page h1 {
  font-size: 65px;
  line-height: 65px;
  margin: 0px 0px; }

.new-landing-page h2 {
  font-size: 45px;
  line-height: 45px;
  margin: 0px 0px; }

.new-landing-page h3 {
  font-size: 30px;
  line-height: 30px;
  margin-top: 10px;
  margin-bottom: 10px; }

.new-landing-page p {
  color: #2E2E2E;
  font-family: 'Roboto Condensed';
  font-size: 20px;
  line-height: 24px; }

.new-landing-page .sc-logo {
  height: 43px;
  position: absolute;
  z-index: 2;
  left: 10%;
  top: 25px; }

.new-landing-page .sc-off-cta-platform {
  position: absolute;
  z-index: 2;
  right: 10%;
  top: 25px; }

.new-landing-page .img-new_sck {
  min-height: 30vw;
  background: blue url("/assets/images/new_sck.jpg") center/cover; }

.new-landing-page .img-sck_edu {
  min-height: 30vw;
  background: blue url("/assets/images/sck_edu.jpg") center/cover; }

.new-landing-page .img-sck_com {
  background: blue url("/assets/images/sck_communities.jpg") center/cover; }

.new-landing-page .img-research {
  background: blue url("/assets/images/sck_research.jpg") center/cover; }

.new-landing-page .img-governm {
  background: blue url("/assets/images/sck_cities.jpg") center/cover; }

.new-landing-page .img-platform {
  min-height: 630px !important;
  background: blue url("/assets/images/sck_platform.jpg") center/cover; }

.new-landing-page .img-docs {
  min-height: 320px !important;
  background: blue url("/assets/images/sck_docs.jpg") top/cover; }

.new-landing-page .tile {
  padding: 60px 40px;
  border-bottom: 3px solid #2E2E2E;
  border-right: 3px solid #2E2E2E; }

.new-landing-page .tile-image {
  min-height: 300px;
  padding: 0 !important; }

.new-landing-page .tile-left {
  border-left: 3px solid #2E2E2E; }

.new-landing-page .tile-top {
  border-top: 3px solid #2E2E2E; }

.new-landing-page .text-funding {
  text-align: left; }

.new-landing-page .video-section {
  background: blue url("/assets/images/landing/smartcitizen-seeed-preorder.jpg") center/cover;
  position: relative;
  height: 90vh;
  width: 100%;
  overflow: hidden; }

.new-landing-page .heading-over-video {
  position: absolute;
  z-index: 1;
  top: 0px;
  height: 100%;
  padding-left: 10%;
  padding-right: 60%; }
  .new-landing-page .heading-over-video img {
    padding-bottom: 40px; }

@media only screen and (max-width: 1010px) {
  .new-landing-page h1 {
    font-size: 42px;
    line-height: 42px; }
  .new-landing-page h2 {
    font-size: 28px;
    line-height: 28px; }
  .new-landing-page h3 {
    font-size: 26px;
    line-height: 26px; }
  .new-landing-page p {
    font-size: 18px;
    line-height: 22px; }
  .new-landing-page .sc-logo {
    left: 5%; }
  .new-landing-page .heading-over-video {
    padding-top: 40px;
    position: absolute;
    padding-left: 5%;
    padding-right: 25%;
    height: 100%; }
    .new-landing-page .heading-over-video img {
      padding-bottom: 00px; } }

@media only screen and (max-width: 750px) {
  .new-landing-page h1 {
    font-size: 30px; }
  .new-landing-page h2 {
    font-size: 25px; }
  .new-landing-page .text-funding {
    text-align: center; } }

@media only screen and (max-width: 600px) {
  .new-landing-page h1 {
    font-size: 28px;
    line-height: 33px;
    padding-bottom: 10px; }
  .new-landing-page h2 {
    font-size: 28px; }
  .new-landing-page p {
    font-size: 19px; }
  .new-landing-page .p-60 {
    padding: 50px 10px !important; }
  .new-landing-page .border-xs-top {
    border-top: 3px solid #2E2E2E;
    border-left: 3px solid #2E2E2E;
    border-right: 3px solid #2E2E2E;
    border-bottom: 3px solid #2E2E2E; }
  .new-landing-page .border-xs-bottom {
    border-top: unset;
    border-left: 3px solid #2E2E2E;
    border-right: 3px solid #2E2E2E;
    border-bottom: 3px solid #2E2E2E; }
  .new-landing-page .img-platform {
    min-height: 356px !important; }
  .new-landing-page .heading-over-video {
    padding-right: 5%; }
  .new-landing-page .sc-off-cta-platform {
    padding: 10px 10px; }
  .new-landing-page .my-20 {
    margin-top: 10px !important;
    margin-bottom: 10px !important; }
  .new-landing-page .img-new_sck {
    background: blue url("/assets/images/sck_edu.jpg") center/cover; }
  .new-landing-page .img-sck_edu {
    background: blue url("/assets/images/new_sck.jpg") center/cover; } }

/**
 *  NAVBAR
 */
.navbar_container .md-button.navbar_highlight_button {
  border: 2px solid #FFC100;
  color: #FFC100;
  border-radius: 50px; }

.navbar_container .logo_link {
  text-align: center; }
  .navbar_container .logo_link .logo_icon {
    height: 32px;
    width: 32px; }

.navbar_container .nav_icon {
  margin-right: 4px;
  height: 14px !important;
  width: 14px !important; }
  .navbar_container .nav_icon svg {
    fill: #FFC100; }

.navbar_container .navbar_signup_button .md-button {
  padding: 2px 0px;
  border: 2px solid #FFC100;
  color: #FFC100;
  border-radius: 50px;
  width: 79px; }

.navbar_container .navbar_signup_button .md-button:hover {
  background-color: #FFC100;
  color: #2E2E2E; }

.navbar_avatar_icon {
  width: 38px;
  height: 38px;
  border-radius: 19px; }

.md-open-menu-container.md-active {
  margin-top: 50px !important; }

#search input {
  background: url(../assets/images/search_icon_black.svg);
  background-repeat: no-repeat;
  background-position: 10px 12px;
  background-size: 18px;
  padding: 0px 35px; }

.search_results {
  display: flex;
  align-items: center; }
  .search_results .result_icon {
    flex: 0 0 18px;
    margin-right: 12px;
    height: 18px; }
  .search_results .result_name {
    margin-right: 10px; }
  .search_results .result_location {
    color: #0019FF; }

/*
  CONTAINERS USED ON SHOW KIT STATE
 */
.over_map {
  min-height: 120px; }

.kit_fixed {
  z-index: 2;
  position: relative; }

.kit_data {
  width: 100%;
  margin-top: 376px; }
  .kit_data section.overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: white;
    z-index: 3;
    color: #2E2E2E;
    text-align: center;
    font-size: 20px;
    font-weight: lighter; }
    .kit_data section.overlay h1 {
      color: #2E2E2E;
      font-size: 1.8em;
      margin: 0; }
    .kit_data section.overlay p {
      color: #D2D3D5;
      margin: 0.5em; }
  .kit_data .hint {
    background-color: white;
    text-align: center;
    color: #D2D3D5;
    margin-top: 0px;
    z-index: 10;
    position: absolute;
    height: 100%;
    width: 100%; }
    .kit_data .hint > p {
      color: #6E6E6E; }
    .kit_data .hint .md-button {
      margin-top: 20px; }

.kit_data .shadow, .kitTags__section .shadow {
  top: 0px;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
  position: relative;
  box-shadow: 0px -1px 6px 0 rgba(0, 0, 0, 0.65);
  z-index: 2; }

.kit_tags-select-header {
  height: 48px;
  display: flex; }

.kit_tags-header-searchbox {
  border: none;
  border-bottom: 1px solid #ccc;
  padding-left: 12px;
  height: 100%;
  width: 100%; }

/*
=========================================
KIT COMMENTS MODULE
=========================================
*/
.kit_comments {
  padding-bottom: 100px; }

/*
  CHART COMPONENT
*/
.chart_container {
  min-width: 340px;
  min-height: 310px;
  position: relative; }
  .chart_container .chart_line {
    fill: none;
    stroke-width: 2px; }
  .chart_container .chart_area {
    opacity: 0.1; }
  .chart_container .axis path, .chart_container .axis line {
    fill: none;
    stroke: #6E6E6E;
    stroke-width: 1;
    shape-rendering: crispEdges;
    display: none; }
  .chart_container .axis {
    font-size: 10px; }
  .chart_container .axis.y_left {
    fill: #D2D3D5; }
  .chart_container .axis.y_right {
    fill: #D2D3D5; }
  .chart_container .axis.x {
    fill: #D2D3D5; }
  .chart_container .grid .tick {
    stroke: #D2D3D5;
    stroke-opacity: 0.6;
    shape-rendering: crispEdges; }
  .chart_container .grid path {
    stroke-width: 0; }
  .chart_container .overlay {
    fill: none;
    pointer-events: all; }
  .chart_container .focus circle {
    fill: #03252d;
    stroke-width: 2px; }
  .chart_container .text_hover_container {
    border: 1px solid #6E6E6E; }
  .chart_container .popup_value {
    fill: #2E2E2E;
    color: #2E2E2E;
    font-size: 18px;
    font-weight: bold; }
  .chart_container .popup_date {
    fill: #6E6E6E;
    font-size: 10px;
    font-weight: bold; }
  .chart_container .popup_unit {
    fill: #D2D3D5;
    margin-left: 10px; }

.stickNav {
  position: fixed;
  top: 0px; }

.overlay-kitinfo {
  background: white;
  height: 100%;
  width: 100%;
  position: absolute;
  z-index: 999; }

/*
  KIT MENU MODULE
 */
section .kit_menu {
  width: 100%;
  z-index: 5;
  background-color: #ECECEE;
  position: relative; }
  section .kit_menu .container {
    width: 100%;
    height: 33px; }
  section .kit_menu .kit_time {
    position: relative;
    text-align: center;
    color: #6E6E6E;
    letter-spacing: 0.5px;
    font-size: 14px;
    text-transform: uppercase; }
  section .kit_menu .kit_user {
    margin-left: 20px;
    line-height: 30px;
    color: #6E6E6E;
    font-weight: bold;
    font-size: 13px; }
    section .kit_menu .kit_user img {
      border-radius: 50%;
      float: left;
      width: 18px;
      height: 18px;
      margin-right: 8px;
      margin-top: 5px; }
    section .kit_menu .kit_user a {
      color: #6E6E6E;
      text-decoration: none; }
  section .kit_menu .kit_name {
    margin-left: 30px;
    line-height: 30px;
    font-size: 13px;
    font-weight: bold;
    color: #6E6E6E; }
    section .kit_menu .kit_name md-icon {
      float: left;
      width: 14px;
      height: 14px;
      margin-right: 8px;
      margin-top: 4px; }
      section .kit_menu .kit_name md-icon svg {
        fill: #FFC100; }
    section .kit_menu .kit_name span {
      vertical-align: middle; }
  section .kit_menu .kit_battery {
    margin-left: 30px;
    line-height: 30px;
    color: #6E6E6E;
    font-size: 12px;
    font-weight: bold; }
    section .kit_menu .kit_battery md-icon {
      margin-bottom: 2px;
      width: 16px;
      margin-right: 8px; }
      section .kit_menu .kit_battery md-icon svg {
        fill: #6E6E6E; }
  section .kit_menu .kit_navbar {
    margin-right: 20px; }
    section .kit_menu .kit_navbar md-icon {
      width: 14px; }
      section .kit_menu .kit_navbar md-icon svg {
        fill: #6E6E6E; }
    section .kit_menu .kit_navbar .md-button {
      margin: 0; }
    section .kit_menu .kit_navbar a.md-button:hover, section .kit_menu .kit_navbar .button_active {
      border-bottom: 2px solid #2E2E2E; }

.kit_overview {
  width: 100%;
  height: 96px;
  z-index: 2;
  background-color: #F9F9FB;
  position: relative; }
  .kit_overview .button_scroll {
    margin: 0px;
    background: #ccc; }
  .kit_overview .button_scroll_left {
    left: 0; }
  .kit_overview .button_scroll_right {
    right: 0; }
  .kit_overview .sensors_container {
    width: 90%;
    height: 96px;
    margin: 0 auto;
    overflow-x: hidden;
    overflow-y: hidden; }
  @media (pointer: coarse) {
    .kit_overview .sensors_container {
      overflow-x: auto; } }
  .kit_overview .sensor_container {
    position: relative;
    color: #6E6E6E;
    display: inline-table;
    cursor: pointer;
    text-align: center;
    outline: none; }
    .kit_overview .sensor_container p {
      margin: 0px;
      padding-bottom: 15px;
      font-size: 0.8em;
      font-weight: normal; }
    .kit_overview .sensor_container .clear {
      clear: both; }
    .kit_overview .sensor_container .sensor_right {
      position: absolute;
      right: 15px;
      bottom: 38px;
      max-width: 30px; }
      .kit_overview .sensor_container .sensor_right .sensor_unit {
        margin-top: 8px;
        font-size: 14px; }
      .kit_overview .sensor_container .sensor_right .sensor_arrow {
        margin-top: -15px;
        width: 14px;
        height: 7px; }
        .kit_overview .sensor_container .sensor_right .sensor_arrow.arrow_up svg {
          fill: #00E597; }
        .kit_overview .sensor_container .sensor_right .sensor_arrow.arrow_down svg {
          fill: #FF3D4C; }
        .kit_overview .sensor_container .sensor_right .sensor_arrow.equal svg {
          fill: #55C4F5; }
    .kit_overview .sensor_container .sensor_value {
      margin-top: 10px;
      padding-left: 50px;
      padding-right: 50px; }
    .kit_overview .sensor_container .sensor_value_null {
      opacity: 0.15; }
    .kit_overview .sensor_container .sensor_icon {
      width: 22px;
      height: 22px;
      position: absolute;
      bottom: 45px;
      left: 25px; }
      .kit_overview .sensor_container .sensor_icon svg {
        fill: #6E6E6E; }
    .kit_overview .sensor_container:hover {
      opacity: 0.8; }
    .kit_overview .sensor_container.selected {
      color: #2E2E2E; }
      .kit_overview .sensor_container.selected .sensor_icon svg {
        fill: #2E2E2E; }

/**
 *  KIT DETAILS
 *
 */
.kit_details_notAuth_title {
  margin: 0; }

.kit_details_notAuth_subheader {
  color: #6E6E6E; }

.kit_details_notAuth_button {
  float: right; }

.kit_detailed {
  z-index: 2;
  background-color: white;
  position: relative; }
  .kit_detailed p.description {
    line-height: inherit;
    font-weight: lighter;
    width: 75%; }
  .kit_detailed .kit_timeOpts {
    margin: 0;
    font-size: 1.3em; }
  .kit_detailed .kit_chart {
    min-height: 340px;
    background-color: white;
    position: relative; }
    .kit_detailed .kit_chart .hint {
      background-color: #2E2E2E;
      opacity: 0.6; }
    .kit_detailed .kit_chart .container {
      padding: 37px;
      height: 100%; }
      .kit_detailed .kit_chart .container .kit_chart_left {
        color: #2E2E2E; }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_select .sensor_icon_selected {
          float: left;
          margin-right: 6px;
          padding-top: 5px; }
          .kit_detailed .kit_chart .container .kit_chart_left .sensor_select .sensor_icon_selected svg {
            fill: #2E2E2E; }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_select md-select {
          margin: 0; }
          .kit_detailed .kit_chart .container .kit_chart_left .sensor_select md-select .md-select-value .md-text .select_image {
            display: none; }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_description h6 {
          margin: 0; }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_description small {
          line-height: 1em; }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_description a {
          margin-left: 10px;
          text-decoration: none;
          color: #6E6E6E; }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_description .sensor_description_full {
          position: absolute;
          top: -50px;
          margin-top: 10px;
          display: none;
          overflow: visible;
          z-index: 200;
          background-color: rgba(255, 255, 255, 0.8);
          color: #2E2E2E;
          border-radius: 2px;
          line-height: 1.5em;
          padding: 10px;
          box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65); }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_data .sensor_value {
          font-size: 2em;
          font-weight: bold; }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_data .sensor_unit {
          font-size: .8em;
          position: relative;
          top: -8px; }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_data .sensor_data_icon {
          width: 14px;
          height: 14px;
          margin-left: 8px; }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_data_description {
          font-size: 12px;
          display: none;
          position: absolute;
          -webkit-transform: translate(5px, 5px);
          transform: translate(5px, 5px);
          background-color: rgba(255, 255, 255, 0.8);
          color: #2E2E2E;
          border-radius: 2px;
          line-height: 1.5em;
          padding: 4px 6px;
          box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
          max-width: 175px; }
        .kit_detailed .kit_chart .container .kit_chart_left .sensor_compare {
          font-size: .8em;
          padding-top: 30px; }
          .kit_detailed .kit_chart .container .kit_chart_left .sensor_compare span {
            margin-right: 10px; }
      .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation {
        height: 10%;
        font-size: 11px; }
        .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation > div {
          margin-left: 20px; }
        .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation input {
          margin-left: 10px;
          padding-left: 10px;
          font-size: 12px; }
        .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation .kit_time md-icon {
          width: 11px;
          height: 11px;
          margin-right: 8px; }
        .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation .chart_move .chart_move_button {
          margin: -2px;
          width: 40px;
          height: 28px;
          display: inline-flex;
          border: 1px solid #6E6E6E;
          background-color: #F9F9FB; }
        .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation .chart_move .chart_move_right {
          border-top-left-radius: 0px;
          border-bottom-left-radius: 0px; }
          .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation .chart_move .chart_move_right svg {
            fill: #6E6E6E; }
          .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation .chart_move .chart_move_right:hover {
            background-color: #6E6E6E; }
            .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation .chart_move .chart_move_right:hover svg {
              fill: #F9F9FB; }
        .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation .chart_move .chart_move_left svg {
          fill: #6E6E6E; }
        .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation .chart_move .chart_move_left:hover {
          background-color: #6E6E6E; }
          .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation .chart_move .chart_move_left:hover svg {
            fill: #F9F9FB; }
        .kit_detailed .kit_chart .container .kit_chart_right .chart_navigation .chart_move md-icon {
          width: 5.5px;
          height: 9px;
          position: relative;
          top: 0px; }
  .kit_detailed .kit_details {
    color: #2E2E2E; }
  .kit_detailed .kit_details_content svg {
    fill: #2E2E2E; }
  .kit_detailed .kit_details_content .kit_details_labels {
    margin-top: 30px; }
  .kit_detailed .kit_details_name {
    margin: 5px 0 20px 0; }
  .kit_detailed .kit_details_type > span {
    margin-right: 15px; }
  .kit_detailed .kit_details_type_location svg {
    fill: #6E6E6E; }
  .kit_detailed .kit_details_version span {
    color: #6E6E6E;
    font-weight: bold; }
  .kit_detailed .kit_details_id span {
    color: #6E6E6E;
    font-weight: bold; }
  .kit_detailed .kit_details_description {
    padding-top: 4px; }
  .kit_detailed .kit_details_description_title {
    font-size: 16px;
    margin-bottom: 15px; }
  .kit_detailed .kit_details_description_content {
    font-size: 12px; }
  .kit_detailed .kit_details_manage_buttons {
    margin-bottom: 32px; }
  .kit_detailed .kit_details_button_delete {
    color: #FF3D4C; }
  .kit_detailed .kit_details_key {
    float: left;
    height: 26px; }
  .kit_detailed .md-button.kit_details_key_refreshButton:hover, .kit_detailed .md-button.kit_details_key_refreshButton:focus {
    background-color: #DBDBDB; }
  .kit_detailed .kit_detailed_icon_content {
    width: 14px;
    height: 14px;
    margin-right: 4px;
    position: relative;
    top: -1px; }
    .kit_detailed .kit_detailed_icon_content svg {
      fill: #6E6E6E; }
  .kit_detailed .kit_detailed_icon_title {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    position: relative;
    top: -2px; }
  .kit_detailed .kit_detailed_title_container {
    padding: 20px 0; }
  .kit_detailed .kit_detailed_title {
    font-size: 16px;
    display: inline; }
  .kit_detailed .kit_detailed_content_container {
    margin: 62px 37px 0px; }
  .kit_detailed .kit_owner {
    color: #2E2E2E;
    background-color: #F5F5F5;
    padding-bottom: 40px; }
    .kit_detailed .kit_owner .container {
      width: 95%;
      margin: 0 auto; }
    .kit_detailed .kit_owner .kit_owner_usernameLink {
      text-decoration: none; }
    .kit_detailed .kit_owner .kit_owner_usernameText {
      color: #2E2E2E;
      margin: 50px 0 20px 0; }
    .kit_detailed .kit_owner .kit_owner_location {
      color: #6E6E6E;
      font-weight: bold; }
    .kit_detailed .kit_owner .kit_owner_url a {
      text-decoration: none;
      color: #2E2E2E; }
    .kit_detailed .kit_owner .kit_owner_kits_title {
      margin-bottom: 50px; }
    .kit_detailed .kit_owner .kit_owner_kits_list {
      border: 1px solid #EAECF1;
      height: 82px;
      background-color: white; }
    .kit_detailed .kit_owner .kit_owner_kits_list_avatar {
      float: left;
      width: 44px;
      height: 44px;
      margin-right: 3%;
      margin-top: 9px; }
    .kit_detailed .kit_owner .kit_owner_kits_list_content {
      float: left;
      margin-top: 5px; }
    .kit_detailed .kit_owner .kit_owner_kits_list_data {
      font-size: 16px; }
      .kit_detailed .kit_owner .kit_owner_kits_list_data span {
        margin-right: 15px; }
    .kit_detailed .kit_owner .kit_owner_kits_list_state {
      display: inline;
      font-size: 12px;
      border-radius: 20px;
      padding: 6px 11px;
      margin: 15px; }
    .kit_detailed .kit_owner .kit_owner_kits_list_never_published {
      background-color: #FFC100; }
    .kit_detailed .kit_owner .kit_owner_kits_list_not_configured {
      background-color: #FF3D4C; }
    .kit_detailed .kit_owner .kit_owner_kits_list_config {
      float: right;
      margin-top: 13px; }
    .kit_detailed .kit_owner .kit_owner_kits_list_config_icon {
      width: 22px;
      height: 22px; }

.sensor_value {
  font-size: 34px;
  font-family: Kanit;
  font-weight: 700; }

/**/
/* [!] Leave animation (ng-leave ) are disabled
because they conflict with enter animations */
.sensor_animation.ng-enter {
  transition: 1s ease-out all; }

.sensor_animation.ng-enter {
  -webkit-transform: scale(1.05);
          transform: scale(1.05); }

.sensor_animation.ng-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1); }

/* .sensor_animation.ng-leave{
  transition:1s ease all;
}
.sensor_animation.ng-leave{
  opacity: 0;
}
.sensor_animation.ng-leave-active{
  opacity: 1;
} */
/* Time animation currently not in use */
.time_animation.ng-enter {
  transition: 1s ease-out all; }

.time_animation.ng-enter {
  -webkit-transform: scale(1.05);
          transform: scale(1.05); }

.time_animation.ng-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1); }

/* .time_animation.ng-leave {
  transition:1s ease all;
}
.time_animation.ng-leave {
  opacity: 0;
}
.time_animation.ng-leave-active {
  opacity: 1;
} */
.bat_animation.ng-enter {
  transition: 1s ease-out all; }

.bat_animation.ng-enter {
  -webkit-transform: scale(1.05);
          transform: scale(1.05); }

.bat_animation.ng-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1); }

/* .bat_animation.ng-leave {
  transition:2s ease all;
}
.bat_animation.ng-leave {
  opacity: 0;
}
.bat_animation.ng-leave-active {
  opacity: 1;
} */
/*
  MODAL STORE
*/
.store_itemDescription {
  margin-left: 20px; }
  .store_itemDescription ul {
    list-style-image: url("../assets/images/check_circle.svg");
    list-style-position: inherit;
    font-size: .8em;
    line-height: 1.8em; }

.csv_file_item {
  display: flex;
  align-items: center; }
  .csv_file_item md-checkbox {
    margin-bottom: 0px; }
  .csv_file_item span {
    margin-right: 20px; }

.list-shadow {
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2); }
  .list-shadow md-list-item {
    border-bottom: solid 1px #ECECEE; }
  .list-shadow md-list-item:last-child {
    border-bottom: none; }

.label-grey {
  background-color: #D2D3D5; }

.title-timeline {
  font-size: 30px; }

/* This is temporary */
.upload-csv .container {
  padding-bottom: 20px;
  margin-right: auto;
  margin-left: auto; }

@media (min-width: 768px) {
  .upload-csv .container {
    width: 750px; } }

@media (min-width: 992px) {
  .upload-csv .container {
    width: 970px; } }

@media (min-width: 1200px) {
  .upload-csv .container {
    width: 1170px; } }

/**
 *  BACKDROP COMPONENT
 */
md-content.md-opaque {
  background-color: rgba(30, 30, 30, 0.6); }

md-content.md-mainBackdrop {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh; }
  md-content.md-mainBackdrop .backdrop_icon {
    width: 101px;
    height: 101px; }

md-content.md-stateChangeBackdrop {
  z-index: 999;
  position: absolute;
  background-color: transparent;
  width: 100vw;
  height: 100vh; }

.backdrop_icon svg {
  overflow: visible;
  fill: #6E6E6E; }

.backdrop_icon .sc-circle-arrow {
  -webkit-transform-origin: 50% 53.8%;
  transform-origin: 50% 53.8%;
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3s linear infinite; }

@-webkit-keyframes spin {
  100% {
    -webkit-transform: rotate(360deg); } }

@keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

section .stickMenu {
  position: absolute !important; }

.stickNav {
  position: fixed;
  top: 0px;
  border-bottom: 1px solid #666; }

/**
 *  MOZILLA-SPECIFIC CSS
 */
@-moz-document url-prefix() {
  .kit_detailed .kit_chart .container .kit_chart_left .sensor_select .sensor_icon_selected {
    transform: translateY(-8px); }
  .kit_detailed .kit_chart .container .kit_chart_left .sensor_compare md-select {
    transform: translateY(8px);
    margin: 0; }
  body .kit_detailed .kit_chart .container .kit_chart_left .sensor_data {
    margin: 5% 0 4% 0; }
  /*   section.map {
    z-index: 0;
  } */ }

/**
 *  INPUT CSS
 */
html {
  font-family: 'Roboto Condensed';
  font-size: 18px; }

body {
  background-color: rgba(0, 0, 0, 0);
  color: #7E7E7E; }

a.about {
  cursor: pointer;
  text-decoration: none;
  color: #0019FF; }

.icon_label {
  width: 14px;
  height: 14px;
  margin-right: 4px;
  position: relative;
  top: -2px; }
  .icon_label svg {
    fill: #6E6E6E; }

/**
  * TYPOGRAPHY
  */
h1 {
  font-size: 2.2em;
  font-weight: normal; }

h2 {
  font-size: 1.7em;
  font-weight: normal; }

h3 {
  font-size: 1.3em; }

h4 {
  font-size: 1.2em;
  font-weight: normal; }

p {
  line-height: 1.5; }

td {
  padding: 5px; }

input {
  font-family: 'Roboto Condensed'; }

.label, .tag, .state {
  text-transform: uppercase;
  font-size: 12px;
  line-height: 24px;
  border-radius: 20px;
  padding: 3px 8px;
  margin-right: 8px; }
  .label md-icon, .tag md-icon, .state md-icon {
    margin-left: 4px;
    height: 11px;
    width: 11px;
    margin-top: -3px;
    cursor: pointer; }
  .label[clickable], .tag[clickable], .state[clickable] {
    cursor: pointer; }

.label {
  background-color: #FFD44D;
  color: #2E2E2E; }
  .label md-icon svg path {
    fill: #D2D3D5; }

.tag {
  background-color: #FFECB3;
  color: #2E2E2E; }
  .tag md-icon svg path {
    fill: #6E6E6E; }

.leaflet-container .tag, .leaflet-container .label,
.leaflet-container .state {
  font-size: 1em; }

.leaflet-top {
  top: 93px; }

section.info h1 {
  font-size: 1.3em; }

section.info p {
  line-height: inherit;
  font-weight: lighter; }

a {
  color: #0019FF;
  text-decoration: none; }
  a:hover, a:active {
    text-decoration: none;
    color: #55C4F5; }

/*
  Overwrite global material design, allow icons to be smaller
*/
md-toolbar {
  background-color: #2E2E2E !important;
  z-index: 10;
  color: white !important; }
  md-toolbar md-icon {
    fill: white !important; }

md-icon {
  min-width: unset !important; }

md-select md-select-value {
  border-bottom-color: #cccccc75 !important; }

a.md-button h4, a.md-button .h4 {
  color: #0019FF;
  margin: 0; }

a.warn,
button.warn {
  color: #FF3D4C; }

.bold {
  font-weight: bold; }

div[api-key] {
  display: flex; }
  div[api-key] .api_key_number {
    background-color: #F2F2F2;
    word-break: break-all;
    width: 420px; }
  div[api-key] .api_key_refresh_button {
    background-color: #DBDBDB;
    margin: 0; }
    div[api-key] .api_key_refresh_button md-icon {
      padding: 10px;
      height: 15px;
      width: 15px; }
  div[api-key] md-icon {
    opacity: .5; }

.info_overlay h2 {
  color: white; }

.info_overlay p {
  margin: 0;
  font-size: 20px;
  font-weight: 300;
  color: #D2D3D5; }

.dark h1, .dark h2 {
  color: white; }

.dark h1, .dark h2 {
  margin: 0; }

.dark h3, .dark h4, .dark .h4, .dark a {
  color: #D2D3D5; }

/**
 * ANGULAR MATERIAL OVERRIDING
 */
md-select-menu {
  background-color: white; }

md-select,
md-select-menu {
  text-transform: uppercase; }

md-select:not([disabled]):focus .md-select-value {
  border-bottom-color: #6B868D; }

.md-button.md-primary.md-flat:not([disabled]):hover {
  background-color: #0019FF;
  color: white; }

.md-button.md-primary.md-flat:not([disabled]):focus {
  background-color: #0019FF;
  color: white; }

.md-button.fillwidth {
  width: 100% !important; }

md-input-container:not(.md-input-invalid).md-input-focused label {
  color: #0019FF; }

md-input-container:not(.md-input-invalid).md-input-focused .md-input {
  border-color: rgba(0, 0, 0, 0.12); }

/**
 * ALERT COMPONENT
 */
.md-toast-content {
  box-shadow: unset !important;
  background-color: unset !important;
  color: black !important;
  min-width: 100%; }

md-toast {
  bottom: unset !important;
  color: black;
  opacity: 0.9;
  padding: 0;
  position: fixed;
  top: 64px !important;
  min-width: 100%;
  z-index: 8; }
  md-toast .alert_typeIcon {
    width: 16px;
    height: 16px;
    margin-right: 16px; }
  md-toast .alert_closeIcon {
    width: 10.5px;
    height: 10.5px;
    margin: 0 auto; }
  md-toast .alert_button {
    padding: 0px 12px;
    margin-left: 5px;
    color: black !important;
    background-color: #FFC100;
    border-radius: 20px;
    font-size: 12px; }

md-toast.red {
  background-color: #FF3D4C; }

md-toast.green {
  background-color: #4DBD4E; }

md-toast.blue {
  background-color: #0019FF; }

md-toast.yellow {
  background-color: #FFC100; }

md-checkbox.md-checked .md-icon {
  background-color: #0019FF; }

md-checkbox .md-label {
  pointer-events: auto; }

md-checkbox .md-label span {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/**
 *  SPINNER/PROGRESS BAR COMPONENTS
 */
md-progress-linear.md-bar.green {
  background-color: #00E597; }

md-progress-linear.green .md-container {
  background-color: rgba(0, 229, 151, 0); }

md-progress-linear.green .md-bar {
  background-color: #00E597; }

md-progress-linear.md-bar {
  background-color: #0019FF; }

md-progress-linear.md-hue-3 .md-container {
  background-color: rgba(0, 25, 255, 0.05); }

md-progress-linear.md-hue-3 .md-bar {
  background-color: #0019FF; }

.kit_spinner {
  z-index: 200;
  position: absolute;
  left: 0;
  bottom: 2px; }

.chart_spinner {
  position: absolute;
  top: 200px;
  left: 57%; }

/**
 *  COOKIES POLICY COMPONENT
 */
.cookies-policy_container {
  background-color: #3c3c3c;
  color: #FFC100;
  position: fixed;
  bottom: 0;
  padding: 5px;
  left: 0;
  width: 100%;
  z-index: 999;
  text-align: center;
  line-height: 4vh; }
  .cookies-policy_container a {
    color: rgba(255, 193, 0, 0.6); }

.md-noDataBackdrop {
  width: 100%;
  height: 381px;
  position: absolute;
  background-color: white; }
  .md-noDataBackdrop .block {
    margin: 0 auto; }
  .md-noDataBackdrop .title, .md-noDataBackdrop .message {
    text-align: center; }
  .md-noDataBackdrop .title {
    color: #6E6E6E;
    font-weight: 400;
    margin-bottom: 0; }
  .md-noDataBackdrop .message {
    margin: 0;
    font-size: 20px;
    font-weight: 300; }
  .md-noDataBackdrop a {
    color: #0019FF;
    text-decoration: none; }

/**
 *  MAP
 */
.map_state {
  position: fixed;
  z-index: 1; }

section.map {
  background-color: white;
  text-align: center;
  width: 100%;
  height: 100%;
  color: black;
  z-index: 1;
  position: fixed;
  top: 64px; }
  @media all and (max-height: 1200px) and (min-height: 1000px) {
    section.map {
      height: 950px; } }
  @media all and (max-height: 1000px) and (min-height: 800px) {
    section.map {
      height: 700px; } }
  @media all and (max-height: 800px) and (min-height: 600px) {
    section.map {
      height: 550px; } }
  @media all and (max-height: 600px) and (min-height: 400px) {
    section.map {
      height: 300px; } }
  section.map h1 {
    font-size: 3em; }

/*
  CORE CHIP COMPONENT
 */
.chips {
  display: inline-block; }
  .chips div.chips_row {
    height: 40.5px; }
  .chips .label, .chips .tag {
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65); }

.chip {
  padding: 0px 10px 0px 14px;
  margin: auto 5px;
  border-radius: 20px;
  height: 30px;
  text-transform: uppercase;
  font-size: 13px;
  line-height: 29px; }
  .chip .chip_name {
    margin-left: 3px;
    margin-right: 7px; }
  .chip .chip_icon {
    border: 0;
    background-color: inherit; }
    .chip .chip_icon md-icon {
      width: 8px;
      height: 8px; }
  .chip.map_filter {
    background-color: white;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65); }
  .chip.kit_tag {
    background-color: #D2D3D5;
    float: left;
    margin: 5px; }

/*
  MAP FILTERS
*/
.map_legend {
  position: absolute;
  top: 10px;
  margin-left: 10px;
  display: flex; }
  .map_legend .chips {
    align-self: flex-end;
    padding-bottom: 5px;
    padding-left: 5px;
    display: flex; }
  .map_legend .map_legend__filtersContainer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 124px;
    height: 81px;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65); }
    .map_legend .map_legend__filtersContainer svg, .map_legend .map_legend__filtersContainer p {
      fill: #2E2E2E; }
    .map_legend .map_legend__filtersContainer .map_legend__filtersRow {
      cursor: pointer;
      display: flex;
      align-items: center;
      padding-left: 5px;
      background-color: #fff; }
      .map_legend .map_legend__filtersContainer .map_legend__filtersRow:not(:last-child) {
        border-bottom: 1px solid gray; }
      .map_legend .map_legend__filtersContainer .map_legend__filtersRow .map_filter_button {
        box-shadow: none; }
        .map_legend .map_legend__filtersContainer .map_legend__filtersRow .map_filter_button p {
          margin: 0; }

.map_filter_button {
  background-color: white;
  margin-right: 15px;
  width: 26px;
  height: 26px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65); }
  .map_filter_button md-icon {
    width: 18px;
    height: 12px; }

.md-button.map_filter_button:hover, .md-button.map_filter_button:focus {
  background-color: white; }

/*
=========================================
KIT TAGS MODULE
=========================================
*/
.kitTags__section {
  margin-top: 376px; }
  .kitTags__section .kitTags__listContainer {
    background-color: #ECECEE;
    padding: 20px; }
  .kitTags__section .kitTags__container {
    padding-bottom: 20px; }
    .kitTags__section .kitTags__container .kitTags__textContainer {
      display: flex;
      justify-content: space-between;
      margin-left: 20px;
      margin-right: 20px; }
      .kitTags__section .kitTags__container .kitTags__textContainer .kitTags__textElement {
        flex-basis: 40%;
        flex-grow: 0;
        min-width: 300px; }

/*
 CORE FORM COMPONENT
 */
.form_container {
  font-size: 16px;
  position: relative;
  border-radius: 0px 0px 3px 3px; }

.form_contentContainer {
  width: 92%;
  margin: 0 auto; }

.form_field {
  position: relative; }

.form_errors {
  position: absolute;
  bottom: 15%;
  left: 5%;
  color: red;
  font-size: 0.7em;
  line-height: 1; }

.form_closeIcon {
  float: right;
  width: 14px;
  height: 14px;
  margin: 12px; }
  .form_closeIcon md-icon {
    width: 14px;
    height: 14px;
    position: absolute;
    top: 0px;
    left: 0px; }

.md-primary.form_button {
  color: white;
  background-color: #0019FF;
  height: 64px;
  bottom: 0px;
  left: 0px;
  border-radius: 0px 0px 2px 2px; }

.form_title {
  color: #0019FF;
  font-weight: normal; }

.form_messageHeader {
  font-size: 1.5em;
  color: #6E6E6E;
  font-weight: bold;
  line-height: 0;
  margin-top: 50px; }

.form_messageSubheader {
  font-size: 0.875em;
  color: rgba(0, 98, 123, 0.54);
  line-height: 0.5; }

.form_messageDescription {
  font-size: 12px;
  margin-bottom: 0; }

/*
  CORE LARGE DEVICES FORM
*/
@media (min-width: 501px) {
  .form_container {
    width: 340px;
    font-size: 16px; }
  .form_messageContainer {
    margin-bottom: 20px; }
  .md-primary.form_button {
    width: 340px;
    display: block;
    position: relative;
    margin: 0 auto;
    font-size: 1.5em; } }

/*
  CORE MOBILE DEVICES FORM
*/
@media (max-width: 500px) {
  .form_container {
    width: 80%;
    font-size: 12px; }
  .md-primary.form_button {
    width: 100%;
    position: absolute;
    font-size: 1.2em; } }

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-device-pixel-ratio: 2) and (device-aspect-ratio: 2 / 3) {
  .recovery_container {
    margin-top: 40px; }
  .form_field {
    padding: 5% 0; } }

/*
  RECOVERY FORM
*/
.recovery_container {
  position: relative;
  margin: 0px auto;
  margin-bottom: 100px; }

.formRecovery_field {
  padding: 10% 0; }

@media (min-width: 501px) {
  .recovery_container {
    margin-top: 80px; }
  .formRecovery_errors {
    bottom: 15%;
    left: 5%; } }

@media (max-width: 500px) {
  .recovery_container {
    margin-top: 20%; }
  .formRecovery_errors {
    bottom: 23%;
    left: 5%; } }

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-device-pixel-ratio: 2) and (device-aspect-ratio: 2 / 3) and (max-width: 500px) {
  .formRecovery_field {
    padding: 2% 0; }
  .formRecovery_errors {
    bottom: 29%; } }

/*
  RESET FORM
*/
.formReset_field {
  padding: 7% 0; }

@media (min-width: 501px) {
  .formReset_errors {
    bottom: 5%;
    left: 5%; } }

@media (max-width: 500px) {
  .formReset_errors {
    bottom: 18%;
    left: 1%; } }

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-device-pixel-ratio: 2) and (device-aspect-ratio: 2 / 3) and (max-width: 500px) {
  .formReset_errors {
    top: 65%; }
  .formReset_field {
    padding: 3% 0; } }

/**
 * MOVE DOWN EFFECT ON SCROLL
 */
.move_down {
  -webkit-transform: translateY(32px);
  transform: translateY(32px); }

/*
  MARKER AND POPUP MARKER
*/
.markerSmartCitizenNormal {
  border: 1px solid #FFC100;
  border-radius: 20px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3); }

.markerSmartCitizenOnline {
  border: 2px solid #FFC100;
  border-radius: 20px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
  background-color: rgba(255, 193, 0, 0.5); }

.markerExperimentalNormal {
  border: 2px solid #D2D3D5;
  border-radius: 20px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
  background-color: #D2D3D5; }

/* @keyframes pulse {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}
@-webkit-keyframes pulse {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}
@-moz-keyframes pulse {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}
@-o-keyframes pulse {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
} */
.markerSmartCitizenOffline {
  border: 2px solid rgba(0, 0, 0, 0.2);
  border-radius: 20px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
  background-color: rgba(0, 0, 0, 0.2); }

/* .marker_blink {
  -webkit-animation: pulse 2s linear infinite;
  -moz-animation: pulse 2s linear infinite;
  -ms-animation: pulse 2s linear infinite;
  animation: pulse 2s linear infinite;
} */
.popup {
  width: 101%;
  height: 135px;
  color: #2E2E2E;
  font-family: 'Roboto Condensed'; }

.popup_top {
  height: 72px;
  border-radius: 2px 2px 0 0;
  background-color: #ECECEE;
  padding-top: 5px; }
  .popup_top a {
    color: #2E2E2E; }
    .popup_top a:hover {
      color: #6E6E6E; }
  .popup_top .popup_name {
    padding: 0 0 1px 8px;
    font-size: 16px;
    font-weight: bold; }
  .popup_top .popup_type {
    font-size: 14px;
    line-height: 1em;
    padding: 1px 0 3px 8px; }
  .popup_top .popup_time {
    font-size: 11px;
    padding: 2px 0 0 8px; }
    .popup_top .popup_time md-icon {
      width: 10px;
      height: 10px;
      margin-right: 5px; }

.popup_bottom {
  height: 68px; }
  .popup_bottom .popup_location {
    padding: 5px 0 0 8px;
    font-size: 14px; }
    .popup_bottom .popup_location md-icon {
      width: 8.4px;
      height: 12px;
      margin-right: 4px; }
  .popup_bottom .popup_labels {
    padding: 8px 0 0 8px;
    font-size: 12px; }
    .popup_bottom .popup_labels tag, .popup_bottom .popup_labels span {
      margin-bottom: 8px;
      float: left; }

.popup_icon svg:nth-child(2) {
  width: 0;
  height: 0; }

/* Kit type colors kitUtils.service.js :: classify()*/
.sck {
  background-color: #FFC100; }

.unknown {
  background-color: grey; }

/**
 * OVERRIDE LEAFLET
 */
.leaflet-left {
  left: unset !important;
  right: 11px;
  top: 15px !important; }

.leaflet-popup-content-wrapper {
  border-radius: 4px;
  width: auto !important;
  overflow: hidden; }

.leaflet-popup-content {
  margin: 0;
  min-width: 245px;
  position: relative;
  top: -1px;
  left: -1px; }
  .leaflet-popup-content p {
    margin: 0; }

.leaflet-popup-close-button {
  display: none; }

.leaflet-overlay-pane .leaflet-zoom-animated path {
  stroke: grey; }

.leaflet-top.leaflet-left {
  z-index: 1; }

.leaflet-bottom.leaflet-right {
  z-index: 1; }

.marker-cluster {
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2); }
  .marker-cluster div {
    font-family: 'Roboto Condensed';
    font-size: 14px; }

.marker-cluster-small, .marker-cluster-medium, .marker-cluster-large {
  border-radius: 50%;
  border: 2px solid rgba(255, 193, 0, 0.8);
  background-color: rgba(255, 193, 0, 0.3); }
  .marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div {
    background-color: rgba(0, 255, 168, 0); }

/*
  PICKER COMPONENT
*/
.picker {
  color: #2E2E2E; }

.picker__weekday {
  color: #6E6E6E; }

.picker__nav--prev::before {
  border-right: 0.75em solid #6E6E6E; }

.picker__nav--next::before {
  border-left: 0.75em solid #6E6E6E; }

.picker__button--today::before {
  border-top: 0.66em solid #0019FF; }

.picker__holder.picker_container {
  background: none;
  transition: none; }

.picker__button--clear::before {
  border-top: 3px solid #FF3D4C; }

.picker__button--close {
  color: #2E2E2E; }

.picker__button--today, .picker__button--clear {
  color: #2E2E2E; }

.picker__day--highlighted, .picker__day--selected, .picker__day--selected:hover, .picker--focused .picker__day--selected {
  background: #FFC100;
  background-color: #FFC100;
  border-color: #FFC100;
  color: #2E2E2E; }

.picker__day--infocus:hover, .picker__nav--prev:hover, .picker__nav--next:hover, .picker__button--today:hover, .picker__button--clear:hover, .picker__button--close:hover {
  background: #FFECB3;
  border-color: #FFECB3; }

.date_picker {
  height: 24px;
  border-radius: 2px;
  border: 1px solid #6E6E6E;
  color: #6E6E6E;
  background-color: transparent; }

.select_image {
  margin-right: 10px; }

/**
 * DROPDOWN MENU
 * Override style for dropdown menu from angular-dropdowns dependency
 */
.wrap-dd-menu .dropdown li a {
  color: #6E6E6E; }

.kit_menu .wrap-dd-menu {
  width: 30px;
  display: inline-table;
  padding: 0 0; }

.kit_menu .wrap-dd-menu .dropdown {
  top: 70%;
  line-height: 1em;
  left: -25px;
  right: -25px; }
  .kit_menu .wrap-dd-menu .dropdown li a {
    text-align: center;
    border-bottom: 0px; }

.kitList_parent .wrap-dd-menu {
  width: 50px;
  display: inline-block; }

.kitList_parent .wrap-dd-menu .dropdown {
  top: 70%;
  line-height: 1em;
  left: -25px;
  right: -25px;
  border-radius: 0px; }
  .kitList_parent .wrap-dd-menu .dropdown li a {
    text-align: center;
    border-bottom: 0px; }

.kit_owner_dropdown_button {
  display: block;
  margin: 0 auto; }

/**
 *  KIT LIST
 *
 */
.kitList {
  margin: 0px;
  color: #D2D3D5;
  border-top: 1px solid #EAECF1;
  border-right: 1px solid #EAECF1;
  border-left: 1px solid #EAECF1;
  background-color: white;
  border-radius: 0 !important;
  text-transform: none;
  padding: 15px; }
  .kitList h1, .kitList h2, .kitList h3, .kitList h4 {
    line-height: inherit; }
  .kitList p {
    line-height: 0.4em; }
  .kitList .wrap-dd-menu {
    width: 50px;
    display: inline-block; }
  .kitList .wrap-dd-menu .dropdown {
    top: 70%;
    line-height: 1em;
    left: -25px;
    right: -25px;
    border-radius: 0px; }
    .kitList .wrap-dd-menu .dropdown li a {
      text-align: center;
      border-bottom: 0px; }
  .kitList .chips {
    position: absolute;
    right: 130px; }

.kitList_avatar {
  width: 44px;
  height: 44px;
  border-radius: 22px; }

.kitList_name {
  margin-bottom: 5px;
  font-size: 18px;
  color: #0019FF; }

.kitList_right {
  position: absolute;
  right: 0; }
  .kitList_right .chip .chip_name {
    text-transform: uppercase; }

.kitList_state {
  color: white;
  text-transform: uppercase; }

.kitList_state_has_published {
  color: #00E597; }

.kitList_state_never_published {
  color: #FFC100; }

.kitList_state_not_configured {
  color: #F43D4D; }

.kitList_dropdownButton {
  display: block;
  margin: 0 auto; }
  .kitList_dropdownButton img {
    position: relative; }

.kitList_noKits {
  line-height: 5; }

.dropdown-item-button {
  border-radius: 0px;
  text-align: center;
  width: 100%; }

.dropdown-item-button:hover {
  background-color: #55C4F5 !important; }

/**
 *  USER PROFILE STATE
 *  most styles are re-used on my profile state
 */
/* profile header */
.profile_header {
  background-color: #2E2E2E;
  color: #D2D3D5;
  height: 192px;
  margin-top: 64px; }

.profile_header_avatar {
  width: 100px;
  height: 100px;
  border-radius: 50px;
  margin-right: 29px;
  margin-left: 27px; }

.profile_header_content > div {
  margin: 5px 0; }

.profile_header_content svg {
  fill: #ECECEE; }

.profile_header_content_avatar {
  width: 12px;
  height: 12px;
  margin-right: 6px;
  position: relative;
  top: -1px; }

.profile_content {
  min-height: 700px;
  position: relative; }

/* profile sidebar */
.profile_sidebar {
  background-color: #F5F5F5;
  min-width: 200px; }

.profile_sidebar_title {
  color: #2E2E2E;
  font-weight: bold; }

.profile_sidebar_description {
  font-size: 14px; }

.profile_sidebar_button {
  height: 64px;
  color: #0019FF; }
  .profile_sidebar_button svg {
    fill: #0019FF; }

.profile_sidebar_avatar {
  width: 12px;
  height: 12px;
  margin-right: 8px;
  position: relative;
  top: -2px; }

/* profile main content */
.profile_content_main_top {
  margin: 0 0 42px 20px; }

/**
 *  MY PROFILE STATE
 */
.myProfile_state md-ink-bar {
  background-color: #0019FF; }

.myProfile_state md-tab md-tab-label {
  overflow: visible; }

.myProfile_state md-tabs md-tab {
  color: #D2D3D5; }

.myProfile_state md-tabs md-tab.active {
  color: white; }

.myProfile_state md-tabs md-tabs-ink-bar {
  color: #0019FF;
  background-color: #0019FF; }

.myProfile_header {
  height: 188px;
  position: relative; }

.myProfile_header_container {
  padding-top: 51px;
  margin-left: 46px; }

.myProfile_header_avatar {
  margin-left: 0; }

.myProfile_tabs_parent md-tabs-wrapper {
  background-color: #2E2E2E; }

.myProfile_tab_icon {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  position: relative;
  top: -1px; }
  .myProfile_tab_icon svg {
    fill: white; }

.myProfile_sidebar_button {
  padding-left: 28px; }

.myProfile_content_form {
  margin-left: 113px;
  max-width: 500px; }

.myProfile_content_form_input {
  margin: 16px 0;
  position: relative; }

.countryInput_container md-autocomplete {
  background-color: transparent; }

.countryInput_container md-autocomplete-wrap {
  box-shadow: none !important; }

.countryInput_container input {
  font-size: 100%; }

.countryInput_container label {
  position: relative;
  bottom: 55px; }

.myProfile_form_avatar {
  margin-bottom: 30px; }

.myProfile_form_avatarImage {
  width: 64px;
  height: 64px;
  border-radius: 32px;
  margin-right: 7%; }

.myProfile_apiKey_text {
  color: #D2D3D5;
  margin-right: 5px;
  width: 120px; }

.myProfile_apiKey_number {
  color: #9D9D9E;
  font-weight: bold;
  background-color: #F2F2F2;
  padding: 5px 10px; }

.myProfile_apiKey_refreshButton {
  background-color: #D2D3D5;
  height: 29px; }
  .myProfile_apiKey_refreshButton md-icon {
    height: 15px;
    width: 15px;
    display: block;
    margin: 3px auto; }

.md-button.myProfile_apiKey_refreshButton {
  border-radius: 0 4px 4px 0; }

.md-button.myProfile_apiKey_refreshButton:active, .md-button.myProfile_apiKey_refreshButton:hover, .md-button.myProfile_apiKey_refreshButton:focus {
  background-color: #D2D3D5; }

.myProfile_form_removeButton {
  display: block;
  color: #FF3D4C;
  margin-bottom: 5px; }

.myProfile_updateForm_error {
  position: absolute;
  top: 50px;
  left: 2px;
  color: red;
  font-size: 12px;
  line-height: 1; }

.myProfile_apiKey_block {
  margin-top: 63px;
  margin-bottom: 65px; }

.myProfile_apiKey {
  margin-top: 10px;
  margin-bottom: 10px; }
  .myProfile_apiKey svg {
    fill: #6E6E6E; }

.md-button.myProfile_addKitButton:focus {
  background-color: #0019FF; }

.md-button.myProfile_addKitButton:hover {
  background-color: #0019FF; }

.myProfile_hiddenhref {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0; }

/**
 * TOOL LIST
 *
 */
a.kitList h4 {
  color: #2E2E2E; }

a.kitList p {
  color: #6E6E6E; }

.clearfix {
  clear: both; }

/*
  FOOTER COMPONENT
*/
footer {
  z-index: 1;
  width: 100%;
  background-color: #2E2E2E; }

.footer_icon {
  display: block;
  width: 32px;
  height: 32px; }

/*
  RECOVERY PASSWORD STATE
*/
.recovery_header {
  width: 100%;
  height: 128px;
  background-color: #2E2E2E; }

.recovery_headerIcon {
  display: block;
  width: 50px;
  height: 50px; }

/*
  TIMELINE COMPONENT

  used on add and setup kit
*/
.timeline {
  margin-top: 64px;
  background-color: #2E2E2E;
  height: 128px; }

.timeline_container {
  margin: 0 20px;
  width: 100%; }

.timeline_line {
  width: 500px;
  border: 1px solid #FFC100;
  position: relative;
  top: 14px; }

.timeline_line_small {
  width: 100px !important;
  margin: 0px 20px;
  top: 0px !important; }

.timeline_stepCircle {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin: 0 8px;
  color: white;
  font-weight: bold; }
  .timeline_stepCircle.is-on {
    border: 2px solid #FFC100;
    background-color: #FFC100; }
  .timeline_stepCircle.is-off {
    border: 2px solid #FFC100;
    color: #FFC100; }

.timeline_stepName {
  text-transform: uppercase;
  color: #FFC100;
  font-size: 18px; }
  .timeline_stepName.vertical {
    margin-top: 10px; }

.timeline_content {
  min-height: 400px;
  width: 100%; }

.timeline_button {
  width: 99%;
  height: 90px;
  font-size: 26px; }
  .timeline_button.timeline_buttonOpen.md-primary {
    color: #0019FF;
    text-align: center; }
    .timeline_button.timeline_buttonOpen.md-primary.inverted {
      color: white;
      background-color: #0019FF; }
      .timeline_button.timeline_buttonOpen.md-primary.inverted small {
        color: white; }
    .timeline_button.timeline_buttonOpen.md-primary .main {
      margin: 10px;
      font-size: 32px; }
    .timeline_button.timeline_buttonOpen.md-primary .sub {
      margin: 10px;
      font-size: 16px; }
    .timeline_button.timeline_buttonOpen.md-primary small {
      color: rgba(0, 0, 0, 0.54);
      text-transform: initial;
      display: block;
      font-size: 16px; }

.md-button.timeline_buttonSave {
  color: white !important;
  width: 130px;
  height: 44px;
  border-radius: 22px;
  font-size: 18px; }

.md-button.timeline_buttonBack {
  color: white !important;
  flex-shrink: 1;
  flex-basis: 200px;
  height: 44px;
  border-radius: 22px;
  font-size: 18px;
  margin-left: auto;
  margin-right: 20px; }

/*
  ADD KIT STATE
*/
.kit_dataChange .form_block {
  padding: 40px 30px;
  background-color: #FFF; }
  .kit_dataChange .form_block.isEven {
    background-color: #F9F9FB; }

.kit_dataChange .form_blockInput {
  height: inherit; }

.kit_dataChange .form_blockInput_container {
  height: inherit; }

.kit_dataChange .form_blockInput_button {
  height: inherit; }

.kit_dataChange .form_blockInput_map {
  height: 250px;
  min-width: 250px; }

.kit_dataChange .form_blockInput_select label {
  color: #0019FF;
  margin-right: 10px; }

.kit_dataChange .form_blockInput_chips {
  margin-top: 35px; }

.kit_dataChange .form_blockContent {
  padding-top: 5px;
  float: left; }
  .kit_dataChange .form_blockContent img, .kit_dataChange .form_blockContent div {
    float: left; }
  .kit_dataChange .form_blockContent img {
    border-radius: 50%;
    width: 120px;
    height: 120px;
    margin: 5px 20px; }

.kit_dataChange .form_blockContent_image {
  position: relative;
  top: 3px; }

.kit_dataChange .form_blockContent_text {
  margin-left: 10px;
  width: 240px; }
  .kit_dataChange .form_blockContent_text.long {
    width: auto !important; }
  .kit_dataChange .form_blockContent_text h2 {
    margin-top: 0;
    margin-bottom: 8px; }
  .kit_dataChange .form_blockContent_text p {
    font-size: 14px;
    color: #A5A5A5;
    line-height: 1.5; }

.kit_dataChange .form_errors {
  position: absolute;
  bottom: 15%;
  left: 0;
  color: red;
  font-size: 0.7em;
  line-height: 1; }

.emoji {
  font-weight: 400; }

/*
  STATIC PAGES
*/
.static_page .timeline {
  align-items: flex-start stretch; }
  .static_page .timeline .content {
    padding: 0 10px; }

.static_page .content {
  max-width: 50em;
  margin: 0 auto;
  text-align: justify;
  padding: 40px 10px; }

.static_page .full-width-img {
  width: 100%;
  height: auto;
  max-width: 2000px;
  position: relative;
  margin: 0 0 -5px 0; }

.static_page .embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%; }
  .static_page .embed-container iframe, .static_page .embed-container object, .static_page .embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.static_page .center {
  text-align: center;
  margin-top: 30px; }

.static_page .row {
  min-height: 200px; }
  .static_page .row:nth-child(odd) {
    background-color: #F9F9FB; }

.static_page h1 {
  color: white; }

.static_page h4 {
  font-weight: bold;
  margin-bottom: 0.2em; }

.static_page .md-button.md-primary.md-raised, .static_page .md-button.md-primary.md-fab {
  padding: 6px 20px;
  height: 44px;
  border-radius: 22px;
  font-size: 18px;
  background-color: #0019FF;
  color: white; }
  .static_page .md-button.md-primary.md-raised:hover, .static_page .md-button.md-primary.md-raised:focus, .static_page .md-button.md-primary.md-fab:hover, .static_page .md-button.md-primary.md-fab:focus {
    background-color: #3C98AF; }
  .static_page .md-button.md-primary.md-raised:not([disabled]), .static_page .md-button.md-primary.md-fab:not([disabled]) {
    box-shadow: none; }

.static_page .md-button.md-primary {
  color: #0019FF; }

.sensor-image-margin {
  margin-top: 40px; }

h3.no-margin {
  margin: 0; }

p.no-margin {
  margin: 0; }

.team-cells-margin {
  margin-bottom: 25px; }

.subtitle-separation {
  margin-top: 60px; }

.doorbell-button {
  background-color: #55C4F5 !important; }

.styleguide .info-text {
  color: rgba(0, 0, 0, 0.3); }

.styleguide .info-text-dark {
  color: rgba(255, 255, 255, 0.3) !important; }

.styleguide .dark-theme-divider {
  border-top-color: rgba(255, 255, 255, 0.12); }

.styleguide small {
  margin-top: 20px; }

.styleguide .dark-text-section {
  background-color: #2E2E2E; }
  .styleguide .dark-text-section h1 {
    font-size: 1.8em;
    color: #fff; }
  .styleguide .dark-text-section h2 {
    color: #fff; }
  .styleguide .dark-text-section h4 {
    color: #D2D3D5; }
  .styleguide .dark-text-section h6 {
    color: #87CCDD; }
  .styleguide .dark-text-section p {
    color: #C8E6ED;
    font-weight: 300; }
  .styleguide .dark-text-section small {
    color: #6E6E6E; }

.styleguide .section-padding {
  padding: 60px; }

.styleguide .colors-section p {
  padding-left: 20px; }

.styleguide .colors-section .secondary-color {
  background-color: #6E6E6E; }
  .styleguide .colors-section .secondary-color p {
    color: #fff; }

.styleguide .colors-section .terciary_color {
  background-color: #0019FF; }
  .styleguide .colors-section .terciary_color p {
    color: #fff; }

.styleguide .colors-section .secondary_color_light {
  background-color: #8DB2BA; }
  .styleguide .colors-section .secondary_color_light p {
    color: #fff; }

.styleguide .colors-section .secondary-color-pastel {
  background-color: #C8E6ED; }
  .styleguide .colors-section .secondary-color-pastel p {
    color: #8DB2BA; }

.styleguide .colors-section .white {
  background-color: #fff;
  border: 1px solid #C8E6ED; }
  .styleguide .colors-section .white p {
    color: #8DB2BA; }

.styleguide .colors-section .sensors > div {
  width: 60px;
  height: 60px;
  border-radius: 30px;
  float: left;
  margin: 10px; }

.styleguide .colors-section .sensors div:nth-child(1) {
  background: #ffc107; }

.styleguide .colors-section .sensors div:nth-child(2) {
  background: #4fc3f7; }

.styleguide .colors-section .sensors div:nth-child(3) {
  background: #ffee58; }

.styleguide .colors-section .sensors div:nth-child(4) {
  background: #f06292; }

.styleguide .colors-section .sensors div:nth-child(5) {
  background: #4caf50; }

.styleguide .colors-section .sensors div:nth-child(6) {
  background: #8bc34a; }

.styleguide .colors-section .sensors div:nth-child(7) {
  background: #9575cd; }

.styleguide .colors-section .sensors div:nth-child(8) {
  background: #fff9c4; }

.styleguide .colors-section .sensors div:nth-child(9) {
  background: #ffee58; }

.styleguide .colors-section .sensors div:nth-child(10) {
  background: #ff5722; }

/* Custom Animations */
.loading-dots span:after {
  content: '.';
  -webkit-animation: dots 2s steps(5, end) infinite;
          animation: dots 2s steps(5, end) infinite; }

@-webkit-keyframes dots {
  0%, 20% {
    color: rgba(0, 0, 0, 0);
    text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0); }
  40% {
    color: white;
    text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0); }
  60% {
    text-shadow: 0.25em 0 0 #55C4F5, 0.5em 0 0 rgba(0, 0, 0, 0); }
  80%, 100% {
    text-shadow: 0.25em 0 0 #55C4F5, 0.5em 0 0 #0019FF; } }

@keyframes dots {
  0%, 20% {
    color: rgba(0, 0, 0, 0);
    text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0); }
  40% {
    color: white;
    text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0); }
  60% {
    text-shadow: 0.25em 0 0 #55C4F5, 0.5em 0 0 rgba(0, 0, 0, 0); }
  80%, 100% {
    text-shadow: 0.25em 0 0 #55C4F5, 0.5em 0 0 #0019FF; } }

/* Do not remove this comments bellow. It's the markers used by gulp-inject to inject
   all your sass files automatically */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnNjc3MiLCJoZWxwZXJzLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL2xhbmRpbmcvbGFuZGluZy5zY3NzIiwiY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LnNjc3MiLCJjb21wb25lbnRzL3NlYXJjaC9zZWFyY2guc2NzcyIsImNvbXBvbmVudHMva2l0L2tpdC5zY3NzIiwiY29tcG9uZW50cy9raXQvc2hvd0tpdC9zaG93S2l0LnNjc3MiLCJjb21wb25lbnRzL3N0b3JlL3N0b3JlTW9kYWwuc2NzcyIsImNvbXBvbmVudHMvdXBsb2FkL2NzdlVwbG9hZC5zY3NzIiwiY29yZS9hbmltYXRpb24vYmFja2Ryb3AvbG9hZGluZ0JhY2tkcm9wLnNjc3MiLCJjb3JlL2FuaW1hdGlvbi9hbmltYXRpb24uZGlyZWN0aXZlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUpBQVk7QUFDWixpRkFBWTtBQ0FaO0VBQ0UsMEJDTWlCLEVETGxCOztBQUNEO0VBQ0Usd0JBQXVCLEVBQ3hCOztBQUNEO0VBQ0Usd0JBQXVCLEVBQ3hCOztBQUNEO0VBQ0UsMEJBQWdDLEVBQ2pDOztBQUNEO0VBQ0UsZUNOaUIsRURPbEI7O0FBQ0Q7RUFDRSxlQ2RZLEVEZWI7O0FBQ0Q7RUFDRSxlQ2pCWSxFRGtCYjs7QUFDRDtFQUNFLGVDaEJhLEVEb0JkO0VBTEQ7SUFHSSxjQ2xCVyxFRG1CWjs7QUFFSDtFQUNFLGVDdkJXLEVEMkJaO0VBTEQ7SUFHSSx5QkFBcUIsRUFDdEI7O0FBRUg7RUFDRSxZQUFXLEVBQ1o7O0FBQ0Q7RUFDRSxhQUFZLEVBQ2I7O0FBQ0Q7RUFDRSxjQUFZLEVBQ2I7O0FBQ0Q7RUFDRSxZQUFXLEVBQ1o7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxnQkFBZSxFQUNoQjs7QUFHRDtFQUNFLGdDQUE4QixFQUMvQjs7QUFDRDtFQUNFLHFCQUFtQixFQUNwQjs7QUFFRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFDRDtF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c3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvK0NvbmRlbnNlZDo0MDAsMzAwLDMwMGl0YWxpYyw0MDBpdGFsaWMsNzAwLDcwMGl0YWxpY3xSb2JvdG86NDAwLDcwMCw3MDBpdGFsaWMsNDAwaXRhbGljKTtcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9S2FuaXQ6NDAwLDUwMCw2MDAsNzAwLDkwMCcpO1xuXG5AaW1wb3J0ICdfdmFyaWFibGVzJztcbkBpbXBvcnQgJ2hlbHBlcnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYW5kaW5nL2xhbmRpbmcnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2tpdC9raXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9raXQvc2hvd0tpdC9zaG93S2l0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RvcmUvc3RvcmVNb2RhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3VwbG9hZC9jc3ZVcGxvYWQnO1xuQGltcG9ydCAnY29yZS9hbmltYXRpb24vYmFja2Ryb3AvbG9hZGluZ0JhY2tkcm9wJztcbkBpbXBvcnQgJ2NvcmUvYW5pbWF0aW9uL2FuaW1hdGlvbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqICBNT1pJTExBLVNQRUNJRklDIENTU1xuICovXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAua2l0X2RldGFpbGVkIC5raXRfY2hhcnQgLmNvbnRhaW5lciAua2l0X2NoYXJ0X2xlZnQgLnNlbnNvcl9zZWxlY3QgLnNlbnNvcl9pY29uX3NlbGVjdGVkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gIH1cbiAgLmtpdF9kZXRhaWxlZCAua2l0X2NoYXJ0IC5jb250YWluZXIgLmtpdF9jaGFydF9sZWZ0IC5zZW5zb3JfY29tcGFyZSBtZC1zZWxlY3Qge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBib2R5IC5raXRfZGV0YWlsZWQgLmtpdF9jaGFydCAuY29udGFpbmVyIC5raXRfY2hhcnRfbGVmdCAuc2Vuc29yX2RhdGEge1xuICAgIG1hcmdpbjogNSUgMCA0JSAwO1xuICB9XG5cbi8qICAgc2VjdGlvbi5tYXAge1xuICAgIHotaW5kZXg6IDA7XG4gIH0gKi9cbn1cblxuLyoqXG4gKiAgSU5QVVQgQ1NTXG4gKi9cbi8vXG4vLyA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBXZWJLaXQgYnJvd3NlcnMgKi9cbi8vICAgY29sb3I6ICRmb250X2NvbG9yX3doaXRlO1xuLy8gfVxuLy8gOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBNb3ppbGxhIEZpcmVmb3ggNCB0byAxOCAqL1xuLy8gICBjb2xvcjogJGZvbnRfY29sb3Jfd2hpdGU7XG4vLyAgIG9wYWNpdHk6ICAxO1xuLy8gfVxuLy8gOjotbW96LXBsYWNlaG9sZGVyIHsgLyogTW96aWxsYSBGaXJlZm94IDE5KyAqL1xuLy8gICBjb2xvcjogICRmb250X2NvbG9yX3doaXRlO1xuLy8gICBvcGFjaXR5OiAgMTtcbi8vIH1cbi8vIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMCsgKi9cbi8vICAgY29sb3I6ICRmb250X2NvbG9yX3doaXRlO1xuLy8gfVxuLy9cbi8vIDpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIFdlYktpdCBicm93c2VycyAqL1xuLy8gICBjb2xvcjogJGJhY2tncm91bmRfYmx1ZV9kYXJrX2JhY2tncm91bmQ7XG4vLyB9XG4vLyA6Zm9jdXM6LW1vei1wbGFjZWhvbGRlciB7IC8qIE1vemlsbGEgRmlyZWZveCA0IHRvIDE4ICovXG4vLyAgIGNvbG9yOiAkYmFja2dyb3VuZF9ibHVlX2RhcmtfYmFja2dyb3VuZDtcbi8vICAgb3BhY2l0eTogIDE7XG4vLyB9XG4vLyA6Zm9jdXM6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBNb3ppbGxhIEZpcmVmb3ggMTkrICovXG4vLyAgIGNvbG9yOiAkYmFja2dyb3VuZF9ibHVlX2RhcmtfYmFja2dyb3VuZDtcbi8vICAgb3BhY2l0eTogIDE7XG4vLyB9XG4vLyA6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTArICovXG4vLyAgIGNvbG9yOiAkYmFja2dyb3VuZF9ibHVlX2RhcmtfYmFja2dyb3VuZDtcbi8vIH1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIENvbmRlbnNlZCc7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGNvbG9yOiAkZ3JleV9kYXJrZXN0O1xufVxuXG5hLmFib3V0e1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICRibHVlO1xufVxuXG4uaWNvbl9sYWJlbHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4O1xuICBzdmcge1xuICAgIGZpbGw6ICRncmV5X2RhcmtlcjtcbiAgfVxufVxuXG4vKipcbiAgKiBUWVBPR1JBUEhZXG4gICovXG5cbmgxe1xuICBmb250LXNpemU6IDIuMmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuaDIge1xuICBmb250LXNpemU6IDEuN2VtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuaDMge1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuaDQge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5cbnAge1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG50ZCB7XG4gIHBhZGRpbmc6NXB4O1xufVxuXG5pbnB1dHtcbiAgZm9udC1mYW1pbHk6J1JvYm90byBDb25kZW5zZWQnO1xufVxuXG4ubGFiZWwsIC50YWcsIC5zdGF0ZXtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDoyNHB4O1xuICBib3JkZXItcmFkaXVzOjIwcHg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuXG4gIG1kLWljb257XG4gICAgbWFyZ2luLWxlZnQ6NHB4O1xuICAgIGhlaWdodDoxMXB4O1xuICAgIHdpZHRoOjExcHg7XG4gICAgbWFyZ2luLXRvcDotM3B4O1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICB9XG4gICZbY2xpY2thYmxlXXtcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgfVxufVxuLmxhYmVse1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93X2xpZ2h0O1xuICBjb2xvcjogJG9mZl9ibGFjaztcbiAgbWQtaWNvbiBzdmcgcGF0aHtcbiAgICBmaWxsOiAkdGVyY2lhcnlfY29sb3JfbGlnaHQ7XG4gIH1cbn1cbi50YWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93X2xpZ2h0ZXI7XG4gIGNvbG9yOiAkb2ZmX2JsYWNrO1xuICBtZC1pY29uIHN2ZyBwYXRoe1xuICAgIGZpbGw6ICRzZWNvbmRhcnlfY29sb3I7XG4gIH1cbn1cblxuLmxlYWZsZXQtY29udGFpbmVyIC50YWcsIC5sZWFmbGV0LWNvbnRhaW5lciAubGFiZWwsXG4ubGVhZmxldC1jb250YWluZXIgLnN0YXRle1xuICBmb250LXNpemU6MWVtO1xufVxuXG4ubGVhZmxldC10b3B7XG4gICB0b3A6OTNweDtcbn1cblxuc2VjdGlvbi5pbmZve1xuICBoMXtcbiAgICBmb250LXNpemU6MS4zZW07XG4gIH1cbiAgcHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgfVxufVxuXG5he1xuICBjb2xvcjogJGJsdWU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLCAmOmFjdGl2ZXtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRibHVlX2xpZ2h0O1xuICB9XG59XG5hLm1kLWJ1dHRvbiwgYSxcbmJ1dHRvbi5tZC1idXR0b24sIGJ1dHRvbntcbiAgLy8gY29sb3IgaGVyZSBvdmVyd3JpdGVzIE1BUCBhbmQgQ09NTVVOSVRZIGluIG5hdmJhclxuICAvLyBjb2xvcjogJHRlcmNpYXJ5X2NvbG9yO1xufVxuXG4vKlxuICBPdmVyd3JpdGUgZ2xvYmFsIG1hdGVyaWFsIGRlc2lnbiwgYWxsb3cgaWNvbnMgdG8gYmUgc21hbGxlclxuKi9cblxubWQtdG9vbGJhcntcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmRfYmx1ZV9kYXJrX25hdmJhciAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAkbGFyZ2VfcHJpb3JpdHk7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBtZC1pY29ue1xuICAgIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy9oZWlnaHQ6IDY0cHg7XG59XG5cbm1kLWljb257XG4gIC8vIEVmZmVjdHMgQUxMIGljb25zIG9uIHRoZSBzaXRlXG4gIG1pbi13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbn1cblxubWQtc2VsZWN0e1xuICBtZC1zZWxlY3QtdmFsdWV7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NjY2NjYzc1ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYS5tZC1idXR0b24gaDQsIGEubWQtYnV0dG9uIC5oNHtcbiAgY29sb3I6ICR0ZXJjaWFyeV9jb2xvcjtcbiAgbWFyZ2luOiAwO1xufVxuYS53YXJuLFxuYnV0dG9uLndhcm57XG4gIGNvbG9yOiAkYWxlcnRfcmVkO1xuICBzdmcge1xuICAgIC8vIGZpbGw6ICRhbGVydF9yZWQ7XG4gIH1cbn1cblxuLmJvbGR7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kaXZbYXBpLWtleV17XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLmFwaV9rZXlfbnVtYmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB3aWR0aDogNDIwcHg7XG4gIH1cbiAgLmFwaV9rZXlfcmVmcmVzaF9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQkRCREI7XG4gICAgbWFyZ2luOjA7XG4gICAgbWQtaWNvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgfVxuICB9XG4gIG1kLWljb24ge1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG59XG5cbi5pbmZvX292ZXJsYXl7XG4gIGgye1xuICAgIGNvbG9yOndoaXRlO1xuICB9XG4gIHB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiR0ZXJjaWFyeV9jb2xvcl9saWdodDtcbiAgfVxufVxuXG4uZGFya3tcbiAgaDEsIGgye1xuICAgIGNvbG9yOndoaXRlO1xuICB9XG4gIGgxLCBoMntcbiAgICBtYXJnaW46MDtcbiAgfVxuICBoMywgaDQsIC5oNCwgYXtcbiAgICBjb2xvcjogJGZvbnRfY29sb3JfYmx1ZV9ncmV5O1xuICB9XG59XG5cbi8qKlxuICogQU5HVUxBUiBNQVRFUklBTCBPVkVSUklESU5HXG4gKi9cblxuXG5tZC1zZWxlY3QtbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxubWQtc2VsZWN0LFxubWQtc2VsZWN0LW1lbnUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxubWQtc2VsZWN0Om5vdChbZGlzYWJsZWRdKTpmb2N1cyAubWQtc2VsZWN0LXZhbHVlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzZCODY4RDtcbn1cblxuYnV0dG9uLm1kLXByaW1hcnl7XG4gIC8vIEdldCBuZXcga2l0IHBvcHVwLCBidXR0b24gY29sb3JcbiAgLy8gQWxzbyBpbnRlcmZlcmVzIHdpdGgga2l0cy9lZGl0IHNhdmUgYnV0dG9uXG4gIC8vIGNvbG9yOiR0ZXJjaWFyeV9jb2xvciAhaW1wb3J0YW50O1xuICAvLyBmb250LXNpemU6MThweDtcbn1cbi5tZC1idXR0b24ubWQtZmxhdC5tZC1wcmltYXJ5IHtcbiAgLy9tYXJnaW46IDBweDtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkdGVyY2lhcnlfY29sb3I7XG4gIC8vY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5tZC1idXR0b24ubWQtcHJpbWFyeS5tZC1mbGF0Om5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0ZXJjaWFyeV9jb2xvcjtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ubWQtYnV0dG9uLm1kLXByaW1hcnkubWQtZmxhdDpub3QoW2Rpc2FibGVkXSk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVyY2lhcnlfY29sb3I7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLm1kLWJ1dHRvbi5maWxsd2lkdGgge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5tZC1pbnB1dC1jb250YWluZXI6bm90KC5tZC1pbnB1dC1pbnZhbGlkKS5tZC1pbnB1dC1mb2N1c2VkIHtcbiAgbGFiZWwge1xuICAgIGNvbG9yOiAkdGVyY2lhcnlfY29sb3I7XG4gIH1cblxuICAubWQtaW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwwLjEyKTtcbiAgfVxufVxuXG4vKipcbiAqIEFMRVJUIENPTVBPTkVOVFxuICovXG5cbi5tZC10b2FzdC1jb250ZW50IHtcbiAgYm94LXNoYWRvdzogdW5zZXQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMTAwJTtcbn1cblxubWQtdG9hc3Qge1xuICAvLyBUT0RPOiB3aGVuIGEgdG9hc3QgaXMgb24gc2NyZWVuLCB0aGUgYm9keSBnZXRzIGNsYXNzPSdtZC10b2FzdC1vcGVuLWJvdHRvbSdcbiAgLy8gV2hlcmUgZG9lcyB0aGF0IGNvbWUgZnJvbT9cbiAgLy8gSWYgdGhlcmUgaXMgYSBzaW1pbGFyICpvcGVuLXRvcCwgd2UgY2FuIHJlbW92ZSB0aGUgQ1NTIGJvdHRvbSwgdG9wXG4gIGJvdHRvbTogdW5zZXQgIWltcG9ydGFudDsgLy8gT3ZlcndyaXRlIGFuZ3VsYXIgZGVmYXVsdFxuICBjb2xvcjogYmxhY2s7XG4gIG9wYWNpdHk6IDAuOTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDY0cHggIWltcG9ydGFudDsgLy8gU3RhcnQgdGhlIHRvYXN0IGF0IHRvcCBiZWxvdyBuYXZiYXIuXG4gIG1pbi13aWR0aDogMTAwJTtcbiAgei1pbmRleDogODtcblxuICAuYWxlcnRfdHlwZUljb24ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gIH1cblxuICAuYWxlcnRfY2xvc2VJY29uIHtcbiAgICB3aWR0aDogMTAuNXB4O1xuICAgIGhlaWdodDogMTAuNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLmFsZXJ0X2J1dHRvbiB7XG4gICAgcGFkZGluZzogMHB4IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbm1kLXRvYXN0LnJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhbGVydF9yZWQ7XG59XG5cbm1kLXRvYXN0LmdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0X2dyZWVuO1xufVxuXG5tZC10b2FzdC5ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG59XG5cbm1kLXRvYXN0LnllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG59XG5cbm1kLWNoZWNrYm94Lm1kLWNoZWNrZWQgLm1kLWljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xufVxubWQtY2hlY2tib3ggLm1kLWxhYmVsIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbm1kLWNoZWNrYm94IC5tZC1sYWJlbCBzcGFuIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vKipcbiAqICBTUElOTkVSL1BST0dSRVNTIEJBUiBDT01QT05FTlRTXG4gKi9cblxubWQtcHJvZ3Jlc3MtbGluZWFyLm1kLWJhci5ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbn1cbm1kLXByb2dyZXNzLWxpbmVhci5ncmVlbiAubWQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JlZW4sIDApO1xufVxubWQtcHJvZ3Jlc3MtbGluZWFyLmdyZWVuIC5tZC1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG59XG5tZC1wcm9ncmVzcy1saW5lYXIubWQtYmFye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbn1cbm1kLXByb2dyZXNzLWxpbmVhci5tZC1odWUtMyAubWQtY29udGFpbmVye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibHVlLCAwLjA1KTtcbn1cbm1kLXByb2dyZXNzLWxpbmVhci5tZC1odWUtMyAubWQtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG59XG5cbi5raXRfc3Bpbm5lciB7XG4gIHotaW5kZXg6IDIwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDJweDtcbn1cblxuLmNoYXJ0X3NwaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjAwcHg7XG4gIGxlZnQ6IDU3JTtcbn1cblxuLyoqXG4gKiAgQ09PS0lFUyBQT0xJQ1kgQ09NUE9ORU5UXG4gKi9cblxuIC5jb29raWVzLXBvbGljeV9jb250YWluZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MCwgNjAsIDYwLCAxKTtcbiAgICBjb2xvcjogJHllbGxvdztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6NXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy9oZWlnaHQ6IDR2aDtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiA0dmg7XG5cbiAgICBhe1xuICAgICAgY29sb3I6IHJnYmEoJHllbGxvdywgMC42KTtcbiAgICB9XG4gfVxuXG5cbi8vIE5vIGRhdGEgYmFja2Ryb3Bcbi5tZC1ub0RhdGFCYWNrZHJvcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDk2ICsgMjg1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgLmJsb2NrIHtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICB9XG4gIC50aXRsZSwgLm1lc3NhZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudGl0bGUge1xuICAgIGNvbG9yOiAkZ3JleV9kYXJrZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5tZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vKipcbiAqICBNQVBcbiAqL1xuXG4ubWFwX3N0YXRlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1hcF9zdGF0ZSB7XG4gIH1cbn1cblxuc2VjdGlvbi5tYXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogYmxhY2s7XG4gIHotaW5kZXg6IDE7Ly8kc21hbGxfcHJpb3JpdHk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA2NHB4O1xuXG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtaGVpZ2h0OiAxMjAwcHgpIGFuZCAobWluLWhlaWdodDogMTAwMHB4KSB7XG4gICAgaGVpZ2h0OiA5NTBweDtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LWhlaWdodDogMTAwMHB4KSBhbmQgKG1pbi1oZWlnaHQ6IDgwMHB4KSB7XG4gICAgaGVpZ2h0OiA3MDBweDtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LWhlaWdodDogODAwcHgpIGFuZCAobWluLWhlaWdodDogNjAwcHgpIHtcbiAgICBoZWlnaHQ6IDU1MHB4O1xuICB9XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtaGVpZ2h0OiA2MDBweCkgYW5kIChtaW4taGVpZ2h0OiA0MDBweCkge1xuICAgIGhlaWdodDogMzAwcHg7XG4gIH1cblxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgfVxufVxuXG4vKlxuICBDT1JFIENISVAgQ09NUE9ORU5UXG4gKi9cbi5jaGlwcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBkaXYuY2hpcHNfcm93e1xuICAgIGhlaWdodDo0MC41cHg7XG4gIH1cblxuICAubGFiZWwsIC50YWd7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwwLDAsMC42NSk7XG4gIH1cbn1cbi5jaGlwIHtcbiAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwcHggMTBweCAwcHggMTRweDtcbiAgbWFyZ2luOiBhdXRvIDVweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgaGVpZ2h0OjMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XG5cbiAgLmNoaXBfbmFtZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgfVxuICAuY2hpcF9pY29uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBtZC1pY29uIHtcbiAgICAgIHdpZHRoOiA4cHg7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICB9XG4gIH1cblxuICAmLm1hcF9maWx0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsMCwwLDAuNjUpO1xuICB9XG4gICYua2l0X3RhZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH1cbn1cbi8qXG4gIE1BUCBGSUxURVJTXG4qL1xuLm1hcF9sZWdlbmQge1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgZGlzcGxheTogZmxleDtcblxuICAuY2hpcHN7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLm1hcF9sZWdlbmRfX2ZpbHRlcnNDb250YWluZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTI0cHg7XG4gICAgaGVpZ2h0OiA4MXB4O1xuXG4gICAgYm9yZGVyLXJhZGl1czo0cHg7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuNjUpO1xuICAgIHN2ZywgcCB7XG4gICAgICBmaWxsOiAkb2ZmX2JsYWNrO1xuICAgIH1cblxuXG4gICAgLm1hcF9sZWdlbmRfX2ZpbHRlcnNSb3d7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdyYXk7XG4gICAgICB9XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICAgIC5tYXBfZmlsdGVyX2J1dHRvbntcbiAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICBwe1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLm1hcF9maWx0ZXJfYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbiAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwwLDAsMC42NSk7XG5cbiAgbWQtaWNvbiB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICB9XG59XG4ubWQtYnV0dG9uLm1hcF9maWx0ZXJfYnV0dG9uOmhvdmVyLCAubWQtYnV0dG9uLm1hcF9maWx0ZXJfYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbktJVCBUQUdTIE1PRFVMRVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5raXRUYWdzX19zZWN0aW9ue1xuICBtYXJnaW4tdG9wOiAzNzZweDtcblxuICAua2l0VGFnc19fbGlzdENvbnRhaW5lcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleV9saWdodGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cblxuICAua2l0VGFnc19fY29udGFpbmVye1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgLmtpdFRhZ3NfX3RleHRDb250YWluZXJ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAua2l0VGFnc19fdGV4dEVsZW1lbnR7XG4gICAgICAgIGZsZXgtYmFzaXM6NDAlO1xuICAgICAgICBmbGV4LWdyb3c6MDtcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLypcbiBDT1JFIEZPUk0gQ09NUE9ORU5UXG4gKi9cblxuLmZvcm1fY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggM3B4IDNweDtcbn1cbi5mb3JtX2NvbnRlbnRDb250YWluZXIge1xuICB3aWR0aDogOTIlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5mb3JtX2ZpZWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZm9ybV9lcnJvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTUlO1xuICBsZWZ0OiA1JTtcbiAgY29sb3I6IHJlZDtcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5mb3JtX2Nsb3NlSWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luOiAxMnB4O1xuXG4gIG1kLWljb24ge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICB9XG59XG5cbi5tZC1wcmltYXJ5LmZvcm1fYnV0dG9uIHtcbiAgY29sb3I6ICRmb250X2NvbG9yX3doaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVyY2lhcnlfY29sb3I7XG4gIGhlaWdodDogNjRweDtcbiAgYm90dG9tOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAycHggMnB4O1xufVxuXG5cbi5mb3JtX3RpdGxlIHtcbiAgY29sb3I6ICR0ZXJjaWFyeV9jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmZvcm1fbWVzc2FnZUhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGNvbG9yOiAkc2Vjb25kYXJ5X2NvbG9yO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG4uZm9ybV9tZXNzYWdlU3ViaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBjb2xvcjogcmdiYSgwLDk4LDEyMywwLjU0KTtcbiAgbGluZS1oZWlnaHQ6IDAuNTtcbn1cblxuLmZvcm1fbWVzc2FnZURlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKlxuICBDT1JFIExBUkdFIERFVklDRVMgRk9STVxuKi9cbkBtZWRpYSAobWluLXdpZHRoOiA1MDFweCkge1xuICAuZm9ybV9jb250YWluZXIge1xuICAgIHdpZHRoOiAzNDBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgLmZvcm1fbWVzc2FnZUNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICAubWQtcHJpbWFyeS5mb3JtX2J1dHRvbiB7XG4gICAgd2lkdGg6IDM0MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICB9XG59XG5cbi8qXG4gIENPUkUgTU9CSUxFIERFVklDRVMgRk9STVxuKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5mb3JtX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLm1kLXByaW1hcnkuZm9ybV9idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICB9XG59XG5cbi8vIG92ZXJyaWRlIGZvciBJcGhvbmUgNFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMzIwcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNDgwcHgpIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIGFuZCAoZGV2aWNlLWFzcGVjdC1yYXRpbzogMi8zKSB7XG4gIC5yZWNvdmVyeV9jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbiAgLmZvcm1fZmllbGQge1xuICAgIHBhZGRpbmc6IDUlIDA7XG4gIH1cbn1cblxuLypcbiAgUkVDT1ZFUlkgRk9STVxuKi9cbi5yZWNvdmVyeV9jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIG1hcmdpbi1ib3R0b206MTAwcHg7XG4vLyAgaGVpZ2h0OiAzNzZweDtcbn1cblxuLmZvcm1SZWNvdmVyeV9maWVsZCB7XG4gIHBhZGRpbmc6IDEwJSAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTAxcHgpIHtcbiAgLnJlY292ZXJ5X2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgfVxuICAuZm9ybVJlY292ZXJ5X2Vycm9ycyB7XG4gICAgYm90dG9tOiAxNSU7XG4gICAgbGVmdDogNSU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5yZWNvdmVyeV9jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwJTtcbiAgfVxuICAuZm9ybVJlY292ZXJ5X2Vycm9ycyB7XG4gICAgYm90dG9tOiAyMyU7XG4gICAgbGVmdDogNSU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMzIwcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNDgwcHgpIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIGFuZCAoZGV2aWNlLWFzcGVjdC1yYXRpbzogMi8zKSB7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgLmZvcm1SZWNvdmVyeV9maWVsZCB7XG4gICAgICBwYWRkaW5nOiAyJSAwO1xuICAgIH1cbiAgICAuZm9ybVJlY292ZXJ5X2Vycm9ycyB7XG4gICAgICBib3R0b206IDI5JTtcbiAgICB9XG4gIH1cbn1cblxuLypcbiAgUkVTRVQgRk9STVxuKi9cbi5mb3JtUmVzZXRfZmllbGQge1xuICBwYWRkaW5nOiA3JSAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTAxcHgpIHtcbiAgLmZvcm1SZXNldF9lcnJvcnMge1xuICAgIGJvdHRvbTogNSU7XG4gICAgbGVmdDogNSU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5mb3JtUmVzZXRfZXJyb3JzIHtcbiAgICBib3R0b206IDE4JTtcbiAgICBsZWZ0OiAxJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA0ODBweCkgYW5kICgtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogMikgYW5kIChkZXZpY2UtYXNwZWN0LXJhdGlvOiAyLzMpIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgLmZvcm1SZXNldF9lcnJvcnMge1xuICAgICAgdG9wOiA2NSU7XG4gICAgfVxuICAgIC5mb3JtUmVzZXRfZmllbGQge1xuICAgICAgcGFkZGluZzogMyUgMDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBNT1ZFIERPV04gRUZGRUNUIE9OIFNDUk9MTFxuICovXG5cbi5tb3ZlX2Rvd24ge1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMycHgpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMnB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzJweCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMnB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMycHgpO1xufVxuXG4vKlxuICBNQVJLRVIgQU5EIFBPUFVQIE1BUktFUlxuKi9cblxuLm1hcmtlclNtYXJ0Q2l0aXplbk5vcm1hbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR5ZWxsb3c7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDBweCByZ2JhKDAsMCwwLDAuMzApO1xufVxuXG4ubWFya2VyU21hcnRDaXRpemVuT25saW5lIHtcbiAgYm9yZGVyOiAycHggc29saWQgJHllbGxvdztcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMHB4IHJnYmEoMCwwLDAsMC4zMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHllbGxvdywgMC41KTtcbn1cblxuLm1hcmtlckV4cGVyaW1lbnRhbE5vcm1hbCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRiYWNrZ3JvdW5kX2JsdWVfbWlkdG9uZTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMHB4IHJnYmEoMCwwLDAsMC4zMCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kX2JsdWVfbWlkdG9uZTtcbn1cblxuLyogQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG59XG5ALW1vei1rZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbn1cbkAtby1rZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbn0gKi9cblxuLm1hcmtlclNtYXJ0Q2l0aXplbk9mZmxpbmUge1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsMCwwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAwcHggcmdiYSgwLDAsMCwwLjMwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjIpO1xufVxuXG4vKiAubWFya2VyX2JsaW5rIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IHB1bHNlIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgLW1vei1hbmltYXRpb246IHB1bHNlIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgLW1zLWFuaW1hdGlvbjogcHVsc2UgMnMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb246IHB1bHNlIDJzIGxpbmVhciBpbmZpbml0ZTtcbn0gKi9cblxuLnBvcHVwIHtcbiAgd2lkdGg6IDEwMSU7O1xuICBoZWlnaHQ6IDEzNXB4O1xuICBjb2xvcjogJG9mZl9ibGFjaztcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJ1xufVxuXG4ucG9wdXBfdG9wIHtcbiAgaGVpZ2h0OiA3MnB4O1xuICBib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmRfYmx1ZV9saWdodDtcbiAgcGFkZGluZy10b3A6NXB4O1xuXG4gIGEge1xuICAgIGNvbG9yOiAkb2ZmX2JsYWNrO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRncmV5X2RhcmtlcjtcbiAgICB9XG4gIH1cblxuICAucG9wdXBfbmFtZSB7XG4gICAgcGFkZGluZzogMCAwIDFweCA4cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5wb3B1cF90eXBlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBwYWRkaW5nOiAxcHggMCAzcHggOHB4O1xuICB9XG4gIC5wb3B1cF90aW1lIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZzogMnB4IDAgMCA4cHg7XG5cbiAgICBtZC1pY29uIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICB9XG59XG5cbi5wb3B1cF9ib3R0b20ge1xuICBoZWlnaHQ6IDY4cHg7XG5cbiAgLnBvcHVwX2xvY2F0aW9uIHtcbiAgICBwYWRkaW5nOiA1cHggMCAwIDhweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICBtZC1pY29uIHtcbiAgICAgIHdpZHRoOiA4LjRweDtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIH1cbiAgfVxuICAucG9wdXBfbGFiZWxzIHtcbiAgICBwYWRkaW5nOiA4cHggMCAwIDhweDtcbiAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIC8vIE1ha2UgYmFsbG9vbnMgb24gbWFwIHNtYWxsZXJcbiAgICAgIC8vYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIC8vbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgLy9wYWRkaW5nOiAzcHggOHB4O1xuICAgIH1cblxuICAgIHRhZywgc3BhbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cbn1cbi5wb3B1cF9pY29uIHN2ZzpudGgtY2hpbGQoMikge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKiBLaXQgdHlwZSBjb2xvcnMga2l0VXRpbHMuc2VydmljZS5qcyA6OiBjbGFzc2lmeSgpKi9cblxuLnNjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG59XG4udW5rbm93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyZXk7XG59XG4ubXMge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnRfZ3JlZW47XG4gIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vbWFraW5nLXNlbnNlLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JhY2tncm91bmQtMi5naWZcIik7XG4gIC8vIGJhY2tncm91bmQtc2l6ZTogMTIwMHB4O1xuICAvLyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuLyoqXG4gKiBPVkVSUklERSBMRUFGTEVUXG4gKi9cblxuLmxlYWZsZXQtbGVmdCB7XG4gIC8vIFRoaXMgaXMgYSBoYWNrLiBUaGUgcmlnaHQgd2F5IGlzIHRvIGNoYW5nZSB0aGUgbGVhZmxldCBBUEkuIFNlZSB0aGUgZG9jczpcbiAgLy8gaHR0cDovL2xlYWZsZXRqcy5jb20vcmVmZXJlbmNlLTAuNy43Lmh0bWwjY29udHJvbC1wb3NpdGlvblxuICBsZWZ0OiB1bnNldCAhaW1wb3J0YW50O1xuICByaWdodDogMTFweDtcbiAgdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmxlYWZsZXQtcG9wdXAtY29udGVudCB7XG4gIG1hcmdpbjogMDtcbiAgbWluLXdpZHRoOiAyNDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sZWFmbGV0LW92ZXJsYXktcGFuZSAubGVhZmxldC16b29tLWFuaW1hdGVkIHBhdGgge1xuICBzdHJva2U6IGdyZXk7XG59XG4vLyBvdmVycmlkZSB6LWluZGV4IG9mIG1hcCBjb250cm9sc1xuLmxlYWZsZXQtdG9wLmxlYWZsZXQtbGVmdCB7XG4gIHotaW5kZXg6IDE7XG59XG4ubGVhZmxldC1ib3R0b20ubGVhZmxldC1yaWdodCB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tYXJrZXItY2x1c3RlciB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDBweCByZ2JhKDAsMCwwLDAuMjApO1xuICBkaXYge1xuICAgIC8vbWFyZ2luLXRvcDogLTJweDtcbiAgICAvL21hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIC8vd2lkdGg6IDQwcHg7XG4gICAgLy9oZWlnaHQ6IDQwcHg7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgLy9saW5lLWhlaWdodDogNDBweDtcbiAgICAvL2ZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuLm1hcmtlci1jbHVzdGVyLXNtYWxsLCAubWFya2VyLWNsdXN0ZXItbWVkaXVtLCAubWFya2VyLWNsdXN0ZXItbGFyZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKCR5ZWxsb3csIDAuOCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkeWVsbG93LCAwLjMpO1xuICBkaXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwyNTUsMTY4LDApO1xuICB9XG59XG5cbi8qXG4gIFBJQ0tFUiBDT01QT05FTlRcbiovXG5cbi5waWNrZXIge1xuICBjb2xvcjogJG9mZl9ibGFjaztcbn1cblxuLnBpY2tlcl9fd2Vla2RheSB7XG4gIGNvbG9yOiAkZ3JleV9kYXJrZXI7XG59XG5cbi5waWNrZXJfX25hdi0tcHJldjo6YmVmb3JlIHtcbiAgYm9yZGVyLXJpZ2h0OiAwLjc1ZW0gc29saWQgJGdyZXlfZGFya2VyO1xufVxuXG4ucGlja2VyX19uYXYtLW5leHQ6OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0OiAwLjc1ZW0gc29saWQgJGdyZXlfZGFya2VyO1xufVxuXG4ucGlja2VyX19idXR0b24tLXRvZGF5OjpiZWZvcmUge1xuICAgIGJvcmRlci10b3A6IDAuNjZlbSBzb2xpZCAkYmx1ZTtcbn1cblxuLnBpY2tlcl9faG9sZGVyLnBpY2tlcl9jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ucGlja2VyX19idXR0b24tLWNsZWFyOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkcmVkO1xufVxuLnBpY2tlcl9fYnV0dG9uLS1jbG9zZSB7XG4gIGNvbG9yOiAkb2ZmX2JsYWNrO1xufVxuLnBpY2tlcl9fYnV0dG9uLS10b2RheSwgLnBpY2tlcl9fYnV0dG9uLS1jbGVhciB7XG4gIGNvbG9yOiAkb2ZmX2JsYWNrO1xufVxuLnBpY2tlcl9fZGF5LS1oaWdobGlnaHRlZCwgLnBpY2tlcl9fZGF5LS1zZWxlY3RlZCwgLnBpY2tlcl9fZGF5LS1zZWxlY3RlZDpob3ZlciwgLnBpY2tlci0tZm9jdXNlZCAucGlja2VyX19kYXktLXNlbGVjdGVke1xuICBiYWNrZ3JvdW5kOiAkeWVsbG93O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuICBib3JkZXItY29sb3I6ICR5ZWxsb3c7XG4gIGNvbG9yOiAkb2ZmX2JsYWNrO1xufVxuLnBpY2tlcl9fZGF5LS1pbmZvY3VzOmhvdmVyLCAucGlja2VyX19uYXYtLXByZXY6aG92ZXIsIC5waWNrZXJfX25hdi0tbmV4dDpob3ZlciwgLnBpY2tlcl9fYnV0dG9uLS10b2RheTpob3ZlciwgLnBpY2tlcl9fYnV0dG9uLS1jbGVhcjpob3ZlciwgLnBpY2tlcl9fYnV0dG9uLS1jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICR5ZWxsb3dfbGlnaHRlcjtcbiAgYm9yZGVyLWNvbG9yOiAkeWVsbG93X2xpZ2h0ZXI7XG59XG5cbi5kYXRlX3BpY2tlciB7XG4gIGhlaWdodDogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleV9kYXJrZXI7XG4gIGNvbG9yOiAkZ3JleV9kYXJrZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2VsZWN0X2ltYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4vKipcbiAqIERST1BET1dOIE1FTlVcbiAqIE92ZXJyaWRlIHN0eWxlIGZvciBkcm9wZG93biBtZW51IGZyb20gYW5ndWxhci1kcm9wZG93bnMgZGVwZW5kZW5jeVxuICovXG4gLndyYXAtZGQtbWVudSAuZHJvcGRvd24gbGkgYSB7XG4gICBjb2xvcjogJHNlY29uZGFyeV9jb2xvcjtcbiB9XG5cbi5raXRfbWVudSB7XG5cbiAgLndyYXAtZGQtbWVudSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgIHBhZGRpbmc6IDAgMDtcbiAgfVxuICAud3JhcC1kZC1tZW51IC5kcm9wZG93biB7XG4gICAgdG9wOiA3MCU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogLTI1cHg7XG4gICAgbGkgYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgfVxuICB9XG59XG4ua2l0TGlzdF9wYXJlbnQge1xuXG4gIC53cmFwLWRkLW1lbnUge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAud3JhcC1kZC1tZW51IC5kcm9wZG93biB7XG4gICAgdG9wOiA3MCU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogLTI1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGxpIGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ua2l0X293bmVyX2Ryb3Bkb3duX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyoqXG4gKiAgS0lUIExJU1RcbiAqXG4gKi9cbi5raXRMaXN0IHtcbiAgbWFyZ2luOiAwcHg7XG4gIGNvbG9yOiAkZ3JleTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFQUVDRjE7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNFQUVDRjE7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0VBRUNGMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6MTVweDtcblxuICBoMSxoMixoMyxoNHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuICBwe1xuICAgIGxpbmUtaGVpZ2h0OiAwLjRlbTtcbiAgfVxuXG4gIC53cmFwLWRkLW1lbnUge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAud3JhcC1kZC1tZW51IC5kcm9wZG93biB7XG4gICAgdG9wOiA3MCU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogLTI1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGxpIGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jaGlwcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMzBweDtcbiAgfVxuXG59XG5cbi5raXRMaXN0X2F2YXRhciB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDIycHg7XG59XG4ua2l0TGlzdF9uYW1lIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAkYmx1ZTtcbn1cbi5raXRMaXN0X3JpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcblxuICAuY2hpcCAuY2hpcF9uYW1lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG4ua2l0TGlzdF9zdGF0ZSB7XG4gIGNvbG9yOndoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmtpdExpc3Rfc3RhdGVfaGFzX3B1Ymxpc2hlZCB7XG4gIGNvbG9yOiAkZ3JlZW47XG59XG4ua2l0TGlzdF9zdGF0ZV9uZXZlcl9wdWJsaXNoZWQge1xuICBjb2xvcjogJHllbGxvdztcbn1cbi5raXRMaXN0X3N0YXRlX25vdF9jb25maWd1cmVkIHtcbiAgY29sb3I6ICNGNDNENEQ7XG59XG4ua2l0TGlzdF9kcm9wZG93bkJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcblxuICBpbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4ua2l0TGlzdF9ub0tpdHMge1xuICBsaW5lLWhlaWdodDogNTtcbn1cblxuLmRyb3Bkb3duLWl0ZW0tYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmRyb3Bkb3duLWl0ZW0tYnV0dG9uOmhvdmVye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9saWdodCAhaW1wb3J0YW50XG59XG5cbi8qKlxuICogIFVTRVIgUFJPRklMRSBTVEFURVxuICogIG1vc3Qgc3R5bGVzIGFyZSByZS11c2VkIG9uIG15IHByb2ZpbGUgc3RhdGVcbiAqL1xuXG4vKiBwcm9maWxlIGhlYWRlciAqL1xuLnByb2ZpbGVfaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmRfYmx1ZV9kYXJrX21lbnU7XG4gIGNvbG9yOiAkZm9udF9jb2xvcl9ibHVlX2dyZXk7XG4gIGhlaWdodDogMTkycHg7XG4gIG1hcmdpbi10b3A6IDY0cHg7XG59XG4ucHJvZmlsZV9oZWFkZXJfYXZhdGFyIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDI5cHg7XG4gIG1hcmdpbi1sZWZ0OiAyN3B4O1xufVxuLnByb2ZpbGVfaGVhZGVyX2NvbnRlbnQge1xuICA+ZGl2IHtcbiAgICBtYXJnaW46IDVweCAwO1xuICB9XG4gIHN2ZyB7XG4gICAgZmlsbDogJGdyZXlfbGlnaHRlcjtcbiAgfVxufVxuLnByb2ZpbGVfaGVhZGVyX2NvbnRlbnRfYXZhdGFyIHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4ucHJvZmlsZV9jb250ZW50IHtcbiAgbWluLWhlaWdodDogNzAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qIHByb2ZpbGUgc2lkZWJhciAqL1xuLnByb2ZpbGVfc2lkZWJhciB7XG4gIC8vbWluLWhlaWdodDogNDAwcHg7XG4gIC8vIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gIC8vIHdpZHRoOiAyNTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbiAgbWluLXdpZHRoOjIwMHB4O1xufVxuLnByb2ZpbGVfc2lkZWJhcl90aXRsZSB7XG4gIGNvbG9yOiAkb2ZmX2JsYWNrO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5wcm9maWxlX3NpZGViYXJfZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5wcm9maWxlX3NpZGViYXJfYnV0dG9uIHtcbiAgaGVpZ2h0OiA2NHB4O1xuICBjb2xvcjogJHRlcmNpYXJ5X2NvbG9yO1xuICBzdmcgeyBmaWxsOiAkYmx1ZTsgfVxufVxuXG4ucHJvZmlsZV9zaWRlYmFyX2F2YXRhciB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTJweDtcbn1cblxuLyogcHJvZmlsZSBtYWluIGNvbnRlbnQgKi9cbi5wcm9maWxlX2NvbnRlbnRfbWFpbl90b3Age1xuICBtYXJnaW46IDAgMCA0MnB4IDIwcHg7XG59XG5cbi8qKlxuICogIE1ZIFBST0ZJTEUgU1RBVEVcbiAqL1xuXG4vL292ZXJyaWRlIGFuZ3VsYXItbWF0ZXJpYWxcbi5teVByb2ZpbGVfc3RhdGUge1xuICBtZC1pbmstYmFye1xuICAgIC8vIFRhYnMgdW5kZXJsaW5lIGNvbG9yIGN5YW5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVyY2lhcnlfY29sb3I7XG4gIH1cbiAgbWQtdGFiIG1kLXRhYi1sYWJlbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgbWQtdGFicyBtZC10YWIge1xuICAgIGNvbG9yOiAkZm9udF9jb2xvcl9ibHVlX2dyZXk7XG4gIH1cbiAgbWQtdGFicyBtZC10YWIuYWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgbWQtdGFicyBtZC10YWJzLWluay1iYXIge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgfVxufVxuXG4ubXlQcm9maWxlX2hlYWRlciB7XG4gIGhlaWdodDogMTg4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5teVByb2ZpbGVfaGVhZGVyX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiA1MXB4O1xuICBtYXJnaW4tbGVmdDogNDZweDtcbn1cbi5teVByb2ZpbGVfaGVhZGVyX2F2YXRhciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLm15UHJvZmlsZV90YWJzX3BhcmVudCB7XG4gIG1kLXRhYnMtd3JhcHBlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZF9ibHVlX2RhcmtfbWVudTtcbiAgfVxufVxuLm15UHJvZmlsZV90YWJzIHtcbn1cbi5teVByb2ZpbGVfdGFiX2ljb24ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIHN2ZyB7XG4gICAgZmlsbDogd2hpdGU7XG4gIH1cbn1cbi5teVByb2ZpbGVfc2lkZWJhcl9idXR0b24ge1xuICBwYWRkaW5nLWxlZnQ6IDI4cHg7XG59XG4ubXlQcm9maWxlX2NvbnRlbnRfZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAxMTNweDtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbn1cbi5teVByb2ZpbGVfY29udGVudF9mb3JtX2lucHV0IHtcbiAgbWFyZ2luOiAxNnB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jb3VudHJ5SW5wdXRfY29udGFpbmVyIHtcbiAgbWQtYXV0b2NvbXBsZXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBtZC1hdXRvY29tcGxldGUtd3JhcCB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIGlucHV0IHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gIH1cbiAgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3R0b206IDU1cHg7XG4gIH1cbn1cbi5teVByb2ZpbGVfZm9ybV9hdmF0YXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLm15UHJvZmlsZV9mb3JtX2F2YXRhckltYWdlIHtcbiAgd2lkdGg6IDY0cHg7XG4gIGhlaWdodDogNjRweDtcbiAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgbWFyZ2luLXJpZ2h0OiA3JTtcbn1cbi5teVByb2ZpbGVfYXBpS2V5X3RleHQge1xuICBjb2xvcjogJGZvbnRfY29sb3JfYmx1ZV9ncmV5O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgd2lkdGg6IDEyMHB4O1xufVxuLm15UHJvZmlsZV9hcGlLZXlfbnVtYmVyIHtcbiAgY29sb3I6ICM5RDlEOUU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbn1cbi5teVByb2ZpbGVfYXBpS2V5X3JlZnJlc2hCdXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9udF9jb2xvcl9ibHVlX2dyZXk7XG4gIGhlaWdodDogMjlweDtcblxuICBtZC1pY29uIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAzcHggYXV0bztcbiAgfVxufVxuLm1kLWJ1dHRvbi5teVByb2ZpbGVfYXBpS2V5X3JlZnJlc2hCdXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbn1cbi5tZC1idXR0b24ubXlQcm9maWxlX2FwaUtleV9yZWZyZXNoQnV0dG9uOmFjdGl2ZSwgLm1kLWJ1dHRvbi5teVByb2ZpbGVfYXBpS2V5X3JlZnJlc2hCdXR0b246aG92ZXIsIC5tZC1idXR0b24ubXlQcm9maWxlX2FwaUtleV9yZWZyZXNoQnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvbnRfY29sb3JfYmx1ZV9ncmV5O1xufVxuLm15UHJvZmlsZV9mb3JtX3JlbW92ZUJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGFsZXJ0X3JlZDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLm15UHJvZmlsZV91cGRhdGVGb3JtX2Vycm9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwcHg7XG4gIGxlZnQ6IDJweDtcbiAgY29sb3I6IHJlZDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5teVByb2ZpbGVfYXBpS2V5X2Jsb2NrIHtcbiAgbWFyZ2luLXRvcDogNjNweDtcbiAgbWFyZ2luLWJvdHRvbTogNjVweDtcbn1cblxuLm15UHJvZmlsZV9hcGlLZXkge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBzdmcge1xuICAgIGZpbGw6ICRncmV5X2RhcmtlcjtcbiAgfVxufVxuXG4ubWQtYnV0dG9uLm15UHJvZmlsZV9hZGRLaXRCdXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbn1cbi5tZC1idXR0b24ubXlQcm9maWxlX2FkZEtpdEJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xufVxuLm15UHJvZmlsZV9oaWRkZW5ocmVme1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDoxMDAlO1xuICB0b3A6MDtcbiAgbGVmdDowO1xufVxuXG4vKipcbiAqIFRPT0wgTElTVFxuICpcbiAqL1xuXG4gYS5raXRMaXN0IHtcbiAgIGg0IHtcbiAgICAgY29sb3I6ICRvZmZfYmxhY2s7XG4gICB9XG4gICBwIHtcbiAgICAgY29sb3I6ICRncmV5X2RhcmtlcjtcbiAgIH1cbiB9XG5cbi5jbGVhcmZpeCB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKlxuICBGT09URVIgQ09NUE9ORU5UXG4qL1xuXG5mb290ZXIge1xuLy8gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kX2JsdWVfZGFya19iYWNrZ3JvdW5kO1xufVxuXG4uZm9vdGVyX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbn1cblxuLypcbiAgUkVDT1ZFUlkgUEFTU1dPUkQgU1RBVEVcbiovXG4ucmVjb3ZlcnlfaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTI4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kX2JsdWVfZGFya19iYWNrZ3JvdW5kO1xufVxuXG4ucmVjb3ZlcnlfaGVhZGVySWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xufVxuXG4vKlxuICBUSU1FTElORSBDT01QT05FTlRcblxuICB1c2VkIG9uIGFkZCBhbmQgc2V0dXAga2l0XG4qL1xuXG4udGltZWxpbmUge1xuICBtYXJnaW4tdG9wOiA2NHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZF9ibHVlX2RhcmtfbWVudTtcbiAgaGVpZ2h0OiAxMjhweDtcbn1cbi50aW1lbGluZV9jb250YWluZXIge1xuICBtYXJnaW46IDAgMjBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4udGltZWxpbmVfbGluZSB7XG4gIHdpZHRoOiA1MDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHllbGxvdztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDE0cHg7XG59XG4udGltZWxpbmVfbGluZV9zbWFsbCB7XG4gIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBweCAyMHB4O1xuICB0b3A6MHB4ICFpbXBvcnRhbnQ7XG59XG4udGltZWxpbmVfc3RlcENpcmNsZSB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luOiAwIDhweDtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgJi5pcy1vbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHllbGxvdztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuICB9XG4gICYuaXMtb2ZmIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkeWVsbG93O1xuICAgIGNvbG9yOiAkeWVsbG93O1xuICB9XG59XG4udGltZWxpbmVfc3RlcE5hbWUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogJHllbGxvdztcbiAgZm9udC1zaXplOjE4cHg7XG5cbiAgJi52ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxufVxuLnRpbWVsaW5lX2NvbnRlbnQge1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4udGltZWxpbmVfYnV0dG9uIHtcbiAgd2lkdGg6IDk5JTtcbiAgaGVpZ2h0OiA5MHB4O1xuICBmb250LXNpemU6IDI2cHg7XG5cbiAgJi50aW1lbGluZV9idXR0b25PcGVuLm1kLXByaW1hcnkge1xuICAgIGNvbG9yOiAkdGVyY2lhcnlfY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJi5pbnZlcnRlZHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJjaWFyeV9jb2xvcjtcblxuICAgICAgc21hbGwge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4ge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgIH1cblxuICAgIC5zdWIge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuNTQpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgfVxuXG59XG4ubWQtYnV0dG9uLnRpbWVsaW5lX2J1dHRvblNhdmUge1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEzMHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLm1kLWJ1dHRvbi50aW1lbGluZV9idXR0b25CYWNre1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgZmxleC1zaHJpbms6IDE7XG4gIGZsZXgtYmFzaXM6IDIwMHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLypcbiAgQUREIEtJVCBTVEFURVxuKi9cblxuLmtpdF9kYXRhQ2hhbmdlIHtcbiAgLmZvcm1fYmxvY2sge1xuICAgIHBhZGRpbmc6IDQwcHggMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXG4gICAgJi5pc0V2ZW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RjlGQjtcbiAgICB9XG4gICAgJi5mb3JtX2Jsb2NrTm9ybWFsIHtcbiAgICAgLy8gbWluLWhlaWdodDogMjUwcHg7XG4gICAgfVxuICAgICYuZm9ybV9ibG9ja01hcCB7XG4gICAgICAvL2hlaWdodDogMjkwcHg7XG4gICAgfVxuICB9XG4gIC5mb3JtX2Jsb2NrSW5wdXQge1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgIC8vIG1hcmdpbi1sZWZ0OiAxNTBweDtcbiAgfVxuICAuZm9ybV9ibG9ja0lucHV0X2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICB9XG4gIC5mb3JtX2Jsb2NrSW5wdXRfYnV0dG9uIHtcbiAgICBoZWlnaHQ6aW5oZXJpdDtcbiAgfVxuICAuZm9ybV9ibG9ja0lucHV0X21hcCB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xuICB9XG4gIC5mb3JtX2Jsb2NrSW5wdXRfc2VsZWN0IGxhYmVse1xuICAgIGNvbG9yOiAkdGVyY2lhcnlfY29sb3I7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG4gIC5mb3JtX2Jsb2NrSW5wdXRfY2hpcHMge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gIH1cbiAgLmZvcm1fYmxvY2tDb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGltZywgZGl2IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIG1hcmdpbjogNXB4IDIwcHg7XG4gICAgfVxuICB9XG4gIC5mb3JtX2Jsb2NrQ29udGVudF9pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogM3B4O1xuICB9XG4gIC5mb3JtX2Jsb2NrQ29udGVudF90ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB3aWR0aDogMjQwcHg7XG4gICAgJi5sb25ne1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogI0E1QTVBNTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuICB9XG4gIC5mb3JtX2Vycm9ycyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTUlO1xuICAgIGxlZnQ6IDA7XG4gICAgY29sb3I6IHJlZDtcbiAgICBmb250LXNpemU6IDAuN2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG5cbi5lbW9qaXtcbiAgZm9udC13ZWlnaHQ6NDAwO1xufVxuXG4vKlxuICBTVEFUSUMgUEFHRVNcbiovXG4uc3RhdGljX3BhZ2V7XG4gIC50aW1lbGluZXtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCBzdHJldGNoO1xuXG4gICAgLmNvbnRlbnR7XG4gICAgICBwYWRkaW5nOjAgMTBweDtcbiAgICB9XG4gIH1cblxuICAuY29udGVudHtcbiAgICBtYXgtd2lkdGg6IDUwZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICBwYWRkaW5nOjQwcHggMTBweDtcbiAgfVxuXG4gIC5mdWxsLXdpZHRoLWltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMjAwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgMCAtNXB4IDA7XG4gIH1cblxuICAuZW1iZWQtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaWZyYW1lLCBvYmplY3QsIGVtYmVkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gIH1cblxuICAuY2VudGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cblxuICAucm93e1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuXG4gICAgJjpudGgtY2hpbGQob2RkKXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOUY5RkI7XG4gICAgfVxuICB9XG4gIGgxe1xuICAgIGNvbG9yOndoaXRlO1xuICB9XG4gIGg0e1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICB9XG5cbiAgLm1kLWJ1dHRvbi5tZC1wcmltYXJ5Lm1kLXJhaXNlZCwgLm1kLWJ1dHRvbi5tZC1wcmltYXJ5Lm1kLWZhYntcbiAgICBwYWRkaW5nOiA2cHggMjBweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29sb3I6d2hpdGU7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3Vze1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNDOThBRjtcbiAgICB9XG5cbiAgICAmOm5vdChbZGlzYWJsZWRdKXtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1kLWJ1dHRvbi5tZC1wcmltYXJ5e1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgfVxuXG5cbn1cblxuXG4vLyBBYm91dFxuXG4uc2Vuc29yLWltYWdlLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbmgzLm5vLW1hcmdpbiB7XG4gIG1hcmdpbjogMDtcbn1cblxucC5uby1tYXJnaW4ge1xuICBtYXJnaW46IDA7XG59XG5cbi50ZWFtLWNlbGxzLW1hcmdpbiB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5zdWJ0aXRsZS1zZXBhcmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbn1cblxuLy8gRmVlZGJhY2tcblxuLmRvb3JiZWxsLWJ1dHRvbiB7XG4gYmFja2dyb3VuZC1jb2xvcjogJGJsdWVfbGlnaHQgIWltcG9ydGFudDtcbn1cblxuLy8gU3R5bGVndWlkZVxuXG4uc3R5bGVndWlkZSB7XG4gIC5pbmZvLXRleHQge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIH1cblxuICAuaW5mby10ZXh0LWRhcmsge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kYXJrLXRoZW1lLWRpdmlkZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xMik7XG4gIH1cblxuICBzbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIC5kYXJrLXRleHQtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmRfYmx1ZV9kYXJrX2JhY2tncm91bmQ7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgY29sb3I6ICRmb250X2NvbG9yX2JsdWVfZ3JleTtcbiAgICB9XG5cbiAgICBoNiB7XG4gICAgICBjb2xvcjogIzg3Q0NERDtcbiAgICB9XG5cbiAgICBwe1xuICAgICAgY29sb3I6ICNDOEU2RUQ7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5X2NvbG9yX2xpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDYwcHg7XG4gIH1cblxuICAuY29sb3JzLXNlY3Rpb24ge1xuICAgIHAge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIH1cblxuICAgIC5zZWNvbmRhcnktY29sb3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeV9jb2xvcjtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGVyY2lhcnlfY29sb3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcmNpYXJ5X2NvbG9yO1xuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWNvbmRhcnlfY29sb3JfbGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhEQjJCQTtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2Vjb25kYXJ5LWNvbG9yLXBhc3RlbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhFNkVEO1xuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAjOERCMkJBO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53aGl0ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOjFweCBzb2xpZCAjQzhFNkVEO1xuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAjOERCMkJBO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZW5zb3JzID4gZGl2IHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgIH1cblxuICAgIC5zZW5zb3JzIGRpdjpudGgtY2hpbGQoMSkge1xuICAgICBiYWNrZ3JvdW5kOiAjZmZjMTA3O1xuICAgIH1cblxuICAgIC5zZW5zb3JzIGRpdjpudGgtY2hpbGQoMikge1xuICAgICBiYWNrZ3JvdW5kOiAjNGZjM2Y3O1xuICAgIH1cblxuICAgIC5zZW5zb3JzIGRpdjpudGgtY2hpbGQoMykge1xuICAgICBiYWNrZ3JvdW5kOiAjZmZlZTU4O1xuICAgIH1cblxuICAgIC5zZW5zb3JzIGRpdjpudGgtY2hpbGQoNCkge1xuICAgICBiYWNrZ3JvdW5kOiAjZjA2MjkyO1xuICAgIH1cblxuICAgIC5zZW5zb3JzIGRpdjpudGgtY2hpbGQoNSkge1xuICAgICBiYWNrZ3JvdW5kOiAjNGNhZjUwO1xuICAgIH1cblxuICAgIC5zZW5zb3JzIGRpdjpudGgtY2hpbGQoNikge1xuICAgICBiYWNrZ3JvdW5kOiAjOGJjMzRhO1xuICAgIH1cblxuICAgIC5zZW5zb3JzIGRpdjpudGgtY2hpbGQoNykge1xuICAgICBiYWNrZ3JvdW5kOiAjOTU3NWNkO1xuICAgIH1cblxuICAgIC5zZW5zb3JzIGRpdjpudGgtY2hpbGQoOCkge1xuICAgICBiYWNrZ3JvdW5kOiAjZmZmOWM0O1xuICAgIH1cblxuICAgIC5zZW5zb3JzIGRpdjpudGgtY2hpbGQoOSkge1xuICAgICBiYWNrZ3JvdW5kOiAjZmZlZTU4O1xuICAgIH1cblxuICAgIC5zZW5zb3JzIGRpdjpudGgtY2hpbGQoMTApIHtcbiAgICAgYmFja2dyb3VuZDogI2ZmNTcyMjtcbiAgICB9XG4gIH1cblxufVxuXG5cbi8qIEN1c3RvbSBBbmltYXRpb25zICovXG5cbi5sb2FkaW5nLWRvdHMgc3BhbjphZnRlciB7XG4gIGNvbnRlbnQ6ICcuJztcbiAgYW5pbWF0aW9uOiBkb3RzIDJzIHN0ZXBzKDUsIGVuZCkgaW5maW5pdGU7fVxuXG5Aa2V5ZnJhbWVzIGRvdHMge1xuICAwJSwgMjAlIHtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgICB0ZXh0LXNoYWRvdzpcbiAgICAgIC4yNWVtIDAgMCByZ2JhKDAsMCwwLDApLFxuICAgICAgLjVlbSAwIDAgcmdiYSgwLDAsMCwwKTt9XG4gIDQwJSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtc2hhZG93OlxuICAgICAgLjI1ZW0gMCAwIHJnYmEoMCwwLDAsMCksXG4gICAgICAuNWVtIDAgMCByZ2JhKDAsMCwwLDApO31cbiAgNjAlIHtcbiAgICB0ZXh0LXNoYWRvdzpcbiAgICAgIC4yNWVtIDAgMCAkYmx1ZV9saWdodCxcbiAgICAgIC41ZW0gMCAwIHJnYmEoMCwwLDAsMCk7fVxuICA4MCUsIDEwMCUge1xuICAgIHRleHQtc2hhZG93OlxuICAgICAgLjI1ZW0gMCAwICRibHVlX2xpZ2h0LFxuICAgICAgLjVlbSAwIDAgJGJsdWU7fX1cblxuXG4vKiBEbyBub3QgcmVtb3ZlIHRoaXMgY29tbWVudHMgYmVsbG93LiBJdCdzIHRoZSBtYXJrZXJzIHVzZWQgYnkgZ3VscC1pbmplY3QgdG8gaW5qZWN0XG4gICBhbGwgeW91ciBzYXNzIGZpbGVzIGF1dG9tYXRpY2FsbHkgKi9cbi8vIGluamVjdG9yXG4vLyBlbmRpbmplY3RvclxuIiwiLy8gR2VuZXJhbCBoZWxwZXJzXG4uYm9yZGVyLWJsYWNre1xuICBib3JkZXI6IDNweCBzb2xpZCAkb2ZmX2JsYWNrO1xufVxuLmJvcmRlci13aGl0ZXtcbiAgYm9yZGVyOiAzcHggc29saWQgd2hpdGU7XG59XG4uY29sb3Itd2hpdGV7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLmNvbG9yLWRyb3Bkb3due1xuICBjb2xvcjogJGRyb3Bkb3duX2JsdWUgIWltcG9ydGFudDtcbn1cbi5jb2xvci1ibGFja3tcbiAgY29sb3I6ICRvZmZfYmxhY2s7XG59XG4uY29sb3ItYmx1ZXtcbiAgY29sb3I6JHRlcmNpYXJ5X2NvbG9yO1xufVxuLmNvbG9yLWN5YW57XG4gIGNvbG9yOiAkdGVyY2lhcnlfY29sb3I7XG59XG4uY29sb3ItZ3JlZW4ge1xuICBjb2xvcjogJGdyZWVuO1xuICBzdmcge1xuICAgIGZpbGw6ICRncmVlbjtcbiAgfVxufVxuLmNvbG9yLXJlZCB7XG4gIGNvbG9yOiAkcmVkO1xuICBzdmcge1xuICAgIGZpbGw6ICRyZWQgIWltcG9ydGFudDtcbiAgfVxufVxuLmZsb2F0LWxlZnR7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmZsb2F0LXJpZ2h0e1xuICBmbG9hdDogcmlnaHQ7XG59XG4uZC1mbGV4e1xuICBkaXNwbGF5OmZsZXg7XG59XG4uZnVsbC13aWR0aHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubWF4LXdpZHRoLTUwMHB4IHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbn1cbi5taW4taGVpZ2h0LTgwIHtcbiAgbWluLWhlaWdodDogODAlO1xufVxuXG4vLyBGb250ICYgdGV4dFxuLmZvbnQtcm9ib3RvLWNvbmRlbnNlZHtcbiAgZm9udC1mYW1pbHk6J1JvYm90byBDb25kZW5zZWQnO1xufVxuLmZvbnQta2FuaXR7XG4gIGZvbnQtZmFtaWx5OidLYW5pdCc7XG59XG5cbi50ZXh0LWNlbnRlcntcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRleHQtbGVmdHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG5cbi8vIEJhY2tncm91bmQgaGVscGVyc1xuLmJnLXdoaXRle1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLmJnLWJsYWNre1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cbi5iZy1ncmVlbntcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xufVxuLmJnLWJsdWV7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xufVxuLmJnLXJlZHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJlZCAhaW1wb3J0YW50O1xufVxuLmJnLXJlZC1saWdodHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcmVkLC4yKTtcbn1cbi5iZy15ZWxsb3d7XG4gIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG59XG4uYmctZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmV5ICFpbXBvcnRhbnQ7XG59XG4uYmctZ3JleS1saWdodGVzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmV5X2xpZ2h0ZXN0ICFpbXBvcnRhbnQ7XG59XG5cbi5vdXRsaW5le1xuICBvdXRsaW5lOiAxcHggc29saWQgcmVkO1xufVxuXG4vLyBCdXR0b24gaGVscGVyc1xuLmJ0bi1vdXRsaW5lLWJsdWV7XG4gIGJvcmRlcjoycHggc29saWQgJGJsdWU7XG4gIGNvbG9yOiAkYmx1ZTtcbiAgcGFkZGluZzoxMHB4IDI5cHg7XG4gIHN2ZyB7XG4gICAgZmlsbDogJGJsdWVcbiAgfVxufVxuLmJ0bi1vdXRsaW5lLWJsdWU6aG92ZXJ7XG4gIGJhY2tncm91bmQ6ICRibHVlO1xuICBjb2xvcjogd2hpdGU7XG4gIHN2ZyB7XG4gICAgZmlsbDogd2hpdGVcbiAgfVxufVxuLmJ0bi1vdXRsaW5lLXdoaXRlOmhvdmVye1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6ICRvZmZfYmxhY2s7XG59XG4uYnRuLW91dGxpbmUtd2hpdGV7XG4gIGJvcmRlcjoycHggc29saWQgd2hpdGU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzoxMHB4IDI5cHg7XG59XG4uYnRuLW91dGxpbmUteWVsbG93e1xuICBib3JkZXI6MnB4IHNvbGlkICR5ZWxsb3c7XG4gIGNvbG9yOiAkeWVsbG93O1xuICBwYWRkaW5nOjEwcHggMjlweDtcbn1cbi5idG4tb3V0bGluZS15ZWxsb3c6aG92ZXJ7XG4gIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gIGNvbG9yOiAkb2ZmX2JsYWNrO1xufVxuLmJ0bi15ZWxsb3d7XG4gIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gIGNvbG9yOiAkb2ZmX2JsYWNrO1xuICBwYWRkaW5nOjEycHggMjlweDtcbn1cbi5idG4teWVsbG93OmhvdmVye1xuICBiYWNrZ3JvdW5kOiByZ2JhKCR5ZWxsb3csIDAuOCk7XG4gIGNvbG9yOiAkb2ZmX2JsYWNrO1xufVxuLmJ0bi1ibGFjay1vdXRsaW5le1xuICBib3JkZXI6MnB4IHNvbGlkICRvZmZfYmxhY2s7XG4gIGNvbG9yOiAkb2ZmX2JsYWNrO1xuICBwYWRkaW5nOjEwcHggMjlweDtcbn1cbi5idG4tYmxhY2stb3V0bGluZTpob3ZlcntcbiAgYmFja2dyb3VuZDogJG9mZl9ibGFjaztcbiAgY29sb3I6IHdoaXRlO1xufVxuLmJ0bi1ibHVle1xuICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOjEycHggMjlweDtcbn1cbi5idG4tYmx1ZTpob3ZlcntcbiAgY29sb3I6IGJsdWU7XG59XG4uYnRuLXJvdW5kLW5ld3tcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzI1ZW07XG59XG4uYnRuLXJvdW5ke1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHBhZGRpbmc6NXB4IDM1cHg7XG4gIGZvbnQtc2l6ZToxOHB4O1xufVxuLmJ0bi1jeWFue1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVyY2lhcnlfY29sb3I7XG4gIGNvbG9yOndoaXRlO1xufVxuXG4uYnRuLWN5YW46aG92ZXJ7XG4gIGNvbG9yOiBibHVlO1xufVxuXG4vLyBkaXNwbGF5IGhlbHBlcnNcbi5idG4tZnVsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzoxMnB4IDI5cHg7XG59XG5cbi5idG4tc21hbGwge1xuICBtaW4td2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIC8vb3V0bGluZTogMXB4IHNvbGlkIHJlZDtcbn1cblxuLy8gTWFyZ2luIC0gcGFkZGluZyBoZWxwZXJzXG4ubS0we1xuICBtYXJnaW46IDA7XG59XG4ubS0xMHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuLm1sLTAge1xuICBtYXJnaW4tbGVmdDogMHB4O1xufVxuLm10LTEweyBtYXJnaW4tdG9wOiAxMHB4OyB9XG4ubXQtMjB7IG1hcmdpbi10b3A6IDIwcHg7IH1cbi5tdC0zMHsgbWFyZ2luLXRvcDogMzBweDsgfVxuLm10LTUweyBtYXJnaW4tdG9wOiA1MHB4OyB9XG4ubXItMTB7IG1hcmdpbi1yaWdodDogMTBweDsgfVxuLm1yLTIweyBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbi5tci0zMHsgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4ubXItNTB7IG1hcmdpbi1yaWdodDogNTBweDsgfVxuLm1iLTEweyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4ubWItMjB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbi5tYi0zMHsgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuLm1iLTUweyBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4ubWwtMTAgeyBtYXJnaW4tbGVmdDogMTBweDsgfVxuLm1sLTIwIHsgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbi5tbC0zMCB7IG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4ubWwtNTB7IG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4ubXktMjB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xufVxuLm13LTEwMHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnAtMHsgcGFkZGluZzogMDsgfVxuLnAtMTB7IHBhZGRpbmc6IDEwcHg7IH1cbi5wLTIweyBwYWRkaW5nOiAyMHB4OyB9XG4ucC0zMHsgcGFkZGluZzogMzBweDsgfVxuLnAtNDB7IHBhZGRpbmc6IDQwcHg7IH1cbi5wLTUweyBwYWRkaW5nOiA1MHB4OyB9XG4ucC02MHsgcGFkZGluZzogNjBweDsgfVxuLnBsLTIweyBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbi5wdC04MHsgcGFkZGluZy10b3A6ODBweDsgfVxuLnB5LTQwe1xuICBwYWRkaW5nLXRvcDo0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTo0MHB4O1xufVxuLnB4LTIwe1xuICBwYWRkaW5nLWxlZnQ6MjBweDtcbiAgcGFkZGluZy1yaWdodDoyMHB4O1xufVxuLnB4LTQwe1xuICBwYWRkaW5nLWxlZnQ6NDBweDtcbiAgcGFkZGluZy1yaWdodDo0MHB4O1xufVxuXG5cbi8vIGltZyBoZWxwZXJzXG5cbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5mb290ZXJ7XG4gIHB7XG4gICAgZm9udC1zaXplOjEycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDoxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gcG9zdGlvbiBoZWxwZXJzXG5cbi5hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBzaXplIGhlbHBlcnNcbi5zLTQ4IHtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbn1cbiIsIiR5ZWxsb3c6ICNGRkMxMDA7XG4keWVsbG93X2xpZ2h0OiAjRkZENDREO1xuJHllbGxvd19saWdodGVyOiAjRkZFQ0IzO1xuJGJsdWU6ICMwMDE5RkY7XG4kYmx1ZV9saWdodDogIzU1QzRGNTtcblxuJHJlZDogI0ZGM0Q0QztcbiRncmVlbjogIzAwRTU5NztcbiRvZmZfYmxhY2s6ICMyRTJFMkU7XG5cblxuJGdyZXlfbGlnaHRlc3Q6ICNGOUY5RkI7XG4kZ3JleV9saWdodGVyOiAjRUNFQ0VFO1xuJGdyZXk6ICNEMkQzRDU7XG4kZ3JleV9kYXJrZXI6ICM2RTZFNkU7XG4kZ3JleV9kYXJrZXN0OiAjN0U3RTdFO1xuXG4kc2Vjb25kYXJ5X2NvbG9yOiAkZ3JleV9kYXJrZXI7XG4kdGVyY2lhcnlfY29sb3I6ICRibHVlO1xuXG4kc2Vjb25kYXJ5X2NvbG9yX2xpZ2h0OiAkZ3JleV9kYXJrZXI7XG4kdGVyY2lhcnlfY29sb3JfbGlnaHQ6ICRncmV5O1xuXG4kaW5mb19wcmltYXJ5OiAkZ3JleTtcbiRpbmZvX3NlY29uZGFyeTogJHNlY29uZGFyeV9jb2xvcl9saWdodDtcblxuJGFsZXJ0X3JlZDogJHJlZDtcbiRhbGVydF9ncmVlbjogIzREQkQ0RTtcblxuJGZvbnRfY29sb3Jfd2hpdGU6IHdoaXRlO1xuJGZvbnRfY29sb3JfYmx1ZV9ncmV5OiAkZ3JleTtcbiRmb250X2NvbG9yX2JsdWVfZGFyazogJGdyZXlfZGFya2VyO1xuJGZvbnRfY29sb3JfYmx1ZV9saWdodDogJGJsdWU7XG5cbiRiYWNrZ3JvdW5kX2JsdWVfZGFya19tZW51OiAkb2ZmX2JsYWNrO1xuJGJhY2tncm91bmRfYmx1ZV9kYXJrX292ZXJ2aWV3OiAkb2ZmX2JsYWNrO1xuJGJhY2tncm91bmRfYmx1ZV9kYXJrX2JhY2tncm91bmQ6ICRvZmZfYmxhY2s7XG4kYmFja2dyb3VuZF9ibHVlX2RhcmtfbmF2YmFyOiAkb2ZmX2JsYWNrO1xuJGJhY2tncm91bmRfYmx1ZV9kYXJrX2NoYXJ0OiAkb2ZmX2JsYWNrO1xuJGJhY2tncm91bmRfYmx1ZV9saWdodDogJGdyZXlfbGlnaHRlcjtcbiRiYWNrZ3JvdW5kX2JsdWVfbWlkdG9uZTogJGdyZXk7XG5cbiRsYXJnZV9wcmlvcml0eTogMTA7XG4kbW9yZV9wcmlvcml0eTogNTtcbiRtZWRpdW1fcHJpb3JpdHk6IDI7XG4kc21hbGxfcHJpb3JpdHk6IC0xO1xuXG4kZHJvcGRvd25fYmx1ZTogIzNmNTFiNTtcbiIsIi8vIE5ldyBsYW5kaW5nIHBhZ2VcblxuLmdyZXktd2F2ZXN7XG4gIGJhY2tncm91bmQ6IGdyZXkgdXJsKFwiL2Fzc2V0cy9pbWFnZXMvc2NrX2JnLnBuZ1wiKSA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNjVweDtcbn1cblxuLm5ldy1sYW5kaW5nLXBhZ2V7XG4gIGgxLGgyLGgzLGg0LGg1LGg2e1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzMjVlbTtcbiAgICBmb250LWZhbWlseTogJ0thbml0JztcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGNvbG9yOiAkb2ZmX2JsYWNrO1xuICB9XG4gIGgxe1xuICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgICBsaW5lLWhlaWdodDogNjVweDtcbiAgICBtYXJnaW46MHB4IDBweDtcbiAgfVxuICBoMntcbiAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luOjBweCAwcHg7XG4gIH1cbiAgaDN7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIHB7XG4gICAgY29sb3I6ICRvZmZfYmxhY2s7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJztcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbiAgLnNjLWxvZ297XG4gICAgaGVpZ2h0OiA0M3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGxlZnQ6IDEwJTtcbiAgICB0b3A6MjVweDtcbiAgfVxuICAuc2Mtb2ZmLWN0YS1wbGF0Zm9ybSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcmlnaHQ6IDEwJTtcbiAgICB0b3A6MjVweDtcblxuICB9XG4gIC8vIEltYWdlcyBvbiBsYW5kaW5nIHBhZ2VcbiAgLmltZy1uZXdfc2Nre1xuICAgIG1pbi1oZWlnaHQ6IDMwdnc7XG4gICAgYmFja2dyb3VuZDogYmx1ZSB1cmwoXCIvYXNzZXRzL2ltYWdlcy9uZXdfc2NrLmpwZ1wiKSBjZW50ZXIvY292ZXI7XG4gIH1cbiAgLmltZy1zY2tfZWR1e1xuICAgIG1pbi1oZWlnaHQ6IDMwdnc7XG4gICAgYmFja2dyb3VuZDogYmx1ZSB1cmwoXCIvYXNzZXRzL2ltYWdlcy9zY2tfZWR1LmpwZ1wiKSBjZW50ZXIvY292ZXI7XG4gIH1cbiAgLmltZy1zY2tfY29te1xuICAgIGJhY2tncm91bmQ6IGJsdWUgdXJsKFwiL2Fzc2V0cy9pbWFnZXMvc2NrX2NvbW11bml0aWVzLmpwZ1wiKSBjZW50ZXIvY292ZXI7XG4gIH1cbiAgLmltZy1yZXNlYXJjaHtcbiAgICBiYWNrZ3JvdW5kOiBibHVlIHVybChcIi9hc3NldHMvaW1hZ2VzL3Nja19yZXNlYXJjaC5qcGdcIikgY2VudGVyL2NvdmVyO1xuICB9XG4gIC5pbWctZ292ZXJubXtcbiAgICBiYWNrZ3JvdW5kOiBibHVlIHVybChcIi9hc3NldHMvaW1hZ2VzL3Nja19jaXRpZXMuanBnXCIpIGNlbnRlci9jb3ZlcjtcbiAgfVxuICAuaW1nLXBsYXRmb3Jte1xuICAgIG1pbi1oZWlnaHQ6NjMwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBibHVlIHVybChcIi9hc3NldHMvaW1hZ2VzL3Nja19wbGF0Zm9ybS5qcGdcIikgY2VudGVyL2NvdmVyO1xuICB9XG4gIC5pbWctZG9jc3tcbiAgICBtaW4taGVpZ2h0OjMyMHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogYmx1ZSB1cmwoXCIvYXNzZXRzL2ltYWdlcy9zY2tfZG9jcy5qcGdcIikgdG9wL2NvdmVyO1xuICB9XG4gIC8vIFRpbGVzIG9uIGxhbmRpbmcgcGFnZVxuICAudGlsZXtcbiAgICBwYWRkaW5nOiA2MHB4IDQwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRvZmZfYmxhY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgJG9mZl9ibGFjaztcbiAgfVxuICAudGlsZS1pbWFnZXtcbiAgICBtaW4taGVpZ2h0OjMwMHB4O1xuICAgIHBhZGRpbmc6MCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRpbGUtbGVmdHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRvZmZfYmxhY2s7XG4gIH1cbiAgLnRpbGUtdG9we1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkb2ZmX2JsYWNrO1xuICB9XG5cbiAgLnRleHQtZnVuZGluZ3tcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLy8gVmlkZW8gc2VjdGlvblxuXG4gIC52aWRlby1zZWN0aW9ue1xuICAgIGJhY2tncm91bmQ6IGJsdWUgdXJsKFwiL2Fzc2V0cy9pbWFnZXMvbGFuZGluZy9zbWFydGNpdGl6ZW4tc2VlZWQtcHJlb3JkZXIuanBnXCIpIGNlbnRlci9jb3ZlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA5MHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmhlYWRpbmctb3Zlci12aWRlb3tcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgcGFkZGluZy1yaWdodDogNjAlO1xuXG4gICAgaW1ne1xuICAgICAgcGFkZGluZy1ib3R0b206NDBweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMTBweCkge1xuICAgIGgxe1xuICAgICAgZm9udC1zaXplOjQycHg7XG4gICAgICBsaW5lLWhlaWdodDo0MnB4O1xuICAgIH1cbiAgICBoMntcbiAgICAgIGZvbnQtc2l6ZToyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6MjhweDtcbiAgICB9XG4gICAgaDN7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG4gICAgcHtcbiAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6MjJweDtcbiAgICB9XG4gICAgLnNjLWxvZ297XG4gICAgICBsZWZ0OjUlO1xuICAgIH1cbiAgICAuaGVhZGluZy1vdmVyLXZpZGVve1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuICAgICAgcGFkZGluZy1yaWdodDoyNSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBpbWd7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGVzcyB0aGVuIDc1MHB4XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICBoMXtcbiAgICAgIGZvbnQtc2l6ZTozMHB4O1xuICAgIH1cbiAgICBoMntcbiAgICAgIGZvbnQtc2l6ZToyNXB4O1xuICAgIH1cbiAgICAudGV4dC1mdW5kaW5ne1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICBoMXtcbiAgICAgIGZvbnQtc2l6ZToyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6MzNweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOjEwcHg7XG4gICAgfVxuICAgIGgye1xuICAgICAgZm9udC1zaXplOjI4cHg7XG4gICAgfVxuICAgIHB7XG4gICAgICBmb250LXNpemU6MTlweDtcbiAgICB9XG4gICAgLnAtNjB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDEwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmJvcmRlci14cy10b3B7XG4gICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJG9mZl9ibGFjaztcbiAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJG9mZl9ibGFjaztcbiAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICRvZmZfYmxhY2s7XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJG9mZl9ibGFjaztcbiAgICB9XG4gICAgLmJvcmRlci14cy1ib3R0b217XG4gICAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJG9mZl9ibGFjaztcbiAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICRvZmZfYmxhY2s7XG4gICAgICBib3JkZXItYm90dG9tOjNweCBzb2xpZCAkb2ZmX2JsYWNrO1xuICAgIH1cbiAgICAuaW1nLXBsYXRmb3Jte1xuICAgICAgbWluLWhlaWdodDozNTZweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGVhZGluZy1vdmVyLXZpZGVve1xuICAgICAgcGFkZGluZy1yaWdodDogNSU7XG4gICAgfVxuICAgIC5zYy1vZmYtY3RhLXBsYXRmb3JtIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICB9XG4gICAgLm15LTIwe1xuICAgICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaW1nLW5ld19zY2t7XG4gICAgICBiYWNrZ3JvdW5kOiBibHVlIHVybChcIi9hc3NldHMvaW1hZ2VzL3Nja19lZHUuanBnXCIpIGNlbnRlci9jb3ZlcjtcbiAgICB9XG4gICAgLmltZy1zY2tfZWR1e1xuICAgICAgYmFja2dyb3VuZDogYmx1ZSB1cmwoXCIvYXNzZXRzL2ltYWdlcy9uZXdfc2NrLmpwZ1wiKSBjZW50ZXIvY292ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqICBOQVZCQVJcbiAqL1xuXG4ubmF2YmFyX2NvbnRhaW5lciB7XG4gIC5tZC1idXR0b24ge1xuICAgIC8vZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLm1kLWJ1dHRvbi5uYXZiYXJfaGlnaGxpZ2h0X2J1dHRvbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHllbGxvdztcbiAgICBjb2xvcjogJHllbGxvdztcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIC8vcGFkZGluZzogOXB4IDExcHg7XG4gICAgLy93aWR0aDogMTA4cHg7XG4gIH1cblxuICAubG9nb19saW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAubG9nb19pY29uIHtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgIH1cbiAgfVxuXG4gIC5uYXZfaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgaGVpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDE0cHggIWltcG9ydGFudDtcbiAgICBzdmcge1xuICAgICAgZmlsbDogJHllbGxvdztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyX3NpZ251cF9idXR0b24ge1xuICAgIC5tZC1idXR0b24ge1xuICAgICAgcGFkZGluZzogMnB4IDBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR5ZWxsb3c7XG4gICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICB3aWR0aDogNzlweDtcbiAgICB9XG4gICAgLm1kLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuICAgICAgY29sb3I6ICRvZmZfYmxhY2s7XG4gICAgfVxuICB9XG5cbn1cblxuLm5hdmJhcl9hdmF0YXJfaWNvbiB7XG4gIHdpZHRoOiAzOHB4O1xuICBoZWlnaHQ6IDM4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE5cHg7XG59XG5cbi8vIE1ha2Ugc3VyZSB0aGUgRHJvcGRvd24gc3RheXMgYmVsb3cgdGhlIGJ1dHRvbiBwdXNoZWRcbi5tZC1vcGVuLW1lbnUtY29udGFpbmVyLm1kLWFjdGl2ZXtcbiAgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50O1xufVxuXG4iLCIvLyAvKipcbi8vICAqICBTRUFSQ0ggQ09NUE9ORU5UXG4vLyAgKi9cblxuXG4jc2VhcmNoIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2ltYWdlcy9zZWFyY2hfaWNvbl9ibGFjay5zdmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTBweCAxMnB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMThweDtcbiAgICBwYWRkaW5nOiAwcHggMzVweDtcbn1cblxuLnNlYXJjaF9yZXN1bHRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLnJlc3VsdF9pY29uIHtcbiAgICBmbGV4OiAwIDAgMThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICB9XG4gIC5yZXN1bHRfbmFtZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG4gIC5yZXN1bHRfbG9jYXRpb24ge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgfVxufVxuIiwiLypcbiAgQ09OVEFJTkVSUyBVU0VEIE9OIFNIT1cgS0lUIFNUQVRFXG4gKi9cblxuLm92ZXJfbWFwe1xuICBtaW4taGVpZ2h0OiAxMjBweDtcbn1cblxuLmtpdF9maXhlZCB7XG4gIHotaW5kZXg6ICRtZWRpdW0tcHJpb3JpdHk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmtpdF9kYXRhIHtcbiAgd2lkdGg6MTAwJTtcbiAgbWFyZ2luLXRvcDogMzc2cHg7XG5cbiAgc2VjdGlvbi5vdmVybGF5e1xuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogJG9mZl9ibGFjaztcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBmb250LXNpemU6MjBweDtcbiAgICBmb250LXdlaWdodDogbGlnaHRlcjtcblxuICAgIGgxe1xuICAgICAgY29sb3I6ICRvZmZfYmxhY2s7XG4gICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICAgIHB7XG4gICAgICBjb2xvcjogJHRlcmNpYXJ5X2NvbG9yX2xpZ2h0O1xuICAgICAgbWFyZ2luOiAwLjVlbTtcbiAgICB9XG4gIH1cblxuICAuaGludHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBjb2xvcjokZm9udF9jb2xvcl9ibHVlX2dyZXk7XG5cbiAgICBtYXJnaW4tdG9wOjBweDtcblxuICAgIHotaW5kZXg6IDEwO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgPiBwIHtcbiAgICAgIGNvbG9yOiAkZ3JleV9kYXJrZXI7XG4gICAgfVxuICAgIC5tZC1idXR0b257XG4gICAgICBtYXJnaW4tdG9wOjIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5raXRfZGF0YSwgLmtpdFRhZ3NfX3NlY3Rpb257XG4gIC5zaGFkb3d7XG4gICAgdG9wOiAwcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2hhZG93OiAwcHggLTFweCA2cHggMCByZ2JhKDAsMCwwLDAuNjUpO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cbi5raXRfdGFncy1zZWxlY3QtaGVhZGVyIHtcbiAgaGVpZ2h0OiA0OHB4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmtpdF90YWdzLWhlYWRlci1zZWFyY2hib3gge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbktJVCBDT01NRU5UUyBNT0RVTEVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuLmtpdF9jb21tZW50cyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbn1cblxuLypcbiAgQ0hBUlQgQ09NUE9ORU5UXG4qL1xuXG4uY2hhcnRfY29udGFpbmVyIHtcbiAgbWluLXdpZHRoOiAzNDBweDtcbiAgbWluLWhlaWdodDogMzEwcHg7XG4gIC8vd2lkdGg6IDEwMCU7XG4gIC8vaGVpZ2h0OiA5MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY2hhcnRfbGluZSB7XG4gICAgZmlsbDogbm9uZTtcbiAgICBzdHJva2Utd2lkdGg6IDJweDtcbiAgfVxuICAuY2hhcnRfYXJlYSB7XG4gICAgb3BhY2l0eTogMC4xO1xuICB9XG5cbiAgLmF4aXMgcGF0aCwuYXhpcyBsaW5lIHtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogJGdyZXlfZGFya2VyO1xuICAgIHN0cm9rZS13aWR0aDogMTtcbiAgICBzaGFwZS1yZW5kZXJpbmc6IGNyaXNwRWRnZXM7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYXhpcyB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG4gIC5heGlzLnlfbGVmdCB7XG4gICAgZmlsbDogJGdyZXk7XG4gIH1cbiAgLmF4aXMueV9yaWdodCB7XG4gICAgZmlsbDogJGdyZXk7XG4gIH1cbiAgLmF4aXMueCB7XG4gICAgZmlsbDogJGdyZXk7XG4gIH1cbiAgLmdyaWQge1xuICAgIC50aWNrIHtcbiAgICAgIHN0cm9rZTogJGdyZXk7XG4gICAgICBzdHJva2Utb3BhY2l0eTogMC42O1xuICAgICAgc2hhcGUtcmVuZGVyaW5nOiBjcmlzcEVkZ2VzO1xuICAgIH1cbiAgICBwYXRoIHtcbiAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICB9XG4gIH1cbiAgLm92ZXJsYXkge1xuICAgIGZpbGw6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxuXG4gIC5mb2N1cyBjaXJjbGUge1xuICAgIGZpbGw6IHJnYigzLCAzNywgNDUpO1xuICAgIHN0cm9rZS13aWR0aDogMnB4O1xuICB9XG4gIC50ZXh0X2hvdmVyX2NvbnRhaW5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXlfZGFya2VyO1xuICB9XG4gIC5wb3B1cF92YWx1ZSB7XG4gICAgZmlsbDogJGJhY2tncm91bmRfYmx1ZV9kYXJrX2NoYXJ0O1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZF9ibHVlX2RhcmtfY2hhcnQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5wb3B1cF9kYXRlIHtcbiAgICBmaWxsOiAkZ3JleV9kYXJrZXI7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5wb3B1cF91bml0IHtcbiAgICBmaWxsOiAkZ3JleTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG4uc3RpY2tOYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMHB4O1xufVxuXG4ub3ZlcmxheS1raXRpbmZve1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHotaW5kZXg6OTk5O1xufVxuXG5cbi8qXG4gIEtJVCBNRU5VIE1PRFVMRVxuICovXG5zZWN0aW9uIC5raXRfbWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAkbW9yZV9wcmlvcml0eTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXlfbGlnaHRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzNweDtcbiAgfVxuXG4gIC5raXRfdGltZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vbGVmdDogLTQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkZ3JleV9kYXJrZXI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5raXRfdXNlciB7XG4gICAgbWFyZ2luLWxlZnQ6MjBweDtcbiAgICAvL2Zsb2F0OiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIC8vbWFyZ2luOiAwIDMycHggMCAyMHB4O1xuICAgIGNvbG9yOiAkZ3JleV9kYXJrZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6NTAlO1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGdyZXlfZGFya2VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICAua2l0X25hbWUge1xuICAgIG1hcmdpbi1sZWZ0OjMwcHg7XG4gICAgLy9mbG9hdDogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICRncmV5X2RhcmtlcjtcbiAgICAvL21hcmdpbjogMCAzMnB4IDAgMDtcblxuICAgIG1kLWljb24ge1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICBzdmcgeyBmaWxsOiAkeWVsbG93OyB9XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAua2l0X2JhdHRlcnkge1xuICAgIG1hcmdpbi1sZWZ0OjMwcHg7XG4gICAgLy9mbG9hdDogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBjb2xvcjogJGdyZXlfZGFya2VyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgIG1kLWljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6ICRncmV5X2RhcmtlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAua2l0X25hdmJhciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgLy8gSWNvbnMgYXJlIGluc2lkZSBtZC1idXR0b25cbiAgICBtZC1pY29uIHtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgc3ZnIHtcbiAgICAgICAgZmlsbDogJGdyZXlfZGFya2VyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZC1idXR0b24ge1xuICAgICAgbWFyZ2luOjA7XG4gICAgfVxuXG4gICAgYS5tZC1idXR0b246aG92ZXIsIC5idXR0b25fYWN0aXZlICB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG9mZl9ibGFjaztcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5raXRfb3ZlcnZpZXcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA5NnB4O1xuICB6LWluZGV4OiAkbWVkaXVtX3ByaW9yaXR5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleV9saWdodGVzdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5idXR0b25fc2Nyb2xsIHtcbiAgICBtYXJnaW46IDBweDtcbiAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvL3RvcDogMDtcbiAgICAvL3dpZHRoOiA2MHB4O1xuICAgIC8vaGVpZ2h0OiA5NnB4O1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gIH1cblxuICAuYnV0dG9uX3Njcm9sbF9sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmJ1dHRvbl9zY3JvbGxfcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgLnNlbnNvcnNfY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIGhlaWdodDogOTZweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB9XG5cbiAgQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAuc2Vuc29yc19jb250YWluZXIge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuc2Vuc29yX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkZ3JleV9kYXJrZXI7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3V0bGluZTpub25lO1xuXG4gICAgcHtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAuY2xlYXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNlbnNvcl9yaWdodCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIGJvdHRvbTogMzhweDtcbiAgICAgIG1heC13aWR0aDogMzBweDtcbiAgICAgIC5zZW5zb3JfdW5pdCB7XG4gICAgICAgIG1hcmdpbi10b3A6OHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG4gICAgICAuc2Vuc29yX2Fycm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDotMTVweDtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAmLmFycm93X3VwIHN2ZyB7IGZpbGw6ICRncmVlbjsgfVxuICAgICAgICAmLmFycm93X2Rvd24gc3ZnIHsgZmlsbDogJHJlZDsgfVxuICAgICAgICAmLmVxdWFsIHN2ZyB7IGZpbGw6ICRibHVlX2xpZ2h0OyB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zZW5zb3JfdmFsdWUge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgfVxuICAgIC5zZW5zb3JfdmFsdWVfbnVsbCB7XG4gICAgICBvcGFjaXR5OiAwLjE1O1xuICAgIH1cbiAgICAuc2Vuc29yX2ljb24ge1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDQ1cHg7XG4gICAgICBsZWZ0OiAyNXB4O1xuICAgICAgc3ZnIHtcbiAgICAgICAgZmlsbDogJGdyZXlfZGFya2VyO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG4gICAgJi5zZWxlY3RlZCB7XG4gICAgICBjb2xvcjogJG9mZl9ibGFjaztcbiAgICAgIC5zZW5zb3JfaWNvbiBzdmcge1xuICAgICAgICBmaWxsOiAkb2ZmX2JsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqICBLSVQgREVUQUlMU1xuICpcbiAqL1xuXG4gLmtpdF9kZXRhaWxzX25vdEF1dGgge1xuICAgLy8gQnVnOiB0aGlzIHdpbGwgY3JlYXRlIGFuIGV4dHJhIGdhcCBvbiBtb2JpbGUgZGV2aWNlc1xuICAvL3dpZHRoOiA1MDBweDtcbiB9XG4ua2l0X2RldGFpbHNfbm90QXV0aF90aXRsZSB7XG4gIG1hcmdpbjogMDtcbiB9XG4ua2l0X2RldGFpbHNfbm90QXV0aF9zdWJoZWFkZXIge1xuICBjb2xvcjogJGdyZXlfZGFya2VyO1xufVxuLmtpdF9kZXRhaWxzX25vdEF1dGhfYnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmtpdF9kZXRhaWxlZCB7XG4gIC8vIGhlaWdodDogMTAwMHB4O1xuICB6LWluZGV4OiAkbWVkaXVtX3ByaW9yaXR5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHAuZGVzY3JpcHRpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cblxuICAua2l0X3RpbWVPcHRze1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICB9XG5cbiAgLmtpdF9jaGFydCB7XG4gICAgbWluLWhlaWdodDogMzQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmhpbnR7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmX2JsYWNrO1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMzdweDtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgLmtpdF9jaGFydF9sZWZ0IHtcbiAgICAgICAgY29sb3I6ICRvZmZfYmxhY2s7XG5cbiAgICAgICAgLnNlbnNvcl9zZWxlY3Qge1xuICAgICAgICAgIC5zZW5zb3JfaWNvbl9zZWxlY3RlZCB7XG4gICAgICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDo1cHg7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICBmaWxsOiAkb2ZmX2JsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBtZC1zZWxlY3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgLm1kLXNlbGVjdC12YWx1ZXtcbiAgICAgICAgICAgICAgLm1kLXRleHR7XG4gICAgICAgICAgICAgICAgLnNlbGVjdF9pbWFnZXtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2Vuc29yX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAvL2NvbG9yOiAkYmFja2dyb3VuZF9ibHVlX2xpZ2h0O1xuICAgICAgICAgIC8vaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgIC8vbWFyZ2luLXRvcDogMHB4OyAvLzMwO1xuICAgICAgICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgaDYge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzbWFsbHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleV9kYXJrZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNlbnNvcl9kZXNjcmlwdGlvbl9mdWxsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTUwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgei1pbmRleDogMjAwO1xuICAgICAgICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQgZ3JleTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZF9ibHVlX2RhcmtfY2hhcnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZW5zb3JfZGF0YSB7XG4gICAgICAgICAgLnNlbnNvcl92YWx1ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc2Vuc29yX3VuaXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc2Vuc29yX2RhdGFfaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZW5zb3JfZGF0YV9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4LCA1cHgpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4LCA1cHgpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgsIDVweCk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4LCA1cHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDVweCwgNXB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kX2JsdWVfZGFya19jaGFydDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNzVweDtcbiAgICAgICAgfVxuICAgICAgICAuc2Vuc29yX2NvbXBhcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDozMHB4O1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5raXRfY2hhcnRfcmlnaHQge1xuICAgICAgICAvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy9oZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgLmNoYXJ0X25hdmlnYXRpb24ge1xuICAgICAgICAgIGhlaWdodDogMTAlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5raXRfdGltZSB7XG4gICAgICAgICAgICBtZC1pY29uIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jaGFydF9tb3ZlIHtcbiAgICAgICAgICAgIC5jaGFydF9tb3ZlX2J1dHRvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbjogLTJweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5X2RhcmtlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXlfbGlnaHRlc3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2hhcnRfbW92ZV9yaWdodCB7XG4gICAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRncmV5X2RhcmtlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleV9kYXJrZXI7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgIGZpbGw6ICRncmV5X2xpZ2h0ZXN0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNoYXJ0X21vdmVfbGVmdCB7XG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGdyZXlfZGFya2VyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5X2RhcmtlcjtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgZmlsbDogJGdyZXlfbGlnaHRlc3Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtZC1pY29uIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDUuNXB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmtpdF9kZXRhaWxzIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmRfYmx1ZV9kYXJrX25hdmJhcjtcbiAgfVxuICAua2l0X2RldGFpbHNfY29udGVudCB7XG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6ICRvZmZfYmxhY2s7XG4gICAgfVxuXG4gICAgLmtpdF9kZXRhaWxzX2xhYmVsc3tcbiAgICAgIG1hcmdpbi10b3A6MzBweDtcbiAgICB9XG4gIH1cbiAgLmtpdF9kZXRhaWxzX25hbWUge1xuICAgIG1hcmdpbjogNXB4IDAgMjBweCAwO1xuICB9XG4gIC5raXRfZGV0YWlsc190eXBlIHtcbiAgICA+IHNwYW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgfVxuICAua2l0X2RldGFpbHNfdHlwZV9sb2NhdGlvbiBzdmcge1xuICAgIGZpbGw6ICRzZWNvbmRhcnlfY29sb3I7XG4gIH1cbiAgLmtpdF9kZXRhaWxzX3ZlcnNpb24ge1xuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnlfY29sb3JfbGlnaHQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbiAgLmtpdF9kZXRhaWxzX2lkIHtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5X2NvbG9yX2xpZ2h0O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLmtpdF9kZXRhaWxzX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xuICB9XG4gIC5raXRfZGV0YWlsc19kZXNjcmlwdGlvbl90aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbiAgLmtpdF9kZXRhaWxzX2Rlc2NyaXB0aW9uX2NvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICAua2l0X2RldGFpbHNfbWFuYWdlX2J1dHRvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cbiAgLmtpdF9kZXRhaWxzX2J1dHRvbl9kZWxldGUge1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG4gIC5raXRfZGV0YWlsc19tYW5hZ2VfZGF0YSB7XG4gICAgLmRhdGFfY29udGFpbmVyIHtcbiAgICB9XG4gIH1cbiAgLmtpdF9kZXRhaWxzX2tleSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICB9XG4gIC5tZC1idXR0b24ua2l0X2RldGFpbHNfa2V5X3JlZnJlc2hCdXR0b246aG92ZXIsIC5tZC1idXR0b24ua2l0X2RldGFpbHNfa2V5X3JlZnJlc2hCdXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQkRCREI7XG4gIH1cbiAgLmtpdF9kZXRhaWxlZF9pY29uX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkZ3JleV9kYXJrZXI7XG4gICAgfVxuICB9XG4gIC5raXRfZGV0YWlsZWRfaWNvbl90aXRsZSB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gIH1cbiAgLmtpdF9kZXRhaWxlZF90aXRsZV9jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgfVxuICAua2l0X2RldGFpbGVkX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG4gIC5raXRfZGV0YWlsZWRfY29udGVudF9jb250YWluZXIge1xuICAgIG1hcmdpbjogNjJweCAzN3B4IDBweDtcblxuICAgIC5raXRfZGV0YWlsc19jb250ZW50X21haW4ge1xuICAgLy8gQnVnOiB0aGlzIHdpbGwgY3JlYXRlIGFuIGV4dHJhIGdhcCBvbiBtb2JpbGUgZGV2aWNlc1xuICAgIC8vICB3aWR0aDogNTAwcHg7XG4gICAgfVxuICB9XG4gIC5raXRfb3duZXIge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZF9ibHVlX2RhcmtfbmF2YmFyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XG4gICAgcGFkZGluZy1ib3R0b206NDBweDtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAua2l0X293bmVyX3VzZXJuYW1lTGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIC5raXRfb3duZXJfdXNlcm5hbWVUZXh0IHtcbiAgICAgIGNvbG9yOiAkb2ZmX2JsYWNrO1xuICAgICAgbWFyZ2luOiA1MHB4IDAgMjBweCAwO1xuICAgIH1cbiAgICAua2l0X293bmVyX2xvY2F0aW9uIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5X2NvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgIC5raXRfb3duZXJfdXJsIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kX2JsdWVfZGFya19uYXZiYXI7XG4gICAgfVxuICAgIC5raXRfb3duZXJfa2l0c190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgICAua2l0X293bmVyX2tpdHNfbGlzdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUFFQ0YxO1xuICAgICAgaGVpZ2h0OiA4MnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIC5raXRfb3duZXJfa2l0c19saXN0X2F2YXRhciB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICAgIG1hcmdpbi10b3A6IDlweDtcbiAgICB9XG4gICAgLmtpdF9vd25lcl9raXRzX2xpc3RfY29udGVudCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gICAgLmtpdF9vd25lcl9raXRzX2xpc3RfZGF0YSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAua2l0X293bmVyX2tpdHNfbGlzdF9zdGF0ZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgcGFkZGluZzogNnB4IDExcHg7XG4gICAgICBtYXJnaW46IDE1cHg7XG4gICAgfVxuICAgIC5raXRfb3duZXJfa2l0c19saXN0X25ldmVyX3B1Ymxpc2hlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuICAgIH1cbiAgICAua2l0X293bmVyX2tpdHNfbGlzdF9ub3RfY29uZmlndXJlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIH1cbiAgICAua2l0X293bmVyX2tpdHNfbGlzdF9jb25maWcge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICB9XG4gICAgLmtpdF9vd25lcl9raXRzX2xpc3RfY29uZmlnX2ljb24ge1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgfVxuICB9XG59XG5cbi5zZW5zb3JfdmFsdWUge1xuICBmb250LXNpemU6IDM0cHg7XG4gIGZvbnQtZmFtaWx5OiBLYW5pdDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLyoqL1xuXG4vKiBbIV0gTGVhdmUgYW5pbWF0aW9uIChuZy1sZWF2ZSApIGFyZSBkaXNhYmxlZFxuYmVjYXVzZSB0aGV5IGNvbmZsaWN0IHdpdGggZW50ZXIgYW5pbWF0aW9ucyAqL1xuXG5cbi5zZW5zb3JfYW5pbWF0aW9uLm5nLWVudGVyIHtcbiAgdHJhbnNpdGlvbjoxcyBlYXNlLW91dCBhbGw7XG59XG4uc2Vuc29yX2FuaW1hdGlvbi5uZy1lbnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gIC8vIG9wYWNpdHk6IDA7XG59XG4uc2Vuc29yX2FuaW1hdGlvbi5uZy1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAvLyBvcGFjaXR5OiAxO1xufVxuXG4vKiAuc2Vuc29yX2FuaW1hdGlvbi5uZy1sZWF2ZXtcbiAgdHJhbnNpdGlvbjoxcyBlYXNlIGFsbDtcbn1cbi5zZW5zb3JfYW5pbWF0aW9uLm5nLWxlYXZle1xuICBvcGFjaXR5OiAwO1xufVxuLnNlbnNvcl9hbmltYXRpb24ubmctbGVhdmUtYWN0aXZle1xuICBvcGFjaXR5OiAxO1xufSAqL1xuXG4vKiBUaW1lIGFuaW1hdGlvbiBjdXJyZW50bHkgbm90IGluIHVzZSAqL1xuXG4udGltZV9hbmltYXRpb24ubmctZW50ZXIge1xuICB0cmFuc2l0aW9uOjFzIGVhc2Utb3V0IGFsbDtcbn1cbi50aW1lX2FuaW1hdGlvbi5uZy1lbnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG4udGltZV9hbmltYXRpb24ubmctZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLyogLnRpbWVfYW5pbWF0aW9uLm5nLWxlYXZlIHtcbiAgdHJhbnNpdGlvbjoxcyBlYXNlIGFsbDtcbn1cbi50aW1lX2FuaW1hdGlvbi5uZy1sZWF2ZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4udGltZV9hbmltYXRpb24ubmctbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn0gKi9cblxuLmJhdF9hbmltYXRpb24ubmctZW50ZXIge1xuICB0cmFuc2l0aW9uOjFzIGVhc2Utb3V0IGFsbDtcbn1cbi5iYXRfYW5pbWF0aW9uLm5nLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cbi5iYXRfYW5pbWF0aW9uLm5nLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi8qIC5iYXRfYW5pbWF0aW9uLm5nLWxlYXZlIHtcbiAgdHJhbnNpdGlvbjoycyBlYXNlIGFsbDtcbn1cbi5iYXRfYW5pbWF0aW9uLm5nLWxlYXZlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5iYXRfYW5pbWF0aW9uLm5nLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59ICovXG4iLCIvKlxuICBNT0RBTCBTVE9SRVxuKi9cblxuLnN0b3JlX2l0ZW1EZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OjIwcHg7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJy4uL2Fzc2V0cy9pbWFnZXMvY2hlY2tfY2lyY2xlLnN2ZycpO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgfVxufVxuIiwiLmNzdl9maWxlX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtZC1jaGVja2JveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICB9XG4gIHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogMjBweFxuICB9XG59XG5cbi5saXN0LXNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IDBweCByZ2JhKDAsMCwwLDAuMik7XG4gIG1kLWxpc3QtaXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRncmV5X2xpZ2h0ZXI7XG4gIH1cbiAgbWQtbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbn1cblxuLy8gLm1kLWJhci5iZy1ncmVlbiB7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbi8vIH1cblxuLmxhYmVsLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbn1cblxuLnRpdGxlLXRpbWVsaW5lIHtcbiAgZm9udC1zaXplOiAzMHB4O1xufVxuXG4vKiBUaGlzIGlzIHRlbXBvcmFyeSAqL1xuXG4udXBsb2FkLWNzdiB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbToyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDc1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDk3MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMTcwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqICBCQUNLRFJPUCBDT01QT05FTlRcbiAqL1xuXG4vLyBQb3B1cCBiYWNrZHJvcFxuXG5tZC1jb250ZW50Lm1kLW9wYXF1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTtcbn1cblxuLy9Mb2FkaW5nIGJhY2tkcm9wXG5cbm1kLWNvbnRlbnQubWQtbWFpbkJhY2tkcm9wIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgLmJhY2tkcm9wX2ljb24ge1xuICAgIHdpZHRoOiAxMDFweDtcbiAgICBoZWlnaHQ6IDEwMXB4O1xuICB9XG59XG5cbi8vIHN0YXRlIGNoYW5nZSBiYWNrZHJvcFxubWQtY29udGVudC5tZC1zdGF0ZUNoYW5nZUJhY2tkcm9wIHtcbiAgei1pbmRleDogOTk5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG59XG5cbi5iYWNrZHJvcF9pY29uIHtcbiAgc3ZnIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBmaWxsOiAkZ3JleV9kYXJrZXI7XG4gIH1cbiAgLnNjLWNpcmNsZS1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTMuOCU7XG4gICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTMuOCU7XG4gICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUzLjglO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1My44JTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjpzcGluIDNzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtbW96LWFuaW1hdGlvbjpzcGluIDNzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246c3BpbiAzcyBsaW5lYXIgaW5maW5pdGU7XG4gIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHNwaW4geyAxMDAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHsgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5Aa2V5ZnJhbWVzIHNwaW4geyAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7IH0gfVxuIiwic2VjdGlvbiAuc3RpY2tNZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4vLyAgdG9wOiA2NHB4O1xufVxuXG4uc3RpY2tOYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMHB4O1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNjY2O1xufVxuIl19 */
