@charset "UTF-8";
/* font */
@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 100;
    src: url("/fonts/noto-sans-kr-v13-korean-100.eot");
    /* IE9 Compat Modes */
    src: local(""), url("/fonts/noto-sans-kr-v13-korean-100.eot?#iefix") format("embedded-opentype"), url("/fonts/noto-sans-kr-v13-korean-100.woff2") format("woff2"), url("/fonts/noto-sans-kr-v13-korean-100.woff") format("woff"), url("/fonts/noto-sans-kr-v13-korean-100.ttf") format("truetype"), url("/fonts/noto-sans-kr-v13-korean-100.svg#NotoSansKR") format("svg");
    /* Legacy iOS */
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 300;
    src: url("/fonts/noto-sans-kr-v13-korean-300.eot");
    /* IE9 Compat Modes */
    src: local(""), url("/fonts/noto-sans-kr-v13-korean-300.eot?#iefix") format("embedded-opentype"), url("/fonts/noto-sans-kr-v13-korean-300.woff2") format("woff2"), url("/fonts/noto-sans-kr-v13-korean-300.woff") format("woff"), url("/fonts/noto-sans-kr-v13-korean-300.ttf") format("truetype"), url("/fonts/noto-sans-kr-v13-korean-300.svg#NotoSansKR") format("svg");
    /* Legacy iOS */
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 400;
    src: url("/fonts/noto-sans-kr-v13-korean-regular.eot");
    /* IE9 Compat Modes */
    src: local(""), url("/fonts/noto-sans-kr-v13-korean-regular.eot?#iefix") format("embedded-opentype"), url("/fonts/noto-sans-kr-v13-korean-regular.woff2") format("woff2"), url("/fonts/noto-sans-kr-v13-korean-regular.woff") format("woff"), url("/fonts/noto-sans-kr-v13-korean-regular.ttf") format("truetype"), url("/fonts/noto-sans-kr-v13-korean-regular.svg#NotoSansKR") format("svg");
    /* Legacy iOS */
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 500;
    src: url("/fonts/noto-sans-kr-v13-korean-500.eot");
    /* IE9 Compat Modes */
    src: local(""), url("/fonts/noto-sans-kr-v13-korean-500.eot?#iefix") format("embedded-opentype"), url("/fonts/noto-sans-kr-v13-korean-500.woff2") format("woff2"), url("/fonts/noto-sans-kr-v13-korean-500.woff") format("woff"), url("/fonts/noto-sans-kr-v13-korean-500.ttf") format("truetype"), url("/fonts/noto-sans-kr-v13-korean-500.svg#NotoSansKR") format("svg");
    /* Legacy iOS */
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 700;
    src: url("/fonts/noto-sans-kr-v13-korean-700.eot");
    /* IE9 Compat Modes */
    src: local(""), url("/fonts/noto-sans-kr-v13-korean-700.eot?#iefix") format("embedded-opentype"), url("/fonts/noto-sans-kr-v13-korean-700.woff2") format("woff2"), url("/fonts/noto-sans-kr-v13-korean-700.woff") format("woff"), url("/fonts/noto-sans-kr-v13-korean-700.ttf") format("truetype"), url("/fonts/noto-sans-kr-v13-korean-700.svg#NotoSansKR") format("svg");
    /* Legacy iOS */
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 900;
    src: url("/fonts/noto-sans-kr-v13-korean-900.eot");
    /* IE9 Compat Modes */
    src: local(""), url("/fonts/noto-sans-kr-v13-korean-900.eot?#iefix") format("embedded-opentype"), url("/fonts/noto-sans-kr-v13-korean-900.woff2") format("woff2"), url("/fonts/noto-sans-kr-v13-korean-900.woff") format("woff"), url("/fonts/noto-sans-kr-v13-korean-900.ttf") format("truetype"), url("/fonts/noto-sans-kr-v13-korean-900.svg#NotoSansKR") format("svg");
    /* Legacy iOS */
}

/* reset */
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: none;
}

html {
    font-family: "Noto Sans KR", sans-serif;
    color: #333;
    font-size: 16px;
    line-height: 1;
    font-weight: normal;
    letter-spacing: -0.3px;
}

textarea {
    resize: none;
}

fieldset,
img {
    border: 0;
}

img {
    width: auto;
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

li,
ol,
ul {
    list-style: none;
}

address,
em,
i {
    font-style: normal;
}

a {
    color: inherit;
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: inherit;
    letter-spacing: inherit;
    font-weight: normal;
}

strong,
th,
b,
em {
    font-family: inherit;
    letter-spacing: inherit;
    font-weight: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

input,
select,
textarea,
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: inherit;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

legend,
caption {
    position: absolute;
    z-index: -10;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    font-size: medium;
    line-height: normal;
    word-break: break-all;
}

a:focus,
button:focus {
    outline: 1px solid #333;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
    outline: 0;
}

button {
    border: none;
    background: transparent;
    cursor: pointer;
}

.blind {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
}

.clearfix:after{
	display: block;
	content: "";
	clear: both;
}



/* === UTILITIES === */
/* utilities */
.align-baseline {
    vertical-align: baseline !important;
  }
  
  .align-top {
    vertical-align: top !important;
  }
  
  .align-middle {
    vertical-align: middle !important;
  }
  
  .align-bottom {
    vertical-align: bottom !important;
  }
  
  .align-text-bottom {
    vertical-align: text-bottom !important;
  }
  
  .align-text-top {
    vertical-align: text-top !important;
  }
  
  .float-start {
    float: left !important;
  }
  
  .float-end {
    float: right !important;
  }
  
  .float-none {
    float: none !important;
  }
  
  .overflow-auto {
    overflow: auto !important;
  }
  
  .overflow-hidden {
    overflow: hidden !important;
  }
  
  .overflow-visible {
    overflow: visible !important;
  }
  
  .overflow-scroll {
    overflow: scroll !important;
  }
  
  .d-inline {
    display: inline !important;
  }
  
  .d-inline-block {
    display: inline-block !important;
  }
  
  .d-block {
    display: block !important;
  }
  
  .d-grid {
    display: grid !important;
  }
  
  .d-table {
    display: table !important;
  }
  
  .d-table-row {
    display: table-row !important;
  }
  
  .d-table-cell {
    display: table-cell !important;
  }
  
  .d-flex {
    display: flex !important;
  }
  
  .d-inline-flex {
    display: inline-flex !important;
  }
  
  .d-none {
    display: none !important;
  }
  
  .gap-0 {
    gap: 0 !important;
  }
  
  .gap-1 {
    gap: 0.25rem !important;
  }
  
  .gap-2 {
    gap: 0.5rem !important;
  }
  
  .gap-3 {
    gap: 1rem !important;
  }
  
  .gap-4 {
    gap: 1.5rem !important;
  }
  
  .gap-5 {
    gap: 3rem !important;
  }
  
  .border {
    border: 1px solid #ddd !important;
  }
  
  .border-0 {
    border: 0 !important;
  }
  
  .border-top {
    border-top: 1px solid #ddd !important;
  }
  
  .border-top-0 {
    border-top: 0 !important;
  }
  
  .border-right {
    border-right: 1px solid #ddd !important;
  }
  
  .border-right-0 {
    border-right: 0 !important;
  }
  
  .border-bottom {
    border-bottom: 1px solid #ddd !important;
  }
  
  .border-bottom-0 {
    border-bottom: 0 !important;
  }
  
  .border-left {
    border-left: 1px solid #ddd !important;
  }
  
  .border-left-0 {
    border-left: 0 !important;
  }
  
  .border-black {
    border-color: #111 !important;
  }
  
  .border-basic {
    border-color: #333 !important;
  }
  
  .border-cont {
    border-color: #555 !important;
  }
  
  .border-gray {
    border-color: #777 !important;
  }
  
  .border-border {
    border-color: #ddd !important;
  }
  
  .border-point {
    border-color: #6e3a9c !important;
  }
  
  .border-point2 {
    border-color: #9a3175 !important;
  }
  
  .border-blur {
    border-color: #eaeaea !important;
  }
  
  .border-white {
    border-color: #fff !important;
  }
  
  .border-red {
    border-color: #a02013 !important;
  }
  
  .border-yellow {
    border-color: #dea82a !important;
  }
  
  .border-1 {
    border-width: 1px !important;
  }
  
  .border-2 {
    border-width: 2px !important;
  }
  
  .border-3 {
    border-width: 3px !important;
  }
  
  .border-4 {
    border-width: 4px !important;
  }
  
  .border-5 {
    border-width: 5px !important;
  }
  
  .w-10 {
    width: 10% !important;
  }
  
  .w-25 {
    width: 25% !important;
  }
  
  .w-50 {
    width: 50% !important;
  }
  
  .w-75 {
    width: 75% !important;
  }
  
  .w-100 {
    width: 100% !important;
  }
  
  .w-auto {
    width: auto !important;
  }
  
  .mw-100 {
    max-width: 100% !important;
  }
  
  .h-25 {
    height: 25% !important;
  }
  
  .h-50 {
    height: 50% !important;
  }
  
  .h-75 {
    height: 75% !important;
  }
  
  .h-100 {
    height: 100% !important;
  }
  
  .h-auto {
    height: auto !important;
  }
  
  .mh-100 {
    max-height: 100% !important;
  }
  
  .flex-fill {
    flex: 1 1 auto !important;
  }
  
  .flex-row {
    flex-direction: row !important;
  }
  
  .flex-column {
    flex-direction: column !important;
  }
  
  .flex-row-reverse {
    flex-direction: row-reverse !important;
  }
  
  .flex-column-reverse {
    flex-direction: column-reverse !important;
  }
  
  .flex-grow-0 {
    flex-grow: 0 !important;
  }
  
  .flex-grow-1 {
    flex-grow: 1 !important;
  }
  
  .flex-shrink-0 {
    flex-shrink: 0 !important;
  }
  
  .flex-shrink-1 {
    flex-shrink: 1 !important;
  }
  
  .flex-wrap {
    flex-wrap: wrap !important;
  }
  
  .flex-nowrap {
    flex-wrap: nowrap !important;
  }
  
  .flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  
  .justify-content-start {
    justify-content: flex-start !important;
  }
  
  .justify-content-end {
    justify-content: flex-end !important;
  }
  
  .justify-content-center {
    justify-content: center !important;
  }
  
  .justify-content-between {
    justify-content: space-between !important;
  }
  
  .justify-content-around {
    justify-content: space-around !important;
  }
  
  .justify-content-evenly {
    justify-content: space-evenly !important;
  }
  
  .align-items-start {
    align-items: flex-start !important;
  }
  
  .align-items-end {
    align-items: flex-end !important;
  }
  
  .align-items-center {
    align-items: center !important;
  }
  
  .align-items-baseline {
    align-items: baseline !important;
  }
  
  .align-items-stretch {
    align-items: stretch !important;
  }
  
  .align-content-start {
    align-content: flex-start !important;
  }
  
  .align-content-end {
    align-content: flex-end !important;
  }
  
  .align-content-center {
    align-content: center !important;
  }
  
  .align-content-between {
    align-content: space-between !important;
  }
  
  .align-content-around {
    align-content: space-around !important;
  }
  
  .align-content-stretch {
    align-content: stretch !important;
  }
  
  .align-self-auto {
    align-self: auto !important;
  }
  
  .align-self-start {
    align-self: flex-start !important;
  }
  
  .align-self-end {
    align-self: flex-end !important;
  }
  
  .align-self-center {
    align-self: center !important;
  }
  
  .align-self-baseline {
    align-self: baseline !important;
  }
  
  .align-self-stretch {
    align-self: stretch !important;
  }
  
  .order-first {
    order: -1 !important;
  }
  
  .order-0 {
    order: 0 !important;
  }
  
  .order-1 {
    order: 1 !important;
  }
  
  .order-2 {
    order: 2 !important;
  }
  
  .order-3 {
    order: 3 !important;
  }
  
  .order-4 {
    order: 4 !important;
  }
  
  .order-5 {
    order: 5 !important;
  }
  
  .order-last {
    order: 6 !important;
  }
  
  .m-0 {
    margin: 0 !important;
  }
  
  .m-5 {
    margin: 5px !important;
  }
  
  .m-10 {
    margin: 10px !important;
  }
  
  .m-15 {
    margin: 15px !important;
  }
  
  .m-20 {
    margin: 20px !important;
  }
  
  .m-25 {
    margin: 25px !important;
  }
  
  .m-30 {
    margin: 30px !important;
  }
  
  .m-40 {
    margin: 40px !important;
  }
  
  .m-50 {
    margin: 50px !important;
  }
  
  .m-60 {
    margin: 60px !important;
  }
  
  .m-auto {
    margin: auto !important;
  }
  
  
  .mt-0 {
    margin-top: 0 !important;
  }
  
  .mt-1 {
    margin-top: 0.25rem !important;
  }
  
  .mt-2 {
    margin-top: 0.5rem !important;
  }
  
  .mt-3 {
    margin-top: 1rem !important;
  }
  
  .mt-4 {
    margin-top: 1.5rem !important;
  }
  
  .mt-5 {
    margin-top: 3rem !important;
  }
  
  .mt-auto {
    margin-top: auto !important;
  }
  
  .me-0 {
    margin-right: 0 !important;
  }
  
  .me-1 {
    margin-right: 0.25rem !important;
  }
  
  .me-2 {
    margin-right: 0.5rem !important;
  }
  
  .me-3 {
    margin-right: 1rem !important;
  }
  
  .me-4 {
    margin-right: 1.5rem !important;
  }
  
  .me-5 {
    margin-right: 3rem !important;
  }
  
  .me-auto {
    margin-right: auto !important;
  }
  
  
  .mb-0 {
    margin-bottom: 0 !important;
  }
  
  .mb-1 {
    margin-bottom: 0.25rem !important;
  }
  
  .mb-2 {
    margin-bottom: 0.5rem !important;
  }
  
  .mb-3 {
    margin-bottom: 1rem !important;
  }
  
  .mb-4 {
    margin-bottom: 1.5rem !important;
  }
  
  .mb-5 {
    margin-bottom: 3rem !important;
  }
  
  .mb-auto {
    margin-bottom: auto !important;
  }
  
  .ms-0 {
    margin-left: 0 !important;
  }
  
  .ms-1 {
    margin-left: 0.25rem !important;
  }
  
  .ms-2 {
    margin-left: 0.5rem !important;
  }
  
  .ms-3 {
    margin-left: 1rem !important;
  }
  
  .ms-4 {
    margin-left: 1.5rem !important;
  }
  
  .ms-5 {
    margin-left: 3rem !important;
  }
  
  .ms-auto {
    margin-left: auto !important;
  }
  
  
  .mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  
  .mx-5 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  
  .mx-10 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  
  .mx-15 {
    margin-right: 15px !important;
    margin-left: 15px !important;
  }
  
  .mx-20 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  
  .mx-25 {
    margin-right: 25px !important;
    margin-left: 25px !important;
  }
  
  .mx-30 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  
  .mx-40 {
    margin-right: 40px !important;
    margin-left: 40px !important;
  }
  
  .mx-50 {
    margin-right: 50px !important;
    margin-left: 50px !important;
  }
  
  .mx-60 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  
  .mx-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  
  .my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  
  .my-5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  
  .my-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  
  .my-15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  
  .my-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  
  .my-25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  
  .my-30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  
  .my-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  
  .my-50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  
  .my-60 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  
  .my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  
  .mt-0 {
    margin-top: 0 !important;
  }
  
  .mt-5 {
    margin-top: 5px !important;
  }
  
  .mt-10 {
    margin-top: 10px !important;
  }
  
  .mt-15 {
    margin-top: 15px !important;
  }
  
  .mt-20 {
    margin-top: 20px !important;
  }
  
  .mt-25 {
    margin-top: 25px !important;
  }
  
  .mt-30 {
    margin-top: 30px !important;
  }
  
  .mt-40 {
    margin-top: 40px !important;
  }
  
  .mt-50 {
    margin-top: 50px !important;
  }
  
  .mt-60 {
    margin-top: 60px !important;
  }
  
  .mt-auto {
    margin-top: auto !important;
  }
  
  .mr-0 {
    margin-right: 0 !important;
  }
  
  .mr-5 {
    margin-right: 5px !important;
  }
  
  .mr-10 {
    margin-right: 10px !important;
  }
  
  .mr-15 {
    margin-right: 15px !important;
  }
  
  .mr-20 {
    margin-right: 20px !important;
  }
  
  .mr-25 {
    margin-right: 25px !important;
  }
  
  .mr-30 {
    margin-right: 30px !important;
  }
  
  .mr-40 {
    margin-right: 40px !important;
  }
  
  .mr-50 {
    margin-right: 50px !important;
  }
  
  .mr-60 {
    margin-right: 60px !important;
  }
  
  .mr-auto {
    margin-right: auto !important;
  }
  
  .mb-0 {
    margin-bottom: 0 !important;
  }
  
  .mb-5 {
    margin-bottom: 5px !important;
  }
  
  .mb-10 {
    margin-bottom: 10px !important;
  }
  
  .mb-15 {
    margin-bottom: 15px !important;
  }
  
  .mb-20 {
    margin-bottom: 20px !important;
  }
  
  .mb-25 {
    margin-bottom: 25px !important;
  }
  
  .mb-30 {
    margin-bottom: 30px !important;
  }
  
  .mb-40 {
    margin-bottom: 40px !important;
  }
  
  .mb-50 {
    margin-bottom: 50px !important;
  }
  
  .mb-60 {
    margin-bottom: 60px !important;
  }
  
  .mb-auto {
    margin-bottom: auto !important;
  }
  
  .ml-0 {
    margin-left: 0 !important;
  }
  
  .ml-5 {
    margin-left: 5px !important;
  }
  
  .ml-10 {
    margin-left: 10px !important;
  }
  
  .ml-15 {
    margin-left: 15px !important;
  }
  
  .ml-20 {
    margin-left: 20px !important;
  }
  
  .ml-25 {
    margin-left: 25px !important;
  }
  
  .ml-30 {
    margin-left: 30px !important;
  }
  
  .ml-40 {
    margin-left: 40px !important;
  }
  
  .ml-50 {
    margin-left: 50px !important;
  }
  
  .ml-60 {
    margin-left: 60px !important;
  }
  
  .ml-auto {
    margin-left: auto !important;
  }
  
  .p-0 {
    padding: 0 !important;
  }
  
  .p-5 {
    padding: 5px !important;
  }
  
  .p-10 {
    padding: 10px !important;
  }
  
  .p-15 {
    padding: 15px !important;
  }
  
  .p-20 {
    padding: 20px !important;
  }
  
  .p-25 {
    padding: 25px !important;
  }
  
  .p-30 {
    padding: 30px !important;
  }
  
  .p-40 {
    padding: 40px !important;
  }
  
  .p-50 {
    padding: 50px !important;
  }
  
  .p-60 {
    padding: 60px !important;
  }
  
  .px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  
  .px-5 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  
  .px-10 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  
  .px-15 {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
  
  .px-20 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  
  .px-25 {
    padding-right: 25px !important;
    padding-left: 25px !important;
  }
  
  .px-30 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  
  .px-40 {
    padding-right: 40px !important;
    padding-left: 40px !important;
  }
  
  .px-50 {
    padding-right: 50px !important;
    padding-left: 50px !important;
  }
  
  .px-60 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  
  .py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  
  .py-5 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  
  .py-10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  
  .py-15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  
  .py-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  
  .py-25 {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  
  .py-30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  
  .py-40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  
  .py-50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  
  .py-60 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  
  .pt-0 {
    padding-top: 0 !important;
  }
  
  .pt-5 {
    padding-top: 5px !important;
  }
  
  .pt-10 {
    padding-top: 10px !important;
  }
  
  .pt-15 {
    padding-top: 15px !important;
  }
  
  .pt-20 {
    padding-top: 20px !important;
  }
  
  .pt-25 {
    padding-top: 25px !important;
  }
  
  .pt-30 {
    padding-top: 30px !important;
  }
  
  .pt-40 {
    padding-top: 40px !important;
  }
  
  .pt-50 {
    padding-top: 50px !important;
  }
  
  .pt-60 {
    padding-top: 60px !important;
  }
  
  .pr-0 {
    padding-right: 0 !important;
  }
  
  .pr-5 {
    padding-right: 5px !important;
  }
  
  .pr-10 {
    padding-right: 10px !important;
  }
  
  .pr-15 {
    padding-right: 15px !important;
  }
  
  .pr-20 {
    padding-right: 20px !important;
  }
  
  .pr-25 {
    padding-right: 25px !important;
  }
  
  .pr-30 {
    padding-right: 30px !important;
  }
  
  .pr-40 {
    padding-right: 40px !important;
  }
  
  .pr-50 {
    padding-right: 50px !important;
  }
  
  .pr-60 {
    padding-right: 60px !important;
  }
  
  .pb-0 {
    padding-bottom: 0 !important;
  }
  
  .pb-5 {
    padding-bottom: 5px !important;
  }
  
  .pb-10 {
    padding-bottom: 10px !important;
  }
  
  .pb-15 {
    padding-bottom: 15px !important;
  }
  
  .pb-20 {
    padding-bottom: 20px !important;
  }
  
  .pb-25 {
    padding-bottom: 25px !important;
  }
  
  .pb-30 {
    padding-bottom: 30px !important;
  }
  
  .pb-40 {
    padding-bottom: 40px !important;
  }
  
  .pb-50 {
    padding-bottom: 50px !important;
  }
  
  .pb-60 {
    padding-bottom: 60px !important;
  }
  
  .pl-0 {
    padding-left: 0 !important;
  }
  
  .pl-5 {
    padding-left: 5px !important;
  }
  
  .pl-10 {
    padding-left: 10px !important;
  }
  
  .pl-15 {
    padding-left: 15px !important;
  }
  
  .pl-20 {
    padding-left: 20px !important;
  }
  
  .pl-25 {
    padding-left: 25px !important;
  }
  
  .pl-30 {
    padding-left: 30px !important;
  }
  
  .pl-40 {
    padding-left: 40px !important;
  }
  
  .pl-50 {
    padding-left: 50px !important;
  }
  
  .pl-60 {
    padding-left: 60px !important;
  }
  
  .fw-light {
    font-weight: 300 !important;
  }
  
  .fw-lighter {
    font-weight: 100 !important;
  }
  
  .fw-normal {
    font-weight: 400 !important;
  }
  
  .fw-medium {
    font-weight: 500 !important;
  }
  
  .fw-bold {
    font-weight: 700 !important;
  }
  
  .fw-bolder {
    font-weight: 900 !important;
  }
  
  .align-left {

    text-align: left !important;
  }
  
  .align-right {
    text-align: right !important;
  }
  
  .align-center {
    text-align: center !important;
  }
  
  .text-decoration-none {
    text-decoration: none !important;
  }
  
  .text-decoration-underline {
    text-decoration: underline !important;
  }
  
  .text-decoration-line-through {
    text-decoration: line-through !important;
  }
  
  .text-lowercase {
    text-transform: lowercase !important;
  }
  
  .text-uppercase {
    text-transform: uppercase !important;
  }
  
  .text-capitalize {
    text-transform: capitalize !important;
  }
  
  .text-wrap {
    white-space: normal !important;
  }
  
  .text-nowrap {
    white-space: nowrap !important;
  }
  
  .text-black {
    color: #111 !important;
  }
  
  .text-basic {
    color: #333 !important;
  }
  
  .text-cont {
    color: #555 !important;
  }
  
  .text-gray {
    color: #777 !important;
  }
  
  .text-border {
    color: #ddd !important;
  }
  
  .text-point {
    color: #910024 !important;
  }
  
  .text-point2 {
    color: #9a3175 !important;
  }
  
  .text-blur {
    color: #eaeaea !important;
  }
  
  .text-white {
    color: #fff !important;
  }
  
  .text-red {
    color: #a02013 !important;
  }
  
  .text-yellow {
    color: #dea82a !important;
  }
  
  .text-black-50 {
    color: rgba(17, 17, 17, 0.5) !important;
  }
  
  .text-white-50 {
    color: rgba(255, 255, 255, 0.5) !important;
  }

  .text-center{
    text-align: center !important;
  }
  .text-left{
    text-align: left !important;
  }
  .text-right{
    text-align: right !important;
  }
  
  .text-reset {
    color: inherit !important;
  }
  
  .bg-black {
    background-color: #111 !important;
  }
  
  .bg-basic {
    background-color: #222 !important;
  }
  
  .bg-cont {
    background-color: #666 !important;
  }
  
  .bg-gray {
    background-color: #f6f6f6 !important;
  }
  
  .bg-border {
    background-color: #ddd !important;
  }
  
  .bg-point {
    background-color: #ff9515 !important;
  }
  
  .bg-blur {
    background-color: #eee !important;
  }
  
  .bg-white {
    background-color: #fff !important;
  }
  
  .bg-red {
    background-color: #ec1b1b !important;
  }
  
  .bg-yellow {
    background-color: #dea82a !important;
  }
  
  .bg-transparent {
    background-color: transparent !important;
  }
  
  .visible {
    visibility: visible !important;
  }
  
  .invisible {
    visibility: hidden !important;
  }
  
  .half10 {
    width: 10% !important;
  }
  
  .half20 {
    width: 20% !important;
  }
  
  .half25 {
    width: 25% !important;
  }
  
  .half30 {
    width: 30% !important;
  }
  
  .half40 {
    width: 40% !important;
  }
  
  .half {
    width: 50% !important;
  }
  
  .pc_v {
    display: block;
  }
  
  .mo_v {
    display: none;
  }
  
  
  @media screen and (max-width: 767px) {
    .pc_v {
      display: none;
    }
  
    .mo_v {
      display: block;
    }
  }
  
  /* === COMMON MODULES === */
  
/* accordion */
.accordion-wrap {
    position: relative;
}

.accordion-wrap ul.lists {
    border-top: 1px solid #4f4f4f;
}

.accordion-wrap ul.lists > li {
    border-bottom: 1px solid #e5e5e5;
}

.accordion-wrap ul.lists > li:last-child {
    border-bottom: 1px solid #4f4f4f;
}

.accordion-wrap ul.lists > li .accord-title {
    display: block;
    position: relative;
}

.accordion-wrap ul.lists > li .accord-title .btn-toggle {
    display: block;
    position: relative;
    width: 100%;
    padding: 20px 50px 20px 46px;
    text-align: left;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    font-weight: 500;
    word-break: keep-all;
}

@media screen and (max-width: 767px) {
    .accordion-wrap ul.lists > li .accord-title .btn-toggle {
        font-size: 14px;
        line-height: 22px;
    }
}

@media screen and (max-width: 1024px) {
    .accordion-wrap ul.lists > li .accord-title .btn-toggle {
        padding: 15px 50px 15px 38px;
    }
}

.accordion-wrap ul.lists > li .accord-title .btn-toggle::before {
    content: 'Q';
    position: absolute;
    top: 20px;
    left: 20px;
    color: #910024;
    font-size: 24px;
    font-weight: 800;
}

@media screen and (max-width: 1024px) {
    .accordion-wrap ul.lists > li .accord-title .btn-toggle::before {
        top: 15px;
        left: 12px;
        font-size: 20px;
    }
}

.accordion-wrap ul.lists > li .accord-title .btn-toggle::after {
    content: ' ';
    position: absolute;
    top: 50%;
    right: 25px;
    width: 10px;
    height: 10px;
    border: 2px solid #4f4f4f;
    border-top: none;
    border-left: none;
    margin-top: -8px;
    transform: rotate(45deg);
    transition: all 0.2s ease-out;
}

@media screen and (max-width: 1024px) {
    .accordion-wrap ul.lists > li .accord-title .btn-toggle::after {
        right: 17px;
    }
}

.accordion-wrap ul.lists > li.open .accord-title .btn-toggle::after {
    margin-top: -3px;
    transform: rotate(225deg);
}

.accordion-wrap ul.lists > li .accord-cont {
    display: none;
    position: relative;
    padding: 20px;
    padding-left: 66px;
    background: #f6f6f6;
    color: #666;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    word-break: keep-all;
}

@media screen and (max-width: 767px) {
    .accordion-wrap ul.lists > li .accord-cont {
        font-size: 14px;
        line-height: 22px;
    }
}

@media screen and (max-width: 1024px) {
    .accordion-wrap ul.lists > li .accord-cont {
        padding: 15px 20px 15px 58px;
    }
}

.accordion-wrap ul.lists > li .accord-cont::before {
    content: 'A';
    position: absolute;
    top: 20px;
    left: 40px;
    color: #4c7dba;
    font-size: 24px;
    font-weight: 800;
}

@media screen and (max-width: 1024px) {
    .accordion-wrap ul.lists > li .accord-cont::before {
        top: 15px;
        left: 12px;
        font-size: 20px;
    }
}

.terms-accordion ul.lists > li {
    margin-top: 10px;
}

.terms-accordion ul.lists > li:first-child {
    margin-top: 0;
}

.terms-accordion ul.lists > li .accord-title::after {
    content: " ";
    display: block;
    clear: both;
}

.terms-accordion ul.lists > li .accord-title .chk-wrap {
    float: left;
}

.terms-accordion ul.lists > li .accord-title .chk-wrap input + label {
    color: #333;
    font-weight: 500;
}

.terms-accordion ul.lists > li .accord-title .chk-wrap input + label em {
    color: #4c7dba;
}

.terms-accordion ul.lists > li .accord-title .btn-toggle {
    float: right;
    position: relative;
    display: block;
    padding-right: 18px;
    color: #666;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    line-height: 24px !important;
    font-weight: 500;
}

@media screen and (max-width: 767px) {
    .terms-accordion ul.lists > li .accord-title .btn-toggle {
        font-size: 14px;
        line-height: 22px;
    }
}

.terms-accordion ul.lists > li .accord-title .btn-toggle::after {
    content: ' ';
    position: absolute;
    right: 2px;
    top: 50%;
    margin-top: -6px;
    width: 8px;
    height: 8px;
    border: 2px solid #666;
    border-top: none;
    border-right: none;
    transform: rotate(-45deg);
    transition: all 0.2s ease-out;
}

.terms-accordion ul.lists > li.open .accord-title .btn-toggle::after {
    transform: rotate(135deg);
    margin-top: -2px;
}

.terms-accordion ul.lists > li .accord-cont {
    display: none;
    margin-top: 10px;
}

/* board */
.boardview-wrap .board-head {
    padding: 0 12px 15px;
    border-bottom: 1px solid #e5e5e5;
}

.boardview-wrap .board-head .tit {
    font-size: 30px;
    line-height: 40px;
    letter-spacing: -1.5px;
    font-weight: 700;
}

@media screen and (max-width: 1024px) {
    .boardview-wrap .board-head .tit {
        font-size: 28px;
        line-height: 36px;
    }
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-head .tit {
        font-size: 24px;
        line-height: 31px;
    }
}

.boardview-wrap .board-head .info {
    margin-top: 10px;
    font-size: 0;
}

.boardview-wrap .board-head .info li {
    display: inline-block;
    vertical-align: middle;
    margin-left: 30px;
    color: #969696;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-head .info li {
        font-size: 14px;
        line-height: 22px;
    }
}

.boardview-wrap .board-head .info li:first-child {
    margin-left: 0;
}

.boardview-wrap .board-content {
    padding-top: 40px;
    border-bottom: 1px solid #e5e5e5;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-content {
        padding-top: 30px;
    }
}

.boardview-wrap .board-content .img {
    margin: 60px 0;
}

@media screen and (max-width: 1024px) {
    .boardview-wrap .board-content .img {
        margin: 50px 0;
    }
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-content .img {
        margin: 30px 0;
    }
}

.boardview-wrap .board-content .img:first-child {
    margin-top: 0;
}

.boardview-wrap .board-content .cont {
    padding: 0 12px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    color: #666;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-content .cont {
        font-size: 14px;
        line-height: 22px;
    }
}

.boardview-wrap .board-content .cont:last-child {
    padding-bottom: 60px;
}

@media screen and (max-width: 1024px) {
    .boardview-wrap .board-content .cont:last-child {
        padding-bottom: 50px;
    }
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-content .cont:last-child {
        padding-bottom: 30px;
    }
}

.boardview-wrap .board-content .files {
    margin-top: 60px;
    padding: 20px 12px;
    border-top: 1px solid #e5e5e5;
}

.boardview-wrap .board-content .files::after {
    content: " ";
    display: block;
    clear: both;
}

@media screen and (max-width: 1024px) {
    .boardview-wrap .board-content .files {
        margin-top: 50px;
    }
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-content .files {
        margin-top: 30px;
    }
}

.boardview-wrap .board-content .files .tit {
    float: left;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    color: #111;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-content .files .tit {
        font-size: 14px;
        line-height: 22px;
    }
}

