/*------------------------------------------------------------------
[Master Stylesheet]

Project:		Meshable - Creative Grid Based HTML Template
Version:		1.0
Author: 		Muhamamd Faisal
Author URI: 	http://themeshash.com/
-------------------------------------------------------------------*/
/*-----------------------------------------------------------------
 Contents (_contents.scss)
-------------------------------------------------------------------
1. Base
2. Grid
3. Scaffolding
4. Sidebar
5. Portfolio
6. Blog
7. Comments
8. Form
---------------------------------------------------------------- */
/*========================================================
  1.  BASE 
========================================================== */
html
{
    font-size: 62.5%;
}

body
{
    font-family: 'Lato', sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.6;

    color: #7b7d80;
    background: #f2f2f2 url('../../images/line.png') no-repeat fixed 0 0;
}

*,
*:before,
*:after
{
    box-sizing: border-box;
}

::-moz-selection
{
    color: #000;
    background: #fbf285;
}

::selection
{
    color: #000;
    background: #fbf285;
}

/** == TYPOGRAPHY == */
/** ================================================== */
a
{
    cursor: pointer; 
    text-decoration: none;

    color: inherit;
}
a:hover
{
    color: #000;
}

/** Headings */
h1,
h2,
h3,
h4,
h5,
h6
{
    font-family: 'Lato', sans-serif;
    font-weight: normal;

    margin: 1rem 0 1.5rem; 

    color: #3a3c3d;
}

h1
{
    font-size: 2.8rem;
}

h2
{
    font-size: 2.4rem;
}

h3
{
    font-size: 2rem;
}

h4
{
    font-size: 1.8rem;
}

h5
{
    font-size: 1.6rem;
}

h6
{
    font-size: 1.6rem;
}

/** Paragraphs */
p
{
    margin: 0 0 2rem 0;

    color: #7b7d80;
}

p:last-child
{
    margin-bottom: 0;
}

/** Blockquotes */
blockquote
{
    margin-top: 25px;
    padding: 25px;

    letter-spacing: .1em;
    text-transform: uppercase;

    color: #999;
    border-left: 4px solid #e1e1e1;
}

blockquote:first-child
{
    margin-top: 0;
}

/** == LISTS == */
/** ================================================== */
ul,
ol,
dl
{
    margin-bottom: 20px;
    margin-left: 0;
}

ul
{
    list-style: square inside;
}

ol
{
    list-style: decimal inside;
}

ul ul,
ol ol
{
    margin: 0 0 0 20px;
}

dt
{
    font-weight: bold;
}

dd
{
    margin: 0 0 20px;
}

/** == BLOCK QUOTES == */
/** ================================================== */
blockquote
{
    clear: both;

    margin: 40px 40px 40px 0;
    padding: 15px 0 15px 40px;

    border: 0;
    border-left: solid 1px #ccc;
}

blockquote p
{
    color: #aaa;
}

blockquote > p:last-child
{
    margin-bottom: 0;
}

blockquote cite,
blockquote small
{
    display: block;

    margin-top: 10px;
}

blockquote em,
blockquote i,
blockquote cite
{
    font-style: normal;
}

blockquote strong,
blockquote b
{
    font-weight: 400;
}

/** == RULES == */
/** ================================================== */
hr
{
    clear: both;

    height: 1px;
    margin: 5rem 0; 

    border: 0;
    background-color: #e5e5e5;
}

/** == PRE == */
/** ================================================== */
pre
{
    font-family: 'Courier 10 Pitch', Courier, monospace;
    font-size: 15px;
    line-height: 1.6;

    position: relative;

    overflow: auto;

    max-width: 100%;
    margin-bottom: 1.6em;
    padding: 3% 5% 3% 10%;

    -moz-tab-size: 4;
      -o-tab-size: 4;
         tab-size: 4; 

    background: rgba(0, 0, 0, .05);
}

pre:before
{
    font-family: 'FontAwesome';
    font-size: 14px;

    position: absolute;
    z-index: 5; 
    top: 0;
    left: 0;

    height: 100%;
    padding: 0 3px;

    content: '\f121';

    color: #fff;
    background: #bbc3cc;
}

code,
kbd,
tt,
var
{
    font: 15px Monaco, Consolas, 'Andale Mono', 'DejaVu Sans Mono', monospace;
}

/** == TABLE == */
/** ================================================== */
table
{
    font-size: 16px; 

    width: 100%;
    padding: 1% 3%;

    border: dotted 1px rgba(0, 0, 0, .1);
}

table td,
table th
{
    padding: 10px;

    text-align: left;
}

table thead
{
    background: rgba(0, 0, 0, .05);
}

table thead th
{
    font-weight: bold;
}

table td
{
    border-bottom: solid 1px rgba(0, 0, 0, .05);
}

table tr:last-child td
{
    border-bottom: none;
}

table tr:nth-child(even)
{
    background: rgba(0, 0, 0, .05);
}

/** == MISC == */
/** ================================================== */
.clear
{
    line-height: 1px;

    clear: both;

    height: 1px;
}

/*========================================================
  2.  GRID 
========================================================== */
*,
*:before,
*:after
{
    box-sizing: border-box;
}

