/**
 * @package 	WordPress
 * @subpackage 	Magazilla
 * @version		1.0.0
 * 
 * Responsive Design CSS Rules
 * Created by CMSMasters
 * 
 */
@media only screen {
  /*-------------------------------------------------------------------------*/
  /* Large Monitor
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Medium Monitor
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Tablet Monitor
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /*	Tablet Monitor 950
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Small Tablet Monitor
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Tablet Monitor 600
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Phone Monitor
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Small Phone Monitor
/*-------------------------------------------------------------------------*/
}
@media only screen and (min-width: 1440px) {
  .cmsmasters_responsive_width {
    width: 1440px;
  }
  #page.cmsmasters_boxed {
    width: 1400px;
  }
  #page.cmsmasters_boxed #header,
  #page.cmsmasters_boxed #footer {
    width: 1400px;
  }
  .headline_inner,
  .post-password-form,
  .content_wrap,
  .bottom_outer,
  .footer_inner,
  .cmsmasters_row_inner,
  .cmsmasters_row_title_wrap,
  .error_inner {
    width: 1360px;
  }
  .header_top_inner,
  .header_mid_inner,
  .header_bot_inner {
    width: 1360px;
    padding: 0 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_tabs_list_item {
    display: block;
    float: none;
    width: 100%;
    margin: 0 0 5px;
  }
  .mid_nav > li > a {
    padding: 0 6px;
  }
  .cmsmasters_slider_project .cmsmasters_slider_project_inner_wrap {
    padding: 20px 20px 10px;
  }
  #page .apsc-icons-wrapper.apsc-theme-1 .apsc-each-profile {
    width: 100%;
    padding: 0 5px 0 0;
  }
  .one_sixth_lg {
    width: 13.87%;
  }
  .one_fifth_lg {
    width: 17.2%;
  }
  .one_fourth_lg {
    width: 22.2%;
  }
  .one_third_lg {
    width: 30.53%;
  }
  .one_half_lg {
    width: 47.2%;
  }
  .two_third_lg {
    width: 63.87%;
  }
  .three_fourth_lg {
    width: 72.2%;
  }
  .one_first_lg {
    width: 97.2%;
  }
}
@media only screen and (min-width: 950px) and (max-width: 1440px) {
  .header_mid .logo_wrap {
    max-width: 380px;
  }
  .cmsmasters_post_default .cmsmasters_video_preview::after {
    top: 15px;
    right: 15px;
    left: auto;
    bottom: auto;
    font-size: 40px;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  .widget_custom_posts_tabs_entries .cmsmasters_tab .cmsmasters_lpr_tabs_img {
    width: 80px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1440px) {
  .cmsmasters_column .widget_custom_latest_projects_entries .cmsmasters_slider_project_image_meta > .cmsmasters_slider_project_category,
  .cmsmasters_column .widget_custom_popular_projects_entries .cmsmasters_slider_project_image_meta > .cmsmasters_slider_project_category,
  .content_wrap .sidebar .widget_custom_latest_projects_entries .cmsmasters_slider_project_image_meta > .cmsmasters_slider_project_category,
  .content_wrap .sidebar .widget_custom_popular_projects_entries .cmsmasters_slider_project_image_meta > .cmsmasters_slider_project_category {
    display: none;
  }
  .cmsmasters_column .widget_custom_latest_projects_entries .cmsmasters_slider_project_image_meta_bottom,
  .cmsmasters_column .widget_custom_popular_projects_entries .cmsmasters_slider_project_image_meta_bottom,
  .content_wrap .sidebar .widget_custom_latest_projects_entries .cmsmasters_slider_project_image_meta_bottom,
  .content_wrap .sidebar .widget_custom_popular_projects_entries .cmsmasters_slider_project_image_meta_bottom {
    padding-left: 15px;
    padding-right: 15px;
  }
  .cmsmasters_column .widget_custom_latest_projects_entries .cmsmasters_slider_project_image_meta_bottom .cmsmasters_slider_project_category,
  .cmsmasters_column .widget_custom_popular_projects_entries .cmsmasters_slider_project_image_meta_bottom .cmsmasters_slider_project_category,
  .content_wrap .sidebar .widget_custom_latest_projects_entries .cmsmasters_slider_project_image_meta_bottom .cmsmasters_slider_project_category,
  .content_wrap .sidebar .widget_custom_popular_projects_entries .cmsmasters_slider_project_image_meta_bottom .cmsmasters_slider_project_category {
    display: inline;
  }
}
@media only screen and (min-width: 1025px) {
  .cmsmasters_responsive_width {
    width: 1025px;
  }
  .header_mid .header_mid_inner .slogan_wrap img {
    max-height: 100%;
  }
  .content_wrap.r_sidebar .blog.standard {
    margin-right: 0px;
  }
  .content_wrap.l_sidebar .blog.standard {
    margin-left: 0px;
  }
  #page.enable_header_centered .header_bot .header_bot_inner_cont {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-flex-direction: row-reverse;
    -moz-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .fixed_header #header {
    position: fixed;
  }
  .header_top_outer,
  .header_top .top_nav_wrap nav {
    display: block !important;
  }
  .header_top .cmsmasters_roll_titles_wrap {
    width: 80%;
  }
  .mid_nav ul a,
  .bot_nav ul a {
    padding: 6px 15px;
  }
  .mid_nav ul a > span,
  .bot_nav ul a > span {
    position: relative;
    display: inline-block;
  }
  .mid_nav ul a > span:before,
  .bot_nav ul a > span:before {
    content: '';
    width: 0;
    height: 2px;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .mid_nav ul a:hover > span:before,
  .bot_nav ul a:hover > span:before {
    width: 100%;
  }
  .header_mid .slogan_wrap .slogan_wrap_text {
    height: 100%;
    text-align: right;
  }
}
@media only screen and (max-width: 1170px) {
  .cmsmasters_column.one_third .widget_custom_latest_projects_entries .cmsmasters_slider_project_title a,
  .cmsmasters_column.one_third .widget_custom_popular_projects_entries .cmsmasters_slider_project_title a {
    display: block;
  }
}
@media only screen and (max-width: 1024px) {
  .cmsmasters_responsive_width {
    width: 1024px;
  }
  .sidebar_layout_1212 .widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_tab li .cmsmasters_lpr_tabs_img,
  .sidebar_layout_131313 .widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_tab li .cmsmasters_lpr_tabs_img {
    min-width: 100%;
    float: none;
    margin: 0 0 20px;
  }
  .headline_outer {
    background-attachment: scroll;
  }
  body #page:not(.cmsmasters_content_composer) .middle_content,
  body #page:not(.cmsmasters_content_composer) .headline_outer .headline_content {
    padding-left: 17%;
    padding-right: 17%;
  }
  #page .cmsmasters_post_default.content_side .cmsmasters_post_img_wrap,
  .content_wrap.fullwidth .cmsmasters_post_default .cmsmasters_post_img_wrap,
  .content_wrap.fullwidth + .cmsmasters_column.one_first .cmsmasters_post_default .cmsmasters_post_img_wrap {
    width: 100%;
    float: none;
  }
  #page .cmsmasters_post_default.content_side .cmsmasters_post_img_wrap + .cmsmasters_post_cont,
  .content_wrap.fullwidth .cmsmasters_post_default .cmsmasters_post_img_wrap + .cmsmasters_post_cont,
  .content_wrap.fullwidth + .cmsmasters_column.one_first .cmsmasters_post_default .cmsmasters_post_img_wrap + .cmsmasters_post_cont {
    width: 100%;
    padding: 20px 0 0;
    overflow: hidden;
  }
  .header_top .cmsmasters_roll_titles_wrap {
    width: 100%;
  }
  .header_top .cmsmasters_roll_titles_wrap .cmsmasters_slider_post_title {
    text-align: center;
  }
  .gallery.gallery-columns-9 .gallery-item,
  .gallery.gallery-columns-6 .gallery-item {
    width: 30.53%;
  }
  .gallery.gallery-columns-9 .gallery-item:nth-child(6n + 1),
  .gallery.gallery-columns-6 .gallery-item:nth-child(6n + 1),
  .gallery.gallery-columns-9 .gallery-item:nth-child(9n + 1),
  .gallery.gallery-columns-6 .gallery-item:nth-child(9n + 1) {
    clear: none;
  }
  .gallery.gallery-columns-9 .gallery-item:nth-child(3n + 1),
  .gallery.gallery-columns-6 .gallery-item:nth-child(3n + 1) {
    clear: both;
  }
  .gallery.gallery-columns-8 .gallery-item {
    width: 22.2%;
  }
  .gallery.gallery-columns-8 .gallery-item:nth-child(8n + 1) {
    clear: none;
  }
  .gallery.gallery-columns-8 .gallery-item:nth-child(4n + 1) {
    clear: both;
  }
  .gallery.gallery-columns-7 .gallery-item,
  .gallery.gallery-columns-5 .gallery-item,
  .gallery.gallery-columns-4 .gallery-item {
    width: 47.2%;
  }
  .gallery.gallery-columns-7 .gallery-item:nth-child(4n + 1),
  .gallery.gallery-columns-5 .gallery-item:nth-child(4n + 1),
  .gallery.gallery-columns-4 .gallery-item:nth-child(4n + 1),
  .gallery.gallery-columns-7 .gallery-item:nth-child(5n + 1),
  .gallery.gallery-columns-5 .gallery-item:nth-child(5n + 1),
  .gallery.gallery-columns-4 .gallery-item:nth-child(5n + 1),
  .gallery.gallery-columns-7 .gallery-item:nth-child(7n + 1),
  .gallery.gallery-columns-5 .gallery-item:nth-child(7n + 1),
  .gallery.gallery-columns-4 .gallery-item:nth-child(7n + 1) {
    clear: none;
  }
  .gallery.gallery-columns-7 .gallery-item:nth-child(2n + 1),
  .gallery.gallery-columns-5 .gallery-item:nth-child(2n + 1),
  .gallery.gallery-columns-4 .gallery-item:nth-child(2n + 1) {
    clear: both;
  }
  .cmsmasters_profile.horizontal .cmsmasters_profile_horizontal.one_fourth:nth-child(2n+1) {
    clear: left;
  }
  #page.cmsmasters_boxed {
    width: 100%;
  }
  #page.cmsmasters_boxed #header,
  #page.cmsmasters_boxed #footer {
    width: 100%;
  }
  #page.fixed_header #header {
    position: relative;
  }
  #page.fixed_header #middle,
  #page.fixed_header.enable_header_top #middle,
  #page.fixed_header.enable_header_bottom #middle,
  #page.fixed_header.enable_header_top.enable_header_bottom #middle {
    padding-top: 0;
  }
  #header {
    position: relative;
    overflow: hidden;
  }
  #header nav {
    height: auto;
  }
  #header nav div,
  #header nav ul,
  #header nav li,
  #header nav a,
  #header nav span {
    background-image: none !important;
    display: block;
    width: auto;
    height: auto;
    float: none;
    margin: 0;
    padding: 0;
    visibility: visible;
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    text-align: left;
    border-width: 0;
    border-style: solid;
    clear: both;
    overflow: hidden;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    opacity: 1;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  #header nav div:before,
  #header nav ul:before,
  #header nav li:before,
  #header nav a:before,
  #header nav div:after,
  #header nav ul:after,
  #header nav li:after,
  #header nav a:after {
    content: none;
  }
  #header nav .menu-item-mega-description-container {
    padding: 10px 15px;
  }
  #header nav li {
    border-top-width: 1px;
    border-top-style: solid;
  }
  .header_mid .logo_wrap {
    max-width: 380px;
  }
  .header_mid .slogan_wrap .slogan_wrap_inner,
  .header_mid .social_wrap .social_wrap_inner {
    padding: 0;
  }
  .header_mid .slogan_wrap .slogan_wrap_text {
    height: 100%;
  }
  .enable_header_centered .header_mid .header_mid_inner_cont > div {
    float: none;
    padding-left: 0;
    padding-right: 0;
  }
  .post-password-form,
  .header_top_inner,
  .header_mid_inner,
  .header_bot_inner,
  .content_wrap,
  .headline_inner,
  .bottom_outer,
  .footer_inner,
  .cmsmasters_row_inner,
  .cmsmasters_row_title_wrap {
    width: 100%;
  }
  .cmsmasters_column {
    margin-bottom: 20px;
  }
  .cmsmasters_row_columns_behavior .cmsmasters_column {
    margin-bottom: 0;
  }
  .cmsmasters_column.one_first,
  .cmsmasters_column:last-child {
    margin-bottom: 0;
  }
  .one_fifth,
  .one_fourth,
  .three_fourth {
    width: 47.2%;
  }
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_fifth,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_fourth,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .three_fourth {
    width: 50%;
  }
  .cmsmasters_14141414 > .cmsmasters_column:nth-child(2n + 1) {
    clear: left;
  }
  .cmsmasters_121414 .cmsmasters_column.one_half,
  .cmsmasters_141412 .cmsmasters_column.one_half {
    width: 97.2%;
    float: none;
    clear: both;
  }
  .cmsmasters_row_no_margin > .cmsmasters_121414 > .cmsmasters_column.one_half,
  .cmsmasters_row_no_margin > .cmsmasters_141412 > .cmsmasters_column.one_half {
    width: 100%;
  }
  .cmsmasters_141214 .cmsmasters_column.one_fourth,
  .cmsmasters_141214 .cmsmasters_column.one_half {
    width: 30.53%;
  }
  .cmsmasters_row_no_margin > .cmsmasters_141214 > .cmsmasters_column.one_fourth,
  .cmsmasters_row_no_margin > .cmsmasters_141214 > .cmsmasters_column.one_half {
    width: 33.33%;
  }
  .sidebar_layout_14141414 aside {
    width: 47.2%;
  }
  .sidebar_layout_14141414 aside:nth-child(2n+1) {
    clear: left;
  }
  .sidebar_layout_141412 > aside:first-child,
  .sidebar_layout_141412 > aside:first-child + aside,
  .sidebar_layout_141412 > div.cl + aside,
  .sidebar_layout_141412 > div.cl + aside + aside,
  .sidebar_layout_141412 > div.cmsmasters_widget_divider + aside,
  .sidebar_layout_141412 > div.cmsmasters_widget_divider + aside + aside {
    width: 47.2%;
  }
  .sidebar_layout_141412 > aside:first-child + aside + aside,
  .sidebar_layout_141412 > div.cl + aside + aside + aside,
  .sidebar_layout_141412 > div.cmsmasters_widget_divider + aside + aside + aside {
    width: 97.2%;
    float: none;
    clear: both;
  }
  .sidebar_layout_141214 > aside:first-child,
  .sidebar_layout_141214 > aside:first-child + aside + aside,
  .sidebar_layout_141214 > div.cl + aside,
  .sidebar_layout_141214 > div.cl + aside + aside + aside,
  .sidebar_layout_141214 > div.cmsmasters_widget_divider + aside,
  .sidebar_layout_141214 > div.cmsmasters_widget_divider + aside + aside + aside {
    width: 30.53%;
  }
  .sidebar_layout_141214 > aside:first-child + aside,
  .sidebar_layout_141214 > div.cl + aside + aside,
  .sidebar_layout_141214 > div.cmsmasters_widget_divider + aside + aside {
    width: 30.53%;
  }
  .sidebar_layout_121414 > aside:first-child,
  .sidebar_layout_121414 > div.cl + aside,
  .sidebar_layout_121414 > div.cmsmasters_widget_divider + aside {
    width: 97.2%;
    float: none;
    clear: both;
  }
  .sidebar_layout_121414 > aside:first-child + aside,
  .sidebar_layout_121414 > aside:first-child + aside + aside,
  .sidebar_layout_121414 > div.cl + aside + aside,
  .sidebar_layout_121414 > div.cl + aside + aside + aside,
  .sidebar_layout_121414 > div.cmsmasters_widget_divider + aside + aside,
  .sidebar_layout_121414 > div.cmsmasters_widget_divider + aside + aside + aside {
    width: 47.2%;
  }
  .sidebar_layout_3414 > aside:first-child,
  .sidebar_layout_3414 > div.cl + aside,
  .sidebar_layout_3414 > div.cmsmasters_widget_divider + aside {
    width: 47.2%;
  }
  .sidebar_layout_3414 > aside:first-child + aside,
  .sidebar_layout_3414 > div.cl + aside + aside,
  .sidebar_layout_3414 > div.cmsmasters_widget_divider + aside + aside {
    width: 47.2%;
  }
  .sidebar_layout_1434 > aside:first-child,
  .sidebar_layout_1434 > div.cl + aside,
  .sidebar_layout_1434 > div.cmsmasters_widget_divider + aside {
    width: 47.2%;
  }
  .sidebar_layout_1434 > aside:first-child + aside,
  .sidebar_layout_1434 > div.cl + aside + aside,
  .sidebar_layout_1434 > div.cmsmasters_widget_divider + aside + aside {
    width: 47.2%;
  }
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_fifth,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_fifth,
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_fourth,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_fourth {
    width: 50%;
  }
  .cmsmasters_pricing_table.pricing_four .cmsmasters_pricing_item {
    width: 50%;
  }
  .cmsmasters_pricing_table.pricing_four .cmsmasters_pricing_item:nth-child(2n + 1) {
    clear: both;
  }
  .header_top {
    overflow: hidden;
    clear: both;
  }
  .header_top .header_top_but {
    display: block;
  }
  .header_top .header_top_outer {
    height: auto;
    overflow: hidden;
  }
  .header_top .header_top_inner {
    height: auto;
    overflow: hidden;
  }
  .header_top .header_top_inner_cont {
    padding: 20px 0;
    height: 100%;
  }
  .header_top .header_top_right {
    float: none;
    padding: 0px 0;
  }
  .header_top .header_top_right + .header_top_left {
    padding: 15px 0 0;
  }
  .header_top .social_wrap .social_wrap_inner {
    padding: 0 0;
  }
  .header_top .social_wrap li {
    margin-right: 18px;
    margin-left: 0;
  }
  .header_top .social_wrap li:last-child {
    margin: 0;
  }
  .header_top .social_wrap li a {
    font-size: 18px;
    line-height: 18px;
    width: 18px;
    height: 18px;
  }
  .header_top .social_wrap .social_wrap_inner {
    text-align: center;
  }
  .header_top .top_nav_wrap nav {
    display: none;
  }
  .header_top .responsive_top_nav {
    display: block;
    margin: 0 auto;
  }
  .header_top .header_top_left {
    padding: 15px 0;
    float: none;
  }
  .header_top .header_top_left:after {
    content: none;
  }
  .header_top .meta_wrap {
    display: block;
    text-align: center;
  }
  #header .top_line_nav {
    padding: 0;
  }
  #header .top_line_nav .nav_item_wrap {
    padding: 4px 0;
    text-align: center;
  }
  #header .top_line_nav li li .nav_item_wrap {
    padding-top: 4px;
    padding-bottom: 4px;
  }
  #header .header_mid {
    overflow: hidden;
    clear: both;
  }
  #header .header_mid .header_mid_outer {
    overflow: hidden;
  }
  #header .header_mid .header_mid_inner_cont {
    padding: 10px 0;
  }
  #header .header_mid .resp_mid_nav_wrap {
    display: block;
  }
  #header .header_mid .resp_mid_nav_wrap .resp_mid_nav {
    font-size: 18px;
    line-height: 18px;
    width: 42px;
    height: 42px;
  }
  #header .header_mid .resp_mid_nav_wrap .resp_mid_nav.active {
    font-size: 16px;
    line-height: 16px;
  }
  #header .header_mid .mid_nav_wrap {
    display: block;
    float: none;
    margin: 0 -20px;
    visibility: visible;
    height: auto;
    max-height: none;
    overflow: hidden;
    clear: both;
    opacity: 1;
  }
  #header .header_mid .mid_nav_wrap nav {
    display: none;
  }
  #header .header_mid .social_wrap li a {
    font-size: 16px;
    line-height: 16px;
  }
  .enable_header_centered #header .header_mid .social_wrap_inner {
    text-align: center;
  }
  #header .header_bot {
    overflow: hidden;
    clear: both;
    border-width: 0;
    border-style: solid;
  }
  #header .header_bot .header_bot_outer {
    overflow: hidden;
  }
  #header .header_bot .header_bot_inner_cont {
    padding: 0;
    text-align: center;
  }
  #header .header_bot .header_bot_inner_cont > div {
    float: none;
  }
  #header .header_bot .resp_bot_nav_wrap {
    display: inline-block;
    vertical-align: middle;
    padding: 0 10px;
    margin: 0;
  }
  #header .header_bot .resp_bot_nav_wrap .resp_bot_nav_outer {
    text-align: center;
  }
  #header .header_bot .resp_bot_nav_wrap .resp_bot_nav {
    font-size: 18px;
    line-height: 18px;
    width: 42px;
    height: 42px;
  }
  #header .header_bot .resp_bot_nav_wrap .resp_bot_nav.active {
    font-size: 16px;
    line-height: 16px;
  }
  #header .header_bot .bot_nav_wrap {
    display: block;
    float: none;
    margin: 0 -20px -1px;
    visibility: visible;
    height: auto;
    max-height: none;
    overflow: hidden;
    clear: both;
    opacity: 1;
  }
  #header .header_bot .bot_nav_wrap nav {
    display: none;
  }
  #header .header_bot .bot_search_but_wrap {
    display: inline-block;
    vertical-align: middle;
    padding: 0 10px;
    margin: 0;
    text-align: center;
  }
  #header .header_bot .bot_search_but_wrap .cmsmasters_header_search_but {
    font-size: 20px;
    line-height: 20px;
  }
  #header .navigation {
    padding: 0px 0 0px;
  }
  #header .navigation a {
    padding: 12px 20px 12px 30px;
  }
  #header .navigation li li > a {
    padding-left: 50px;
    padding-right: 20px;
  }
  #header .navigation li li li > a {
    padding-left: 70px;
    padding-right: 20px;
  }
  #header .navigation .nav_item_wrap {
    display: inline-block;
    vertical-align: middle;
  }
  #header .navigation .nav_title {
    display: inline-block;
    vertical-align: bottom;
  }
  #header .navigation .nav_tag {
    display: inline-block;
    vertical-align: middle;
    padding: 0 5px;
    margin: 0 0 0 10px;
  }
  #header .navigation .nav_subtitle {
    display: block;
  }
  #header .navigation .cmsmasters_resp_nav_toggle {
    font-size: 20px;
    line-height: 1em;
    display: block;
    width: 1em;
    height: 1em;
    margin: 3px 0 0 15px;
    cursor: pointer;
    float: right;
  }
  .cmsmasters_post_default.has-post-thumbnail .cmsmasters_post_img_wrap + .cmsmasters_post_cont .cmsmasters_post_info {
    margin-top: -5px;
  }
  .error .error_inner {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .one_sixth_md {
    width: 13.87%;
  }
  .one_fifth_md {
    width: 17.2%;
  }
  .one_fourth_md {
    width: 22.2%;
  }
  .one_third_md {
    width: 30.53%;
  }
  .one_half_md {
    width: 47.2%;
  }
  .two_third_md {
    width: 63.87%;
  }
  .three_fourth_md {
    width: 72.2%;
  }
  .one_first_md {
    width: 97.2%;
  }
  .width_475_md {
    width: 475px;
  }
  .width_500_md {
    width: 500px;
  }
  .width_600_md {
    width: 600px;
  }
}
@media only screen and (max-width: 950px) {
  .cmsmasters_responsive_width {
    width: 950px;
  }
  body #page:not(.cmsmasters_content_composer) .middle_content,
  body #page:not(.cmsmasters_content_composer) .headline_outer .headline_content {
    padding-left: 15%;
    padding-right: 15%;
  }
  #page .middle_content .opened-article.blog {
    padding-left: 0;
    padding-right: 0;
  }
  .widget_mailpoet_form {
    text-align: center;
  }
  .widget_mailpoet_form .mailpoet_submit {
    max-width: 320px !important;
    display: block !important;
    margin: auto !important;
  }
  .widget_mailpoet_form .wysija-input {
    max-width: 520px !important;
    display: block !important;
    margin: auto !important;
  }
  .widget_mailpoet_form br + br {
    display: none;
  }
  .content_wrap.l_sidebar .cmsmasters_row,
  .content_wrap.r_sidebar .cmsmasters_row {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .content,
  #page .sidebar {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  #page .sidebar {
    float: none;
  }
  .cmsmasters_open_project .project_content.with_sidebar {
    width: 100%;
    float: none;
  }
  .cmsmasters_open_project .project_sidebar {
    width: 100%;
    float: none;
    padding-left: 0;
    padding-right: 0;
  }
  .cmsmasters_open_profile .profile_content.with_sidebar {
    width: 100%;
    float: none;
  }
  .cmsmasters_open_profile .profile_sidebar {
    width: 100%;
    float: none;
    padding-left: 0;
    padding-right: 0;
  }
  .cmsmasters_profile_vertical .profile_image_wrap {
    width: 35%;
  }
  .cmsmasters_profile_vertical .profile_image_wrap + .profile_inner {
    width: 65%;
  }
  .cmsmasters_quotes_grid.quote_four .cmsmasters_quote {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .cmsmasters_responsive_width {
    width: 768px;
  }
  .sidebar_layout_1212 .widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_tab li .cmsmasters_lpr_tabs_img,
  .sidebar_layout_131313 .widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_tab li .cmsmasters_lpr_tabs_img {
    min-width: 120px;
    margin: 0 20px 0 0;
    float: left;
  }
  body #page:not(.cmsmasters_content_composer) .middle_content,
  body #page:not(.cmsmasters_content_composer) .headline_outer .headline_content {
    padding-left: 5%;
    padding-right: 5%;
  }
  .widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_tab li {
    width: 49%;
    min-width: 260px;
  }
  .widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_tab li:nth-child(2n +1) {
    clear: left;
  }
  #page .headline_outer .headline_inner {
    padding: 50px 30px 20px;
  }
  #page .headline_outer .headline_inner .cmsmasters_breadcrumbs {
    padding: 0 0 5px;
    text-align: center;
  }
  #page .headline_outer .headline_inner .cmsmasters_breadcrumbs .cmsmasters_breadcrumbs_inner {
    text-align: center;
  }
  #page .headline_outer .headline_inner .headline_aligner {
    display: none;
  }
  #page .headline_outer .headline_inner .headline_content {
    width: 100%;
  }
  #page .headline_outer .headline_inner .headline_text {
    display: block;
    text-align: center;
  }
  #page .headline_outer .headline_inner .headline_text:empty {
    padding: 0px 0px;
  }
  #page .headline_outer .headline_inner .headline_icon:before {
    font-size: 40px;
  }
  #page .headline_outer .headline_inner.align_center .headline_icon {
    padding-top: 60px;
  }
  .cmsmasters_project_puzzle .project_inner {
    padding: 15px 15px 10px;
  }
  .comment-respond form .comment-form-author,
  .comment-respond form .comment-form-email {
    width: 100%;
  }
  .cmsmasters_quotes_slider .cmsmasters_quote_content {
    padding-left: 0;
    padding-right: 0;
  }
  #page .cmsmasters_tabs {
    display: block;
  }
  #page .cmsmasters_tabs.tabs_pos_left .cmsmasters_tabs_list_item {
    text-align: left;
  }
  #page .cmsmasters_tabs.tabs_pos_left .cmsmasters_tabs_list_item a {
    padding-left: 0;
  }
  #page .cmsmasters_tabs.tabs_pos_left .cmsmasters_tabs_list_item a::before {
    margin-left: 0;
  }
  #page .cmsmasters_tabs.tabs_pos_right .cmsmasters_tabs_list_item {
    text-align: right;
  }
  #page .cmsmasters_tabs.tabs_pos_right .cmsmasters_tabs_list_item a {
    padding-right: 0;
  }
  #page .cmsmasters_tabs.tabs_pos_right .cmsmasters_tabs_list_item a::before {
    margin-right: 0;
  }
  #page .cmsmasters_tabs .cmsmasters_tab_inner {
    padding: 0;
  }
  #page .cmsmasters_tabs .cmsmasters_tabs_list > li {
    width: auto;
    margin: 0 10px 10px 0;
  }
  #page .cmsmasters_tabs .cmsmasters_tabs_list_item {
    margin-bottom: 0;
  }
  #page .cmsmasters_tabs .cmsmasters_tabs_list_item:last-child a {
    border: 0;
  }
  #page .cmsmasters_tabs .cmsmasters_tabs_list_item a {
    text-align: center;
  }
  .apsc-icons-wrapper.apsc-theme-1 {
    margin-right: -5px;
  }
  #page .apsc-icons-wrapper.apsc-theme-1 .apsc-each-profile {
    max-width: 150px;
    width: 50%;
    padding-right: 5px;
  }
  #page #main .cmsmasters_post_default .cmsmasters_post_img_wrap {
    width: 100%;
    float: none;
  }
  #page #main .cmsmasters_post_default .cmsmasters_post_img_wrap + .cmsmasters_post_cont {
    width: 100%;
    float: none;
    padding: 20px 0 0 0;
  }
  .cmsmasters_open_post .cmsmasters_post_content_wrap .share_posts {
    width: 100%;
    margin: 0 0 25px;
    float: none;
  }
  .cmsmasters_open_post .cmsmasters_post_content_wrap .share_posts + .cmsmasters_post_content {
    padding-left: 0;
  }
  .blog.standard {
    margin-left: 0;
    margin-right: 0;
  }
  .gallery.gallery-columns-8 .gallery-item {
    width: 47.2%;
  }
  .gallery.gallery-columns-8 .gallery-item:nth-child(4n + 1) {
    clear: none;
  }
  .gallery.gallery-columns-8 .gallery-item:nth-child(2n + 1) {
    clear: both;
  }
  .one_first,
  .one_half,
  .one_third,
  .two_third,
  .one_fourth,
  .one_fifth,
  .three_fourth,
  .cmsmasters_121414 .cmsmasters_column.one_half,
  .cmsmasters_141412 .cmsmasters_column.one_half,
  .cmsmasters_141214 .cmsmasters_column.one_fourth,
  .cmsmasters_141214 .cmsmasters_column.one_half {
    width: 97.2%;
    float: none;
    clear: both;
  }
  .cmsmasters_row_columns_behavior .one_first,
  .cmsmasters_row_columns_behavior .one_half,
  .cmsmasters_row_columns_behavior .one_third,
  .cmsmasters_row_columns_behavior .two_third,
  .cmsmasters_row_columns_behavior .one_fourth,
  .cmsmasters_row_columns_behavior .one_fifth,
  .cmsmasters_row_columns_behavior .three_fourth,
  .cmsmasters_row_columns_behavior .cmsmasters_121414 .cmsmasters_column.one_half,
  .cmsmasters_row_columns_behavior .cmsmasters_141412 .cmsmasters_column.one_half,
  .cmsmasters_row_columns_behavior .cmsmasters_141214 .cmsmasters_column.one_fourth,
  .cmsmasters_row_columns_behavior .cmsmasters_141214 .cmsmasters_column.one_half {
    display: block;
  }
  .cmsmasters_row_columns_behavior .one_first .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .one_half .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .one_third .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .two_third .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .one_fourth .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .one_fifth .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .three_fourth .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .cmsmasters_121414 .cmsmasters_column.one_half .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .cmsmasters_141412 .cmsmasters_column.one_half .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .cmsmasters_141214 .cmsmasters_column.one_fourth .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .cmsmasters_141214 .cmsmasters_column.one_half .cmsmasters_column_inner {
    display: block;
  }
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_first,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_half,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_third,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .two_third,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_fourth,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_fifth,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .three_fourth {
    width: 100%;
  }
  .cmsmasters_row_no_margin > .cmsmasters_121414 > .cmsmasters_column.one_half,
  .cmsmasters_row_no_margin > .cmsmasters_141412 > .cmsmasters_column.one_half,
  .cmsmasters_row_no_margin > .cmsmasters_141214 > .cmsmasters_column.one_fourth,
  .cmsmasters_row_no_margin > .cmsmasters_141214 > .cmsmasters_column.one_half {
    width: 100%;
  }
  .cmsmasters_row_margin.cmsmasters_row_columns_behavior {
    display: block;
  }
  .cmsmasters_row_margin.cmsmasters_row_columns_behavior .cmsmasters_featured_block .featured_block_text:empty {
    padding-bottom: 100%;
  }
  .cmsmasters_row_no_margin > .cmsmasters_row_margin {
    display: block;
  }
  .sidebar_layout_14141414 aside,
  .sidebar_layout_141412 aside,
  .sidebar_layout_141214 aside,
  .sidebar_layout_121414 aside,
  .sidebar_layout_131313 aside,
  .sidebar_layout_3414 aside,
  .sidebar_layout_1434 aside,
  .sidebar_layout_2313 aside,
  .sidebar_layout_1323 aside,
  .sidebar_layout_1212 aside {
    width: 97.2% !important;
  }
  .cmsmasters_featured_block .featured_block_inner {
    width: 100% !important;
  }
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_third,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_third {
    width: 50%;
  }
  .cmsmasters_pricing_table.pricing_three .cmsmasters_pricing_item {
    width: 100%;
    float: none;
    clear: both;
  }
  .cmsmasters_clients_grid.clients_five .cmsmasters_clients_item,
  .cmsmasters_clients_grid.clients_four .cmsmasters_clients_item,
  .cmsmasters_clients_grid.clients_three .cmsmasters_clients_item,
  .cmsmasters_clients_grid.clients_two .cmsmasters_clients_item {
    width: 100%;
    float: none;
    clear: both;
  }
  #header .header_mid .header_mid_inner_cont {
    padding-top: 20px;
    text-align: center;
  }
  #header .header_mid .logo_wrap {
    float: none;
    margin: 0 auto 20px;
    width: 270px;
    max-width: 100%;
    text-align: center;
  }
  #header .header_mid .logo_wrap:after {
    content: none;
  }
  #header .header_mid .logo_wrap .logo img {
    position: static;
    max-width: 100%;
  }
  #header .header_mid .resp_mid_nav_wrap {
    display: inline-block;
    vertical-align: middle;
    float: none;
    padding: 0 10px;
    margin: 0;
  }
  #header .header_mid .resp_mid_nav_wrap .resp_mid_nav_outer {
    text-align: center;
  }
  #header .header_mid .resp_mid_nav_wrap .resp_mid_nav_outer:after {
    content: none;
  }
  #header .header_mid .mid_search_but_wrap {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    padding: 0 10px;
    float: none;
    text-align: center;
  }
  #header .header_mid .cmsmasters_header_search_but {
    font-size: 19px;
    line-height: 20px;
  }
  #header .header_mid .social_wrap {
    margin: 0 0 10px;
  }
  .enable_header_centered #header .header_mid .social_wrap {
    margin-top: 0;
  }
  #header .header_mid .social_wrap .social_wrap_inner {
    text-align: center;
  }
  #header .header_mid .slogan_wrap {
    width: 100%;
    max-width: none;
    height: auto;
    max-height: none;
  }
  #header .header_mid .slogan_wrap_text {
    width: 100%;
    text-align: center;
  }
  #header .header_mid .slogan_wrap img {
    display: inline-block;
    width: auto !important;
    margin: 0 auto;
  }
  #header .header_mid .mid_nav_wrap {
    height: auto;
    float: none;
    margin: 0 -20px;
    visibility: visible;
    overflow: hidden;
    clear: both;
    opacity: 1;
  }
  #header .header_mid .mid_nav_wrap nav {
    display: none;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field {
    height: 70px;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field button {
    font-size: 26px;
    line-height: 26px;
    width: 85px;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field button:before {
    left: auto;
    right: 0;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field input:not([type=button]):not([type=checkbox]):not([type=file]):not([type=hidden]):not([type=image]):not([type=radio]):not([type=reset]):not([type=submit]):not([type=color]):not([type=range]) {
    padding-right: 0px;
    font-size: 30px;
    line-height: 40px;
  }
  .cmsmasters_footer_default .footer_nav {
    display: block;
    text-align: center;
  }
  .cmsmasters_footer_default .footer_nav > li {
    display: inline-block;
    float: none;
  }
  .cmsmasters_footer_small .footer_nav_wrap {
    padding: 0 0 10px;
    float: none;
  }
  .cmsmasters_footer_small .footer_nav_wrap nav > div {
    text-align: center;
  }
  .cmsmasters_footer_small .footer_nav_wrap nav > div:after {
    content: none;
  }
  .cmsmasters_footer_small .footer_nav {
    display: block;
    text-align: center;
  }
  .cmsmasters_footer_small .footer_nav > li {
    display: inline-block;
    float: none;
  }
  .cmsmasters_footer_small .social_wrap {
    padding: 0 0 10px;
    float: none;
  }
  .cmsmasters_footer_small .social_wrap .social_wrap_inner {
    text-align: center;
  }
  .cmsmasters_footer_small .social_wrap .social_wrap_inner:after {
    content: none;
  }
  .cmsmasters_footer_small .footer_custom_html_wrap {
    padding: 0 0 10px;
    float: none;
  }
  .cmsmasters_footer_small .footer_custom_html_wrap .footer_custom_html {
    text-align: center;
  }
  .cmsmasters_footer_small .footer_copyright {
    padding: 0;
    text-align: center;
  }
  .blog.timeline {
    height: auto !important;
  }
  .blog.timeline:before {
    content: none;
  }
  .blog.timeline .post {
    width: 100%;
    padding-top: 40px;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    -o-transform: none !important;
    transform: none !important;
  }
  .blog.timeline .post:first-child {
    padding-top: 0;
  }
  .blog.timeline .post:before {
    content: none;
  }
  .blog.timeline .post.cmsmasters_timeline_left .cmsmasters_timeline_margin,
  .blog.timeline .post.cmsmasters_timeline_right .cmsmasters_timeline_margin {
    margin-left: 0;
    margin-right: 0;
  }
  .blog.timeline .post .cmsmasters_post_info {
    position: relative;
    left: auto;
    right: auto;
    margin-bottom: 20px;
  }
  .blog.timeline .post .cmsmasters_post_info .cmsmasters_post_date {
    margin: 0 auto;
  }
  .blog.timeline .post .cmsmasters_post_category {
    text-align: center;
  }
  .blog.timeline .post .cmsmasters_post_category > a {
    float: none;
    display: inline-block;
    margin: 0 1px -6px 0;
  }
  .blog.timeline .post .cmsmasters_post_cont,
  .blog.timeline .post .cmsmasters_post_content {
    text-align: center;
  }
  .cmsmasters_twitter_wrap .twr_icon {
    position: relative;
    margin: 0 0 20px;
  }
  .cmsmasters_twitter_wrap .cmsmasters_twitter_item {
    padding: 20px 20px 0;
    text-align: center;
  }
  .cmsmasters_twitter_wrap .cmsmasters_twitter_item .published {
    position: relative;
    left: auto;
    right: auto;
    width: 100%;
  }
  .cmsmasters_twitter_wrap .owl-buttons {
    position: relative;
    margin: 40px auto 0 !important;
  }
  .cmsmasters_quotes_grid.quote_three .cmsmasters_quote {
    width: 100%;
  }
  .cmsmasters_sitemap_wrap .cmsmasters_sitemap > li > ul > li,
  .cmsmasters_sitemap_wrap .cmsmasters_sitemap_category > li,
  .cmsmasters_sitemap_wrap .cmsmasters_sitemap_archive > li {
    width: 100%;
  }
}
@media only screen and (max-width: 600px) {
  .cmsmasters_responsive_width {
    width: 600px;
  }
  body #page:not(.cmsmasters_content_composer) .middle_content,
  body #page:not(.cmsmasters_content_composer) .headline_outer .headline_content {
    padding-left: 0;
    padding-right: 0;
  }
  #page .cmsmasters_tabs .cmsmasters_tabs_list,
  #page .cmsmasters_tabs .cmsmasters_tabs_wrap {
    display: block;
    width: 100%;
    margin: 0;
  }
  #page .cmsmasters_tabs.tabs_mode_tour {
    display: table;
  }
  #page .cmsmasters_tabs.tabs_mode_tour .cmsmasters_tab_inner {
    padding: 0;
  }
  #page .cmsmasters_tabs.tabs_pos_left .cmsmasters_tabs_list_item {
    text-align: left;
  }
  #page .cmsmasters_tabs.tabs_pos_right .cmsmasters_tabs_list_item {
    text-align: right;
  }
  #page .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list .cmsmasters_tabs_list_item {
    display: block;
    width: 100%;
    margin: 0 0 10px;
  }
  #page .cmsmasters_tabs .cmsmasters_tabs_list {
    margin: 0 0 20px;
  }
  .cmsmasters_project_puzzle .project_inner {
    padding: 15px 15px 10px;
  }
  html.cmsmasters_html {
    margin-top: 0 !important;
  }
  html.cmsmasters_html body.admin-bar {
    padding-top: 46px;
  }
  html.cmsmasters_html .cmsmasters_header_search_form {
    top: 0;
    bottom: 0;
  }
  html.cmsmasters_html .cmsmasters_header_search_form .cmsmasters_header_search_form_close {
    right: 20px;
    left: auto;
    top: 70px;
  }
  .cmsmasters_post_default .cmsmasters_video_preview::after {
    top: 15px;
    right: 15px;
    left: auto;
    bottom: auto;
    font-size: 40px;
  }
  .cmsmasters_post_default .cmsmasters_video_preview .cmsmasters_post_category {
    left: 15px;
    top: 15px;
  }
  .cmsmasters_post_default .cmsmasters_video_preview .cmsmasters_video_preview_bottom {
    padding: 10px 20px 0;
  }
  .cmsmasters_post_default.has-post-thumbnail .cmsmasters_post_img_wrap {
    width: 100%;
    float: none;
  }
  .cmsmasters_post_default.has-post-thumbnail .cmsmasters_post_img_wrap + .cmsmasters_post_cont {
    padding: 32px 0 0;
  }
  .cmsmasters_post_default.has-post-thumbnail .cmsmasters_post_img_wrap + .cmsmasters_post_cont .cmsmasters_post_info {
    margin-top: 0;
  }
  .cmsmasters_profile_vertical .profile_image_wrap {
    display: block;
    width: 60%;
    margin: 0 auto 20px;
    padding: 0;
    float: none;
  }
  .cmsmasters_profile_vertical .profile_image_wrap .cmsmasters_profile_subtitle {
    right: 0;
    left: auto;
  }
  .cmsmasters_profile_vertical .profile_social_icons {
    float: none;
    display: block;
    padding: 0;
    margin: 0 0 20px;
  }
  .cmsmasters_profile_vertical .profile_social_icons_list,
  .cmsmasters_profile_vertical .profile_inner,
  .cmsmasters_profile_vertical .cmsmasters_profile_content {
    text-align: center;
  }
  .cmsmasters_profile_vertical .profile_image_wrap + .profile_inner {
    width: 100%;
  }
  .cmsmasters_quotes_grid.quote_two .cmsmasters_quote {
    width: 100%;
  }
  .commentlist .children {
    padding: 0 0 0 15px;
  }
}
@media only screen and (max-width: 540px) {
  .cmsmasters_responsive_width {
    width: 540px;
  }
  .widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_tab li {
    width: 100%;
  }
  .cmsmasters_wrap_pagination ul {
    font-size: 0;
  }
  .cmsmasters_wrap_pagination ul::before {
    display: none;
  }
  .cmsmasters_wrap_pagination ul > li {
    margin-bottom: 5px;
  }
  #page .gallery .gallery-item {
    width: 97.2%;
    float: none;
    clear: both;
  }
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_fifth,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_fifth,
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_fourth,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_fourth,
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_third,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_third,
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_half,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_half {
    width: 100%;
  }
  .cmsmasters_pricing_table.pricing_four .cmsmasters_pricing_item,
  .cmsmasters_pricing_table.pricing_three .cmsmasters_pricing_item,
  .cmsmasters_pricing_table.pricing_two .cmsmasters_pricing_item,
  .cmsmasters_pricing_table.pricing_one .cmsmasters_pricing_item {
    width: 100%;
    float: none;
  }
  .cmsmasters_footer_default .social_wrap li {
    margin-right: 15px;
    margin-left: 0;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field {
    height: 50px;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field button {
    font-size: 22px;
    line-height: 22px;
    width: 80px;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field input:not([type=button]):not([type=checkbox]):not([type=file]):not([type=hidden]):not([type=image]):not([type=radio]):not([type=reset]):not([type=submit]):not([type=color]):not([type=range]) {
    padding-right: 0px;
    font-size: 20px;
    line-height: 30px;
  }
  #page .cmsmasters_breadcrumbs {
    float: none;
    text-align: center;
  }
  #page .cmsmasters_breadcrumbs .cmsmasters_breadcrumbs_aligner {
    display: none;
  }
  #page .cmsmasters_breadcrumbs .cmsmasters_breadcrumbs_inner {
    padding-bottom: 0;
  }
  .cmsmasters_items_filter_wrap .cmsmasters_items_sort_block {
    float: none;
    margin: 0 0 30px;
  }
  .cmsmasters_archive_type .cmsmasters_archive_item_img_wrap {
    width: 100%;
    margin: 0 0 20px;
    float: none;
  }
  .cmsmasters_archive_type .cmsmasters_archive_item_cont_wrap {
    padding: 0;
  }
  .cmsmasters_open_post .cmsmasters_post_cont_info_top .cmsmasters_post_category {
    width: 100%;
    display: block;
    margin: 0 0 10px;
  }
  .cmsmasters_open_post .cmsmasters_post_cont_info_top .cmsmasters_post_cont_info_meta {
    float: none;
    margin: 0px 0 30px;
  }
  .cmsmasters_open_post .cmsmasters_post_cont_info_top .cmsmasters_post_category + .cmsmasters_post_cont_info_meta {
    margin: 0;
  }
  .cmsmasters_open_post .cmsmasters_post_cont_about_author,
  .cmsmasters_open_post .share_posts {
    float: none;
    width: 100%;
  }
  .about_author .about_author_avatar {
    float: none;
    margin: 0 0 20px;
    text-align: center;
  }
  .about_author .about_author_cont {
    text-align: center;
  }
  #page .post_nav > div {
    width: 100%;
    padding: 0;
    margin: 0 0 20px;
  }
  #page .post_nav > div:last-child {
    margin: 0;
  }
  .error .error_inner .error_title {
    font-size: 120px;
  }
  #page .cmsmasters_heading_wrap.cmsmasters_heading_align_left {
    clear: both;
  }
  #page .cmsmasters_heading_wrap.cmsmasters_heading_align_left .cmsmasters_heading {
    width: 100%;
    margin: 0;
  }
  #page .cmsmasters_heading_wrap.cmsmasters_heading_align_left .cmsmasters_heading + .cmsmasters_button {
    float: left;
  }
  #page .cmsmasters_heading_wrap.cmsmasters_heading_align_right {
    clear: both;
  }
  #page .cmsmasters_heading_wrap.cmsmasters_heading_align_right .cmsmasters_heading {
    width: 100%;
    margin: 0;
  }
  #page .cmsmasters_heading_wrap.cmsmasters_heading_align_right .cmsmasters_heading + .cmsmasters_button {
    float: right;
  }
  #page .cmsmasters_heading_wrap.cmsmasters_heading_align_center .cmsmasters_heading {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 400px) {
  .cmsmasters_items_filter_wrap .cmsmasters_items_filter_list {
    padding: 0;
  }
  .cmsmasters_items_filter_wrap .cmsmasters_items_filter_list li {
    width: 100%;
    float: none;
    margin: 0 0 5px;
  }
  .cmsmasters_items_filter_wrap .cmsmasters_items_filter_list li a {
    padding: 0 11px;
  }
}
@media only screen and (max-width: 320px) {
  .cmsmasters_responsive_width {
    width: 320px;
  }
  .post-password-form,
  .header_top_inner,
  .header_mid_inner,
  .header_bot_inner,
  .content_wrap,
  .headline_inner,
  .bottom_outer,
  .footer_inner,
  .cmsmasters_row_inner,
  .cmsmasters_row_title_wrap,
  .error_inner {
    width: 320px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFkYXB0aXZlLmxlc3MiLCJnZW5lcmFsLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBbUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlBO0VBQ0M7SUFDQyxhQUFBOztFQUlBLEtBQUM7SUFDQSxhQUFBOztFQURELEtBQUMsaUJBR0E7RUFIRCxLQUFDLGlCQUlBO0lBQ0MsYUFBQTs7RUFLSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0lBQ0MsYUFBQTs7RUFHRDtFQUNBO0VBQ0E7SUFDQyxhQUFBO0lBQ0EsZUFBQTs7O0FBSUY7RUFDQyxpQ0FBa0MsaUJBQWlCO0lBQ2xELGNBQUE7SUFDQSxXQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7O0VBR0QsUUFDQyxLQUNDO0lBQ0MsY0FBQTs7RUFLSCwwQkFDQztJQUNDLHVCQUFBOztFQU1BLEtBQU0sb0JBRlcsYUFDbEI7SUFFRSxXQUFBO0lBQ0Esa0JBQUE7O0VBS0g7SUFDQyxhQUFBOztFQUdEO0lBQ0MsWUFBQTs7RUFHRDtJQUNDLFlBQUE7O0VBR0Q7SUFDQyxhQUFBOztFQUdEO0lBQ0MsWUFBQTs7RUFHRDtJQUNDLGFBQUE7O0VBR0Q7SUFDQyxZQUFBOztFQUdEO0lBQ0MsWUFBQTs7O0FBS0Y7RUFDQyxXQUFZO0lBQ1gsZ0JBQUE7O0VBS0Msd0JBREQsMEJBQ0U7SUFDQSxTQUFBO0lBQ0EsV0FBQTtJQUNBLFVBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTs7O0FBTUosd0JBQTJCLHdCQUF1QjtFQUNqRCxpQ0FDQyxnQkFDQztJQUNDLFdBQUE7OztBQU1KO0VBR0Usa0JBQW1CLHVDQUVsQixzQ0FDQztFQUhGLGtCQUFtQix3Q0FFbEIsc0NBQ0M7RUFGRixhQUFjLFNBQVMsdUNBQ3RCLHNDQUNDO0VBRkYsYUFBYyxTQUFTLHdDQUN0QixzQ0FDQztJQUNDLGFBQUE7O0VBSkgsa0JBQW1CLHVDQVFsQjtFQVJELGtCQUFtQix3Q0FRbEI7RUFQRCxhQUFjLFNBQVMs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QTs7RUFHRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0lBQ0MsWUFBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2UgXHRXb3JkUHJlc3NcbiAqIEBzdWJwYWNrYWdlIFx0TWFnYXppbGxhXG4gKiBAdmVyc2lvblx0XHQxLjAuMFxuICogXG4gKiBSZXNwb25zaXZlIERlc2lnbiBDU1MgUnVsZXNcbiAqIENyZWF0ZWQgYnkgQ01TTWFzdGVyc1xuICogXG4gKi9cblxuXG5AaW1wb3J0IFwiZ2VuZXJhbC5sZXNzXCI7XG5cbkBtb25pdG9yX2xhcmdlX21heDogficobWF4LXdpZHRoOiAxNDQwcHgpJztcbkBtb25pdG9yX21heF9tZWRpdW06IH4nKG1heC13aWR0aDogMTAyNXB4KSc7XG5AbW9uaXRvcl9tZWRpdW1fbGFyZ2U6IH4nKG1pbi13aWR0aDogOTUwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpJztcbkBtb25pdG9yX21lZGl1bV90YWJsZTogficobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDE0NDBweCknO1xuQG1vbml0b3JfcGhvbmVfNDAwOiB+JyhtYXgtd2lkdGg6IDQwMHB4KSc7XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiB7XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTGFyZ2UgTW9uaXRvclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSBAbW9uaXRvcl9sYXJnZSB7XG5cdC5jbXNtYXN0ZXJzX3Jlc3BvbnNpdmVfd2lkdGgge1xuXHRcdHdpZHRoOjE0NDBweDtcblx0fVxuXHRcblx0I3BhZ2Uge1xuXHRcdCYuY21zbWFzdGVyc19ib3hlZCB7XG5cdFx0XHR3aWR0aDpAY29udF93aWR0aF9sYXJnZSArIEBibG9ja3NfaG9yX3BhZCAqIDI7XG5cdFx0XHRcblx0XHRcdCNoZWFkZXIsIFxuXHRcdFx0I2Zvb3RlciB7XG5cdFx0XHRcdHdpZHRoOkBjb250X3dpZHRoX2xhcmdlICsgQGJsb2Nrc19ob3JfcGFkICogMjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5oZWFkbGluZV9pbm5lciwgXG5cdC5wb3N0LXBhc3N3b3JkLWZvcm0sIFxuXHQuY29udGVudF93cmFwLCBcblx0LmJvdHRvbV9vdXRlciwgXG5cdC5mb290ZXJfaW5uZXIsIFxuXHQuY21zbWFzdGVyc19yb3dfaW5uZXIsIFxuXHQuY21zbWFzdGVyc19yb3dfdGl0bGVfd3JhcCwgXG5cdC5lcnJvcl9pbm5lciB7XG5cdFx0d2lkdGg6QGNvbnRfd2lkdGhfbGFyZ2U7XG5cdH1cblxuXHQuaGVhZGVyX3RvcF9pbm5lciwgXG5cdC5oZWFkZXJfbWlkX2lubmVyLCBcblx0LmhlYWRlcl9ib3RfaW5uZXIge1xuXHRcdHdpZHRoOkBjb250X3dpZHRoX2xhcmdlO1xuXHRcdHBhZGRpbmc6MCBAYmxvY2tzX2hvcl9wYWQ7XG5cdH1cbn1cblxuQG1lZGlhIEBtb25pdG9yX2xhcmdlX21heCB7XG5cdC53aWRnZXRfY3VzdG9tX3Bvc3RzX3RhYnNfZW50cmllcyAuY21zbWFzdGVyc190YWJzIC5jbXNtYXN0ZXJzX3RhYnNfbGlzdF9pdGVtIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdGZsb2F0Om5vbmU7XG5cdFx0d2lkdGg6MTAwJTtcblx0XHRtYXJnaW46MCAwIDVweDtcblx0fVxuXG5cdC5taWRfbmF2IHtcblx0XHQ+bGl7XG5cdFx0XHQ+YXtcblx0XHRcdFx0cGFkZGluZzogMCA2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmNtc21hc3RlcnNfc2xpZGVyX3Byb2plY3R7XG5cdFx0LmNtc21hc3RlcnNfc2xpZGVyX3Byb2plY3RfaW5uZXJfd3JhcHtcblx0XHRcdHBhZGRpbmc6IDIwcHggMjBweCAxMHB4O1xuXHRcdH1cblx0fVxuXG5cdC5hcHNjLWljb25zLXdyYXBwZXIuYXBzYy10aGVtZS0xe1xuXHRcdC5hcHNjLWVhY2gtcHJvZmlsZXtcblx0XHRcdCNwYWdlICZ7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDVweCAwIDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lm9uZV9zaXh0aF9sZ3tcblx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDYpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHR9XG5cblx0Lm9uZV9maWZ0aF9sZ3tcblx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDUpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHR9XG5cblx0Lm9uZV9mb3VydGhfbGd7XG5cdFx0d2lkdGg6cm91bmQoKDEwMCUgLyA0KSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0fVxuXG5cdC5vbmVfdGhpcmRfbGd7XG5cdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAzKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0fVxuXG5cdC5vbmVfaGFsZl9sZ3tcblx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHR9XG5cblx0LnR3b190aGlyZF9sZ3tcblx0XHR3aWR0aDpyb3VuZCgoKDEwMCUgKiAyKSAvIDMpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHR9XG5cblx0LnRocmVlX2ZvdXJ0aF9sZ3tcblx0XHR3aWR0aDpyb3VuZCgoKDEwMCUgKiAzKSAvIDQpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHR9XG5cblx0Lm9uZV9maXJzdF9sZ3tcblx0XHR3aWR0aDpyb3VuZCgxMDAlIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHR9XG59XG5cblxuQG1lZGlhIEBtb25pdG9yX21lZGl1bV9sYXJnZSB7XG5cdC5oZWFkZXJfbWlkIC5sb2dvX3dyYXAge1xuXHRcdG1heC13aWR0aDozODBweDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcG9zdF9kZWZhdWx0e1xuXHRcdC5jbXNtYXN0ZXJzX3ZpZGVvX3ByZXZpZXd7XG5cdFx0XHQmOjphZnRlcntcblx0XHRcdFx0dG9wOiAxNXB4O1xuXHRcdFx0XHRyaWdodDogMTVweDtcblx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0Ym90dG9tOiBhdXRvO1xuXHRcdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpe1xuXHQud2lkZ2V0X2N1c3RvbV9wb3N0c190YWJzX2VudHJpZXMge1xuXHRcdC5jbXNtYXN0ZXJzX3RhYiB7XG5cdFx0XHQuY21zbWFzdGVyc19scHJfdGFic19pbWcge1xuXHRcdFx0XHR3aWR0aDogODBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIEBtb25pdG9yX21lZGl1bV90YWJsZSB7XG5cdC53aWRnZXRfY3VzdG9tX2xhdGVzdF9wcm9qZWN0c19lbnRyaWVzLCBcblx0LndpZGdldF9jdXN0b21fcG9wdWxhcl9wcm9qZWN0c19lbnRyaWVze1xuXHRcdC5jbXNtYXN0ZXJzX2NvbHVtbiAmLFxuXHRcdC5jb250ZW50X3dyYXAgLnNpZGViYXIgJntcblx0XHRcdC5jbXNtYXN0ZXJzX3NsaWRlcl9wcm9qZWN0X2ltYWdlX21ldGEge1xuXHRcdFx0XHQ+IC5jbXNtYXN0ZXJzX3NsaWRlcl9wcm9qZWN0X2NhdGVnb3J5e1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmNtc21hc3RlcnNfc2xpZGVyX3Byb2plY3RfaW1hZ2VfbWV0YV9ib3R0b217XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTVweDtcblxuXHRcdFx0XHQuY21zbWFzdGVyc19zbGlkZXJfcHJvamVjdF9jYXRlZ29yeXtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWVkaXVtIE1vbml0b3Jcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfbWVkaXVtIHtcblx0LmNtc21hc3RlcnNfcmVzcG9uc2l2ZV93aWR0aCB7XG5cdFx0d2lkdGg6MTAyNXB4O1xuXHR9XG5cblx0LmhlYWRlcl9taWQge1xuXHRcdC5oZWFkZXJfbWlkX2lubmVyIHtcblx0XHRcdC5zbG9nYW5fd3JhcCBpbWcge1xuXHRcdFx0XHRtYXgtaGVpZ2h0OjEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmJsb2cge1xuXHRcdCYuc3RhbmRhcmR7XG5cdFx0XHQuY29udGVudF93cmFwLnJfc2lkZWJhciAme1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDBweDtcblx0XHRcdH1cblxuXHRcdFx0LmNvbnRlbnRfd3JhcC5sX3NpZGViYXIgJntcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCNwYWdlLmVuYWJsZV9oZWFkZXJfY2VudGVyZWQge1xuXHRcdC5oZWFkZXJfYm90IHtcblx0XHRcdC5oZWFkZXJfYm90X2lubmVyX2NvbnQge1xuXHRcdFx0XHQuZGlzcGxheV9mbGV4O1xuXHRcdFx0XHQuanVzdGlmeV9jb250ZW50KGNlbnRlcik7XG5cdFx0XHRcdC5hbGlnbl9pdGVtcyhjZW50ZXIpO1xuXHRcdFx0XHQuZmxleF9kaXJlY3Rpb24ocm93LXJldmVyc2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5maXhlZF9oZWFkZXIgI2hlYWRlciB7XG5cdFx0cG9zaXRpb246Zml4ZWQ7XG5cdH1cblx0XG5cdC5oZWFkZXJfdG9wX291dGVyLCBcblx0LmhlYWRlcl90b3AgLnRvcF9uYXZfd3JhcCBuYXYge1xuXHRcdGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcblx0fVxuXHRcblx0LmhlYWRlcl90b3Age1xuXHRcdC5jbXNtYXN0ZXJzX3JvbGxfdGl0bGVzX3dyYXAge1xuXHRcdFx0d2lkdGg6ODAlO1xuXHRcdH1cblx0fVxuXHRcblx0Lm1pZF9uYXYsIFxuXHQuYm90X25hdiB7XG5cdFx0dWwge1xuXHRcdFx0YSB7XG5cdFx0XHRcdHBhZGRpbmc6NnB4IDE1cHg7XG5cdFx0XHRcdFxuXHRcdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6Jyc7XG5cdFx0XHRcdFx0XHR3aWR0aDowO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OjJweDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0XHRcdFx0Ym90dG9tOjA7XG5cdFx0XHRcdFx0XHRsZWZ0OjA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHQ+IHNwYW46YmVmb3JlIHtcblx0XHRcdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuaGVhZGVyX21pZCB7XG5cdFx0LnNsb2dhbl93cmFwIC5zbG9nYW5fd3JhcF90ZXh0IHtcblx0XHRcdGhlaWdodDoxMDAlO1xuXHRcdFx0LnRhcjtcblx0XHR9XHRcdFxuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTcwcHgpe1xuXHQud2lkZ2V0X2N1c3RvbV9sYXRlc3RfcHJvamVjdHNfZW50cmllcywgXG5cdC53aWRnZXRfY3VzdG9tX3BvcHVsYXJfcHJvamVjdHNfZW50cmllcyB7XG5cdFx0LmNtc21hc3RlcnNfc2xpZGVyX3Byb2plY3RfdGl0bGV7XG5cdFx0XHQuY21zbWFzdGVyc19jb2x1bW4ub25lX3RoaXJkICYge1xuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUYWJsZXQgTW9uaXRvclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSBAbW9uaXRvcl90YWJsZXQge1xuXHQuY21zbWFzdGVyc19yZXNwb25zaXZlX3dpZHRoIHtcblx0XHR3aWR0aDoxMDI0cHg7XG5cdH1cblxuXG5cblx0LndpZGdldF9jdXN0b21fcG9zdHNfdGFic19lbnRyaWVzIHtcblx0XHQuY21zbWFzdGVyc190YWJzIHtcblx0XHRcdC5jbXNtYXN0ZXJzX3RhYiB7IFxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0LnNpZGViYXJfbGF5b3V0XzEyMTIgJixcblx0XHRcdFx0XHQuc2lkZWJhcl9sYXlvdXRfMTMxMzEzICYge1xuXHRcdFx0XHRcdFx0LmNtc21hc3RlcnNfbHByX3RhYnNfaW1nIHtcblx0XHRcdFx0XHRcdFx0bWluLXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwIDAgMjBweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5oZWFkbGluZV9vdXRlciB7XG5cdFx0YmFja2dyb3VuZC1hdHRhY2htZW50OnNjcm9sbDtcblx0fVxuXHRcblx0Ym9keSAjcGFnZTpub3QoLmNtc21hc3RlcnNfY29udGVudF9jb21wb3Nlcikge1xuXHRcdC5taWRkbGVfY29udGVudCxcblx0XHQuaGVhZGxpbmVfb3V0ZXIgLmhlYWRsaW5lX2NvbnRlbnQge1xuXHRcdFx0cGFkZGluZy1sZWZ0OjE3JTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6MTclO1xuXHRcdH1cblx0fVxuXG5cdC5jbXNtYXN0ZXJzX3Bvc3RfZGVmYXVsdHtcblx0XHQjcGFnZSAmLmNvbnRlbnRfc2lkZSxcblx0XHQuY29udGVudF93cmFwLmZ1bGx3aWR0aCAmLFxuXHRcdC5jb250ZW50X3dyYXAuZnVsbHdpZHRoICsgLmNtc21hc3RlcnNfY29sdW1uLm9uZV9maXJzdCAgJiB7XG5cdFx0XHQuY21zbWFzdGVyc19wb3N0X2ltZ193cmFwe1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cblx0XHRcdFx0JiArIC5jbXNtYXN0ZXJzX3Bvc3RfY29udHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4IDAgMDtcblx0XHRcdFx0XHQub3ZoO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmhlYWRlcl90b3Age1xuXHRcdC5jbXNtYXN0ZXJzX3JvbGxfdGl0bGVzX3dyYXB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfc2xpZGVyX3Bvc3RfdGl0bGUge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuZ2FsbGVyeSB7XG5cdFx0Ji5nYWxsZXJ5LWNvbHVtbnMtOSwgXG5cdFx0Ji5nYWxsZXJ5LWNvbHVtbnMtNiB7XG5cdFx0XHQuZ2FsbGVyeS1pdGVtIHtcblx0XHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAzKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRcdFx0XG5cdFx0XHRcdCY6bnRoLWNoaWxkKDZuICsgMSksXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDluICsgMSkge1xuXHRcdFx0XHRcdGNsZWFyOm5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6bnRoLWNoaWxkKDNuICsgMSkge1xuXHRcdFx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ji5nYWxsZXJ5LWNvbHVtbnMtOCB7XG5cdFx0XHQuZ2FsbGVyeS1pdGVtIHtcblx0XHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyA0KSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRcdFx0XG5cdFx0XHRcdCY6bnRoLWNoaWxkKDhuICsgMSkge1xuXHRcdFx0XHRcdGNsZWFyOm5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6bnRoLWNoaWxkKDRuICsgMSkge1xuXHRcdFx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ji5nYWxsZXJ5LWNvbHVtbnMtNywgXG5cdFx0Ji5nYWxsZXJ5LWNvbHVtbnMtNSwgXG5cdFx0Ji5nYWxsZXJ5LWNvbHVtbnMtNFx0e1xuXHRcdFx0LmdhbGxlcnktaXRlbSB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOm50aC1jaGlsZCg0biArIDEpLFxuXHRcdFx0XHQmOm50aC1jaGlsZCg1biArIDEpLFxuXHRcdFx0XHQmOm50aC1jaGlsZCg3biArIDEpIHtcblx0XHRcdFx0XHRjbGVhcjpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmOm50aC1jaGlsZCgybiArIDEpIHtcblx0XHRcdFx0XHRjbGVhcjpib3RoO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19wcm9maWxlLmhvcml6b250YWwgLmNtc21hc3RlcnNfcHJvZmlsZV9ob3Jpem9udGFsLm9uZV9mb3VydGg6bnRoLWNoaWxkKDJuKzEpIHtcblx0XHRjbGVhcjpsZWZ0O1xuXHR9XG5cdFxuXHQjcGFnZSB7XG5cdFx0Ji5jbXNtYXN0ZXJzX2JveGVkIHtcblx0XHRcdHdpZHRoOiBAY29udF93aWR0aF9mdWxsO1xuXHRcdFx0XG5cdFx0XHQjaGVhZGVyLCBcblx0XHRcdCNmb290ZXIge1xuXHRcdFx0XHR3aWR0aDogQGNvbnRfd2lkdGhfZnVsbDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ji5maXhlZF9oZWFkZXIge1xuXHRcdFx0I2hlYWRlciB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0I21pZGRsZSwgXG5cdFx0XHQmLmVuYWJsZV9oZWFkZXJfdG9wICNtaWRkbGUsIFxuXHRcdFx0Ji5lbmFibGVfaGVhZGVyX2JvdHRvbSAjbWlkZGxlLCBcblx0XHRcdCYuZW5hYmxlX2hlYWRlcl90b3AuZW5hYmxlX2hlYWRlcl9ib3R0b20gI21pZGRsZSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0I2hlYWRlciB7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0Lm92aDtcblx0XHRcblx0XHRuYXYge1xuXHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0XHRcblx0XHRcdGRpdiwgXG5cdFx0XHR1bCwgXG5cdFx0XHRsaSwgXG5cdFx0XHRhLCBcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOm5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcdG1hcmdpbjowO1xuXHRcdFx0XHRwYWRkaW5nOjA7XG5cdFx0XHRcdHZpc2liaWxpdHk6dmlzaWJsZTtcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcdGxlZnQ6YXV0bztcblx0XHRcdFx0cmlnaHQ6YXV0bztcblx0XHRcdFx0dG9wOmF1dG87XG5cdFx0XHRcdGJvdHRvbTphdXRvO1xuXHRcdFx0XHQudGFsO1xuXHRcdFx0XHQuYmQoMCk7XG5cdFx0XHRcdC5jbDtcblx0XHRcdFx0Lm92aDtcblx0XHRcdFx0LmJkcnMoQGJkcnNfd2lkdGgpO1xuXHRcdFx0XHQub3AoMSk7XG5cdFx0XHRcdC5ieHNoX25vbmU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdGRpdiwgXG5cdFx0XHR1bCwgXG5cdFx0XHRsaSwgXG5cdFx0XHRhIHtcblx0XHRcdFx0JjpiZWZvcmUsIFxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Lm1lbnUtaXRlbS1tZWdhLWRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XG5cdFx0XHRcdHBhZGRpbmc6MTBweCAxNXB4O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRsaSB7XG5cdFx0XHRcdC5iZHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuaGVhZGVyX21pZCB7XG5cdFx0LmxvZ29fd3JhcCB7XG5cdFx0XHRtYXgtd2lkdGg6MzgwcHg7XG5cdFx0fVxuXHRcblx0XHQuc2xvZ2FuX3dyYXAgLnNsb2dhbl93cmFwX2lubmVyLCBcblx0XHQuc29jaWFsX3dyYXAgLnNvY2lhbF93cmFwX2lubmVyIHtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHR9XG5cdFx0XG5cdFx0LnNsb2dhbl93cmFwIC5zbG9nYW5fd3JhcF90ZXh0IHtcblx0XHRcdGhlaWdodDoxMDAlO1xuXHRcdH1cblx0XHRcdFx0XG5cdFx0LmhlYWRlcl9taWRfaW5uZXJfY29udCA+IGRpdiB7XG5cdFx0XHQuZW5hYmxlX2hlYWRlcl9jZW50ZXJlZCAmIHtcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFx0LnBhZGRpbmcteSgwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5wb3N0LXBhc3N3b3JkLWZvcm0sXG5cdC5oZWFkZXJfdG9wX2lubmVyLCBcblx0LmhlYWRlcl9taWRfaW5uZXIsIFxuXHQuaGVhZGVyX2JvdF9pbm5lciwgXG5cdC5jb250ZW50X3dyYXAsIFxuXHQuaGVhZGxpbmVfaW5uZXIsIFxuXHQuYm90dG9tX291dGVyLCBcblx0LmZvb3Rlcl9pbm5lciwgXG5cdC5jbXNtYXN0ZXJzX3Jvd19pbm5lciwgXG5cdC5jbXNtYXN0ZXJzX3Jvd190aXRsZV93cmFwIHtcblx0XHR3aWR0aDogQGNvbnRfd2lkdGhfZnVsbDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfY29sdW1uIHtcblx0XHRtYXJnaW4tYm90dG9tOjIwcHg7XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfcm93X2NvbHVtbnNfYmVoYXZpb3IgJiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjA7XG5cdFx0fVxuXHRcdFxuXHRcdCYub25lX2ZpcnN0LCBcblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowO1xuXHRcdH1cblx0fVxuXHRcblx0Lm9uZV9maWZ0aCwgXG5cdC5vbmVfZm91cnRoLCBcblx0LnRocmVlX2ZvdXJ0aCB7XG5cdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcm93X25vX21hcmdpbiA+IC5jbXNtYXN0ZXJzX3Jvd19tYXJnaW4ge1xuXHRcdD4gLm9uZV9maWZ0aCwgXG5cdFx0PiAub25lX2ZvdXJ0aCwgXG5cdFx0PiAudGhyZWVfZm91cnRoIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMiksIDIpO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfMTQxNDE0MTQge1xuXHRcdD4gLmNtc21hc3RlcnNfY29sdW1uOm50aC1jaGlsZCgybiArIDEpIHtcblx0XHRcdGNsZWFyOmxlZnQ7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc18xMjE0MTQsIFxuXHQuY21zbWFzdGVyc18xNDE0MTIge1xuXHRcdC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiB7XG5cdFx0XHR3aWR0aDpyb3VuZCgxMDAlIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19yb3dfbm9fbWFyZ2luIHtcblx0XHQ+IC5jbXNtYXN0ZXJzXzEyMTQxNCwgXG5cdFx0PiAuY21zbWFzdGVyc18xNDE0MTIge1xuXHRcdFx0PiAuY21zbWFzdGVyc19jb2x1bW4ub25lX2hhbGYge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgxMDAlLCAyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzXzE0MTIxNCB7XG5cdFx0LmNtc21hc3RlcnNfY29sdW1uLm9uZV9mb3VydGgsIFxuXHRcdC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDMpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0fVxuXHRcdFxuXHQuY21zbWFzdGVyc19yb3dfbm9fbWFyZ2luIHtcblx0XHQ+IC5jbXNtYXN0ZXJzXzE0MTIxNCB7XG5cdFx0XHQ+IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfZm91cnRoLCBcblx0XHRcdD4gLmNtc21hc3RlcnNfY29sdW1uLm9uZV9oYWxmIHtcblx0XHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAzKSwgMik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuc2lkZWJhcl9sYXlvdXRfMTQxNDE0MTQge1xuXHRcdGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRcblx0XHRcdCY6bnRoLWNoaWxkKDJuKzEpIHtcblx0XHRcdFx0Y2xlYXI6bGVmdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5zaWRlYmFyX2xheW91dF8xNDE0MTIge1xuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQsIFxuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSArIGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHRcdFxuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlICsgYXNpZGUgKyBhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgxMDAlIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0fVxuXHR9XG5cdFxuXHQuc2lkZWJhcl9sYXlvdXRfMTQxMjE0IHtcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkLCBcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlICsgYXNpZGUgKyBhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDMpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0XHRcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlICsgYXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAzKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHR9XG5cdH1cblx0XG5cdC5zaWRlYmFyX2xheW91dF8xMjE0MTQge1xuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgxMDAlIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0fVxuXHRcdFxuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQgKyBhc2lkZSwgXG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUgKyBhc2lkZSArIGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHR9XG5cdFxuXHQuc2lkZWJhcl9sYXlvdXRfMzQxNCB7XG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHRcdFxuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUgKyBhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0fVxuXHRcblx0LnNpZGViYXJfbGF5b3V0XzE0MzQge1xuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0XHRcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlICsgYXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3N0YXRzLnN0YXRzX21vZGVfY2lyY2xlcyAuY21zbWFzdGVyc19zdGF0X3dyYXAsIFxuXHQuY21zbWFzdGVyc19jb3VudGVycyAuY21zbWFzdGVyc19jb3VudGVyX3dyYXAge1xuXHRcdCYub25lX2ZpZnRoLCBcblx0XHQmLm9uZV9mb3VydGgge1xuXHRcdFx0d2lkdGg6NTAlO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcHJpY2luZ190YWJsZSB7XG5cdFx0Ji5wcmljaW5nX2ZvdXIge1xuXHRcdFx0LmNtc21hc3RlcnNfcHJpY2luZ19pdGVtIHtcblx0XHRcdFx0d2lkdGg6NTAlO1xuXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDJuICsgMSl7XG5cdFx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5oZWFkZXJfdG9wIHtcblx0XHQub3ZoO1xuXHRcdC5jbDtcblx0XHRcblx0XHQuaGVhZGVyX3RvcF9idXQge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHR9XG5cdFx0XG5cdFx0LmhlYWRlcl90b3Bfb3V0ZXIge1xuXHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0XHQub3ZoO1xuXHRcdH1cblx0XHRcblx0XHQuaGVhZGVyX3RvcF9pbm5lciB7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdC5vdmg7XG5cdFx0fVxuXG5cdFx0LmhlYWRlcl90b3BfaW5uZXJfY29udHtcblx0XHRcdHBhZGRpbmc6MjBweCAwO1xuXHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0fVxuXHRcdFxuXHRcdC5oZWFkZXJfdG9wX3JpZ2h0IHtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRwYWRkaW5nOjBweCAwO1xuXHRcdH1cblx0XHRcblx0XHQuaGVhZGVyX3RvcF9yaWdodCArIC5oZWFkZXJfdG9wX2xlZnQge1xuXHRcdFx0cGFkZGluZzoxNXB4IDAgMDtcblx0XHR9XG5cdFx0XG5cdFx0LnNvY2lhbF93cmFwIHtcblx0XHRcdC5zb2NpYWxfd3JhcF9pbm5lciB7XG5cdFx0XHRcdHBhZGRpbmc6MCAwO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRsaSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDoxOHB4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDowO1xuXHRcdFx0XHRcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW46MDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOjE4cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6MThweDtcblx0XHRcdFx0XHR3aWR0aDoxOHB4O1xuXHRcdFx0XHRcdGhlaWdodDoxOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5zb2NpYWxfd3JhcCAuc29jaWFsX3dyYXBfaW5uZXIge1xuXHRcdFx0LnRhYztcblx0XHR9XG5cblx0XHQudG9wX25hdl93cmFwIG5hdiB7XG5cdFx0XHQuZG47XG5cdFx0fVxuXHRcdFxuXHRcdC5yZXNwb25zaXZlX3RvcF9uYXYge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdG1hcmdpbjowIGF1dG87XG5cdFx0fVxuXHRcdFxuXHRcdC5oZWFkZXJfdG9wX2xlZnQge1xuXHRcdFx0cGFkZGluZzoxNXB4IDA7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Lm1ldGFfd3JhcCB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdH1cblx0XG5cdCNoZWFkZXIgLnRvcF9saW5lX25hdiB7XG5cdFx0cGFkZGluZzowO1xuXHRcdFxuXHRcdC5uYXZfaXRlbV93cmFwIHtcblx0XHRcdHBhZGRpbmc6NHB4IDA7XG5cdFx0XHQudGFjO1xuXHRcdH1cblx0XHRcblx0XHRsaSBsaSB7XG5cdFx0XHQubmF2X2l0ZW1fd3JhcCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOjRweDtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206NHB4O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRsaSB7XG5cdFx0XHRcdC5uYXZfaXRlbV93cmFwIHtcblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0I2hlYWRlciAuaGVhZGVyX21pZCB7XG5cdFx0Lm92aDtcblx0XHQuY2w7XG5cdFx0XG5cdFx0LmhlYWRlcl9taWRfb3V0ZXIge1xuXHRcdFx0Lm92aDtcblx0XHR9XG5cdFx0XG5cdFx0LmhlYWRlcl9taWRfaW5uZXJfY29udCB7XG5cdFx0XHRwYWRkaW5nOjEwcHggMDtcblx0XHR9XG5cdFx0XG5cdFx0LnJlc3BfbWlkX25hdl93cmFwIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcblx0XHRcdC5yZXNwX21pZF9uYXYge1xuXHRcdFx0XHRmb250LXNpemU6MThweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6MThweDtcblx0XHRcdFx0d2lkdGg6NDJweDtcblx0XHRcdFx0aGVpZ2h0OjQycHg7XG5cdFx0XHRcdFxuXHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOjE2cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6MTZweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQubWlkX25hdl93cmFwIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRtYXJnaW46MCAtQGJsb2Nrc19ob3JfcGFkO1xuXHRcdFx0dmlzaWJpbGl0eTp2aXNpYmxlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0bWF4LWhlaWdodDogbm9uZTtcblx0XHRcdC5vdmg7XG5cdFx0XHQuY2w7XG5cdFx0XHQub3AoMSk7XG5cdFx0XHRcblx0XHRcdG5hdiB7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnNvY2lhbF93cmFwIGxpIGF7XG5cdFx0XHRmb250LXNpemU6MTZweDtcblx0XHRcdGxpbmUtaGVpZ2h0OjE2cHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5zb2NpYWxfd3JhcF9pbm5lciB7XG5cdFx0XHQuZW5hYmxlX2hlYWRlcl9jZW50ZXJlZCAmIHtcblx0XHRcdFx0LnRhYztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCNoZWFkZXIgLmhlYWRlcl9ib3Qge1xuXHRcdC5vdmg7XG5cdFx0LmNsO1xuXHRcdC5iZCgwKTtcblx0XHRcblx0XHQuaGVhZGVyX2JvdF9vdXRlciB7XG5cdFx0XHQub3ZoO1xuXHRcdH1cblx0XHRcblx0XHQuaGVhZGVyX2JvdF9pbm5lcl9jb250IHtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdC50YWM7XG5cdFx0XHRcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnJlc3BfYm90X25hdl93cmFwIHtcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0cGFkZGluZzowIDEwcHg7XG5cdFx0XHRtYXJnaW46MDtcblx0XHRcdFxuXHRcdFx0LnJlc3BfYm90X25hdl9vdXRlciB7XG5cdFx0XHRcdC50YWM7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5yZXNwX2JvdF9uYXYge1xuXHRcdFx0XHRmb250LXNpemU6MThweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6MThweDtcblx0XHRcdFx0d2lkdGg6NDJweDtcblx0XHRcdFx0aGVpZ2h0OjQycHg7XG5cdFx0XHRcdFxuXHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOjE2cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6MTZweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuYm90X25hdl93cmFwIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRtYXJnaW46MCAtQGJsb2Nrc19ob3JfcGFkIC0xcHg7XG5cdFx0XHR2aXNpYmlsaXR5OnZpc2libGU7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRtYXgtaGVpZ2h0OiBub25lO1xuXG5cdFx0XHQub3ZoO1xuXHRcdFx0LmNsO1xuXHRcdFx0Lm9wKDEpO1xuXHRcdFx0XG5cdFx0XHRuYXYge1xuXHRcdFx0XHQuZG47XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5ib3Rfc2VhcmNoX2J1dF93cmFwIHtcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0cGFkZGluZzowIDEwcHg7XG5cdFx0XHRtYXJnaW46MDtcblx0XHRcdC50YWM7XG5cdFx0XHRcblx0XHRcdC5jbXNtYXN0ZXJzX2hlYWRlcl9zZWFyY2hfYnV0IHtcblx0XHRcdFx0Zm9udC1zaXplOjIwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OjIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQjaGVhZGVyIC5uYXZpZ2F0aW9uIHtcblx0XHRwYWRkaW5nOjBweCAwIDBweDtcblx0XHRcblx0XHRhIHtcblx0XHRcdHBhZGRpbmc6MTJweCAyMHB4IDEycHggMzBweDtcblx0XHR9XG5cdFx0XG5cdFx0bGkgbGkge1xuXHRcdFx0PiBhIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OjUwcHg7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6MjBweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0bGkge1xuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDo3MHB4O1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6MjBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQubmF2X2l0ZW1fd3JhcCB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHR9XG5cdFx0XG5cdFx0Lm5hdl90aXRsZSB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcblx0XHR9XG5cdFx0XG5cdFx0Lm5hdl90YWcge1xuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0XHRwYWRkaW5nOjAgNXB4O1xuXHRcdFx0bWFyZ2luOjAgMCAwIDEwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5uYXZfc3VidGl0bGUge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHR9XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfcmVzcF9uYXZfdG9nZ2xlIHtcblx0XHRcdGZvbnQtc2l6ZToyMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6MWVtO1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdHdpZHRoOjFlbTtcblx0XHRcdGhlaWdodDoxZW07XG5cdFx0XHRtYXJnaW46M3B4IDAgMCAxNXB4O1xuXHRcdFx0Y3Vyc29yOnBvaW50ZXI7XG5cdFx0XHQuZnI7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19wb3N0X2RlZmF1bHQuaGFzLXBvc3QtdGh1bWJuYWlsIC5jbXNtYXN0ZXJzX3Bvc3RfaW1nX3dyYXAgKyAuY21zbWFzdGVyc19wb3N0X2NvbnQge1xuXHRcdC5jbXNtYXN0ZXJzX3Bvc3RfaW5mbyB7XG5cdFx0XHRtYXJnaW4tdG9wOi01cHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQuZXJyb3IgLmVycm9yX2lubmVyIHtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdHBhZGRpbmctbGVmdDoyMHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6MjBweDtcblx0fVxuXG5cdC5vbmVfc2l4dGhfbWR7XG5cdFx0d2lkdGg6cm91bmQoKDEwMCUgLyA2KSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0fVxuXG5cdC5vbmVfZmlmdGhfbWR7XG5cdFx0d2lkdGg6cm91bmQoKDEwMCUgLyA1KSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0fVxuXG5cdC5vbmVfZm91cnRoX21ke1xuXHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gNCkgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdH1cblxuXHQub25lX3RoaXJkX21ke1xuXHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMykgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdH1cblxuXHQub25lX2hhbGZfbWR7XG5cdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0fVxuXG5cdC50d29fdGhpcmRfbWR7XG5cdFx0d2lkdGg6cm91bmQoKCgxMDAlICogMikgLyAzKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0fVxuXG5cdC50aHJlZV9mb3VydGhfbWR7XG5cdFx0d2lkdGg6cm91bmQoKCgxMDAlICogMykgLyA0KSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0fVxuXG5cdC5vbmVfZmlyc3RfbWR7XG5cdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0fVxuXG5cdC53aWR0aF80NzVfbWR7XG5cdFx0d2lkdGg6IDQ3NXB4O1xuXHR9XG5cblx0LndpZHRoXzUwMF9tZHtcblx0XHR3aWR0aDogNTAwcHg7XG5cdH1cblxuXHQud2lkdGhfNjAwX21ke1xuXHRcdHdpZHRoOiA2MDBweDtcblx0fVxufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXHRUYWJsZXQgTW9uaXRvciA5NTBcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfdGFibGV0Xzk1MCB7XG5cdC5jbXNtYXN0ZXJzX3Jlc3BvbnNpdmVfd2lkdGgge1xuXHRcdHdpZHRoOjk1MHB4O1xuXHR9XG5cdFxuXHRib2R5ICNwYWdlOm5vdCguY21zbWFzdGVyc19jb250ZW50X2NvbXBvc2VyKSB7XG5cdFx0Lm1pZGRsZV9jb250ZW50LFxuXHRcdC5oZWFkbGluZV9vdXRlciAuaGVhZGxpbmVfY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6MTUlO1xuXHRcdFx0cGFkZGluZy1yaWdodDoxNSU7XG5cdFx0fVxuXHR9XG5cblx0I3BhZ2UgLm1pZGRsZV9jb250ZW50IHtcblx0XHQub3BlbmVkLWFydGljbGV7XG5cdFx0XHQmLmJsb2d7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQud2lkZ2V0X21haWxwb2V0X2Zvcm17XG5cdFx0LnRhYztcblxuXHRcdC5tYWlscG9ldF9zdWJtaXR7XG5cdFx0XHRtYXgtd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0Lnd5c2lqYS1pbnB1dHtcblx0XHRcdG1heC13aWR0aDogNTIwcHggIWltcG9ydGFudDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHRiciArIGJye1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblx0XG5cdC5jb250ZW50X3dyYXAge1xuXHRcdCYubF9zaWRlYmFyLCBcblx0XHQmLnJfc2lkZWJhciB7XG5cdFx0XHQuY21zbWFzdGVyc19yb3cge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6MDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDowO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jb250ZW50LCBcblx0I3BhZ2UgLnNpZGViYXIge1xuXHRcdHdpZHRoOiBAY29udF93aWR0aF9mdWxsO1xuXHRcdHBhZGRpbmctbGVmdDowO1xuXHRcdHBhZGRpbmctcmlnaHQ6MDtcblx0fVxuXG5cdCNwYWdlIC5zaWRlYmFyIHtcblx0XHRmbG9hdDogbm9uZTtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfb3Blbl9wcm9qZWN0IHtcblx0XHQucHJvamVjdF9jb250ZW50IHtcblx0XHRcdCYud2l0aF9zaWRlYmFyIHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnByb2plY3Rfc2lkZWJhciB7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdHBhZGRpbmctbGVmdDowO1xuXHRcdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfb3Blbl9wcm9maWxlIHtcblx0XHQucHJvZmlsZV9jb250ZW50IHtcblx0XHRcdCYud2l0aF9zaWRlYmFyIHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnByb2ZpbGVfc2lkZWJhciB7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdHBhZGRpbmctbGVmdDowO1xuXHRcdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcHJvZmlsZV92ZXJ0aWNhbCB7XG5cdFx0LnByb2ZpbGVfaW1hZ2Vfd3JhcCB7XG5cdFx0XHR3aWR0aDozNSU7XG5cdFx0fVxuXHRcdFx0XG5cdFx0LnByb2ZpbGVfaW1hZ2Vfd3JhcCArIC5wcm9maWxlX2lubmVyIHtcblx0XHRcdHdpZHRoOjY1JTtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3F1b3Rlc19ncmlkIHtcblx0XHQmLnF1b3RlX2ZvdXIge1xuXHRcdFx0LmNtc21hc3RlcnNfcXVvdGUge1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNtYWxsIFRhYmxldCBNb25pdG9yXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIEBtb25pdG9yX3RhYmxldF9zbWFsbCB7XG5cdC5jbXNtYXN0ZXJzX3Jlc3BvbnNpdmVfd2lkdGgge1xuXHRcdHdpZHRoOjc2OHB4O1xuXHR9XG5cblxuXG5cdC53aWRnZXRfY3VzdG9tX3Bvc3RzX3RhYnNfZW50cmllcyB7XG5cdFx0LmNtc21hc3RlcnNfdGFicyB7XG5cdFx0XHQuY21zbWFzdGVyc190YWIgeyBcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdC5zaWRlYmFyX2xheW91dF8xMjEyICYsXG5cdFx0XHRcdFx0LnNpZGViYXJfbGF5b3V0XzEzMTMxMyAme1xuXHRcdFx0XHRcdFx0LmNtc21hc3RlcnNfbHByX3RhYnNfaW1nIHtcblx0XHRcdFx0XHRcdFx0bWluLXdpZHRoOiAxMjBweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwIDIwcHggMCAwO1xuXHRcdFx0XHRcdFx0XHQuZmw7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHRib2R5ICNwYWdlOm5vdCguY21zbWFzdGVyc19jb250ZW50X2NvbXBvc2VyKSB7XG5cdFx0Lm1pZGRsZV9jb250ZW50LFxuXHRcdC5oZWFkbGluZV9vdXRlciAuaGVhZGxpbmVfY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6NSU7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OjUlO1xuXHRcdH1cblx0fVxuXG5cdC53aWRnZXRfY3VzdG9tX3Bvc3RzX3RhYnNfZW50cmllcyB7XG5cdFx0LmNtc21hc3RlcnNfdGFicyB7XG5cdFx0XHQuY21zbWFzdGVyc190YWIgeyBcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdHdpZHRoOiA0OSU7XG5cdFx0XHRcdFx0bWluLXdpZHRoOiAyNjBweDtcblxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDJuICsxKXtcblx0XHRcdFx0XHRcdGNsZWFyOiBsZWZ0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCNwYWdlIC5oZWFkbGluZV9vdXRlciB7XG5cdFx0LmhlYWRsaW5lX2lubmVyIHtcblx0XHRcdHBhZGRpbmc6IDUwcHggMzBweCAyMHB4O1xuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc19icmVhZGNydW1ic3tcblx0XHRcdFx0cGFkZGluZzogMCAwIDVweDtcblx0XHRcdFx0LnRhYztcblxuXHRcdFx0XHQuY21zbWFzdGVyc19icmVhZGNydW1ic19pbm5lcntcblx0XHRcdFx0XHQudGFjO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5oZWFkbGluZV9hbGlnbmVyIHtcblx0XHRcdFx0LmRuO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuaGVhZGxpbmVfY29udGVudCB7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5oZWFkbGluZV90ZXh0IHtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0LnRhYztcblxuXHRcdFx0XHQmOmVtcHR5e1xuXHRcdFx0XHRcdHBhZGRpbmc6IDBweCAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmhlYWRsaW5lX2ljb24ge1x0XHRcdFx0XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRmb250LXNpemU6NDBweDtcblx0XHRcdFx0fVx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCYuYWxpZ25fY2VudGVyIHtcblx0XHRcdFx0LmhlYWRsaW5lX2ljb24ge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOjYwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuY21zbWFzdGVyc19wcm9qZWN0X3B1enpsZSB7XG5cdFx0LnByb2plY3RfaW5uZXJ7XG5cdFx0XHRwYWRkaW5nOiAxNXB4IDE1cHggMTBweDtcblx0XHR9XG5cdH1cblxuXHQuY29tbWVudC1yZXNwb25kIGZvcm0ge1xuXHRcdC5jb21tZW50LWZvcm0tYXV0aG9yLFxuXHRcdC5jb21tZW50LWZvcm0tZW1haWx7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQuY21zbWFzdGVyc19xdW90ZXNfc2xpZGVyIHtcblx0XHQuY21zbWFzdGVyc19xdW90ZV9jb250ZW50e1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cdH1cblxuXHQjcGFnZSAuY21zbWFzdGVyc190YWJzIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcblx0XHQmLnRhYnNfcG9zX2xlZnR7XG5cdFx0XHQuY21zbWFzdGVyc190YWJzX2xpc3RfaXRlbXtcblx0XHRcdFx0LnRhbDtcblxuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblxuXHRcdFx0XHRcdCY6OmJlZm9yZXtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLnRhYnNfcG9zX3JpZ2h0e1xuXHRcdFx0LmNtc21hc3RlcnNfdGFic19saXN0X2l0ZW17XG5cdFx0XHRcdC50YXI7XG5cblx0XHRcdFx0YXtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXG5cdFx0XHRcdFx0Jjo6YmVmb3Jle1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuY21zbWFzdGVyc190YWJfaW5uZXIge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHQuY21zbWFzdGVyc190YWJzX2xpc3Qge1xuXHRcdFx0PiBsaXtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdG1hcmdpbjogMCAxMHB4IDEwcHggMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY21zbWFzdGVyc190YWJzX2xpc3RfaXRlbSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRhe1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5hcHNjLWljb25zLXdyYXBwZXIuYXBzYy10aGVtZS0xIHtcblx0XHRtYXJnaW4tcmlnaHQ6IC01cHg7XG5cblx0XHQuYXBzYy1lYWNoLXByb2ZpbGV7XG5cdFx0XHQjcGFnZSAme1xuXHRcdFx0XHRtYXgtd2lkdGg6IDE1MHB4O1xuXHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0I3BhZ2UgI21haW4gLmNtc21hc3RlcnNfcG9zdF9kZWZhdWx0e1xuXHRcdC5jbXNtYXN0ZXJzX3Bvc3RfaW1nX3dyYXB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGZsb2F0OiBub25lO1xuXG5cdFx0XHQmICsgLmNtc21hc3RlcnNfcG9zdF9jb250e1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMCAwIDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmNtc21hc3RlcnNfb3Blbl9wb3N0IHtcblx0XHQuY21zbWFzdGVyc19wb3N0X2NvbnRlbnRfd3JhcCB7XG5cdFx0XHQuc2hhcmVfcG9zdHN7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW46IDAgMCAyNXB4O1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblxuXHRcdFx0XHQmICsgLmNtc21hc3RlcnNfcG9zdF9jb250ZW50e1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5ibG9nLnN0YW5kYXJke1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXHRcblx0LmdhbGxlcnkge1xuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLThcdHtcblx0XHRcdC5nYWxsZXJ5LWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoNG4gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoMm4gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6Ym90aDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0Lm9uZV9maXJzdCwgXG5cdC5vbmVfaGFsZiwgXG5cdC5vbmVfdGhpcmQsIFxuXHQudHdvX3RoaXJkLCBcblx0Lm9uZV9mb3VydGgsIFxuXHQub25lX2ZpZnRoLCBcblx0LnRocmVlX2ZvdXJ0aCwgXG5cdC5jbXNtYXN0ZXJzXzEyMTQxNCAuY21zbWFzdGVyc19jb2x1bW4ub25lX2hhbGYsIFxuXHQuY21zbWFzdGVyc18xNDE0MTIgLmNtc21hc3RlcnNfY29sdW1uLm9uZV9oYWxmLCBcblx0LmNtc21hc3RlcnNfMTQxMjE0IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfZm91cnRoLCBcblx0LmNtc21hc3RlcnNfMTQxMjE0IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiB7XG5cdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRmbG9hdDpub25lO1xuXHRcdGNsZWFyOmJvdGg7XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfcm93X2NvbHVtbnNfYmVoYXZpb3IgJiB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc19jb2x1bW5faW5uZXIge1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcm93X25vX21hcmdpbiB7XG5cdFx0PiAuY21zbWFzdGVyc19yb3dfbWFyZ2luIHtcblx0XHRcdD4gLm9uZV9maXJzdCwgXG5cdFx0XHQ+IC5vbmVfaGFsZiwgXG5cdFx0XHQ+IC5vbmVfdGhpcmQsIFxuXHRcdFx0PiAudHdvX3RoaXJkLCBcblx0XHRcdD4gLm9uZV9mb3VydGgsIFxuXHRcdFx0PiAub25lX2ZpZnRoLCBcblx0XHRcdD4gLnRocmVlX2ZvdXJ0aCB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKDEwMCUsIDIpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQ+IC5jbXNtYXN0ZXJzXzEyMTQxNCA+IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiwgXG5cdFx0PiAuY21zbWFzdGVyc18xNDE0MTIgPiAuY21zbWFzdGVyc19jb2x1bW4ub25lX2hhbGYsIFxuXHRcdD4gLmNtc21hc3RlcnNfMTQxMjE0ID4gLmNtc21hc3RlcnNfY29sdW1uLm9uZV9mb3VydGgsIFxuXHRcdD4gLmNtc21hc3RlcnNfMTQxMjE0ID4gLmNtc21hc3RlcnNfY29sdW1uLm9uZV9oYWxmIHtcblx0XHRcdHdpZHRoOnJvdW5kKDEwMCUsIDIpO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcm93X21hcmdpbi5jbXNtYXN0ZXJzX3Jvd19jb2x1bW5zX2JlaGF2aW9yIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2ZlYXR1cmVkX2Jsb2NrIC5mZWF0dXJlZF9ibG9ja190ZXh0OmVtcHR5IHtcblx0XHRcdHBhZGRpbmctYm90dG9tOjEwMCU7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19yb3dfbm9fbWFyZ2luIHtcblx0XHQ+IC5jbXNtYXN0ZXJzX3Jvd19tYXJnaW4ge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHR9XG5cdH1cblx0XG5cdC5zaWRlYmFyX2xheW91dF8xNDE0MTQxNCwgXG5cdC5zaWRlYmFyX2xheW91dF8xNDE0MTIsIFxuXHQuc2lkZWJhcl9sYXlvdXRfMTQxMjE0LCBcblx0LnNpZGViYXJfbGF5b3V0XzEyMTQxNCwgXG5cdC5zaWRlYmFyX2xheW91dF8xMzEzMTMsIFxuXHQuc2lkZWJhcl9sYXlvdXRfMzQxNCwgXG5cdC5zaWRlYmFyX2xheW91dF8xNDM0LCBcblx0LnNpZGViYXJfbGF5b3V0XzIzMTMsIFxuXHQuc2lkZWJhcl9sYXlvdXRfMTMyMywgXG5cdC5zaWRlYmFyX2xheW91dF8xMjEyIHtcblx0XHRhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgxMDAlIC0gKEBjb2xfbWFyICogMiksIDIpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19mZWF0dXJlZF9ibG9jayAuZmVhdHVyZWRfYmxvY2tfaW5uZXIge1xuXHRcdHdpZHRoOjEwMCUgIWltcG9ydGFudDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfc3RhdHMuc3RhdHNfbW9kZV9jaXJjbGVzIC5jbXNtYXN0ZXJzX3N0YXRfd3JhcCwgXG5cdC5jbXNtYXN0ZXJzX2NvdW50ZXJzIC5jbXNtYXN0ZXJzX2NvdW50ZXJfd3JhcCB7XG5cdFx0Ji5vbmVfdGhpcmQge1xuXHRcdFx0d2lkdGg6NTAlO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcHJpY2luZ190YWJsZSB7XG5cdFx0Ji5wcmljaW5nX3RocmVlIHtcblx0XHRcdC5jbXNtYXN0ZXJzX3ByaWNpbmdfaXRlbSB7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcdC5jbDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2NsaWVudHNfZ3JpZCB7XG5cdFx0Ji5jbGllbnRzX2ZpdmUsIFxuXHRcdCYuY2xpZW50c19mb3VyLCBcblx0XHQmLmNsaWVudHNfdGhyZWUsIFxuXHRcdCYuY2xpZW50c190d28ge1xuXHRcdFx0LmNtc21hc3RlcnNfY2xpZW50c19pdGVtIHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFx0LmNsO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0I2hlYWRlciAuaGVhZGVyX21pZCB7XG5cdFx0LmhlYWRlcl9taWRfaW5uZXJfY29udCAge1xuXHRcdFx0cGFkZGluZy10b3A6MjBweDtcblx0XHRcdC50YWM7XG5cdFx0fVxuXHRcdFxuXHRcdC5sb2dvX3dyYXAge1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdG1hcmdpbjowIGF1dG8gMjBweDtcblx0XHRcdHdpZHRoOjI3MHB4O1xuXHRcdFx0bWF4LXdpZHRoOjEwMCU7XG5cdFx0XHQudGFjO1xuXHRcdFx0XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQubG9nbyB7XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0cG9zaXRpb246c3RhdGljO1xuXHRcdFx0XHRcdG1heC13aWR0aDoxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5yZXNwX21pZF9uYXZfd3JhcCB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRwYWRkaW5nOjAgMTBweDtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0XG5cdFx0XHQucmVzcF9taWRfbmF2X291dGVyIHtcblx0XHRcdFx0LnRhYztcblx0XHRcdFx0XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQubWlkX3NlYXJjaF9idXRfd3JhcCB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0cGFkZGluZzowIDEwcHg7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfaGVhZGVyX3NlYXJjaF9idXQge1xuXHRcdFx0Zm9udC1zaXplOjE5cHg7XG5cdFx0XHRsaW5lLWhlaWdodDoyMHB4O1xuXHRcdH1cblx0XHRcblx0XHQuc29jaWFsX3dyYXAge1xuXHRcdFx0bWFyZ2luOjAgMCAxMHB4O1xuXHRcdFx0XG5cdFx0XHQuZW5hYmxlX2hlYWRlcl9jZW50ZXJlZCAmIHtcblx0XHRcdFx0bWFyZ2luLXRvcDowOyBcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LnNvY2lhbF93cmFwX2lubmVyIHtcblx0XHRcdFx0LnRhYztcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnNsb2dhbl93cmFwIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOm5vbmU7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRtYXgtaGVpZ2h0OiBub25lO1xuXG5cdFx0XHQmX3RleHR7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdGltZ3tcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Lm1pZF9uYXZfd3JhcCB7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRtYXJnaW46MCAtQGJsb2Nrc19ob3JfcGFkO1xuXHRcdFx0dmlzaWJpbGl0eTp2aXNpYmxlO1xuXHRcdFx0Lm92aDtcblx0XHRcdC5jbDtcblx0XHRcdC5vcCgxKTtcblx0XHRcdFxuXHRcdFx0bmF2IHtcblx0XHRcdFx0LmRuO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfaGVhZGVyX3NlYXJjaF9mb3JtIHtcblx0XHQuY21zbWFzdGVyc19oZWFkZXJfc2VhcmNoX2Zvcm1fZmllbGQge1xuXHRcdFx0aGVpZ2h0OjcwcHg7XG5cdFx0XHRcblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdGZvbnQtc2l6ZToyNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDoyNnB4O1xuXHRcdFx0XHR3aWR0aDo4NXB4O1xuXHRcdFx0XHRcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGxlZnQ6YXV0bztcblx0XHRcdFx0XHRyaWdodDowO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdEB7aW5wdXRfdGV4dH0ge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjBweDtcblx0XHRcdFx0Zm9udC1zaXplOjMwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OjQwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19mb290ZXJfZGVmYXVsdCB7XG5cdFx0LmZvb3Rlcl9uYXYge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdC50YWM7XG5cdFx0XHRcblx0XHRcdD4gbGkge1xuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2Zvb3Rlcl9zbWFsbCB7XG5cdFx0LmZvb3Rlcl9uYXZfd3JhcCB7XG5cdFx0XHRwYWRkaW5nOjAgMCAxMHB4O1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFxuXHRcdFx0bmF2ID4gZGl2IHtcblx0XHRcdFx0LnRhYztcblx0XHRcdFx0XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuZm9vdGVyX25hdiB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0LnRhYztcblx0XHRcdFxuXHRcdFx0PiBsaSB7XG5cdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuc29jaWFsX3dyYXAge1xuXHRcdFx0cGFkZGluZzowIDAgMTBweDtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcblx0XHRcdC5zb2NpYWxfd3JhcF9pbm5lciB7XG5cdFx0XHRcdC50YWM7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmZvb3Rlcl9jdXN0b21faHRtbF93cmFwIHtcblx0XHRcdHBhZGRpbmc6MCAwIDEwcHg7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0XG5cdFx0XHQuZm9vdGVyX2N1c3RvbV9odG1sIHtcblx0XHRcdFx0LnRhYztcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmZvb3Rlcl9jb3B5cmlnaHQge1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdH1cblx0XG5cdC5ibG9nLnRpbWVsaW5lIHtcblx0XHRoZWlnaHQ6YXV0byAhaW1wb3J0YW50O1xuXHRcdFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHR9XG5cdFx0XG5cdFx0LnBvc3Qge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdHBhZGRpbmctdG9wOjQwcHg7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZSAhaW1wb3J0YW50O1xuXHRcdFx0bGVmdDphdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRyaWdodDphdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHR0b3A6YXV0byAhaW1wb3J0YW50O1xuXHRcdFx0Ym90dG9tOmF1dG8gIWltcG9ydGFudDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDtcblx0XHRcdC1tb3otdHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDtcblx0XHRcdC1tcy10cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0LW8tdHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zZm9ybTpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDowO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ji5jbXNtYXN0ZXJzX3RpbWVsaW5lX2xlZnQsIFxuXHRcdFx0Ji5jbXNtYXN0ZXJzX3RpbWVsaW5lX3JpZ2h0IHtcblx0XHRcdFx0LmNtc21hc3RlcnNfdGltZWxpbmVfbWFyZ2luIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDowO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDowO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5jbXNtYXN0ZXJzX3Bvc3RfaW5mbyB7XG5cdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0XHRsZWZ0OmF1dG87XG5cdFx0XHRcdHJpZ2h0OmF1dG87XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206MjBweDtcblx0XHRcdFx0XG5cdFx0XHRcdC5jbXNtYXN0ZXJzX3Bvc3RfZGF0ZSB7XG5cdFx0XHRcdFx0bWFyZ2luOjAgYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc19wb3N0X2NhdGVnb3J5IHtcblx0XHRcdFx0LnRhYztcblx0XHRcdFx0XG5cdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0XHRtYXJnaW46MCAxcHggLTZweCAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5jbXNtYXN0ZXJzX3Bvc3RfY29udCwgXG5cdFx0XHQuY21zbWFzdGVyc19wb3N0X2NvbnRlbnQge1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfdHdpdHRlcl93cmFwIHtcblx0XHQudHdyX2ljb24ge1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRtYXJnaW46MCAwIDIwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3R3aXR0ZXJfaXRlbSB7XG5cdFx0XHRwYWRkaW5nOjIwcHggMjBweCAwO1xuXHRcdFx0LnRhYztcblx0XHRcdFxuXHRcdFx0LnB1Ymxpc2hlZCB7XG5cdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0XHRsZWZ0OmF1dG87XG5cdFx0XHRcdHJpZ2h0OmF1dG87XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5vd2wtYnV0dG9ucyB7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdG1hcmdpbjo0MHB4IGF1dG8gMCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcXVvdGVzX2dyaWQge1xuXHRcdCYucXVvdGVfdGhyZWUge1xuXHRcdFx0LmNtc21hc3RlcnNfcXVvdGUge1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfc2l0ZW1hcF93cmFwIC5jbXNtYXN0ZXJzX3NpdGVtYXAgPiBsaSA+IHVsID4gbGksIFxuXHQuY21zbWFzdGVyc19zaXRlbWFwX3dyYXAgLmNtc21hc3RlcnNfc2l0ZW1hcF9jYXRlZ29yeSA+IGxpLCBcblx0LmNtc21hc3RlcnNfc2l0ZW1hcF93cmFwIC5jbXNtYXN0ZXJzX3NpdGVtYXBfYXJjaGl2ZSA+IGxpIHtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdFxuXHR9XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGFibGV0IE1vbml0b3IgNjAwXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIEBtb25pdG9yX3RhYmxldF82MDAge1xuXHQuY21zbWFzdGVyc19yZXNwb25zaXZlX3dpZHRoIHtcblx0XHR3aWR0aDo2MDBweDtcblx0fVxuXHRcblx0Ym9keSAjcGFnZTpub3QoLmNtc21hc3RlcnNfY29udGVudF9jb21wb3Nlcikge1xuXHRcdC5taWRkbGVfY29udGVudCxcblx0XHQuaGVhZGxpbmVfb3V0ZXIgLmhlYWRsaW5lX2NvbnRlbnQge1xuXHRcdFx0cGFkZGluZy1sZWZ0OjA7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OjA7XG5cdFx0fVxuXHR9XG5cdFxuXHQjcGFnZSAuY21zbWFzdGVyc190YWJzIHtcblx0XHQuY21zbWFzdGVyc190YWJzX2xpc3QsIFxuXHRcdC5jbXNtYXN0ZXJzX3RhYnNfd3JhcCB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdG1hcmdpbjowO1xuXHRcdH1cblxuXHRcdCYudGFic19tb2RlX3RvdXIge1xuXHRcdFx0ZGlzcGxheTp0YWJsZTtcblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfdGFiX2lubmVyIHtcblx0XHRcdFx0cGFkZGluZzowO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLnRhYnNfcG9zX2xlZnR7XG5cdFx0XHQuY21zbWFzdGVyc190YWJzX2xpc3RfaXRlbXtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLnRhYnNfcG9zX3JpZ2h0IHtcblx0XHRcdC5jbXNtYXN0ZXJzX3RhYnNfbGlzdF9pdGVtIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYudGFic19tb2RlX3RhYiAuY21zbWFzdGVyc190YWJzX2xpc3QgLmNtc21hc3RlcnNfdGFic19saXN0X2l0ZW0ge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRtYXJnaW46MCAwIDEwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3RhYnNfbGlzdCB7XG5cdFx0XHRtYXJnaW46MCAwIDIwcHg7XG5cdFx0fVxuXHR9XG5cblx0LmNtc21hc3RlcnNfcHJvamVjdF9wdXp6bGUge1xuXHRcdC5wcm9qZWN0X2lubmVyIHtcblx0XHRcdHBhZGRpbmc6IDE1cHggMTVweCAxMHB4O1xuXHRcdH1cblx0fVxuXHRcblx0aHRtbC5jbXNtYXN0ZXJzX2h0bWwge1xuXHRcdG1hcmdpbi10b3A6MCAhaW1wb3J0YW50O1xuXHRcdFxuXHRcdGJvZHkuYWRtaW4tYmFyIHtcblx0XHRcdHBhZGRpbmctdG9wOjQ2cHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2hlYWRlcl9zZWFyY2hfZm9ybSB7XG5cdFx0XHR0b3A6MDtcblx0XHRcdGJvdHRvbTowO1xuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc19oZWFkZXJfc2VhcmNoX2Zvcm1fY2xvc2Uge1xuXHRcdFx0XHRyaWdodDoyMHB4O1xuXHRcdFx0XHRsZWZ0OmF1dG87XG5cdFx0XHRcdHRvcDo3MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcG9zdF9kZWZhdWx0e1xuXHRcdC5jbXNtYXN0ZXJzX3ZpZGVvX3ByZXZpZXd7XG5cdFx0XHQmOjphZnRlcntcblx0XHRcdFx0dG9wOiAxNXB4O1xuXHRcdFx0XHRyaWdodDogMTVweDtcblx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0Ym90dG9tOiBhdXRvO1xuXHRcdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5jbXNtYXN0ZXJzX3Bvc3RfY2F0ZWdvcnl7XG5cdFx0XHRcdGxlZnQ6IDE1cHg7XG5cdFx0XHRcdHRvcDogMTVweDtcblx0XHRcdH1cblxuXHRcdFx0LmNtc21hc3RlcnNfdmlkZW9fcHJldmlld19ib3R0b217XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMjBweCAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuaGFzLXBvc3QtdGh1bWJuYWlsIHtcblx0XHRcdC5jbXNtYXN0ZXJzX3Bvc3RfaW1nX3dyYXAge1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc19wb3N0X2ltZ193cmFwICsgLmNtc21hc3RlcnNfcG9zdF9jb250IHtcblx0XHRcdFx0cGFkZGluZzozMnB4IDAgMDtcblx0XHRcdFx0XG5cdFx0XHRcdC5jbXNtYXN0ZXJzX3Bvc3RfaW5mbyB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDowO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19wcm9maWxlX3ZlcnRpY2FsIHtcblx0XHQucHJvZmlsZV9pbWFnZV93cmFwIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHR3aWR0aDo2MCU7XG5cdFx0XHRtYXJnaW46MCBhdXRvIDIwcHg7XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfcHJvZmlsZV9zdWJ0aXRsZSB7XG5cdFx0XHRcdHJpZ2h0OjA7XG5cdFx0XHRcdGxlZnQ6YXV0bztcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnByb2ZpbGVfc29jaWFsX2ljb25zIHtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0cGFkZGluZzowOyBcblx0XHRcdG1hcmdpbjowIDAgMjBweDtcblx0XHR9XG5cdFx0XG5cdFx0LnByb2ZpbGVfc29jaWFsX2ljb25zX2xpc3QsIFxuXHRcdC5wcm9maWxlX2lubmVyLCBcblx0XHQuY21zbWFzdGVyc19wcm9maWxlX2NvbnRlbnQge1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdFx0XG5cdFx0LnByb2ZpbGVfaW1hZ2Vfd3JhcCArIC5wcm9maWxlX2lubmVyIHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19xdW90ZXNfZ3JpZCB7XG5cdFx0Ji5xdW90ZV90d28ge1xuXHRcdFx0LmNtc21hc3RlcnNfcXVvdGUge1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNvbW1lbnRsaXN0IC5jaGlsZHJlbiB7XG5cdFx0cGFkZGluZzowIDAgMCAxNXB4O1xuXHR9XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUGhvbmUgTW9uaXRvclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSBAbW9uaXRvcl9waG9uZSB7XG5cdC5jbXNtYXN0ZXJzX3Jlc3BvbnNpdmVfd2lkdGgge1xuXHRcdHdpZHRoOjU0MHB4O1xuXHR9XG5cblx0LndpZGdldF9jdXN0b21fcG9zdHNfdGFic19lbnRyaWVzIHtcblx0XHQuY21zbWFzdGVyc190YWJzIHtcblx0XHRcdC5jbXNtYXN0ZXJzX3RhYiB7IFxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuY21zbWFzdGVyc193cmFwX3BhZ2luYXRpb257XG5cdFx0dWx7XG5cdFx0XHRmb250LXNpemU6IDA7XG5cblx0XHRcdCY6OmJlZm9yZXtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0PiBsaXtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0I3BhZ2UgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSB7XG5cdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRmbG9hdDpub25lO1xuXHRcdGNsZWFyOmJvdGg7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3N0YXRzLnN0YXRzX21vZGVfY2lyY2xlcyAuY21zbWFzdGVyc19zdGF0X3dyYXAsIFxuXHQuY21zbWFzdGVyc19jb3VudGVycyAuY21zbWFzdGVyc19jb3VudGVyX3dyYXAge1xuXHRcdCYub25lX2ZpZnRoLCBcblx0XHQmLm9uZV9mb3VydGgsIFxuXHRcdCYub25lX3RoaXJkLCBcblx0XHQmLm9uZV9oYWxmIHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19wcmljaW5nX3RhYmxlIHtcblx0XHQmLnByaWNpbmdfZm91ciwgXG5cdFx0Ji5wcmljaW5nX3RocmVlLCBcblx0XHQmLnByaWNpbmdfdHdvLCBcblx0XHQmLnByaWNpbmdfb25lIHtcblx0XHRcdC5jbXNtYXN0ZXJzX3ByaWNpbmdfaXRlbSB7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19mb290ZXJfZGVmYXVsdCAuc29jaWFsX3dyYXAgbGkge1xuXHRcdG1hcmdpbi1yaWdodDoxNXB4O1xuXHRcdG1hcmdpbi1sZWZ0OjA7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2hlYWRlcl9zZWFyY2hfZm9ybSB7XG5cdFx0LmNtc21hc3RlcnNfaGVhZGVyX3NlYXJjaF9mb3JtX2ZpZWxkIHtcblx0XHRcdGhlaWdodDo1MHB4O1xuXHRcdFx0XG5cdFx0XHRidXR0b24ge1xuXHRcdFx0XHRmb250LXNpemU6MjJweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6MjJweDtcblx0XHRcdFx0d2lkdGg6ODBweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0QHtpbnB1dF90ZXh0fSB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6MHB4O1xuXHRcdFx0XHRmb250LXNpemU6MjBweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6MzBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCNwYWdlIC5jbXNtYXN0ZXJzX2JyZWFkY3J1bWJzIHtcblx0XHRmbG9hdDpub25lO1xuXHRcdC50YWM7XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfYnJlYWRjcnVtYnNfYWxpZ25lciB7XG5cdFx0XHQuZG47XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2JyZWFkY3J1bWJzX2lubmVyIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOjA7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19pdGVtc19maWx0ZXJfd3JhcCAuY21zbWFzdGVyc19pdGVtc19zb3J0X2Jsb2NrIHtcblx0XHRmbG9hdDpub25lO1xuXHRcdG1hcmdpbjowIDAgMzBweDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfYXJjaGl2ZV90eXBlIHtcblx0XHQuY21zbWFzdGVyc19hcmNoaXZlX2l0ZW1faW1nX3dyYXAge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdG1hcmdpbjowIDAgMjBweDtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2FyY2hpdmVfaXRlbV9jb250X3dyYXAge1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfb3Blbl9wb3N0IHtcblx0XHQuY21zbWFzdGVyc19wb3N0X2NvbnRfaW5mb190b3Age1xuXHRcdFx0LmNtc21hc3RlcnNfcG9zdF9jYXRlZ29yeSB7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdG1hcmdpbjowIDAgMTBweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfcG9zdF9jb250X2luZm9fbWV0YSB7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcdG1hcmdpbjowcHggMCAzMHB4O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc19wb3N0X2NhdGVnb3J5ICsgLmNtc21hc3RlcnNfcG9zdF9jb250X2luZm9fbWV0YSB7XG5cdFx0XHRcdG1hcmdpbjowO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuY21zbWFzdGVyc19wb3N0X2NvbnRfYWJvdXRfYXV0aG9yLCBcblx0XHQuc2hhcmVfcG9zdHMge1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0fVxuXHR9XG5cdFxuXHQuYWJvdXRfYXV0aG9yIHtcblx0XHQuYWJvdXRfYXV0aG9yX2F2YXRhciB7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0bWFyZ2luOjAgMCAyMHB4O1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdFx0XG5cdFx0LmFib3V0X2F1dGhvcl9jb250IHtcblx0XHRcdC50YWM7XG5cdFx0fVxuXHR9XG5cdFxuXHQjcGFnZSAucG9zdF9uYXYgPiBkaXYge1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0cGFkZGluZzowOyBcblx0XHRtYXJnaW46MCAwIDIwcHg7XG5cdFx0XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbjowO1xuXHRcdH1cblx0fVxuXHRcblx0LmVycm9yIC5lcnJvcl9pbm5lciB7XG5cdFx0LmVycm9yX3RpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZToxMjBweDtcblx0XHR9XG5cdH1cblx0XG5cdCNwYWdlIC5jbXNtYXN0ZXJzX2hlYWRpbmdfd3JhcCB7XG5cdFx0Ji5jbXNtYXN0ZXJzX2hlYWRpbmdfYWxpZ25fbGVmdCB7XG5cdFx0XHQuY2w7XG5cdFx0XHRcblx0XHRcdC5jbXNtYXN0ZXJzX2hlYWRpbmcge1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRtYXJnaW46MDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfaGVhZGluZyArIC5jbXNtYXN0ZXJzX2J1dHRvbiB7XG5cdFx0XHRcdC5mbDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ji5jbXNtYXN0ZXJzX2hlYWRpbmdfYWxpZ25fcmlnaHQge1xuXHRcdFx0LmNsO1xuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc19oZWFkaW5nIHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0bWFyZ2luOjA7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5jbXNtYXN0ZXJzX2hlYWRpbmcgKyAuY21zbWFzdGVyc19idXR0b24ge1xuXHRcdFx0XHQuZnI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuY21zbWFzdGVyc19oZWFkaW5nX2FsaWduX2NlbnRlciB7XHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc19oZWFkaW5nIHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0bWFyZ2luOjA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBAbW9uaXRvcl9waG9uZV80MDAge1xuXHQuY21zbWFzdGVyc19pdGVtc19maWx0ZXJfd3JhcCAuY21zbWFzdGVyc19pdGVtc19maWx0ZXJfbGlzdCB7XG5cdFx0cGFkZGluZzowO1xuXHRcdFxuXHRcdGxpIHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0bWFyZ2luOjAgMCA1cHg7XG5cdFx0XHRcblx0XHRcdGEge1xuXHRcdFx0XHRwYWRkaW5nOjAgMTFweDtcdFxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNtYWxsIFBob25lIE1vbml0b3Jcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfcGhvbmVfc21hbGwge1xuXHQuY21zbWFzdGVyc19yZXNwb25zaXZlX3dpZHRoIHtcblx0XHR3aWR0aDozMjBweDtcblx0fVxuXHRcblx0LnBvc3QtcGFzc3dvcmQtZm9ybSxcblx0LmhlYWRlcl90b3BfaW5uZXIsIFxuXHQuaGVhZGVyX21pZF9pbm5lciwgXG5cdC5oZWFkZXJfYm90X2lubmVyLCBcblx0LmNvbnRlbnRfd3JhcCwgXG5cdC5oZWFkbGluZV9pbm5lciwgXG5cdC5ib3R0b21fb3V0ZXIsIFxuXHQuZm9vdGVyX2lubmVyLCBcblx0LmNtc21hc3RlcnNfcm93X2lubmVyLCBcblx0LmNtc21hc3RlcnNfcm93X3RpdGxlX3dyYXAsIFxuXHQuZXJyb3JfaW5uZXIge1xuXHRcdHdpZHRoOiBAY29udF93aWR0aF9taW47XG5cdH1cbn1cbn1cblxuIiwiXHJcbkBpbnB1dF9wYWQ6IDhweDtcclxuXHJcbkBsaW5lX2hlaWdodF9wYWQ6IDIwcHg7XHJcbkBibG9ja3NfaG9yX3BhZDogMjBweDtcclxuQGNvbnRfdmVydF9wYWQ6IDYwcHg7XHJcblxyXG5AYmRyc193aWR0aDogMHB4O1xyXG5cclxuQGNvbF9tYXI6IDEuNCU7XHJcblxyXG5AcmVzcF9ibG9ja3NfcGFkOiA1OC4xJTtcclxuXHJcbkBwcmVsb2FkZXJfYmxvZ19kZWZhdWx0X3BhZDogNTguMSU7XHJcbkBwcmVsb2FkZXJfYmxvZ19tYXNvbnJ5X3BhZDogNjguOSU7XHJcbkBwcmVsb2FkZXJfYmxvZ190aW1lbGluZV9wYWQ6IDU4LjElO1xyXG5AcHJlbG9hZGVyX29wZW5fcG9zdF9wYWQ6IDU4LjElO1xyXG5AcHJlbG9hZGVyX3BvcnRmb2xpb19ncmlkX3BhZDogNzQuMCU7XHJcbkBwcmVsb2FkZXJfb3Blbl9wcm9qZWN0X3BhZDogNDguMiU7XHJcbkBwcmVsb2FkZXJfcG9zdHNfc2xpZGVyX3BhZDogNjguMCU7XHJcbkBwcmVsb2FkZXJfYXJjaGl2ZXNfcGFkOiAxMDAlO1xyXG5cclxuQHNpZGViYXJfd2lkdGg6IDI4JTtcclxuQGNvbnRlbnRfd2lkdGg6IDEwMCUgLSBAc2lkZWJhcl93aWR0aDtcclxuXHJcbkBtaWRfbmF2X2Ryb3Bkb3duX3dpZHRoOiAyMDZweDtcclxuQG1pZF9uYXZfZHJvcGRvd25fcGFkX3RvcDogMTRweDtcclxuQG1pZF9uYXZfZHJvcGRvd25fcGFkX2JvdDogMTJweDtcclxuQG1pZF9uYXZfZHJvcGRvd25fdmVydF9tYXJfc3RhcnQ6IDIwcHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX3ZlcnRfbWFyX2VuZDogMjRweDtcclxuQG1pZF9uYXZfZHJvcGRvd25faG9yX21hcl9zdGFydDogMjBweDtcclxuQG1pZF9uYXZfZHJvcGRvd25faG9yX21hcl9lbmQ6IDFweDtcclxuXHJcbkBib3RfbmF2X2Ryb3Bkb3duX3dpZHRoOiAyMDZweDtcclxuQGJvdF9uYXZfZHJvcGRvd25fcGFkX3RvcDogMTRweDtcclxuQGJvdF9uYXZfZHJvcGRvd25fcGFkX2JvdDogMTRweDtcclxuQGJvdF9uYXZfZHJvcGRvd25fdmVydF9tYXJfc3RhcnQ6IDIwcHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX3ZlcnRfbWFyX2VuZDogMXB4O1xyXG5AYm90X25hdl9kcm9wZG93bl9ob3JfbWFyX3N0YXJ0OiAyMHB4O1xyXG5AYm90X25hdl9kcm9wZG93bl9ob3JfbWFyX2VuZDogM3B4O1xyXG5cclxuQHRvcF9uYXZfZHJvcGRvd25fd2lkdGg6IDE3MHB4O1xyXG5AdG9wX25hdl9kcm9wZG93bl9wYWRfdG9wOiAxMHB4O1xyXG5AdG9wX25hdl9kcm9wZG93bl9wYWRfYm90OiAxMHB4O1xyXG5AdG9wX25hdl9kcm9wZG93bl92ZXJ0X21hcl9zdGFydDogMjBweDtcclxuQHRvcF9uYXZfZHJvcGRvd25fdmVydF9tYXJfZW5kOiAwcHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfc3RhcnQ6IDIwcHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfZW5kOiAwcHg7XHJcblxyXG5AY29udF93aWR0aF9kZWY6IDk4JTtcclxuQGNvbnRfd2lkdGhfbGFyZ2U6IDEzNjBweDtcclxuQGNvbnRfd2lkdGhfZnVsbDogMTAwJTtcclxuQGNvbnRfd2lkdGhfbWluOiAzMjBweDtcclxuXHJcbkBpbnB1dF90ZXh0OiBlKCdpbnB1dDpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPWZpbGVdKTpub3QoW3R5cGU9aGlkZGVuXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPXJlc2V0XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1jb2xvcl0pOm5vdChbdHlwZT1yYW5nZV0pJyk7XHJcblxyXG5AbW9uaXRvcl9sYXJnZTogficobWluLXdpZHRoOiAxNDQwcHgpJztcclxuQG1vbml0b3JfbWVkaXVtOiB+JyhtaW4td2lkdGg6IDEwMjVweCknO1xyXG5AbW9uaXRvcl90YWJsZXQ6IH4nKG1heC13aWR0aDogMTAyNHB4KSc7XHJcbkBtb25pdG9yX3RhYmxldF85NTA6IH4nKG1heC13aWR0aDogOTUwcHgpJztcclxuQG1vbml0b3JfdGFibGV0X3NtYWxsOiB+JyhtYXgtd2lkdGg6IDc2OHB4KSc7XHJcbkBtb25pdG9yX3RhYmxldF82MDA6IH4nKG1heC13aWR0aDogNjAwcHgpJztcclxuQG1vbml0b3JfcGhvbmU6IH4nKG1heC13aWR0aDogNTQwcHgpJztcclxuQG1vbml0b3JfcGhvbmVfc21hbGw6IH4nKG1heC13aWR0aDogMzIwcHgpJztcclxuXHJcbi8vIGNvbG9yXHJcbkB0cmFuc3BhcmVudF9yZ2JhOiByZ2JhKDAsIDAsIDAsIDApO1xyXG5cclxuLnBhZGRpbmcteSAoQHB4OjApIHtcclxuXHRwYWRkaW5nLWxlZnQ6IEBweDtcclxuXHRwYWRkaW5nLXJpZ2h0OiBAcHg7XHJcbn1cclxuXHJcbi5mbCAoKSB7XHJcblx0ZmxvYXQ6bGVmdDtcclxufVxyXG5cclxuLmZyICgpIHtcclxuXHRmbG9hdDpyaWdodDtcclxufVxyXG5cclxuLmRuICgpIHtcclxuXHRkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi50YWwgKCkge1xyXG5cdHRleHQtYWxpZ246bGVmdDtcclxufVxyXG5cclxuLnRhYyAoKSB7XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcbn1cclxuXHJcbi50YXIgKCkge1xyXG5cdHRleHQtYWxpZ246cmlnaHQ7XHJcbn1cclxuXHJcbi5jbCAoKSB7XHJcblx0Y2xlYXI6Ym90aDtcclxufVxyXG5cclxuLm92aCAoKSB7XHJcblx0b3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcblxyXG4ubTBhICgpIHtcclxuXHRtYXJnaW46MCBhdXRvO1xyXG59XHJcblxyXG4uYmQgKEB3OjFweDsgQHQ6c29saWQpIHtcclxuXHRib3JkZXItd2lkdGg6QHc7XHJcblx0Ym9yZGVyLXN0eWxlOkB0O1xyXG59XHJcblxyXG4uYmR0IChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLXRvcC13aWR0aDpAdztcclxuXHRib3JkZXItdG9wLXN0eWxlOkB0O1xyXG59XHJcblxyXG4uYmRiIChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDpAdztcclxuXHRib3JkZXItYm90dG9tLXN0eWxlOkB0O1xyXG59XHJcblxyXG4uYmRyIChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLXJpZ2h0LXdpZHRoOkB3O1xyXG5cdGJvcmRlci1yaWdodC1zdHlsZTpAdDtcclxufVxyXG5cclxuLmJkbCAoQHc6MXB4OyBAdDpzb2xpZCkge1xyXG5cdGJvcmRlci1sZWZ0LXdpZHRoOkB3O1xyXG5cdGJvcmRlci1sZWZ0LXN0eWxlOkB0O1xyXG59XHJcblxyXG4uY29sb3Jfd2hpdGVfb3BhY2l0eSAoQG9wOi41KSB7XHJcblx0Y29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCBAb3ApO1xyXG59XHJcblxyXG4uYmdfd2hpdGVfb3BhY2l0eSAoQG9wOi41KSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwgMjU1LCAyNTUsIEBvcCk7XHJcbn1cclxuXHJcbi5mdWxsd2lkdGhfaW5fYmxvY2sgKCkge1xyXG5cdHdpZHRoOjEwMCU7XHJcblx0aGVpZ2h0OjEwMCU7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0dG9wOjA7XHJcblx0bGVmdDowO1xyXG59XHJcblxyXG4ub3AgKEBvcDouNSkge1xyXG5cdG9wYWNpdHk6QG9wO1xyXG59XHJcblxyXG4uZGlzcGxheV9mbGV4ICgpIHtcclxuXHRkaXNwbGF5Oi13ZWJraXQtZmxleDtcclxuXHRkaXNwbGF5Oi1tb3otZmxleDtcclxuXHRkaXNwbGF5Oi1tcy1mbGV4O1xyXG5cdGRpc3BsYXk6ZmxleDtcclxufVxyXG5cclxuLmRpc3BsYXlfaW5saW5lX2ZsZXggKCkge1xyXG5cdGRpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtcclxuXHRkaXNwbGF5Oi1tb3otaW5saW5lLWZsZXg7XHJcblx0ZGlzcGxheTotbXMtaW5saW5lLWZsZXg7XHJcblx0ZGlzcGxheTppbmxpbmUtZmxleDtcclxufVxyXG5cclxuLmZsZXhfZGlyZWN0aW9uIChAZDpyb3cpIHtcclxuXHQtd2Via2l0LWZsZXgtZGlyZWN0aW9uOkBkO1xyXG5cdC1tb3otZmxleC1kaXJlY3Rpb246QGQ7XHJcblx0LW1zLWZsZXgtZGlyZWN0aW9uOkBkO1xyXG5cdGZsZXgtZGlyZWN0aW9uOkBkO1xyXG59XHJcblxyXG4uZmxleF93cmFwIChAZDpub3dyYXApIHtcclxuXHQtd2Via2l0LWZsZXgtd3JhcDpAZDtcclxuXHQtbW96LWZsZXgtd3JhcDpAZDtcclxuXHQtbXMtZmxleC13cmFwOkBkO1xyXG5cdGZsZXgtd3JhcDpAZDtcclxufVxyXG5cclxuLmp1c3RpZnlfY29udGVudCAoQGQ6ZmxleC1zdGFydCkge1xyXG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50OkBkO1xyXG5cdC1tb3otanVzdGlmeS1jb250ZW50OkBkO1xyXG5cdC1tcy1qdXN0aWZ5LWNvbnRlbnQ6QGQ7XHJcblx0anVzdGlmeS1jb250ZW50OkBkO1xyXG59XHJcblxyXG4uYWxpZ25faXRlbXMgKEBkOnN0cmV0Y2gpIHtcclxuXHQtd2Via2l0LWFsaWduLWl0ZW1zOkBkO1xyXG5cdC1tb3otYWxpZ24taXRlbXM6QGQ7XHJcblx0LW1zLWFsaWduLWl0ZW1zOkBkO1xyXG5cdGFsaWduLWl0ZW1zOkBkO1xyXG59XHJcblxyXG4uYWxpZ25fY29udGVudCAoQGQ6c3RyZXRjaCkge1xyXG5cdC13ZWJraXQtYWxpZ24tY29udGVudDpAZDtcclxuXHQtbW96LWFsaWduLWNvbnRlbnQ6QGQ7XHJcblx0LW1zLWFsaWduLWNvbnRlbnQ6QGQ7XHJcblx0YWxpZ24tY29udGVudDpAZDtcclxufVxyXG5cclxuLmNsX2FmdGVyICgpIHtcclxuXHRjb250ZW50OicuJztcclxuXHRkaXNwbGF5OmJsb2NrO1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0aGVpZ2h0OjA7XHJcblx0dmlzaWJpbGl0eTpoaWRkZW47XHJcblx0b3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcblxyXG4udmFsaWduX2FmdGVyICgpIHtcclxuXHRjb250ZW50OicnO1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuXHRoZWlnaHQ6MTAwJTtcclxufVxyXG5cclxuLnBvc19hYnMgKEB3OjFlbTsgQGg6MWVtOyBAbDowOyBAcjowOyBAdDowOyBAYjowKSB7XHJcblx0d2lkdGg6QHc7XHJcblx0aGVpZ2h0OkBoO1xyXG5cdG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0bGVmdDpAbDtcclxuXHRyaWdodDpAcjtcclxuXHR0b3A6QHQ7XHJcblx0Ym90dG9tOkBiO1xyXG59XHJcblxyXG4uYmRieCAoKSB7XHJcblx0LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XHJcblx0LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XHJcblx0Ym94LXNpemluZzpib3JkZXItYm94O1xyXG59XHJcblxyXG4uY3RieCAoKSB7XHJcblx0LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O1xyXG5cdC1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtcclxuXHRib3gtc2l6aW5nOmNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4uYmRycyAoQHJhZGl1czpAYmRyc193aWR0aCkge1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czpAcmFkaXVzO1xyXG5cdGJvcmRlci1yYWRpdXM6QHJhZGl1cztcclxufVxyXG5cclxuLmJ4c2ggKEB4OjA7IEB5OjA7IEBibHVyOjVweDsgQHNwcmVkOjA7IEBhbHBoYTouMDUpIHtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6QHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMCwgMCwgMCwgQGFscGhhKTtcclxuXHRib3gtc2hhZG93OkB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcbn1cclxuXHJcbi5ieHNoX3doaXRlIChAeDowOyBAeTowOyBAYmx1cjo1cHg7IEBzcHJlZDowOyBAYWxwaGE6LjA1KSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OkB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDI1NSwgMjU1LCAyNTUsIEBhbHBoYSk7XHJcblx0Ym94LXNoYWRvdzpAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCBAYWxwaGEpO1xyXG59XHJcblxyXG4uYnhzaGkgKEB4OjA7IEB5OjA7IEBibHVyOjVweDsgQHNwcmVkOjA7IEBhbHBoYTouMDUpIHtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgQHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMCwgMCwgMCwgQGFscGhhKTtcclxuXHRib3gtc2hhZG93Omluc2V0IEB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcbn1cclxuXHJcbi5ieHNoaV93aGl0ZSAoQHg6MDsgQHk6MDsgQGJsdXI6NXB4OyBAc3ByZWQ6MDsgQGFscGhhOi4wNSkge1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzppbnNldCBAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCBAYWxwaGEpO1xyXG5cdGJveC1zaGFkb3c6aW5zZXQgQHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgQGFscGhhKTtcclxufVxyXG5cclxuLmJ4c2hfbm9uZSAoKSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7XHJcblx0Ym94LXNoYWRvdzpub25lO1xyXG59XHJcblxyXG4udHJhbnMoQHRyYW5zOjApIHdoZW4gbm90IChAdHJhbnMgPSAwKSB7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOkB0cmFucztcclxuXHQtbW96LXRyYW5zaXRpb246QHRyYW5zO1xyXG5cdC1tcy10cmFuc2l0aW9uOkB0cmFucztcclxuXHQtby10cmFuc2l0aW9uOkB0cmFucztcclxuXHR0cmFuc2l0aW9uOkB0cmFucztcclxufVxyXG5cclxuLmFycm93X3RvcCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItdG9wOjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdDpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yaWdodDpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b20td2lkdGg6QGg7XHJcblx0Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuLmFycm93X2JvdHRvbSAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItYm90dG9tOjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdDpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yaWdodDpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci10b3Atd2lkdGg6QGg7XHJcblx0Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuLmFycm93X2xlZnQgKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLWxlZnQ6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci10b3A6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tOkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0LXdpZHRoOkBoO1xyXG5cdGJvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuLmFycm93X3JpZ2h0IChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci1yaWdodDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcDpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdC13aWR0aDpAaDtcclxuXHRib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuLmFycm93X3RvcF9sZWZ0IChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci1yaWdodDpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0OjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tOjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wLXdpZHRoOkBoO1xyXG5cdGJvcmRlci10b3Atc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd190b3BfcmlnaHQgKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLWJvdHRvbTpAaCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci10b3A6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0OjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmlnaHQtd2lkdGg6QHc7XHJcblx0Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfYm90dG9tX2xlZnQgKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLXRvcDpAaCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yaWdodDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbTowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQtd2lkdGg6QHc7XHJcblx0Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd19ib3R0b21fcmlnaHQgKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLWxlZnQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wOjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmlnaHQ6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b20td2lkdGg6QGg7XHJcblx0Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuXHJcbi8vL2NvbG9yc1xyXG5AZmFjZWJvb2s6ICM0MDcxYmE7XHJcbkB0d2l0dGVyOiAjM2ZiMWQxO1xyXG5AZ3BsdXM6ICNlOTUxM2E7XHJcbkBkcmliYmxlOiAjZjc2NTljO1xyXG5cclxuIl0sImZpbGUiOiJhZGFwdGl2ZS5jc3MifQ== */