.boardview-wrap .board-content .files .file-lists {
    margin-left: 100px;
    padding: 1px 0;
    font-size: 0;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-content .files .file-lists {
        margin-left: 80px;
        padding: 0;
    }
}

.boardview-wrap .board-content .files .file-lists li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-content .files .file-lists li {
        display: block;
        margin-top: 5px;
    }
    .boardview-wrap .board-content .files .file-lists li:first-child {
        margin-top: 0;
    }
}

.boardview-wrap .board-content .files .file-lists li a {
    display: block;
    font-size: 14px;
    line-height: 22px;
    color: #969696;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-content .files .file-lists li a {
        font-size: 13px;
    }
}

@media screen and (min-width: 1025px) {
    .boardview-wrap .board-content .files .file-lists li a:hover {
        text-decoration: underline;
    }
}

.boardview-wrap .board-foot {
    margin-top: 60px;
    position: relative;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .boardview-wrap .board-foot {
        margin-top: 50px;
    }
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot {
        margin-top: 40px;
    }
}

.boardview-wrap .board-foot .more-view .prev,
.boardview-wrap .board-foot .more-view .next {
    position: absolute;
    top: 50%;
    width: 40%;
    transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot .more-view .prev,
    .boardview-wrap .board-foot .more-view .next {
        width: calc((100% - 40px) / 2);
    }
}

.boardview-wrap .board-foot .more-view .prev::before,
.boardview-wrap .board-foot .more-view .next::before {
    content: ' ';
    position: absolute;
    top: 50%;
    width: 20px;
    height: 20px;
    margin-top: -9px;
    border: 2px solid #666;
    transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot .more-view .prev::before,
    .boardview-wrap .board-foot .more-view .next::before {
        width: 12px;
        height: 12px;
        margin-top: -6px;
    }
}

.boardview-wrap .board-foot .more-view .prev dl,
.boardview-wrap .board-foot .more-view .next dl {
    display: flex;
    align-items: center;
    width: 100%;
}

.boardview-wrap .board-foot .more-view .prev dl dt,
.boardview-wrap .board-foot .more-view .next dl dt {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    color: #4f4f4f;
    font-weight: 500;
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot .more-view .prev dl dt,
    .boardview-wrap .board-foot .more-view .next dl dt {
        font-size: 14px;
        line-height: 22px;
    }
}

.boardview-wrap .board-foot .more-view .prev dl dd,
.boardview-wrap .board-foot .more-view .next dl dd {
    padding: 0 20px;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot .more-view .prev dl dd,
    .boardview-wrap .board-foot .more-view .next dl dd {
        padding: 0 12px;
    }
}

.boardview-wrap .board-foot .more-view .prev dl dd a,
.boardview-wrap .board-foot .more-view .next dl dd a {
    display: inline-block;
    vertical-align: middle;
    max-width: 100%;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    color: #969696;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: keep-all;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot .more-view .prev dl dd a,
    .boardview-wrap .board-foot .more-view .next dl dd a {
        font-size: 14px;
        line-height: 22px;
    }
}

.boardview-wrap .board-foot .more-view .prev dl dd a:hover,
.boardview-wrap .board-foot .more-view .next dl dd a:hover {
    text-decoration: underline;
}

.boardview-wrap .board-foot .more-view .prev {
    left: 0;
    padding-left: 50px;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot .more-view .prev {
        padding-left: 20px;
    }
}

.boardview-wrap .board-foot .more-view .prev::before {
    left: 6px;
    border-top: none;
    border-right: none;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot .more-view .prev::before {
        left: 3px;
    }
}

.boardview-wrap .board-foot .more-view .next {
    right: 0;
    padding-right: 50px;
    text-align: right;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot .more-view .next {
        padding-right: 20px;
    }
}

.boardview-wrap .board-foot .more-view .next::before {
    right: 6px;
    border-left: none;
    border-bottom: none;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot .more-view .next::before {
        right: 3px;
    }
}

.boardview-wrap .board-foot .more-view .next dl {
    flex-direction: row-reverse;
}

.boardview-wrap .board-foot .btn-to-list {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 50px;
    height: 50px;
    border: 1px solid #910024;
}

@media screen and (max-width: 767px) {
    .boardview-wrap .board-foot .btn-to-list {
        width: 36px;
        height: 36px;
    }
}

.boardview-wrap .board-foot .btn-to-list::before {
    content: ' ';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 11px;
    margin-left: -8px;
    margin-top: -5px;
    border-top: 1px solid #910024;
    border-bottom: 1px solid #910024;
}

.boardview-wrap .board-foot .btn-to-list::after {
    content: ' ';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 1px;
    margin-left: -8px;
    background: #910024;
}

.boardview-wrap.qna-type .board-head .tit {
    padding-left: 26px;
    font-size: 22px;
    line-height: 30px;
    letter-spacing: -1px;
}

@media screen and (max-width: 767px) {
    .boardview-wrap.qna-type .board-head .tit {
        font-size: 20px;
        line-height: 28px;
    }
}

.boardview-wrap.qna-type .board-head .info li {
    font-size: 14px;
    line-height: 22px;
}

@media screen and (max-width: 767px) {
    .boardview-wrap.qna-type .board-head .info li {
        font-size: 13px;
    }
}

.boardview-wrap.qna-type .q-box .board-head .tit::before {
    content: 'Q';
    display: inline-block;
    vertical-align: top;
    width: 26px;
    margin-left: -26px;
    font-weight: 900;
    color: #4c7dba;
}

.boardview-wrap.qna-type .a-box .board-head {
    padding-top: 15px;
    background: #f6f6f6;
}

.boardview-wrap.qna-type .a-box .board-head .tit::before {
    content: 'A';
    display: inline-block;
    vertical-align: top;
    width: 26px;
    margin-left: -26px;
    font-weight: 900;
    color: #e11919;
}

/* button */
.btn {
    display: inline-block;
    vertical-align: top;
    height: 40px;
    border: 1px solid #666;
    padding: 0 20px;
    background: #fff;
    cursor: pointer;
    text-align: center;
    color: #333;
    font-size: 14px;
    line-height: 22px;
    line-height: 38px !important;
}

@media screen and (max-width: 767px) {
    .btn {
        font-size: 13px;
    }
}

.btn > span {
    display: inline-block;
    vertical-align: top;
}

.btn.dk {
    background: #4f4f4f;
    border-color: #4f4f4f;
    color: #fff;
}

.btn.gray {
    color: #4f4f4f;
    background: #efefef;
    border-color: #e5e5e5;
}

.btn.cont {
    background: #666;
    color: #fff;
    border-color: #666;
}

.btn.blue {
    background: #4c7dba;
    color: #fff;
    border-color: #4c7dba;
}

.btn.small {
    min-width: 72px;
    padding: 0 5px;
    height: 27px;
    line-height: 25px !important;
    border-radius: 2px;
    font-size: 14px;
}

.btn-wrap {
    margin-top: 50px;
    text-align: center;
    font-size: 0;
}

.btn-wrap .btn {
    width: 180px;
    height: 50px;
    border-radius: 4px;
    margin-left: 10px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    line-height: 48px !important;
    font-weight: 500;
}

@media screen and (max-width: 767px) {
    .btn-wrap .btn {
        font-size: 14px;
        line-height: 22px;
    }
}

.btn-wrap .btn:first-child {
    margin-left: 0;
}

@media screen and (max-width: 767px) {
    .btn-wrap {
        margin-top: 30px;
    }
    .btn-wrap .btn {
        width: calc((100% - 5px) / 2);
        height: 44px;
        margin-left: 5px;
        line-height: 42px !important;
    }
    .btn-wrap .btn:first-child {
        margin-left: 0;
    }
    .btn-wrap.size3 .btn {
        width: calc((100% - 10px) / 3);
    }
}

.btns {
    font-size: 0;
}

.btns .btn {
    margin-left: 5px;
}

.btns .btn:first-child {
    margin-left: 0;
}

/* datepicker */
.datepicker--cell-day.-other-month-,
.datepicker--cell-year.-other-decade- {
    color: #dedede;
}

.datepicker--cell-day.-other-month-:hover,
.datepicker--cell-year.-other-decade-:hover {
    color: #c5c5c5;
}

.-disabled-.-focus-.datepicker--cell-day.-other-month-,
.-disabled-.-focus-.datepicker--cell-year.-other-decade- {
    color: #dedede;
}

.-selected-.datepicker--cell-day.-other-month-,
.-selected-.datepicker--cell-year.-other-decade- {
    color: #fff;
    background: #a2ddf6;
}

.-selected-.-focus-.datepicker--cell-day.-other-month-,
.-selected-.-focus-.datepicker--cell-year.-other-decade- {
    background: #8ad5f4;
}

.-in-range-.datepicker--cell-day.-other-month-,
.-in-range-.datepicker--cell-year.-other-decade- {
    background-color: rgba(92, 196, 239, 0.1);
    color: #cccccc;
}

.-in-range-.-focus-.datepicker--cell-day.-other-month-,
.-in-range-.-focus-.datepicker--cell-year.-other-decade- {
    background-color: rgba(92, 196, 239, 0.2);
}

.datepicker--cell-day.-other-month-:empty,
.datepicker--cell-year.-other-decade-:empty {
    background: none;
    border: none;
}

/* -------------------------------------------------
      Datepicker cells
     ------------------------------------------------- */
.datepicker--cells {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.datepicker--cell {
    border-radius: 4px;
    box-sizing: border-box;
    cursor: pointer;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #666;
    font-size: 14px;
    height: 32px;
    z-index: 1;
}

.datepicker--cell.-focus- {
    background: #f0f0f0;
}

.datepicker--cell.-current- {
    color: #333;
    background: #e5e5e5;
}

.datepicker--cell.-current-.-focus- {
    color: #333;
}

.datepicker--cell.-current-.-in-range- {
    color: #4eb5e6;
}

.datepicker--cell.-in-range- {
    background: rgba(92, 196, 239, 0.1);
    color: #333;
    border-radius: 0;
}

.datepicker--cell.-in-range-.-focus- {
    background-color: rgba(92, 196, 239, 0.2);
}

.datepicker--cell.-disabled- {
    cursor: default;
    color: #aeaeae;
}

.datepicker--cell.-disabled-.-focus- {
    color: #aeaeae;
}

.datepicker--cell.-disabled-.-in-range- {
    color: #a1a1a1;
}

.datepicker--cell.-disabled-.-current-.-focus- {
    color: #aeaeae;
}

.datepicker--cell.-range-from- {
    border: 1px solid rgba(92, 196, 239, 0.5);
    background-color: rgba(92, 196, 239, 0.1);
    border-radius: 4px 0 0 4px;
}

.datepicker--cell.-range-to- {
    border: 1px solid rgba(92, 196, 239, 0.5);
    background-color: rgba(92, 196, 239, 0.1);
    border-radius: 0 4px 4px 0;
}

.datepicker--cell.-range-from-.-range-to- {
    border-radius: 4px;
}

.datepicker--cell.-selected- {
    color: #fff;
    border: none;
    background: #ffc837;
}

.datepicker--cell.-selected-.-current- {
    color: #fff;
    background: #ffc837;
}

.datepicker--cell.-selected-.-focus- {
    background: #ffc837;
}

.datepicker--cell:empty {
    cursor: default;
}

.datepicker--days-names {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 8px 0 3px;
}

.datepicker--day-name {
    color: #ff9a19;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.8em;
}

.datepicker--cell-day {
    width: 14.28571%;
}

.datepicker--cells-months {
    height: 170px;
}

.datepicker--cell-month {
    width: 33.33%;
    height: 25%;
}

.datepicker--years {
    height: 170px;
}

.datepicker--cells-years {
    height: 170px;
}

.datepicker--cell-year {
    width: 25%;
    height: 33.33%;
}

.datepicker--cell-day.-other-month-,
.datepicker--cell-year.-other-decade- {
    color: #dedede;
}

.datepicker--cell-day.-other-month-:hover,
.datepicker--cell-year.-other-decade-:hover {
    color: #c5c5c5;
}

.-disabled-.-focus-.datepicker--cell-day.-other-month-,
.-disabled-.-focus-.datepicker--cell-year.-other-decade- {
    color: #dedede;
}

.-selected-.datepicker--cell-day.-other-month-,
.-selected-.datepicker--cell-year.-other-decade- {
    color: #fff;
    background: #a2ddf6;
}

.-selected-.-focus-.datepicker--cell-day.-other-month-,
.-selected-.-focus-.datepicker--cell-year.-other-decade- {
    background: #8ad5f4;
}

.-in-range-.datepicker--cell-day.-other-month-,
.-in-range-.datepicker--cell-year.-other-decade- {
    background-color: rgba(92, 196, 239, 0.1);
    color: #cccccc;
}

.-in-range-.-focus-.datepicker--cell-day.-other-month-,
.-in-range-.-focus-.datepicker--cell-year.-other-decade- {
    background-color: rgba(92, 196, 239, 0.2);
}

.datepicker--cell-day.-other-month-:empty,
.datepicker--cell-year.-other-decade-:empty {
    background: none;
    border: none;
}

/* -------------------------------------------------
      Datepicker
     ------------------------------------------------- */
.datepickers-container {
    position: absolute;
    left: 0;
    top: 0;
}

@media print {
    .datepickers-container {
        display: none;
    }
}

.datepicker {
    background: #fff;
    border: 1px solid #dbdbdb;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-sizing: content-box;
    font-family: inherit;
    transform: skew(-0.05deg) !important;
    color: #333;
    width: 250px;
    position: absolute;
    left: -100000px;
    opacity: 0;
    transition: opacity 0.3s ease, left 0s 0.3s, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0.3s;
    transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0.3s, -webkit-transform 0.3s ease;
    z-index: 100;
}

.datepicker.-from-top- {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
}

.datepicker.-from-right- {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
}

.datepicker.-from-bottom- {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
}

.datepicker.-from-left- {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px);
}

.datepicker.active {
    opacity: 1;
    -webkit-transform: translate(0);
    transform: translate(0);
    transition: opacity 0.3s ease, left 0s 0s, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0s;
    transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0s, -webkit-transform 0.3s ease;
}

.datepicker-inline .datepicker {
    border-color: #d7d7d7;
    box-shadow: none;
    position: static;
    left: auto;
    right: auto;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
}

.datepicker-inline .datepicker--pointer {
    display: none;
}

.datepicker--content {
    box-sizing: content-box;
    padding: 4px;
}

.-only-timepicker- .datepicker--content {
    display: none;
}

.datepicker--pointer {
    position: absolute;
    background: #fff;
    border-top: 1px solid #dbdbdb;
    border-right: 1px solid #dbdbdb;
    width: 10px;
    height: 10px;
    z-index: -1;
}