/** == SCAFFOLDING == */
/** ================================================== */
@media (min-width: 0) and (max-width: 640px)
{
    #site-container
    {
        max-width: 300px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 641px) and (max-width: 1024px)
{
    #site-container
    {
        max-width: 700px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 1025px) and (max-width: 1440px)
{
    #site-container
    {
        max-width: 1170px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 1440px)
{
    #site-container
    {
        max-width: 1300px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 1441px) and (max-width: 1919px)
{
    #site-container
    {
        max-width: 1500px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 1920px) and (max-width: 2559px)
{
    #site-container
    {
        max-width: 1780px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 2560px)
{
    #site-container
    {
        max-width: 2420px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 0) and (max-width: 640px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 641px) and (max-width: 1024px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1025px) and (max-width: 1440px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 25%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1441px) and (max-width: 1919px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 20%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1920px) and (max-width: 2559px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 15.625%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 2560px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 12.5%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 0) and (max-width: 1024px)
{
    #site-container #primary-content
    {
        float: left; 

        width: 100%;
    }
}

@media (min-width: 1025px) and (max-width: 1440px)
{
    #site-container #primary-content
    {
        float: left; 

        width: 75%;
    }
}

@media (min-width: 1441px) and (max-width: 1919px)
{
    #site-container #primary-content
    {
        float: left; 

        width: 80%;
    }
}

@media (min-width: 1920px) and (max-width: 2559px)
{
    #site-container #primary-content
    {
        float: left; 

        width: 84.375%;
    }
}

@media (min-width: 2560px)
{
    #site-container #primary-content
    {
        float: left; 

        width: 87.5%;
    }
}

/** == PORTFOLIO == */
/** ================================================== */
@media (min-width: 0) and (max-width: 640px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 641px) and (max-width: 1024px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 50%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1025px) and (max-width: 1440px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 33.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1441px) and (max-width: 1919px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 25%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1920px) and (max-width: 2559px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 20%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 2560px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 14.28571%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

/** == PRIMARY CONTENT == */
/** ================================================== */
#primary-content
{
    *zoom: 1;
}
#primary-content:before,
#primary-content:after
{
    display: table; 

    content: ' ';
}
#primary-content:after
{
    clear: both;
}
@media (min-width: 0) and (max-width: 640px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 641px) and (max-width: 1024px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 80%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 2560px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 71.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #primary-content #main-content.flexible
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 0) and (max-width: 640px)
{
    #primary-content #main-content
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 641px) and (max-width: 1024px)
{
    #primary-content #main-content
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #primary-content #main-content
    {
        float: left;

        width: 66.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    #primary-content #main-content
    {
        float: left;

        width: 66.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    #primary-content #main-content
    {
        float: left;

        width: 53.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 2560px)
{
    #primary-content #main-content
    {
        float: left;

        width: 48.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #primary-content #page-sidebar.flexible
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 0) and (max-width: 640px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 641px) and (max-width: 1024px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 33.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 33.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 26.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 2560px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 23.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

/** == MISC == */
/** ================================================== */
@media (min-width: 0) and (max-width: 640px)
{
    .slicknav_nav
    {
        max-width: 280px;
        margin-right: auto; 
        margin-left: auto;
    }
    .slicknav_nav:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 641px) and (max-width: 1024px)
{
    .slicknav_nav
    {
        max-width: 700px;
        margin-right: auto; 
        margin-left: auto;
    }
    .slicknav_nav:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 0) and (max-width: 640px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 641px) and (max-width: 1024px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1025px) and (max-width: 1440px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1441px) and (max-width: 1919px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1920px) and (max-width: 2559px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 2560px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

.entry-header
{
    *zoom: 1;
}
.entry-header:before,
.entry-header:after
{
    display: table; 

    content: ' ';
}
.entry-header:after
{
    clear: both;
}
@media (min-width: 0) and (max-width: 640px)
{
    .entry-header .title
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 641px) and (max-width: 1024px)
{
    .entry-header .title
    {
        float: left;

        width: 50%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    .entry-header .title
    {
        float: left;

        width: 50%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    .entry-header .title
    {
        float: left;

        width: 66.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    .entry-header .title
    {
        float: left;

        width: 66.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 2560px)
{
    .entry-header .title
    {
        float: left;

        width: 66.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 0) and (max-width: 640px)
{
    .entry-header .pricing
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 641px) and (max-width: 1024px)
{
    .entry-header .pricing
    {
        float: left;

        width: 50%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    .entry-header .pricing
    {
        float: left;

        width: 50%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    .entry-header .pricing
    {
        float: left;

        width: 33.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    .entry-header .pricing
    {
        float: left;

        width: 33.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 2560px)
{
    .entry-header .pricing
    {
        float: left;

        width: 33.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

/*========================================================
  3.  SCAFFOLDING 
========================================================== */
#site-container
{
    padding: 60px 0;
}
@media (min-width: 0) and (max-width: 1024px)
{
    #site-container #global-sidebar > *:not(#site-header)
    {
        display: none;
    }
}

/** Site Header */
#site-header
{
    position: relative;

    margin-bottom: 30px; 
    padding-bottom: 30px;
}
@media (min-width: 0) and (max-width: 1024px)
{
    #site-header
    {
        margin-bottom: 40px;
    }
}
#site-header #site-logo
{
    display: block;

    margin-bottom: 30px;
}
#site-header #site-logo img
{
    display: block;
}
#site-header:after
{
    position: absolute;
    bottom: 0; 
    left: 0;

    width: 30px;
    height: 1px;

    content: '';

    background: #d4d4d4;
}

/** Social Icons */
.social-icons
{
    margin: 20px 0 0 0;
    padding: 0;

    list-style: none;
}
.social-icons li
{
    display: inline-block;
}
.social-icons li a
{
    font-size: 12px;
    line-height: 25px;

    display: inline-block;

    width: 25px;
    height: 25px;

    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s; 
    text-align: center;

    color: #b4b4b4;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 50%;
    background: #fff;
}
.social-icons li.facebook a:hover
{
    color: #3b5998;
}
.social-icons li.twitter a:hover
{
    color: #55acee;
}
.social-icons li.deviantart a:hover
{
    color: #4dc47d;
}
.social-icons li.vimeo a:hover
{
    color: #1ab7ea;
}

/** Primary Content */
#primary-content #main-content .wrapper
{
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
#primary-content #main-content .wrapper .content-header
{
    padding: 20px 35px; 

    border-bottom: 1px solid #f2f2f2;
}
#primary-content #main-content .wrapper .content-header h3
{
    font-size: 18px; 

    margin: 0;

    color: #3a3c3d;
}
#primary-content #main-content .wrapper .featured-module.media img
{
    display: block; 

    width: 99.8%;
    margin: 1px;
}
#primary-content #main-content .wrapper .featured-module.text
{
    position: relative;

    margin-bottom: 20px; 
    padding: 18px 35px 40px 35px;
}
#primary-content #main-content .wrapper .featured-module.text:after
{
    position: absolute;
    bottom: 0; 
    left: 40px;

    width: 30px;
    height: 1px;

    content: '';

    background: #e1e1e1;
}
#primary-content #main-content .wrapper .featured-module.text h1
{
    font-size: 36px;
    font-weight: bold;

    margin-bottom: 5px; 

    text-transform: uppercase;
}
#primary-content #main-content .wrapper .featured-module.text p
{
    color: #999;
}
#primary-content #main-content .wrapper .content-body
{
    padding: 28px 35px 40px 35px;
}
#primary-content #main-content .wrapper .content-body *:first-child
{
    margin-top: 0;
}
#primary-content #main-content .wrapper .content-body h1,
#primary-content #main-content .wrapper .content-body h2,
#primary-content #main-content .wrapper .content-body h3,
#primary-content #main-content .wrapper .content-body h4,
#primary-content #main-content .wrapper .content-body h5,
#primary-content #main-content .wrapper .content-body h6
{
    color: #3a3c3d;
}
#primary-content #main-content .wrapper .content-body p
{
    color: #96999d;
}
#primary-content #main-content .wrapper .content-body img
{
    max-width: 100%;
}
#primary-content #main-content .wrapper .content-body #awards
{
    text-align: center;
}

@media (min-width: 0) and (max-width: 1024px)
{
    #primary-content #page-sidebar .inner
    {
        margin-top: 60px;
        padding-top: 60px;

        border-top: 1px solid #d4d4d4;
    }
}

/** Mobile Nav */
.slicknav_menu
{
    display: none;
}
.slicknav_menu .slicknav_menu
{
    display: inline-block;
}

@media screen and (max-width: 1024px)
{
    .slicknav_menu
    {
        display: block;
    }
}

.slicknav_menu
{
    padding: 0;
}
.slicknav_menu .slicknav_btn
{
    float: none;

    margin: 0;
    padding: 20px 25px;

    text-align: right;

    border-radius: 0; 
    background: #3b3c3e;
}
.slicknav_menu .slicknav_btn > span
{
    display: inline-block; 
    float: none;
}
.slicknav_menu .slicknav_btn .slicknav_icon
{
    height: .675em;
    margin-left: .738em;
}

.slicknav_nav
{
    padding: 30px 0;
}

/** Cart Count */
#cart-count
{
    line-height: 60px;

    position: relative;
    position: absolute;
    top: 0;
    right: 0;

    display: inline-block;

    width: 50px;
    height: 50px;

    text-align: center;

    border: 2px solid #fee71d; 
    background: #feea36;
}
@media (min-width: 0) and (max-width: 1024px)
{
    #cart-count
    {
        display: none;
    }
}
#cart-count img
{
    width: 27px !important; 

    color: #3a3c3d;
}
#cart-count .count
{
    font-family: 'Lato', sans-serif;
    font-size: 10px;
    line-height: 15px; 

    position: absolute;
    top: 4px;
    right: 2px;

    width: 15px;
    height: 15px;

    color: #fff;
    border-radius: 100%;
    background: #f00;
}

/** Load More */
#load-more
{
    margin-top: 20px; 

    text-align: center;
}
#load-more a
{
    display: block;

    padding: 10px;

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s; 

    color: #fff;
    border-radius: 4px;
    background: #a9a9a9 url(../../images/button-glass.png) repeat-x 0 0;
}
#load-more a:hover
{
    background-color: #919191;
}

/** Go To Top */
#go-to-top
{
    line-height: 45px;

    position: fixed;
    z-index: 99;
    bottom: 60px;

    width: 45px;
    height: 45px;

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s; 
    text-align: center;

    border-radius: 100%;
    background: #a9a9a9 url('../../images/button-glass.png') repeat-x scroll 0 0;
}
@media (min-width: 0) and (max-width: 1024px)
{
    #go-to-top
    {
        display: none !important;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #go-to-top
    {
        left: 70px;
    }
}
@media (min-width: 1366px)
{
    #go-to-top
    {
        left: 115px;
    }
}
@media (min-width: 1440px)
{
    #go-to-top
    {
        left: 150px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    #go-to-top
    {
        left: 65px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    #go-to-top
    {
        left: 80px;
    }
}
@media (min-width: 2560px)
{
    #go-to-top
    {
        left: 87px;
    }
}
#go-to-top:hover
{
    background-color: #919191;
}
#go-to-top i
{
    font-size: 22px;

    color: #fff;
}

/** Preloader */
#preloader
{
    position: fixed;
    z-index: 11000; 
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    background: #f2f2f2 url('../../images/line.png') no-repeat fixed 0 0;
}
#preloader:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 75px;
    height: 45px;
    margin: auto;

    content: '';

    background: url(../../images/site-preloader.gif) no-repeat;
}

/** Dragging Slider */
.slick-slider.dragging .slick-slide
{
    cursor: url(../../images/grabbing.png) 8 8, move;
}

.slick-slider .slick-slide
{
    cursor: url(../../images/grab.png) 8 8, move;
}

/** Notification */
ul#noty_bottomRight_layout_container li
{
    margin-top: 10px; 

    border: 1px solid #77b45a !important;
    border-radius: 5px !important;
    background: #7bbb5d url(../../images/button-glass.png) repeat-x 0 0 !important;
    box-shadow: 0 25px 10px -15px rgba(0, 0, 0, .1) !important;
}
ul#noty_bottomRight_layout_container li .noty_message
{
    font-size: 16px !important;

    padding: 16px !important;
}
ul#noty_bottomRight_layout_container li .noty_message .noty_text
{
    color: #fff !important;
}
ul#noty_bottomRight_layout_container li .noty_message .noty_text:before
{
    font-family: 'FontAwesome';
    font-size: 18px;

    margin-right: 10px; 

    content: '\f058';
}

/*========================================================
  4.  SIDEBAR 
========================================================== */
#blog-sidebar .widget:first-child h3
{
    margin-top: 0;
}

/** General Widget */
.widget
{
    position: relative;

    margin-bottom: 30px; 
    padding-bottom: 30px;
}
.widget:after
{
    position: absolute;
    bottom: 0; 
    left: 0;

    width: 30px;
    height: 1px;

    content: '';

    background: #d4d4d4;
}
.widget:nth-last-child(1):after
{
    background: transparent;
}
.widget h3
{
    font-size: 16px;

    color: #3a3c3d;
}
.widget a:hover
{
    color: #000;
}

/** Search Widget */
.widget_search form
{
    position: relative;
}
.widget_search form input
{
    width: 80%;
    padding-left: 40px; 

    border: 0;
    border-radius: 3px;
    background: #fff;
}
.widget_search form button
{
    position: absolute;
    top: 9px;
    left: 6%;

    margin: 0;
    padding: 0;

    color: #d8d8d8; 
    border: 0;
    background: transparent;
    box-shadow: none;
}

/** Link List */
.widget_list ul
{
    margin-bottom: 0;
    padding-left: 0;

    list-style: none;
}
.widget_list ul a
{
    padding: 0 2px; 

    color: #96999d;
}
.widget_list ul li.active a
{
    color: #3a3c3d; 
    background: #feea36;
}

/** Portfolio Filter */
.widget_filter ul li a.active
{
    color: #3a3c3d;
    background: #dbdbdb;
}

/** Tag Cloud */
.widget_tag_cloud a
{
    font-size: 15px !important;
    line-height: 28px;

    display: inline-block;

    margin-right: 8px;
    margin-bottom: 11px;
    padding: 4px 15px;

    -webkit-transition: all 300ms ease-in-out 0s;
            transition: all 300ms ease-in-out 0s; 
    text-decoration: none;

    color: #757575;
    border-bottom: 0 none;
    border-radius: 3px;
    background: #e4e4e4 url(../../images/button-glass.png) repeat-x 0 0;
}
.widget_tag_cloud a:hover
{
    color: #fff; 
    background-color: #7bbb5e;
}

/** Newsletter */
.widget_newsletter .widget_wrapper
{
    margin-bottom: 10px;
    padding: 22px 30px 32px 30px;

    border-radius: 3px; 
    background: #3b3c3e;
}
.widget_newsletter .widget_wrapper h3
{
    font-size: 16px;

    margin: 0 0 10px 0; 

    color: #fff;
}
.widget_newsletter .widget_wrapper p
{
    font-size: 15px;

    margin-bottom: 10px; 

    color: #999;
}
.widget_newsletter .widget_wrapper .button
{
    width: 100%;

    text-align: center;
}
.widget_newsletter .widget_wrapper .button:hover
{
    color: #3c3c3c;
}
.widget_newsletter .widget_wrapper .button i
{
    margin-right: 5px;
}

/** Address */
.widget_address .widget-content
{
    position: relative;

    margin-bottom: 10px;
    padding: 22px 30px 32px 30px;

    border-radius: 3px; 
    background: #e4e4e4;
}
.widget_address .widget-content:before
{
    font-family: 'FontAwesome';
    font-size: 24px;

    position: absolute;
    top: 10px;
    right: 20px;
    left: auto;

    content: '\f08d';

    opacity: .2; 
    color: #000;
}
.widget_address .widget-content h3
{
    font-size: 16px;
    font-weight: bold;

    margin: 0 0 10px 0; 

    color: #777;
}
.widget_address .widget-content p
{
    font-size: 15px;

    margin-bottom: 0; 

    color: #999;
}
.widget_address .widget-content .button
{
    width: 100%;

    text-align: center;
}
.widget_address .widget-content .button:hover
{
    color: #3c3c3c;
}
.widget_address .widget-content .button i
{
    margin-right: 5px;
}

/*========================================================
  5.  PORTFOLIO 
========================================================== */
/** Portfolio Grid */
#portfolio-grid
{
    *zoom: 1;
}
#portfolio-grid:before,
#portfolio-grid:after
{
    display: table; 

    content: ' ';
}
#portfolio-grid:after
{
    clear: both;
}
#portfolio-grid .entry .wrapper
{
    margin-bottom: 32px;

    text-align: center;

    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
#portfolio-grid .entry .wrapper .entry-media
{
    position: relative;

    display: block;
}
#portfolio-grid .entry .wrapper .entry-media img
{
    display: block;

    width: 100%;
}
#portfolio-grid .entry .wrapper .entry-media:after
{
    line-height: 260px;

    position: absolute;
    z-index: 9999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    content: '';
    -webkit-transition: opacity 300ms ease-in-out 0s;
            transition: opacity 300ms ease-in-out 0s; 

    opacity: 0;
    color: #fff;
    background: rgba(0, 0, 0, .4) url('../../images/hover-bg.png') no-repeat center center;
}
#portfolio-grid .entry .wrapper .entry-media:hover:after
{
    opacity: 1;
}
#portfolio-grid .entry .wrapper .entry-desc
{
    padding: 20px;
}
#portfolio-grid .entry .wrapper .entry-desc h3
{
    font-size: 16px;

    margin: 0; 

    color: #3a3c3d;
}
#portfolio-grid .entry .wrapper .entry-desc span
{
    font-size: 15px;

    text-transform: capitalize; 

    color: #96999d;
}

/** Main Content */
#main-content.portfolio-images
{
    margin-bottom: 60px;
}
#main-content.portfolio-images .entry-media
{
    margin: 0 0 32px 0;
}
#main-content.portfolio-images .entry-media .image
{
    position: relative;

    display: block;
}
#main-content.portfolio-images .entry-media .image img
{
    display: block;

    width: 100%;
    margin-bottom: 30px;
}
#main-content.portfolio-images .entry-media .image figcaption
{
    position: absolute;
    right: 20px;
    bottom: 20px;

    padding: 2px 18px;

    color: #fff;
    border-radius: 3px; 
    background: #7bbb5e url('../../images/button-glass.png') repeat-x scroll 0 0;
}
#main-content.portfolio-images .entry-navigation
{
    position: relative;

    width: 240px;
    margin: 40px auto 30px auto;
    padding: 40px 0 0 0;

    text-align: center;

    *zoom: 1;
}
#main-content.portfolio-images .entry-navigation:before,
#main-content.portfolio-images .entry-navigation:after
{
    display: table; 

    content: ' ';
}
#main-content.portfolio-images .entry-navigation:after
{
    clear: both;
}
#main-content.portfolio-images .entry-navigation:before
{
    position: absolute;
    top: 0;
    left: 50%;

    width: 30px;
    height: 1px;

    content: '';
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); 

    background: #d4d4d4;
}
#main-content.portfolio-images .entry-navigation li
{
    font-size: 20px;
    line-height: 45px;

    position: relative;

    display: block;
    float: left;

    width: 70px;
    height: 45px;
    margin: 0 5px;

    cursor: pointer;
    -webkit-transition: all .3s ease-in-out;
            transition: all .3s ease-in-out; 

    color: #757575;
    border-radius: 2px;
    background: #e4e4e4 url(../../images/button-glass.png) repeat-x;
}
#main-content.portfolio-images .entry-navigation li.index
{
    font-size: 18px;
}
#main-content.portfolio-images .entry-navigation li:hover
{
    background-color: #7bbb5e;
}
#main-content.portfolio-images .entry-navigation li:hover a
{
    color: #fff;
}
#main-content.portfolio-images .entry-navigation li a
{
    display: block;

    -webkit-transition: all .3s ease-in-out;
            transition: all .3s ease-in-out; 
    text-align: center;
}
#main-content.portfolio-images .share-project
{
    display: block;

    margin: 0 auto;
    padding: 0;

    text-align: center;
}
#main-content.portfolio-images .share-project li
{
    position: relative;

    display: inline-block;

    margin: 0 15px;
}
#main-content.portfolio-images .share-project li.share-title
{
    font-size: 14px;

    display: block;

    margin-bottom: 10px; 

    text-transform: uppercase;

    color: #999;
}
#main-content.portfolio-images .share-project li a
{
    font-size: 14px;

    -webkit-transition: all .3s ease-in-out;
            transition: all .3s ease-in-out; 
    text-transform: uppercase;

    color: #3b3c3e;
}
#main-content.portfolio-images .share-project li a:hover
{
    color: #000;
}

/** Page Sidebar */
@media (min-width: 0) and (max-width: 1024px)
{
    #page-sidebar.portfolio-desc
    {
        margin-top: 0 !important;
        padding-top: 0 !important;

        border: 0 !important;
    }
}

#page-sidebar.portfolio-desc .summary
{
    font-size: 15px;

    position: relative;

    margin-bottom: 30px;
    padding: 25px 30px 28px;

    border-radius: 3px;
    background: #3b3c3e;
}
#page-sidebar.portfolio-desc .summary:after
{
    font-size: 20px;

    position: absolute;
    top: 20px;
    right: 20px;

    width: 20px;
    height: 20px;

    content: '';

    opacity: .2; 
    color: #000;
    background: url(../../images/icons/info.svg);
}
#page-sidebar.portfolio-desc .summary h3
{
    font-size: 18px;

    margin-top: 0;
    margin-bottom: 10px;

    color: #fff;
}
#page-sidebar.portfolio-desc .summary p
{
    color: #999;
}

#page-sidebar.portfolio-desc .meta-info
{
    position: relative;

    padding: 28px 35px; 

    background: #e4e4e4;
}
#page-sidebar.portfolio-desc .meta-info .meta
{
    margin-bottom: 25px;
}
#page-sidebar.portfolio-desc .meta-info .meta:last-of-type
{
    margin-bottom: 3px;
}
#page-sidebar.portfolio-desc .meta-info .meta h4
{
    font-size: 16px;

    margin: 0; 

    color: #3a3c3d;
}
#page-sidebar.portfolio-desc .meta-info .meta p
{
    color: #96999d;
}

/*========================================================
  6.  BLOG 
========================================================== */
.blog.single .entry-desc h3
{
    padding: 0 3px;
}

.blog.single .entry-meta
{
    margin-top: 10px !important;
}

.blog
{
    /** General Styling */
    /** Standard Format */
    /** Quote Format */
    /** Link Format */
}
.blog .entry
{
    margin-bottom: 32px;

    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
.blog .entry .entry-media
{
    position: relative; 

    overflow: hidden;

    margin: 0;
}
.blog .entry .entry-media a
{
    display: block;
}
.blog .entry .entry-media a:after
{
    position: absolute;
    z-index: 9999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    content: '';
    -webkit-transition: opacity 300ms ease-in-out 0s;
            transition: opacity 300ms ease-in-out 0s; 

    opacity: 0;
    background: rgba(0, 0, 0, .3);
}
.blog .entry .entry-media img
{
    display: block; 

    width: 100%;

    -webkit-transition: -webkit-transform 300ms ease-in-out 0s;
            transition: -webkit-transform 300ms ease-in-out 0s;
            transition:         transform 300ms ease-in-out 0s;
            transition:         transform 300ms ease-in-out 0s, -webkit-transform 300ms ease-in-out 0s;
}
.blog .entry .entry-desc
{
    padding: 20px 35px;
}
.blog .entry .entry-desc h3
{
    font-size: 24px;
    font-weight: bold; 

    margin-top: 5px;
    margin-bottom: 10px;
}
.blog .entry .entry-desc h3 a
{
    padding: 3px; 

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s;

    color: #3a3c3d;
}
.blog .entry .entry-desc h3 a:hover
{
    color: #3a3c3d;
    background: #f6f6f6;
}
.blog .entry .entry-desc p
{
    color: #96999d;
}
.blog .entry .entry-meta
{
    margin: 0;
    padding: 0 36px 30px 36px;

    list-style: none;

    *zoom: 1;
}
.blog .entry .entry-meta:before,
.blog .entry .entry-meta:after
{
    display: table; 

    content: ' ';
}
.blog .entry .entry-meta:after
{
    clear: both;
}
.blog .entry .entry-meta li
{
    font-size: 15px;

    display: inline-block;
    float: right; 

    color: #96999d;
}
.blog .entry .entry-meta li:first-child
{
    float: left;
}
.blog .entry .entry-meta li a
{
    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s;
}
.blog .entry .entry-meta li a i
{
    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s;

    color: #d2d6db;
}
.blog .entry .entry-meta li a:hover
{
    color: #66696d;
}
.blog .entry .entry-meta li a:hover i
{
    color: #66696d;
}
.blog .entry .entry-meta li.date i
{
    font-size: 17px; 

    margin-right: 8px;
}
.blog .entry .entry-meta li.like
{
    margin-left: 15px;
}
.blog .entry .entry-meta li.like i
{
    font-size: 20px;

    margin-right: 5px;
}
.blog .entry .entry-meta li.like a:hover
{
    color: #7bbb5e;
}
.blog .entry .entry-meta li.like a:hover i
{
    color: #7bbb5e;
}
.blog .entry .entry-meta li.comments i
{
    font-size: 18px;

    margin-right: 5px;
}
.blog .format-standard:hover .entry-media a img
{
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
}
.blog .format-standard:hover .entry-media a:after
{
    opacity: 1;
}
.blog .format-quote .entry-media
{
    position: relative;

    padding: 35px 60px 38px 60px; 

    background: #3b3c3e;
}
.blog .format-quote .entry-media blockquote
{
    margin: 0;
    padding: 0;

    border: 0;
}
.blog .format-quote .entry-media blockquote:after
{
    font-family: 'FontAwesome';
    font-size: 23px; 

    position: absolute;
    top: 34px;
    left: 30px;

    content: '\f10d';

    color: #d2d6db;
}
.blog .format-quote .entry-media blockquote p
{
    font-size: 23px;
    font-weight: normal;
    font-style: italic;
    line-height: 32px;

    position: relative;

    padding: 0 2px 0 35px; 

    letter-spacing: 0;
    text-transform: initial;

    color: #fff;
}
.blog .format-quote .entry-media blockquote p:before
{
    position: absolute;
    top: 0; 
    left: 10px;

    width: 1px;
    height: 100%;

    content: '';

    background: rgba(255, 255, 255, .1);
}
.blog .format-link .entry-media
{
    position: relative;

    padding: 35px 60px 38px 60px; 

    background: #3b3c3e;
}
.blog .format-link .entry-media p
{
    margin: 0;
    padding: 0;

    border: 0;
}
.blog .format-link .entry-media p:after
{
    font-family: 'FontAwesome';
    font-size: 23px; 

    position: absolute;
    top: 34px;
    left: 30px;

    content: '\f0c1';

    color: #d2d6db;
}
.blog .format-link .entry-media p a
{
    font-size: 23px;
    font-weight: normal;
    font-style: italic;
    line-height: 32px;

    position: relative;

    padding: 0 2px 0 35px; 

    letter-spacing: 0;
    text-transform: initial;

    color: #fff;
}
.blog .format-link .entry-media p a:before
{
    position: absolute;
    top: 0; 
    left: 10px;

    width: 1px;
    height: 100%;

    content: '';

    background: rgba(255, 255, 255, .1);
}

/** Gallery Format */
.format-gallery .slick-arrow
{
    line-height: 30px;

    position: absolute;
    right: 20px;
    bottom: 20px;

    width: 32px;
    height: 32px;

    -webkit-transition: all 300ms ease-in-out 0s;
            transition: all 300ms ease-in-out 0s; 
    text-align: center;

    color: #fff;
    border: 1px solid #3b3c3e;
    border-radius: 2px;
    background: #3b3c3e;
}
.format-gallery .slick-arrow i.fa
{
    font-size: 12px;
}
.format-gallery .slick-arrow.prev-arrow
{
    z-index: 99; 
    right: 57px;
}
.format-gallery .slick-arrow:hover
{
    color: #fff;
    border: 1px solid #6cb34c; 
    background: #7bbb5e;
}

/*========================================================
  5.  STORE 
========================================================== */
/** Store Grid */
#store-grid
{
    *zoom: 1;
}
#store-grid:before,
#store-grid:after
{
    display: table; 

    content: ' ';
}
#store-grid:after
{
    clear: both;
}
#store-grid .entry .wrapper
{
    position: relative;

    margin-bottom: 32px;

    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
#store-grid .entry .wrapper:before,
#store-grid .entry .wrapper:after
{
    font-size: 16px;
    line-height: 30px;

    position: absolute;
    z-index: 1;
    z-index: 999;
    top: 0;
    left: 0;

    padding: 0 22px;

    text-transform: capitalize;

    background: url('../../images/button-glass.png') repeat-x;
}
#store-grid .entry .wrapper:before
{
    content: attr(data-sale);

    color: #fff; 
    background-color: #d31112;
}
#store-grid .entry .wrapper:after
{
    content: attr(data-stock);

    color: #3a3c3d; 
    background-color: #fbf285;
}
#store-grid .entry .wrapper:hover .add-to-cart
{
    opacity: 1;
}
#store-grid .entry .wrapper .add-to-cart
{
    -webkit-transition: opacity 300ms ease-in-out 0s;
            transition: opacity 300ms ease-in-out 0s; 

    opacity: 0;
}
#store-grid .entry .wrapper .add-to-cart a
{
    font-size: 15px;
    line-height: 29px;

    position: absolute;
    z-index: 999;
    top: 12px;
    right: 12px;

    width: 30px;
    height: 30px;

    text-align: center;
    text-transform: capitalize;

    color: #b4b4b4; 
    border: 1px solid rgba(180, 180, 180, .5);
    border-radius: 100%;
    background: #fff url(../../images/button-glass.png) repeat-x 0 0;
}
#store-grid .entry .wrapper .add-to-cart a:hover
{
    color: #fff; 
    border: 1px solid #6cb34c;
    background-color: #7bbb5e;
}
#store-grid .entry .wrapper .add-to-cart a i
{
    line-height: 30px;
}
#store-grid .entry .wrapper .entry-media
{
    position: relative;

    display: block;

    margin: 0;
}
#store-grid .entry .wrapper .entry-media img
{
    display: block;

    width: 100%;
}
#store-grid .entry .wrapper .entry-media ul.slick-dots
{
    position: absolute;
    bottom: 10px;

    margin: 0;
}
#store-grid .entry .wrapper .entry-media ul.slick-dots li
{
    width: 15px;
    height: 15px; 
    margin: 0;
}
#store-grid .entry .wrapper .entry-media ul.slick-dots li button
{
    box-shadow: none;
}
#store-grid .entry .wrapper .entry-media ul.slick-dots li button:before
{
    width: 8px;
    height: 8px;

    content: '';

    opacity: 1; 
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
}
#store-grid .entry .wrapper .entry-media ul.slick-dots li.slick-active button:before
{
    background: #fff;
}
#store-grid .entry .wrapper .entry-desc
{
    position: relative; 

    padding: 22px 25px;
}
#store-grid .entry .wrapper .entry-desc h3
{
    font-size: 16px;
    line-height: 1.3; 

    margin: 0;

    color: #3a3c3d;
}
#store-grid .entry .wrapper .entry-desc span.taxonomy
{
    font-size: 15px;

    text-transform: capitalize; 

    color: #96999d;
}
#store-grid .entry .wrapper .entry-desc span.price
{
    font-size: 15px;

    position: absolute;
    top: 25px;
    right: 25px;

    padding: 0 5px; 

    color: #fff;
    background: #3b3c3e;
}

/** Store Cart */
.store.cart #main-content .cart-summary
{
    padding: 20px 35px; 

    background: #3b3c3e;
}
.store.cart #main-content .cart-summary h3
{
    font-size: 24px;
    font-weight: bold; 

    color: #fff;
}
.store.cart #main-content .cart-summary form input[type='text'],
.store.cart #main-content .cart-summary form input[type='number']
{
    margin-bottom: 0;

    border: 0; 
    background: #eee;
}
.store.cart #main-content .cart-summary form input[type='submit']
{
    margin: 15px 0 0 0;
}
.store.cart #main-content .cart-summary table
{
    margin-top: 30px;

    border-collapse: collapse; 

    border: 0;
}
.store.cart #main-content .cart-summary table thead
{
    background: transparent;
}
.store.cart #main-content .cart-summary table thead tr
{
    border-top: 1px solid #565757;
    border-bottom: 1px solid #565757;
}
.store.cart #main-content .cart-summary table thead tr th
{
    font-weight: normal; 

    padding: 12px 8px;

    vertical-align: middle;

    color: #fff;
    border: 0;
}
.store.cart #main-content .cart-summary table thead tr th.product-name
{
    text-align: left;
}
.store.cart #main-content .cart-summary table thead tr th.product-price,
.store.cart #main-content .cart-summary table thead tr th.product-quantity,
.store.cart #main-content .cart-summary table thead tr th.product-subtotal
{
    width: 17%;

    text-align: center;
}
.store.cart #main-content .cart-summary table tbody
{
    font-weight: normal; 

    color: #999;
}
.store.cart #main-content .cart-summary table tbody tr
{
    border-bottom: 1px solid #565757;
    background: transparent;
}
.store.cart #main-content .cart-summary table tbody tr:last-child
{
    border-bottom: 0;
}
.store.cart #main-content .cart-summary table tbody tr td
{
    padding: 20px 8px;

    vertical-align: middle;

    border: 0;
}
.store.cart #main-content .cart-summary table tbody tr td.product-price,
.store.cart #main-content .cart-summary table tbody tr td.product-quantity,
.store.cart #main-content .cart-summary table tbody tr td.product-subtotal
{
    width: 17%;

    text-align: center;
}
.store.cart #main-content .cart-summary table tbody tr td.product-name a
{
    display: inline-block; 

    color: #999;
}
.store.cart #main-content .cart-summary table tbody tr td.product-name a:hover
{
    color: #fff;
}
.store.cart #main-content .cart-summary table tbody tr td.product-remove a
{
    font-size: 26px;
    font-weight: 300; 

    color: #999;
}
.store.cart #main-content .cart-summary table tbody tr td.product-remove a:hover
{
    color: #fff;
}
.store.cart #main-content .cart-summary table tbody tr td.actions
{
    padding-right: 0;
    padding-left: 0; 

    text-align: right;
}
.store.cart #main-content .cart-summary table tbody tr td .quantity input
{
    width: 45px;
    height: 40px;

    text-align: center;

    border-radius: 3px; 

    -moz-appearance: textfield;
}
.store.cart #main-content .cart-summary table tbody tr td .coupon
{
    display: inline-block;
    float: left;
}
@media (min-width: 0) and (max-width: 640px)
{
    .store.cart #main-content .cart-summary table tbody tr td .coupon
    {
        float: none;
    }
}
.store.cart #main-content .cart-summary table tbody tr td .coupon label
{
    display: none;
}
.store.cart #main-content .cart-summary table tbody tr td .coupon input[type='text']
{
    display: inline-block;

    width: auto;
    min-width: 220px; 
    margin-right: 10px;
}
@media (min-width: 0) and (max-width: 640px)
{
    .store.cart #main-content .cart-summary table tbody tr td .coupon input[type='text']
    {
        width: 175px; 
        min-width: 175px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    .store.cart #main-content .cart-summary table tbody tr td .coupon input[type='text']
    {
        width: 175px; 
        min-width: 175px;
    }
}
@media (min-width: 0) and (max-width: 640px)
{
    .store.cart #main-content .cart-summary table
    {
        display: block;
        /* Force table to not be like tables anymore */
        /* Hide table headers (but not display: none;, for accessibility) */
    }
    .store.cart #main-content .cart-summary table thead,
    .store.cart #main-content .cart-summary table tbody,
    .store.cart #main-content .cart-summary table th,
    .store.cart #main-content .cart-summary table td,
    .store.cart #main-content .cart-summary table tr
    {
        display: block;
    }
    .store.cart #main-content .cart-summary table thead tr
    {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    .store.cart #main-content .cart-summary table tr
    {
        border: 1px solid #565757;
    }
    .store.cart #main-content .cart-summary table td
    {
        position: relative;

        padding-left: 50%; 
        /* Behave  like a "row" */

        border: none;
        border-bottom: 1px solid #eee;
    }
    .store.cart #main-content .cart-summary table td:before
    {
        white-space: nowrap;

        color: #fff;
    }
    .store.cart #main-content .cart-summary table tr.cart_item
    {
        /* Label the data */
    }
    .store.cart #main-content .cart-summary table tr.cart_item td:nth-of-type(1):before
    {
        content: 'Product';
    }
    .store.cart #main-content .cart-summary table tr.cart_item td:nth-of-type(2):before
    {
        content: 'Price';
    }
    .store.cart #main-content .cart-summary table tr.cart_item td:nth-of-type(3):before
    {
        content: 'Quantity';
    }
    .store.cart #main-content .cart-summary table tr.cart_item td:nth-of-type(4):before
    {
        content: 'Total';
    }
    .store.cart #main-content .cart-summary table input[type='text']
    {
        width: auto;
    }
}

/** Order Total */
.store.cart #main-content .order-total
{
    margin-top: 40px; 
    padding: 20px 35px;

    background: #fff;
}
.store.cart #main-content .order-total h3
{
    font-size: 24px;
    font-weight: bold; 

    color: #3a3c3d;
}
.store.cart #main-content .order-total table
{
    margin-top: 30px;
    margin-bottom: 10px;

    border: 0;
}
.store.cart #main-content .order-total table tbody
{
    font-weight: normal; 

    color: #afafaf;
}
.store.cart #main-content .order-total table tbody tr
{
    background: transparent;
}
.store.cart #main-content .order-total table tbody tr:first-child
{
    border-top: 1px solid #e3e3e3;
}
.store.cart #main-content .order-total table tbody tr th
{
    font-weight: normal;

    text-align: left;
    vertical-align: middle;

    color: #2b2e33;
    border: 0;
    border-bottom: 1px solid #e3e3e3;
}
.store.cart #main-content .order-total table tbody tr td
{
    padding: 14px 8px; 

    text-align: right;

    border: 0;
    border-bottom: 1px solid #e3e3e3;
}
.store.cart #main-content .order-total .calculate-shipping
{
    font-size: 10px;
    font-weight: 600;

    display: inline-block;

    margin-right: 10px;
    margin-bottom: auto;
    padding: 1px 5px;

    white-space: nowrap;
    text-transform: uppercase; 

    color: #3a3c3d;
    border-radius: 3px;
    background: #feea36;
}
.store.cart #main-content .order-total .proceed-checkout
{
    margin: 20px 0; 

    text-align: right;
}
.store.cart #main-content .order-total .proceed-checkout a
{
    margin-right: 0;
}

/** Calculate Shipping */
.store.cart #page-sidebar .shipping-info
{
    position: relative;

    padding: 30px 35px; 

    color: #3a3c3d;
    background: #e4e4e4;
}
.store.cart #page-sidebar .shipping-info:after
{
    font-size: 20px;

    position: absolute;
    top: 30px;
    right: 37px;

    width: 30px;
    height: 30px;

    content: '';

    opacity: .2; 
    color: #000;
    background: url(../../images/icons/delivery-truck5.svg);
}
.store.cart #page-sidebar .shipping-info h4
{
    margin-top: 0;
}
.store.cart #page-sidebar .shipping-info form
{
    margin-top: 30px;
    margin-bottom: 10px; 

    *zoom: 1;
}
.store.cart #page-sidebar .shipping-info form:before,
.store.cart #page-sidebar .shipping-info form:after
{
    display: table; 

    content: ' ';
}
.store.cart #page-sidebar .shipping-info form:after
{
    clear: both;
}
.store.cart #page-sidebar .shipping-info form input[type='text'],
.store.cart #page-sidebar .shipping-info form select
{
    border: 0;
    border-bottom: 1px solid #d9d9d9;
    background: #f6f6f6;
    box-shadow: none;
}
.store.cart #page-sidebar .shipping-info form select
{
    text-indent: 1px;
    text-overflow: ''; 

    background: #f6f6f6 url(../../images/select-field-arrow.png) no-repeat 95% center;

    -webkit-appearance: none;
       -moz-appearance: none;
}
.store.cart #page-sidebar .shipping-info form button
{
    margin-top: 20px; 
    margin-right: 0;

    text-shadow: none;
}
.store.cart #page-sidebar .shipping-info form button:hover
{
    background: #919191 url(../../images/button-glass.png) repeat-x 0 0;
}
.store.cart #page-sidebar .shipping-info form button:active
{
    box-shadow: #787878 0 1px 0;
}

/** Single Product */
.single-product #main-content .entry
{
    margin-bottom: 32px;

    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
.single-product #main-content .entry .entry-header
{
    position: relative;

    padding: 45px 20px 40px 20px; 

    background: #3b3c3e;
}
.single-product #main-content .entry .entry-header .title h1
{
    font-size: 24px; 
    font-weight: bold;

    margin: 0;

    color: #fff;
}
.single-product #main-content .entry .entry-header .title p
{
    font-size: 18px; 

    color: #999;
}
.single-product #main-content .entry .entry-header .title p del
{
    margin-right: 5px;
}
.single-product #main-content .entry .entry-header .title p ins
{
    text-decoration: none;
}
.single-product #main-content .entry .entry-header .title .review-rating
{
    font-size: 15px;

    display: inline-block;

    margin-bottom: 5px;
    padding: 0 7px;

    text-transform: capitalize;

    border-radius: 2px;
    background: url('../../images/button-glass.png') repeat-x;
}
.single-product #main-content .entry .entry-header .title .review-rating.superb
{
    color: #fff;
    background-color: #7bbb5e;
}
.single-product #main-content .entry .entry-header .title .review-rating.worst
{
    color: #fff;
    background-color: #d31112;
}
.single-product #main-content .entry .entry-header .pricing
{
    margin-top: 23px;

    text-align: right;
}
@media (min-width: 0) and (max-width: 640px)
{
    .single-product #main-content .entry .entry-header .pricing
    {
        text-align: left;
    }
}
.single-product #main-content .entry .entry-header .pricing .cart
{
    display: inline-block;
}
.single-product #main-content .entry .entry-header .pricing .cart .quantity
{
    display: inline-block;
}
.single-product #main-content .entry .entry-header .pricing .cart .quantity input[type='number']
{
    position: relative;
    top: 1px;

    width: 50px;
    height: 44px;

    text-align: center;

    border: 0;
    border-radius: 3px;
    background: #eee;
    box-shadow: none;

    -moz-appearance: textfield;
}
.single-product #main-content .entry .entry-header .pricing .cart button
{
    margin: 0 0 0 10px;
}
@media (min-width: 0) and (max-width: 640px)
{
    .single-product #main-content .entry .entry-header .pricing .cart button
    {
        margin: 20px 0 0 0;
    }
}
.single-product #main-content .entry .entry-desc
{
    padding: 28px 35px;
}
.single-product #main-content .entry .entry-desc h3
{
    font-size: 24px;
    font-weight: bold; 

    margin-top: 5px;
    margin-bottom: 10px;
}
.single-product #main-content .entry .entry-desc h3 a
{
    padding: 3px; 

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s;

    color: #3a3c3d;
}
.single-product #main-content .entry .entry-desc h3 a:hover
{
    color: #3a3c3d;
    background: #f6f6f6;
}
.single-product #main-content .entry .entry-desc p
{
    color: #96999d;
}
.single-product #main-content .entry .entry-desc p:last-of-type
{
    margin-bottom: 30px;
}
.single-product #main-content .entry .entry-desc .colors-attrs a
{
    display: inline-block;

    width: 15px;
    height: 15px;
    margin-right: 5px;

    border-radius: 100%;
}
.single-product #main-content .entry .entry-desc .colors-attrs a.green
{
    background: #94c87c;
}
.single-product #main-content .entry .entry-desc .colors-attrs a.red
{
    background: #d93333;
}
.single-product #main-content .entry .entry-desc .colors-attrs a.blue
{
    background: #8a90ff;
}
.single-product #main-content .entry .entry-desc .size-attrs a
{
    font-size: 15px;
    line-height: 24px;

    display: inline-block;

    margin-right: 5px;
    padding: 0 4px;
}
.single-product #main-content .entry .entry-desc .size-attrs a:first-of-type
{
    padding-left: 0;
}
.single-product #main-content .entry .entry-desc .size-attrs a.active
{
    color: #3a3c3d; 
    background-color: #feea36;
}
.single-product #main-content .entry .entry-desc table
{
    border: 0;
    border-top: 1px solid #f2f2f2;
}
.single-product #main-content .entry .entry-desc table:last-of-type
{
    border-bottom: 1px solid #f2f2f2;
}
.single-product #main-content .entry .entry-desc table tbody tr:first-child th,
.single-product #main-content .entry .entry-desc table tbody tr:first-child td
{
    padding-top: 20px;
}
.single-product #main-content .entry .entry-desc table tbody tr
{
    background: transparent;
}
.single-product #main-content .entry .entry-desc table tbody tr th[scope='rowgroup']
{
    width: 30%;
}
.single-product #main-content .entry .entry-desc table tbody tr th[scope='row']
{
    font-weight: normal; 

    width: 25%;
}
.single-product #main-content .entry .entry-desc table tbody tr th
{
    padding: 2px 10px; 

    vertical-align: top;

    color: #3b3c3e;
}
.single-product #main-content .entry .entry-desc table tbody tr td
{
    padding: 2px 10px;

    vertical-align: middle;

    color: #999; 
    border: 0;
}
.single-product #main-content .entry .entry-desc table tbody tr:last-child th,
.single-product #main-content .entry .entry-desc table tbody tr:last-child td
{
    padding-bottom: 30px;
}
.single-product #main-content .entry .entry-meta
{
    margin: 0;
    padding: 0 36px 30px 36px;

    list-style: none;

    *zoom: 1;
}
.single-product #main-content .entry .entry-meta:before,
.single-product #main-content .entry .entry-meta:after
{
    display: table; 

    content: ' ';
}
.single-product #main-content .entry .entry-meta:after
{
    clear: both;
}
.single-product #main-content .entry .entry-meta li
{
    font-size: 15px;

    display: inline-block;
    float: right; 

    color: #96999d;
}
.single-product #main-content .entry .entry-meta li:first-child
{
    float: left;
}
.single-product #main-content .entry .entry-meta li a
{
    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s;
}
.single-product #main-content .entry .entry-meta li a i
{
    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s;

    color: #d2d6db;
}
.single-product #main-content .entry .entry-meta li a:hover
{
    color: #66696d;
}
.single-product #main-content .entry .entry-meta li a:hover i
{
    color: #66696d;
}
.single-product #main-content .entry .entry-meta li.date i
{
    font-size: 17px; 

    margin-right: 8px;
}
.single-product #main-content .entry .entry-meta li.like
{
    margin-left: 15px;
}
.single-product #main-content .entry .entry-meta li.like i
{
    font-size: 20px;

    margin-right: 5px;
}
.single-product #main-content .entry .entry-meta li.like a:hover
{
    color: #7bbb5e;
}
.single-product #main-content .entry .entry-meta li.like a:hover i
{
    color: #7bbb5e;
}
.single-product #main-content .entry .entry-meta li.comments i
{
    font-size: 18px;

    margin-right: 5px;
}

.single-product #page-sidebar .entry-media
{
    position: relative;

    margin: 0;
}
.single-product #page-sidebar .entry-media:before,
.single-product #page-sidebar .entry-media:after
{
    font-size: 16px;
    line-height: 32px;

    position: absolute;
    z-index: 1;
    z-index: 999;
    top: 0;
    left: 0;

    padding: 0 25px;

    text-transform: capitalize;

    background: url('../../images/button-glass.png') repeat-x;
}
.single-product #page-sidebar .entry-media:before
{
    content: attr(data-sale);

    color: #fff; 
    background-color: #d31112;
}
.single-product #page-sidebar .entry-media:after
{
    content: attr(data-stock);

    color: #3a3c3d; 
    background-color: #fbf285;
}
.single-product #page-sidebar .entry-media img
{
    width: 100%;
    height: auto;
}
.single-product #page-sidebar .entry-media ul.slick-dots
{
    position: absolute;
    bottom: 10px;

    margin: 0;
}
.single-product #page-sidebar .entry-media ul.slick-dots li
{
    width: 15px;
    height: 15px; 
    margin: 0;
}
.single-product #page-sidebar .entry-media ul.slick-dots li button
{
    box-shadow: none;
}
.single-product #page-sidebar .entry-media ul.slick-dots li button:before
{
    width: 8px;
    height: 8px;

    content: '';

    opacity: 1; 
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
}
.single-product #page-sidebar .entry-media ul.slick-dots li.slick-active button:before
{
    background: #fff;
}

.single-product #page-sidebar .more-images
{
    background: #efefef;
}
.single-product #page-sidebar .more-images:before
{
    display: block;

    width: 100%;
    padding: 17px; 

    content: attr(data-more-images);
    text-align: center;

    background: #fff;
}
.single-product #page-sidebar .more-images a
{
    display: inline-block;

    max-width: 123px;
}
.single-product #page-sidebar .more-images a img
{
    width: 100%;
}
.single-product #page-sidebar .more-images a.slick-current
{
    background: transparent -webkit-repeating-linear-gradient(45deg, #43f3b7, #43f3b7 1px, #4ae5b0 1px, #4ae5b0 5px) repeat scroll 0 0;
    background: transparent repeating-linear-gradient(45deg, #43f3b7, #43f3b7 1px, #4ae5b0 1px, #4ae5b0 5px) repeat scroll 0 0;
}
.single-product #page-sidebar .more-images a.slick-current img
{
    opacity: .3;
}

/*========================================================
  7.  COMMENTS 
========================================================== */
/** Comments List */
#comments
{
    margin-top: 80px;
}
#comments h3
{
    font-size: 22px;

    margin-bottom: .5rem; 

    color: #3a3c3d;
}
#comments > p
{
    color: #96999d;
}
#comments ol.comments-list
{
    margin-top: 40px; 
    padding-left: 0;
}
#comments ol.comments-list li.comment
{
    margin-top: 30px;
    padding: 28px 35px;

    list-style: none;

    border-radius: 2px;
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);

    *zoom: 1;
}
#comments ol.comments-list li.comment:before,
#comments ol.comments-list li.comment:after
{
    display: table; 

    content: ' ';
}
#comments ol.comments-list li.comment:after
{
    clear: both;
}
#comments ol.comments-list li.comment .author-avatar
{
    float: left;

    width: 90px;
    margin-right: 25px;
    padding-left: 0;

    border-right: 1px solid #ededed;
}
@media (min-width: 0) and (max-width: 640px)
{
    #comments ol.comments-list li.comment .author-avatar
    {
        float: none;

        border: 0;
    }
}
#comments ol.comments-list li.comment .author-avatar img
{
    display: block;
}
#comments ol.comments-list li.comment .comment-body
{
    margin-left: 115px;
}
@media (min-width: 0) and (max-width: 640px)
{
    #comments ol.comments-list li.comment .comment-body
    {
        margin-left: 0;
    }
}
#comments ol.comments-list li.comment .comment-body .meta
{
    position: relative;
}
#comments ol.comments-list li.comment .comment-body .meta .author
{
    font-size: 18px;

    display: block;

    color: #3a3c3d;
}
#comments ol.comments-list li.comment .comment-body .meta .time
{
    font-size: 15px;

    color: #96999d;
}
#comments ol.comments-list li.comment .comment-body .meta .comment-reply-link
{
    font-size: 15px;

    position: absolute;
    top: 0;
    right: 0;

    padding: 0 7px;

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s;

    color: #fff;
    border-radius: 2px; 
    background: #a9a9a9 url('../../images/button-glass.png') repeat-x;
}
#comments ol.comments-list li.comment .comment-body .meta .comment-reply-link:hover
{
    background-color: #919191;
}
#comments ol.comments-list li.comment .comment-body .meta .review-rating
{
    font-size: 15px;

    position: absolute;
    top: 0;
    right: 0;

    padding: 0 7px;

    text-transform: capitalize;

    border-radius: 2px;
    background: url('../../images/button-glass.png') repeat-x;
}
#comments ol.comments-list li.comment .comment-body .meta .review-rating.superb
{
    color: #fff;
    background-color: #7bbb5e;
}
#comments ol.comments-list li.comment .comment-body .meta .review-rating.worst
{
    color: #fff;
    background-color: #d31112;
}
#comments ol.comments-list li.comment .comment-body .content
{
    margin-top: 10px;
}
#comments ol.comments-list li.comment .comment-body .content p
{
    color: #96999d;
}

/** Comments Form */
#comments-form
{
    margin-top: 80px;
}
#comments-form h3
{
    font-size: 22px;

    margin-bottom: .5rem; 

    color: #3a3c3d;
}
#comments-form > p
{
    color: #96999d;
}
#comments-form form
{
    margin-top: 40px;
}
#comments-form form p
{
    margin-bottom: 14px;
}
#comments-form form input[type='text'],
#comments-form form input[type='email'],
#comments-form form input[type='url'],
#comments-form form input[type='password'],
#comments-form form input[type='search'],
#comments-form form select
{
    width: 100%;
    padding: 1.3rem 2rem;

    -webkit-transition: box-shadow .3s, border .3s;
            transition: box-shadow .3s, border .3s; 

    color: #96999d;
    border: solid 6px rgba(0, 0, 0, .07);
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
}
#comments-form form textarea
{
    width: 100%;

    -webkit-transition: box-shadow .3s, border .3s;
            transition: box-shadow .3s, border .3s; 

    color: #96999d;
    border: solid 6px rgba(0, 0, 0, .07);
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
}
#comments-form form select
{
    text-indent: 1px;
    text-overflow: ''; 

    background: #fff url(../../images/select-field-arrow.png) no-repeat 97.5% center;

    -webkit-appearance: none;
       -moz-appearance: none;
}
#comments-form form input[type='text']:focus,
#comments-form form input[type='email']:focus,
#comments-form form input[type='url']:focus,
#comments-form form input[type='password']:focus,
#comments-form form input[type='search']:focus,
#comments-form form textarea:focus,
#comments-form form select:focus
{
    border: solid 6px rgba(0, 0, 0, .1);
}
#comments-form form label
{
    display: inline-block; 

    color: #7b7d80;
}
#comments-form form ::-webkit-input-placeholder
{
    /* Safari, Chrome and Opera */
    color: #7b7b7b;
}
#comments-form form :-moz-placeholder
{
    /* Firefox 18- */
    color: #7b7b7b;
}
#comments-form form ::-moz-placeholder
{
    /* Firefox 19+ */
    color: #7b7b7b;
}
#comments-form form :-ms-input-placeholder
{
    /* IE 10+ */
    color: #7b7b7b;
}
#comments-form form ::-ms-input-placeholder
{
    /* Edge */
    color: #7b7b7b;
}
#comments-form form :placeholder-shown
{
    /* Standard one last! */
    color: #7b7b7b;
}

/*========================================================
 8.  FORMS 
========================================================== */
/*---------------------------------------------------------
 General (_forms.scss)
-------------------------------------------------------- */
input[type='text'],
input[type='email'],
input[type='url'],
input[type='password'],
input[type='search'],
select,
textarea
{
    display: block;

    width: 100%;
    margin: 0;
    margin-bottom: 1.4rem;
    padding: 1.2rem 2rem;

    vertical-align: baseline;

    color: #96999d;
    border: 0;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    border-radius: 3px;
    background: rgba(0, 0, 0, .07);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .07);
}

input[type='text']:focus,
input[type='email']:focus,
input[type='url']:focus,
input[type='password']:focus,
input[type='search']:focus,
select:focus,
textarea:focus
{
    outline: medium none;
}

/*---------------------------------------------------------
 Buttons (_forms.scss)
-------------------------------------------------------- */
input[type='submit'],
button,
.button,
input[type='button']
{
    font-family: 'Lato', sans-serif;
    font-size: 15px;

    display: inline-block;

    margin-top: 10px;
    padding: 9px 23px;

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s; 

    color: #3c3c3c;
    border: none;
    border-bottom: solid 1px #f5e383;
    border-radius: 3px;
    background: #ffd46e;
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ffd46e), color-stop(1, #ffe88a));
    background-image: -moz-linear-gradient(center bottom, #ffd46e 0%, #ffe88a 100%);
    box-shadow: #be9144 0 2px 0;
    text-shadow: #fff0ac 0 1px 0;
}

input[type='submit']:hover,
button:hover,
.button:hover,
input[type='button']:hover
{
    color: #545454; 
    border-bottom: solid 1px #fff9b6;
    background: #fffda5;
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fae67f), color-stop(1, #fdffba));
    background-image: -moz-linear-gradient(center bottom, #fae67f 0%, #fdffba 100%);
    box-shadow: #dcb759 0 2px 0;
}

input[type='submit']:active,
button:active,
.button:active,
input[type='button']:active
{
    position: relative;
    top: 1px;

    box-shadow: #dcb759 0 1px 0;
}

/*---------------------------------------------------------
 Labels (_forms.scss)
-------------------------------------------------------- */
label
{
    font-size: 1.6rem;
    line-height: 46px;

    display: inline-block; 

    color: #888;
}
label span.required
{
    color: #f26c4f;
}

/*---------------------------------------------------------
 Placeholders (_forms.scss)
-------------------------------------------------------- */
:placeholder-shown
{
    font-style: italic; 
    /* Standard one last! */

    color: rgba(0, 0, 0, .3);
}

/*---------------------------------------------------------
 Number Spinner (_forms.scss)
-------------------------------------------------------- */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button
{
    margin: 0; 

    -webkit-appearance: none;
}

input[type=number]
{
    -moz-appearance: textfield;
}

/*---------------------------------------------------------
 Validation (_forms.scss)
-------------------------------------------------------- */
input.error,
textarea.error
{
    border: 1px solid #ff0013 !important;
    background: rgba(255, 0, 0, .08);
}

label.error
{
    display: none !important;
}

#contact-form
{
    margin-bottom: 7px;
}

/*===================================================================*/
/* BUTTON STYLES 
/*===================================================================*/
.trend-button
{
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: normal;

    display: inline-block;

    margin-top: 15px;
    margin-right: 15px;
    padding: 9px 23px;

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s; 

    color: #fff;
    border: none;
    border-bottom: solid 1px #f5e383;
    border-radius: 3px;
    background: url(../../images/button-glass.png) repeat-x 0 0;
    box-shadow: #be9144 0 2px 0;
}

.trend-button:hover
{
    color: #fff; 
    border-bottom: solid 1px #fff9b6;
    box-shadow: #dcb759 0 2px 0;
}

.trend-button:active
{
    position: relative;
    top: 1px;

    box-shadow: #dcb759 0 1px 0;
}

/* BUTTON COLORS */
.trend-button.black
{
    border-color: #000;
    background-color: #333;
    box-shadow: #141414 0 2px 0;
}

.trend-button.black:hover
{
    background-color: #3c3c3c;
}

.trend-button.black:active
{
    box-shadow: #141414 0 1px 0;
}

.trend-button.grey
{
    border-color: #4e4e4e;
    background-color: #888;
    box-shadow: #787878 0 2px 0;
}

.trend-button.grey:hover
{
    background-color: #919191;
}

.trend-button.grey:active
{
    box-shadow: #787878 0 1px 0;
}

.trend-button.green
{
    border-color: #538421;
    background-color: #7fc33c;
    box-shadow: #69963b 0 2px 0;
}

.trend-button.green:hover
{
    background-color: #8dd242;
}

.trend-button.green:active
{
    box-shadow: #69963b 0 1px 0;
}

.trend-button.blue
{
    border-color: #0b7095;
    background-color: #2caada;
    box-shadow: #2681a2 0 2px 0;
}

.trend-button.blue:hover
{
    background-color: #32bcef;
}

.trend-button.blue:active
{
    box-shadow: #2681a2 0 1px 0;
}

.trend-button.yellow
{
    border-color: #c79a0b;
    background-color: #fcc71f;
    box-shadow: #c29300 0 2px 0;
}

.trend-button.yellow:hover
{
    background-color: #ffcf38;
}

.trend-button.yellow:active
{
    box-shadow: #c29300 0 1px 0;
}

.trend-button.red
{
    border-color: #ab4b44;
    background-color: #e3514a;
    box-shadow: #c02a05 0 2px 0;
}

.trend-button.red:hover
{
    background-color: #ff5e56;
}

.trend-button.red:active
{
    box-shadow: #c02a05 0 1px 0;
}

.trend-button.purple
{
    border-color: #996192;
    background-color: #d17ac6;
    box-shadow: #996192 0 2px 0;
}

.trend-button.purple:hover
{
    background-color: #eb90e0;
}

.trend-button.purple:active
{
    box-shadow: #996192 0 1px 0;
}

.trend-button.orange
{
    border-color: #bd2e0b;
    background-color: #ff7654;
    box-shadow: #e44c26 0 2px 0;
}

.trend-button.orange:hover
{
    background-color: #ff8262;
}

.trend-button.orange:active
{
    box-shadow: #e44c26 0 1px 0;
}

.trend-button.pink
{
    border-color: #fda5c5;
    background-color: #ffadcb;
    box-shadow: #fda5c5 0 2px 0;
}

.trend-button.pink:hover
{
    background-color: #ffb5d0;
}

.trend-button.pink:active
{
    box-shadow: #fda5c5 0 1px 0;
}

/*===================================================================*/
/* TOGGLES
/*===================================================================*/
.trend-toggle
{
    margin-top: 10px;
}

.trend-toggle:first-child
{
    margin-top: 35px;
}

.trend-toggle-heading
{
    background: #f1f1f1;
}

.trend-toggle-heading
{
    cursor: pointer;

    outline: none;
}

.trend-toggle-heading p
{
    margin: 0;
}

.trend-toggle-title > a
{
    display: block;

    padding: 14px 20px; 

    text-decoration: none;
}

.trend-toggle-title > a:hover
{
    color: #000;
}

.trend-toggle-content
{
    padding: 15px 20px;

    color: #96999d; 
    border: 1px solid #f2f2f2;
    border-top: 0;
}

.collapse
{
    display: none;
}

.collapse.open
{
    display: block;
}

.trend-toggle-title > a:before
{
    font-family: 'FontAwesome';
    font-size: 14px;
    font-weight: 300;

    margin-right: 18px; 

    content: '\f067';
}

.active .trend-toggle-title > a:before
{
    content: '\f068';
}

/*===================================================================*/
/* TABS
/*===================================================================*/
.trend-tabs
{
    margin-top: 30px;
}

.trend-tab-headings
{
    z-index: 400;

    display: block;

    width: 100%;
    margin: 10px 0 0 0;
    padding: 0;

    *zoom: 1;
}
.trend-tab-headings:before,
.trend-tab-headings:after
{
    display: table; 

    content: ' ';
}
.trend-tab-headings:after
{
    clear: both;
}

.trend-tab-headings > li
{
    float: left;

    margin-bottom: 10px; 

    list-style: none;
}

.trend-tab-headings > li > a
{
    margin-right: 5px;
    padding: 15px 20px;

    border-radius: 2px 2px 0 0;
}

.trend-tab-headings > li.active > a,
.trend-tab-headings > li.active > a:hover,
.trend-tab-headings > li.active > a:focus
{
    cursor: default;
    text-decoration: none;

    border-bottom-color: transparent; 
    background-color: #f1f1f1;
}

.trend-tab-headings > li > a:hover
{
    color: #000;
}

.trend-tab-body
{
    z-index: 300; 

    float: left;

    padding: 15px 20px;

    opacity: 0;
    border-top: 0;
    background: #f1f1f1;
}

.trend-tab-body.open
{
    opacity: 1;
}

.trend-tab-contents
{
    float: left;

    width: 100%;
    margin-bottom: 50px;

    color: #96999d; 
    background-color: #000;
}

.trend-tab-contents > .trend-tab-body
{
    display: none;
}

.trend-tab-contents > .open
{
    display: block;
}

@media only screen and (max-width: 400px)
{
    .trend-tab-headings > li
    {
        margin-bottom: 0;
    }
    .trend-tab-headings > li > a
    {
        margin-right: 1px;
        padding: 7px 7px;
    }
    .trend-tab-body
    {
        padding: 7px;
    }
}

/*===================================================================*/
/* HIGHLIGHT
/*===================================================================*/
span.highlight
{
    font-style: italic; 

    padding: 2px 5px;

    color: #a5651a;
    background-color: #fff49b;
}

/*===================================================================*/
/* ALERTS
/*===================================================================*/
.trend-alert
{
    line-height: 25px; 

    position: relative;

    margin: 20px 0 0 0;
    padding: 18px 20px;

    color: #fff;
    border-radius: 2px;
    background-color: #888;
}

.trend-alert.note
{
    color: #846f44; 
    background: #fdf8e4;
}

.trend-alert.info
{
    color: #2e6d8e; 
    background: #d9edf6;
}

.trend-alert.success
{
    color: #417044; 
    background: #def0d8;
}

.trend-alert.error
{
    color: #ac4641; 
    background: #f2dedf;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIl9jb250ZW50cy5zY3NzIiwiX2Jhc2Uuc2NzcyIsIl9wcmVib290LnNjc3MiLCJfc2tpbi5zY3NzIiwiX2dyaWQuc2NzcyIsImxpYi9zdXN5L3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fYm94LXNpemluZy5zY3NzIiwibGliL3N1c3kvc3VzeS9vdXRwdXQvc3VwcG9ydC9fcmVtLnNjc3MiLCJsaWIvYnJlYWtwb2ludC9fYnJlYWtwb2ludC5zY3NzIiwibGliL3N1c3kvc3VzeS9sYW5ndWFnZS9zdXN5L19jb250YWluZXIuc2NzcyIsImxpYi9zdXN5L3N1c3kvb3V0cHV0L3N1cHBvcnQvX2NsZWFyZml4LnNjc3MiLCJsaWIvc3VzeS9zdXN5L2xhbmd1YWdlL3N1c3kvX3NwYW4uc2NzcyIsImxpYi9zdXN5L3N1c3kvb3V0cHV0L3NoYXJlZC9fZGlyZWN0aW9uLnNjc3MiLCJsaWIvc3VzeS9zdXN5L2xhbmd1YWdlL3N1c3kvX2d1dHRlcnMuc2NzcyIsIl9taXhpbnMuc2NzcyIsIl9zY2FmZm9sZGluZy5zY3NzIiwiX3NpZGViYXIuc2NzcyIsIl9wb3J0Zm9saW8uc2NzcyIsIl9ibG9nLnNjc3MiLCJfc3RvcmUuc2NzcyIsIl9jb21tZW50cy5zY3NzIiwiX2Zvcm1zLnNjc3MiLCJfc2hvcnRjb2Rlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O3FFQU9xRTtBQ1ByRTs7Ozs7Ozs7Ozs7bUVBV21FO0FDWG5FOzs2REFFNkQ7QUFFNUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxnQ0NOd0M7RURPeEMsa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsZUVIb0I7RUZJcEIsdUVFTndFLEVGT3hFOztBQUVEO0VBQ0UsdUJBQXVCLEVBQ3hCOztBQUVEO0VBQ0ksWUFBWTtFQUNaLG9CQUFvQixFQUN2Qjs7QUFIRDtFQUNJLFlBQVk7RUFDWixvQkFBb0IsRUFDdkI7O0FBRUYsdUJBQXVCO0FBQ3ZC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TUFDZixZQUFZLEVBQ2IsRUFBQTs7QUZpREQ7RUg1Q0g7SUVERyxpQkZHcUQ7SUVIckQsa0JFcURvQztJRnJEcEMsbUJFcURtRSxFSjNCckU7SUF6QkQ7TUtSSyxhQUFhO01BQ2IsZUFBZTtNQUNmLFlBQVksRUFDYixFQUFBOztBRmlERDtFSDVDSDtJRURHLGtCRlhlO0lFV2Ysa0JFcURvQztJRnJEcEMsbUJFcURtRSxFSjNCckU7SUF6QkQ7TUtSSyxhQUFhO01BQ2IsZUFBZTtNQUNmLFlBQVksRUFDYixFQUFBOztBRmlERDtFSDVDSDtJRURHLGtCRktzRDtJRUx0RCxrQkVxRG9DO0lGckRwQyxtQkVxRG1FLEVKM0JyRTtJQXpCRDtNS1JLLGFBQWE7TUFDYixlQUFlO01BQ2YsWUFBWSxFQUNiLEVBQUE7O0FGaUREO0VINUNIO0lFREcsa0JGTTJEO0lFTjNELGtCRXFEb0M7SUZyRHBDLG1CRXFEbUUsRUozQnJFO0lBekJEO01LUkssYUFBYTtNQUNiLGVBQWU7TUFDZixZQUFZLEVBQ2IsRUFBQTs7QUZpREQ7RUg1Q0g7SUVERyxrQkZPMEQ7SUVQMUQsa0JFcURvQztJRnJEcEMsbUJFcURtRSxFSjNCckU7SUF6QkQ7TUtSSyxhQUFhO01BQ2IsZUFBZTtNQUNmLFlBQVksRUFDYixFQUFBOztBRmlERDtFSDVDSDtJRURHLGtCRlEyRDtJRVIzRCxrQkVxRG9DO0lGckRwQyxtQkVxRG1FLEVKM0JyRTtJQXpCRDtNS1JLLGFBQWE7TUFDYixlQUFlO01BQ2YsWUFBWSxFQUNiLEVBQUE7O0FGaUREO0VINUNIO0lFREcsWUl3SW9CO0lKeElwQixZS0E0RDtJTEE1RCxzQk1xRmtCO0lOckZsQix1Qk1xRmtCLEVSbkVuQixFQUFBOztBRzJCQztFSDVDSDtJRURHLFlJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsc0JNcUZrQjtJTnJGbEIsdUJNcUZrQixFUm5FbkIsRUFBQTs7QUcyQkM7RUg1Q0g7SUVERyxXSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJuRW5CLEVBQUE7O0FHMkJDO0VINUNIO0lFREcsV0l3SW9CO0lKeElwQixZS0E0RDtJTEE1RCxzQk1xRmtCO0lOckZsQix1Qk1xRmtCLEVSbkVuQixFQUFBOztBRzJCQztFSDVDSDtJRURHLGVJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsc0JNcUZrQjtJTnJGbEIsdUJNcUZrQixFUm5FbkIsRUFBQTs7QUcyQkM7RUg1Q0g7SUVERyxhSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJuRW5CLEVBQUE7O0FHMkJDO0VINUNIO0lFREcsWUl3SW9CO0lKeElwQixZS0E0RCxFUHlCN0QsRUFBQTs7QUdvQkM7RUg1Q0g7SUVERyxXSXdJb0I7SUp4SXBCLFlLQTRELEVQeUI3RCxFQUFBOztBR29CQztFSDVDSDtJRURHLFdJd0lvQjtJSnhJcEIsWUtBNEQsRVB5QjdELEVBQUE7O0FHb0JDO0VINUNIO0lFREcsZUl3SW9CO0lKeElwQixZS0E0RCxFUHlCN0QsRUFBQTs7QUdvQkM7RUg1Q0g7SUVERyxhSXdJb0I7SUp4SXBCLFlLQTRELEVQeUI3RCxFQUFBOztBQUlILHNCQUFzQjtBQUN0Qix5REFBeUQ7QUdlckQ7RUhiSDs7SUVoQ0csWUl3SW9CO0lKeElwQixZS0E0RDtJTEE1RCxzQk1xRmtCO0lOckZsQix1Qk1xRmtCLEVSM0NuQixFQUFBOztBR0dDO0VIYkg7O0lFaENHLFdJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsc0JNcUZrQjtJTnJGbEIsdUJNcUZrQixFUjNDbkIsRUFBQTs7QUdHQztFSGJIOztJRWhDRyxpQkl3SW9CO0lKeElwQixZS0E0RDtJTEE1RCxzQk1xRmtCO0lOckZsQix1Qk1xRmtCLEVSM0NuQixFQUFBOztBR0dDO0VIYkg7O0lFaENHLFdJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsc0JNcUZrQjtJTnJGbEIsdUJNcUZrQixFUjNDbkIsRUFBQTs7QUdHQztFSGJIOztJRWhDRyxXSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVIzQ25CLEVBQUE7O0FHR0M7RUhiSDs7SUVoQ0csaUJJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsc0JNcUZrQjtJTnJGbEIsdUJNcUZrQixFUjNDbkIsRUFBQTs7QUFJSCw0QkFBNEI7QUFDNUIseURBQXlEO0FBRXhEO0dTakRHLFFBQVMsRVR3Rlg7RUF2Q0Q7SVM5Q08sYUFBYTtJQUNiLGVBQWUsRUFDbEI7RVQ0Q0o7SVMxQ08sWUFBWSxFQUNmO0VOcUNEO0lISUg7TUVqREcsWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSeEJsQixFQUFBO0VHaEJBO0lISUg7TUVqREcsWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSeEJsQixFQUFBO0VHaEJBO0lISUg7TUVqREcsWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSeEJsQixFQUFBO0VHaEJBO0lISUg7TUVqREcsWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSeEJsQixFQUFBO0VHaEJBO0lISUg7TUVqREcsV0l3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSeEJsQixFQUFBO0VHaEJBO0lISUg7TUVqREcsaUJJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUnhCbEIsRUFBQTtFR2hCQTtJSElIO01FakRHLFlJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUnBCbEIsRUFBQTtFR3BCQTtJSElIO01FakRHLFlJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUlpuQixFQUFBO0VHNUJDO0lISUg7TUVqREcsWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSWm5CLEVBQUE7RUc1QkM7SUhJSDtNRWpERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSWm5CLEVBQUE7RUc1QkM7SUhJSDtNRWpERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSWm5CLEVBQUE7RUc1QkM7SUhJSDtNRWpERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSWm5CLEVBQUE7RUc1QkM7SUhJSDtNRWpERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSWm5CLEVBQUE7RUc1QkM7SUhJSDtNRWpERyxZSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJQbEIsRUFBQTtFR2pDQTtJSElIO01FakRHLFlJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUkNuQixFQUFBO0VHekNDO0lISUg7TUVqREcsWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSQ25CLEVBQUE7RUd6Q0M7SUhJSDtNRWpERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSQ25CLEVBQUE7RUd6Q0M7SUhJSDtNRWpERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSQ25CLEVBQUE7RUd6Q0M7SUhJSDtNRWpERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSQ25CLEVBQUE7RUd6Q0M7SUhJSDtNRWpERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSQ25CLEVBQUE7O0FBTUgsaUJBQWlCO0FBQ2pCLHlEQUF5RDtBR2hEckQ7RUhrREg7SUUvRkcsaUJGZ0dxRDtJRWhHckQsa0JFcURvQztJRnJEcEMsbUJFcURtRSxFSjZDckU7SUFIRDtNS3RHSyxhQUFhO01BQ2IsZUFBZTtNQUNmLFlBQVksRUFDYixFQUFBOztBRmlERDtFSGtESDtJRS9GRyxpQkZpR3FEO0lFakdyRCxrQkVxRG9DO0lGckRwQyxtQkVxRG1FLEVKNkNyRTtJQUhEO01LdEdLLGFBQWE7TUFDYixlQUFlO01BQ2YsWUFBWSxFQUNiLEVBQUE7O0FGaUREO0VIdURIOztJRXBHRyxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJ3QnBCLEVBQUE7O0FHaEVFO0VIdURIOztJRXBHRyxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJ3QnBCLEVBQUE7O0FHaEVFO0VIdURIOztJRXBHRyxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJ3QnBCLEVBQUE7O0FHaEVFO0VIdURIOztJRXBHRyxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJ3QnBCLEVBQUE7O0FHaEVFO0VIdURIOztJRXBHRyxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJ3QnBCLEVBQUE7O0FHaEVFO0VIdURIOztJRXBHRyxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJ3QnBCLEVBQUE7O0FBRUQ7R1MvR0csUUFBUyxFVGtJWDtFQW5CRDtJUzVHTyxhQUFhO0lBQ2IsZUFBZSxFQUNsQjtFVDBHSjtJU3hHTyxZQUFZLEVBQ2Y7RU5xQ0Q7SUhrRUg7TUUvR0csWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSb0NuQixFQUFBO0VHNUVDO0lIa0VIO01FL0dHLFdJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUm9DbkIsRUFBQTtFRzVFQztJSGtFSDtNRS9HRyxXSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJvQ25CLEVBQUE7RUc1RUM7SUhrRUg7TUUvR0csaUJJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUm9DbkIsRUFBQTtFRzVFQztJSGtFSDtNRS9HRyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSb0NuQixFQUFBO0VHNUVDO0lIa0VIO01FL0dHLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJvQ25CLEVBQUE7RUc1RUM7SUhrRUg7TUUvR0csWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSNENuQixFQUFBO0VHcEZDO0lIa0VIO01FL0dHLFdJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUjRDbkIsRUFBQTtFR3BGQztJSGtFSDtNRS9HRyxXSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVI0Q25CLEVBQUE7RUdwRkM7SUhrRUg7TUUvR0csaUJJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUjRDbkIsRUFBQTtFR3BGQztJSGtFSDtNRS9HRyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSNENuQixFQUFBO0VHcEZDO0lIa0VIO01FL0dHLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVI0Q25CLEVBQUE7O0FVcEpIOzs2REFFNkQ7QUFFNUQ7RUFDQyxnQkFBZ0IsRUFPaEI7RVBvREU7SU81REg7TUFLaUMsY0FBYyxFQUM1QyxFQUFBOztBQUlILGtCQUFrQjtBQUNs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QnZJMkIsRWtCd0kzQjs7QUFFRDtFQUNDLG9CbEI1STRCO0VrQjZJNUIsWUFBWTtFQUNaLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsY0FBYztFQUNkLGFBQWEsRUFDYjs7QUFFRDtFQUNDLFdBQVcsRUFDWDs7QUFFRDtFQUNDLHVCbEJ4SjJCO0VrQnlKM0IsWUFBWTtFQUNaLG9CQUFvQjtFQUNwQixZQUFZO0VBQ1osZWxCdkx5QixFa0J3THpCOztBQUVEO0VBQ0MsY0FBYyxFQUNkOztBQUVEO0VBQ0MsZUFBZSxFQUNmOztBQUVEO0VBR0M7SUFDQyxtQkFBbUIsRUFDbkI7RUFFRDtJQUNDLGtCQUFrQjtJQUNsQixpQkFBaUIsRUFDakI7RUFFRDtJQUNDLGFBQWEsRUFDYixFQUFBOztBQUtGLHVFQUF1RTtBQUN2RTt1RUFDdUU7QUFFdkU7RUFDQywwQkFBMEI7RUFDMUIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixtQkFBbUIsRUFDbkI7O0FBR0QsdUVBQXVFO0FBQ3ZFO3VFQUN1RTtBQUV2RTtFQUNDLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLGtCQUFrQixFQUNsQjs7QUFFRDtFQUFxQixvQkFBb0I7RUFBRSxlQUFlLEVBQUk7O0FBQzlEO0VBQXFCLG9CQUFvQjtFQUFFLGVBQWUsRUFBSTs7QUFDOUQ7RUFBdUIsb0JBQW9CO0VBQUUsZUFBZSxFQUFJOztBQUNoRTtFQUF1QixvQkFBb0I7RUFBRSxlQUFlLEVBQUkiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuW01hc3RlciBTdHlsZXNoZWV0XVxuXG5Qcm9qZWN0Olx0XHRNZXNoYWJsZSAtIENyZWF0aXZlIEdyaWQgQmFzZWQgSFRNTCBUZW1wbGF0ZVxuVmVyc2lvbjpcdFx0MS4wXG5BdXRob3I6IFx0XHRNdWhhbWFtZCBGYWlzYWxcbkF1dGhvciBVUkk6IFx0aHR0cDovL3RoZW1lc2hhc2guY29tL1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLy8gVGhpcmQgUGFydHkgTGlicmFyaWVzLlxuQGltcG9ydCAnbGliL3N1c3kvc3VzeSc7XG5AaW1wb3J0ICdsaWIvYnJlYWtwb2ludC9icmVha3BvaW50JztcblxuLy8gQ3VzdG9tIFZhcmlhYmxlcyBhbmQgTWl4aW5zLlxuQGltcG9ydCAncHJlYm9vdCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAnc2tpbic7XG5cbi8vIEN1c3RvbSBTdHlsaW5nLlxuQGltcG9ydCAnY29udGVudHMnO1xuQGltcG9ydCAnYmFzZSc7XG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ3NjYWZmb2xkaW5nJztcbkBpbXBvcnQgJ3NpZGViYXInO1xuQGltcG9ydCAncG9ydGZvbGlvJztcbkBpbXBvcnQgJ2Jsb2cnO1xuQGltcG9ydCAnc3RvcmUnO1xuQGltcG9ydCAnY29tbWVudHMnO1xuQGltcG9ydCAnZm9ybXMnO1xuQGltcG9ydCAnc2hvcnRjb2Rlcyc7IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gQ29udGVudHMgKF9jb250ZW50cy5zY3NzKVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjEuIEJhc2VcclxuMi4gR3JpZFxyXG4zLiBTY2FmZm9sZGluZ1xyXG40LiBTaWRlYmFyXHJcbjUuIFBvcnRmb2xpb1xyXG42LiBCbG9nXHJcbjcuIENvbW1lbnRzXHJcbjguIEZvcm1cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLyIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAxLiAgQkFTRSBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHRodG1sIHtcclxuXHRcdGZvbnQtc2l6ZTogNjIuNSU7XHJcblx0fVxyXG5cclxuXHRib2R5IHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtc3RhY2s7XHJcblx0XHRmb250LXNpemU6IDEuNnJlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMS42O1xyXG5cdFx0Y29sb3I6ICRib2R5LXRleHQ7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYm9keS1iZztcclxuXHR9XHJcblxyXG5cdCosICo6YmVmb3JlLCAqOmFmdGVyIHtcclxuXHQgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0fVxyXG5cclxuXHQ6OnNlbGVjdGlvbiB7XHJcblx0ICAgIGNvbG9yOiAjMDAwO1xyXG5cdCAgICBiYWNrZ3JvdW5kOiAjRkJGMjg1O1xyXG5cdH1cclxuXHJcbi8qKiA9PSBUWVBPR1JBUEhZID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHRhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdGNvbG9yOiBpbmhlcml0O1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogSGVhZGluZ3MgKi9cclxuXHRoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LXN0YWNrO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdGNvbG9yOiAkYm9keS1oZWFkaW5nO1xyXG5cdFx0bWFyZ2luOiAxcmVtIDAgMS41cmVtO1xyXG5cdH1cclxuXHJcblx0aDEgeyBmb250LXNpemU6IDIuOHJlbTsgfVxyXG5cdGgyIHsgZm9udC1zaXplOiAyLjRyZW07IH1cclxuXHRoMyB7IGZvbnQtc2l6ZTogMnJlbTsgfVxyXG5cdGg0IHsgZm9udC1zaXplOiAxLjhyZW07IH1cclxuXHRoNSB7IGZvbnQtc2l6ZTogMS42cmVtOyB9XHJcblx0aDYgeyBmb250LXNpemU6IDEuNnJlbTsgfVxyXG5cclxuXHQvKiogUGFyYWdyYXBocyAqL1xyXG5cdHAgeyBtYXJnaW46ICAwIDAgMnJlbSAwOyBjb2xvcjogJGJvZHktdGV4dDsgfVxyXG5cdHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuXHJcblx0LyoqIEJsb2NrcXVvdGVzICovXHJcblx0YmxvY2txdW90ZSB7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0cGFkZGluZzogMjVweDtcclxuXHRcdGNvbG9yOiAjOTk5OTk5O1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xyXG5cdFx0bWFyZ2luLXRvcDogMjVweDtcclxuXHRcdGJvcmRlci1sZWZ0OiA0cHggc29saWQgI0UxRTFFMTtcclxuXHR9XHJcblxyXG5cdGJsb2NrcXVvdGU6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XHJcblxyXG5cclxuLyoqID09IExJU1RTID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHR1bCwgb2wsIGRsIHtcclxuXHQgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0ICBtYXJnaW4tbGVmdDogMDtcclxuXHR9XHJcblxyXG5cdHVsIHtcclxuXHQgIGxpc3Qtc3R5bGU6IHNxdWFyZSBpbnNpZGU7XHJcblx0fVxyXG5cdG9sIHtcclxuXHQgICAgbGlzdC1zdHlsZTogZGVjaW1hbCBpbnNpZGU7XHJcblx0fVxyXG5cclxuXHR1bCB1bCxcclxuXHRvbCBvbCB7XHJcblx0ICBtYXJnaW46IDAgMCAwIDIwcHg7XHJcblx0fVxyXG5cclxuXHRkdCB7XHJcblx0ICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHRkZCB7XHJcblx0ICBtYXJnaW46IDAgMCAyMHB4O1xyXG5cdH1cclxuXHJcblxyXG4vKiogPT0gQkxPQ0sgUVVPVEVTID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcblx0YmxvY2txdW90ZSB7XHJcblx0ICBjbGVhcjogYm90aDtcclxuXHQgIG1hcmdpbjogNDBweCA0MHB4IDQwcHggMDtcclxuXHQgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDQwcHg7XHJcblx0ICBib3JkZXI6IDA7XHJcblx0ICBib3JkZXItbGVmdDogc29saWQgMXB4IGRhcmtlbigjZTVlNWU1LCAxMCUpO1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSBwIHtcclxuXHQgIGNvbG9yOiAjYWFhO1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSA+IHA6bGFzdC1jaGlsZCB7XHJcblx0ICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSBjaXRlLFxyXG5cdGJsb2NrcXVvdGUgc21hbGwge1xyXG5cdCAgZGlzcGxheTogYmxvY2s7XHJcblx0ICBtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSBlbSxcclxuXHRibG9ja3F1b3RlIGksXHJcblx0YmxvY2txdW90ZSBjaXRlIHtcclxuXHQgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHR9XHJcblxyXG5cdGJsb2NrcXVvdGUgc3Ryb25nLFxyXG5cdGJsb2NrcXVvdGUgYiB7XHJcblx0ICBmb250LXdlaWdodDogNDAwO1xyXG5cdH1cclxuXHJcblxyXG4vKiogPT0gUlVMRVMgPT0gKi9cclxuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cdGhyIHtcclxuXHQgIGNsZWFyOiBib3RoO1xyXG5cdCAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb250YWluZXItYm9yZGVyLCA1JSk7XHJcblx0ICBib3JkZXI6IDA7XHJcblx0ICBoZWlnaHQ6IDFweDtcclxuXHQgIG1hcmdpbjogNXJlbSAwO1xyXG5cdH1cclxuXHJcblxyXG4vKiogPT0gUFJFID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHRwcmUge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuXHRcdGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xyXG5cdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEuNmVtO1xyXG5cdFx0cGFkZGluZzogMyUgNSUgMyUgMTAlO1xyXG5cdFx0b3ZlcmZsb3c6IGF1dG87XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHR0YWItc2l6ZTogNDtcclxuXHR9XHJcblxyXG5cdHByZTpiZWZvcmUge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHRvcDogMDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XHJcblx0XHRjb250ZW50OiBcIlxcZjEyMVwiO1xyXG5cdFx0YmFja2dyb3VuZDogI0JCQzNDQztcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0cGFkZGluZzogMCAzcHg7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHR6LWluZGV4OiA1O1xyXG5cdH1cclxuXHJcblx0Y29kZSwga2JkLCB0dCwgdmFyIHsgZm9udDogMTVweCBNb25hY28sIENvbnNvbGFzLCBcIkFuZGFsZSBNb25vXCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBtb25vc3BhY2UgfVxyXG5cclxuXHJcbi8qKiA9PSBUQUJMRSA9PSAqL1xyXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblx0dGFibGUge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXI6IGRvdHRlZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdFx0cGFkZGluZzogMSUgMyU7XHJcblx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0fVxyXG5cclxuXHR0YWJsZSB0ZCwgdGFibGUgdGgge1xyXG5cdFx0cGFkZGluZzogMTBweDtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG5cclxuXHR0YWJsZSB0aGVhZCB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cclxuXHJcblx0dGFibGUgdGhlYWQgdGggeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG5cclxuXHR0YWJsZSB0ZCB7IGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XHJcblxyXG5cdHRhYmxlIHRyOmxhc3QtY2hpbGQgdGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XHJcblxyXG5cdHRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cclxuXHJcblxyXG4vKiogPT0gTUlTQyA9PSAqL1xyXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblx0LmNsZWFyIHtcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDFweDtcclxuXHRcdGhlaWdodDogMXB4O1xyXG5cdH0iLCJcclxuLy8gVHlwb2dyYXBoeVxyXG4kcHJpbWFyeS1mb250LXN0YWNrOiAgICAnTGF0bycsIHNhbnMtc2VyaWY7XHJcbiRzZWNvbmRhcnktZm9udC1zdGFjazogICdMYXRvJywgc2Fucy1zZXJpZjtcclxuXHJcbi8vIFJlc3Bvc2l2ZSBCcmVha3BvaW50IFZhbHVlcy5cclxuJG1vYmlsZTogMCA2NDBweDtcclxuJHRhYmxldDogNjQxcHggMTAyNHB4O1xyXG5cclxuJHRvdWNoOiAwIDEwMjRweDtcclxuJG5vLXRvdWNoOiAxMDI1cHg7XHJcblxyXG4kbGctZGVza3RvcDogIDEwMjVweCAxNDQwcHg7XHJcbiR4bGctZGVza3RvcDogIDE0NDFweCAxOTE5cHg7XHJcblxyXG4kaGQtZGVza3RvcDogMTkyMHB4IDI1NTlweDtcclxuJHhoZC1kZXNrdG9wOiAyNTYwcHg7XHJcblxyXG4kcmV0aW5hOiAgMTQ0MHB4O1xyXG4kbGFwdG9wOiAgMTM2NnB4O1xyXG4iLCIvLyBBY2NlbnQgQ29sb3JcclxuJGFjY2VudC1iZzogICAgXHRcdFx0I0ZFRUEzNiAhZGVmYXVsdDtcclxuJGFjY2VudC10ZXh0OiAgICBcdFx0IzNBM0MzRCAhZGVmYXVsdDtcclxuXHJcbiRhbHQtYWNjZW50LWJnOiAgICBcdFx0IzdCQkI1RSAhZGVmYXVsdDtcclxuJGFsdC1hY2NlbnQtdGV4dDogICAgXHQjRkZGRkZGICFkZWZhdWx0O1xyXG5cclxuLy8gQm9keVxyXG4kYm9keS1iZzogICAgXHRcdFx0I2YyZjJmMiB1cmwoXCIuLi8uLi9pbWFnZXMvbGluZS5wbmdcIikgbm8tcmVwZWF0IGZpeGVkIDAlIDAlICFkZWZhdWx0OyBcclxuJGJvZHktaGVhZGluZzogXHRcdFx0IzNhM2MzZCAhZGVmYXVsdDtcclxuJGJvZHktdGV4dDogXHRcdFx0IzdCN0Q4MCAhZGVmYXVsdDtcclxuJGJvZHktbGluazogXHRcdFx0Izk2OTk5ZCAhZGVmYXVsdDtcclxuJGJvZHktYm9yZGVyOlx0XHRcdCNENEQ0RDQgIWRlZmF1bHQ7XHJcblxyXG4vLyBDb250YWluZXJcclxuJGNvbnRhaW5lci1iZzogIFx0XHQjZmZmICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLWhlYWRpbmc6ICBcdCMzYTNjM2QgIWRlZmF1bHQ7XHJcbiRjb250YWluZXItdGV4dDogXHRcdCM5Njk5OWQgIWRlZmF1bHQ7XHJcbiRjb250YWluZXItbGluazogXHRcdCNGRkYgIWRlZmF1bHQ7XHJcbiRjb250YWluZXItYm9yZGVyOlx0XHQjZjJmMmYyICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLWljb246XHRcdCNEMkQ2REIgIWRlZmF1bHQ7XHJcbiRjb250YWluZXItaWNvbi1ob3ZlcjpcdCM2NjY5NkQgIWRlZmF1bHQ7XHJcblxyXG4vLyBMaW5rc1xyXG4kbGluay1jb2xvcjogICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcclxuJGxpbmstY29sb3ItaG92ZXI6ICAgICAgICMwMDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBGb3Jtc1xyXG4kZmllbGQtYmc6ICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMDcpICFkZWZhdWx0O1xyXG4kZmllbGQtdGV4dDogICAgICAgICAgICAjOTY5OTlEICFkZWZhdWx0O1xyXG4kZmllbGQtcGxhY2Vob2xkZXI6ICAgICByZ2JhKDAsIDAsIDAsIDAuMykgIWRlZmF1bHQ7XHJcbiRmaWVsZC1ib3JkZXI6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4vLyBUYWdzIFdpZGdldFxyXG4kdGFnLWJnOiAgICAgICAgICAgICBcdCNFNEU0RTQgIWRlZmF1bHQ7XHJcbiR0YWctdGV4dDogICAgICAgICAgICAgXHQjNzU3NTc1ICFkZWZhdWx0O1xyXG5cclxuLy8gTG9hZCBNb3JlXHJcbiRsb2FkLW1vcmUtYmc6ICAgICAgICAgICNhOWE5YTkgIWRlZmF1bHQ7XHJcbiRsb2FkLW1vcmUtYmctaG92ZXI6ICAgICM5MTkxOTEgIWRlZmF1bHQ7XHJcbiRsb2FkLW1vcmUtdGV4dDogICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4vLyBTaG9ydGNvZGVzXHJcbiR0b2dnbGUtYmc6ICAgICAgICAgIFx0I2YxZjFmMSAhZGVmYXVsdDtcclxuJHRvZ2dsZS10ZXh0OiAgICAgICAgICBcdCMwMDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBCbG9nXHJcbiRwb3N0LWZvcm1hdC1iZzogICAgICAgICMzYjNjM2UgIWRlZmF1bHQ7XHJcbiRwb3N0LWZvcm1hdC10ZXh0OiAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRwb3N0LWZvcm1hdC1pY29uOiAgICAgICNkMmQ2ZGIgIWRlZmF1bHQ7XHJcbiRwb3N0LWZvcm1hdC1ib3JkZXI6ICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhZGVmYXVsdDtcclxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIDIuICBHUklEIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuXHQkc3VzeTogKFxyXG5cdFx0Z2xvYmFsLWJveC1zaXppbmc6IGJvcmRlci1ib3gsXHJcblx0XHRndXR0ZXItcG9zaXRpb246IGluc2lkZS1zdGF0aWMsXHJcblx0XHRjb250YWluZXI6IDExNzBweCxcclxuXHRcdGNvbHVtbnM6IDEyLFxyXG5cdFx0Y29sdW1uLXdpZHRoOiAyNjBweCxcclxuXHRcdGd1dHRlcnM6IDEvOCxcclxuXHQpO1xyXG5cclxuXHRAaW5jbHVkZSBib3JkZXItYm94LXNpemluZztcclxuXHJcblxyXG4vKiogPT0gU0NBRkZPTERJTkcgPT0gKi9cclxuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cdCNzaXRlLWNvbnRhaW5lciB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgQGluY2x1ZGUgY29udGFpbmVyKDMwMHB4KTsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7IEBpbmNsdWRlIGNvbnRhaW5lcig3MDBweCk7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgY29udGFpbmVyKCk7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHJldGluYSkgeyBAaW5jbHVkZSBjb250YWluZXIoMTMwMHB4KTsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgY29udGFpbmVyKDE1MDBweCk7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgY29udGFpbmVyKDE3ODBweCk7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIGNvbnRhaW5lcigyNDIwcHgpOyB9XHJcblxyXG5cdFx0I2dsb2JhbC1zaWRlYmFyIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiAxKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHsgQGluY2x1ZGUgc3BhbigyIG9mIDIpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxIG9mIDQpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiA1KTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMS4yNSBvZiA4KTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4aGQtZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgOCk7IH1cclxuXHJcblx0XHR9XHJcblx0XHQjcHJpbWFyeS1jb250ZW50IHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdG91Y2gpIHsgQGluY2x1ZGUgc3BhbigxIG9mIDEgbmVzdCk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGctZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDMgb2YgNCBuZXN0KTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4bGctZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDQgb2YgNSBuZXN0KTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oNi43NSBvZiA4IG5lc3QpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oNyBvZiA4IG5lc3QpOyB9XHJcblx0XHR9XHRcdFxyXG5cdH1cclxuXHJcblxyXG4vKiogPT0gUE9SVEZPTElPID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHQjcG9ydGZvbGlvLWdyaWQsXHJcblx0I3N0b3JlLWdyaWRcclxuXHR7XHJcblx0XHQuZW50cnkge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgQGluY2x1ZGUgc3BhbigxIG9mIDEpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgMik7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGctZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgMyk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxIG9mIDQpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxIG9mIDUpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiA3KTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG4vKiogPT0gUFJJTUFSWSBDT05URU5UID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHQjcHJpbWFyeS1jb250ZW50IHtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuXHRcdCNtYWluLWNvbnRlbnQge1xyXG5cclxuXHRcdFx0Ji5mdWxsLXdpZHRoIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgQGluY2x1ZGUgc3BhbigxIG9mIDEpOyB9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7IEBpbmNsdWRlIHNwYW4oMiBvZiAyKTsgfVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigzIG9mIDMpOyB9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigzIG9mIDMpOyB9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkaGQtZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDIuNCBvZiAzKTsgfVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMi4xNSBvZiAzKTsgfVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmZsZXhpYmxlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMyBvZiAzKTsgfVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgQGluY2x1ZGUgc3BhbigxIG9mIDEpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkgeyBAaW5jbHVkZSBzcGFuKDIgb2YgMik7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGctZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDIgb2YgMyk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigyIG9mIDMpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxLjYgb2YgMyk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxLjQ1IG9mIDMpOyB9XHJcblx0XHR9XHJcblx0XHQjcGFnZS1zaWRlYmFyIHtcclxuXHJcblx0XHRcdCYuZmxleGlibGUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigzIG9mIDMpOyB9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZSkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgMSk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7IEBpbmNsdWRlIHNwYW4oMiBvZiAyKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiAzKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4bGctZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgMyk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkaGQtZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDAuOCBvZiAzKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4aGQtZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDAuNyBvZiAzKTsgfVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cclxuXHJcbi8qKiA9PSBNSVNDID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHQuc2xpY2tuYXZfbmF2IHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZSkgeyBAaW5jbHVkZSBjb250YWluZXIoMjgwcHgpOyB9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHsgQGluY2x1ZGUgY29udGFpbmVyKDcwMHB4KTsgfVxyXG5cdH1cclxuXHJcblx0LnBvcnRmb2xpbyAjbG9hZC1tb3JlLFxyXG5cdC5zdG9yZSAjbG9hZC1tb3JlXHJcblx0e1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiAxKTsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7IEBpbmNsdWRlIHNwYW4oMiBvZiAyKTsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGctZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDMgb2YgMyk7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oNCBvZiA0KTsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkaGQtZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDUgb2YgNSk7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oNyBvZiA3KTsgfVxyXG5cdH1cclxuXHJcblx0LmVudHJ5LWhlYWRlciB7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgQGluY2x1ZGUgc3BhbigxIG9mIDEpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgMik7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGctZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgMik7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigyIG9mIDMpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhkLWRlc2t0b3ApICB7IEBpbmNsdWRlIHNwYW4oMiBvZiAzKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4aGQtZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDIgb2YgMyk7IH1cclxuXHRcdH1cclxuXHRcdC5wcmljaW5nIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiAxKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHsgQGluY2x1ZGUgc3BhbigxIG9mIDIpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxIG9mIDIpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiAzKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRoZC1kZXNrdG9wKSAgeyBAaW5jbHVkZSBzcGFuKDEgb2YgMyk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxIG9mIDMpOyB9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuIiwiLy8gU3VzeSBCb3ggU2l6aW5nXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLyBHbG9iYWwgQm94IFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNldCBhIGJveCBtb2RlbCBnbG9iYWxseSBvbiBhbGwgZWxlbWVudHMuXG4vLyAtIFskYm94XTogYm9yZGVyLWJveCB8IGNvbnRlbnQtYm94XG4vLyAtIFskaW5oZXJpdF06IHRydWUgfCBmYWxzZVxuQG1peGluIGdsb2JhbC1ib3gtc2l6aW5nKFxuICAkYm94OiBzdXN5LWdldChnbG9iYWwtYm94LXNpemluZyksXG4gICRpbmhlcml0OiBmYWxzZVxuKSB7XG4gICRpbnNwZWN0OiAkYm94O1xuXG4gIEBpZiAkaW5oZXJpdCB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgIGh0bWwgeyBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRib3gpKTsgfVxuICAgICAgICosICo6YmVmb3JlLCAqOmFmdGVyIHsgYm94LXNpemluZzogaW5oZXJpdDsgfVxuICAgICB9XG4gIH0gQGVsc2Uge1xuICAgICosICo6YmVmb3JlLCAqOmFmdGVyIHsgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7IH1cbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChnbG9iYWwtYm94LXNpemluZywgJGluc3BlY3QpO1xuICBAaW5jbHVkZSB1cGRhdGUtYm94LW1vZGVsKCRib3gpO1xufVxuXG4vLyBCb3JkZXIgQm94IFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEEgbGVnYWN5IHNob3J0Y3V0Li4uXG4vLyAtIFskaW5oZXJpdF06IHRydWUgfCBmYWxzZVxuQG1peGluIGJvcmRlci1ib3gtc2l6aW5nKFxuICAkaW5oZXJpdDogZmFsc2Vcbikge1xuICBAaW5jbHVkZSBnbG9iYWwtYm94LXNpemluZyhib3JkZXItYm94LCAkaW5oZXJpdCk7XG59XG5cbi8vIFVwZGF0ZSBCb3ggTW9kZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIFBSSVZBVEU6IFVwZGF0ZXMgZ2xvYmFsIGJveCBtb2RlbCBzZXR0aW5nXG5AbWl4aW4gdXBkYXRlLWJveC1tb2RlbChcbiAgJGJveFxuKSB7XG4gIEBpZiAkYm94ICE9IHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSB7XG4gIEBpbmNsdWRlIHN1c3ktc2V0KGdsb2JhbC1ib3gtc2l6aW5nLCAkYm94KTtcbiAgfVxufVxuIiwiLy8gcmVtIFN1cHBvcnRcbi8vID09PT09PT09PT09XG5cbi8vIHJlbVxuLy8gLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3Igb3V0cHV0IGRpcmVjdGx5LlxuLy8gLSAkcHJvcCAgOiA8Y3NzIHByb3BlcnR5PlxuLy8gLSAkdmFsICAgOiA8Y3NzIHZhbHVlPlxuQG1peGluIHN1c3ktcmVtKFxuICAkcHJvcCxcbiAgJHZhbFxuKSB7XG4gICRfcmVxczogKFxuICAgIHZhcmlhYmxlOiByaHl0aG0tdW5pdCByZW0td2l0aC1weC1mYWxsYmFjayxcbiAgICBtaXhpbjogcmVtLFxuICApO1xuICBAaWYgc3VzeS1zdXBwb3J0KHJlbSwgJF9yZXFzLCAkd2FybjogZmFsc2UpIGFuZCAkcmh5dGhtLXVuaXQgPT0gcmVtIHtcbiAgICBAaW5jbHVkZSByZW0oJHByb3AsICR2YWwpO1xuICB9IEBlbHNlIHtcbiAgICAjeyRwcm9wfTogJHZhbDtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBTcGFuIFN5bnRheFxuLy8gPT09PT09PT09PT1cblxuLy8gU3BhbiBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFNldCBhIHNwYW5uaW5nIGVsZW1lbnQgdXNpbmcgc2hvcnRoYW5kIHN5bnRheC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gc3BhbihcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdDogJHNwYW47XG4gICRzcGFuOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJG91dHB1dDogc3Bhbi1tYXRoKCRzcGFuKTtcbiAgJG5lc3Rpbmc6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGNsZWFyOiBzdXN5LWdldChjbGVhciwgJHNwYW4pO1xuXG4gICRib3g6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGNvbnRlbnQtYm94OiBpZihzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykgIT0gJ2JvcmRlci1ib3gnLCB0cnVlLCBmYWxzZSk7XG4gICRib3g6ICRib3ggb3IgaWYoaXMtaW5zaWRlKCRzcGFuKSBhbmQgJGNvbnRlbnQtYm94LCBib3JkZXItYm94LCBudWxsKTtcblxuICBAaWYgJGNsZWFyID09IGJyZWFrIHtcbiAgICBAaW5jbHVkZSBicmVhaztcbiAgfSBAZWxzZSBpZiAkY2xlYXIgPT0gbm9icmVhayB7XG4gICAgQGluY2x1ZGUgbm9icmVhaztcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzcGFuLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpO1xuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICBAaWYgdmFsaWQtY29sdW1ucygkbmVzdGluZywgc2lsZW50KSB7XG4gICAgQGluY2x1ZGUgbmVzdGVkKCRzcGFuKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFNwYW4gW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgc3Bhbi5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AZnVuY3Rpb24gc3BhbihcbiAgJHNwYW5cbikge1xuICBAcmV0dXJuIGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbn1cblxuLy8gU3BhbiBNYXRoXG4vLyAtLS0tLS0tLS1cbi8vIEdldCBhbGwgdGhlIHNwYW4gcmVzdWx0cy5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gc3Bhbi1tYXRoKFxuICAkc3BhblxuKSB7XG4gICRuZXN0ICAgICAgICAgICAgIDogaWYoc3VzeS1nZXQocm9sZSwgJHNwYW4pID09IG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJHNwbGl0LW5lc3QgICAgICAgOiBpZihpcy1zcGxpdCgkc3BhbikgYW5kICRuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRlZGdlICAgICAgICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbG9jYXRpb24gICAgICAgICA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG5cbiAgJGZsb2F0ICAgICAgICAgICAgOiBmcm9tO1xuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGw7XG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbDtcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsO1xuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGw7XG5cbiAgLy8gY2FsY3VsYXRlIHdpZHRoc1xuICAkc3ByZWFkOiBpbmRleChtYXAtdmFsdWVzKCRzcGFuKSwgc3ByZWFkKTtcbiAgJHNwYW46IGlmKCRzcGxpdC1uZXN0IGFuZCBub3QoJHNwcmVhZCksIG1hcC1tZXJnZSgkc3BhbiwgKHNwcmVhZDogd2lkZSkpLCAkc3Bhbik7XG4gICR3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xuICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gIC8vIGFwcGx5IGd1dHRlcnNcbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpZiBub3Qoc3VzeS1nZXQocm9sZSwgJHNwYW4pKSB7XG4gICAgICAkcGFkZGluZy1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG5vdCgkc3BsaXQtbmVzdCkge1xuICAgICAgJG1hcmdpbi1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkbWFyZ2luLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gc3BlY2lhbCBtYXJnaW4gaGFuZGxpbmdcbiAgQGlmIHN1c3ktZ2V0KG91dHB1dCwgJHNwYW4pID09IGlzb2xhdGUgYW5kICRsb2NhdGlvbiB7XG4gICAgJG1hcmdpbi1iZWZvcmU6IGdldC1pc29sYXRpb24oJHNwYW4pO1xuICAgICRtYXJnaW4tYWZ0ZXI6IC0xMDAlO1xuICB9IEBlbHNlIGlmICRlZGdlIHtcbiAgICAkaXMtc3BsaXQ6IGlzLXNwbGl0KCRzcGFuKTtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcblxuICAgIEBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRmbG9hdDogc3VzeS1nZXQobGFzdC1mbG93LCAkc3Bhbik7XG4gICAgfVxuXG4gICAgQGlmIG5vdCgkaXMtc3BsaXQpIHtcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBmaXJzdCBhbmQgJHBvcyA9PSBiZWZvcmUpIHtcbiAgICAgICAgJG1hcmdpbi1iZWZvcmU6IDA7XG4gICAgICB9XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gbGFzdCBhbmQgJHBvcyA9PSBhZnRlcikge1xuICAgICAgICAkbWFyZ2luLWFmdGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAoXG4gICAgd2lkdGggICAgICAgICAgIDogJHdpZHRoLFxuICAgIGZsb2F0ICAgICAgICAgICA6ICRmbG9hdCxcbiAgICBtYXJnaW4tYmVmb3JlICAgOiAkbWFyZ2luLWJlZm9yZSxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgOiAkbWFyZ2luLWFmdGVyLFxuICAgIHBhZGRpbmctYmVmb3JlICA6ICRwYWRkaW5nLWJlZm9yZSxcbiAgICBwYWRkaW5nLWFmdGVyICAgOiAkcGFkZGluZy1hZnRlcixcbiAgICBmbG93ICAgICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG59XG5cbi8vIEdldCBTcGFuIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHNwYW4gd2lkdGguXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1zcGFuLXdpZHRoKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuXG4gICRuICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGxvY2F0aW9uIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkZ3V0dGVycyAgOiBzdXN5LWdldChndXR0ZXJzLCAkc3Bhbik7XG4gICRzcHJlYWQgICA6IHN1c3ktZ2V0KHNwcmVhZCwgJHNwYW4pO1xuXG4gICRjb250ZXh0ICA6IG51bGw7XG4gICRzcGFuLXN1bSA6IG51bGw7XG4gICR3aWR0aCAgICA6IG51bGw7XG5cbiAgQGlmICRuID09ICdmdWxsJyB7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG4gICAgJHJvbGU6IHN1c3ktZ2V0KHJvbGUsICRzcGFuKTtcbiAgICAkbjogaWYoJHBvcyA9PSBzcGxpdCBhbmQgJHJvbGUgIT0gbmVzdCwgc3VzeS1jb3VudCgkY29sdW1ucyksIDEwMCUpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG4pICE9IG51bWJlciB7XG4gICAgQHdhcm4gXCIoI3t0eXBlLW9mKCRuKX0pICN7JG59IGlzIG5vdCBhIHZhbGlkIHNwYW4uXCI7XG4gIH0gQGVsc2UgaWYgdW5pdGxlc3MoJG4pIHtcbiAgICAkY29udGV4dDogc3VzeS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCBpZihpcy1zcGxpdCgkc3BhbiksIHdpZGUsIG5hcnJvdykpO1xuICAgICRzcHJlYWQ6IGlmKGlzLWluc2lkZSgkc3BhbiksICRzcHJlYWQgb3Igd2lkZSwgJHNwcmVhZCk7XG4gICAgJHNwYW4tc3VtOiBzdXN5KCRuLCAkbG9jYXRpb24sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCk7XG5cbiAgICAkX21hdGg6IHN1c3ktZ2V0KG1hdGgsICRzcGFuKTtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkc3Bhbik7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJHdpZHRoOiAkc3Bhbi1zdW0gKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkc3Bhbi1zdW0gLyAkY29udGV4dCk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6ICRuO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG4iLCIvLyBEaXJlY3Rpb24gSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT1cblxuLy8gU3VzeSBGbG93IERlZmF1bHRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gUFJJVkFURVxuQGluY2x1ZGUgc3VzeS1kZWZhdWx0cygoXG4gIGZsb3c6IGx0cixcbikpO1xuXG4vLyBHZXQgRGlyZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlICdmcm9tJyBvciAndG8nIGRpcmVjdGlvbiBvZiBhIGx0ciBvciBydGwgZmxvdy5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbi8vIC0gWyRrZXldICAgOiBmcm9tIHwgdG9cbkBmdW5jdGlvbiBnZXQtZGlyZWN0aW9uKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdyksXG4gICRrZXk6IGZyb21cbikge1xuICAkcmV0dXJuOiBpZigkZmxvdyA9PSBydGwsIChmcm9tOiByaWdodCwgdG86IGxlZnQpLCAoZnJvbTogbGVmdCwgdG86IHJpZ2h0KSk7XG4gIEByZXR1cm4gbWFwLWdldCgkcmV0dXJuLCAka2V5KTtcbn1cblxuLy8gVG9cbi8vIC0tXG4vLyBSZXR1cm4gdGhlICd0bycgZGlyZWN0aW9uIG9mIGEgZmxvd1xuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQGZ1bmN0aW9uIHRvKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIHRvKTtcbn1cblxuLy8gRnJvbVxuLy8gLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgZGlyZWN0aW9uIG9mIGEgZmxvd1xuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQGZ1bmN0aW9uIGZyb20oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gIEByZXR1cm4gZ2V0LWRpcmVjdGlvbigkZmxvdywgZnJvbSk7XG59XG4iLCIvLyBHdXR0ZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09XG5cblxuLy8gR3V0dGVyc1xuLy8gLS0tLS0tLVxuLy8gU2V0IGd1dHRlcnMgb24gYW4gZWxlbWVudC5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQG1peGluIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzIDogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfb3V0cHV0OiAoXG4gICAgYmVmb3JlOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSxcbiAgICBhZnRlcjogbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKSxcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGd1dHRlcnMsICRpbnNwZWN0KTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfVxufVxuXG5AbWl4aW4gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAaW5jbHVkZSBndXR0ZXJzKCRzcGFuKTtcbn1cblxuXG4vLyBHdXR0ZXJcbi8vIC0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIGd1dHRlci5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJHNwYW46IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnM6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpIG9yIG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG5cbkBmdW5jdGlvbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAcmV0dXJuIGd1dHRlcigkc3Bhbik7XG59XG5cblxuLy8gR2V0IEd1dHRlciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGd1dHRlciB3aWR0aC5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlci13aWR0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXJzIDogc3VzeS1nZXQoZ3V0dGVycywgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgOiBzdXN5LWdldChndXR0ZXItb3ZlcnJpZGUsICRjb250ZXh0KTtcblxuICBAaWYgJF9ndXR0ZXJzIGFuZCAoJF9ndXR0ZXJzID4gMCkgYW5kIG5vdCgkX2d1dHRlcikge1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRjb250ZXh0KTtcbiAgICAkX21hdGg6IGd1dHRlci1tYXRoKCRjb250ZXh0KTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkX2d1dHRlcjogJF9ndXR0ZXJzICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2NvbHVtbnMgOiBzdXN5LWdldChjb2x1bW5zLCAkY29udGV4dCk7XG4gICAgICAkX3NwcmVhZCAgOiBpZihpcy1zcGxpdCgkY29udGV4dCksIHdpZGUsIHN1c3ktZ2V0KHNwcmVhZCwgJGNvbnRleHQpKTtcbiAgICAgICRfZ3V0dGVyICA6IHBlcmNlbnRhZ2UoJF9ndXR0ZXJzIC8gc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSk7XG4gICAgfVxuICB9XG5cbiAgJF9ndXR0ZXI6IGlmKCRfZ3V0dGVyID09ICduby1ndXR0ZXJzJyBvciAkX2d1dHRlciA9PSAnbm8tZ3V0dGVyJywgbnVsbCwgJF9ndXR0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXI7XG59XG5cblxuLy8gR2V0IEd1dHRlcnNcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYmVmb3JlIGFuZCBhZnRlciBndXR0ZXIgdmFsdWVzLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVycyhcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgICAgICAgICAgICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVyLXBvc2l0aW9uICAgOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgICAgICAgICAgICA6IGdldC1ndXR0ZXItd2lkdGgoJGNvbnRleHQpO1xuXG4gICRfcmV0dXJuICAgICAgICAgICAgOiAoYmVmb3JlOiBudWxsLCBhZnRlcjogbnVsbCk7XG5cbiAgQGlmIGlzLXNwbGl0KCRjb250ZXh0KSBhbmQgJF9ndXR0ZXIge1xuICAgICRfZ3V0dGVyOiAkX2d1dHRlciAvIDI7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGJlZm9yZTogJF9ndXR0ZXIsIGFmdGVyOiAkX2d1dHRlcikpO1xuICB9IEBlbHNlIHtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJF9ndXR0ZXItcG9zaXRpb246ICRfZ3V0dGVyKSk7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIElzIEluc2lkZVxuLy8gLS0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgaW5zaWRlLlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLWluc2lkZShcbiAgJGNvbnRleHRcbikge1xuICAkX2luc2lkZTogaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfaW5zaWRlLCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBJcyBTcGxpdFxuLy8gLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBzcGxpdC5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1zcGxpdChcbiAgJGNvbnRleHRcbikge1xuICAkX3NwbGl0OiBzcGxpdCBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9zcGxpdCwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gR3V0dGVyIE1hdGhcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIG1hdGggdG8gdXNlIGZvciBndXR0ZXIgY2FsY3VsYXRpb25zXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ3V0dGVyLW1hdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRfcmV0dXJuICA6IHN1c3ktZ2V0KG1hdGgsICRjb250ZXh0KTtcbiAgJF9yZXR1cm4gIDogaWYoc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCkgPT0gaW5zaWRlLXN0YXRpYywgc3RhdGljLCAkX3JldHVybik7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIENlbnRlciBQb3NpdGlvbmluZyBNaXhpbiBcclxuQG1peGluIGNlbnRlcigkaG9yaXpvbnRhbDogdHJ1ZSwgJHZlcnRpY2FsOiB0cnVlKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIEBpZiAoJGhvcml6b250YWwgYW5kICR2ZXJ0aWNhbCkge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9IEBlbHNlIGlmICgkaG9yaXpvbnRhbCkge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XHJcbiAgfSBAZWxzZSBpZiAoJHZlcnRpY2FsKSB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIENsZWFyZm94IE1peGluIFxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICAgKnpvb206IDE7XHJcblxyXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcgJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIDMuICBTQ0FGRk9MRElORyBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHQjc2l0ZS1jb250YWluZXIge1xyXG5cdFx0cGFkZGluZzogNjBweCAwO1xyXG5cclxuXHRcdCNnbG9iYWwtc2lkZWJhciB7XHJcblx0XHRcdD4gKjpub3QoI3NpdGUtaGVhZGVyKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdG91Y2gpIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cdFx0XHR9XHJcblx0XHR9XHRcdFxyXG5cdH1cclxuXHJcblx0LyoqIFNpdGUgSGVhZGVyICovXHJcblx0I3NpdGUtaGVhZGVyIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0b3VjaCkgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XHJcblxyXG5cdFx0I3NpdGUtbG9nbyB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0XHRpbWcgeyBkaXNwbGF5OiBibG9jazsgfVxyXG5cdFx0fVxyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0ICBjb250ZW50OiAnJztcclxuXHRcdCAgd2lkdGg6IDMwcHg7XHJcblx0XHQgIGhlaWdodDogMXB4O1xyXG5cdFx0ICBiYWNrZ3JvdW5kOiAkYm9keS1ib3JkZXI7XHJcblx0XHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdCAgbGVmdDogMDtcclxuXHRcdCAgYm90dG9tOiAwO1xyXG5cdFx0fVx0XHRcclxuXHR9XHJcblxyXG5cdC8qKiBTb2NpYWwgSWNvbnMgKi9cclxuXHQuc29jaWFsLWljb25zIHtcclxuXHRcdG1hcmdpbjogMjBweCAwIDAgMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdHdpZHRoOiAyNXB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjVweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMjVweDtcclxuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHRcdFx0Y29sb3I6ICNCNEI0QjQ7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb250YWluZXItYmc7XHJcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5mYWNlYm9vayB7XHJcblx0XHRcdFx0YTpob3ZlciB7XHJcblx0XHRcdFx0XHRjb2xvcjogIzNiNTk5ODtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji50d2l0dGVyIHtcclxuXHRcdFx0XHRhOmhvdmVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAjNTVhY2VlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmLmRldmlhbnRhcnQge1xyXG5cdFx0XHRcdGE6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICM0ZGM0N2Q7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHRcclxuXHRcdFx0Ji52aW1lbyB7XHJcblx0XHRcdFx0YTpob3ZlciB7XHJcblx0XHRcdFx0XHRjb2xvcjogIzFhYjdlYTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBQcmltYXJ5IENvbnRlbnQgKi9cclxuXHQjcHJpbWFyeS1jb250ZW50IHtcclxuXHJcblx0XHQjbWFpbi1jb250ZW50IHtcclxuXHRcdFx0LndyYXBwZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb250YWluZXItYmc7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cclxuXHRcdFx0XHQuY29udGVudC1oZWFkZXIge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb250YWluZXItYm9yZGVyO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMjBweCAzNXB4O1xyXG5cclxuXHRcdFx0XHRcdGgzIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1oZWFkaW5nO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5mZWF0dXJlZC1tb2R1bGUge1xyXG5cdFx0XHRcdFx0Ji5tZWRpYSB7XHJcblx0XHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDk5LjglO1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMXB4O1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmLnRleHQge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDE4cHggMzVweCA0MHB4IDM1cHg7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0ICBjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdFx0ICB3aWR0aDogMzBweDtcclxuXHRcdFx0XHRcdFx0ICBoZWlnaHQ6IDFweDtcclxuXHRcdFx0XHRcdFx0ICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRib2R5LWJvcmRlciwgNSUpO1xyXG5cdFx0XHRcdFx0XHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0ICBsZWZ0OiA0MHB4O1xyXG5cdFx0XHRcdFx0XHQgIGJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0aDEge1xyXG5cdFx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzNnB4O1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzk5OTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVx0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmNvbnRlbnQtYm9keSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAyOHB4IDM1cHggNDBweCAzNXB4O1xyXG5cclxuXHRcdFx0XHRcdCo6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1oZWFkaW5nO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkY29udGFpbmVyLXRleHQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQjYXdhcmRzIHtcclxuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCNwYWdlLXNpZGViYXIge1xyXG5cdFx0XHQuaW5uZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvdWNoKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiA2MHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDYwcHg7XHJcblx0XHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGJvZHktYm9yZGVyO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdC8qKiBNb2JpbGUgTmF2ICovXHJcblx0LnNsaWNrbmF2X21lbnUge1xyXG5cdFx0ZGlzcGxheTpub25lO1xyXG5cclxuXHRcdC5zbGlja25hdl9tZW51IHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHRcdFxyXG5cdFx0LnNsaWNrbmF2X21lbnUge1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnNsaWNrbmF2X21lbnUge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHJcblx0XHQuc2xpY2tuYXZfYnRuICB7XHJcblx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAyMHB4IDI1cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6ICMzQjNDM0U7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG5cdFx0XHQ+IHNwYW4ge1xyXG5cdFx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnNsaWNrbmF2X2ljb24ge1xyXG5cdFx0XHRcdGhlaWdodDogMC42NzVlbTtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMC43MzhlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnNsaWNrbmF2X25hdiB7XHJcblx0XHRwYWRkaW5nOiAzMHB4IDA7XHJcblx0fVxyXG5cclxuXHJcblx0LyoqIENhcnQgQ291bnQgKi9cclxuXHQjY2FydC1jb3VudCB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0b3VjaCkgeyBkaXNwbGF5OiBub25lOyB9XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYWNjZW50LWJnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR0b3A6IDA7XHJcblx0XHR3aWR0aDogNTBweDtcclxuXHRcdGhlaWdodDogNTBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgZGFya2VuKCRhY2NlbnQtYmcsIDUlKTtcclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHRjb2xvcjogJGFjY2VudC10ZXh0O1xyXG5cdFx0XHR3aWR0aDogMjdweCAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb3VudCB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtc3RhY2s7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6IDJweDtcclxuXHRcdFx0dG9wOiA0cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNmZjAwMDA7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTBweDtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0XHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE1cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG5cdFx0fVx0XHRcclxuXHR9XHJcblxyXG5cclxuXHQvKiogTG9hZCBNb3JlICovXHJcblx0I2xvYWQtbW9yZSB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Y29sb3I6ICRsb2FkLW1vcmUtdGV4dDtcclxuXHRcdFx0cGFkZGluZzogMTBweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkbG9hZC1tb3JlLWJnIHVybCguLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZykgcmVwZWF0LXggMCAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxvYWQtbW9yZS1iZy1ob3ZlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIEdvIFRvIFRvcCAqL1xyXG5cdCNnby10by10b3Age1xyXG5cdFx0d2lkdGg6IDQ1cHg7XHJcblx0XHRoZWlnaHQ6IDQ1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNDVweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0XHR6LWluZGV4OiA5OTtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdGJvdHRvbTogNjBweDtcclxuXHRcdGJhY2tncm91bmQ6ICRsb2FkLW1vcmUtYmcgdXJsKFwiLi4vLi4vaW1hZ2VzL2J1dHRvbi1nbGFzcy5wbmdcIikgcmVwZWF0LXggc2Nyb2xsIDBweCAwcHg7XHJcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvdWNoKSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGctZGVza3RvcCkgeyBsZWZ0OiA3MHB4OyB9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXB0b3ApIHsgbGVmdDogMTE1cHg7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHJldGluYSkgeyBsZWZ0OiAxNTBweDsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGxnLWRlc2t0b3ApIHsgbGVmdDogNjVweDsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkaGQtZGVza3RvcCkgeyBsZWZ0OiA4MHB4OyB9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4aGQtZGVza3RvcCkgeyBsZWZ0OiA4N3B4OyB9XHJcblxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbG9hZC1tb3JlLWJnLWhvdmVyO1xyXG5cdFx0fVxyXG5cclxuXHRcdGkge1xyXG5cdFx0XHRmb250LXNpemU6IDIycHg7XHJcblx0XHRcdGNvbG9yOiAkbG9hZC1tb3JlLXRleHQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogUHJlbG9hZGVyICovXHJcblx0I3ByZWxvYWRlciB7XHJcblx0ICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuXHQgICAgZGlzcGxheTogYmxvY2s7XHJcblx0ICAgIHdpZHRoOiAxMDAlO1xyXG5cdCAgICBoZWlnaHQ6IDEwMCU7XHJcblx0ICAgIHRvcDogMDtcclxuXHQgICAgcmlnaHQ6IDA7XHJcblx0ICAgIGJvdHRvbTogMDtcclxuXHQgICAgbGVmdDogMDtcclxuXHQgICAgYmFja2dyb3VuZDogJGJvZHktYmc7XHJcblx0ICAgIHotaW5kZXg6IDExMDAwO1xyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcdGxlZnQ6IDA7IHJpZ2h0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDtcclxuXHRcdFx0d2lkdGg6IDc1cHg7XHJcblx0XHRcdGhlaWdodDogNDVweDtcclxuXHQgICAgXHRiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3NpdGUtcHJlbG9hZGVyLmdpZikgbm8tcmVwZWF0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIERyYWdnaW5nIFNsaWRlciAqL1xyXG5cdC5zbGljay1zbGlkZXIge1xyXG5cdFx0Ji5kcmFnZ2luZyB7XHJcblx0XHRcdC5zbGljay1zbGlkZSB7XHJcblx0XHRcdFx0Y3Vyc29yOiB1cmwoLi4vLi4vaW1hZ2VzL2dyYWJiaW5nLnBuZykgOCA4LCBtb3ZlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuc2xpY2stc2xpZGUge1xyXG5cdFx0XHRjdXJzb3I6IHVybCguLi8uLi9pbWFnZXMvZ3JhYi5wbmcpIDggOCwgbW92ZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBOb3RpZmljYXRpb24gKi9cclxuXHR1bCNub3R5X2JvdHRvbVJpZ2h0X2xheW91dF9jb250YWluZXIge1xyXG5cdFx0bGkge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjN2JiYjVkIHVybCguLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZykgcmVwZWF0LXggMCAwICFpbXBvcnRhbnQ7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICM3N2I0NWEgIWltcG9ydGFudDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XHJcblx0XHRcdGJveC1zaGFkb3c6IDBweCAyNXB4IDEwcHggLTE1cHggcmdiYSgwLCAwLCAwLCAwLjEpICFpbXBvcnRhbnQ7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHRcdC5ub3R5X21lc3NhZ2Uge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcclxuXHJcblx0XHRcdFx0Lm5vdHlfdGV4dCB7XHJcblx0XHRcdFx0XHRjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZjA1OFwiO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgNC4gIFNJREVCQVIgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHRcclxuXHJcblx0I2Jsb2ctc2lkZWJhciB7XHJcblx0XHQud2lkZ2V0OmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0aDMge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBHZW5lcmFsIFdpZGdldCAqL1xyXG5cdC53aWRnZXQge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDMwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0ICBjb250ZW50OiAnJztcclxuXHRcdCAgd2lkdGg6IDMwcHg7XHJcblx0XHQgIGhlaWdodDogMXB4O1xyXG5cdFx0ICBiYWNrZ3JvdW5kOiAkYm9keS1ib3JkZXI7XHJcblx0XHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdCAgbGVmdDogMDtcclxuXHRcdCAgYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6bnRoLWxhc3QtY2hpbGQoMSkge1xyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0ICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0fVx0XHJcblx0XHR9XHJcblxyXG5cdFx0aDMge1xyXG5cdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdGNvbG9yOiAkYm9keS1oZWFkaW5nO1xyXG5cdFx0fVxyXG5cclxuXHRcdGEge1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cdFx0XHJcblx0fVxyXG5cclxuXHJcblx0LyoqIFNlYXJjaCBXaWRnZXQgKi9cclxuXHQud2lkZ2V0X3NlYXJjaCB7XHJcblx0XHRmb3JtIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdFx0d2lkdGg6IDgwJTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogNDBweDtcclxuXHRcdFx0fVx0XHJcblx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogOXB4O1xyXG5cdFx0XHRcdGxlZnQ6IDYlO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdGNvbG9yOiAjRDhEOEQ4O1xyXG5cdFx0XHR9XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIExpbmsgTGlzdCAqL1xyXG5cdC53aWRnZXRfbGlzdCB7XHJcblx0XHR1bCB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkYm9keS1saW5rO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsaS5hY3RpdmUge1xyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJGFjY2VudC1iZztcclxuXHRcdFx0XHRcdGNvbG9yOiAkYWNjZW50LXRleHQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHRcclxuXHR9XHJcblxyXG5cdC8qKiBQb3J0Zm9saW8gRmlsdGVyICovXHJcblx0LndpZGdldF9maWx0ZXIge1xyXG5cdFx0dWwge1xyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0YS5hY3RpdmUgIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYWNjZW50LXRleHQ7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZGJkYmRiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVx0XHJcblx0fVx0XHJcblxyXG5cdC8qKiBUYWcgQ2xvdWQgKi9cclxuXHQud2lkZ2V0X3RhZ19jbG91ZCBhIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI4cHg7XHJcblx0XHRwYWRkaW5nOiA0cHggMTVweDtcclxuXHRcdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTFweDtcclxuXHRcdGJhY2tncm91bmQ6ICR0YWctYmcgdXJsKC4uLy4uL2ltYWdlcy9idXR0b24tZ2xhc3MucG5nKSByZXBlYXQteCAwIDA7XHJcblx0XHRjb2xvcjogJHRhZy10ZXh0O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMHB4IG5vbmU7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM3YmJiNWU7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIE5ld3NsZXR0ZXIgKi9cclxuXHQud2lkZ2V0X25ld3NsZXR0ZXIge1xyXG5cclxuXHRcdC53aWRnZXRfd3JhcHBlciB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICMzQjNDM0U7XHJcblx0XHRcdHBhZGRpbmc6IDIycHggMzBweCAzMnB4IDMwcHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblx0XHRcdGgzIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdC5idXR0b24ge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAjM0MzQzNDO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBBZGRyZXNzICovXHJcblx0LndpZGdldF9hZGRyZXNzIHtcclxuXHRcdC53aWRnZXQtY29udGVudCB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0YmFja2dyb3VuZDogI2U0ZTRlNDtcclxuXHRcdFx0cGFkZGluZzogMjJweCAzMHB4IDMycHggMzBweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDEwcHg7XHJcblx0XHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRcdFx0bGVmdDogYXV0bztcclxuXHRcdFx0XHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZjA4ZFwiO1xyXG5cdFx0XHRcdGNvbG9yOiAjMDAwO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdFx0XHRvcGFjaXR5OiAwLjI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGgzIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0Y29sb3I6ICM3Nzc3Nzc7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5idXR0b24ge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAjM0MzQzNDO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cdFx0XHJcblx0XHR9XHJcblx0fVx0IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIDUuICBQT1JURk9MSU8gXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblx0LyoqIFBvcnRmb2xpbyBHcmlkICovXHJcblx0I3BvcnRmb2xpby1ncmlkIHtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuXHRcdC5lbnRyeSB7XHJcblxyXG5cdFx0XHQud3JhcHBlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbnRhaW5lci1iZztcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzJweDtcclxuXHRcdFx0XHRib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblxyXG5cdFx0XHRcdC5lbnRyeS1tZWRpYSB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNjBweDtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCkgdXJsKCcuLi8uLi9pbWFnZXMvaG92ZXItYmcucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdHotaW5kZXg6IDk5OTk7XHJcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmOmhvdmVyOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5lbnRyeS1kZXNjIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDIwcHg7XHJcblx0XHRcdFx0XHRoMyB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaGVhZGluZztcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICM5Njk5OWQ7XHJcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG5cdFx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LyoqIE1haW4gQ29udGVudCAqL1xyXG5cdCNtYWluLWNvbnRlbnQucG9ydGZvbGlvLWltYWdlcyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG5cclxuXHRcdC5lbnRyeS1tZWRpYSB7XHJcblx0XHRcdG1hcmdpbjogMCAwIDMycHggMDtcclxuXHJcblx0XHRcdC5pbWFnZSB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGZpZ2NhcHRpb24ge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRcdFx0XHRib3R0b206IDIwcHg7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYWx0LWFjY2VudC1iZyB1cmwoXCIuLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZ1wiKSByZXBlYXQteCBzY3JvbGwgMHB4IDBweDtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYWx0LWFjY2VudC10ZXh0O1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMnB4IDE4cHg7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHRcdFx0XHRcclxuXHRcdH1cclxuXHJcblx0XHQuZW50cnktbmF2aWdhdGlvbiB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0d2lkdGg6IDI0MHB4O1xyXG5cdFx0XHRtYXJnaW46IDQwcHggYXV0byAzMHB4IGF1dG87XHJcblx0XHRcdHBhZGRpbmc6IDQwcHggMCAwIDA7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxcHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGJvZHktYm9yZGVyO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdHdpZHRoOiA3MHB4O1xyXG5cdFx0XHRcdGhlaWdodDogNDVweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNDVweDtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDVweDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkdGFnLWJnIHVybCguLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZykgcmVwZWF0LXg7XHJcblx0XHRcdFx0Y29sb3I6ICR0YWctdGV4dDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuXHJcblx0XHRcdFx0Ji5pbmRleCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjN2JiYjVlO1xyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnNoYXJlLXByb2plY3Qge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdG1hcmdpbjogMCAxNXB4O1xyXG5cclxuXHRcdFx0XHQmLnNoYXJlLXRpdGxlIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHRjb2xvcjogIzk5OTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRcdGNvbG9yOiAjM2IzYzNlO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdFx0XHRcdFx0Jjpob3ZlciB7IGNvbG9yOiAjMDAwOyB9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0fVxyXG5cclxuXHQvKiogUGFnZSBTaWRlYmFyICovXHJcblx0I3BhZ2Utc2lkZWJhci5wb3J0Zm9saW8tZGVzYyB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0b3VjaCkge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcblx0XHRcdGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zdW1tYXJ5IHtcclxuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdHBhZGRpbmc6IDI1cHggMzBweCAyOHB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdGJhY2tncm91bmQ6ICMzQjNDM0U7XHJcblxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0dG9wOiAyMHB4O1xyXG5cdFx0XHRcdHJpZ2h0OiAyMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAyMHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjBweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb25zL2luZm8uc3ZnKTtcclxuXHRcdFx0XHRjb2xvcjogIzAwMDtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0b3BhY2l0eTogMC4yO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cclxuXHRcdFx0aDMge1xyXG5cdFx0XHQgICAgZm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHQgICAgbWFyZ2luLXRvcDogMHB4O1xyXG5cdFx0XHQgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdFx0ICAgIGNvbG9yOiAjRkZGO1xyXG5cdFx0XHR9XHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdGNvbG9yOiAjOTk5O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdC5tZXRhLWluZm8ge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGJhY2tncm91bmQ6ICR0YWctYmc7XHJcblx0XHRcdHBhZGRpbmc6IDI4cHggMzVweDtcclxuXHJcblx0XHRcdC5tZXRhIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cclxuXHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzcHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRoNCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJvZHktaGVhZGluZztcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJvZHktbGluaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHJcblx0XHR9XHJcblxyXG5cdH0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgNi4gIEJMT0cgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblx0LmJsb2cuc2luZ2xlIHtcclxuXHRcdC5lbnRyeS1kZXNjIHtcclxuXHRcdFx0aDNcdHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDNweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmVudHJ5LW1ldGEge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LmJsb2cge1xyXG5cclxuXHRcdC8qKiBHZW5lcmFsIFN0eWxpbmcgKi9cclxuXHRcdC5lbnRyeSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRjb250YWluZXItYmc7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDMycHg7XHJcblx0XHRcdGJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHJcblx0XHRcdC5lbnRyeS1tZWRpYSB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRcdHotaW5kZXg6IDk5OTk7XHJcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZW50cnktZGVzYyB7XHJcblx0XHRcdFx0cGFkZGluZzogMjBweCAzNXB4O1xyXG5cclxuXHRcdFx0XHRoMyB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogNXB4O1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkY29udGFpbmVyLWhlYWRpbmc7XHJcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDNweDtcclxuXHJcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkYWNjZW50LXRleHQ7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0Y2RjZGNjtcclxuXHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICM5Njk5OWQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5lbnRyeS1tZXRhIHtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDM2cHggMzBweCAzNnB4O1xyXG5cdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuXHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE1cHg7XHJcblx0XHRcdFx0XHRjb2xvcjogIzk2OTk5ZDtcclxuXHRcdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHJcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuXHRcdFx0XHRcdFx0aSB7XHJcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaWNvbjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaWNvbi1ob3ZlcjtcclxuXHRcdFx0XHRcdFx0XHRpIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkY29udGFpbmVyLWljb24taG92ZXI7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHRcdFx0XHRcdFxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGkuZGF0ZSBpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxN3B4O1xyXG5cdFx0XHRcdH1cdFx0XHRcdFxyXG5cdFx0XHRcdGxpLmxpa2Uge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XHJcblxyXG5cdFx0XHRcdFx0aSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRhOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICM3YmJiNWU7XHJcblx0XHRcdFx0XHRcdGkge1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjN2JiYjVlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGkuY29tbWVudHMge1xyXG5cdFx0XHRcdFx0aSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvKiogU3RhbmRhcmQgRm9ybWF0ICovXHJcblx0XHQuZm9ybWF0LXN0YW5kYXJkOmhvdmVyIHtcclxuXHJcblx0XHRcdC5lbnRyeS1tZWRpYSB7XHJcblx0XHRcdFx0YSB7XHJcblxyXG5cdFx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmOmFmdGVyIHsgb3BhY2l0eTogMTsgfVxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cdFx0LyoqIFF1b3RlIEZvcm1hdCAqL1xyXG5cdFx0LmZvcm1hdC1xdW90ZSB7XHJcblxyXG5cdFx0XHQuZW50cnktbWVkaWEge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkcG9zdC1mb3JtYXQtYmc7XHJcblx0XHRcdFx0cGFkZGluZzogMzVweCA2MHB4IDM4cHggNjBweDtcclxuXHJcblx0XHRcdFx0YmxvY2txdW90ZSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHRvcDogMzRweDtcclxuXHRcdFx0XHRcdFx0bGVmdDogMzBweDtcclxuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMTBkXCI7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkcG9zdC1mb3JtYXQtaWNvbjtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyM3B4O1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkcG9zdC1mb3JtYXQtdGV4dDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyM3B4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzJweDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMDtcclxuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMnB4IDAgMzVweDtcclxuXHJcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMXB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcG9zdC1mb3JtYXQtYm9yZGVyO1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAxMHB4O1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvKiogTGluayBGb3JtYXQgKi9cclxuXHRcdC5mb3JtYXQtbGluayB7XHJcblx0XHRcdC5lbnRyeS1tZWRpYSB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRwb3N0LWZvcm1hdC1iZztcclxuXHRcdFx0XHRwYWRkaW5nOiAzNXB4IDYwcHggMzhweCA2MHB4O1xyXG5cclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblxyXG5cdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiAzNHB4O1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAzMHB4O1xyXG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcclxuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcXGYwYzFcIjtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRwb3N0LWZvcm1hdC1pY29uO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDIzcHg7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRwb3N0LWZvcm1hdC10ZXh0O1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDIzcHg7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG5cdFx0XHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwO1xyXG5cdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMCAycHggMCAzNXB4O1xyXG5cclxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxcHg7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRwb3N0LWZvcm1hdC1ib3JkZXI7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDEwcHg7XHJcblx0XHRcdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVx0XHJcblxyXG5cdH1cclxuXHJcblxyXG5cdC8qKiBHYWxsZXJ5IEZvcm1hdCAqL1xyXG5cdC5mb3JtYXQtZ2FsbGVyeSAge1xyXG5cclxuXHRcdC5zbGljay1hcnJvdyB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRcdGJvdHRvbTogMjBweDtcclxuXHRcdFx0YmFja2dyb3VuZDogIzNiM2MzZTtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgIzNiM2MzZTtcclxuXHRcdFx0d2lkdGg6IDMycHg7XHJcblx0XHRcdGhlaWdodDogMzJweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuXHRcdFx0aS5mYSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLnByZXYtYXJyb3cge1xyXG5cdFx0XHRcdHJpZ2h0OiA1N3B4O1xyXG5cdFx0XHRcdHotaW5kZXg6IDk5O1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRhbHQtYWNjZW50LWJnO1xyXG5cdFx0XHRcdGNvbG9yOiAkYWx0LWFjY2VudC10ZXh0O1xyXG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkYWx0LWFjY2VudC1iZywgNSUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVx0XHQiLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgNS4gIFNUT1JFIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cdC8qKiBTdG9yZSBHcmlkICovXHJcblx0I3N0b3JlLWdyaWQge1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdFx0LmVudHJ5IHtcclxuXHJcblx0XHRcdC53cmFwcGVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbnRhaW5lci1iZztcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xyXG5cdFx0XHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0ICAgIGxlZnQ6IDBweDtcclxuXHRcdFx0XHQgICAgdG9wOiAwcHg7XHJcblx0XHRcdFx0ICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHQgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0ICAgIHBhZGRpbmc6IDBweCAyMnB4O1xyXG5cdFx0XHRcdCAgICB6LWluZGV4OiAxO1xyXG5cdFx0XHRcdCAgICB6LWluZGV4OiA5OTk7XHJcblx0XHRcdFx0ICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG5cdFx0XHRcdCAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZ1wiKSByZXBlYXQteDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdCAgICBjb250ZW50OiBhdHRyKGRhdGEtc2FsZSk7XHJcblx0XHRcdFx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNEMzExMTI7XHJcblx0XHRcdFx0ICAgIGNvbG9yOiAjRkZGO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHQgICAgY29udGVudDogYXR0cihkYXRhLXN0b2NrKTtcclxuXHRcdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRjI4NTtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29udGFpbmVyLWhlYWRpbmc7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdC5hZGQtdG8tY2FydCB7XHJcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuYWRkLXRvLWNhcnQge1xyXG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblxyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0ICAgIHJpZ2h0OiAxMnB4O1xyXG5cdFx0XHRcdFx0ICAgIHRvcDogMTJweDtcclxuXHRcdFx0XHRcdCAgICB3aWR0aDogMzBweDtcclxuXHRcdFx0XHRcdCAgICBoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0XHQgICAgbGluZS1oZWlnaHQ6IDI5cHg7XHJcblx0XHRcdFx0XHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0ICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0XHRcdFx0XHQgICAgZm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRcdFx0ICAgIHotaW5kZXg6IDk5OTtcclxuXHRcdFx0XHRcdCAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuXHRcdFx0XHRcdCAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE4MCwgMTgwLCAxODAsIDAuNSk7XHJcblx0XHRcdFx0XHQgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vLi4vaW1hZ2VzL2J1dHRvbi1nbGFzcy5wbmcpIHJlcGVhdC14IDAgMDtcclxuXHRcdFx0XHRcdCAgICBjb2xvcjogI2I0YjRiNDtcclxuXHJcblx0XHRcdFx0XHQgICAgJjpob3ZlciB7XHJcblx0XHRcdFx0XHQgICAgXHRib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJGFsdC1hY2NlbnQtYmcsIDUlKTtcclxuXHRcdFx0XHRcdFx0ICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHQtYWNjZW50LWJnO1xyXG5cdFx0XHRcdFx0XHQgICAgY29sb3I6ICRhbHQtYWNjZW50LXRleHQ7XHJcblx0XHRcdFx0XHQgICAgfVxyXG5cclxuXHRcdFx0XHRcdCAgICBpIHsgbGluZS1oZWlnaHQ6IDMwcHg7IH1cclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVx0XHRcdFx0XHJcblxyXG5cdFx0XHRcdC5lbnRyeS1tZWRpYSB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0dWwuc2xpY2stZG90cyB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblxyXG5cdFx0XHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTVweDtcclxuXHJcblxyXG5cdFx0XHRcdFx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogOHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDhweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRsaS5zbGljay1hY3RpdmUge1xyXG5cdFx0XHRcdFx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5lbnRyeS1kZXNjIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDIycHggMjVweDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0XHRoMyB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaGVhZGluZztcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0c3Bhbi50YXhvbm9teSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICM5Njk5OWQ7XHJcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG5cdFx0XHRcdFx0fVx0XHJcblx0XHRcdFx0XHRzcGFuLnByaWNlIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDI1cHg7XHJcblx0XHRcdFx0XHRcdHJpZ2h0OiAyNXB4O1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjM2IzYzNlO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE1cHg7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDVweDtcclxuXHRcdFx0XHRcdH1cdFx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQvKiogU3RvcmUgQ2FydCAqL1xyXG5cdC5zdG9yZS5jYXJ0IHtcclxuXHRcdCNtYWluLWNvbnRlbnQge1xyXG5cdFx0XHQuY2FydC1zdW1tYXJ5IHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjM2IzYzNlO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMzVweDtcclxuXHJcblx0XHRcdFx0aDMge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGZvcm0ge1xyXG5cdFx0XHRcdFx0aW5wdXRbdHlwZT1cInRleHRcIl0sXHJcblx0XHRcdFx0XHRpbnB1dFt0eXBlPVwibnVtYmVyXCJdXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNlZWU7XHJcblx0XHRcdFx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0XHRcdH1cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAxNXB4IDAgMCAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dGFibGUge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHRcdFx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0XHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblxyXG5cdFx0XHRcdFx0dGhlYWQge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcblx0XHRcdFx0XHRcdHRyIHtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgIzU2NTc1NztcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgIzU2NTc1NztcclxuXHJcblx0XHRcdFx0XHRcdFx0dGgge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTJweCA4cHg7XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdCYucHJvZHVjdC1uYW1lIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQmLnByb2R1Y3QtcHJpY2UsXHJcblx0XHRcdFx0XHRcdFx0XHQmLnByb2R1Y3QtcXVhbnRpdHksXHJcblx0XHRcdFx0XHRcdFx0XHQmLnByb2R1Y3Qtc3VidG90YWxcclxuXHRcdFx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDE3JTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR0Ym9keSB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5OTk5O1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cclxuXHRcdFx0XHRcdFx0dHIge1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTY1NzU3O1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuXHRcdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdHRkIHtcclxuXHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4IDhweDtcclxuXHRcdFx0XHRcdFx0XHRcdGJvcmRlcjogMDtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHQmLnByb2R1Y3QtcHJpY2UsXHJcblx0XHRcdFx0XHRcdFx0XHQmLnByb2R1Y3QtcXVhbnRpdHksXHJcblx0XHRcdFx0XHRcdFx0XHQmLnByb2R1Y3Qtc3VidG90YWxcclxuXHRcdFx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDE3JTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdCYucHJvZHVjdC1uYW1lIGEge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdCYucHJvZHVjdC1yZW1vdmUgYSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5OTk5O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDI2cHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdCYuYWN0aW9ucyB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0LnF1YW50aXR5IGlucHV0IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDQ1cHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdFx0XHRcdFx0XHRcdFx0fVx0XHJcblx0XHRcdFx0XHRcdFx0XHQuY291cG9uIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlKSB7IGZsb2F0OiBub25lOyB9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRtaW4td2lkdGg6IDIyMHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZSkgeyBtaW4td2lkdGg6IDE3NXB4OyB3aWR0aDogMTc1cHg7IH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZy1kZXNrdG9wKSB7IG1pbi13aWR0aDogMTc1cHg7IHdpZHRoOiAxNzVweDsgfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHRcdFx0XHRcdFxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdH1cdFx0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cdFxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlKSB7IFxyXG5cclxuXHRcdFx0XHRcdHRhYmxlIHtcclxuXHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrOyBcclxuXHJcblx0XHRcdFx0XHRcdC8qIEZvcmNlIHRhYmxlIHRvIG5vdCBiZSBsaWtlIHRhYmxlcyBhbnltb3JlICovXHJcblx0XHRcdFx0XHRcdHRoZWFkLCB0Ym9keSwgdGgsIHRkLCB0ciB7IFxyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrOyBcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LyogSGlkZSB0YWJsZSBoZWFkZXJzIChidXQgbm90IGRpc3BsYXk6IG5vbmU7LCBmb3IgYWNjZXNzaWJpbGl0eSkgKi9cclxuXHRcdFx0XHRcdFx0dGhlYWQgdHIgeyBcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0dG9wOiAtOTk5OXB4O1xyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6IC05OTk5cHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdHRyIHsgYm9yZGVyOiAxcHggc29saWQgIzU2NTc1NzsgfVxyXG5cclxuXHRcdFx0XHRcdFx0dGQgeyBcclxuXHRcdFx0XHRcdFx0XHQvKiBCZWhhdmUgIGxpa2UgYSBcInJvd1wiICovXHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOyBcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiA1MCU7IFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHR0ZDpiZWZvcmUgeyBcclxuXHRcdFx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHR0ci5jYXJ0X2l0ZW0ge1xyXG5cdFx0XHRcdFx0XHRcdC8qIExhYmVsIHRoZSBkYXRhICovXHJcblx0XHRcdFx0XHRcdFx0dGQ6bnRoLW9mLXR5cGUoMSk6YmVmb3JlIHsgY29udGVudDogXCJQcm9kdWN0XCI7IH1cclxuXHRcdFx0XHRcdFx0XHR0ZDpudGgtb2YtdHlwZSgyKTpiZWZvcmUgeyBjb250ZW50OiBcIlByaWNlXCI7IH1cclxuXHRcdFx0XHRcdFx0XHR0ZDpudGgtb2YtdHlwZSgzKTpiZWZvcmUgeyBjb250ZW50OiBcIlF1YW50aXR5XCI7IH1cclxuXHRcdFx0XHRcdFx0XHR0ZDpudGgtb2YtdHlwZSg0KTpiZWZvcmUgeyBjb250ZW50OiBcIlRvdGFsXCI7IH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0XHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIE9yZGVyIFRvdGFsICovXHJcblx0LnN0b3JlLmNhcnQge1xyXG5cdFx0I21haW4tY29udGVudCB7XHJcblx0XHRcdC5vcmRlci10b3RhbCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDM1cHg7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogNDBweDtcclxuXHJcblx0XHRcdFx0aDMge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMzYTNjM2Q7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHRhYmxlIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cclxuXHRcdFx0XHRcdHRib2R5IHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICNBRkFGQUY7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblxyXG5cdFx0XHRcdFx0XHR0ciB7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG5cdFx0XHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlM2UzZTM7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHR0ciB0aCB7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMyQjJFMzM7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlM2UzO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHRyIHRkIHtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2UzZTM7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTRweCA4cHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0LmNhbGN1bGF0ZS1zaGlwcGluZyB7XHJcblx0XHRcdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHQgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuXHRcdFx0XHQgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdFx0XHQgICAgZm9udC1zaXplOiAxMHB4O1xyXG5cdFx0XHRcdCAgICBmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdCAgICBjb2xvcjogIzNBM0MzRDtcclxuXHRcdFx0XHQgICAgYmFja2dyb3VuZDogI0ZFRUEzNjtcclxuXHRcdFx0XHQgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdCAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdFx0ICAgIHBhZGRpbmc6IDFweCA1cHg7XHJcblx0XHRcdFx0ICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5wcm9jZWVkLWNoZWNrb3V0IHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAyMHB4IDA7XHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBDYWxjdWxhdGUgU2hpcHBpbmcgKi9cclxuXHQuc3RvcmUuY2FydCB7XHJcblx0XHQjcGFnZS1zaWRlYmFyIHtcclxuXHRcdFx0LnNoaXBwaW5nLWluZm8ge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZTRlNGU0O1xyXG5cdFx0XHRcdGNvbG9yOiAjM2EzYzNkO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDMwcHggMzVweDtcclxuXHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdHRvcDogMzBweDtcclxuXHRcdFx0XHRcdHJpZ2h0OiAzN3B4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb25zL2RlbGl2ZXJ5LXRydWNrNS5zdmcpO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMwMDA7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRoNCB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Zm9ybSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuXHRcdFx0XHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBzZWxlY3Qge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjZmNmY2O1xyXG5cdFx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWQ5O1xyXG5cdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0c2VsZWN0IHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2Y2ZjZmNiB1cmwoLi4vLi4vaW1hZ2VzL3NlbGVjdC1maWVsZC1hcnJvdy5wbmcpIG5vLXJlcGVhdCA5NSUgY2VudGVyO1xyXG5cclxuXHRcdFx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0XHRcdFx0XHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcblx0XHRcdFx0XHRcdHRleHQtaW5kZW50OiAxcHg7XHJcblx0XHRcdFx0XHRcdHRleHQtb3ZlcmZsb3c6ICcnO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0XHRcdFx0dGV4dC1zaGFkb3c6IG5vbmU7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHsgYmFja2dyb3VuZDogIzkxOTE5MSB1cmwoLi4vLi4vaW1hZ2VzL2J1dHRvbi1nbGFzcy5wbmcpIHJlcGVhdC14IDAgMDsgfVxyXG5cdFx0XHRcdFx0XHQmOmFjdGl2ZSB7IGJveC1zaGFkb3c6ICM3ODc4NzggMCAxcHggMDsgfVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LyoqIFNpbmdsZSBQcm9kdWN0ICovXHJcblx0LnNpbmdsZS1wcm9kdWN0IHtcclxuXHRcdCNtYWluLWNvbnRlbnQge1xyXG5cdFx0XHQuZW50cnkge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb250YWluZXItYmc7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzJweDtcclxuXHRcdFx0XHRib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblxyXG5cdFx0XHRcdC5lbnRyeS1oZWFkZXIge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogIzNiM2MzZTtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDQ1cHggMjBweCA0MHB4IDIwcHg7XHJcblxyXG5cdFx0XHRcdFx0LnRpdGxlIHtcclxuXHJcblx0XHRcdFx0XHRcdGgxIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5OTk5O1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0XHRcdFx0XHRkZWwge1xyXG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlucyB7XHJcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQucmV2aWV3LXJhdGluZyB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDdweDtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdFx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICB1cmwoXCIuLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZ1wiKSByZXBlYXQteDtcclxuXHJcblx0XHRcdFx0XHRcdFx0Ji5zdXBlcmIge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRhbHQtYWNjZW50LXRleHQ7XHJcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0LWFjY2VudC1iZztcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Ji53b3JzdCB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNEMzExMTI7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC5wcmljaW5nIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMjNweDtcclxuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZSkgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcblxyXG5cdFx0XHRcdFx0XHQuY2FydCB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdFx0XHRcdFx0XHQucXVhbnRpdHkge1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRvcDogMXB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNTBweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA0NHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2VlZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0YnV0dG9uIHtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMCAwIDAgMTBweDtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZSkgeyBtYXJnaW46IDIwcHggMCAwIDA7IH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuZW50cnktZGVzYyB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAyOHB4IDM1cHg7XHJcblxyXG5cdFx0XHRcdFx0aDMge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDVweDtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG5cdFx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1oZWFkaW5nO1xyXG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogM3B4O1xyXG5cclxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkYWNjZW50LXRleHQ7XHJcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjRjZGNkY2O1xyXG5cdFx0XHRcdFx0XHRcdH1cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogIzk2OTk5ZDtcclxuXHRcdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuY29sb3JzLWF0dHJzIHtcclxuXHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTVweDtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cclxuXHRcdFx0XHRcdFx0XHQmLmdyZWVuIHsgYmFja2dyb3VuZDogIzk0Yzg3YzsgfVxyXG5cdFx0XHRcdFx0XHRcdCYucmVkICAgeyBiYWNrZ3JvdW5kOiAjZDkzMzMzOyB9XHJcblx0XHRcdFx0XHRcdFx0Ji5ibHVlICB7IGJhY2tncm91bmQ6ICM4YTkwZmY7IH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0LnNpemUtYXR0cnMge1xyXG5cdFx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgNHB4O1xyXG5cdFx0XHRcdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkVFQTM2O1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICMzQTNDM0Q7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdHRhYmxlIHtcclxuXHRcdFx0XHRcdCAgICBib3JkZXI6IDA7XHJcblx0XHRcdFx0XHQgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjI7XHJcblxyXG5cdFx0XHRcdFx0ICAgICY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRcdCAgICBcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xyXG5cdFx0XHRcdFx0ICAgIH1cclxuXHJcblx0XHRcdFx0XHQgICAgdGJvZHkge1xyXG5cclxuXHRcdFx0XHRcdCAgICBcdHRyOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdCAgICBcdFx0dGgsIHRkIHtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIFx0cGFkZGluZy10b3A6IDIwcHg7XHJcblx0XHRcdFx0XHQgICAgXHRcdH1cclxuXHRcdFx0XHRcdCAgICBcdH1cclxuXHJcblx0XHRcdFx0XHQgICAgICAgIHRyIHtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuXHRcdFx0XHRcdCAgICAgICAgICAgIHRoW3Njb3BlPVwicm93Z3JvdXBcIl0ge1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgXHR3aWR0aDogMzAlO1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgfVxyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgdGhbc2NvcGU9XCJyb3dcIl0ge1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgXHR3aWR0aDogMjUlO1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0XHRcdCAgICAgICAgICAgIHRoIHtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIFx0Y29sb3I6ICMzQjNDM0U7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICBcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICBcdHBhZGRpbmc6IDJweCAxMHB4O1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0XHRcdCAgICAgICAgICAgIHRkIHtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIFx0cGFkZGluZzogMnB4IDEwcHg7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICBcdGNvbG9yOiAjOTk5O1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICBcclxuXHRcdFx0XHRcdCAgICAgICAgfVxyXG5cclxuXHRcdFx0XHRcdCAgICBcdHRyOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0ICAgIFx0XHR0aCwgdGQge1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHRcdFx0XHRcdCAgICBcdFx0fVxyXG5cdFx0XHRcdFx0ICAgIFx0fVxyXG5cclxuXHRcdFx0XHRcdCAgICB9ICAgXHJcblx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuZW50cnktbWV0YSB7XHJcblx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMCAzNnB4IDMwcHggMzZweDtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuXHRcdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE1cHg7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjOTY5OTlkO1xyXG5cdFx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblxyXG5cdFx0XHRcdFx0XHRcdGkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1pY29uO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1pY29uLWhvdmVyO1xyXG5cdFx0XHRcdFx0XHRcdFx0aSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkY29udGFpbmVyLWljb24taG92ZXI7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHRcdFx0XHRcdFxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGxpLmRhdGUgaSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE3cHg7XHJcblx0XHRcdFx0XHR9XHRcdFx0XHRcclxuXHRcdFx0XHRcdGxpLmxpa2Uge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcclxuXHJcblx0XHRcdFx0XHRcdGkge1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRhOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzdiYmI1ZTtcclxuXHRcdFx0XHRcdFx0XHRpIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjN2JiYjVlO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRsaS5jb21tZW50cyB7XHJcblx0XHRcdFx0XHRcdGkge1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQjcGFnZS1zaWRlYmFyIHtcclxuXHRcdFx0LmVudHJ5LW1lZGlhIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cclxuXHRcdFx0XHQmOmJlZm9yZSwgJjphZnRlciB7XHJcblx0XHRcdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHQgICAgbGVmdDogMHB4O1xyXG5cdFx0XHRcdCAgICB0b3A6IDBweDtcclxuXHRcdFx0XHQgICAgZm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRcdCAgICBsaW5lLWhlaWdodDogMzJweDtcclxuXHRcdFx0XHQgICAgcGFkZGluZzogMHB4IDI1cHg7XHJcblx0XHRcdFx0ICAgIHotaW5kZXg6IDE7XHJcblx0XHRcdFx0ICAgIHotaW5kZXg6IDk5OTtcclxuXHRcdFx0XHQgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcblx0XHRcdFx0ICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9idXR0b24tZ2xhc3MucG5nXCIpIHJlcGVhdC14O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0ICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1zYWxlKTtcclxuXHRcdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogI0QzMTExMjtcclxuXHRcdFx0XHQgICAgY29sb3I6ICNGRkY7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdCAgICBjb250ZW50OiBhdHRyKGRhdGEtc3RvY2spO1xyXG5cdFx0XHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGMjg1O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaGVhZGluZztcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dWwuc2xpY2stZG90cyB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRib3R0b206IDEwcHg7XHJcblx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblxyXG5cdFx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDE1cHg7XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0YnV0dG9uIHtcclxuXHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cclxuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDhweDtcclxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogOHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRsaS5zbGljay1hY3RpdmUge1xyXG5cdFx0XHRcdFx0XHRidXR0b24ge1xyXG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5tb3JlLWltYWdlcyB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogI2VmZWZlZjtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRjb250ZW50OiBhdHRyKGRhdGEtbW9yZS1pbWFnZXMpO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMTdweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMjNweDtcclxuXHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ji5zbGljay1jdXJyZW50IHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCg0NWRlZywgIzQzRjNCNywgIzQzRjNCNyAxcHgsICM0QUU1QjAgMXB4LCAjNEFFNUIwIDVweCkgcmVwZWF0IHNjcm9sbCAwJSAwJTtcclxuXHRcdFx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjM7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICA3LiAgQ09NTUVOVFMgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHRcclxuXHQvKiogQ29tbWVudHMgTGlzdCAqL1xyXG5cdCNjb21tZW50cyB7XHJcblx0XHRtYXJnaW4tdG9wOiA4MHB4O1xyXG5cclxuXHRcdGgzIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdFx0XHRjb2xvcjogJGNvbnRhaW5lci1oZWFkaW5nO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0PiBwIHtcclxuXHRcdFx0Y29sb3I6ICRjb250YWluZXItdGV4dDtcclxuXHRcdH1cclxuXHJcblx0XHRvbC5jb21tZW50cy1saXN0IHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA0MHB4O1xyXG5cclxuXHRcdFx0bGkuY29tbWVudCB7XHJcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDI4cHggMzVweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29udGFpbmVyLWJnO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdFx0XHRib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0XHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdFx0XHRcdC5hdXRob3ItYXZhdGFyIHtcclxuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDkwcHg7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZW4oJGNvbnRhaW5lci1ib3JkZXIsIDIlKTtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZSkgeyBmbG9hdDogbm9uZTsgYm9yZGVyOiAwOyB9XHJcblxyXG5cdFx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuY29tbWVudC1ib2R5IHtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMTVweDtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZSkgeyBtYXJnaW4tbGVmdDogMDsgfVxyXG5cclxuXHRcdFx0XHRcdC5tZXRhIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHRcdFx0LmF1dGhvciB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY29udGFpbmVyLWhlYWRpbmc7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0LnRpbWUge1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci10ZXh0O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdC5jb21tZW50LXJlcGx5LWxpbmsge1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHR0b3A6IDA7IHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGxvYWQtbW9yZS10ZXh0O1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRsb2FkLW1vcmUtYmcgdXJsKFwiLi4vLi4vaW1hZ2VzL2J1dHRvbi1nbGFzcy5wbmdcIikgcmVwZWF0LXg7XHJcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDdweDtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblxyXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxvYWQtbW9yZS1iZy1ob3ZlcjtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cdFxyXG5cdFx0XHRcdFx0XHQucmV2aWV3LXJhdGluZyB7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogMDsgcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgN3B4O1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAgdXJsKFwiLi4vLi4vaW1hZ2VzL2J1dHRvbi1nbGFzcy5wbmdcIikgcmVwZWF0LXg7XHJcblxyXG5cdFx0XHRcdFx0XHRcdCYuc3VwZXJiIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkYWx0LWFjY2VudC10ZXh0O1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFsdC1hY2NlbnQtYmc7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdCYud29yc3Qge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRDMxMTEyO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuY29udGVudCB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG5cdFx0XHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci10ZXh0O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIENvbW1lbnRzIEZvcm0gKi9cclxuXHQjY29tbWVudHMtZm9ybSB7XHJcblx0XHRtYXJnaW4tdG9wOiA4MHB4O1xyXG5cclxuXHRcdGgzIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdFx0XHRjb2xvcjogJGNvbnRhaW5lci1oZWFkaW5nO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0PiBwIHtcclxuXHRcdFx0Y29sb3I6ICRjb250YWluZXItdGV4dDtcclxuXHRcdH1cclxuXHJcblx0XHRmb3JtIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogNDBweDtcclxuXHJcblx0XHRcdHAgeyBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XHJcblxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuXHRcdFx0aW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidXJsXCJdLFxyXG5cdFx0XHRpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcblx0XHRcdGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcblx0XHRcdHNlbGVjdFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbnRhaW5lci1iZztcclxuXHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci10ZXh0O1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEuM3JlbSAycmVtO1xyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgNnB4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MsIGJvcmRlciAwLjNzO1x0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdFx0dGV4dGFyZWEge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb250YWluZXItYmc7XHJcblx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItdGV4dDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRib3JkZXI6IHNvbGlkIDZweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzLCBib3JkZXIgMC4zcztcdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHRcdHNlbGVjdCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbnRhaW5lci1iZyB1cmwoLi4vLi4vaW1hZ2VzL3NlbGVjdC1maWVsZC1hcnJvdy5wbmcpIG5vLXJlcGVhdCA5Ny41JSBjZW50ZXI7XHJcblx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0XHRcdC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuXHRcdFx0XHR0ZXh0LWluZGVudDogMXB4O1xyXG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6ICcnO1xyXG5cclxuXHRcdFx0fVxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcclxuXHRcdFx0aW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxyXG5cdFx0XHRpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXHJcblx0XHRcdGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXHJcblx0XHRcdHRleHRhcmVhOmZvY3VzLFxyXG5cdFx0XHRzZWxlY3Q6Zm9jdXNcclxuXHRcdFx0e1xyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdGNvbG9yOiAkYm9keS10ZXh0O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogU2FmYXJpLCBDaHJvbWUgYW5kIE9wZXJhICovXHJcblx0XHRcdFx0Y29sb3I6ICM3YjdiN2I7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdDotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuXHRcdFx0XHRjb2xvcjogIzdiN2I3YjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0OjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cclxuXHRcdFx0XHRjb2xvcjogIzdiN2I3YjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xyXG5cdFx0XHRcdGNvbG9yOiAjN2I3YjdiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIEVkZ2UgKi9cclxuXHRcdFx0XHRjb2xvcjogIzdiN2I3YjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0OnBsYWNlaG9sZGVyLXNob3duIHsgLyogU3RhbmRhcmQgb25lIGxhc3QhICovXHJcblx0XHRcdFx0Y29sb3I6ICM3YjdiN2I7XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cdH0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiA4LiAgRk9STVMgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiBHZW5lcmFsIChfZm9ybXMuc2NzcylcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcblx0aW5wdXRbdHlwZT1cInRleHRcIl0sXHJcblx0aW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG5cdGlucHV0W3R5cGU9XCJ1cmxcIl0sXHJcblx0aW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG5cdGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcblx0c2VsZWN0LFxyXG5cdHRleHRhcmVhIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRjb2xvcjogJGZpZWxkLXRleHQ7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxLjRyZW07XHJcblx0XHRwYWRkaW5nOiAxLjJyZW0gMnJlbTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRcdGJhY2tncm91bmQ6ICRmaWVsZC1iZztcclxuXHRcdGJvcmRlcjogMDtcdFxyXG5cclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZmllbGQtYm9yZGVyO1xyXG5cdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGZpZWxkLWJvcmRlcjtcclxuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMDcpO1xyXG5cdH1cclxuXHJcblx0aW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXHJcblx0aW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxyXG5cdGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXHJcblx0aW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxyXG5cdGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXHJcblx0c2VsZWN0OmZvY3VzLFxyXG5cdHRleHRhcmVhOmZvY3VzIHtcclxuXHRcdG91dGxpbmU6IG1lZGl1bSBub25lO1xyXG5cdH1cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gQnV0dG9ucyAoX2Zvcm1zLnNjc3MpXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5cdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXHJcblx0YnV0dG9uLCAuYnV0dG9uLFxyXG5cdGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtc3RhY2s7XHJcblx0XHRmb250LXNpemU6IDE1cHg7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0cGFkZGluZzogOXB4IDIzcHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI0Y1RTM4MztcclxuXHRcdGJveC1zaGFkb3c6ICNCRTkxNDQgMCAycHggMDtcclxuXHRcdGJhY2tncm91bmQ6ICNGRkQ0NkU7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBjb2xvci1zdG9wKDAsICNmZmQ0NmUpLCBjb2xvci1zdG9wKDEsICNmZmU4OGEpKTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGNlbnRlciBib3R0b20sICNmZmQ0NmUgMCUsICNmZmU4OGEgMTAwJSk7XHJcblx0XHRjb2xvcjogIzNjM2MzYztcclxuXHRcdHRleHQtc2hhZG93OiAjRkZGMEFDIDAgMXB4IDA7XHJcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cdH1cclxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxyXG5cdGJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpob3ZlcixcclxuXHRpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyIHtcclxuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjRkZGOUI2O1xyXG5cdFx0Ym94LXNoYWRvdzogI0RDQjc1OSAwIDJweCAwO1xyXG5cdFx0YmFja2dyb3VuZDogI0ZGRkRBNTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGNvbG9yLXN0b3AoMCwgI2ZhZTY3ZiksIGNvbG9yLXN0b3AoMSwgI2ZkZmZiYSkpO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIGJvdHRvbSwgI2ZhZTY3ZiAwJSwgI2ZkZmZiYSAxMDAlKTtcclxuXHRcdGNvbG9yOiAjNTQ1NDU0O1xyXG5cdH1cclxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSxcclxuXHRidXR0b246YWN0aXZlLCAuYnV0dG9uOmFjdGl2ZSxcclxuXHRpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IDFweDtcclxuXHRcdGJveC1zaGFkb3c6ICNEQ0I3NTkgMCAxcHggMDtcclxuXHR9XHJcblxyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiBMYWJlbHMgKF9mb3Jtcy5zY3NzKVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuXHRsYWJlbCB7XHJcblx0XHRmb250LXNpemU6IDEuNnJlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiA0NnB4O1xyXG5cdFx0Y29sb3I6ICM4ODg7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0c3Bhbi5yZXF1aXJlZCB7XHJcblx0XHRcdGNvbG9yOiAjRjI2QzRGO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gUGxhY2Vob2xkZXJzIChfZm9ybXMuc2NzcylcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcblx0OnBsYWNlaG9sZGVyLXNob3duIHsgLyogU3RhbmRhcmQgb25lIGxhc3QhICovXHJcblx0XHRjb2xvcjogJGZpZWxkLXBsYWNlaG9sZGVyO1xyXG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdH1cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gTnVtYmVyIFNwaW5uZXIgKF9mb3Jtcy5zY3NzKVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuXHRpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIFxyXG5cdGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7IFxyXG5cdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyBcclxuXHRcdG1hcmdpbjogMDsgXHJcblx0fVxyXG5cdGlucHV0W3R5cGU9bnVtYmVyXSB7XHJcblx0XHQtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuXHR9XHJcblxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIFZhbGlkYXRpb24gKF9mb3Jtcy5zY3NzKVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuXHRpbnB1dC5lcnJvciwgdGV4dGFyZWEuZXJyb3Ige1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI0ZGMDAxMyAhaW1wb3J0YW50O1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDAsIDAsIDAuMDgpO1xyXG5cdH1cclxuXHRsYWJlbC5lcnJvciB7XHJcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdGZvcm0gW3JlcXVpcmVkXSB7fVxyXG5cclxuXHQjY29udGFjdC1mb3JtIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDdweDtcclxuXHR9IiwiXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi8qIEJVVFRPTiBTVFlMRVMgXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4udHJlbmQtYnV0dG9uIHtcclxuXHRmb250LWZhbWlseTogJHByaW1hcnktZm9udC1zdGFjaztcclxuXHRmb250LXNpemU6IDE1cHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cdHBhZGRpbmc6IDlweCAyM3B4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNGNUUzODM7XHJcblx0Ym94LXNoYWRvdzogI0JFOTE0NCAwIDJweCAwO1xyXG5cdGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZykgcmVwZWF0LXggMCAwO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlLWluLW91dCAwcztcclxufVxyXG5cclxuLnRyZW5kLWJ1dHRvbjpob3ZlciB7XHJcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNGRkY5QjY7XHJcblx0Ym94LXNoYWRvdzogI0RDQjc1OSAwIDJweCAwO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG59XHJcbi50cmVuZC1idXR0b246YWN0aXZlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dG9wOiAxcHg7XHJcblx0Ym94LXNoYWRvdzogI0RDQjc1OSAwIDFweCAwO1xyXG59XHJcblxyXG5cclxuLyogQlVUVE9OIENPTE9SUyAqL1xyXG4gLnRyZW5kLWJ1dHRvbi5ibGFjayB7IGJhY2tncm91bmQtY29sb3I6ICMzMzM7IGJvcmRlci1jb2xvcjogIzAwMDsgYm94LXNoYWRvdzogIzE0MTQxNCAwIDJweCAwOyB9XHJcbi50cmVuZC1idXR0b24uYmxhY2s6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjM0MzQzNDOyB9XHQgXHJcbi50cmVuZC1idXR0b24uYmxhY2s6YWN0aXZlIHsgYm94LXNoYWRvdzogIzE0MTQxNCAwIDFweCAwOyB9XHQgXHJcblxyXG4udHJlbmQtYnV0dG9uLmdyZXkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OyBib3JkZXItY29sb3I6ICM0ZTRlNGU7IGJveC1zaGFkb3c6ICM3ODc4NzggMCAycHggMDsgfVxyXG4udHJlbmQtYnV0dG9uLmdyZXk6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5MTkxOyB9XHJcbi50cmVuZC1idXR0b24uZ3JleTphY3RpdmUgeyBib3gtc2hhZG93OiAjNzg3ODc4IDAgMXB4IDA7IH1cclxuXHJcbi50cmVuZC1idXR0b24uZ3JlZW4geyBiYWNrZ3JvdW5kLWNvbG9yOiAjN2ZjMzNjOyBib3JkZXItY29sb3I6ICM1Mzg0MjE7IGJveC1zaGFkb3c6ICM2OTk2M2IgMCAycHggMDsgfVxyXG4udHJlbmQtYnV0dG9uLmdyZWVuOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzhkZDI0MjsgfVxyXG4udHJlbmQtYnV0dG9uLmdyZWVuOmFjdGl2ZSB7IGJveC1zaGFkb3c6ICM2OTk2M2IgMCAxcHggMDsgfVxyXG5cclxuLnRyZW5kLWJ1dHRvbi5ibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogIzJjYWFkYTsgYm9yZGVyLWNvbG9yOiAjMGI3MDk1OyBib3gtc2hhZG93OiAjMjY4MWEyIDAgMnB4IDA7IH1cclxuLnRyZW5kLWJ1dHRvbi5ibHVlOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzMyYmNlZjsgfVxyXG4udHJlbmQtYnV0dG9uLmJsdWU6YWN0aXZlIHsgYm94LXNoYWRvdzogIzI2ODFhMiAwIDFweCAwOyB9XHJcblxyXG4udHJlbmQtYnV0dG9uLnllbGxvdyB7IGJhY2tncm91bmQtY29sb3I6ICNGQ0M3MUY7IGJvcmRlci1jb2xvcjogI2M3OWEwYjsgYm94LXNoYWRvdzogI2MyOTMwMCAwIDJweCAwOyAgfVxyXG4udHJlbmQtYnV0dG9uLnllbGxvdzpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNGRkNGMzg7ICB9IFxyXG4udHJlbmQtYnV0dG9uLnllbGxvdzphY3RpdmUgeyBib3gtc2hhZG93OiAjYzI5MzAwIDAgMXB4IDA7ICB9IFxyXG5cclxuLnRyZW5kLWJ1dHRvbi5yZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTM1MTRhOyBib3JkZXItY29sb3I6ICNhYjRiNDQ7IGJveC1zaGFkb3c6ICNjMDJhMDUgMCAycHggMDsgfVxyXG4udHJlbmQtYnV0dG9uLnJlZDpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNmZjVlNTY7IH1cclxuLnRyZW5kLWJ1dHRvbi5yZWQ6YWN0aXZlIHsgYm94LXNoYWRvdzogI2MwMmEwNSAwIDFweCAwOyB9XHJcblxyXG4udHJlbmQtYnV0dG9uLnB1cnBsZSB7IGJhY2tncm91bmQtY29sb3I6ICNkMTdhYzY7IGJvcmRlci1jb2xvcjogIzk5NjE5MjsgYm94LXNoYWRvdzogIzk5NjE5MiAwIDJweCAwOyB9XHJcbi50cmVuZC1idXR0b24ucHVycGxlOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2ViOTBlMDsgfVxyXG4udHJlbmQtYnV0dG9uLnB1cnBsZTphY3RpdmUgeyBib3gtc2hhZG93OiAjOTk2MTkyIDAgMXB4IDA7IH1cclxuXHJcbi50cmVuZC1idXR0b24ub3JhbmdlIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzY1NDsgYm9yZGVyLWNvbG9yOiAjYmQyZTBiOyBib3gtc2hhZG93OiAjZTQ0YzI2IDAgMnB4IDA7IH1cclxuLnRyZW5kLWJ1dHRvbi5vcmFuZ2U6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4MjYyOyB9XHJcbi50cmVuZC1idXR0b24ub3JhbmdlOmFjdGl2ZSB7IGJveC1zaGFkb3c6ICNlNDRjMjYgMCAxcHggMDsgfVxyXG5cclxuLnRyZW5kLWJ1dHRvbi5waW5rIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGQURDQjsgYm9yZGVyLWNvbG9yOiAjRkRBNUM1OyBib3gtc2hhZG93OiAjRkRBNUM1IDAgMnB4IDA7IH1cclxuLnRyZW5kLWJ1dHRvbi5waW5rOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGQjVEMDsgfVxyXG4udHJlbmQtYnV0dG9uLnBpbms6YWN0aXZlIHsgYm94LXNoYWRvdzogI0ZEQTVDNSAwIDFweCAwOyB9XHJcblxyXG5cclxuXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi8qIFRPR0dMRVNcclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi50cmVuZC10b2dnbGUge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuLnRyZW5kLXRvZ2dsZTpmaXJzdC1jaGlsZCB7XHJcblx0bWFyZ2luLXRvcDogMzVweDtcclxufVxyXG5cclxuLnRyZW5kLXRvZ2dsZS1oZWFkaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiAkdG9nZ2xlLWJnO1xyXG59XHJcbi50cmVuZC10b2dnbGUtaGVhZGluZyB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi50cmVuZC10b2dnbGUtaGVhZGluZyBwIHtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcblxyXG4udHJlbmQtdG9nZ2xlLXRpdGxlID4gYSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdHBhZGRpbmc6IDE0cHggMjBweDsgXHJcbn1cclxuLnRyZW5kLXRvZ2dsZS10aXRsZSA+IGE6aG92ZXIge1xyXG5cdGNvbG9yOiAkdG9nZ2xlLXRleHQ7XHJcbn1cclxuLnRyZW5kLXRvZ2dsZS10aXRsZSA+IGE6Zm9jdXMge1xyXG59XHJcbi5hY3RpdmUgLnRyZW5kLXRvZ2dsZS10aXRsZSA+IGEge1xyXG59XHJcblxyXG5cclxuLnRyZW5kLXRvZ2dsZS1jb250ZW50IHtcclxuXHRwYWRkaW5nOiAxNXB4IDIwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbnRhaW5lci1ib3JkZXI7XHJcblx0Ym9yZGVyLXRvcDogMDtcclxuXHRjb2xvcjogJGNvbnRhaW5lci10ZXh0O1xyXG59XHJcblxyXG4uY29sbGFwc2Uge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5jb2xsYXBzZS5vcGVuIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnRyZW5kLXRvZ2dsZS10aXRsZSA+IGE6YmVmb3JlICB7XHJcblx0Zm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRjb250ZW50OiBcIlxcZjA2N1wiO1xyXG5cdG1hcmdpbi1yaWdodDogMThweDtcclxufVxyXG4uYWN0aXZlIC50cmVuZC10b2dnbGUtdGl0bGUgPiBhOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGYwNjhcIjtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLyogVEFCU1xyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLnRyZW5kLXRhYnMge1xyXG5cdG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcblxyXG4udHJlbmQtdGFiLWhlYWRpbmdzIHtcclxuXHRtYXJnaW46IDEwcHggMCAwIDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMCA7XHJcblx0ei1pbmRleDogNDAwIDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxufVxyXG5cclxuLnRyZW5kLXRhYi1oZWFkaW5ncyA+IGxpIHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi50cmVuZC10YWItaGVhZGluZ3MgPiBsaSA+IGEge1xyXG5cdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdHBhZGRpbmc6IDE1cHggMjBweDtcclxuXHRib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcclxufVxyXG4udHJlbmQtdGFiLWhlYWRpbmdzID4gbGkuYWN0aXZlID4gYSxcclxuLnRyZW5kLXRhYi1oZWFkaW5ncyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbi50cmVuZC10YWItaGVhZGluZ3MgPiBsaS5hY3RpdmUgPiBhOmZvY3VzXHJcbntcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdG9nZ2xlLWJnO1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLnRyZW5kLXRhYi1oZWFkaW5ncyA+IGxpID4gYTpob3ZlciB7XHJcblx0Y29sb3I6ICR0b2dnbGUtdGV4dDtcclxufVxyXG5cclxuLnRyZW5kLXRhYi1ib2R5IHtcclxuXHRiYWNrZ3JvdW5kOiAkdG9nZ2xlLWJnO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0cGFkZGluZzogMTVweCAyMHB4O1xyXG5cdGJvcmRlci10b3A6IDA7XHJcblx0ei1pbmRleDogMzAwO1xyXG59XHJcblxyXG4udHJlbmQtdGFiLWJvZHkub3BlbiB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRyZW5kLXRhYi1jb250ZW50cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHRvZ2dsZS10ZXh0O1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Y29sb3I6ICRjb250YWluZXItdGV4dDtcclxufVxyXG5cclxuLnRyZW5kLXRhYi1jb250ZW50cyA+IC50cmVuZC10YWItYm9keSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRyZW5kLXRhYi1jb250ZW50cyA+IC5vcGVuIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG5hbmQgKG1heC13aWR0aCA6IDQwMHB4KSB7XHJcblxyXG5cdC50cmVuZC10YWItaGVhZGluZ3MgPiBsaSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XHJcblx0fVxyXG5cdFxyXG5cdC50cmVuZC10YWItaGVhZGluZ3MgPiBsaSA+IGEge1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcHg7XHJcblx0XHRwYWRkaW5nOiA3cHggN3B4O1xyXG5cdH1cclxuXHRcclxuXHQudHJlbmQtdGFiLWJvZHkge1xyXG5cdFx0cGFkZGluZzogN3B4O1xyXG5cdH1cclxufVxyXG5cclxuXHJcblx0XHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi8qIEhJR0hMSUdIVFxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuc3Bhbi5oaWdobGlnaHQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkY0OUI7XHJcblx0Y29sb3I6ICNBNTY1MUE7XHJcblx0cGFkZGluZzogMnB4IDVweDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn0gXHJcbiBcclxuXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi8qIEFMRVJUU1xyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLnRyZW5kLWFsZXJ0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjODg4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRjb2xvcjogI0ZGRjtcclxuXHRtYXJnaW46IDIwcHggMCAwIDA7XHJcblx0cGFkZGluZzogMThweCAyMHB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRsaW5lLWhlaWdodDogMjVweDsgIFxyXG59XHJcblxyXG4udHJlbmQtYWxlcnQubm90ZSBcdHsgYmFja2dyb3VuZDogI2ZkZjhlNDsgY29sb3I6ICM4NDZmNDQ7IH1cdFxyXG4udHJlbmQtYWxlcnQuaW5mbyBcdHsgYmFja2dyb3VuZDogI2Q5ZWRmNjsgY29sb3I6ICMyZTZkOGU7IH1cclxuLnRyZW5kLWFsZXJ0LnN1Y2Nlc3MgeyBiYWNrZ3JvdW5kOiAjZGVmMGQ4OyBjb2xvcjogIzQxNzA0NDsgfVx0XHJcbi50cmVuZC1hbGVydC5lcnJvciAgIHsgYmFja2dyb3VuZDogI2YyZGVkZjsgY29sb3I6ICNhYzQ2NDE7IH1cdCJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