.-top-left- .datepicker--pointer,
.-top-center- .datepicker--pointer,
.-top-right- .datepicker--pointer {
    top: calc(100% - 4px);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.-right-top- .datepicker--pointer,
.-right-center- .datepicker--pointer,
.-right-bottom- .datepicker--pointer {
    right: calc(100% - 4px);
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

.-bottom-left- .datepicker--pointer,
.-bottom-center- .datepicker--pointer,
.-bottom-right- .datepicker--pointer {
    bottom: calc(100% - 4px);
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
}

.-left-top- .datepicker--pointer,
.-left-center- .datepicker--pointer,
.-left-bottom- .datepicker--pointer {
    left: calc(100% - 4px);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.-top-left- .datepicker--pointer,
.-bottom-left- .datepicker--pointer {
    left: 10px;
}

.-top-right- .datepicker--pointer,
.-bottom-right- .datepicker--pointer {
    right: 10px;
}

.-top-center- .datepicker--pointer,
.-bottom-center- .datepicker--pointer {
    left: calc(50% - 10px / 2);
}

.-left-top- .datepicker--pointer,
.-right-top- .datepicker--pointer {
    top: 10px;
}

.-left-bottom- .datepicker--pointer,
.-right-bottom- .datepicker--pointer {
    bottom: 10px;
}

.-left-center- .datepicker--pointer,
.-right-center- .datepicker--pointer {
    top: calc(50% - 10px / 2);
}

.datepicker--body {
    display: none;
}

.datepicker--body.active {
    display: block;
}

.datepicker--cell-day.-other-month-,
.datepicker--cell-year.-other-decade- {
    color: #dedede;
}

.datepicker--cell-day.-other-month-:hover,
.datepicker--cell-year.-other-decade-:hover {
    color: #c5c5c5;
}

.-disabled-.-focus-.datepicker--cell-day.-other-month-,
.-disabled-.-focus-.datepicker--cell-year.-other-decade- {
    color: #dedede;
}

.-selected-.datepicker--cell-day.-other-month-,
.-selected-.datepicker--cell-year.-other-decade- {
    color: #fff;
    background: #a2ddf6;
}

.-selected-.-focus-.datepicker--cell-day.-other-month-,
.-selected-.-focus-.datepicker--cell-year.-other-decade- {
    background: #8ad5f4;
}

.-in-range-.datepicker--cell-day.-other-month-,
.-in-range-.datepicker--cell-year.-other-decade- {
    background-color: rgba(92, 196, 239, 0.1);
    color: #cccccc;
}

.-in-range-.-focus-.datepicker--cell-day.-other-month-,
.-in-range-.-focus-.datepicker--cell-year.-other-decade- {
    background-color: rgba(92, 196, 239, 0.2);
}

.datepicker--cell-day.-other-month-:empty,
.datepicker--cell-year.-other-decade-:empty {
    background: none;
    border: none;
}

/* -------------------------------------------------
      Navigation
     ------------------------------------------------- */
.datepicker--nav {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-bottom: 1px solid #efefef;
    min-height: 32px;
    padding: 4px;
}

.-only-timepicker- .datepicker--nav {
    display: none;
}

.datepicker--nav-title,
.datepicker--nav-action {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    cursor: pointer;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #333;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
}

@media screen and (max-width: 767px) {
    .datepicker--nav-title,
    .datepicker--nav-action {
        font-size: 14px;
        line-height: 22px;
    }
}

.datepicker--nav-action {
    width: 32px;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.datepicker--nav-action:hover {
    background: #f0f0f0;
}

.datepicker--nav-action.-disabled- {
    visibility: hidden;
}

.datepicker--nav-action svg {
    width: 32px;
    height: 32px;
}

.datepicker--nav-action path {
    fill: none;
    stroke: #9c9c9c;
    stroke-width: 2px;
}

.datepicker--nav-title {
    border-radius: 4px;
    padding: 0 8px;
}

.datepicker--nav-title i {
    font-style: normal;
    color: #9c9c9c;
    margin-left: 5px;
}

.datepicker--nav-title:hover {
    background: #f0f0f0;
}

.datepicker--nav-title.-disabled- {
    cursor: default;
    background: none;
}

.datepicker--buttons {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 4px;
    border-top: 1px solid #efefef;
}

.datepicker--button {
    color: #4eb5e6;
    cursor: pointer;
    border-radius: 4px;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 32px;
}

.datepicker--button:hover {
    color: #333;
    background: #f0f0f0;
}

.datepicker--cell-day.-other-month-,
.datepicker--cell-year.-other-decade- {
    color: #dedede;
}

.datepicker--cell-day.-other-month-:hover,
.datepicker--cell-year.-other-decade-:hover {
    color: #c5c5c5;
}

.-disabled-.-focus-.datepicker--cell-day.-other-month-,
.-disabled-.-focus-.datepicker--cell-year.-other-decade- {
    color: #dedede;
}

.-selected-.datepicker--cell-day.-other-month-,
.-selected-.datepicker--cell-year.-other-decade- {
    color: #fff;
    background: #a2ddf6;
}

.-selected-.-focus-.datepicker--cell-day.-other-month-,
.-selected-.-focus-.datepicker--cell-year.-other-decade- {
    background: #8ad5f4;
}

.-in-range-.datepicker--cell-day.-other-month-,
.-in-range-.datepicker--cell-year.-other-decade- {
    background-color: rgba(92, 196, 239, 0.1);
    color: #cccccc;
}

.-in-range-.-focus-.datepicker--cell-day.-other-month-,
.-in-range-.-focus-.datepicker--cell-year.-other-decade- {
    background-color: rgba(92, 196, 239, 0.2);
}

.datepicker--cell-day.-other-month-:empty,
.datepicker--cell-year.-other-decade-:empty {
    background: none;
    border: none;
}

/* -------------------------------------------------
      Timepicker
     ------------------------------------------------- */
.datepicker--time {
    border-top: 1px solid #efefef;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 4px;
    position: relative;
}

.datepicker--time.-am-pm- .datepicker--time-sliders {
    -webkit-flex: 0 1 138px;
    -ms-flex: 0 1 138px;
    flex: 0 1 138px;
    max-width: 138px;
}

.-only-timepicker- .datepicker--time {
    border-top: none;
}

.datepicker--time-sliders {
    -webkit-flex: 0 1 153px;
    -ms-flex: 0 1 153px;
    flex: 0 1 153px;
    margin-right: 10px;
    max-width: 153px;
}

.datepicker--time-label {
    display: none;
    font-size: 12px;
}

.datepicker--time-current {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 14px;
    text-align: center;
    margin: 0 0 0 10px;
}

.datepicker--time-current-colon {
    margin: 0 2px 3px;
    line-height: 1;
}

.datepicker--time-current-hours,
.datepicker--time-current-minutes {
    line-height: 1;
    font-size: 19px;
    font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
    position: relative;
    z-index: 1;
}

.datepicker--time-current-hours:after,
.datepicker--time-current-minutes:after {
    content: "";
    background: #f0f0f0;
    border-radius: 4px;
    position: absolute;
    left: -2px;
    top: -3px;
    right: -2px;
    bottom: -2px;
    z-index: -1;
    opacity: 0;
}

.datepicker--time-current-hours.-focus-:after,
.datepicker--time-current-minutes.-focus-:after {
    opacity: 1;
}

.datepicker--time-current-ampm {
    text-transform: uppercase;
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
    color: #9c9c9c;
    margin-left: 6px;
    font-size: 11px;
    margin-bottom: 1px;
}

.datepicker--time-row {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 11px;
    height: 17px;
    background: linear-gradient(to right, #dedede, #dedede) left 50%/100% 1px no-repeat;
}

.datepicker--time-row:first-child {
    margin-bottom: 4px;
}

.datepicker--time-row input[type="range"] {
    background: none;
    cursor: pointer;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    height: 100%;
    padding: 0;
    margin: 0;
    -webkit-appearance: none;
}

.datepicker--time-row input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
}

.datepicker--time-row input[type="range"]::-ms-tooltip {
    display: none;
}

.datepicker--time-row input[type="range"]:hover::-webkit-slider-thumb {
    border-color: #b8b8b8;
}

.datepicker--time-row input[type="range"]:hover::-moz-range-thumb {
    border-color: #b8b8b8;
}

.datepicker--time-row input[type="range"]:hover::-ms-thumb {
    border-color: #b8b8b8;
}

.datepicker--time-row input[type="range"]:focus {
    outline: none;
}

.datepicker--time-row input[type="range"]:focus::-webkit-slider-thumb {
    background: #5cc4ef;
    border-color: #5cc4ef;
}

.datepicker--time-row input[type="range"]:focus::-moz-range-thumb {
    background: #5cc4ef;
    border-color: #5cc4ef;
}

.datepicker--time-row input[type="range"]:focus::-ms-thumb {
    background: #5cc4ef;
    border-color: #5cc4ef;
}

.datepicker--time-row input[type="range"]::-webkit-slider-thumb {
    box-sizing: border-box;
    height: 12px;
    width: 12px;
    border-radius: 3px;
    border: 1px solid #dedede;
    background: #fff;
    cursor: pointer;
    transition: background 0.2s;
}

.datepicker--time-row input[type="range"]::-moz-range-thumb {
    box-sizing: border-box;
    height: 12px;
    width: 12px;
    border-radius: 3px;
    border: 1px solid #dedede;
    background: #fff;
    cursor: pointer;
    transition: background 0.2s;
}

.datepicker--time-row input[type="range"]::-ms-thumb {
    box-sizing: border-box;
    height: 12px;
    width: 12px;
    border-radius: 3px;
    border: 1px solid #dedede;
    background: #fff;
    cursor: pointer;
    transition: background 0.2s;
}

.datepicker--time-row input[type="range"]::-webkit-slider-thumb {
    margin-top: -6px;
}

.datepicker--time-row input[type="range"]::-webkit-slider-runnable-track {
    border: none;
    height: 1px;
    cursor: pointer;
    color: transparent;
    background: transparent;
}

.datepicker--time-row input[type="range"]::-moz-range-track {
    border: none;
    height: 1px;
    cursor: pointer;
    color: transparent;
    background: transparent;
}

.datepicker--time-row input[type="range"]::-ms-track {
    border: none;
    height: 1px;
    cursor: pointer;
    color: transparent;
    background: transparent;
}

.datepicker--time-row input[type="range"]::-ms-fill-lower {
    background: transparent;
}

.datepicker--time-row input[type="range"]::-ms-fill-upper {
    background: transparent;
}

.datepicker--time-row span {
    padding: 0 12px;
}

.datepicker--time-icon {
    color: #9c9c9c;
    border: 1px solid;
    border-radius: 50%;
    font-size: 16px;
    position: relative;
    margin: 0 5px -1px 0;
    width: 1em;
    height: 1em;
}

.datepicker--time-icon:after,
.datepicker--time-icon:before {
    content: "";
    background: currentColor;
    position: absolute;
}

.datepicker--time-icon:after {
    height: 0.4em;
    width: 1px;
    left: calc(50% - 1px);
    top: calc(50% + 1px);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

.datepicker--time-icon:before {
    width: 0.4em;
    height: 1px;
    top: calc(50% + 1px);
    left: calc(50% - 1px);
}

.datepicker--cell-day.-other-month-,
.datepicker--cell-year.-other-decade- {
    color: #dedede;
}

.datepicker--cell-day.-other-month-:hover,
.datepicker--cell-year.-other-decade-:hover {
    color: #c5c5c5;
}

.-disabled-.-focus-.datepicker--cell-day.-other-month-,
.-disabled-.-focus-.datepicker--cell-year.-other-decade- {
    color: #dedede;
}

.-selected-.datepicker--cell-day.-other-month-,
.-selected-.datepicker--cell-year.-other-decade- {
    color: #fff;
    background: #a2ddf6;
}

.-selected-.-focus-.datepicker--cell-day.-other-month-,
.-selected-.-focus-.datepicker--cell-year.-other-decade- {
    background: #8ad5f4;
}

.-in-range-.datepicker--cell-day.-other-month-,
.-in-range-.datepicker--cell-year.-other-decade- {
    background-color: rgba(92, 196, 239, 0.1);
    color: #cccccc;
}

.-in-range-.-focus-.datepicker--cell-day.-other-month-,
.-in-range-.-focus-.datepicker--cell-year.-other-decade- {
    background-color: rgba(92, 196, 239, 0.2);
}

.datepicker--cell-day.-other-month-:empty,
.datepicker--cell-year.-other-decade-:empty {
    background: none;
    border: none;
}

.datepicker-wrap {
    position: relative;
    max-width: 290px;
    background: #fff;
}

.datepicker-wrap .input-wrap {
    position: relative;
    width: 100%;
    z-index: 10;
}

.datepicker-wrap .input-wrap input,
.datepicker-wrap .input-wrap input:read-only {
    padding-right: 40px;
    background: transparent;
    color: #333;
    cursor: pointer;
}

.datepicker-wrap .btn-cal {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 36px;
    background: url("/images/icon/icon-cal.png") center no-repeat;
}

/* dropdown */
.dropdown {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 222px;
    border: 1px solid #555867;
}

.dropdown button.btn-toggle {
    display: block;
    position: relative;
    width: 100%;
    padding: 0 40px 0 15px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 13px;
    line-height: 30px;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: keep-all;
    overflow: hidden;
}

.dropdown button.btn-toggle::after {
    content: ' ';
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -3px;
    border-top: 6px solid #555867;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}

.dropdown .lists {
    display: none;
    position: absolute;
    top: 100%;
    left: -1px;
    right: -1px;
    border: 1px solid #5f6775;
    background: #2c394f;
    z-index: 10;
}

.dropdown .lists li {
    border-top: 1px dashed #5f6775;
}

.dropdown .lists li:first-child {
    border-top: none;
}

.dropdown .lists li a {
    display: block;
    padding: 0 15px;
    color: rgba(255, 255, 255, 0.5);
    font-family: "Noto Sans KR" !important;
    font-size: 13px;
    line-height: 30px;
}

.dropdown.open button.btn-toggle::after {
    transform: rotate(180deg);
}

.dropdown.open .lists {
    display: block;
}

.dropdown.dropup .lists {
    top: auto;
    bottom: 100%;
}

/* filter */
.list-filter {
    padding: 25px 30px;
    background: #f6f6f6;
}

.list-filter::after {
    content: " ";
    display: block;
    clear: both;
}

@media screen and (max-width: 1024px) {
    .list-filter {
        padding: 25px 20px;
    }
}

@media screen and (max-width: 767px) {
    .list-filter {
        padding: 20px 12px;
    }
}

.list-filter .search-wrap {
    float: right;
    width: 70%;
    max-width: 398px;
}

.list-filter .search-wrap::after {
    content: " ";
    display: block;
    clear: both;
}

.list-filter .search-wrap .selectbox-wrap {
    float: left;
    width: 42.211055%;
}

.list-filter .search-wrap .input-area {
    float: right;
    position: relative;
    width: 57.035176%;
    padding-right: 36px;
    border: 1px solid #e4e4e4;
    background: #fff;
}

.list-filter .search-wrap .input-area .input-wrap {
    width: 100%;
}

.list-filter .search-wrap .input-area .input-wrap input {
    height: 38px;
    border: none;
}

.list-filter .search-wrap .input-area .btn-search {
    position: absolute;
    top: 0;
    right: 0;
    width: 36px;
    height: 38px;
    background: url("/images/icon/icon-search.gif") center no-repeat;
}

.list-filter .search-wrap .input-area.type2 {
    width: 100%;
}

.list-filter .sort-wrap {
    float: left;
    width: 25%;
    max-width: 170px;
}

.list-filter .total {
    float: left;
    color: #666;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    line-height: 40px !important;
}

@media screen and (max-width: 767px) {
    .list-filter .total {
        font-size: 14px;
        line-height: 22px;
    }
}

.list-filter .total em {
    color: #4c7dba;
    font-weight: 500;
}

/* date sorting */
.date-sorting-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 35px 0 40px;
}

@media screen and (max-width: 767px) {
    .date-sorting-wrap {
        display: block;
    }
}

.date-sorting-wrap .date {
    width: calc((100% - 30px) / 2);
    max-width: 500px;
}

.date-sorting-wrap .date::after {
    content: " ";
    display: block;
    clear: both;
}

@media screen and (max-width: 767px) {
    .date-sorting-wrap .date {
        width: 100%;
        max-width: 100%;
    }
}

.date-sorting-wrap .date .tit {
    float: left;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    line-height: 38px !important;
}

@media screen and (max-width: 767px) {
    .date-sorting-wrap .date .tit {
        font-size: 14px;
        line-height: 22px;
    }
}

.date-sorting-wrap .date .calendar {
    margin-left: 90px;
    font-size: 0;
}

.date-sorting-wrap .date .calendar .cal,
.date-sorting-wrap .date .calendar .bar {
    display: inline-block;
    vertical-align: middle;
}

.date-sorting-wrap .date .calendar .cal {
    position: relative;
    width: calc((100% - 15px) / 2);
}

.date-sorting-wrap .date .calendar .cal input {
    position: relative;
    width: 100%;
    height: 38px;
    padding: 6px 10px;
    padding-right: 50px;
    border: 1px solid #e5e5e5;
    background: transparent;
    color: #666;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    line-height: 24px !important;
    cursor: pointer;
    z-index: 10;
}

@media screen and (max-width: 767px) {
    .date-sorting-wrap .date .calendar .cal input {
        font-size: 14px;
        line-height: 22px;
    }
}

.date-sorting-wrap .date .calendar .cal input:focus {
    outline: none;
}

.date-sorting-wrap .date .calendar .cal .cal-icon {
    position: absolute;
    top: 0;
    right: 6px;
    bottom: 0;
    width: 28px;
    height: 38px;
    background: url("/images/icon/icon-cal.png") center no-repeat;
}

.date-sorting-wrap .date .calendar .bar {
    width: 15px;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
}

.date-sorting-wrap .period {
    max-width: 420px;
    width: calc((100% - 30px) / 2);
    margin-left: 30px;
    font-size: 0;
}

@media screen and (max-width: 767px) {
    .date-sorting-wrap .period {
        max-width: 100%;
        width: 100%;
        margin-left: 0;
        margin-top: 10px;
    }
}

.date-sorting-wrap .period .rdo-btn-wrap {
    width: calc((100% - 30px) / 4);
    margin-left: 10px;
}

@media screen and (max-width: 767px) {
    .date-sorting-wrap .period .rdo-btn-wrap {
        width: calc((100% - 15px) / 4);
        margin-left: 5px;
    }
}

.date-sorting-wrap .period .rdo-btn-wrap:first-child {
    margin-left: 0;
}

/* flag */
.flag {
    display: inline-block;
    vertical-align: middle;
    min-width: 50px;
    height: 22px;
    border-radius: 3px;
    padding: 0 5px;
    font-size: 13px;
    line-height: 22px;
}

.flag.point {
    background: #ffc837;
    color: #fff;
}

.flag.black {
    background: #111;
    color: #fff;
}

.flag.blue {
    background: #4c7dba;
    color: #fff;
}

.flag.red {
    background: #e11919;
    color: #fff;
}

/* input, forms */
.input-wrap {
    display: inline-block;
    vertical-align: top;
}

.input-wrap.block {
    display: block;
}

.input-wrap input {
    width: 100%;
    height: 40px;
    border: 1px solid #e5e5e5;
    background: #fff;
    padding: 7px 10px;
    color: #666;
    font-size: 16px;
    line-height: 24px;
}

@media screen and (max-width: 1024px) {
    .input-wrap input {
        font-size: 14px;
    }
}

.input-wrap input:focus {
    outline: none;
}

.input-wrap input::placeholder, .input-wrap input::-webkit-input-placeholder {
    font-size: 14px;
    color: #b9b9b9;
    opacity: 1;
}

.input-wrap input::-webkit-outer-spin-button, .input-wrap input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.input-wrap input:disabled, .input-wrap input:read-only {
    background: #f6f6f6;
    color: #969696;
}

.input-wrap textarea {
    width: 100%;
    height: 220px;
    padding: 10px;
    border: 1px solid #e5e5e5;
    color: #666;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -.3px;
}

.input-wrap textarea:focus {
    outline: none;
}

.input-wrap textarea::placeholder, .input-wrap textarea::-webkit-input-placeholder {
    font-size: 14px;
    color: #969696;
    opacity: 1;
}

@media screen and (max-width: 1024px) {
    .input-wrap textarea {
        font-size: 14px;
        line-height: 20px;
        height: 180px;
    }
}

.chk-wrap {
    display: inline-block;
    position: relative;
    min-height: 22px;
    vertical-align: top;
}

.chk-wrap input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.chk-wrap input + label {
    display: inline-block;
    position: relative;
    cursor: pointer;
    padding-left: 30px;
    color: #666;
    font-size: 16px;
    line-height: 24px;
    user-select: none;
    vertical-align: top;
}

@media screen and (max-width: 767px) {
    .chk-wrap input + label {
        font-size: 14px;
    }
}

.chk-wrap input + label::before {
    content: ' ';
    position: absolute;
    top: 2px;
    left: 0;
    width: 22px;
    height: 22px;
    border: 1px solid #e5e5e5;
    background: #fff;
}

.chk-wrap input:disabled + label {
    color: #666;
}

.chk-wrap input:disabled + label::before {
    background: #666;
}

.chk-wrap input:checked + label::after {
    content: ' ';
    position: absolute;
    top: 6px;
    left: 7px;
    width: 8px;
    height: 12px;
    border: 3px solid #ffc837;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.rdo-wrap {
    display: inline-block;
    position: relative;
    min-height: 22px;
    vertical-align: top;
}

.rdo-wrap input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.rdo-wrap input + label {
    display: inline-block;
    position: relative;
    cursor: pointer;
    padding-left: 30px;
    color: #666;
    font-size: 16px;
    line-height: 24px;
    user-select: none;
    vertical-align: top;
}

@media screen and (max-width: 767px) {
    .rdo-wrap input + label {
        font-size: 14px;
    }
}

.rdo-wrap input + label::before {
    content: ' ';
    position: absolute;
    top: 2px;
    left: 0;
    width: 22px;
    height: 22px;
    border: 1px solid #e5e5e5;
    background: #fff;
    border-radius: 11px;
}

.rdo-wrap input:disabled + label {
    color: #666;
}

.rdo-wrap input:disabled + label::before {
    background: #666;
}

.rdo-wrap input:checked + label::after {
    content: ' ';
    position: absolute;
    top: 7px;
    left: 5px;
    width: 12px;
    height: 12px;
    border-radius: 6px;
    background: #ffc837;
}

.rdo-btn-wrap {
    display: inline-block;
    position: relative;
    min-height: 22px;
    vertical-align: top;
}

.rdo-btn-wrap input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.rdo-btn-wrap input + label {
    display: inline-block;
    position: relative;
    cursor: pointer;
    padding-left: 30px;
    color: #666;
    font-size: 16px;
    line-height: 24px;
    user-select: none;
    vertical-align: top;
    border: 1px solid #e5e5e5;
    border-radius: 20px;
    background: #f6f6f6;
    width: 100%;
    height: 40px;
    padding: 0 10px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    color: #666;
    text-align: center;
    line-height: 38px !important;
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .rdo-btn-wrap input + label {
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .rdo-btn-wrap input + label {
        font-size: 14px;
        line-height: 22px;
    }
}

@media screen and (max-width: 767px) {
    .rdo-btn-wrap input + label {
        height: 34px;
        line-height: 32px !important;
    }
}

.rdo-btn-wrap input:disabled + label {
    color: #666;
}

.rdo-btn-wrap input:disabled + label::before {
    background: #666;
}

.rdo-btn-wrap input:checked + label {
    border-color: #4c7dba;
    background: #fff;
    color: #4c7dba;
}

.fileinput-wrap {
    position: relative;
    /* max-width: 690px; */
    width: 100%;
    padding-right: 130px;
    font-size: 0;
}

@media screen and (max-width: 767px) {
    .fileinput-wrap {
        padding-right: 105px;
    }
}

.fileinput-wrap .file-name input {
    background: #fff;
    color: #333;
}

.fileinput-wrap label {
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: 40px;
    border: 1px solid #666;
    line-height: 38px !important;
    text-align: center;
    background: #fff;
    font-size: 14px;
    line-height: 22px;
    color: #333;
    cursor: pointer;
}

@media screen and (max-width: 767px) {
    .fileinput-wrap label {
        font-size: 13px;
    }
}

@media screen and (max-width: 767px) {
    .fileinput-wrap label {
        width: 100px;
    }
}

.fileinput-wrap input[type=file] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.slt-lists {
    overflow: hidden;
}

.slt-lists ul {
    margin-top: -20px;
    font-size: 0;
}

@media screen and (max-width: 767px) {
    .slt-lists ul {
        margin-top: -10px;
    }
}

.slt-lists ul li {
    display: inline-block;
    vertical-align: top;
    margin-top: 20px;
    line-height: normal;
}

@media screen and (max-width: 767px) {
    .slt-lists ul li {
        margin-top: 10px;
    }
}

.slt-lists.auto li {
    margin-right: 20px;
}

@media screen and (max-width: 767px) {
    .slt-lists.auto li {
        width: 50%;
        margin-right: 0;
    }
}

@media screen and (max-width: 480px) {
    .slt-lists.auto li {
        width: 100%;
        display: block;
    }
}

.form-wrap .form-sect {
    margin-top: 100px;
}

.form-wrap .form-sect::after {
    content: " ";
    display: block;
    clear: both;
}

@media screen and (max-width: 1024px) {
    .form-wrap .form-sect {
        margin-top: 60px;
    }
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect {
        margin-top: 40px;
    }
}

.form-wrap .form-sect:first-child {
    margin-top: 0;
}

.form-wrap .form-sect .form-tit {
    float: left;
    width: 260px;
    padding-right: 20px;
    font-size: 30px;
    line-height: 40px;
    letter-spacing: -1.5px;
    font-weight: 700;
    font-weight: 500;
}

@media screen and (max-width: 1024px) {
    .form-wrap .form-sect .form-tit {
        font-size: 28px;
        line-height: 36px;
    }
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-tit {
        font-size: 24px;
        line-height: 31px;
    }
}

@media screen and (max-width: 1024px) {
    .form-wrap .form-sect .form-tit {
        float: none;
        width: 100%;
        padding-right: 0;
    }
}

.form-wrap .form-sect .form-cont {
    margin-left: 260px;
}

@media screen and (max-width: 1024px) {
    .form-wrap .form-sect .form-cont {
        margin-left: 0;
    }
    .form-wrap .form-sect .form-cont .terms-box {
        margin-top: 20px;
    }
}
.form-wrap .form-cont .terms-box .terms .terms_con .con_tit {
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 20px;
}
.form-wrap .form-cont .terms-box .terms .terms_con .con_desc {
	font-size: 16px;
	margin-bottom: 15px;
	line-height: 25px;
}
.form-wrap .form-cont .terms-box .terms .terms_con > ul {
	margin-bottom: 15px;
}
.form-wrap .form-cont .terms-box .terms .terms_con > ul > li {
	font-size: 14px;
	line-height: 25px;
}
.form-wrap .form-cont .terms-box .terms .terms_con > ul > li::before {
	content: "-";
	display: inline-block;
	margin-right: 5px;
}
.form-wrap .form-cont .terms-box .terms .terms_con > ul > li > em {
	font-weight: 500;
}
.form-wrap .form-cont .terms-box .terms .terms_con > ul > li > ul {
	padding-left: 15px;
}
.form-wrap .form-cont .terms-box .terms .terms_con > ul > li > ul > li {
	display: list-item;
	list-style: disc;
	list-style-position: inside;
}
@media screen and (max-width: 450px) {
	.form-wrap .form-cont .terms-box .terms .terms_con .con_tit {
		font-size: 15px;
	}
	.form-wrap .form-cont .terms-box .terms .terms_con .con_desc {
		font-size: 14px;
	}
	.form-wrap .form-cont .terms-box .terms .terms_con > ul > li {
		font-size: 13px;
	}
}
.form-wrap .form-sect .form-cont .form-desc {
    margin-bottom: 30px;
    padding-top: 9px;
}

@media screen and (max-width: 1024px) {
    .form-wrap .form-sect .form-cont .form-desc {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .form-desc {
        margin-bottom: 10px;
    }
}

.form-wrap .form-sect .form-cont .form-desc .essen {
    color: #910024;
    font-size: 14px;
    line-height: 22px;
    font-weight: 500;
    word-break: keep-all;
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .form-desc .essen {
        font-size: 13px;
    }
}

.form-wrap .form-sect .form-cont .form-desc .essen::before {
    content: '*';
    display: inline-block;
    margin-right: 4px;
}

.form-wrap .form-sect .form-cont .form-desc .info {
    position: relative;
    padding-left: 20px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    color: #333;
    word-break: keep-all;
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .form-desc .info {
        font-size: 14px;
        line-height: 22px;
    }
}

.form-wrap .form-sect .form-cont .form-desc .info::before {
    content: '※';
    position: absolute;
    top: 0;
    left: 0;
}

.form-wrap .form-sect .form-cont .form-desc .info.bold {
    font-weight: 500;
}

.form-wrap .form-sect .form-cont .form-desc .info.bold::before {
    font-weight: 700;
}

.form-wrap .form-sect .form-cont .row {
    display: flex;
    margin-top: 20px;
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .row {
        margin-top: 10px;
    }
}

.form-wrap .form-sect .form-cont .row > label,
.form-wrap .form-sect .form-cont .row > .label {
    width: 180px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    padding-top: 8px;
    font-weight: 500;
    line-height: 24px !important;
    word-break: keep-all;
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .row > label,
    .form-wrap .form-sect .form-cont .row > .label {
        font-size: 14px;
        line-height: 22px;
    }
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .row > label,
    .form-wrap .form-sect .form-cont .row > .label {
        width: 120px;
    }
}

.form-wrap .form-sect .form-cont .row > label.essen::after,
.form-wrap .form-sect .form-cont .row > .label.essen::after {
    content: '*';
    margin-left: 2px;
    color: #910024;
}

.form-wrap .form-sect .form-cont .row .forms {
    width: calc(100% - 180px);
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .row .forms {
        width: calc(100% - 120px);
    }
}

.form-wrap .form-sect .form-cont .row .forms .txt {
    padding: 8px 0;
    color: #666;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    line-height: 24px !important;
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .row .forms .txt {
        font-size: 14px;
        line-height: 22px;
    }
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .row .forms .txt {
        padding-bottom: 0;
    }
}

.form-wrap .form-sect .form-cont .row .forms .input-wrap {
    width: 100%;
    /* max-width: 560px; */
}

.form-wrap .form-sect .form-cont .row .forms .slt-lists {
    padding: 8px 0;
}

.form-wrap .form-sect .form-cont .row .forms.full .input-wrap {
    max-width: 100%;
}

.form-wrap .form-sect .form-cont .row .forms.btn-type {
    font-size: 0;
}

.form-wrap .form-sect .form-cont .row .forms.btn-type .input-wrap {
    width: calc(100% - 130px);
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .row .forms.btn-type .input-wrap {
        width: calc(100% - 85px);
    }
}

.form-wrap .form-sect .form-cont .row .forms.btn-type .btn {
    width: 120px;
    margin-left: 10px;
}

@media screen and (max-width: 767px) {
    .form-wrap .form-sect .form-cont .row .forms.btn-type .btn {
        width: 80px;
        margin-left: 5px;
        padding: 0;
    }
}

.form-wrap .btn-wrap {
    margin-top: 50px;
    border-top: 1px solid #e5e5e5;
    padding-top: 70px;
}

@media screen and (max-width: 1024px) {
    .form-wrap .btn-wrap {
        margin-top: 40px;
        padding-top: 50px;
    }
}

@media screen and (max-width: 767px) {
    .form-wrap .btn-wrap {
        margin-top: 20px;
        padding-top: 30px;
    }
}

/* 약관 box */
.terms-accordion-wrap .chk-wrap.all {
    display: block;
    margin-bottom: 15px;
    padding-top: 8px;
    padding-bottom: 15px;
    border-bottom: 1px dashed #e5e5e5;
}

.terms-accordion-wrap .chk-wrap.all input + label {
    color: #333;
    font-weight: 500;
}

@media screen and (max-width: 1024px) {
    .terms-accordion-wrap .chk-wrap.all {
        padding-top: 30px;
    }
}

@media screen and (max-width: 767px) {
    .terms-accordion-wrap .chk-wrap.all {
        padding-top: 20px;
    }
}

.terms-accordion-wrap .terms-box {
    margin-top: 0 !important;
}

.terms-box {
    height: 300px;
    padding: 20px;
    border: 1px solid #e5e5e5;
    background: #fff;
    font-size: 14px;
    line-height: 22px;
    color: #969696;
    overflow-y: auto;
}

@media screen and (max-width: 767px) {
    .terms-box {
        font-size: 13px;
    }
}

@media screen and (max-width: 767px) {
    .terms-box {
        padding: 12px;
    }
}

.terms-agree {
    margin-top: 10px;
}

/* masonry list */
.masonry-list-wrap {
    overflow: hidden;
}

.masonry-list-wrap .item-wrap {
    margin-top: -4.285714%;
    margin-left: -2.142857%;
}

.masonry-list-wrap .item-wrap::after {
    content: " ";
    display: block;
    clear: both;
}

.masonry-list-wrap .item-wrap .items {
    float: left;
    width: 25%;
    margin-top: 4.195804%;
    padding-left: 2.097902%;
}

@media screen and (max-width: 767px) {
    .masonry-list-wrap .item-wrap .items {
        width: 33.33%;
    }
}

@media screen and (max-width: 480px) {
    .masonry-list-wrap .item-wrap .items {
        width: 50%;
    }
}

.masonry-list-wrap .item-wrap .items .thumb {
    position: relative;
    display: block;
    margin-bottom: 30px;
    border-radius: 10px;
    overflow: hidden;
}

.masonry-list-wrap .item-wrap .items .thumb img {
    width: 100%;
}

.masonry-list-wrap .item-wrap .items .info {
    position: relative;
    padding-top: 10px;
}

.masonry-list-wrap .item-wrap .items .info::before {
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    width: 35px;
    height: 4px;
    background: #ffc837;
}

.masonry-list-wrap .item-wrap .items .info .tit {
    display: block;
    font-size: 22px;
    line-height: 30px;
    letter-spacing: -1px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-weight: 700;
    word-break: keep-all;
}

@media screen and (max-width: 767px) {
    .masonry-list-wrap .item-wrap .items .info .tit {
        font-size: 20px;
        line-height: 28px;
    }
}

@media screen and (min-width: 1025px) {
    .masonry-list-wrap .item-wrap .items .info .tit:hover, .masonry-list-wrap .item-wrap .items .info .tit:active {
        text-decoration: underline;
    }
}

.masonry-list-wrap .item-wrap .items .info .desc {
    margin-top: 10px;
    color: #969696;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    word-break: keep-all;
}

@media screen and (max-width: 767px) {
    .masonry-list-wrap .item-wrap .items .info .desc {
        font-size: 14px;
        line-height: 22px;
    }
}

.masonry-list-wrap .item-wrap .items .info .date {
    margin-top: 15px;
    color: #969696;
    font-size: 14px;
    line-height: 22px;
}

@media screen and (max-width: 767px) {
    .masonry-list-wrap .item-wrap .items .info .date {
        font-size: 13px;
    }
}

.masonry-list-wrap .item-wrap .items .info .src {
    display: none !important;
}

/* thumbnail list */
.thumb-list-wrap {
    overflow: hidden;
}

.thumb-list-wrap .lists {
    display: flex;
    flex-wrap: wrap;
    margin-top: -4.285714%;
    margin-left: -2.142857%;
}

.thumb-list-wrap .lists .items {
    width: 25%;
    margin-top: 4.195804%;
    padding-left: 2.097902%;
}

@media screen and (max-width: 767px) {
    .thumb-list-wrap .lists .items {
        width: 33.33%;
    }
}

@media screen and (max-width: 480px) {
    .thumb-list-wrap .lists .items {
        width: 50%;
    }
}

.thumb-list-wrap .lists .items .thumb {
    display: block;
    width: 100%;
    height: auto;
    padding-top: 91.64557%;
    border-radius: 10px;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.thumb-list-wrap .lists .items .thumb.video {
    padding-top: 56.25%;
}

.thumb-list-wrap .lists .items .info {
    margin-top: 25px;
}

.thumb-list-wrap .lists .items .info .tit {
    display: block;
    font-size: 22px;
    line-height: 30px;
    letter-spacing: -1px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: keep-all;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .thumb-list-wrap .lists .items .info .tit {
        font-size: 20px;
        line-height: 28px;
    }
}

@media screen and (min-width: 1025px) {
    .thumb-list-wrap .lists .items .info .tit:hover, .thumb-list-wrap .lists .items .info .tit:active {
        text-decoration: underline;
    }
}

.thumb-list-wrap .lists .items .info .desc {
    margin-top: 10px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    color: #969696;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
}

@media screen and (max-width: 767px) {
    .thumb-list-wrap .lists .items .info .desc {
        font-size: 14px;
        line-height: 22px;
    }
}

.thumb-list-wrap .lists .items .info .src {
    display: none !important;
}

/* bullet list */
.bullet-list .b-tit {
    margin-bottom: 5px;
    font-weight: 700;
    color: #111;
}

.bullet-list .b-txt {
    position: relative;
    margin-top: 2px;
    padding-left: 10px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    color: #666;
    word-break: keep-all;
}

@media screen and (max-width: 767px) {
    .bullet-list .b-txt {
        font-size: 14px;
        line-height: 22px;
    }
}

.bullet-list .b-txt:first-child {
    margin-top: 0;
}

.bullet-list .b-txt::before {
    content: '-';
    position: absolute;
    top: 0;
    left: 0;
}

.bullet-list .b-txt small {
    display: block;
    margin-top: 2px;
}

.bullet-list.icon .b-txt {
    padding-left: 18px;
}

.bullet-list.icon .b-txt::before {
    content: '※';
}

.bullet-list.bullet .b-txt::before {
    content: ' ';
    top: 12px;
    left: 2px;
    width: 2px;
    height: 2px;
    background: #666;
    border-radius: 50%;
}

@media screen and (max-width: 767px) {
    .bullet-list.bullet .b-txt::before {
        top: 10px;
    }
}

/* modal */
.video-modal-area {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 80%;
    max-width: 710px;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    padding: 60px 20px 50px;
    box-shadow: 5px 2px 10px 0px rgba(0, 0, 0, 0.5);
    transform: translate(-50%, -50%);
    z-index: 1010;
}

@media screen and (max-width: 767px) {
    .video-modal-area {
        width: 90%;
        padding: 50px 12px 40px;
    }
}

.video-modal-area .video-area {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    background: #000;
    overflow: hidden;
}

.video-modal-area .video-area iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-modal-area .video-info {
    margin-top: 26px;
}

.video-modal-area .video-info .tit {
    position: relative;
    padding-top: 15px;
    font-size: 22px;
    line-height: 30px;
    letter-spacing: -1px;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .video-modal-area .video-info .tit {
        font-size: 20px;
        line-height: 28px;
    }
}

.video-modal-area .video-info .tit::before {
    content: ' ';
    position: absolute;
    left: 0;
    top: 0;
    width: 35px;
    height: 4px;
    background: #ffc837;
}

.video-modal-area .video-info .desc {
    margin-top: 15px;
    color: #969696;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
}

@media screen and (max-width: 767px) {
    .video-modal-area .video-info .desc {
        font-size: 14px;
        line-height: 22px;
    }
}

.video-modal-area .video-info .date {
    margin-top: 6px;
    color: #969696;
    font-size: 14px;
    line-height: 22px;
}

@media screen and (max-width: 767px) {
    .video-modal-area .video-info .date {
        font-size: 13px;
    }
}

.video-modal-area .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
}

.video-modal-area .btn-close::before, .video-modal-area .btn-close::after {
    content: ' ';
    position: absolute;
    width: 3px;
    height: 24px;
    bottom: 10px;
    right: 29px;
    background: #111;
}

@media screen and (max-width: 767px) {
    .video-modal-area .btn-close::before, .video-modal-area .btn-close::after {
        right: 21px;
    }
}

.video-modal-area .btn-close::before {
    transform: rotate(45deg);
}

.video-modal-area .btn-close::after {
    transform: rotate(-45deg);
}

/* pagination */
.pagination {
    margin-top: 50px;
    font-size: 0;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .pagination {
        margin-top: 40px;
    }
}

@media screen and (max-width: 767px) {
    .pagination {
        margin-top: 30px;
    }
}

.pagination .control-btn,
.pagination .page-btn-wrap,
.pagination .page-btn-wrap .now,
.pagination .page-btn-wrap a {
    display: inline-block;
    vertical-align: top;
}

.pagination .control-btn,
.pagination .page-btn-wrap .now,
.pagination .page-btn-wrap a {
    width: 40px;
    height: 40px;
    font-size: 16px;
    color: #666;
    border: 1px solid transparent;
    border-radius: 10px;
    line-height: 38px;
    background: #fff;
}

@media screen and (max-width: 1024px) {
    .pagination .control-btn,
    .pagination .page-btn-wrap .now,
    .pagination .page-btn-wrap a {
        width: 36px;
        height: 36px;
        line-height: 34px;
    }
}

@media screen and (max-width: 767px) {
    .pagination .control-btn,
    .pagination .page-btn-wrap .now,
    .pagination .page-btn-wrap a {
        width: 30px;
        height: 30px;
        line-height: 28px;
        font-size: 14px;
    }
}

.pagination .control-btn {
    position: relative;
    margin: 0 4px;
    border-color: transparent;
}

@media screen and (max-width: 767px) {
    .pagination .control-btn {
        margin: 0;
    }
}

.pagination .control-btn::before, .pagination .control-btn::after {
    content: ' ';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border: 1px solid #666;
    border-bottom: none;
    border-right: none;
}

@media screen and (max-width: 767px) {
    .pagination .control-btn::before, .pagination .control-btn::after {
        width: 8px;
        height: 8px;
        margin-top: -4px;
    }
}

.pagination .control-btn.prev::before, .pagination .control-btn.prev::after, .pagination .control-btn.pprev::before, .pagination .control-btn.pprev::after {
    transform: rotate(-45deg);
}

.pagination .control-btn.prev::before {
    margin-left: -3px;
}

.pagination .control-btn.pprev::before {
    margin-left: -5px;
}

.pagination .control-btn.next::before, .pagination .control-btn.next::after, .pagination .control-btn.nnext::before, .pagination .control-btn.nnext::after {
    transform: rotate(135deg);
}

.pagination .control-btn.next::before {
    margin-left: -9px;
}

@media screen and (max-width: 767px) {
    .pagination .control-btn.next::before {
        margin-left: -6px;
    }
}

.pagination .control-btn.nnext::before {
    margin-left: -11px;
}

@media screen and (max-width: 767px) {
    .pagination .control-btn.nnext::before {
        margin-left: -8px;
    }
}

.pagination .control-btn.nnext::after {
    margin-left: -6px;
}

@media screen and (max-width: 767px) {
    .pagination .control-btn.nnext::after {
        margin-left: -3px;
    }
}

.pagination .control-btn.prev::after, .pagination .control-btn.next::after {
    display: none;
}

.pagination .page-btn-wrap {
    margin: 0;
}

.pagination .page-btn-wrap > * {
    margin: 0 2px;
}

.pagination .page-btn-wrap .now {
    border-color: #910024;
    color: #910024;
    font-weight: 800;
}

.selectbox-wrap .nice-select {
    -webkit-tap-highlight-color: transparent;
    background-color: #fff;
    box-sizing: border-box;
    clear: both;
    cursor: pointer;
    display: block;
    font-size: 16px;
    height: 40px;
    line-height: 38px;
    border: 1px solid #e5e5e5;
    outline: none;
    padding-left: 10px;
    padding-right: 20px;
    position: relative;
    text-align: left !important;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
    width: auto;
    color: #666;
    z-index: 50;
}

.selectbox-wrap .nice-select.open {
    border-color: #666;
}

@media screen and (max-width: 1024px) {
    .selectbox-wrap .nice-select {
        font-size: 14px;
        padding-left: 8px;
        padding-right: 28px;
    }
}

.selectbox-wrap .nice-select:after {
    content: "";
    width: 8px;
    height: 8px;
    border: 1px solid #969696;
    border-top: none;
    border-left: none;
    display: block;
    margin-top: -5px;
    pointer-events: none;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: rotate(45deg);
    -webkit-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
}

.selectbox-wrap .nice-select.open:after {
    transform: rotate(225deg);
    margin-top: -2px;
}

.selectbox-wrap .nice-select.open .list {
    opacity: 1;
    pointer-events: auto;
    border-color: #666;
    -webkit-transform: scale(1) translateY(0);
    -ms-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
}

.selectbox-wrap .nice-select.disabled {
    background: #f6f6f6;
    color: #b9b9b9;
    pointer-events: none;
}

.selectbox-wrap .nice-select.disabled:after {
    border-color: #cccccc;
}

.selectbox-wrap .nice-select .list {
    background-color: #fff;
    border: 1px solid transparent;
    border-top: none;
    box-sizing: border-box;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: -1px;
    right: -1px;
    -webkit-transform-origin: 50% 0;
    -ms-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transform: scale(0.75) translateY(-21px);
    -ms-transform: scale(0.75) translateY(-21px);
    transform: scale(0.75) translateY(-21px);
    z-index: 9;
}

.selectbox-wrap .nice-select .list:hover .option:not(:hover) {
    background-color: transparent !important;
}

.selectbox-wrap .nice-select .option {
    cursor: pointer;
    font-weight: 400;
    line-height: 40px;
    list-style: none;
    min-height: 40px;
    outline: none;
    padding-left: 10px;
    padding-right: 20px;
    text-align: left;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

.selectbox-wrap .nice-select .option:hover,
.selectbox-wrap .nice-select .option.focus,
.selectbox-wrap .nice-select .option.selected.focus {
    background-color: #f6f6f6;
}

.selectbox-wrap .nice-select .option.selected {
    font-weight: bold;
}

.selectbox-wrap .nice-select .option.disabled {
    background-color: transparent;
    color: #999;
    cursor: default;
}

.selectbox-wrap .no-csspointerevents .nice-select .list {
    display: none;
}

.selectbox-wrap .no-csspointerevents .nice-select.open .list {
    display: block;
}

/**
 * Swiper 6.4.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 29, 2021
 */
@font-face {
    font-family: "swiper-icons";
    src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
    font-weight: 400;
    font-style: normal;
}

:root {
    --swiper-theme-color: #007aff;
}

.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    /* Fix of Webkit flickering */
    z-index: 1;
}

.swiper-container-vertical > .swiper-wrapper {
    flex-direction: column;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
    flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto;
}

.swiper-container-pointer-events {
    touch-action: pan-y;
}

.swiper-container-pointer-events.swiper-container-vertical {
    touch-action: pan-x;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
}

.swiper-slide-invisible-blank {
    visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
    height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
}

/* 3D Effects */
.swiper-container-3d {
    perspective: 1200px;
}

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
    transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    /* For Firefox */
    -ms-overflow-style: none;
    /* For Internet Explorer and Edge */
}

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
}

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
    scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
    scroll-snap-type: y mandatory;
}

:root {
    --swiper-navigation-size: 44px;
    /*
    --swiper-navigation-color: var(--swiper-theme-color);
    */
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    text-transform: none;
    font-variant: initial;
    line-height: 1;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    left: 10px;
    right: auto;
}

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
    content: "prev";
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    right: 10px;
    left: auto;
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
    content: "next";
}

.swiper-button-prev.swiper-button-white,
.swiper-button-next.swiper-button-white {
    --swiper-navigation-color: #ffffff;
}

.swiper-button-prev.swiper-button-black,
.swiper-button-next.swiper-button-black {
    --swiper-navigation-color: #000000;
}

.swiper-button-lock {
    display: none;
}

:root {
    /*
    --swiper-pagination-color: var(--swiper-theme-color);
    */
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
    bottom: 10px;
    left: 0;
    width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
}

.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 50%;
    background: #000;
    opacity: 0.2;
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical > .swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: 200ms transform, 200ms top;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms transform, 200ms left;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms transform, 200ms right;
}

/* Progress */
.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, 0.25);
    position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0;
}

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0;
}

.swiper-pagination-white {
    --swiper-pagination-color: #ffffff;
}

.swiper-pagination-black {
    --swiper-pagination-color: #000000;
}

.swiper-pagination-lock {
    display: none;
}

/* Scrollbar */
.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%;
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    left: 0;
    top: 0;
}

.swiper-scrollbar-cursor-drag {
    cursor: move;
}

.swiper-scrollbar-lock {
    display: none;
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.swiper-slide-zoomed {
    cursor: move;
}

/* Preloader */
:root {
    /*
    --swiper-preloader-color: var(--swiper-theme-color);
    */
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    animation: swiper-preloader-spin 1s infinite linear;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
}

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

/* a11y */
.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
    transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

.swiper-container-cube {
    overflow: visible;
}

.swiper-container-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
    transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 0;
}

.swiper-container-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    -webkit-filter: blur(50px);
    filter: blur(50px);
}

.swiper-container-flip {
    overflow: visible;
}

.swiper-container-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* swiper customs */
.swiper-controller {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 0;
    z-index: 10;
}

.swiper-controller .swiper-prev,
.swiper-controller .swiper-next {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.swiper-controller .swiper-prev.swiper-button-disabled,
.swiper-controller .swiper-next.swiper-button-disabled {
    opacity: .6;
}

@media screen and (max-width: 767px) {
    .swiper-controller .swiper-prev,
    .swiper-controller .swiper-next {
        font-size: 12px;
        line-height: 16px;
    }
}

.swiper-controller .swiper-paging {
    margin: 0 15px;
    display: inline-block;
    vertical-align: middle;
}

.swiper-controller .swiper-paging .swiper-pagination-bullet {
    cursor: pointer;
    width: 14px;
    height: 14px;
    margin-left: 16px;
    background: #fff;
    opacity: 1;
}

.swiper-controller .swiper-paging .swiper-pagination-bullet:first-child {
    margin-left: 0;
}

.swiper-controller .swiper-paging .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #910024;
}

@media screen and (max-width: 767px) {
    .swiper-controller .swiper-paging .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        margin-left: 12px;
    }
}

.swiper-controller .swiper-paging.swiper-pagination-fraction {
    display: inline-block;
    width: auto;
    bottom: auto;
    color: #fff;
    font-size: 15px;
    line-height: 20px;
}

.swiper-controller .swiper-playing {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
}

.swiper-controller .swiper-playing::before {
    content: ' ';
    position: absolute;
    top: 50%;
    margin-top: -5px;
}

.swiper-controller .swiper-playing.play::before {
    width: 8px;
    height: 10px;
    border-left: 2px solid #fff;
    border-right: 2px solid #fff;
}

.swiper-controller .swiper-playing.pause::before {
    width: 0;
    height: 0;
    border-left: 8px solid #fff;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    margin-left: -4px;
}

/* small tab */
.bar-tab-wraps {
    margin-bottom: 30px;
}

@media screen and (max-width: 1024px) {
    .bar-tab-wraps {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .bar-tab-wraps {
        margin-bottom: 15px;
    }
}

.bar-tab-wraps .tabs {
    min-width: 100%;
    display: inline-block;
    vertical-align: top;
    font-size: 0;
    white-space: nowrap;
}

.bar-tab-wraps .tabs li {
    position: relative;
    display: inline-block;
    vertical-align: top;
    padding: 0 40px;
}

@media screen and (max-width: 1024px) {
    .bar-tab-wraps .tabs li {
        padding: 0 20px;
    }
}

@media screen and (max-width: 767px) {
    .bar-tab-wraps .tabs li {
        padding: 0 12px;
    }
}

.bar-tab-wraps .tabs li:first-child {
    padding-left: 0;
}

.bar-tab-wraps .tabs li:last-child {
    padding-right: 0;
}

.bar-tab-wraps .tabs li::before {
    content: ' ';
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 16px;
    margin-top: -8px;
    background: #cdcdcd;
}

.bar-tab-wraps .tabs li:first-child::before {
    display: none;
}

.bar-tab-wraps .tabs li a {
    display: block;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
}

@media screen and (max-width: 767px) {
    .bar-tab-wraps .tabs li a {
        font-size: 14px;
        line-height: 22px;
    }
}

.bar-tab-wraps .tabs li.active a {
    font-weight: 700;
    color: #910024;
}

/* table */
.tbl-wrap {
    position: relative;
}

@media screen and (max-width: 1024px) {
    .tbl-wrap .tbl-scroll {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
    }
    .tbl-wrap .tbl-scroll .table {
        table-layout: fixed;
        width: auto;
        min-width: 100%;
    }
    .tbl-wrap .tbl-scroll .table thead tr th {
        white-space: nowrap;
    }
    .tbl-wrap .tbl-scroll .table tbody tr td {
        white-space: nowrap;
    }
}

.tbl-wrap .table {
    width: 100%;
}

.tbl-wrap .table.row-tbl .row-col1 {
    width: 210px;
}

@media screen and (max-width: 767px) {
    .tbl-wrap .table.row-tbl .row-col1 {
        width: 100px;
    }
}

.tbl-wrap .table.row-tbl tbody tr th,
.tbl-wrap .table.row-tbl tbody tr td {
    border-left: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    padding: 16px 24px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    text-align: left;
    word-break: keep-all;
}

@media screen and (max-width: 767px) {
    .tbl-wrap .table.row-tbl tbody tr th,
    .tbl-wrap .table.row-tbl tbody tr td {
        font-size: 14px;
        line-height: 22px;
    }
}

.tbl-wrap .table.row-tbl tbody tr th:first-child,
.tbl-wrap .table.row-tbl tbody tr td:first-child {
    border-left: none;
}

@media screen and (max-width: 1024px) {
    .tbl-wrap .table.row-tbl tbody tr th,
    .tbl-wrap .table.row-tbl tbody tr td {
        padding: 13px 20px;
    }
}

@media screen and (max-width: 767px) {
    .tbl-wrap .table.row-tbl tbody tr th,
    .tbl-wrap .table.row-tbl tbody tr td {
        padding: 8px 12px;
    }
}

.tbl-wrap .table.row-tbl tbody tr td {
    color: #666;
    vertical-align: middle;
}

.tbl-wrap .table.row-tbl tbody tr th {
    background: #f6f6f6;
    vertical-align: top;
    font-weight: 500;
}

.tbl-wrap .table.row-tbl tbody tr:first-child th,
.tbl-wrap .table.row-tbl tbody tr:first-child td {
    border-top: 1px solid #4f4f4f;
}

.tbl-wrap .table.row-tbl .al-c {
    text-align: center !important;
}

.tbl-wrap .table.row-tbl .al-l {
    text-align: left !important;
}

.tbl-wrap .table.col-tbl thead tr th {
    height: 64px;
    padding: 16px;
    text-align: center;
    font-weight: 500;
    border-bottom: 1px solid #4f4f4f;
    border-left: 1px solid #e5e5e5;
    word-break: keep-all;
    font-size: 18px;
    line-height: 26px;
    letter-spacing: -0.7px;
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .tbl-wrap .table.col-tbl thead tr th {
        font-size: 16px;
        line-height: 24px;
    }
}

.tbl-wrap .table.col-tbl thead tr th:first-child {
    border-left: none;
}

@media screen and (max-width: 1024px) {
    .tbl-wrap .table.col-tbl thead tr th {
        height: 56px;
        padding: 13px 16px;
    }
}

@media screen and (max-width: 767px) {
    .tbl-wrap .table.col-tbl thead tr th {
        height: 46px;
        padding: 8px 12px;
    }
}

.tbl-wrap .table.col-tbl thead tr:first-child th {
    border-top: 1px solid #4f4f4f;
}

.tbl-wrap .table.col-tbl tbody tr td {
    padding: 16px;
    color: #4f4f4f;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
    border-bottom: 1px solid #e5e5e5;
    border-left: 1px solid #e5e5e5;
    word-break: keep-all;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .tbl-wrap .table.col-tbl tbody tr td {
        font-size: 14px;
        line-height: 22px;
    }
}

.tbl-wrap .table.col-tbl tbody tr td:first-child {
    border-left: none;
}

@media screen and (max-width: 1024px) {
    .tbl-wrap .table.col-tbl tbody tr td {
        padding: 13px 20px;
    }
}

@media screen and (max-width: 767px) {
    .tbl-wrap .table.col-tbl tbody tr td {
        padding: 8px 12px;
    }
}

.tbl-wrap .table.col-tbl tbody tr:last-child td {
    border-bottom-color: #4f4f4f;
}

.tbl-wrap .table.col-tbl.al-c,
.tbl-wrap .table.col-tbl .al-c {
    text-align: center !important;
}

.tbl-wrap .table.col-tbl .al-l {
    text-align: left !important;
}

.tbl-wrap .table.col-tbl .highlight {
    color: #e11919;
}

.tbl-wrap .table .link-to-view {
    display: inline-block;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: keep-all;
    overflow: hidden;
    vertical-align: top;
}

@media screen and (min-width: 1025px) {
    .tbl-wrap .table .link-to-view:hover {
        text-decoration: underline;
    }
}

.tbl-wrap .table .link-to-view.new {
    position: relative;
    padding-right: 26px;
}

.tbl-wrap .table .link-to-view.new::after {
    content: 'N';
    position: absolute;
    top: 50%;
    right: 0;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    margin-top: -8px;
    background: #e11919;
    color: #fff;
    font-size: 10px;
    line-height: 16px;
    text-align: left;
    text-indent: 4px;
}

.tbl-sect-wrap .tbl-wrap {
    margin-top: 80px;
}

.tbl-sect-wrap .tbl-wrap:first-child {
    margin-top: 0;
}

.notice-tbl .table.col-tbl {
    table-layout: fixed;
}

.notice-tbl .table.col-tbl .col1 {
    width: 12%;
}

@media screen and (max-width: 767px) {
    .notice-tbl .table.col-tbl .col1 {
        width: 90px;
    }
}

.notice-tbl .table.col-tbl .col2 {
    width: 18%;
}

@media screen and (max-width: 767px) {
    .notice-tbl .table.col-tbl .col2 {
        width: 110px;
    }
}

.tbl-wrap.lecture-tbl tr.lecture1 td {
    background: #fcfcf4;
}

.tbl-wrap.lecture-tbl tr.lecture2 td {
    background: #f4f8fc;
}

.tbl-wrap.lecture-tbl tr.lecture3 td {
    background: #fcf4fc;
}

.tbl-wrap.lecture-tbl tr.lecture4 td {
    background: #f4fcf7;
}

.tbl-wrap.lecture-tbl .line2 span {
    display: block;
}

.tbl-wrap.lecture-tbl .btns {
    white-space: nowrap;
}

.tbl-wrap.lecture-tbl .link-to-view {
    white-space: initial !important;
    min-width: 100px;
}

/* title */
.tit-wrap .tit {
    font-size: 36px;
    line-height: 44px;
    letter-spacing: -2px;
    font-weight: 700;
}

@media screen and (max-width: 1024px) {
    .tit-wrap .tit {
        font-size: 32px;
        line-height: 38px;
    }
}

@media screen and (max-width: 767px) {
    .tit-wrap .tit {
        font-size: 28px;
        line-height: 36px;
    }
}

.tit-wrap .desc {
    margin-top: 5px;
    color: #666;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: -1px;
    word-break: keep-all;
}

@media screen and (max-width: 1024px) {
    .tit-wrap .desc {
        font-size: 18px;
    }
}

@media screen and (max-width: 767px) {
    .tit-wrap .desc {
        font-size: 16px;
    }
}

.tit-wrap .desc.type2 {
    color: #969696;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
}

@media screen and (max-width: 767px) {
    .tit-wrap .desc.type2 {
        font-size: 14px;
        line-height: 22px;
    }
}

.h4-tit {
    margin-bottom: 30px;
    font-size: 30px;
    line-height: 40px;
    letter-spacing: -1.5px;
    font-weight: 700;
}

@media screen and (max-width: 1024px) {
    .h4-tit {
        font-size: 28px;
        line-height: 36px;
    }
}

@media screen and (max-width: 767px) {
    .h4-tit {
        font-size: 24px;
        line-height: 31px;
    }
}

@media screen and (max-width: 1024px) {
    .h4-tit {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .h4-tit {
        margin-bottom: 15px;
    }
}

/* common */
.skip-navigation {
    position: absolute;
    z-index: 9999;
}

.skip-navigation a {
    display: block;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
}

@media screen and (min-width: 1025px) {
    body {
        overflow: initial !important;
    }
}

/* container */
#wrap {
    position: relative;
    overflow: hidden;
}

#wrap .container {
    position: relative;
}

#wrap .container .contents-wrap {
    padding: 60px 0 100px;
}

@media screen and (max-width: 1024px) {
    #wrap .container .contents-wrap {
        padding: 50px 0 80px;
    }
}

@media screen and (max-width: 767px) {
    #wrap .container .contents-wrap {
        padding: 40px 0 60px;
    }
}

#wrap .container .contents-wrap .sections {
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

@media screen and (max-width: 1024px) {
    #wrap .container .contents-wrap .sections {
        max-width: 100%;
    }
}

@media screen and (max-width: 767px) {
    #wrap .container .contents-wrap .sections {
        padding-left: 12px;
        padding-right: 12px;
    }
}

#wrap .sub-visual {
    height: 300px;
    padding-top: 110px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

#wrap .sub-visual.cate01 {
    background-image: url("/images/img/img-subvisual01.jpg");
}

#wrap .sub-visual.cate02 {
    background-image: url("/images/img/img-subvisual02.jpg");
}

#wrap .sub-visual.cate03 {
    background-image: url("/images/img/img-subvisual03.jpg");
}

#wrap .sub-visual.cate04 {
    background-image: url("/images/img/img-subvisual04.jpg");
}

#wrap .sub-visual.cate05 {
    background-image: url("/images/img/img-subvisual05.jpg");
}

#wrap .sub-visual.cate06 {
    background-image: url("/images/img/img-subvisual06.jpg");
}

#wrap .sub-visual.member {
    background-image: url("/images/img/img-subvisual07.jpg");
}

#wrap .sub-visual.mypage {
    background-image: url("/images/img/img-subvisual08.jpg");
}

@media screen and (max-width: 1024px) {
    #wrap .sub-visual {
        height: 220px;
        padding-top: 75px;
    }
}

@media screen and (max-width: 767px) {
    #wrap .sub-visual {
        height: 180px;
        padding-top: 55px;
    }
}

#wrap .sub-visual p,
#wrap .sub-visual h2 {
    color: #fff;
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

@media screen and (max-width: 1024px) {
    #wrap .sub-visual p,
    #wrap .sub-visual h2 {
        max-width: 100%;
    }
}

@media screen and (max-width: 767px) {
    #wrap .sub-visual p,
    #wrap .sub-visual h2 {
        padding-left: 12px;
        padding-right: 12px;
    }
}

#wrap .sub-visual .tit {
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -2.5px;
}

@media screen and (max-width: 1024px) {
    #wrap .sub-visual .tit {
        font-size: 38px;
    }
}

@media screen and (max-width: 767px) {
    #wrap .sub-visual .tit {
        font-size: 32px;
    }
}

#wrap .sub-visual .desc {
    margin-top: 5px;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 100;
    letter-spacing: -1.5px;
}

@media screen and (max-width: 1024px) {
    #wrap .sub-visual .desc {
        font-size: 16px;
        letter-spacing: -0.5px;
    }
}

@media screen and (max-width: 767px) {
    #wrap .sub-visual .desc {
        font-size: 15px;
    }
}

#wrap .breadcrumb {
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: -55px;
}

@media screen and (max-width: 1024px) {
    #wrap .breadcrumb {
        max-width: 100%;
    }
}

@media screen and (max-width: 767px) {
    #wrap .breadcrumb {
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media screen and (max-width: 767px) {
    #wrap .breadcrumb {
        margin-top: -35px;
    }
}

#wrap .breadcrumb > ol {
    background: #910024;
    font-size: 0;
}

#wrap .breadcrumb > ol li {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-size: 14px;
    line-height: 22px;
}

@media screen and (max-width: 767px) {
    #wrap .breadcrumb > ol li {
        font-size: 13px;
    }
}

#wrap .breadcrumb > ol li::after {
    content: ' ';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    margin: 0 10px;
    margin-top: -3px;
    border: 1px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(-45deg);
}

#wrap .breadcrumb > ol li .home {
    display: block;
    width: 60px;
    height: 55px;
    margin-right: 20px;
    background: #4f4f4f url("/images/icon/icon-home.png") center no-repeat;
    color: transparent;
    font-size: 0;
}

@media screen and (max-width: 767px) {
    #wrap .breadcrumb > ol li .home {
        width: 40px;
        height: 35px;
        margin-right: 16px;
        background-size: 16px auto;
    }
}

#wrap .breadcrumb > ol li:nth-child(1)::after, #wrap .breadcrumb > ol li:last-child::after {
    display: none;
}

#wrap .page-title {
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    #wrap .page-title {
        max-width: 100%;
    }
}

@media screen and (max-width: 767px) {
    #wrap .page-title {
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media screen and (max-width: 1024px) {
    #wrap .page-title {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

@media screen and (max-width: 767px) {
    #wrap .page-title {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

#wrap .page-title .tit {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -2.5px;
}

@media screen and (max-width: 1024px) {
    #wrap .page-title .tit {
        font-size: 36px;
    }
}

@media screen and (max-width: 767px) {
    #wrap .page-title .tit {
        font-size: 30px;
    }
}

#wrap .page-title .desc {
    margin-top: 5px;
    color: #b9b9b9;
    font-size: 12px;
    line-height: 1.1;
}

#wrap .page-tab-wrap {
    position: relative;
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    #wrap .page-tab-wrap {
        max-width: 100%;
    }
}

@media screen and (max-width: 767px) {
    #wrap .page-tab-wrap {
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media screen and (max-width: 1024px) {
    #wrap .page-tab-wrap {
        padding: 0;
    }
    #wrap .page-tab-wrap::before {
        content: ' ';
        position: absolute;
        left: 0;
        bottom: 0;
        right: 0;
        height: 1px;
        background: #e5e5e5;
    }
}

#wrap .page-tab-wrap .dep2-scroll {
	border-bottom: 1px solid #e5e5e5;
    overflow: hidden;
}

@media screen and (max-width: 1024px) {
    #wrap .page-tab-wrap .dep2-scroll {
        position: relative;
        background: transparent;
        border-radius: 0;
    }
}

#wrap .page-tab-wrap .tabs {
    min-width: 100%;
    font-size: 0;
    white-space: nowrap;
}

#wrap .page-tab-wrap .tabs li {
    display: inline-block;
    vertical-align: top;
}

#wrap .page-tab-wrap .tabs li a {
    display: block;
    width: auto;
    min-width: 120px;
    padding: 0 20px;
    color: #666;
    font-size: 18px;
    line-height: 56px;
    font-weight: 500;
    white-space: nowrap;
}

@media screen and (max-width: 1024px) {
    #wrap .page-tab-wrap .tabs li a {
        min-width: auto;
        font-size: 16px;
        line-height: 46px;
    }
}

@media screen and (max-width: 767px) {
    #wrap .page-tab-wrap .tabs li a {
        font-size: 15px;
        line-height: 40px;
    }
}

#wrap .page-tab-wrap .tabs li.active a {
    color: #910024;
}

@media screen and (max-width: 1024px) {
    #wrap .page-tab-wrap .tabs li.active a {
        position: relative;
        background: transparent;
        color: #910024;
    }
    /* #wrap .page-tab-wrap .tabs li.active a::before {
        content: ' ';
        position: absolute;
        left: 0;
        bottom: 0;
        right: 0;
        height: 2px;
        background: #4c7dba;
    } */
}

#wrap .sns-btn-list {
    font-size: 0;
}

#wrap .sns-btn-list li {
    display: inline-block;
    vertical-align: top;
    margin-left: 10px;
}

#wrap .sns-btn-list li:first-child {
    margin-left: 0;
}

#wrap .sns-btn-list li a {
    display: block;
    width: 46px;
    height: 46px;
    background-image: url("/images/bg/bg-sns.png");
    background-repeat: no-repeat;
}

#wrap .sns-btn-list li a.sns01 {
    background-position: 0 0;
}

#wrap .sns-btn-list li a.sns02 {
    background-position: right 0;
}

#wrap .sns-btn-list li a.off {
    background-image: url("/images/bg/bg-sns-off.png");
}

/* nodata */
.nodata {
    padding: 100px 0;
    text-align: center;
    color: #666;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
}

@media screen and (max-width: 767px) {
    .nodata {
        font-size: 14px;
        line-height: 22px;
    }
}

/* common dim */
.common-dim {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1005;
}

/* main layer popup */
.layer-popup-wrap {
    position: fixed;
    width: auto;
    max-width: 1000px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 5px 2px 10px 0px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    z-index: 9999;
}

.layer-popup-wrap .popup-body {
    padding: 20px;
    max-height: 600px;
    overflow-y: auto;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
}

@media screen and (max-width: 767px) {
    .layer-popup-wrap .popup-body {
        font-size: 14px;
        line-height: 22px;
    }
}

.layer-popup-wrap .popup-foot {
    border-top: 1px solid #e5e5e5;
    padding: 10px;
    text-align: right;
    font-size: 0;
}

.layer-popup-wrap .popup-foot .btn-close {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-left: 10px;
}

.layer-popup-wrap .popup-foot .btn-close::before, .layer-popup-wrap .popup-foot .btn-close::after {
    content: ' ';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2px;
    margin-top: -1px;
    margin-left: -8px;
    background: #333;
}

.layer-popup-wrap .popup-foot .btn-close::before {
    transform: rotate(45deg);
}

.layer-popup-wrap .popup-foot .btn-close::after {
    transform: rotate(-45deg);
}

@media screen and (max-width: 767px) {
    .layer-popup-wrap {
        top: 10% !important;
        left: 30px !important;
        right: 30px !important;
    }
    .layer-popup-wrap .popup-body {
        max-height: 400px;
        padding: 12px;
    }
}

/* header */
header {
    position: relative;
    background: #fff;
    z-index: 100;
}

header .logo {
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    z-index: 100;
	text-align: center;
}

@media screen and (max-width: 1024px) {
    header .logo {
        max-width: 100%;
    }
}

@media screen and (max-width: 767px) {
    header .logo {
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media screen and (max-width: 1024px) {
    header .logo {
        padding-top: 15px;
        padding-bottom: 15px;
    }
}

header .logo a {
    position: relative;
    display: inline-block;
    vertical-align: top;
    z-index: 100;
}

@media screen and (max-width: 1024px) {
    header .logo a img {
        height: 32px;
    }
}

@media screen and (min-width: 1025px) {
    header::before {
        display: none;
        content: ' ';
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        height: 240px;
        background: #f6f6f6;
    }
    header.open::before {
        display: block;
    }
    header.open #gnb > li .sub-depth {
        display: block !important;
    }
    header #gnb {
        max-width: 1320px;
        margin: 0 auto;
        padding-left: 20px;
        padding-right: 20px;
        display: flex;
        justify-content: space-between;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1024px) {
    header #gnb {
        max-width: 100%;
    }
}

@media screen and (min-width: 1025px) and (max-width: 767px) {
    header #gnb {
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media screen and (min-width: 1025px) {
    header #gnb > li {
        position: relative;
    }
    header #gnb > li:hover > a.depth1 {
        color: #910024;
    }
    header #gnb > li:hover > a.depth1::after {
        display: block;
    }
    header #gnb > li > a.depth1 {
        position: relative;
        display: block;
        font-size: 18px;
        line-height: 64px;
        letter-spacing: -0.5px;
    }
    header #gnb > li > a.depth1::after {
        display: none;
        content: ' ';
        position: absolute;
        left: 0;
        bottom: 0;
        right: 0;
        height: 2px;
        background: #910024;
    }
    header #gnb > li > a.depth1.active {
        color: #910024;
    }
    header #gnb > li > a.depth1.active::after {
        display: block;
    }
    header #gnb > li .sub-depth {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        padding-top: 20px;
    }
    header #gnb > li .sub-depth li {
        margin-top: 10px;
    }
    header #gnb > li .sub-depth li:first-child {
        margin-top: 0;
    }
    header #gnb > li .sub-depth li a {
        display: inline-block;
        white-space: nowrap;
        font-size: 16px;
        line-height: 24px;
    }
    header #gnb > li .sub-depth li a:hover {
        text-decoration: underline;
    }
    header #gnb .dep1-more {
        display: none !important;
    }
    header .mob-dim {
        display: none !important;
    }
    header .nav {
        display: block !important;
        border-top: 1px solid #e5e5e5;
    }
    header .header-link {
        position: absolute;
        top: 43px;
        left: 50%;
        width: 100%;
        max-width: 1320px;
        padding: 0 20px;
        transform: translateX(-50%);
        font-size: 0;
        text-align: right;
        z-index: 10;
    }
    header .header-link li {
        display: inline-block;
        vertical-align: middle;
    }
    header .header-link li::before {
        content: ' ';
        display: inline-block;
        width: 1px;
        height: 10px;
        margin: 0 10px;
        background: #aaa;
        vertical-align: middle;
    }
    header .header-link li:first-child::before {
        display: none;
    }
    header .header-link li a {
        display: inline-block;
        font-size: 14px;
        line-height: 22px;
        color: #aaa;
        vertical-align: middle;
    }
    header .btn-menu-all {
        display: none;
    }
}

@media screen and (max-width: 1024px) {
    header .mob-dim {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.6);
        z-index: 800;
    }
    header .btn-menu-all {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 20px;
        width: 50px;
        z-index: 1000;
    }
}

@media screen and (max-width: 1024px) and (max-width: 767px) {
    header .btn-menu-all {
        right: 12px;
    }
}

@media screen and (max-width: 1024px) {
    header .btn-menu-all::before, header .btn-menu-all::after {
        content: ' ';
        position: absolute;
        top: 50%;
        right: 0;
        margin-top: -2px;
        width: 24px;
        height: 4px;
        border-radius: 2px;
        background: #333;
        transition: all 0.2s ease-out;
    }
    header .btn-menu-all::before {
        margin-top: -10px;
    }
    header .btn-menu-all::after {
        margin-top: 6px;
    }
    header .btn-menu-all .bar {
        position: absolute;
        top: 50%;
        right: 0;
        margin-top: -2px;
        width: 20px;
        height: 4px;
        border-radius: 2px;
        background: #333;
    }
    header .btn-menu-all.open .bar {
        display: none;
    }
    header .btn-menu-all.open::before, header .btn-menu-all.open::after {
        margin-top: -2px;
    }
    header .btn-menu-all.open::before {
        transform: rotate(45deg);
    }
    header .btn-menu-all.open::after {
        transform: rotate(-45deg);
    }
    header .nav {
        display: none;
        position: fixed;
        top: 0;
        right: -100%;
        bottom: 0;
        width: 100%;
        height: 100%;
        max-width: 400px;
        padding-top: 62px;
        background: #fff;
        z-index: 900;
        transition: right 0.2s ease-out;
    }
    header .nav.open {
        right: 0;
    }
    header .nav #gnb {
        height: 100%;
        overflow-y: auto;
        border-top: 1px solid #969696;
    }
    header .nav #gnb > li {
        position: relative;
        border-bottom: 1px solid #e5e5e5;
    }
    header .nav #gnb > li > .depth1 {
        position: relative;
        display: block;
        padding: 6px 20px;
        font-size: 16px;
        line-height: 40px;
        font-weight: 500;
    }
}

@media screen and (max-width: 1024px) and (max-width: 767px) {
    header .nav #gnb > li > .depth1 {
        padding: 6px 12px;
    }
}

@media screen and (max-width: 1024px) {
    header .nav #gnb > li > .depth1::after {
        content: ' ';
        position: absolute;
        top: 50%;
        right: 23px;
        width: 10px;
        height: 10px;
        margin-top: -7px;
        border: 2px solid #969696;
        border-top: none;
        border-right: none;
        transform: rotate(-45deg);
        transition: all 0.2s ease-out;
    }
}

@media screen and (max-width: 1024px) and (max-width: 767px) {
    header .nav #gnb > li > .depth1::after {
        right: 15px;
    }
}

@media screen and (max-width: 1024px) {
    header .nav #gnb > li > .dep1-more {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        height: 52px;
    }
    header .nav #gnb > li.open > .depth1::after {
        transform: rotate(-225deg);
        margin-top: -3px;
    }
    header .nav #gnb > li .sub-depth {
        display: none;
        padding: 20px 30px;
        background: #f6f6f6;
    }
    header .nav #gnb > li .sub-depth li {
        margin-top: 10px;
    }
    header .nav #gnb > li .sub-depth li:first-child {
        margin-top: 0;
    }
    header .nav #gnb > li .sub-depth li a {
        display: inline-block;
        font-size: 15px;
        line-height: 26px;
        color: #666;
    }
    header .nav .header-link {
        position: absolute;
        top: 0;
        left: 0;
        right: 70px;
        padding: 15px 0;
        padding-left: 20px;
        font-size: 0;
        white-space: nowrap;
    }
}

@media screen and (max-width: 1024px) and (max-width: 767px) {
    header .nav .header-link {
        padding-left: 12px;
    }
}

@media screen and (max-width: 1024px) {
    header .nav .header-link li {
        position: relative;
        display: inline-block;
        vertical-align: top;
    }
    header .nav .header-link li::before {
        content: ' ';
        display: inline-block;
        vertical-align: middle;
        width: 1px;
        height: 10px;
        margin: 0 15px;
        background: #e5e5e5;
    }
    header .nav .header-link li:first-child::before {
        display: none;
    }
    header .nav .header-link li a {
        display: inline-block;
        vertical-align: middle;
        font-size: 14px;
        line-height: 32px;
        color: #666;
    }
}

/* footer */
footer {
    background: #161f29;
    padding: 50px 0 80px;
}

@media screen and (max-width: 767px) {
    footer {
        padding: 30px 0 40px;
    }
}

footer .foot-cont {
    position: relative;
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

@media screen and (max-width: 1024px) {
    footer .foot-cont {
        max-width: 100%;
    }
}

@media screen and (max-width: 767px) {
    footer .foot-cont {
        padding-left: 12px;
        padding-right: 12px;
    }
}

footer .foot-cont .comp-info {
    display: flex;
    max-width: 1000px;
    margin-right: 100px;
}

@media screen and (max-width: 767px) {
    footer .foot-cont .comp-info {
        display: block;
        margin-right: 0;
    }
}

footer .foot-cont .comp-info .left {
    width: 50%;
    padding-right: 7%;
}

@media screen and (max-width: 767px) {
    footer .foot-cont .comp-info .left {
        width: 100%;
        padding-right: 0;
    }
}

footer .foot-cont .comp-info .right {
    width: 50%;
    border-left: 1px solid #484c60;
    padding-left: 7%;
}

@media screen and (max-width: 767px) {
    footer .foot-cont .comp-info .right {
        width: 100%;
        margin-top: 30px;
        padding-left: 0;
        border-left: none;
    }
}

footer .foot-cont .comp-info .right > ul {
    margin-top: 20px;
}

@media screen and (max-width: 767px) {
    footer .foot-cont .comp-info .right > ul {
        margin-top: 10px;
    }
}

footer .foot-cont .comp-info .right > ul > li {
    margin-top: 10px;
    font-size: 14px;
    line-height: 22px;
    color: #a6a6ac;
}

@media screen and (max-width: 767px) {
    footer .foot-cont .comp-info .right > ul > li {
        font-size: 13px;
    }
}

@media screen and (max-width: 767px) {
    footer .foot-cont .comp-info .right > ul > li {
        margin-top: 5px;
    }
}

footer .foot-cont .comp-info .right > ul > li:first-child {
    margin-top: 0;
}

footer .foot-cont .comp-info p {
    margin-top: 20px;
    font-size: 14px;
    line-height: 22px;
    color: #a6a6ac;
}

@media screen and (max-width: 767px) {
    footer .foot-cont .comp-info p {
        font-size: 13px;
    }
}

@media screen and (max-width: 767px) {
    footer .foot-cont .comp-info p {
        margin-top: 10px;
    }
}

footer .foot-cont .comp-info p:first-child {
    margin-top: 0;
}

footer .foot-cont .comp-info p.tit {
    display: inline-block;
    padding-bottom: 3px;
    border-bottom: 1px solid #fff;
    color: #fff;
}

footer .foot-cont .comp-info p.name {
    font-weight: 700;
}

footer .foot-cont .comp-info .dropdown {
    margin-top: 20px;
}

@media screen and (max-width: 767px) {
    footer .foot-cont .comp-info .dropdown {
        margin-top: 10px;
    }
}

footer .foot-cont .sns-links {
    position: absolute;
    top: 0;
    right: 20px;
    font-size: 0;
}

footer .foot-cont .sns-links li {
    display: inline-block;
    vertical-align: top;
    margin-left: 10px;
}

footer .foot-cont .sns-links li:first-child {
    margin-left: 0;
}

footer .foot-cont .sns-links li a {
    display: block;
    width: 38px;
    height: 38px;
    background: #47494c;
    border-radius: 50%;
    overflow: hidden;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmNzcyIsInNvdXJjZXMiOlsiY29tbW9uLnNjc3MiLCJ1dGlsaXRpZXMvX3ZhcmlhYmxlcy5zY3NzIiwidXRpbGl0aWVzL19taXhpbnMuc2NzcyIsInV0aWxpdGllcy9fZm9udC5zY3NzIiwiX3Jlc2V0LnNjc3MiLCJtb2R1bGVzL19tb2R1bGVzLnNjc3MiLCJtb2R1bGVzL19hY2NvcmRpb24uc2NzcyIsIm1vZHVsZXMvX2JvYXJkLnNjc3MiLCJtb2R1bGVzL19idXR0b24uc2NzcyIsIm1vZHVsZXMvX2RhdGVwaWNrZXIuc2NzcyIsIm1vZHVsZXMvX2Ryb3Bkb3duLnNjc3MiLCJtb2R1bGVzL19maWx0ZXIuc2NzcyIsIm1vZHVsZXMvX2ZsYWcuc2NzcyIsIm1vZHVsZXMvX2lucHV0LnNjc3MiLCJtb2R1bGVzL19saXN0LnNjc3MiLCJtb2R1bGVzL19tb2RhbC5zY3NzIiwibW9kdWxlcy9fcGFnaW5hdGlvbi5zY3NzIiwibW9kdWxlcy9fc2VsZWN0Ym94LnNjc3MiLCJtb2R1bGVzL19zbGlkZXIuc2NzcyIsIm1vZHVsZXMvX3RhYi5zY3NzIiwibW9kdWxlcy9fdGFibGUuc2NzcyIsIm1vZHVsZXMvX3RpdGxlLnNjc3MiLCJsYXlvdXQvX2NvbW1vbi5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gdXRpbGl0aWVzXG5AaW1wb3J0IFwidXRpbGl0aWVzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZm9udFwiO1xuXG4vLyByZXNldFxuQGltcG9ydCBcInJlc2V0XCI7XG5cbi8vIG1vZHVsZXNcbkBpbXBvcnQgXCJtb2R1bGVzL21vZHVsZXNcIjtcblxuLy8gbGF5b3V0XG5AaW1wb3J0IFwibGF5b3V0L2NvbW1vblwiO1xuQGltcG9ydCBcImxheW91dC9oZWFkZXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvZm9vdGVyXCI7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuJGJsYWNrIDogIzExMTtcclxuJGJhc2ljIDogIzMzMztcclxuJGM0NDQgOiAjNGY0ZjRmO1xyXG4kY29udCA6ICM2NjY7XHJcbiRncmF5IDogIzk2OTY5NjtcclxuJGNiYmIgOiAjYjliOWI5O1xyXG4kcG9pbnQgOiAjZmZjODM3O1xyXG4kcG9pbnQyIDogIzRjN2RiYTtcclxuJGJsdXIgOiAjZjZmNmY2O1xyXG4kYm9yZGVyIDogI2U1ZTVlNTtcclxuJHJlZCA6ICNlMTE5MTk7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gYnJlYWtwb2ludFxyXG5AbWl4aW4gcGMge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGJwYyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gc3BjIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiB0YWJsZXQge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIG1vYmlsZSB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBtb2Ige1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gZm9udCBzaXplXHJcbkBtaXhpbiBmb250LWgzIHsgLy8gY29udGVudCAzNnB4XHJcbiAgICBmb250LXNpemU6MzZweDtcclxuICAgIGxpbmUtaGVpZ2h0OjQ0cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzotMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6NzAwO1xyXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICBmb250LXNpemU6MzJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDozOHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICBmb250LXNpemU6MjhweDtcclxuICAgICAgICBsaW5lLWhlaWdodDozNnB4O1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBmb250LWg0IHsgLy8gY29udGVudCB0aXRsZSAzMHB4XHJcbiAgICBmb250LXNpemU6MzBweDtcclxuICAgIGxpbmUtaGVpZ2h0OjQwcHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzotMS41cHg7XHJcbiAgICBmb250LXdlaWdodDo3MDA7XHJcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgIGZvbnQtc2l6ZToyOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjM2cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZToyNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjMxcHg7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZvbnQtdGl0bGUgeyAvLyBjb250ZW50IDIycHhcclxuICAgIGZvbnQtc2l6ZToyMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6MzBweDtcclxuICAgIGxldHRlci1zcGFjaW5nOi0xcHg7XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjI4cHg7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZvbnQtZGVzYyB7XHJcbiAgICBmb250LXNpemU6MThweDtcclxuICAgIGxpbmUtaGVpZ2h0OjI2cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzotMC43cHg7XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZToxNnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjI0cHg7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZvbnQtY29udCB7IC8vIGNvbnRlbnQgMTZ+MTdweFxyXG4gICAgZm9udC1zaXplOjE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDoyNHB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6LTAuNXB4O1xyXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICBmb250LXNpemU6MTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDoyMnB4O1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBmb250LXNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6MjJweDtcclxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOjEzcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIG5hbnVtIHNxdWFyZSBvbmx5XHJcbkBtaXhpbiBza2V3IHtcclxuICAgIHRyYW5zZm9ybTogc2tldygtMC4wNWRlZykgIWltcG9ydGFudDtcclxufVxyXG5AbWl4aW4gZm9udC1ub3RvIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2FucyBLUlwiICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIGJhY2tncm91bmRcclxuQG1peGluIGJnLWNvdmVyIHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG59XHJcblxyXG4vLyB0ZXh0IGVsbGlwc2lzXHJcbkBtaXhpbiB0ZXh0RWxsaXBzaXMoKSB7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuQG1peGluIHRleHRFbGxpcHNpc0NsYW1wKCRsaW5lLWNsYW1wKSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmUtY2xhbXA7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG59XHJcblxyXG4vLyBjbGVhcmZpeFxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBwZXJjZW50IGNhbGNcclxuQG1peGluIGNhbGNzKCRwcm9wZXJ0eSwgJHNpemUsICR3cmFwKSB7XHJcbiAgICAjeyRwcm9wZXJ0eX06ICgoJHNpemUgKiAxMDAlKSAvICR3cmFwKTtcclxufVxyXG5cclxuLy8gbWF4LXdpZHRoIOqzte2Gte2ZlFxyXG5AbWl4aW4gY29udEFyZWEge1xyXG4gICAgbWF4LXdpZHRoOiAxMjgwcHggKyA0MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xyXG4gICAgfVxyXG59IiwiLyogZm9udCAqL1xyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zIEtSJztcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICBzcmM6IHVybCgnL2ZvbnRzL25vdG8tc2Fucy1rci12MTMta29yZWFuLTEwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gICAgc3JjOiBsb2NhbCgnJyksXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tMTAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi0xMDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgIHVybCgnL2ZvbnRzL25vdG8tc2Fucy1rci12MTMta29yZWFuLTEwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgIHVybCgnL2ZvbnRzL25vdG8tc2Fucy1rci12MTMta29yZWFuLTEwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tMTAwLnN2ZyNOb3RvU2Fuc0tSJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMgS1InO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIHNyYzogdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tMzAwLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcbiAgICBzcmM6IGxvY2FsKCcnKSxcclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi0zMDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG4gICAgICAgIHVybCgnL2ZvbnRzL25vdG8tc2Fucy1rci12MTMta29yZWFuLTMwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tMzAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tMzAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi0zMDAuc3ZnI05vdG9TYW5zS1InKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucyBLUic7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi1yZWd1bGFyLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcbiAgICBzcmM6IGxvY2FsKCcnKSxcclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi1yZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi1yZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tcmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tcmVndWxhci5zdmcjTm90b1NhbnNLUicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxufVxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zIEtSJztcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBzcmM6IHVybCgnL2ZvbnRzL25vdG8tc2Fucy1rci12MTMta29yZWFuLTUwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gICAgc3JjOiBsb2NhbCgnJyksXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tNTAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi01MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgIHVybCgnL2ZvbnRzL25vdG8tc2Fucy1rci12MTMta29yZWFuLTUwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgIHVybCgnL2ZvbnRzL25vdG8tc2Fucy1rci12MTMta29yZWFuLTUwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tNTAwLnN2ZyNOb3RvU2Fuc0tSJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMgS1InO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHNyYzogdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tNzAwLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcbiAgICBzcmM6IGxvY2FsKCcnKSxcclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi03MDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG4gICAgICAgIHVybCgnL2ZvbnRzL25vdG8tc2Fucy1rci12MTMta29yZWFuLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tNzAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tNzAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi03MDAuc3ZnI05vdG9TYW5zS1InKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucyBLUic7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi05MDAuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICAgIHNyYzogbG9jYWwoJycpLFxyXG4gICAgICAgIHVybCgnL2ZvbnRzL25vdG8tc2Fucy1rci12MTMta29yZWFuLTkwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICAgdXJsKCcvZm9udHMvbm90by1zYW5zLWtyLXYxMy1rb3JlYW4tOTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi05MDAud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgICB1cmwoJy9mb250cy9ub3RvLXNhbnMta3ItdjEzLWtvcmVhbi05MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgIHVybCgnL2ZvbnRzL25vdG8tc2Fucy1rci12MTMta29yZWFuLTkwMC5zdmcjTm90b1NhbnNLUicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuLyogcmVzZXQgKi9cclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWFyZ2luOjA7XHJcbiAgICBwYWRkaW5nOjA7XHJcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6bm9uZTtcclxufVxyXG5odG1sIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2FucyBLUlwiLCBzYW5zLXNlcmlmO1xyXG4gICAgY29sb3I6JGJhc2ljO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6MTtcclxuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcclxuICAgIGxldHRlci1zcGFjaW5nOi0wLjNweDtcclxufVxyXG50ZXh0YXJlYSB7XHJcbiAgICByZXNpemU6IG5vbmU7XHJcbn1cclxuZmllbGRzZXQsXHJcbmltZyB7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuaW1nIHtcclxuICAgIHdpZHRoOmF1dG87XHJcbiAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgIGhlaWdodDphdXRvO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5saSxcclxub2wsXHJcbnVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuYWRkcmVzcyxcclxuZW0sXHJcbmkge1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbmEge1xyXG4gICAgY29sb3I6aW5oZXJpdDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICAgIGZvbnQtZmFtaWx5OmluaGVyaXQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzppbmhlcml0O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5zdHJvbmcsXHJcbnRoLFxyXG5iLFxyXG5lbSB7XHJcbiAgICBmb250LWZhbWlseTppbmhlcml0O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtcclxuICAgIGZvbnQtd2VpZ2h0OmluaGVyaXQ7XHJcbn1cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmRldGFpbHMsXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWVudSxcclxubmF2LFxyXG5zZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbmlucHV0LFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhLFxyXG5idXR0b24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG59XHJcbmJsb2NrcXVvdGUsXHJcbnEge1xyXG4gICAgcXVvdGVzOiBub25lO1xyXG59XHJcbmJsb2NrcXVvdGU6YmVmb3JlLFxyXG5ibG9ja3F1b3RlOmFmdGVyLFxyXG5xOmJlZm9yZSxcclxucTphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgY29udGVudDogbm9uZTtcclxufVxyXG50YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbn1cclxubGVnZW5kLFxyXG5jYXB0aW9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IC0xMDtcclxuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogbWVkaXVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxufVxyXG5hLFxyXG5idXR0b24ge1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICMzMzM7XHJcbiAgICAgICAgJjpub3QoOmZvY3VzLXZpc2libGUpIHtcclxuICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuYnV0dG9uIHtcclxuICAgIGJvcmRlcjpub25lO1xyXG4gICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjpwb2ludGVyO1xyXG59XHJcbi5ibGluZCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIG1hcmdpbjogLTFweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XHJcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwiYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwiYm9hcmRcIjtcbi8vIEBpbXBvcnQgXCJib3hcIjtcbkBpbXBvcnQgXCJidXR0b25cIjtcbi8vIEBpbXBvcnQgXCJjYWxlbmRhclwiO1xuQGltcG9ydCBcImRhdGVwaWNrZXJcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImZpbHRlclwiO1xuQGltcG9ydCBcImZsYWdcIjtcbkBpbXBvcnQgXCJpbnB1dFwiO1xuQGltcG9ydCBcImxpc3RcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJzZWxlY3Rib3hcIjtcbkBpbXBvcnQgXCJzbGlkZXJcIjtcbkBpbXBvcnQgXCJ0YWJcIjtcbkBpbXBvcnQgXCJ0YWJsZVwiO1xuQGltcG9ydCBcInRpdGxlXCI7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLyogYWNjb3JkaW9uICovXHJcbi5hY2NvcmRpb24td3JhcCB7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHVsLmxpc3RzIHtcclxuICAgICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkYzQ0NDtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGJvcmRlcjtcclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRjNDQ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hY2NvcmQtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgLmJ0bi10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjIwcHggNTBweCAyMHB4IDQ2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd29yZC1icmVhazprZWVwLWFsbDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjE1cHggNTBweCAxNXB4IDM4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6J1EnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOjIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6MjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6JHBvaW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ODAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOjE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOjUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6MjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgJGM0NDQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6bm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6bm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDotOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4ycyBlYXNlLW91dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OjE3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5vcGVuIHtcclxuICAgICAgICAgICAgICAgIC5hY2NvcmQtdGl0bGUgLmJ0bi10b2dnbGU6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi0zcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgyMjVkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hY2NvcmQtY29udCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6MjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDo2NnB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDokYmx1cjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiRjb250O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1jb250O1xyXG4gICAgICAgICAgICAgICAgd29yZC1icmVhazprZWVwLWFsbDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxNXB4IDIwcHggMTVweCA1OHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OidBJztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6MjBweDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OjQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JHBvaW50MjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MjRweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo4MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOjE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6MTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGVybXMtYWNjb3JkaW9uIHtcclxuICAgIHVsLmxpc3RzIHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYWNjb3JkLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICAgICAgLmNoay13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0ICsgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokYmFzaWM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6JHBvaW50MjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5idG4tdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDpyaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MThweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29udDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWNvbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MjRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6NTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi02cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkY29udDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDpub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6bm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLm9wZW4gLmFjY29yZC10aXRsZSAuYnRuLXRvZ2dsZTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDotMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hY2NvcmQtY29udCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vKiBib2FyZCAqL1xyXG4uYm9hcmR2aWV3LXdyYXAge1xyXG4gICAgLmJvYXJkLWhlYWQge1xyXG4gICAgICAgIHBhZGRpbmc6MCAxMnB4IDE1cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGJvcmRlcjtcclxuICAgICAgICAudGl0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1oNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmluZm8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTowO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjMwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjokZ3JheTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYm9hcmQtY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6NDBweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYm9yZGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46NjBweCAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOjUwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOjMwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MCAxMnB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWNvbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiRjb250O1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206NjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206NTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MzBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZmlsZXMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOjYwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MjBweCAxMnB4O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkYm9yZGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6NTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDozMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aXQge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiRibGFjaztcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZmlsZS1saXN0cyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDoxMDBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6MXB4IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ODBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zbWFsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6JGdyYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBjIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYm9hcmQtZm9vdCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDo2MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6NTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDo0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAubW9yZS12aWV3IHtcclxuICAgICAgICAgICAgLnByZXYsXHJcbiAgICAgICAgICAgIC5uZXh0IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOjUwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjQwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDpjYWxjKCgxMDAlIC0gNDBweCkgLyAyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOjUwJTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6LTlweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICRjb250O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi02cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZGwge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6JGM0NDQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6bm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBkZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjAgMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWNvbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokZ3JheTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHRFbGxpcHNpcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByZXYge1xyXG4gICAgICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjUwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OjZweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOm5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0Om5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDozcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5uZXh0IHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OjA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjUwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OjZweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDpub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDozcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZGwge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idG4tdG8tbGlzdCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgICAgICB3aWR0aDo1MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6NTBweDtcclxuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkcG9pbnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDozNnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjM2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6NTAlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDo1MCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDoxNnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjExcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDotOHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDotNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDoxcHggc29saWQgJHBvaW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJHBvaW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6NTAlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDo1MCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDoxNnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjFweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0Oi04cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRwb2ludDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnFuYS10eXBlIHtcclxuICAgICAgICAuYm9hcmQtaGVhZCB7XHJcbiAgICAgICAgICAgIC50aXQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjI2cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXRpdGxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbmZvIHtcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNtYWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xLWJveCB7XHJcbiAgICAgICAgICAgIC5ib2FyZC1oZWFkIC50aXQge1xyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OidRJztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MjZweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDotMjZweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo5MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JHBvaW50MjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYS1ib3gge1xyXG4gICAgICAgICAgICAuYm9hcmQtaGVhZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDoxNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDokYmx1cjtcclxuICAgICAgICAgICAgICAgIC50aXQge1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6J0EnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDotMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6OTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8qIGJ1dHRvbiAqL1xyXG4uYnRuIHtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgaGVpZ2h0OjQwcHg7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICRjb250O1xyXG4gICAgcGFkZGluZzowIDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgY29sb3I6JGJhc2ljO1xyXG4gICAgQGluY2x1ZGUgZm9udC1zbWFsbDtcclxuICAgIGxpbmUtaGVpZ2h0OjM4cHggIWltcG9ydGFudDtcclxuICAgID5zcGFuIHtcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICB9XHJcbiAgICAvLyBjb2xvclxyXG4gICAgJi5kayB7XHJcbiAgICAgICAgYmFja2dyb3VuZDokYzQ0NDtcclxuICAgICAgICBib3JkZXItY29sb3I6JGM0NDQ7XHJcbiAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgIH1cclxuICAgICYuZ3JheSB7XHJcbiAgICAgICAgY29sb3I6JGM0NDQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDojZWZlZmVmO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjokYm9yZGVyO1xyXG4gICAgfVxyXG4gICAgJi5jb250IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiRjb250O1xyXG4gICAgICAgIGNvbG9yOiNmZmY7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiRjb250O1xyXG4gICAgfVxyXG4gICAgJi5ibHVlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiRwb2ludDI7XHJcbiAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgICAgICBib3JkZXItY29sb3I6JHBvaW50MjtcclxuICAgIH1cclxuICAgIC8vIHNpemVcclxuICAgICYuc21hbGwge1xyXG4gICAgICAgIG1pbi13aWR0aDo3MnB4O1xyXG4gICAgICAgIHBhZGRpbmc6MCA1cHg7XHJcbiAgICAgICAgaGVpZ2h0OjI3cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6MjVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6MnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLXdyYXAge1xyXG4gICAgbWFyZ2luLXRvcDo1MHB4O1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBmb250LXNpemU6MDtcclxuICAgIC5idG4ge1xyXG4gICAgICAgIHdpZHRoOjE4MHB4O1xyXG4gICAgICAgIGhlaWdodDo1MHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6NHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OjEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1jb250O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjQ4cHggIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDo1MDA7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjMwcHg7XHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgIHdpZHRoOmNhbGMoKDEwMCUgLSA1cHgpIC8gMik7XHJcbiAgICAgICAgICAgIGhlaWdodDo0NHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDo1cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjQycHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDowO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2l6ZTMgLmJ0biB7XHJcbiAgICAgICAgICAgIHdpZHRoOmNhbGMoKDEwMCUgLSAxMHB4KSAvIDMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ0bnMge1xyXG4gICAgZm9udC1zaXplOjA7XHJcbiAgICAuYnRuIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDo1cHg7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLyogZGF0ZXBpY2tlciAqL1xyXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSxcclxuLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBjb2xvcjogI2RlZGVkZTtcclxufVxyXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLTpob3ZlcixcclxuLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLTpob3ZlciB7XHJcbiAgICBjb2xvcjogI2M1YzVjNTtcclxufVxyXG4uLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi4tZGlzYWJsZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcclxuICAgIGNvbG9yOiAjZGVkZWRlO1xyXG59XHJcbi4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQ6ICNhMmRkZjY7XHJcbn1cclxuLi1zZWxlY3RlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLFxyXG4uLXNlbGVjdGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjOGFkNWY0O1xyXG59XHJcbi4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxOTYsIDIzOSwgMC4xKTtcclxuICAgIGNvbG9yOiAjY2NjY2NjO1xyXG59XHJcbi4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSxcclxuLi1pbi1yYW5nZS0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMik7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06ZW1wdHksXHJcbi5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06ZW1wdHkge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICBEYXRlcGlja2VyIGNlbGxzXHJcbiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uZGF0ZXBpY2tlci0tY2VsbHMge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tY2VsbCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBjb2xvcjokY29udDtcclxuICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG4uZGF0ZXBpY2tlci0tY2VsbC4tZm9jdXMtIHtcclxuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwuLWN1cnJlbnQtIHtcclxuICAgIGNvbG9yOiAkYmFzaWM7XHJcbiAgICBiYWNrZ3JvdW5kOiRib3JkZXI7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwuLWN1cnJlbnQtLi1mb2N1cy0ge1xyXG4gICAgY29sb3I6ICRiYXNpYztcclxufVxyXG4uZGF0ZXBpY2tlci0tY2VsbC4tY3VycmVudC0uLWluLXJhbmdlLSB7XHJcbiAgICBjb2xvcjogIzRlYjVlNjtcclxufVxyXG4uZGF0ZXBpY2tlci0tY2VsbC4taW4tcmFuZ2UtIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xyXG4gICAgY29sb3I6ICRiYXNpYztcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwuLWluLXJhbmdlLS4tZm9jdXMtIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjIpO1xyXG59XHJcbi5kYXRlcGlja2VyLS1jZWxsLi1kaXNhYmxlZC0ge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgY29sb3I6ICNhZWFlYWU7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwuLWRpc2FibGVkLS4tZm9jdXMtIHtcclxuICAgIGNvbG9yOiAjYWVhZWFlO1xyXG59XHJcbi5kYXRlcGlja2VyLS1jZWxsLi1kaXNhYmxlZC0uLWluLXJhbmdlLSB7XHJcbiAgICBjb2xvcjogI2ExYTFhMTtcclxufVxyXG4uZGF0ZXBpY2tlci0tY2VsbC4tZGlzYWJsZWQtLi1jdXJyZW50LS4tZm9jdXMtIHtcclxuICAgIGNvbG9yOiAjYWVhZWFlO1xyXG59XHJcbi5kYXRlcGlja2VyLS1jZWxsLi1yYW5nZS1mcm9tLSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDkyLCAxOTYsIDIzOSwgMC41KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwuLXJhbmdlLXRvLSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDkyLCAxOTYsIDIzOSwgMC41KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwuLXJhbmdlLWZyb20tLi1yYW5nZS10by0ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcbi5kYXRlcGlja2VyLS1jZWxsLi1zZWxlY3RlZC0ge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcG9pbnQ7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwuLXNlbGVjdGVkLS4tY3VycmVudC0ge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcG9pbnQ7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwuLXNlbGVjdGVkLS4tZm9jdXMtIHtcclxuICAgIGJhY2tncm91bmQ6ICRwb2ludDtcclxufVxyXG4uZGF0ZXBpY2tlci0tY2VsbDplbXB0eSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLS1kYXlzLW5hbWVzIHtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogOHB4IDAgM3B4O1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tZGF5LW5hbWUge1xyXG4gICAgY29sb3I6ICNmZjlhMTk7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC13ZWJraXQtZmxleDogMTtcclxuICAgIC1tcy1mbGV4OiAxO1xyXG4gICAgZmxleDogMTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkge1xyXG4gICAgd2lkdGg6IDE0LjI4NTcxJTtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItLWNlbGxzLW1vbnRocyB7XHJcbiAgICBoZWlnaHQ6IDE3MHB4O1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tY2VsbC1tb250aCB7XHJcbiAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgaGVpZ2h0OiAyNSU7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLS15ZWFycyB7XHJcbiAgICBoZWlnaHQ6IDE3MHB4O1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tY2VsbHMteWVhcnMge1xyXG4gICAgaGVpZ2h0OiAxNzBweDtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItLWNlbGwteWVhciB7XHJcbiAgICB3aWR0aDogMjUlO1xyXG4gICAgaGVpZ2h0OiAzMy4zMyU7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLFxyXG4uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcclxuICAgIGNvbG9yOiAjZGVkZWRlO1xyXG59XHJcbi5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmhvdmVyLFxyXG4uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjYzVjNWM1O1xyXG59XHJcbi4tZGlzYWJsZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSxcclxuLi1kaXNhYmxlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgY29sb3I6ICNkZWRlZGU7XHJcbn1cclxuLi1zZWxlY3RlZC0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSxcclxuLi1zZWxlY3RlZC0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZDogI2EyZGRmNjtcclxufVxyXG4uLXNlbGVjdGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcclxuICAgIGJhY2tncm91bmQ6ICM4YWQ1ZjQ7XHJcbn1cclxuLi1pbi1yYW5nZS0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSxcclxuLi1pbi1yYW5nZS0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xyXG4gICAgY29sb3I6ICNjY2NjY2M7XHJcbn1cclxuLi1pbi1yYW5nZS0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLFxyXG4uLWluLXJhbmdlLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxOTYsIDIzOSwgMC4yKTtcclxufVxyXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLTplbXB0eSxcclxuLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLTplbXB0eSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgIERhdGVwaWNrZXJcclxuICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5kYXRlcGlja2Vycy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxufVxyXG5AbWVkaWEgcHJpbnQge1xyXG4gICAgLmRhdGVwaWNrZXJzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmRhdGVwaWNrZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBza2V3O1xyXG4gICAgY29sb3I6ICRiYXNpYztcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC0xMDAwMDBweDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgbGVmdCAwcyAwLjNzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZSwgbGVmdCAwcyAwLjNzO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2UsIGxlZnQgMHMgMC4zcywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG59XHJcbi5kYXRlcGlja2VyLi1mcm9tLXRvcC0ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XHJcbn1cclxuLmRhdGVwaWNrZXIuLWZyb20tcmlnaHQtIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcclxufVxyXG4uZGF0ZXBpY2tlci4tZnJvbS1ib3R0b20tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcclxufVxyXG4uZGF0ZXBpY2tlci4tZnJvbS1sZWZ0LSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTtcclxufVxyXG4uZGF0ZXBpY2tlci5hY3RpdmUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCBsZWZ0IDBzIDBzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZSwgbGVmdCAwcyAwcztcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBsZWZ0IDBzIDBzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLWlubGluZSAuZGF0ZXBpY2tlciB7XHJcbiAgICBib3JkZXItY29sb3I6ICNkN2Q3ZDc7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItaW5saW5lIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLS1jb250ZW50IHtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgcGFkZGluZzogNHB4O1xyXG59XHJcbi4tb25seS10aW1lcGlja2VyLSAuZGF0ZXBpY2tlci0tY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tcG9pbnRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYmRiZGI7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGJkYmRiO1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICB6LWluZGV4OiAtMTtcclxufVxyXG4uLXRvcC1sZWZ0LSAuZGF0ZXBpY2tlci0tcG9pbnRlcixcclxuLi10b3AtY2VudGVyLSAuZGF0ZXBpY2tlci0tcG9pbnRlcixcclxuLi10b3AtcmlnaHQtIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcclxuICAgIHRvcDogY2FsYygxMDAlIC0gNHB4KTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbn1cclxuLi1yaWdodC10b3AtIC5kYXRlcGlja2VyLS1wb2ludGVyLFxyXG4uLXJpZ2h0LWNlbnRlci0gLmRhdGVwaWNrZXItLXBvaW50ZXIsXHJcbi4tcmlnaHQtYm90dG9tLSAuZGF0ZXBpY2tlci0tcG9pbnRlciB7XHJcbiAgICByaWdodDogY2FsYygxMDAlIC0gNHB4KTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XHJcbn1cclxuLi1ib3R0b20tbGVmdC0gLmRhdGVwaWNrZXItLXBvaW50ZXIsXHJcbi4tYm90dG9tLWNlbnRlci0gLmRhdGVwaWNrZXItLXBvaW50ZXIsXHJcbi4tYm90dG9tLXJpZ2h0LSAuZGF0ZXBpY2tlci0tcG9pbnRlciB7XHJcbiAgICBib3R0b206IGNhbGMoMTAwJSAtIDRweCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpO1xyXG59XHJcbi4tbGVmdC10b3AtIC5kYXRlcGlja2VyLS1wb2ludGVyLFxyXG4uLWxlZnQtY2VudGVyLSAuZGF0ZXBpY2tlci0tcG9pbnRlcixcclxuLi1sZWZ0LWJvdHRvbS0gLmRhdGVwaWNrZXItLXBvaW50ZXIge1xyXG4gICAgbGVmdDogY2FsYygxMDAlIC0gNHB4KTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcbi4tdG9wLWxlZnQtIC5kYXRlcGlja2VyLS1wb2ludGVyLFxyXG4uLWJvdHRvbS1sZWZ0LSAuZGF0ZXBpY2tlci0tcG9pbnRlciB7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG59XHJcbi4tdG9wLXJpZ2h0LSAuZGF0ZXBpY2tlci0tcG9pbnRlcixcclxuLi1ib3R0b20tcmlnaHQtIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG59XHJcbi4tdG9wLWNlbnRlci0gLmRhdGVwaWNrZXItLXBvaW50ZXIsXHJcbi4tYm90dG9tLWNlbnRlci0gLmRhdGVwaWNrZXItLXBvaW50ZXIge1xyXG4gICAgbGVmdDogY2FsYyg1MCUgLSAxMHB4IC8gMik7XHJcbn1cclxuLi1sZWZ0LXRvcC0gLmRhdGVwaWNrZXItLXBvaW50ZXIsXHJcbi4tcmlnaHQtdG9wLSAuZGF0ZXBpY2tlci0tcG9pbnRlciB7XHJcbiAgICB0b3A6IDEwcHg7XHJcbn1cclxuLi1sZWZ0LWJvdHRvbS0gLmRhdGVwaWNrZXItLXBvaW50ZXIsXHJcbi4tcmlnaHQtYm90dG9tLSAuZGF0ZXBpY2tlci0tcG9pbnRlciB7XHJcbiAgICBib3R0b206IDEwcHg7XHJcbn1cclxuLi1sZWZ0LWNlbnRlci0gLmRhdGVwaWNrZXItLXBvaW50ZXIsXHJcbi4tcmlnaHQtY2VudGVyLSAuZGF0ZXBpY2tlci0tcG9pbnRlciB7XHJcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCAvIDIpO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tYm9keSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5kYXRlcGlja2VyLS1ib2R5LmFjdGl2ZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgY29sb3I6ICNkZWRlZGU7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06aG92ZXIsXHJcbi5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06aG92ZXIge1xyXG4gICAgY29sb3I6ICNjNWM1YzU7XHJcbn1cclxuLi1kaXNhYmxlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLFxyXG4uLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBjb2xvcjogI2RlZGVkZTtcclxufVxyXG4uLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLFxyXG4uLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYTJkZGY2O1xyXG59XHJcbi4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSxcclxuLi1zZWxlY3RlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgYmFja2dyb3VuZDogIzhhZDVmNDtcclxufVxyXG4uLWluLXJhbmdlLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLFxyXG4uLWluLXJhbmdlLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMSk7XHJcbiAgICBjb2xvcjogI2NjY2NjYztcclxufVxyXG4uLWluLXJhbmdlLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjIpO1xyXG59XHJcbi5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmVtcHR5LFxyXG4uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmVtcHR5IHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgTmF2aWdhdGlvblxyXG4gICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmRhdGVwaWNrZXItLW5hdiB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VmZWZlZjtcclxuICAgIG1pbi1oZWlnaHQ6IDMycHg7XHJcbiAgICBwYWRkaW5nOiA0cHg7XHJcbn1cclxuLi1vbmx5LXRpbWVwaWNrZXItIC5kYXRlcGlja2VyLS1uYXYge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItLW5hdi10aXRsZSxcclxuLmRhdGVwaWNrZXItLW5hdi1hY3Rpb24ge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBjb2xvcjokYmFzaWM7XHJcbiAgICBAaW5jbHVkZSBmb250LWNvbnQ7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLS1uYXYtYWN0aW9uIHtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG4uZGF0ZXBpY2tlci0tbmF2LWFjdGlvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xyXG59XHJcbi5kYXRlcGlja2VyLS1uYXYtYWN0aW9uLi1kaXNhYmxlZC0ge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi5kYXRlcGlja2VyLS1uYXYtYWN0aW9uIHN2ZyB7XHJcbiAgICB3aWR0aDogMzJweDtcclxuICAgIGhlaWdodDogMzJweDtcclxufVxyXG4uZGF0ZXBpY2tlci0tbmF2LWFjdGlvbiBwYXRoIHtcclxuICAgIGZpbGw6IG5vbmU7XHJcbiAgICBzdHJva2U6ICM5YzljOWM7XHJcbiAgICBzdHJva2Utd2lkdGg6IDJweDtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItLW5hdi10aXRsZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBwYWRkaW5nOiAwIDhweDtcclxufVxyXG4uZGF0ZXBpY2tlci0tbmF2LXRpdGxlIGkge1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgY29sb3I6ICM5YzljOWM7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcbi5kYXRlcGlja2VyLS1uYXYtdGl0bGU6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcclxufVxyXG4uZGF0ZXBpY2tlci0tbmF2LXRpdGxlLi1kaXNhYmxlZC0ge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogNHB4O1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZmVmZWY7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLS1idXR0b24ge1xyXG4gICAgY29sb3I6ICM0ZWI1ZTY7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAtd2Via2l0LWZsZXg6IDE7XHJcbiAgICAtbXMtZmxleDogMTtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMzJweDtcclxufVxyXG4uZGF0ZXBpY2tlci0tYnV0dG9uOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkYmFzaWM7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSxcclxuLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBjb2xvcjogI2RlZGVkZTtcclxufVxyXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLTpob3ZlcixcclxuLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLTpob3ZlciB7XHJcbiAgICBjb2xvcjogI2M1YzVjNTtcclxufVxyXG4uLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi4tZGlzYWJsZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcclxuICAgIGNvbG9yOiAjZGVkZWRlO1xyXG59XHJcbi4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQ6ICNhMmRkZjY7XHJcbn1cclxuLi1zZWxlY3RlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLFxyXG4uLXNlbGVjdGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjOGFkNWY0O1xyXG59XHJcbi4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxOTYsIDIzOSwgMC4xKTtcclxuICAgIGNvbG9yOiAjY2NjY2NjO1xyXG59XHJcbi4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSxcclxuLi1pbi1yYW5nZS0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMik7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06ZW1wdHksXHJcbi5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06ZW1wdHkge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICBUaW1lcGlja2VyXHJcbiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uZGF0ZXBpY2tlci0tdGltZSB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VmZWZlZjtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogNHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLi1hbS1wbS0gLmRhdGVwaWNrZXItLXRpbWUtc2xpZGVycyB7XHJcbiAgICAtd2Via2l0LWZsZXg6IDAgMSAxMzhweDtcclxuICAgIC1tcy1mbGV4OiAwIDEgMTM4cHg7XHJcbiAgICBmbGV4OiAwIDEgMTM4cHg7XHJcbiAgICBtYXgtd2lkdGg6IDEzOHB4O1xyXG59XHJcbi4tb25seS10aW1lcGlja2VyLSAuZGF0ZXBpY2tlci0tdGltZSB7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tdGltZS1zbGlkZXJzIHtcclxuICAgIC13ZWJraXQtZmxleDogMCAxIDE1M3B4O1xyXG4gICAgLW1zLWZsZXg6IDAgMSAxNTNweDtcclxuICAgIGZsZXg6IDAgMSAxNTNweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIG1heC13aWR0aDogMTUzcHg7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLS10aW1lLWxhYmVsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LWZsZXg6IDE7XHJcbiAgICAtbXMtZmxleDogMTtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQtY29sb24ge1xyXG4gICAgbWFyZ2luOiAwIDJweCAzcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItLXRpbWUtY3VycmVudC1ob3VycyxcclxuLmRhdGVwaWNrZXItLXRpbWUtY3VycmVudC1taW51dGVzIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgZm9udC1mYW1pbHk6IFwiQ2VudHVyeSBHb3RoaWNcIiwgQ2VudHVyeUdvdGhpYywgQXBwbGVHb3RoaWMsIHNhbnMtc2VyaWY7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQtaG91cnM6YWZ0ZXIsXHJcbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQtbWludXRlczphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC0ycHg7XHJcbiAgICB0b3A6IC0zcHg7XHJcbiAgICByaWdodDogLTJweDtcclxuICAgIGJvdHRvbTogLTJweDtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG4uZGF0ZXBpY2tlci0tdGltZS1jdXJyZW50LWhvdXJzLi1mb2N1cy06YWZ0ZXIsXHJcbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQtbWludXRlcy4tZm9jdXMtOmFmdGVyIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQtYW1wbSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcclxuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgY29sb3I6ICM5YzljOWM7XHJcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tdGltZS1yb3cge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkZWRlZGUsICNkZWRlZGUpIGxlZnQgNTAlLzEwMCUgMXB4IG5vLXJlcGVhdDtcclxufVxyXG4uZGF0ZXBpY2tlci0tdGltZS1yb3c6Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC13ZWJraXQtZmxleDogMTtcclxuICAgIC1tcy1mbGV4OiAxO1xyXG4gICAgZmxleDogMTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tcy10b29sdGlwIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9XCJyYW5nZVwiXTpob3Zlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjYjhiOGI4O1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPVwicmFuZ2VcIl06aG92ZXI6Oi1tb3otcmFuZ2UtdGh1bWIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjYjhiOGI4O1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPVwicmFuZ2VcIl06aG92ZXI6Oi1tcy10aHVtYiB7XHJcbiAgICBib3JkZXItY29sb3I6ICNiOGI4Yjg7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9XCJyYW5nZVwiXTpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6ICM1Y2M0ZWY7XHJcbiAgICBib3JkZXItY29sb3I6ICM1Y2M0ZWY7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9XCJyYW5nZVwiXTpmb2N1czo6LW1vei1yYW5nZS10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjNWNjNGVmO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjNWNjNGVmO1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Zm9jdXM6Oi1tcy10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjNWNjNGVmO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjNWNjNGVmO1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICB3aWR0aDogMTJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWRlZGU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tb3otcmFuZ2UtdGh1bWIge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZGVkZTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1zLXRodW1iIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICB3aWR0aDogMTJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWRlZGU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAgIG1hcmdpbi10b3A6IC02cHg7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG4uZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbW96LXJhbmdlLXRyYWNrIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1zLXRyYWNrIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1zLWZpbGwtbG93ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1zLWZpbGwtdXBwZXIge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtcm93IHNwYW4ge1xyXG4gICAgcGFkZGluZzogMCAxMnB4O1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci0tdGltZS1pY29uIHtcclxuICAgIGNvbG9yOiAjOWM5YzljO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDAgNXB4IC0xcHggMDtcclxuICAgIHdpZHRoOiAxZW07XHJcbiAgICBoZWlnaHQ6IDFlbTtcclxufVxyXG4uZGF0ZXBpY2tlci0tdGltZS1pY29uOmFmdGVyLFxyXG4uZGF0ZXBpY2tlci0tdGltZS1pY29uOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcbi5kYXRlcGlja2VyLS10aW1lLWljb246YWZ0ZXIge1xyXG4gICAgaGVpZ2h0OiAwLjRlbTtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDFweCk7XHJcbiAgICB0b3A6IGNhbGMoNTAlICsgMXB4KTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbn1cclxuLmRhdGVwaWNrZXItLXRpbWUtaWNvbjpiZWZvcmUge1xyXG4gICAgd2lkdGg6IDAuNGVtO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICB0b3A6IGNhbGMoNTAlICsgMXB4KTtcclxuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMXB4KTtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgY29sb3I6ICNkZWRlZGU7XHJcbn1cclxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06aG92ZXIsXHJcbi5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06aG92ZXIge1xyXG4gICAgY29sb3I6ICNjNWM1YzU7XHJcbn1cclxuLi1kaXNhYmxlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLFxyXG4uLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XHJcbiAgICBjb2xvcjogI2RlZGVkZTtcclxufVxyXG4uLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLFxyXG4uLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYTJkZGY2O1xyXG59XHJcbi4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSxcclxuLi1zZWxlY3RlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgYmFja2dyb3VuZDogIzhhZDVmNDtcclxufVxyXG4uLWluLXJhbmdlLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLFxyXG4uLWluLXJhbmdlLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMSk7XHJcbiAgICBjb2xvcjogI2NjY2NjYztcclxufVxyXG4uLWluLXJhbmdlLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sXHJcbi4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjIpO1xyXG59XHJcbi5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmVtcHR5LFxyXG4uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmVtcHR5IHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLXdyYXAge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBtYXgtd2lkdGg6MjkwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XHJcbiAgICAuaW5wdXQtd3JhcCB7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICB6LWluZGV4OjEwO1xyXG4gICAgICAgIGlucHV0LFxyXG4gICAgICAgIGlucHV0OnJlYWQtb25seSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6NDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgY29sb3I6JGJhc2ljO1xyXG4gICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnRuLWNhbCB7XHJcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOjA7XHJcbiAgICAgICAgcmlnaHQ6MDtcclxuICAgICAgICBib3R0b206MDtcclxuICAgICAgICB3aWR0aDozNnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6dXJsKCcvaW1hZ2VzL2ljb24vaWNvbi1jYWwucG5nJykgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgIH1cclxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8qIGRyb3Bkb3duICovXHJcbi5kcm9wZG93biB7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIG1heC13aWR0aDoyMjJweDtcclxuICAgIGJvcmRlcjoxcHggc29saWQgIzU1NTg2NztcclxuICAgIGJ1dHRvbi5idG4tdG9nZ2xlIHtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgcGFkZGluZzowIDQwcHggMCAxNXB4O1xyXG4gICAgICAgIGNvbG9yOnJnYmEoI2ZmZiwgMC41KTtcclxuICAgICAgICBmb250LXNpemU6MTNweDtcclxuICAgICAgICBsaW5lLWhlaWdodDozMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246bGVmdDtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0RWxsaXBzaXM7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OicgJztcclxuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OjEwcHg7XHJcbiAgICAgICAgICAgIHRvcDo1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6LTNweDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDo2cHggc29saWQgIzU1NTg2NztcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5saXN0cyB7XHJcbiAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgIHRvcDoxMDAlO1xyXG4gICAgICAgIGxlZnQ6LTFweDtcclxuICAgICAgICByaWdodDotMXB4O1xyXG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgIzVmNjc3NTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiMyYzM5NGY7XHJcbiAgICAgICAgei1pbmRleDoxMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6MXB4IGRhc2hlZCAjNWY2Nzc1O1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6bm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjAgMTVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOnJnYmEoI2ZmZiwgMC41KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbm90bztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxM3B4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYub3BlbiB7XHJcbiAgICAgICAgYnV0dG9uLmJ0bi10b2dnbGU6OmFmdGVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGlzdHMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZHJvcHVwIHtcclxuICAgICAgICAubGlzdHMge1xyXG4gICAgICAgICAgICB0b3A6YXV0bztcclxuICAgICAgICAgICAgYm90dG9tOjEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLyogZmlsdGVyICovXHJcbi5saXN0LWZpbHRlciB7XHJcbiAgICBwYWRkaW5nOjI1cHggMzBweDtcclxuICAgIGJhY2tncm91bmQ6JGJsdXI7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgICAgcGFkZGluZzoyNXB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgIHBhZGRpbmc6MjBweCAxMnB4O1xyXG4gICAgfVxyXG4gICAgLnNlYXJjaC13cmFwIHtcclxuICAgICAgICBmbG9hdDpyaWdodDtcclxuICAgICAgICB3aWR0aDo3MCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOjM5OHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIC5zZWxlY3Rib3gtd3JhcCB7XHJcbiAgICAgICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNhbGNzKHdpZHRoLCAxNjhweCwgMzk4cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW5wdXQtYXJlYSB7XHJcbiAgICAgICAgICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2FsY3Mod2lkdGgsIDIyN3B4LCAzOThweCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MzZweDtcclxuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZTRlNGU0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XHJcbiAgICAgICAgICAgIC5pbnB1dC13cmFwIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjM4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJ0bi1zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6MDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OjA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDozNnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjM4cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCgnL2ltYWdlcy9pY29uL2ljb24tc2VhcmNoLmdpZicpIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi50eXBlMiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNvcnQtd3JhcCB7XHJcbiAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICB3aWR0aDoyNSU7XHJcbiAgICAgICAgbWF4LXdpZHRoOjE3MHB4O1xyXG4gICAgfVxyXG4gICAgLnRvdGFsIHtcclxuICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgIGNvbG9yOiRjb250O1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICBsaW5lLWhlaWdodDo0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjokcG9pbnQyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDo1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBkYXRlIHNvcnRpbmcgKi9cclxuLmRhdGUtc29ydGluZy13cmFwIHtcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XHJcbiAgICBwYWRkaW5nOjM1cHggMCA0MHB4O1xyXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmRhdGUge1xyXG4gICAgICAgIHdpZHRoOmNhbGMoKDEwMCUgLSAzMHB4KSAvIDIpO1xyXG4gICAgICAgIG1heC13aWR0aDo1MDBweDtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpdCB7XHJcbiAgICAgICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MzhweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FsZW5kYXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDo5MHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6MDtcclxuICAgICAgICAgICAgLmNhbCxcclxuICAgICAgICAgICAgLmJhciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2FsIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6Y2FsYygoMTAwJSAtIDE1cHgpIC8gMik7XHJcbiAgICAgICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MzhweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjZweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6NTBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRib3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29udDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWNvbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MjRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOm5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6MTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuY2FsLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDowO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OjZweDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206MDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDoyOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDozOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcvaW1hZ2VzL2ljb24vaWNvbi1jYWwucG5nJykgY2VudGVyIG5vLXJlcGVhdDtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDoxNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjE2cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDo0MHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGVyaW9kIHtcclxuICAgICAgICBtYXgtd2lkdGg6NDIwcHg7XHJcbiAgICAgICAgd2lkdGg6Y2FsYygoMTAwJSAtIDMwcHgpIC8gMik7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6MzBweDtcclxuICAgICAgICBmb250LXNpemU6MDtcclxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmRvLWJ0bi13cmFwIHtcclxuICAgICAgICAgICAgd2lkdGg6Y2FsYygoMTAwJSAtIDMwcHgpIC8gNCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDpjYWxjKCgxMDAlIC0gMTVweCkgLyA0KTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vKiBmbGFnICovXHJcbi5mbGFnIHtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG4gICAgbWluLXdpZHRoOjUwcHg7XHJcbiAgICBoZWlnaHQ6MjJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6M3B4O1xyXG4gICAgcGFkZGluZzowIDVweDtcclxuICAgIGZvbnQtc2l6ZToxM3B4O1xyXG4gICAgbGluZS1oZWlnaHQ6MjJweDtcclxuICAgICYucG9pbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6JHBvaW50O1xyXG4gICAgICAgIGNvbG9yOiNmZmY7XHJcbiAgICB9XHJcbiAgICAmLmJsYWNrIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiRibGFjaztcclxuICAgICAgICBjb2xvcjojZmZmO1xyXG4gICAgfVxyXG4gICAgJi5ibHVlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiRwb2ludDI7XHJcbiAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgIH1cclxuICAgICYucmVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiRyZWQ7XHJcbiAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgIH1cclxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8qIGlucHV0LCBmb3JtcyAqL1xyXG4vLyBpbnB1dFxyXG4uaW5wdXQtd3JhcCB7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcclxuICAgICYuYmxvY2sge1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICB9XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBoZWlnaHQ6NDBweDtcclxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRib3JkZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZDojZmZmO1xyXG4gICAgICAgIHBhZGRpbmc6N3B4IDEwcHg7XHJcbiAgICAgICAgY29sb3I6JGNvbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOjE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6MjRweDtcclxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6bm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIsXHJcbiAgICAgICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjokY2JiYjtcclxuICAgICAgICAgICAgb3BhY2l0eToxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxyXG4gICAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xyXG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6ZGlzYWJsZWQsXHJcbiAgICAgICAgJjpyZWFkLW9ubHkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiRibHVyO1xyXG4gICAgICAgICAgICBjb2xvcjokZ3JheTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBoZWlnaHQ6MjIwcHg7XHJcbiAgICAgICAgcGFkZGluZzoxMHB4O1xyXG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgJGJvcmRlcjtcclxuICAgICAgICBjb2xvcjokY29udDtcclxuICAgICAgICBmb250LXNpemU6MTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDoyNHB4O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOi0uM3B4O1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOm5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OnBsYWNlaG9sZGVyLFxyXG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTRweDtcclxuICAgICAgICAgICAgY29sb3I6JGdyYXk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6MTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDoxODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGNoZWNrYm94XHJcbiR0eXBlcyA6IGNoaywgcmRvLCByZG8tYnRuO1xyXG5AZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xyXG4gICAgLiN7JHR5cGV9LXdyYXAge1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6MjJweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6MXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6MXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgICAgIG1hcmdpbjotMXB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAgICAgICAgIGNsaXA6cmVjdCgwLCAwLCAwLCAwKTtcclxuICAgICAgICAgICAgYm9yZGVyOjA7XHJcbiAgICAgICAgICAgICsgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjMwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjokY29udDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MjRweDtcclxuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0Om5vbmU7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICR0eXBlID09ICdjaGsnIHtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicgJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDoycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgJGJvcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAkdHlwZSA9PSAncmRvJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRib3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAkdHlwZSA9PSAncmRvLWJ0bicge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgJGJvcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDokYmx1cjtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDo0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29udDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDozOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6bm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDozNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDozMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6ZGlzYWJsZWQgKyBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjokY29udDtcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDokY29udDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJHR5cGUgPT0gJ2Noaycge1xyXG4gICAgICAgICAgICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6NnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOjNweCBzb2xpZCAkcG9pbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6bm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6bm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkdHlwZSA9PSAncmRvJyB7XHJcbiAgICAgICAgICAgICAgICAmOmNoZWNrZWQgKyBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicgJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDo3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czo2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHBvaW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJHR5cGUgPT0gJ3Jkby1idG4nIHtcclxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6JHBvaW50MjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JHBvaW50MjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gZmlsZSB1cGxvYWRcclxuLmZpbGVpbnB1dC13cmFwIHtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgbWF4LXdpZHRoOjY5MHB4O1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIHBhZGRpbmctcmlnaHQ6MTMwcHg7XHJcbiAgICBmb250LXNpemU6MDtcclxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDoxMDVweDtcclxuICAgIH1cclxuICAgIC5maWxlLW5hbWUge1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xyXG4gICAgICAgICAgICBjb2xvcjokYmFzaWM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgIHRvcDowO1xyXG4gICAgICAgIHJpZ2h0OjA7XHJcbiAgICAgICAgd2lkdGg6MTIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OjQwcHg7XHJcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkY29udDtcclxuICAgICAgICBsaW5lLWhlaWdodDozOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZDojZmZmO1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc21hbGw7XHJcbiAgICAgICAgY29sb3I6JGJhc2ljO1xyXG4gICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOjEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9ZmlsZV0ge1xyXG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOjFweDtcclxuICAgICAgICBoZWlnaHQ6MXB4O1xyXG4gICAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgICBtYXJnaW46LTFweDtcclxuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAgICAgY2xpcDpyZWN0KDAsIDAsIDAsIDApO1xyXG4gICAgICAgIGJvcmRlcjowO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBzZWxlY3QgbGlzdCBcclxuLnNsdC1saXN0cyB7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDotMjBweDtcclxuICAgICAgICBmb250LXNpemU6MDtcclxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOi0xMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MjBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6bm9ybWFsO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hdXRvIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDoyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6NTAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgbW9iIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBmb3JtIFxyXG4uZm9ybS13cmFwIHtcclxuICAgIC5mb3JtLXNlY3Qge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6MTAwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDo2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOjQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLXRpdCB7XHJcbiAgICAgICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOjI2MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtaDQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgICAgIGZsb2F0Om5vbmU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDowO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLWNvbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDoyNjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcbiAgICAgICAgICAgICAgICAudGVybXMtYm94IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZvcm0tZGVzYyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjMwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDo5cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbToxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmVzc2VuIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjokcG9pbnQyO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc21hbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6a2VlcC1hbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonKic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6NHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MjBweDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWNvbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JGJhc2ljO1xyXG4gICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6a2VlcC1hbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDon4oC7JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDowO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuYm9sZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBsYWJlbCxcclxuICAgICAgICAgICAgICAgID4gLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDoxODBweDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWNvbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoyNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd29yZC1icmVhazprZWVwLWFsbDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5lc3NlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyonO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6JHBvaW50MjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5mb3JtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6Y2FsYygxMDAlIC0gMTgwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOmNhbGMoMTAwJSAtIDEyMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnR4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6OHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRjb250O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWNvbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjI0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmlucHV0LXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6NTYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5zbHQtbGlzdHMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjhweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyB0eXBlXHJcbiAgICAgICAgICAgICAgICAgICAgJi5mdWxsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmlucHV0LXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5idG4tdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTowO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW5wdXQtd3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDpjYWxjKDEwMCUgLSAxMzBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOmNhbGMoMTAwJSAtIDg1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDoxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDo4MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnRuLXdyYXAge1xyXG4gICAgICAgIG1hcmdpbi10b3A6NTBweDtcclxuICAgICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkYm9yZGVyO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOjcwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDo0MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDo1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOjIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiDslb3qtIAgYm94ICovXHJcbi50ZXJtcy1hY2NvcmRpb24td3JhcCB7XHJcbiAgICAuY2hrLXdyYXAuYWxsIHtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MTVweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDo4cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206MTVweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOjFweCBkYXNoZWQgJGJvcmRlcjtcclxuICAgICAgICBpbnB1dCArIGxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6JGJhc2ljO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDo1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRlcm1zLWJveCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLnRlcm1zLWJveCB7XHJcbiAgICBoZWlnaHQ6MTQwcHg7XHJcbiAgICBwYWRkaW5nOjIwcHg7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICRib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XHJcbiAgICBAaW5jbHVkZSBmb250LXNtYWxsO1xyXG4gICAgY29sb3I6JGdyYXk7XHJcbiAgICBvdmVyZmxvdy15OmF1dG87XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgIHBhZGRpbmc6MTJweDtcclxuICAgIH1cclxufVxyXG4udGVybXMtYWdyZWUge1xyXG4gICAgbWFyZ2luLXRvcDoxMHB4O1xyXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLyogbWFzb25yeSBsaXN0ICovXHJcbi5tYXNvbnJ5LWxpc3Qtd3JhcCB7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAuaXRlbS13cmFwIHtcclxuICAgICAgICBAaW5jbHVkZSBjYWxjcyhtYXJnaW4tdG9wLCAtNjBweCwgMTQwMHB4KTtcclxuICAgICAgICBAaW5jbHVkZSBjYWxjcyhtYXJnaW4tbGVmdCwgLTMwcHgsIDE0MDBweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgLml0ZW1zIHtcclxuICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6MjUlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjYWxjcyhtYXJnaW4tdG9wLCA2MHB4LCAxNDMwcHgpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjYWxjcyhwYWRkaW5nLWxlZnQsIDMwcHgsIDE0MzBweCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDozMy4zMyU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgbW9iIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGh1bWIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTozMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMHB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbmZvIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MTBweDtcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjM1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjRweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRwb2ludDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC50aXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC10aXRsZTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0RWxsaXBzaXNDbGFtcCgyKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd29yZC1icmVhazprZWVwLWFsbDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZGVzYyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0RWxsaXBzaXNDbGFtcCg1KTtcclxuICAgICAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOmtlZXAtYWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmRhdGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MTVweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjokZ3JheTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNtYWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnNyYyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIHRodW1ibmFpbCBsaXN0ICovXHJcbi50aHVtYi1saXN0LXdyYXAge1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgLmxpc3RzIHtcclxuICAgICAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOndyYXA7XHJcbiAgICAgICAgQGluY2x1ZGUgY2FsY3MobWFyZ2luLXRvcCwgLTYwcHgsIDE0MDBweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY2FsY3MobWFyZ2luLWxlZnQsIC0zMHB4LCAxNDAwcHgpO1xyXG4gICAgICAgIC5pdGVtcyB7XHJcbiAgICAgICAgICAgIHdpZHRoOjI1JTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2FsY3MobWFyZ2luLXRvcCwgNjBweCwgMTQzMHB4KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2FsY3MocGFkZGluZy1sZWZ0LCAzMHB4LCAxNDMwcHgpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MzMuMzMlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vYiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDo1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRodW1iIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OmF1dG87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjYWxjcyhwYWRkaW5nLXRvcCwgMzYycHgsIDM5NXB4KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MTBweDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJnLWNvdmVyO1xyXG4gICAgICAgICAgICAgICAgJi52aWRlbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2FsY3MocGFkZGluZy10b3AsIDlweCwgMTZweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmluZm8ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoyNXB4O1xyXG4gICAgICAgICAgICAgICAgLnRpdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXRpdGxlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0RWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5kZXNjIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1jb250O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHRFbGxpcHNpc0NsYW1wKDUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnNyYyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIGJ1bGxldCBsaXN0ICovXHJcbi5idWxsZXQtbGlzdCB7XHJcbiAgICAuYi10aXQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206NXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcclxuICAgICAgICBjb2xvcjokYmxhY2s7XHJcbiAgICB9XHJcbiAgICAuYi10eHQge1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6MnB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDoxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICBjb2xvcjokY29udDtcclxuICAgICAgICB3b3JkLWJyZWFrOmtlZXAtYWxsO1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6Jy0nO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOjA7XHJcbiAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOjJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmljb24ge1xyXG4gICAgICAgIC5iLXR4dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDoxOHB4O1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDon4oC7JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYnVsbGV0IHtcclxuICAgICAgICAuYi10eHQ6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xyXG4gICAgICAgICAgICB0b3A6MTJweDtcclxuICAgICAgICAgICAgbGVmdDoycHg7XHJcbiAgICAgICAgICAgIHdpZHRoOjJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OjJweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDokY29udDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czo1MCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6MTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8qIG1vZGFsICovXHJcbi52aWRlby1tb2RhbC1hcmVhIHtcclxuICAgIHBvc2l0aW9uOmZpeGVkO1xyXG4gICAgdG9wOjUwJTtcclxuICAgIGxlZnQ6NTAlO1xyXG4gICAgd2lkdGg6ODAlO1xyXG4gICAgbWF4LXdpZHRoOjcxMHB4O1xyXG4gICAgYmFja2dyb3VuZDojZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czoxMHB4O1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgcGFkZGluZzo2MHB4IDIwcHggNTBweDtcclxuICAgIGJveC1zaGFkb3c6IDVweCAycHggMTBweCAwcHggcmdiYSgjMDAwLCAwLjUpO1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHotaW5kZXg6MTAxMDtcclxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgd2lkdGg6OTAlO1xyXG4gICAgICAgIHBhZGRpbmc6NTBweCAxMnB4IDQwcHg7XHJcbiAgICB9XHJcbiAgICAudmlkZW8tYXJlYSB7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBoZWlnaHQ6MDtcclxuICAgICAgICBAaW5jbHVkZSBjYWxjcyhwYWRkaW5nLXRvcCwgMzE1cHgsIDU2MHB4KTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiMwMDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6MDtcclxuICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6MTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmlkZW8taW5mbyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDoyNnB4O1xyXG4gICAgICAgIC50aXQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6MTVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC10aXRsZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDonICc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICAgICAgICAgIHRvcDowO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MzVweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDo0cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRwb2ludDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzYyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MTVweDtcclxuICAgICAgICAgICAgY29sb3I6JGdyYXk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRhdGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOjZweDtcclxuICAgICAgICAgICAgY29sb3I6JGdyYXk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc21hbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ0bi1jbG9zZSB7XHJcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOjA7XHJcbiAgICAgICAgcmlnaHQ6MDtcclxuICAgICAgICB3aWR0aDo1MHB4O1xyXG4gICAgICAgIGhlaWdodDo1MHB4O1xyXG4gICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6M3B4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6MjRweDtcclxuICAgICAgICAgICAgYm90dG9tOjEwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OjI5cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JGJsYWNrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6MjFweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLyogcGFnaW5hdGlvbiAqL1xyXG4ucGFnaW5hdGlvbiB7XHJcbiAgICBtYXJnaW4tdG9wOjUwcHg7XHJcbiAgICBmb250LXNpemU6MDtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOjQwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MzBweDtcclxuICAgIH1cclxuICAgIC5jb250cm9sLWJ0biwgXHJcbiAgICAucGFnZS1idG4td3JhcCxcclxuICAgIC5wYWdlLWJ0bi13cmFwIC5ub3csXHJcbiAgICAucGFnZS1idG4td3JhcCBhIHtcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC1idG4sXHJcbiAgICAucGFnZS1idG4td3JhcCAubm93LFxyXG4gICAgLnBhZ2UtYnRuLXdyYXAgYSB7XHJcbiAgICAgICAgd2lkdGg6NDBweDtcclxuICAgICAgICBoZWlnaHQ6NDBweDtcclxuICAgICAgICBmb250LXNpemU6MTZweDtcclxuICAgICAgICBjb2xvcjokY29udDtcclxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6MTBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDozOHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcclxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgICAgICB3aWR0aDozNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6MzZweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MzRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgd2lkdGg6MzBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OjMwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjI4cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLWJ0biB7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOjAgNHB4O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcclxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDonICc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6NTAlO1xyXG4gICAgICAgICAgICBsZWZ0OjUwJTtcclxuICAgICAgICAgICAgd2lkdGg6MTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OjEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6LTVweDtcclxuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkY29udDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6bm9uZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjhweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDo4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi00cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcmV2LFxyXG4gICAgICAgICYucHByZXYge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnByZXYge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6LTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBwcmV2IHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0Oi01cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5uZXh0LFxyXG4gICAgICAgICYubm5leHQge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm5leHQge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6LTlweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6LTZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm5uZXh0IHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0Oi0xMXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDotOHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0Oi02cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0Oi0zcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcmV2LFxyXG4gICAgICAgICYubmV4dCB7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWdlLWJ0bi13cmFwIHtcclxuICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICA+ICoge1xyXG4gICAgICAgICAgICBtYXJnaW46MCAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ub3cge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6JHBvaW50O1xyXG4gICAgICAgICAgICBjb2xvcjokcG9pbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjgwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4uc2VsZWN0Ym94LXdyYXAge1xyXG4gICAgLm5pY2Utc2VsZWN0IHtcclxuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcclxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRib3JkZXI7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6MTBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGNvbG9yOiRjb250O1xyXG4gICAgICAgIHotaW5kZXg6NTA7XHJcbiAgICAgICAgJi5vcGVuIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiRjb250O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTRweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjhweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDoyOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uaWNlLXNlbGVjdDphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDo4cHg7XHJcbiAgICAgICAgaGVpZ2h0OjhweDtcclxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRncmF5O1xyXG4gICAgICAgIGJvcmRlci10b3A6bm9uZTtcclxuICAgICAgICBib3JkZXItbGVmdDpub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAxM3B4O1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuICAgIC5uaWNlLXNlbGVjdC5vcGVuOmFmdGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6LTJweDtcclxuICAgIH1cclxuICAgIC5uaWNlLXNlbGVjdC5vcGVuIC5saXN0IHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjokY29udDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIC5uaWNlLXNlbGVjdC5kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDokYmx1cjtcclxuICAgICAgICBjb2xvcjogJGNiYmI7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAubmljZS1zZWxlY3QuZGlzYWJsZWQ6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYztcclxuICAgIH1cclxuICAgIC5uaWNlLXNlbGVjdCAubGlzdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci10b3A6bm9uZTtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgbGVmdDogLTFweDtcclxuICAgICAgICByaWdodDotMXB4O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSB0cmFuc2xhdGVZKC0yMXB4KTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSB0cmFuc2xhdGVZKC0yMXB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpIHRyYW5zbGF0ZVkoLTIxcHgpO1xyXG4gICAgICAgIHotaW5kZXg6IDk7XHJcbiAgICB9XHJcbiAgICAubmljZS1zZWxlY3QgLmxpc3Q6aG92ZXIgLm9wdGlvbjpub3QoOmhvdmVyKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgICB9XHJcbiAgICAubmljZS1zZWxlY3QgLm9wdGlvbjpob3ZlcixcclxuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uLmZvY3VzLFxyXG4gICAgLm5pY2Utc2VsZWN0IC5vcHRpb24uc2VsZWN0ZWQuZm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XHJcbiAgICB9XHJcbiAgICAubmljZS1zZWxlY3QgLm9wdGlvbi5zZWxlY3RlZCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgICAubmljZS1zZWxlY3QgLm9wdGlvbi5kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6ICM5OTk7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC5uby1jc3Nwb2ludGVyZXZlbnRzIC5uaWNlLXNlbGVjdCAubGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubm8tY3NzcG9pbnRlcmV2ZW50cyAubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLyoqXHJcbiAqIFN3aXBlciA2LjQuMTBcclxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcclxuICogaHR0cHM6Ly9zd2lwZXJqcy5jb21cclxuICpcclxuICogQ29weXJpZ2h0IDIwMTQtMjAyMSBWbGFkaW1pciBLaGFybGFtcGlkaVxyXG4gKlxyXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcclxuICpcclxuICogUmVsZWFzZWQgb246IEphbnVhcnkgMjksIDIwMjFcclxuICovXHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcInN3aXBlci1pY29uc1wiO1xyXG4gICAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQVwiKVxyXG4gICAgICAgIGZvcm1hdChcIndvZmZcIik7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbjpyb290IHtcclxuICAgIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiAjMDA3YWZmO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuLnN3aXBlci13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXHJcbi5zd2lwZXItd3JhcHBlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1wb2ludGVyLWV2ZW50cyB7XHJcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLXBvaW50ZXItZXZlbnRzLnN3aXBlci1jb250YWluZXItdmVydGljYWwge1xyXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teDtcclxufVxyXG4uc3dpcGVyLXNsaWRlIHtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbn1cclxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi8qIEF1dG8gSGVpZ2h0ICovXHJcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXHJcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcclxufVxyXG4vKiAzRCBFZmZlY3RzICovXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIHtcclxuICAgIHBlcnNwZWN0aXZlOiAxMjAwcHg7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLFxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xyXG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB6LWluZGV4OiAxMDtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxufVxyXG4vKiBDU1MgTW9kZSAqL1xyXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcclxuICAgIC8qIEZvciBGaXJlZm94ICovXHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XHJcbiAgICAvKiBGb3IgSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgKi9cclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xyXG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XHJcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcclxuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5O1xyXG59XHJcbjpyb290IHtcclxuICAgIC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTogNDRweDtcclxuICAgIC8qXHJcbiAgICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpO1xyXG4gICAgKi9cclxufVxyXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxyXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyA0NCAqIDI3KTtcclxuICAgIGhlaWdodDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XHJcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyAyKTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGNvbG9yOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XHJcbn1cclxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxyXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xyXG4gICAgb3BhY2l0eTogMC4zNTtcclxuICAgIGN1cnNvcjogYXV0bztcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXHJcbi5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIge1xyXG4gICAgZm9udC1mYW1pbHk6IHN3aXBlci1pY29ucztcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIGZvbnQtdmFyaWFudDogaW5pdGlhbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcbi5zd2lwZXItYnV0dG9uLXByZXYsXHJcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcclxuICAgIGxlZnQ6IDEwcHg7XHJcbiAgICByaWdodDogYXV0bztcclxufVxyXG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XHJcbiAgICBjb250ZW50OiBcInByZXZcIjtcclxufVxyXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XHJcbiAgICByaWdodDogMTBweDtcclxuICAgIGxlZnQ6IGF1dG87XHJcbn1cclxuLnN3aXBlci1idXR0b24tbmV4dDphZnRlcixcclxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJuZXh0XCI7XHJcbn1cclxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLFxyXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xyXG4gICAgLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcjogI2ZmZmZmZjtcclxufVxyXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXHJcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XHJcbiAgICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiAjMDAwMDAwO1xyXG59XHJcbi5zd2lwZXItYnV0dG9uLWxvY2sge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG46cm9vdCB7XHJcbiAgICAvKlxyXG4gICAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjogdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKTtcclxuICAgICovXHJcbn1cclxuLnN3aXBlci1wYWdpbmF0aW9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbiB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcbi8qIENvbW1vbiBTdHlsZXMgKi9cclxuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxyXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xyXG4gICAgYm90dG9tOiAxMHB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi8qIEJ1bGxldHMgKi9cclxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XHJcbn1cclxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XHJcbiAgICB3aWR0aDogOHB4O1xyXG4gICAgaGVpZ2h0OiA4cHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgb3BhY2l0eTogMC4yO1xyXG59XHJcbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICAgIG1hcmdpbjogNnB4IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHdpZHRoOiA4cHg7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XHJcbiAgICBtYXJnaW46IDAgNHB4O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcclxufVxyXG4vKiBQcm9ncmVzcyAqL1xyXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXHJcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0cHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcclxuICAgIHdpZHRoOiA0cHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XHJcbiAgICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiAjZmZmZmZmO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XHJcbiAgICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiAjMDAwMDAwO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLyogU2Nyb2xsYmFyICovXHJcbi5zd2lwZXItc2Nyb2xsYmFyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAxJTtcclxuICAgIGJvdHRvbTogM3B4O1xyXG4gICAgei1pbmRleDogNTA7XHJcbiAgICBoZWlnaHQ6IDVweDtcclxuICAgIHdpZHRoOiA5OCU7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogM3B4O1xyXG4gICAgdG9wOiAxJTtcclxuICAgIHotaW5kZXg6IDUwO1xyXG4gICAgd2lkdGg6IDVweDtcclxuICAgIGhlaWdodDogOTglO1xyXG59XHJcbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxufVxyXG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XHJcbiAgICBjdXJzb3I6IG1vdmU7XHJcbn1cclxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5zd2lwZXItem9vbS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXHJcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXHJcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbn1cclxuLnN3aXBlci1zbGlkZS16b29tZWQge1xyXG4gICAgY3Vyc29yOiBtb3ZlO1xyXG59XHJcbi8qIFByZWxvYWRlciAqL1xyXG46cm9vdCB7XHJcbiAgICAvKlxyXG4gICAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpO1xyXG4gICAgKi9cclxufVxyXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcclxuICAgIHdpZHRoOiA0MnB4O1xyXG4gICAgaGVpZ2h0OiA0MnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogLTIxcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjFweDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xyXG4gICAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZSB7XHJcbiAgICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6ICNmZmY7XHJcbn1cclxuLnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFjayB7XHJcbiAgICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6ICMwMDA7XHJcbn1cclxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxufVxyXG4vKiBhMTF5ICovXHJcbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB6LWluZGV4OiAtMTAwMDtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCxcclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxuICAgIHotaW5kZXg6IDA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xyXG4gICAgZmlsdGVyOiBibHVyKDUwcHgpO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBzd2lwZXIgY3VzdG9tcyAqL1xyXG4uc3dpcGVyLWNvbnRyb2xsZXIge1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBib3R0b206MDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBmb250LXNpemU6MDtcclxuICAgIHotaW5kZXg6MTA7XHJcbiAgICAuc3dpcGVyLXByZXYsXHJcbiAgICAuc3dpcGVyLW5leHQge1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuICAgICAgICBmb250LXNpemU6MTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDoyMHB4O1xyXG4gICAgICAgIGNvbG9yOiNmZmY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xyXG4gICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6LjY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDoxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zd2lwZXItcGFnaW5nIHtcclxuICAgICAgICBtYXJnaW46MCAxNXB4O1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOjE0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDoxNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDoxNnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6MTtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDowO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRwb2ludDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6OHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjhweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDphdXRvO1xyXG4gICAgICAgICAgICBib3R0b206YXV0bztcclxuICAgICAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN3aXBlci1wbGF5aW5nIHtcclxuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcbiAgICAgICAgd2lkdGg6MjBweDtcclxuICAgICAgICBoZWlnaHQ6MjBweDtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OicgJztcclxuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDo1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6LTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wbGF5IHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjhweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDoxMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6MnB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYXVzZSB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDowO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDo4cHggc29saWQgI2ZmZjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTo1cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDotNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLyogc21hbGwgdGFiICovXHJcbi5iYXItdGFiLXdyYXBzIHtcclxuICAgIG1hcmdpbi1ib3R0b206MzBweDtcclxuICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbToyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjE1cHg7XHJcbiAgICB9XHJcbiAgICAudGFicyB7XHJcbiAgICAgICAgbWluLXdpZHRoOjEwMCU7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgIGZvbnQtc2l6ZTowO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjAgNDBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6MCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjAgMTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDowO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6NTAlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjE2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi04cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNjZGNkY2Q7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWNvbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjokcG9pbnQyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLyogdGFibGUgKi9cclxuLnRibC13cmFwIHtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAudGJsLXNjcm9sbCB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXg6YXV0bztcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTpoaWRkZW47XHJcbiAgICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO1xyXG4gICAgICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6LW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xyXG4gICAgICAgICAgICAudGFibGUge1xyXG4gICAgICAgICAgICAgICAgdGFibGUtbGF5b3V0OmZpeGVkO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6YXV0bztcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyIHRoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6bm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgICAgICB0ciB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFibGUge1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgLy8gcm93IHRhYmxlXHJcbiAgICAgICAgJi5yb3ctdGJsIHtcclxuICAgICAgICAgICAgLnJvdy1jb2wxIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjIxMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGgsXHJcbiAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDoxcHggc29saWQgJGJvcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGJvcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxNnB4IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOmtlZXAtYWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0Om5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MTNweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjhweCAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6JGNvbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRibHVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkYzQ0NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYWwtYyB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hbC1sIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBjb2wgdGFibGVcclxuICAgICAgICAmLmNvbC10Ymwge1xyXG4gICAgICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6NjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYzQ0NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICRib3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6a2VlcC1hbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZGVzYztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6bm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0Om5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDo1NnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxM3B4IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDo0NnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzo4cHggMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDoxcHggc29saWQgJGM0NDQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokYzQ0NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1jb250O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDoxcHggc29saWQgJGJvcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd29yZC1icmVhazprZWVwLWFsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6bm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxM3B4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6OHB4IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjokYzQ0NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFsLWMsIFxyXG4gICAgICAgICAgICAuYWwtYyB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hbC1sIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5oaWdobGlnaHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6JHJlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxpbmstdG8tdmlldyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dEVsbGlwc2lzO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBjIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5uZXcge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjI2cHg7XHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDonTic7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOjUwJTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDowO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czo1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDotOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHJlZDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjojZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OjRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRibC1zZWN0LXdyYXAge1xyXG4gICAgLnRibC13cmFwIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjgwcHg7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIOqzteyngOyCrO2VrSB0YWJsZVxyXG4ubm90aWNlLXRibCB7XHJcbiAgICAudGFibGUuY29sLXRibCB7XHJcbiAgICAgICAgdGFibGUtbGF5b3V0OmZpeGVkO1xyXG4gICAgICAgIC5jb2wxIHtcclxuICAgICAgICAgICAgd2lkdGg6MTIlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6OTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sMiB7XHJcbiAgICAgICAgICAgIHdpZHRoOjE4JTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjExMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyDqsJXsnZgg66as7Iqk7Yq4IHRhYmxlXHJcbi50Ymwtd3JhcC5sZWN0dXJlLXRibCB7XHJcbiAgICB0ci5sZWN0dXJlMSB0ZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDojZmNmY2Y0O1xyXG4gICAgfVxyXG4gICAgdHIubGVjdHVyZTIgdGQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6I2Y0ZjhmYztcclxuICAgIH1cclxuICAgIHRyLmxlY3R1cmUzIHRkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiNmY2Y0ZmM7XHJcbiAgICB9XHJcbiAgICB0ci5sZWN0dXJlNCB0ZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDojZjRmY2Y3O1xyXG4gICAgfVxyXG4gICAgLmxpbmUyIHtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnRucyB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6bm93cmFwO1xyXG4gICAgfVxyXG4gICAgLmxpbmstdG8tdmlldyB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6aW5pdGlhbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1pbi13aWR0aDoxMDBweDtcclxuICAgIH1cclxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8qIHRpdGxlICovXHJcbi50aXQtd3JhcCB7XHJcbiAgICAudGl0IHtcclxuICAgICAgICBAaW5jbHVkZSBmb250LWgzO1xyXG4gICAgfVxyXG4gICAgLmRlc2Mge1xyXG4gICAgICAgIG1hcmdpbi10b3A6NXB4O1xyXG4gICAgICAgIGNvbG9yOiRjb250O1xyXG4gICAgICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjEuNDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzotMXB4O1xyXG4gICAgICAgIHdvcmQtYnJlYWs6a2VlcC1hbGw7XHJcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOjE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnR5cGUyIHtcclxuICAgICAgICAgICAgY29sb3I6JGdyYXk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtY29udDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oNC10aXQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTozMHB4O1xyXG4gICAgQGluY2x1ZGUgZm9udC1oNDtcclxuICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbToyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjE1cHg7XHJcbiAgICB9XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8qIGNvbW1vbiAqL1xuLnNraXAtbmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgei1pbmRleDo5OTk5O1xuICAgIGEge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB3aWR0aDoxcHg7XG4gICAgICAgIGhlaWdodDoxcHg7XG4gICAgICAgIG1hcmdpbjotMXB4O1xuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgfVxufVxuXG5ib2R5IHtcbiAgICBAaW5jbHVkZSBwYyB7XG4gICAgICAgIG92ZXJmbG93OmluaXRpYWwgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIGNvbnRhaW5lciAqL1xuI3dyYXAge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIC5jb250ZW50cy13cmFwIHtcbiAgICAgICAgICAgIHBhZGRpbmc6NjBweCAwIDEwMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjUwcHggMCA4MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjQwcHggMCA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNlY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb250QXJlYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3ViLXZpc3VhbCB7XG4gICAgICAgIGhlaWdodDozMDBweDtcbiAgICAgICAgcGFkZGluZy10b3A6MTEwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJnLWNvdmVyO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgICAgICAgJi5jYXRlMCN7JGl9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnL2ltYWdlcy9pbWcvaW1nLXN1YnZpc3VhbDAjeyRpfS5qcGcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm1lbWJlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnL2ltYWdlcy9pbWcvaW1nLXN1YnZpc3VhbDA3LmpwZycpO1xuICAgICAgICB9XG4gICAgICAgICYubXlwYWdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCcvaW1hZ2VzL2ltZy9pbWctc3VidmlzdWFsMDguanBnJyk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgIGhlaWdodDoyMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjc1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIGhlaWdodDoxODBweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjU1cHg7XG4gICAgICAgIH1cbiAgICAgICAgcCxcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRBcmVhO1xuICAgICAgICB9XG4gICAgICAgIC50aXQge1xuICAgICAgICAgICAgZm9udC1zaXplOjQycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDoxLjI7XG4gICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzotMi41cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTozOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MzJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZGVzYyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MS4yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6MTAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6LTEuNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MTZweDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzotMC41cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5icmVhZGNydW1iIHtcbiAgICAgICAgQGluY2x1ZGUgY29udEFyZWE7XG4gICAgICAgIG1hcmdpbi10b3A6LTU1cHg7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOi0zNXB4O1xuICAgICAgICB9XG4gICAgICAgID4gb2wge1xuICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOjA7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiRjYmJiO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc21hbGw7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6NnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6NnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46MCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi0zcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgJGNiYmI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaG9tZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjYwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDo1NXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MjBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDokYzQ0NCB1cmwoJy9pbWFnZXMvaWNvbi9pY29uLWhvbWUucG5nJykgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTowO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6NDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDozNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6MTZweCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpOjphZnRlcixcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRBcmVhO1xuICAgICAgICBwYWRkaW5nLXRvcDo1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTo1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTo0MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDozMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MzBweDtcbiAgICAgICAgfVxuICAgICAgICAudGl0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTo0MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MS4yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6LTIuNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MzZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDo1cHg7XG4gICAgICAgICAgICBjb2xvcjokY2JiYjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MS4xO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdlLXRhYi13cmFwIHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRBcmVhO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OjFweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRlcDItc2Nyb2xsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2VmZWZlZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MTBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRhYnMge1xuICAgICAgICAgICAgbWluLXdpZHRoOjEwMCU7XG4gICAgICAgICAgICBmb250LXNpemU6MDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDoxMjBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzowIDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRjb250O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MThweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6NTZweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6YXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6NDZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDo0MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYWN0aXZlIGEge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRwb2ludDI7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokcG9pbnQyO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHBvaW50MjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc25zLWJ0bi1saXN0IHtcbiAgICAgICAgZm9udC1zaXplOjA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MTBweDtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOjQ2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OjQ2cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICBpbWFnZTp1cmwoJy9pbWFnZXMvYmcvYmctc25zLnBuZycpO1xuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6bm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnNuczAxIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjowIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuc25zMDIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYub2ZmIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJy9pbWFnZXMvYmcvYmctc25zLW9mZi5wbmcnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIG5vZGF0YSAqL1xuLm5vZGF0YSB7XG4gICAgcGFkZGluZzoxMDBweCAwO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIGNvbG9yOiRjb250O1xuICAgIEBpbmNsdWRlIGZvbnQtY29udDtcbn1cblxuLyogY29tbW9uIGRpbSAqL1xuLmNvbW1vbi1kaW0ge1xuICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgIHRvcDowO1xuICAgIHJpZ2h0OjA7XG4gICAgYm90dG9tOjA7XG4gICAgbGVmdDowO1xuICAgIGJhY2tncm91bmQ6cmdiYSgjMDAwLCAwLjUpO1xuICAgIHotaW5kZXg6MTAwNTtcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8qIGhlYWRlciAqL1xuaGVhZGVyIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgei1pbmRleDoxMDA7XG4gICAgLmxvZ28ge1xuICAgICAgICBAaW5jbHVkZSBjb250QXJlYTtcbiAgICAgICAgcGFkZGluZy10b3A6MzVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MjBweDtcbiAgICAgICAgei1pbmRleDoxMDA7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDoxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MTVweDtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gICAgICAgICAgICB6LWluZGV4OjEwMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjMycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHBjIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6MTAwJTtcbiAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICBoZWlnaHQ6MjQwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiRibHVyO1xuICAgICAgICB9XG4gICAgICAgICYub3Blbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJi5vcGVuICNnbmIgPiBsaSAuc3ViLWRlcHRoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjZ25iIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRBcmVhO1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyID4gYS5kZXB0aDEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojYjE4YTI0O1xuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gYS5kZXB0aDEge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjY0cHg7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOi0wLjVweDtcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNiMThhMjQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6I2IxOGEyNDtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zdWItZGVwdGgge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoyNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kZXAxLW1vcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vYi1kaW0ge1xuICAgICAgICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIC5oZWFkZXItbGluayB7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDo0M3B4O1xuICAgICAgICAgICAgbGVmdDo1MCU7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOjEyODBweCArIDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOjAgMjBweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgZm9udC1zaXplOjA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICAgICAgei1pbmRleDoxMDtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDoxcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46MCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNhYWE7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoyMnB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojYWFhO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5idG4tbWVudS1hbGwge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIC5tb2ItZGltIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICByaWdodDowO1xuICAgICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoIzAwMCwgMC42KTtcbiAgICAgICAgICAgIHotaW5kZXg6ODAwO1xuICAgICAgICB9XG4gICAgICAgIC5idG4tbWVudS1hbGwge1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgcmlnaHQ6MjBweDtcbiAgICAgICAgICAgIHdpZHRoOjUwcHg7XG4gICAgICAgICAgICB6LWluZGV4OjEwMDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgIHJpZ2h0OjEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgICAgICAgICByaWdodDowO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6LTJweDtcbiAgICAgICAgICAgICAgICB3aWR0aDoyNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDo0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDokYmFzaWM7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDotMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5iYXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDo1MCU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi0ycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6MjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6NHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JGJhc2ljO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAuYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi0ycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgcmlnaHQ6LTEwMCU7XG4gICAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDo0MDBweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjYycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICAgICAgICB6LWluZGV4OjkwMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246cmlnaHQgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICNnbmIge1xuICAgICAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6YXV0bztcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRib3JkZXI7XG4gICAgICAgICAgICAgICAgICAgID4gLmRlcHRoMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjZweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDo0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjZweCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDo1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6MjNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6LTdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDoxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+IC5kZXAxLW1vcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjUycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gLmRlcHRoMTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTIyNWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDotM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5zdWItZGVwdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoyMHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRibHVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoyNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29udDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGVhZGVyLWxpbmsge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICByaWdodDo3MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MTVweCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDoyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTowO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjowIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRib3JkZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDozMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6JGNvbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8qIGZvb3RlciAqL1xuZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiMxYTFmMzg7XG4gICAgcGFkZGluZzo1MHB4IDAgODBweDtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBwYWRkaW5nOjMwcHggMCA0MHB4O1xuICAgIH1cbiAgICAuZm9vdC1jb250IHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRBcmVhO1xuICAgICAgICAuY29tcC1pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIG1heC13aWR0aDoxMDAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MTAwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGVmdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6NTAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNhbGNzKHBhZGRpbmctcmlnaHQsIDcwcHgsIDEwMDBweCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDowO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yaWdodCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6NTAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OjFweCBzb2xpZCAjNDg0YzYwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNhbGNzKHBhZGRpbmctbGVmdCwgNzBweCwgMTAwMHB4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDpub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoyMHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zbWFsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiNhNmE2YWM7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoyMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc21hbGw7XG4gICAgICAgICAgICAgICAgY29sb3I6I2E2YTZhYztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYudGl0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjNweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoyMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNucy1saW5rcyB7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgcmlnaHQ6MjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTowO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDoxMHB4O1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDowO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MzhweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjM4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2I0YjRiNDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czo1MCU7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBR0FBLFVBQVU7QUFDVixVQUFVO0lBQ04sV0FBVyxFQUFFLGNBQWM7SUFDM0IsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsR0FBRyxFQUFFLDZDQUE2QztJQUFFLHNCQUFzQjtJQUMxRSxHQUFHLEVBQUUsU0FBUyxFQUNWLG9EQUFvRCxDQUFDLDJCQUEyQixFQUNoRiwrQ0FBK0MsQ0FBQyxlQUFlLEVBQy9ELDhDQUE4QyxDQUFDLGNBQWMsRUFDN0QsNkNBQTZDLENBQUMsa0JBQWtCLEVBQ2hFLHdEQUF3RCxDQUFDLGFBQWE7SUFBRSxnQkFBZ0I7OztBQUVoRyxVQUFVO0lBQ04sV0FBVyxFQUFFLGNBQWM7SUFDM0IsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsR0FBRyxFQUFFLDZDQUE2QztJQUFFLHNCQUFzQjtJQUMxRSxHQUFHLEVBQUUsU0FBUyxFQUNWLG9EQUFvRCxDQUFDLDJCQUEyQixFQUNoRiwrQ0FBK0MsQ0FBQyxlQUFlLEVBQy9ELDhDQUE4QyxDQUFD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 */
