/*
build.less
-----------------------
Author:  Rafal Tytyk
Contributors:  -
Description:  Less build file for Bingo
Copyright 2015 NetplayTV plc.
*/
/*  Site Background
================================================================================*/
/*  Logo for stalker bar 
================================================================================*/
/*  Loading Image 
================================================================================*/
/* Login Popup (Top Right)
================================================================================
*/
/*  Headers and Verticals Unauthenticated
================================================================================*/
/*  Headers and Verticals Authenticated
================================================================================*/
/*  Headers and Verticals (Mobile)
================================================================================*/
/*  Stalker Bar Website Unauthenticated
================================================================================*/
/*  Footer Website
================================================================================*/
/*  Footer Mobile
================================================================================*/
/*  Side Menu Mobile
================================================================================*/
/*  Games Navigation Website
================================================================================*/
.V_games-nav_link_hover_selected {
  background: #f3e5f4;
}
/*  Hero Banner
================================================================================*/
/*  Hero Banner
================================================================================*/
.V_hero-banner_bt_cta {
  color: #fff;
  background: #82db70;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#82db70), to(#179e4f));
  background: -webkit-linear-gradient(#82db70, #179e4f);
  background: -moz-linear-gradient(top, #82db70, #179e4f);
  background: linear-gradient(#82db70, #179e4f);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}
.V_hero-banner_txt_terms {
  color: #fff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}
/*  Jackpots
================================================================================*/
/*  Winners
================================================================================*/
/*  Game Info
================================================================================*/
/*  Presenters Website & Details & Mobile (unified)
================================================================================*/
/*  Promotions Website
================================================================================*/
/*  Promotions Website Details
================================================================================*/
/*  Game Pop-Up Mobile
================================================================================*/
/*  Registration Page
================================================================================*/
/*  Welcome Page
================================================================================*/
/*  VIP Page
================================================================================*/
/*  Vip Table for Mobile
================================================================================*/
/*  Vip Sub Menu
================================================================================*/
/*  Promotions Sub Menu
================================================================================*/
/*  Getting started Sub Menu
================================================================================*/
/*  ButtonS
================================================================================*/
/*  Page Title
================================================================================*/
/*  Bootstarp Modal
================================================================================*/
/*  Error Msg
================================================================================*/
/*  Page Content Backgorund
================================================================================*/
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  touch-action: manipulation;
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  border-radius: 0;
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*

   ========================================================================== 
   DRUPAL RESETS  -  TO DO:  remove Drupal Styles at origin then remove these
   ==========================================================================

   */
.form-item,
.form-actions {
  margin: 0;
}
.element-invisible {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
}
.blockDisplay,
.region-header .playtech-login-block .registration-style > div,
.region-header .playtech-login-block .registration-style .form-item,
.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
.vertical-games-disabled .game_wrapper .game_overlay::before,
.game_wrapper.maintenance-mode .game_overlay::before,
.disable-netplay-games .netplay-games.game_wrapper .game_overlay::after,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay::after,
.vertical-games-disabled .game_wrapper .game_overlay::after,
.game_wrapper.maintenance-mode .game_overlay::after,
body.tablet.disable-netplay-games .netplay-games.game_wrapper .game_overlay,
body.tablet.disable-playtech-games .playtech-games.game_wrapper .game_overlay,
body.tablet.vertical-games-disabled .game_wrapper .game_overlay,
body.smartphone.disable-netplay-games .netplay-games.game_wrapper .game_overlay,
body.smartphone.disable-playtech-games .playtech-games.game_wrapper .game_overlay,
body.smartphone.vertical-games-disabled .game_wrapper .game_overlay,
body.tablet .game_wrapper.maintenance-mode .game_overlay,
body.smartphone .game_wrapper.maintenance-mode .game_overlay {
  display: block;
}
.borderRadius {
  border-radius: 10px;
}
.cursorPointer {
  cursor: pointer;
}
.displayNone {
  display: none;
}
.floatLeft {
  float: left;
}
.height100 {
  height: 100%;
}
.inlineBlock {
  display: inline-block;
}
.positionAbsolute,
.cashier-overlay-class #sb-info,
.video-overlay-class #sb-info,
.waiting_messages #sb-info,
.default-modal .modal-dialog .close,
.iScrollVerticalScrollbar .iScrollIndicator,
a.benefits-tooltips span,
a:hover.benefits-tooltips span:after,
.vip-accordion .tab-control-radio,
.vip-accordion .tab-control-label h2,
.vip-accordion .tab-control-label h3,
.vip-accordion .red-badge h4,
.vip-accordion .bronze-badge h4,
.vip-accordion .silver-badge h4,
.vip-accordion .gold-badge h4,
.vip-accordion .platinum-badge h4,
.vip-accordion .badge-style,
.game_info_content > .scroll-element,
.game_info_content > .scroll-element div,
.play-live-on-five,
.site-logo:after,
.block-lobby-components.logo,
.responsive-menu-button,
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li a:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu .js-submenu-getting:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu .js-submenu-getting:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-link:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-link:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-getting:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-getting:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .deposit a:before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .deposit a:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .transactions a:before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .transactions a:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .withdraw a:before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .withdraw a:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .change-password a:before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .change-password a:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen a:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen .account-open:after,
body.page-getting-started li.getting-started ul.menu li a:before,
body.page-getting-started a.active-submenu:before,
.action-button .loading,
.page-register .spinner,
.logged-in .support-buttons .spinner,
.floating_verticals_menu .spinner,
.FLEX-account-block,
.FLEX-account-block li.account:after,
.FLEX-account-block li.total_balance:after,
.login-modal .login-overlay-footer,
.playtech-login-block,
.modal-body .overlay-header a:after,
.playtech-login-block form[name="playtech-login-form"],
.playtech-login-block form[name="playtech-login-form"] .button,
.playtech-login-block form[name="playtech-login-form"] input[type="submit"],
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link,
.form-style #dob span.error,
.form-style #postcode_searchbutton,
.game_wrapper .jackpot_spinner,
.game_wrapper .game_overlay,
.game_wrapper .game_overlay .game_title,
.game_wrapper .game_overlay .more_info,
.game_wrapper .new-game,
.netplay_game_details,
.double-launch-content .game-wrapper .jackpot_spinner,
.double-launch-content .game-wrapper .game_overlay,
.double-launch-content .game-wrapper .game_overlay .game_title,
.double-launch-content .game-wrapper .game_overlay .more_info,
.double-launch-content .game-wrapper .new-game,
.double-launch-content .game-wrapper .game_overlay.double-launch-selected .dbl-numbers,
.related-content .view-content .button-3,
.related-content .view-content .views-field-field-related-content-text,
.vip-box-wrapper div a span,
.support-buttons,
.support-buttons .help_button,
.support-buttons .chat_button,
.back-button,
.menu-verticals,
.menu-getting-started,
body.page-getting-started .menu-responsive-flex-menu .active-submenu:after,
.floating_verticals_menu .betssonChatLink,
.videos-quicktabs .quicktabs-wrapper .views-row .views-field-field-video-url a,
.videos-quicktabs .quicktabs-wrapper .views-row .views-field-field-youtube,
.videos-quicktabs .quicktabs-wrapper .views-row .views-field-field-youtube .video-player,
.videos-quicktabs .quicktabs-wrapper .views-row .video-more-info,
.region-header .playtech-login-block .registration-style,
.register-buttons,
.register-buttons .help_button,
.register-buttons .chat_button,
.floating_verticals_menu .js-playtech-chat,
.floating_verticals_menu .betssonChatLink,
.floating_verticals_menu .help-page-link a {
  position: absolute;
}
.positionRelative,
sub,
sup,
.page,
.region-header,
.region-banner,
.page-content,
.region-content,
.region-footer,
.scroll-wrapper,
a.benefits-tooltips,
.vip-accordion .tab,
.vip-accordion .tab-control-radio ~ .tab-content:before,
.page-welcome .welcome_panels li,
.responsive-header-buttons .register-button,
.responsive-header-buttons .action-button,
.responsive-header-balance .balance,
.region-responsive-lateral-menu .menu-responsive-flex-menu,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen,
.region-responsive-lateral-menu .responsive-accounts-lateral-menu,
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button,
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .login-button,
.page-game-info .game_launch_buttons .action-button.button,
.action-button .button-styles,
.FLEX-account-block a,
.FLEX-account-block .username,
.FLEX-account-block li.account,
.FLEX-account-block li.total_balance,
select.select_address,
.page-reset-password select.select_address,
.page-change-password select.select_address,
.page-register select.select_address,
.page-forgotten-details select.select_address,
.page-register-variation1 select.select_address,
.page-forgotten-password select.select_address,
.page-code-verification select.select_address,
.page-update-password select.select_address,
.game_wrapper,
.double-launch-content .game-wrapper,
.wrapper_overlay,
.wrapper_overlay .close,
.page-game-info .game-info-image,
.page-game-info .game-info-details,
.page-game-info .device-available-container,
.page-game-info .device-available-container .device-available,
.page-game-info .device-available-container .device-available-text,
.page-game-info .jackpots-slider,
.page-game-info .off-air,
.related-content,
.related-content,
.related-content-title .related_content_title,
.related-content:hover .view-content .views-field-title,
.vip-box-wrapper div a,
.floating_verticals_menu .floating_verticals_menu_inner,
.floating_verticals_menu .help-page-link a,
.videos-quicktabs .quicktabs-wrapper .views-row,
.page-game-info .on-air {
  position: relative;
}
.textShadow {
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.8), 0 0 10px rgba(0, 0, 0, 0.8);
}
.textRight {
  text-align: right;
}
.overflowHidden,
svg:not(:root),
.element-invisible,
.social-icon,
.modal-open .modal,
.inline-list,
.inline-list ul,
ul.red-table,
ul.bronze-table,
ul.silver-table,
ul.gold-table,
ul.platinum-table,
.vip-accordion .tab-control-radio,
.game_info_content > .scroll-element .scroll-element_outer,
.default-modal.cashier-modal .modal-dialog,
.action-button .button-styles,
.chat-open,
.floating_verticals_menu .spinner,
.FLEX-account-block .account_menu,
.FLEX-account-block .balance_menu,
.login-modal .playtech-login-to-play,
.modal-body .overlay-header a,
.page-reset-password .menu-verticals .menu,
.page-change-password .menu-verticals .menu,
.page-register .menu-verticals .menu,
.page-forgotten-details .menu-verticals .menu,
.page-register-variation1 .menu-verticals .menu,
.page-forgotten-password .menu-verticals .menu,
.page-code-verification .menu-verticals .menu,
.page-update-password .menu-verticals .menu,
.page-reset-password .menu-verticals-content .menu,
.page-change-password .menu-verticals-content .menu,
.page-register .menu-verticals-content .menu,
.page-forgotten-details .menu-verticals-content .menu,
.page-register-variation1 .menu-verticals-content .menu,
.page-forgotten-password .menu-verticals-content .menu,
.page-code-verification .menu-verticals-content .menu,
.page-update-password .menu-verticals-content .menu,
.register-1-2-3 .register-number,
.games_menu_spacing_mixin,
.games_category,
.games_menu .spacer,
.view-id-games_nav,
.game_wrapper,
.netplay_game_details,
.double-launch-content .game-wrapper,
.page-game-info .jackpots-slider .jackpot_slider,
.related-content,
.vip-box-wrapper,
.floating_verticals_menu,
.floating_verticals_menu .small_site_logo,
.floating_verticals_menu .betssonChatLink,
.floating_verticals_menu .help-page-link a,
.floating_verticals_menu .js-playtech-chat,
.netplay-gameCategories .search_box,
.games_menu .search_box {
  overflow: hidden;
}
.width100 {
  width: 100%;
}
.width70 {
  width: 70%;
}
.width30 {
  width: 30%;
}
.footnoteStyle {
  font-size: 12px;
  color: #fff;
}
.titleStyle {
  margin: 5px 0;
  font-size: 18px;
  color: #d4b15e;
  text-align: center;
  text-transform: capitalize;
}
.largeTextStyle {
  font-size: 30px;
  font-weight: 700;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
}
.ulReset {
  margin: 0;
  padding: 0;
}
.anchorStyle:hover {
  text-decoration: none;
}
/*  Colours (from identity)
================================================================================*/
/* device width variables
================================================================================*/
/* special methods
================================================================================*/
/* game wrapper for home page */
/*  Fonts
================================================================================*/
@font-face {
  font-family: 'icomoon';
  src: url('/assets/fonts/icomoon.eot');
  src: url('/assets/fonts/icomoon.eot') format('embedded-opentype'), url('/assets/fonts/icomoon.ttf') format('truetype'), url('/assets/fonts/icomoon.woff') format('woff'), url('/assets/fonts/icomoon.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"],
[class*=" icon-"] {
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* icons - should be upadated   */
.icon-back:before {
  content: "\e600";
}
.icon-withdraw:before {
  content: "\e601";
}
.icon-transactions:before {
  content: "\e602";
}
.icon-menu:before {
  content: "\e603";
}
.icon-item:before {
  content: "\e604";
}
.icon-deposit:before {
  content: "\e605";
}
.icon-close:before {
  content: "\e606";
}
.icon-check:before {
  content: "\e607";
}
.icon-arrow:before {
  content: "\e608";
}
.icon-change-password:before {
  content: "\e60b";
}
.icon-magnifying:before {
  content: "\e60a";
}
.inline-block {
  display: inline-block;
  *zoom: 1;
  *display: inline;
}
@media screen and (max-width: 1024px) {
  .only-desktop {
    display: none;
  }
}
.button-style {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
}
.button-style:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.button-style:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.notransition {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;
}
@-webkit-keyframes fade_and_grow_in {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
  90% {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
  }
}
@keyframes fade_and_grow_in {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  90% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.animated {
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -300%, 0);
    transform: translate3d(0, -300%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -300%, 0);
    transform: translate3d(0, -300%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.animated.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}
/*  Test Helpers (May be redundant)
  ================================================================================*/
.fl_right {
  float: right !important;
}
.fl_left {
  float: left !important;
}
/*
layout.less
-----------------------
Author:  Makan J Houston
Contributors:  -
Description:  Layout for FLEX theme - including page structure, component positioning and generic styling
Copyright 2015 NetplayTV plc.

/*  Page Layout
================================================================================*/
.row::after {
  content: "";
  display: table;
  clear: both;
}
.column1-6 {
  display: block;
  float: left;
  width: 16.6666666667%;
}
.column2-6 {
  display: block;
  float: left;
  width: 33.3333333333%;
}
.column3-6 {
  display: block;
  float: left;
  width: 50.0%;
}
.column4-6 {
  display: block;
  float: left;
  width: 66.6666666667%;
}
.column5-6 {
  display: block;
  float: left;
  width: 83.3333333333%;
}
.column6-6 {
  display: block;
  float: left;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .column1-6,
  .column2-6,
  .column3-6,
  .column4-6,
  .column5-6,
  .column6-6 {
    width: 100%;
    position: relative;
  }
}
@media only screen and (max-width: 767px) {
  .column1-6,
  .column2-6,
  .column3-6,
  .column4-6,
  .column5-6,
  .column6-6 {
    width: 100%;
    position: relative;
  }
}
.sidebar-responsive {
  width: 100%;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .sidebar-responsive {
    width: 50%;
    position: relative;
    float: left;
  }
}
@media only screen and (max-width: 567px) {
  .sidebar-responsive {
    width: 100%;
    position: relative;
  }
}
body {
  background: #1A011E;
}
body.noscroll {
  position: fixed;
  overflow: hidden;
  width: 100%;
}
.page {
  margin: 0 auto;
  width: 100%;
}
body.desktop .page {
  max-width: 1000px;
}
.clear {
  clear: both;
}
@media screen and (max-width: 1024px) {
  body.live-vertical .page-content .column2-6 .sidebar-responsive {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  body.live-vertical .page-content .column2-6 .sidebar-responsive #mobile_app_store_badges a {
    display: inline-block;
    margin: 0 5px;
  }
}
body.logged-in .wrapper_overlay.lr .play_for_fun,
body.logged-in .wrapper_overlay.re .play_for_fun,
body.logged-in .wrapper_overlay.rep .play_for_fun {
  display: block !important;
}
/*  Header
================================================================================*/
.region-header {
  z-index: 200;
  height: 183px;
}
@media screen and (max-width: 1024px) {
  .region-header {
    background: #4b0a4a;
    height: 50px;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 2000;
  }
}
@media only screen and (max-width: 567px) {
  .region-header {
    height: 48px;
  }
}
@media only screen and (max-width: 413px) {
  .region-header {
    height: 40px;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .region-header,
  body.smartphone .region-header {
    background: #4b0a4a;
    height: 50px;
    position: fixed;
    top: 0;
    width: 100%;
  }
}
body.standalone .region-header {
  border-top: 20px solid #2d2d2d;
}
/*  Content Header
================================================================================*/
.content-header h1 {
  margin: 0;
  padding: 24px 40px 20px;
}
@media only screen and (max-width: 767px) {
  .content-header h1 {
    padding: 24px 20px 20px;
  }
}
@media only screen and (max-width: 413px) {
  .content-header h1 {
    padding: 20px 10px 10px;
  }
}
/*  Region Banner
================================================================================*/
.region-banner {
  z-index: 1000;
}
.sc-casino .region-banner,
.sc-vegas .region-banner,
.sc-live .region-banner,
.ja-casino .region-banner {
  align-content: flex-start;
  align-items: flex-start;
  display: flex;
  flex-flow: column wrap;
  max-height: 255px;
  overflow-y: hidden;
}
.region-banner:after {
  content: '';
  display: table;
  clear: both;
  height: 0;
}
/*  Content Body
================================================================================*/
.page-content {
  padding-top: 0px;
  margin-top: 0px;
}
.region-content {
  /*   for quicktabs games search   */
}
.region-content .node-page .content,
.region-content .node-terms .content {
  margin: -1px 20px 0;
  padding: 1px 20px 0;
}
@media only screen and (max-width: 767px) {
  .region-content .node-page .content,
  .region-content .node-terms .content {
    margin: -1px 10px 0;
    padding: 1px 10px 0;
  }
}
@media only screen and (max-width: 413px) {
  .region-content .node-page .content,
  .region-content .node-terms .content {
    margin: -1px 5px 0;
    padding: 1px 5px 0;
  }
}
/*  Sidebar
================================================================================*/
body.sidebar-first .region-content .node-page .content,
body.sidebar-first .region-content .node-terms .content {
  margin-right: 10px;
}
body.sidebar-first .messages {
  width: 640px;
  text-align: center;
  margin-bottom: 10px;
}
body.sidebar-first .page .region-sidebar-first > .block {
  margin: 40px 0;
}
/*  Footer
================================================================================*/
.region-footer {
  max-width: 1000px;
  margin: 0 auto;
  clear: both;
  color: #999;
  font-size: 14px;
  padding-top: 6px;
  text-align: center;
}
.region-footer a {
  text-decoration: none;
}
.region-footer ul {
  margin: 0;
  padding: 0;
}
.desktop .region-footer {
  max-width: 1000px;
}
.region-footer .menu {
  padding: 12px 0;
  font-size: 14px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .region-footer .menu {
    display: none;
  }
}
.region-footer .menu ul {
  margin: 0;
  padding: 0;
}
.region-footer .menu li {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  padding: 0px 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.region-footer .menu li.last {
  border-right: none;
}
.region-footer .menu a {
  text-decoration: none;
  color: #fff;
  opacity: 1;
  filter: alpha(opacity=100);
}
.region-footer .menu a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}
.region-footer .view-payment-methods {
  margin: 3px 0;
}
.region-footer .view-payment-methods div {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  padding: 2px;
  opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=70);
  /* IE 5-7 */
}
.region-footer .view-payment-methods img {
  width: 80%;
}
.social_links {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  height: 36px;
  width: 120px;
  line-height: 36px;
  vertical-align: top;
}
.social-icon {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  width: 36px;
  height: 36px;
  background-image: url('/assets/logos/social_icons.png');
  background-repeat: no-repeat;
  opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=70);
  /* IE 5-7 */
  text-indent: -10000px;
}
.social-icon.facebook {
  background-position: 0 0;
  margin-top: -10px;
}
.social-icon.facebook:hover {
  background-position: 0 -36px;
}
.social-icon.twitter {
  background-position: -36px 0;
  margin-top: -10px;
}
.social-icon.twitter:hover {
  background-position: -36px -36px;
}
/* hack for firefox */
body:not(:-moz-handler-blocked) .social-icon.facebook {
  margin-top: -8px;
}
body:not(:-moz-handler-blocked) .social-icon.twitter {
  margin-top: -8px;
}
.corporate_icons {
  display: inline-block;
  *zoom: 1;
  *display: inline;
}
.corporate_icons div {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  height: 36px;
  padding: 0 10px;
  opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=70);
  /* IE 5-7 */
}
/*  --- payment method in footer for responsive ---  */
.region-footer {
  border-top: 2px solid;
  border-top-color: #f3e5f4;
}
@media screen and (max-width: 1024px) {
  .region-footer {
    padding: 0 20px;
    border-top: none;
  }
}
@media only screen and (max-width: 413px) {
  .region-footer .view-payment-methods {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .region-footer .view-payment-methods .views-row.views-row-4 {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .region-footer .view-payment-methods .views-row.views-row-7 {
    display: none;
  }
}
@media only screen and (max-width: 413px) {
  .region-footer .view-payment-methods .views-row.views-row-11 {
    display: none;
  }
}
@media only screen and (max-width: 413px) {
  .region-footer .view-payment-methods img {
    max-width: 100%;
    max-height: 100%;
    font-size: 0;
    width: auto;
    height: auto;
  }
}
.region-footer .view-payment-methods div {
  padding: 0;
}
@media only screen and (max-width: 413px) {
  .region-footer .view-payment-methods div {
    width: 19%;
    margin-right: 5%;
    float: left;
    opacity: 1;
  }
}
@media screen and (max-width: 1024px) {
  .region-footer .view-payment-methods div.view-content {
    border-top: 1px solid;
    border-top: none;
    border-bottom: 1px solid;
    border-bottom: none;
    margin: 10px 0;
    padding: 5px 0 0 0;
  }
}
@media only screen and (max-width: 413px) {
  .region-footer .view-payment-methods div.view-content {
    width: 95%;
    padding-left: 5%;
  }
}
.region-footer .footer-app-buttons {
  display: none;
}
@media screen and (max-width: 1024px) {
  .region-footer .footer-app-buttons {
    display: block;
    text-align: center;
    margin: 15px 0;
  }
}
.region-footer .footer-app-buttons ul li {
  display: inline-block;
  margin-right: 10px;
}
.region-footer .footer-mobile-menu {
  display: none;
}
@media screen and (max-width: 1024px) {
  .region-footer .footer-mobile-menu {
    display: block;
    text-align: center;
    margin-top: 15px;
  }
}
.region-footer .footer-mobile-menu ul li {
  display: inline-block;
  margin: 0px 10px;
  font-size: 13px;
  vertical-align: top;
}
.region-footer .footer-mobile-menu a {
  text-decoration: underline;
  color: #fff;
}
.region-footer .footer-mobile-menu a:hover {
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .region-footer .footer-mobile-menu a .rwd-inline {
    display: inline;
  }
}
@media only screen and (max-width: 413px) {
  .region-footer .footer-mobile-menu a .rwd-inline {
    display: block;
  }
}
.footer-social-corporate {
  margin-top: 0px;
}
.footer-social-corporate ul li {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  margin: 10px 12px;
  opacity: 0.7;
}
.footer-social-corporate ul li a {
  height: 36px;
  vertical-align: top;
}
@media screen and (max-width: 1024px) {
  .footer-social-corporate ul li {
    margin: 10px 7px;
  }
}
@media only screen and (max-width: 567px) {
  .footer-social-corporate ul li {
    margin: 10px 4px ;
  }
}
@media only screen and (max-width: 413px) {
  .footer-social-corporate ul li {
    margin: 10px 7px;
  }
}
.footer_legal_text {
  margin-bottom: 15px;
}
.footer_legal_text ul li {
  list-style-type: none;
  margin: 0;
  padding: 0;
  color: #fff;
  opacity: 1;
  filter: alpha(opacity=100);
}
@media screen and (max-width: 1024px) {
  .footer_legal_text ul li {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
    /* IE 8 */
    filter: alpha(opacity=100);
    /* IE 5-7 */
    font-size: 12px;
    padding: 0;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .footer_legal_text ul li {
    font-size: 11px;
  }
}
@media only screen and (max-width: 413px) {
  .footer_legal_text ul li {
    font-size: 10px;
  }
}
ul.footer_legal_text {
  list-style-type: none;
  margin: 10px 0;
  padding: 0;
}
/*  Pop-ups
================================================================================*/
.region-popups .block {
  display: none;
}
.cashier-overlay-class #sb-title,
.video-overlay-class #sb-title,
.waiting_messages #sb-title {
  display: none;
}
.cashier-overlay-class #sb-info,
.video-overlay-class #sb-info,
.waiting_messages #sb-info {
  top: 1px;
  right: 6px;
}
/*  Waiting Messages
------------------------------------------------------------ */
.waiting_messages {
  text-align: center;
}
.waiting_messages .ok,
.waiting_messages .accept,
.waiting_messages .decline,
.waiting_messages .next,
.waiting_messages .previous {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  margin: 10px;
  width: 65px;
}
.waiting_messages .ok:hover,
.waiting_messages .accept:hover,
.waiting_messages .decline:hover,
.waiting_messages .next:hover,
.waiting_messages .previous:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.waiting_messages .ok:active,
.waiting_messages .accept:active,
.waiting_messages .decline:active,
.waiting_messages .next:active,
.waiting_messages .previous:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
/*  ScrollBar
================================================================================*/
.scroll-wrapper {
  overflow: hidden !important;
  padding: 0 !important;
}
.scroll-wrapper > .scroll-content {
  border: none !important;
  box-sizing: content-box !important;
  height: auto;
  left: 0;
  margin: 0;
  max-height: none !important;
  max-width: none !important;
  overflow: scroll !important;
  padding: 0;
  position: relative !important;
  top: 0;
  width: auto !important;
}
.scroll-wrapper > .scroll-content::-webkit-scrollbar {
  height: 0;
  width: 0;
}
.scroll-element {
  display: none;
}
.scroll-element,
.scroll-element div {
  box-sizing: content-box;
}
.scroll-element.scroll-x.scroll-scrollx_visible,
.scroll-element.scroll-y.scroll-scrolly_visible {
  display: block;
}
.scroll-element .scroll-bar,
.scroll-element .scroll-arrow {
  cursor: default;
}
.scroll-textarea {
  border: 1px solid #cccccc;
  border-top-color: #999999;
}
.scroll-textarea > .scroll-content {
  overflow: hidden !important;
}
.scroll-textarea > .scroll-content > textarea {
  border: none !important;
  box-sizing: content-box;
  height: 100% !important;
  margin: 0;
  max-height: none !important;
  max-width: none !important;
  overflow: scroll !important;
  outline: none;
  padding: 2px;
  position: relative !important;
  top: 0;
  width: 100% !important;
}
.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {
  height: 0;
  width: 0;
}
/* forgotten details error msg */
.messages.error {
  padding: 10px 20px;
  font-size: 14px;
  margin: 30px auto 0;
  width: 72%;
  text-align: center;
}
#pas-block .messages.error {
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.messages.status {
  padding: 10px 30px;
  margin-bottom: 20px;
  margin-top: -1px;
  font-size: 14px;
  border-top: none;
}
.pas-login .overlay-body {
  padding-bottom: 0;
}
.pas-login .login-overlay-content {
  padding-bottom: 0;
}
.counter-styles {
  text-align: center;
  margin: 0;
  padding-bottom: 10px;
}
.counter-styles .redirect-counter {
  font-size: 20px;
}
/*  Quicktabs
------------------------------------------------------------*/
.quicktabs-wrapper .quicktabs-tabs {
  height: 40px;
  line-height: 40px;
  padding: 0;
  width: 100%;
  font-size: 0px;
  text-align: center;
  text-transform: uppercase;
  vertical-align: middle;
}
.quicktabs-wrapper .quicktabs-tabs li {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  padding: 0 28px;
}
.quicktabs-wrapper .quicktabs-tabs li a {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 14px;
  text-decoration: none;
}
/*  General Popup
------------------------------------------------------------*/
#sb-wrapper-inner {
  height: auto !important;
  box-shadow: none;
  border: 0;
}
#sb-body {
  height: auto !important;
}
#sb-body-inner {
  height: auto !important;
  position: static;
}
#sb-player {
  height: auto !important;
}
/*  Basic page
------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .basic-page {
    padding-top: 99px;
  }
}
@media only screen and (max-width: 767px) {
  .basic-page {
    padding-top: 94px;
  }
}
@media only screen and (max-width: 567px) {
  .basic-page {
    padding-top: 94px;
  }
}
@media only screen and (max-width: 413px) {
  .basic-page {
    padding-top: 79px;
  }
}
@media only screen and (max-width: 374px) and (max-height: 666px), only screen and (max-width: 666px) and (max-height: 374px) {
  .basic-page {
    padding-top: 50px;
  }
}
@media only screen and (max-width: 374px) and (max-height: 666px) and (max-width: 414px), only screen and (max-width: 666px) and (max-height: 374px) and (max-width: 414px) {
  .basic-page {
    padding-top: 79px;
  }
}
@media only screen and (orientation: landscape) and (min-aspect-ratio: 13/9) {
  .basic-page.search-bar-enabled {
    padding-top: 48px;
  }
  .basic-page.search-bar-enabled .verticals-content .menu-verticals-content {
    display: none;
  }
  .basic-page.search-bar-enabled .menu-verticals {
    display: none;
  }
}
.basic-page.search-bar-enabled .region-banner {
  display: none;
}
@media screen and (min-width: 1025px) {
  body.tablet .basic-page,
  body.smartphone .basic-page {
    padding-top: 99px;
  }
}
@media screen and (max-width: 1024px) {
  body.tablet .menu-verticals {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  body.standalone .basic-page {
    padding-top: 119px;
  }
}
@media only screen and (max-width: 767px) {
  body.standalone .basic-page {
    padding-top: 114px;
  }
}
@media only screen and (max-width: 567px) {
  body.standalone .basic-page {
    padding-top: 114px;
  }
}
@media only screen and (max-width: 413px) {
  body.standalone .basic-page {
    padding-top: 99px;
  }
}
@media only screen and (max-width: 374px) and (max-height: 666px), only screen and (max-width: 666px) and (max-height: 374px) {
  body.standalone .basic-page {
    padding-top: 70px;
  }
}
@media only screen and (max-width: 374px) and (max-height: 666px) and (max-width: 414px), only screen and (max-width: 666px) and (max-height: 374px) and (max-width: 414px) {
  body.standalone .basic-page {
    padding-top: 99px;
  }
}
@media only screen and (orientation: landscape) and (min-aspect-ratio: 13/9) {
  body.standalone .basic-page.search-bar-enabled {
    padding-top: 68px;
  }
}
@media only screen and (max-width: 767px) {
  .page-content {
    padding-bottom: 0;
  }
}
/*  Bootstrap Modal
------------------------------------------------------------*/
.modal {
  z-index: 4000;
}
.modal-backdrop {
  z-index: 3000;
}
.default-modal {
  display: none;
}
.default-modal .modal-header {
  display: none;
}
.default-modal .modal-dialog {
  margin-left: auto;
  margin-right: auto;
  width: auto;
  height: auto;
}
.default-modal .modal-dialog iframe {
  overflow: auto;
}
.default-modal .modal-dialog .modal-content {
  border: 0;
}
.default-modal .modal-dialog .close {
  top: 4px;
  right: 7px;
  font-size: 24px;
  display: block;
}
.default-modal .modal-dialog .close:hover {
  text-decoration: none;
}
.default-modal .modal-dialog .close:active {
  text-decoration: none;
}
/** Pierre > Bootstrap fix -  we use bootstrap only for the modal and not the layout grid system.
So, I replace all the box-sizing: border-box to content-box
Take a look on this to understand: http://stackoverflow.com/questions/18854259/why-did-bootstrap-3-switch-to-box-sizing-border-box/18858771

!! Important - if one day we use Bootstrap completely for the responsive (grid system), we have to remove these lines !!
------------------------------------------------------------*/
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
* {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
*:before,
*:after {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"] {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
a:hover,
a:focus {
  color: inherit;
}
/** iScroll Scrollbar Style
------------------------------------------------------------*/
.iScrollVerticalScrollbar .iScrollIndicator {
  box-sizing: border-box;
  width: 100%;
  transition-duration: 0ms;
  display: block;
  height: 59px;
  transform: translate(0px, 0px) translateZ(0px);
}
body.ios .iScrollIndicator {
  border-radius: 3px;
  transition-timing-function: cubic-bezier(0.1, 0.57, 0.1, 1);
  background: rgba(0, 0, 0, 0.6);
  width: 4px;
}
body.android .iScrollIndicator {
  border-radius: 0px;
  transition-timing-function: cubic-bezier(0.1, 0.57, 0.1, 1);
  background: rgba(255, 255, 255, 0.3);
  width: 4px;
}
body.ios.standalone .region-footer {
  -webkit-transform: translate3d(0, 0, 0);
}
body.desktop .iScrollIndicator {
  border-radius: 3px;
  transition-timing-function: cubic-bezier(0.1, 0.57, 0.1, 1);
  background: rgba(0, 0, 0, 0.6);
  width: 4px;
}
/*  Clearfix ( change the clearfix style to prevent problem on the layout )
    This fix was originally done for IE6 and IE7 and we don't support this browser anymore.
------------------------------------------------------------*/
.clearfix:after {
  content: '';
  display: table;
  clear: both;
  height: 0;
}
.region.region-head-scripts {
  height: 0;
}
body.page-game-info .block-system {
  visibility: hidden;
}
/* Inline List - Borrowed from Foundation 5 SCSS*/
.inline-list,
.inline-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.inline-list li {
  display: block;
  float: left;
  list-style: none;
}
.inline-list li > * {
  display: block;
}
/* PopUp ################################################################################ */
.ieOverlay {
  z-index: 105;
  background-color: black;
  filter: alpha(opacity=50);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: fixed;
}
.browserSelect {
  width: 700px;
  margin: 0 auto;
  height: 590px;
  position: fixed;
  left: 50%;
  top: 50%;
  margin-left: -350px;
  margin-top: -300px;
  background: #34324b;
  color: white;
  font-family: sans-serif;
  border: 3px solid #1b1a27;
  z-index: 999;
}
.browserSelect h2 {
  margin: 20px 20px 0;
  font-weight: normal;
  text-transform: uppercase;
}
.browserSelect h3 {
  font-weight: normal;
  text-transform: uppercase;
  margin: 0;
  color: #e2ba71;
  line-height: 0.5;
}
.browserSelect .browserTitle {
  text-align: center;
  font-size: 20px;
  margin: 0 0 10px;
}
.browserSelect .column {
  width: 204px;
  float: left;
  margin: 20px 0 0 20px;
  background: #4c4a68;
  height: 330px;
  border: 1px solid #5f5c81;
}
.browserSelect .column.rec {
  border-color: #b6f356;
  margin-bottom: 15px;
}
.browserSelect .column img {
  margin-left: 27px;
}
.browserSelect .description {
  margin: 15px;
  padding-top: 5px;
  border-top: 1px solid #34324b;
  font-size: 14px;
  line-height: 1.4;
}
.browserSelect .bodycopy {
  padding: 0 20px 20px;
  clear: both;
  font-size: 14px;
  line-height: 1.4;
}
.browserSelect .btn {
  color: white;
  padding: 10px;
  background: #239d50;
  text-decoration: none;
  border: 1px solid #2db35e;
  display: block;
  margin: 0 auto;
  width: 80px;
  text-align: center;
}
.browserSelect .btn:hover {
  background: #2bbc60;
}
.browserSelectClose {
  padding: 0px 4px;
  line-height: 0.9;
  font-size: 27px;
  color: #a49fd8;
  border: 1px solid #a49fd8;
  float: right;
  cursor: pointer;
  margin: 20px 20px 0px;
}
.browserSelectClose:hover {
  color: white;
  border-color: white;
}
.recommend {
  display: block;
  color: #b6f356;
  margin: 0 0 0.3em;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
}
/* Category Seo Text (Individual Game Pages) */
.category-items {
  text-align: left;
}
/** Background Image **/
.background_image {
  background-color: #944ea6;
  background-image: url('/assets/backgrounds/background_bingoV2.png');
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 1550px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  /* Chrome flicker fix */
}
/*
pages.less
-----------------------
Author:  Makan J Houston
Contributors:  -
Description:  Styles specific to particular pages
Copyright 2015 NetplayTV plc.
*/
/*  blog pages
================================================================================*/
.node.node-blog .content {
  margin: 0 20px;
}
/*  getting started
================================================================================*/
@media only screen and (max-width: 767px) {
  .page-getting-started .region-content {
    padding-top: 15px;
  }
}
@media screen and (max-width: 1024px) {
  body.page-getting-started .content-header {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  body.page-getting-started .region-content {
    padding-top: 0px;
  }
}
/*  Contact Us page
================================================================================*/
.page-contact-us .region-content a {
  color: #d4b15e;
  text-decoration: none;
}
.page-contact-us .region-content a:hover {
  text-decoration: underline;
}
span.cs-number p {
  display: inline;
}
/*  Faq pages
================================================================================*/
ol.faqs {
  list-style-type: none;
  padding-left: 0;
  margin-top: 50px;
}
/*  Benefits page
================================================================================*/
@media only screen and (max-width: 767px) {
  .page-vip ul.quicktabs-tabs {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .page-vip ul.quicktabs-tabs li {
    padding: 0 17px;
  }
}
@media only screen and (min-width: 768px) {
  .page-vip ul.quicktabs-tabs li {
    padding: 0 11px;
  }
}
@media only screen and (max-width: 767px) {
  .page-vip .view-display-id-vip_quicktabs_content p {
    display: block;
  }
}
.benefit-table {
  margin: 0 auto 50px auto;
  color: #FFF;
  font-size: 0;
}
.benefit-table ul {
  display: inline-block;
  margin: 0;
  padding: 0;
  vertical-align: top;
  text-align: left;
}
.benefit-table li {
  list-style: none;
  display: block;
}
.benefit-table li a {
  text-decoration: none;
  font-size: 14px;
  line-height: 29px;
  padding-left: 5px;
}
@media screen and (max-width: 1024px) {
  .benefit-table {
    display: block;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .benefit-table {
    display: none;
  }
}
ul.description li {
  width: 230px;
  height: 32px;
}
ul.description li h2 {
  font-size: 18px;
  font-weight: bold;
}
ul.description li:nth-child(even) {
  background-color: #544f60;
  background-color: rgba(84, 79, 96, 0.2);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#33544f60, endColorstr=#33544f60);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#33544f60, endColorstr=#33544f60);
}
ul.description li:nth-child(odd) {
  background-color: #1d1a26;
  background-color: rgba(29, 26, 38, 0.3);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d1d1a26, endColorstr=#4d1d1a26);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d1d1a26, endColorstr=#4d1d1a26);
}
ul.description li:first-child {
  height: 185px;
  background: transparent;
}
@media only screen and (max-width: 1023px) {
  ul.description li:first-child {
    height: 163px;
  }
}
@media only screen and (max-width: 1023px) {
  ul.description li {
    width: 220px;
  }
}
ul.red-table {
  margin-top: 68px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  transition: all 0.2s ease-in-out;
}
ul.red-table li {
  width: 142px;
  height: 32px;
  text-align: center;
  font-size: 16px;
  line-height: 30px;
}
@media only screen and (max-width: 1023px) {
  ul.red-table li {
    width: 97px;
  }
}
ul.red-table li:nth-child(odd) {
  background: #30555e;
}
ul.red-table li:nth-child(even) {
  background: #3e5e69;
}
ul.red-table li.badge {
  height: 132px;
}
@media only screen and (max-width: 1023px) {
  ul.red-table li.badge {
    height: 110px;
  }
}
ul.red-table li.badge h3 {
  font-size: 16px;
  line-height: 45px;
  font-weight: normal;
  text-align: center;
  margin: 0 0 5px 0;
}
@media only screen and (max-width: 1023px) {
  ul.red-table li.badge h3 {
    line-height: 30px;
    margin: 0 0 0 0;
  }
}
ul.red-table li.badge span {
  height: 90px;
  width: 110px;
  display: block;
  text-align: center;
  margin-left: 17px;
  margin-top: -13px;
  background-position: -100px 0;
}
@media only screen and (max-width: 1023px) {
  ul.red-table li.badge span {
    margin-left: -6px;
  }
}
@media only screen and (max-width: 1023px) {
  ul.red-table li.badge span {
    background-position: -80px 0;
    background-size: 500%;
    margin-top: 0;
    margin-left: 6px;
  }
}
ul.bronze-table {
  margin-top: 46px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  transition: all 0.2s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  ul.bronze-table {
    margin-top: 57px;
  }
}
ul.bronze-table li {
  width: 142px;
  height: 32px;
  text-align: center;
  font-size: 16px;
  line-height: 30px;
}
@media only screen and (max-width: 1023px) {
  ul.bronze-table li {
    width: 97px;
  }
}
ul.bronze-table li:nth-child(odd) {
  background: #41636d;
}
ul.bronze-table li:nth-child(even) {
  background: #335962;
}
ul.bronze-table li:first-child {
  height: 0px;
}
ul.bronze-table li.badge {
  height: 154px;
}
@media only screen and (max-width: 1023px) {
  ul.bronze-table li.badge {
    height: 121px;
  }
}
ul.bronze-table li.badge h3 {
  font-size: 16px;
  line-height: 45px;
  font-weight: normal;
  text-align: center;
  margin: 0 0 5px 0;
}
@media only screen and (max-width: 1023px) {
  ul.bronze-table li.badge h3 {
    line-height: 30px;
    margin: 0 0 0 0;
  }
}
ul.bronze-table li.badge span {
  height: 90px;
  width: 110px;
  display: block;
  text-align: center;
  margin-left: 17px;
  margin-top: -5px;
  background-position: -220px 0;
}
@media only screen and (max-width: 1023px) {
  ul.bronze-table li.badge span {
    margin-left: -6px;
  }
}
@media only screen and (max-width: 1023px) {
  ul.bronze-table li.badge span {
    background-position: -173px 0;
    background-size: 500%;
    margin-top: 0;
    margin-left: 6px;
  }
}
ul.silver-table {
  margin-top: 30px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  transition: all 0.2s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  ul.silver-table {
    margin-top: 45px;
  }
}
ul.silver-table li {
  width: 142px;
  height: 32px;
  text-align: center;
  font-size: 16px;
  line-height: 30px;
}
@media only screen and (max-width: 1023px) {
  ul.silver-table li {
    width: 97px;
  }
}
ul.silver-table li:first-child {
  height: 0px;
}
ul.silver-table li:nth-child(odd) {
  background: #456a73;
}
ul.silver-table li:nth-child(even) {
  background: #39616b;
}
ul.silver-table li.badge {
  height: 170px;
}
@media only screen and (max-width: 1023px) {
  ul.silver-table li.badge {
    height: 133px;
  }
}
ul.silver-table li.badge h3 {
  font-size: 16px;
  line-height: 45px;
  font-weight: normal;
  text-align: center;
  margin: 0 0 5px 0;
}
@media only screen and (max-width: 1023px) {
  ul.silver-table li.badge h3 {
    line-height: 30px;
    margin: 0 0 0 0;
  }
}
ul.silver-table li.badge span {
  height: 90px;
  width: 110px;
  display: block;
  text-align: center;
  margin-left: 17px;
  background-position: -340px 0;
}
@media only screen and (max-width: 1023px) {
  ul.silver-table li.badge span {
    margin-left: -6px;
  }
}
@media only screen and (max-width: 1023px) {
  ul.silver-table li.badge span {
    background-position: -267px 0;
    background-size: 500%;
    margin-top: 0;
    margin-left: 6px;
  }
}
ul.gold-table {
  margin-top: 15px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  transition: all 0.2s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  ul.gold-table {
    margin-top: 33px;
  }
}
ul.gold-table li {
  width: 142px;
  height: 32px;
  text-align: center;
  font-size: 16px;
  line-height: 30px;
}
@media only screen and (max-width: 1023px) {
  ul.gold-table li {
    width: 97px;
  }
}
ul.gold-table li:first-child {
  height: 0px;
}
ul.gold-table li:nth-child(even) {
  background: #406872;
}
ul.gold-table li:nth-child(odd) {
  background: #4a707b;
}
ul.gold-table li.badge {
  height: 185px;
}
@media only screen and (max-width: 1023px) {
  ul.gold-table li.badge {
    height: 145px;
  }
}
ul.gold-table li.badge h3 {
  font-size: 16px;
  line-height: 45px;
  font-weight: normal;
  text-align: center;
  margin: 0 0 5px 0;
}
@media only screen and (max-width: 1023px) {
  ul.gold-table li.badge h3 {
    line-height: 30px;
    margin: 0 0 0 0;
  }
}
ul.gold-table li.badge span {
  height: 90px;
  width: 110px;
  display: block;
  text-align: center;
  margin-left: 17px;
  background-position: -460px 0;
}
@media only screen and (max-width: 1023px) {
  ul.gold-table li.badge span {
    margin-left: -6px;
  }
}
@media only screen and (max-width: 1023px) {
  ul.gold-table li.badge span {
    background-position: -363px 0;
    background-size: 500%;
    margin-top: 0;
    margin-left: 6px;
  }
}
ul.platinum-table {
  margin-top: 0px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  transition: all 0.2s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  ul.platinum-table {
    margin-top: 21px;
  }
}
ul.platinum-table li {
  width: 142px;
  height: 32px;
  text-align: center;
  font-size: 16px;
  line-height: 30px;
}
@media only screen and (max-width: 1023px) {
  ul.platinum-table li {
    width: 97px;
  }
}
ul.platinum-table li:first-child {
  height: 0px;
}
ul.platinum-table li:nth-child(even) {
  background: #46707c;
}
ul.platinum-table li:nth-child(odd) {
  background: #507882;
}
ul.platinum-table li.badge {
  height: 200px;
}
@media only screen and (max-width: 1023px) {
  ul.platinum-table li.badge {
    height: 158px;
  }
}
ul.platinum-table li.badge h3 {
  font-size: 16px;
  line-height: 45px;
  font-weight: normal;
  text-align: center;
  margin: 0 0 5px 0;
}
@media only screen and (max-width: 1023px) {
  ul.platinum-table li.badge h3 {
    line-height: 30px;
    margin: 0 0 0 0;
  }
}
ul.platinum-table li.badge span {
  height: 90px;
  width: 110px;
  display: block;
  text-align: center;
  margin-left: 17px;
  background-position: -580px 0;
}
@media only screen and (max-width: 1023px) {
  ul.platinum-table li.badge span {
    margin-left: -6px;
  }
}
@media only screen and (max-width: 1023px) {
  ul.platinum-table li.badge span {
    background-position: -455px 0;
    background-size: 500%;
    margin-top: 0;
    margin-left: 6px;
  }
}
ul.red-table:hover,
ul.bronze-table:hover,
ul.silver-table:hover,
ul.gold-table:hover,
ul.platinum-table:hover {
  transform: scale(1.1);
  -ms-transform: scale(1.1);
  -webkit-transform: scale(1.1);
}
span.yes-ico {
  height: 23px;
  width: 32px;
  background-position: -34px -6px;
  display: block;
  margin-left: 35%;
}
.benefit-column {
  width: 142px;
  height: 32px;
  text-align: center;
  font-size: 16px;
  line-height: 30px;
}
@media only screen and (max-width: 1023px) {
  .benefit-column {
    width: 97px;
  }
}
.badge-h3 {
  font-size: 16px;
  line-height: 45px;
  font-weight: normal;
  text-align: center;
  margin: 0 0 5px 0;
}
@media only screen and (max-width: 1023px) {
  .badge-h3 {
    line-height: 30px;
    margin: 0 0 0 0;
  }
}
.badge-span {
  height: 90px;
  width: 110px;
  display: block;
  text-align: center;
  margin-left: 17px;
}
@media only screen and (max-width: 1023px) {
  .badge-span {
    margin-left: -6px;
  }
}
/* toolTips */
a.benefits-tooltips {
  display: inline;
}
a.benefits-tooltips span {
  width: 250px;
  color: #000;
  background: #FFF;
  height: auto;
  text-align: center;
  visibility: hidden;
  border-radius: 6px;
  padding: 10px;
}
a:hover.benefits-tooltips span {
  visibility: visible;
  bottom: 30px;
  left: 50%;
  margin-left: -76px;
  z-index: 999;
  font-size: 14px;
  line-height: 18px;
}
a:hover.benefits-tooltips span:after {
  content: '';
  top: 100%;
  left: 50%;
  margin-left: -8px;
  width: 0;
  height: 0;
  border-top: 8px solid #FFF;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
}
/* Benefit Table Responsive with accordion
================================================================================*/
.vip-accordion {
  -moz-box-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
  margin: 0px auto 0;
  width: 100%;
  display: none;
}
@media only screen and (max-width: 767px) {
  .vip-accordion {
    display: block;
  }
}
.vip-accordion .tab {
  border-top: solid 1px rgba(0, 0, 0, 0.3);
}
.vip-accordion .tab-control-radio {
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
.vip-accordion .tab-control-label {
  color: #FFF;
  cursor: pointer;
  display: block;
  font-weight: bold;
  margin: 0;
  height: 60px;
}
.vip-accordion .tab-control-label h2 {
  font-size: 16px;
  left: 83px;
  margin-top: 10px;
}
.vip-accordion .tab-control-label h3 {
  top: 13px;
  left: 70px;
  font-size: 14px;
  font-weight: normal;
  display: block;
  cursor: pointer;
  width: 90%;
  padding-bottom: 5px;
  padding-left: 12px;
}
@media only screen and (max-width: 767px) {
  .vip-accordion .tab-control-label h3 {
    width: 85%;
  }
}
@media only screen and (max-width: 567px) {
  .vip-accordion .tab-control-label h3 {
    width: 75%;
  }
}
@media only screen and (max-width: 413px) {
  .vip-accordion .tab-control-label h3 {
    width: 65%;
  }
}
.vip-accordion .tab-control-radio:checked ~ .tab-control-label span {
  right: 20px;
  top: 25px;
  width: 16px;
  height: 10px;
  background-position: -42px -493px;
  text-indent: -9999px;
}
.vip-accordion .red-badge h4 {
  background-position: 0 0;
  display: block;
  height: 55px;
  width: 55px;
  text-align: center;
  text-indent: -999px;
  background-size: 100%;
  top: 3px;
  left: 10px;
  margin: 0;
}
.vip-accordion .bronze-badge h4 {
  background-position: 0 -60px;
  display: block;
  height: 55px;
  width: 55px;
  text-align: center;
  text-indent: -999px;
  background-size: 100%;
  top: 3px;
  left: 10px;
  margin: 0;
}
.vip-accordion .silver-badge h4 {
  background-position: 0 -118px;
  display: block;
  height: 55px;
  width: 55px;
  text-align: center;
  text-indent: -999px;
  background-size: 100%;
  top: 3px;
  left: 10px;
  margin: 0;
}
.vip-accordion .gold-badge h4 {
  background-position: 0 -176px;
  display: block;
  height: 55px;
  width: 55px;
  text-align: center;
  text-indent: -999px;
  background-size: 100%;
  top: 3px;
  left: 10px;
  margin: 0;
}
.vip-accordion .platinum-badge h4 {
  background-position: 0 -233px;
  display: block;
  height: 55px;
  width: 55px;
  text-align: center;
  text-indent: -999px;
  background-size: 100%;
  top: 3px;
  left: 10px;
  margin: 0;
}
.vip-accordion .badge-style {
  display: block;
  height: 55px;
  width: 55px;
  text-align: center;
  text-indent: -999px;
  background-size: 100%;
  top: 3px;
  left: 10px;
  margin: 0;
}
.vip-accordion .tab-one {
  background-color: #30555e;
}
.vip-accordion .tab-two {
  background-color: #41636d;
}
.vip-accordion .tab-three {
  background-color: #456a73;
}
.vip-accordion .tab-four {
  background-color: #406872;
}
.vip-accordion .tab-five {
  background-color: #46707c;
}
.vip-accordion .tab-control-radio ~ .tab-content:before {
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.3);
  display: block;
  content: "";
  top: 0;
}
.vip-accordion .tab-content ul {
  margin: 10px 0 0;
  padding-bottom: 10px;
}
.vip-accordion .tab-content li {
  list-style: none;
  font-size: 14px;
  margin-bottom: 0;
}
.vip-accordion .tab-content li:before {
  content: "";
  line-height: 1em;
  width: 4px;
  height: 4px;
  background-color: #FFF;
  float: left;
  margin: 8px 7px 0 30px;
  border-radius: 50%;
}
@media only screen and (max-width: 767px) {
  .vip-accordion .tab-content .rwd-inline {
    display: inline;
  }
}
@media only screen and (max-width: 413px) {
  .vip-accordion .tab-content .rwd-inline {
    display: block;
    padding-left: 43px;
  }
}
/* close vip accordion */
/* Alternative games
================================================================================*/
.page-alternatives .region-content {
  padding: 0 20px 20px;
}
/**SIMPLE INNER SCROLLBAR ***************/
.game_info_content.scroll-content.scroll-scrolly_visible > p {
  margin-right: 15px;
}
.game_info_content > .scroll-element,
.game_info_content > .scroll-element div {
  border: none;
  margin: 0;
  padding: 0;
  z-index: 555;
}
.game_info_content > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}
.game_info_content > .scroll-element.scroll-x {
  bottom: 2px;
  height: 8px;
  left: 0;
  width: 100%;
}
.game_info_content > .scroll-element.scroll-y {
  height: 100%;
  right: 2px;
  top: 0;
  width: 8px;
}
.game_info_content > .scroll-element .scroll-element_outer,
.game_info_content > .scroll-element .scroll-element_track,
.game_info_content > .scroll-element .scroll-bar {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
.game_info_content > .scroll-element .scroll-element_track,
.game_info_content > .scroll-element .scroll-bar {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=99)";
  filter: alpha(opacity=90);
  opacity: 0.9;
}
.game_info_content > .scroll-element .scroll-element_track {
  background: url(/assets/general/scroll_track.png) repeat-y 2px 0 transparent;
}
/*.game_info_content > .scroll-element .scroll-element_track { background-color: #e0e0e0; }*/
.game_info_content > .scroll-element .scroll-bar {
  background-color: #574B71;
}
.game_info_content > .scroll-element:hover .scroll-bar {
  background-color: #6c5d93;
}
.game_info_content > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #6c5d93;
}
/* update scrollbar offset if both scrolls are visible */
.game_info_content > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -12px;
}
.game_info_content > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -12px;
}
.game_info_content > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -12px;
}
.game_info_content > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -12px;
}
/* terms and conditions accept page  */
#terms-accept-wrapper > li {
  list-style: none;
  display: inline-block;
  margin: 20px 50px 20px 0;
}
/* Welcome Page
================================================================================*/
.page-welcome #content-header {
  display: none;
}
.page-welcome h1.title {
  display: none;
}
.page-welcome #block-system-main .cashier {
  width: 140px;
  padding: 10px 0;
  margin-bottom: 10px;
}
.page-welcome .welcome-payment-methods {
  padding-bottom: 10px;
}
.page-welcome .welcome_header {
  margin: 30px auto 15px;
  color: #fff;
  font-size: 32px;
  text-align: center;
  text-transform: uppercase;
}
@media screen and (max-width: 1024px) {
  .page-welcome .welcome_header {
    font-size: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .page-welcome .welcome_header {
    font-size: 20px;
  }
}
@media only screen and (max-width: 567px) {
  .page-welcome .welcome_header {
    font-size: 18px;
  }
}
.page-welcome .welcome_panels {
  padding: 0;
  font-size: 0;
}
.page-welcome .welcome_panels li {
  width: 30%;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
  margin: 20px 15px 0 15px;
}
.page-welcome .welcome_panels li:last-child {
  border-bottom: none;
}
.page-welcome .welcome_panels li img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 1024px) {
  .page-welcome .welcome_panels li {
    width: 31%;
    margin-left: 5px;
    margin-right: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .page-welcome .welcome_panels li {
    width: 50%;
    height: auto;
    padding-bottom: 5px;
    border-bottom: 1px solid #3f3952;
    margin: 0 auto 40px auto;
    display: block;
  }
}
@media only screen and (max-width: 567px) {
  .page-welcome .welcome_panels li {
    width: 75%;
    height: auto;
    padding-bottom: 20px;
    border-bottom: 1px solid #3f3952;
    margin: 0 auto 70px auto;
    display: block;
  }
}
@media only screen and (max-width: 413px) {
  .page-welcome .welcome_panels li {
    display: block;
    width: 80%;
    height: auto;
    border-bottom: 1px solid #3f3952;
    margin: 0 auto 40px auto;
    padding: 30px 0 20px 0;
  }
}
.page-welcome .welcome_panels li .button-style {
  font-size: 20px;
  color: #FFF;
  display: block;
  width: 90%;
  margin: 0 auto;
  padding: 10px;
  margin-top: 20px;
}
.page-welcome .page-welcome #block-system-main .cashier {
  width: 60%;
}
.page-welcome .welcome_panels a.terms_link {
  display: block;
  text-align: center;
  font-size: 12px;
  font-weight: normal;
  text-transform: uppercase;
  margin-top: 10px;
}
.page-welcome .welcome_panels li.MatchDepositBonus a.terms_link {
  bottom: 5px;
}
.page-welcome .bonus_warning_message {
  width: 90%;
  margin: 30px auto 0;
  font-size: 12px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .page-welcome .bonus_warning_message {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .page-welcome .bonus_warning_message {
    font-size: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .page-welcome .bonus_warning_message a {
    text-decoration: underline;
  }
}
.page-welcome .live-vertical .bonus_warning_message,
.page-welcome .live-vertical .bonus_warning_message a {
  color: #896e47;
}
.page-welcome .vegas-vertical .bonus_warning_message,
.page-welcome .vegas-vertical .bonus_warning_message a {
  color: #89476e;
}
.page-welcome .secondary_panels {
  margin-top: 10px;
  padding: 0;
  text-align: center;
  font-size: 0;
}
.page-welcome .secondary_panels .js-playtech-chat {
  margin-bottom: 10px;
}
.page-welcome .secondary_panels li {
  width: 460px;
  height: 200px;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  font-size: 13px;
  vertical-align: top;
}
@media screen and (max-width: 1024px) {
  .page-welcome .secondary_panels li {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .page-welcome .secondary_panels li {
    width: 100%;
    height: auto;
  }
}
.page-welcome .mobile_cta a {
  padding: 6px 20px;
  display: block;
}
@media only screen and (max-width: 767px) {
  .page-welcome .mobile_cta a {
    display: inline-block;
    padding: 6px 5px;
  }
}
.page-welcome .support_options .telephone_support {
  width: 220px;
  text-align: left;
  margin: 0 auto;
  color: white;
  padding-bottom: 3px;
}
@media only screen and (max-width: 767px) {
  .page-welcome .support_options .telephone_support {
    width: 70%;
  }
}
@media only screen and (max-width: 567px) {
  .page-welcome .support_options .telephone_support {
    width: 90%;
  }
}
.page-welcome .support_options .telephone_support span {
  float: right;
}
.page-welcome .support_options .email_support {
  width: 220px;
  text-align: center;
  margin: 0 auto;
}
.page-welcome .secondary_panels h2 {
  margin: 20px 0;
}
@media only screen and (max-width: 767px) {
  .page-welcome .secondary_panels h2 {
    font-size: 18px;
  }
}
.page-welcome .iscroll-page .welcome_panels li {
  background-size: 100%;
}
.page-welcome .iscroll-page .secondary_panels li {
  width: 49%;
}
.page-welcome .iscroll-page .support_options .js-playtech-chat {
  display: none;
}
.page-welcome .iscroll-page .support_options .telephone_support,
.page-welcome .iscroll-page .support_options .email_support {
  margin: 0 auto;
}
.page-welcome .ios .android_link,
.page-welcome .android .app_store_link {
  display: none;
}
.page-welcome .primary-button {
  text-transform: uppercase;
  font-size: 30px;
  border-radius: 2px;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}
/* Personal Details updated page
================================================================================*/
body.page-personal-details-updated .page-content {
  min-height: 350px;
}
@media only screen and (max-width: 767px) {
  body.page-personal-details-updated .page-content {
    min-height: 250px;
  }
}
@media only screen and (max-width: 567px) {
  body.page-personal-details-updated .page-content {
    min-height: 200px;
  }
}
@media only screen and (max-width: 413px) {
  body.page-personal-details-updated .page-content {
    min-height: 100px;
  }
}
body.page-personal-details-updated .page-content h1 {
  text-align: center;
  padding-top: 50px;
}
body.page-personal-details-updated .page-content p {
  text-align: center;
  margin-top: 50px;
}
.page-vip .content-header {
  display: none;
}
.page-vip .region-content .node-page .content {
  padding: 0;
}
.vip-logo::after {
  content: " ";
  display: block;
  padding-bottom: 300px;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .vip-logo::after {
    padding-bottom: 210px;
  }
}
.vip-separation {
  margin-top: 2%;
}
@media only screen and (min-width: 768px) {
  .vip-separation {
    width: 50%;
    text-align: justify;
    box-sizing: border-box;
    float: left;
    padding-right: 2%;
    margin-bottom: 5%;
    border-right: 1px solid #6b5b3f;
  }
  .vip-separation:nth-child(2n) {
    padding-left: 2%;
    border: none;
  }
}
@media only screen and (max-width: 455px) {
  .vip-separation {
    border: none;
    border-bottom: solid 1px #6b5b3f;
  }
  * > .vip-separation:last-child {
    border-bottom: none;
  }
}
@media only screen and (min-width: 768px) {
  .vip-separation h3 {
    margin-top: 0;
  }
}
/*  Sidebar Blocks
================================================================================*/
/* Live Help Chat block
------------------------------------------------------------ */
body.sidebar-first .page .region-sidebar-first .block-playtech-chat {
  margin-top: 60px;
  text-align: center;
}
body.sidebar-first .page .region-sidebar-first .block-playtech-chat h3 {
  text-transform: uppercase;
}
body.sidebar-first .page .region-sidebar-first .block-playtech-chat .live-help-chat p {
  font-size: 14px;
}
body.sidebar-first .page .region-sidebar-first .block-playtech-chat .live-help-phone p {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  width: 36%;
  font-size: 12px;
}
body.sidebar-first .page .region-sidebar-first .block-playtech-chat .live-help-email p {
  font-size: 12px;
}
body.sidebar-first .page .region-sidebar-first .block-playtech-chat .js-playtech-chat img {
  cursor: pointer;
}
@media only screen and (max-width: 413px) {
  body.sidebar-first .page .region-sidebar-first .block {
    margin-top: 10px;
  }
}
body.smartphone .js-playtech-chat,
body.tablet .js-playtech-chat {
  display: none;
}
/*  Channel 5 Block
----------------------------------------*/
.play-live-on-five {
  left: 266px;
  top: 32px;
}
/*  RESPONSIVE STYLES
------------------------------------------- */
.site-logo {
  display: block;
}
@media screen and (max-width: 1024px) {
  .site-logo {
    display: block;
    text-align: center;
    margin: 0 auto;
    height: 35px;
  }
}
@media only screen and (max-width: 767px) {
  .site-logo {
    height: 37px;
    overflow: hidden;
  }
}
@media only screen and (max-width: 567px) {
  .site-logo {
    height: 33px;
    margin-top: 3px;
  }
}
@media only screen and (max-width: 413px) {
  .site-logo {
    height: 31px;
  }
}
@media screen and (max-width: 1024px) {
  .site-logo img,
  .site-logo object {
    width: 173px;
  }
}
@media only screen and (max-width: 767px) {
  .site-logo img,
  .site-logo object {
    width: 160px;
  }
}
@media only screen and (max-width: 567px) {
  .site-logo img,
  .site-logo object {
    width: 148px;
  }
}
@media only screen and (max-width: 413px) {
  .site-logo img,
  .site-logo object {
    width: 134px;
  }
}
.site-logo:after {
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 73px;
}
@media screen and (max-width: 1024px) {
  .site-logo:after {
    height: 35px;
  }
}
@media only screen and (max-width: 767px) {
  .site-logo:after {
    height: 37px;
  }
}
@media only screen and (max-width: 567px) {
  .site-logo:after {
    height: 33px;
  }
}
@media only screen and (max-width: 413px) {
  .site-logo:after {
    height: 31px;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .site-logo,
  body.smartphone .site-logo {
    display: block;
    text-align: center;
    margin: 0 auto;
    height: 35px;
  }
  body.tablet .site-logo img,
  body.smartphone .site-logo img,
  body.tablet .site-logo object,
  body.smartphone .site-logo object {
    width: 173px;
  }
  body.tablet .site-logo.auth-logo,
  body.smartphone .site-logo.auth-logo {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .auth-logo {
    display: none;
  }
}
.block-lobby-components.logo {
  top: 25px;
  left: 20px;
  display: block;
  width: 197px;
  height: 34px;
}
@media screen and (max-width: 1024px) {
  .block-lobby-components.logo {
    top: 9px;
    left: 0;
    width: 100%;
    height: 42px;
    /* container has 8px padding */
    z-index: 9;
  }
}
@media only screen and (max-width: 567px) {
  .block-lobby-components.logo {
    top: 5px;
  }
}
@media only screen and (max-width: 413px) {
  .block-lobby-components.logo {
    top: 3px;
    left: 0;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .block-lobby-components.logo,
  body.smartphone .block-lobby-components.logo {
    top: 9px;
    left: 0;
    width: 100%;
    height: 42px;
    /* container has 8px padding */
  }
}
/* responsive header buttons */
.responsive-header-buttons {
  display: none;
}
.responsive-header-buttons .register-button,
.responsive-header-buttons .action-button {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #637d85;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#637d85), to(#50656d));
  background: -webkit-linear-gradient(#637d85, #50656d);
  background: -moz-linear-gradient(top, #637d85, #50656d);
  background: linear-gradient(#637d85, #50656d);
  font-size: 13px;
  margin-left: 9px;
  margin-top: 9px;
  float: left;
  z-index: 999;
}
.responsive-header-buttons .register-button:hover,
.responsive-header-buttons .action-button:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.responsive-header-buttons .register-button:active,
.responsive-header-buttons .action-button:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
@media only screen and (max-width: 567px) {
  .responsive-header-buttons .register-button,
  .responsive-header-buttons .action-button {
    margin-top: 8px;
    margin-left: 6px;
  }
}
@media only screen and (max-width: 413px) {
  .responsive-header-buttons .register-button,
  .responsive-header-buttons .action-button {
    margin: 4px;
  }
}
.responsive-header-buttons .action-button {
  padding: 1px 0;
}
.responsive-header-buttons .action-button .action-button-inner {
  font-size: 13px;
  padding: 0.6em 1em;
}
.responsive-header-buttons .account-button {
  display: none;
}
@media screen and (max-width: 1024px) {
  .responsive-header-buttons .account-button {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .responsive-header-buttons .account-button {
    max-width: 45px;
  }
}
@media only screen and (max-width: 567px) {
  .responsive-header-buttons .account-button {
    max-width: 37px;
    font-size: 13px;
    padding: 8px 8px;
  }
}
@media only screen and (max-width: 413px) {
  .responsive-header-buttons .account-button {
    padding: 8px 12px;
  }
}
.responsive-header-buttons .register-button {
  box-sizing: border-box;
  display: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .responsive-header-buttons .register-button {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .responsive-header-buttons .register-button {
    display: block;
    padding: 8px 10px;
  }
}
@media only screen and (max-width: 567px) {
  .responsive-header-buttons .register-button {
    display: none;
    padding: 8px 5px;
  }
}
@media only screen and (max-width: 414px) {
  .responsive-header-buttons .register-button {
    display: none;
  }
}
.responsive-header-buttons .register-button:hover {
  background: #c1f018;
}
.responsive-header-buttons .register-button:active {
  background-color: #86a711;
}
.responsive-header-buttons .register-button:hover {
  text-decoration: none;
}
.responsive-header-buttons .register-button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.responsive-header-buttons .register-button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
@media screen and (max-width: 1024px) {
  .responsive-header-buttons {
    z-index: 99;
    display: block;
    float: left;
    width: 33.3333333333%;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .responsive-header-buttons,
  body.smartphone .responsive-header-buttons {
    z-index: 99;
    display: block;
    float: left;
    width: 33.3333333333%;
  }
  body.tablet .responsive-header-buttons .account-button,
  body.smartphone .responsive-header-buttons .account-button {
    display: block;
  }
  body.tablet .responsive-header-buttons .register-button,
  body.smartphone .responsive-header-buttons .register-button {
    display: block;
  }
}
/************************************************
 *  Deposit/Login Button and the  Back Button
 */
.deposit-button {
  display: none;
}
@media screen and (max-width: 1024px) {
  .deposit-button {
    display: block;
    position: absolute;
    top: 9px;
    left: 5px;
    font-size: 13px;
    z-index: 99;
  }
}
@media only screen and (max-width: 567px) {
  .deposit-button {
    top: 4px;
    left: 4px;
  }
}
.deposit-button .cashier {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  text-shadow: 0 2px 1px rgba(0, 0, 0, 0.5);
}
.deposit-button .cashier:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.deposit-button .cashier:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.deposit-button .cashier:hover {
  background: #c1f018;
}
.deposit-button .cashier:active {
  background-color: #86a711;
}
.deposit-button .cashier:hover {
  text-decoration: none;
}
.deposit-button .cashier.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.deposit-button .cashier.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
@media only screen and (max-width: 567px) {
  .deposit-button .cashier {
    font-size: 13px;
    padding: 7px 15px;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .deposit-button,
  body.smartphone .deposit-button {
    display: block;
    position: absolute;
    top: 9px;
    left: 5px;
    font-size: 13px;
    z-index: 99;
  }
}
body.desktop .deposit-button,
body.desktop .responsive-header-buttons {
  display: none;
}
@media screen and (max-width: 1024px) {
  body.desktop .deposit-button,
  body.desktop .responsive-header-buttons {
    display: block;
  }
}
body.tablet.page-terms-and-conditions .deposit-button,
body.smartphone.page-terms-and-conditions .deposit-button,
body.tablet.page-privacy-policy .deposit-button,
body.smartphone.page-privacy-policy .deposit-button,
body.tablet.page-enjoy-responsibly .deposit-button,
body.smartphone.page-enjoy-responsibly .deposit-button,
body.tablet.page-responsible-gambling .deposit-button,
body.smartphone.page-responsible-gambling .deposit-button,
body.tablet.page-game-info .deposit-button,
body.smartphone.page-game-info .deposit-button,
body.tablet.node-type-promotions.page-promotions .deposit-button,
body.smartphone.node-type-promotions.page-promotions .deposit-button,
body.tablet.page-contact-us .deposit-button,
body.smartphone.page-contact-us .deposit-button,
body.tablet.node-type-presenter.page-presenters .deposit-button,
body.smartphone.node-type-presenter.page-presenters .deposit-button,
body.tablet.page-getting-started .deposit-button,
body.smartphone.page-getting-started .deposit-button,
body.tablet.page-terms-and-conditions .responsive-header-buttons,
body.smartphone.page-terms-and-conditions .responsive-header-buttons,
body.tablet.page-privacy-policy .responsive-header-buttons,
body.smartphone.page-privacy-policy .responsive-header-buttons,
body.tablet.page-enjoy-responsibly .responsive-header-buttons,
body.smartphone.page-enjoy-responsibly .responsive-header-buttons,
body.tablet.page-responsible-gambling .responsive-header-buttons,
body.smartphone.page-responsible-gambling .responsive-header-buttons,
body.tablet.page-game-info .responsive-header-buttons,
body.smartphone.page-game-info .responsive-header-buttons,
body.tablet.node-type-promotions.page-promotions .responsive-header-buttons,
body.smartphone.node-type-promotions.page-promotions .responsive-header-buttons,
body.tablet.page-contact-us .responsive-header-buttons,
body.smartphone.page-contact-us .responsive-header-buttons,
body.tablet.node-type-presenter.page-presenters .responsive-header-buttons,
body.smartphone.node-type-presenter.page-presenters .responsive-header-buttons,
body.tablet.page-getting-started .responsive-header-buttons,
body.smartphone.page-getting-started .responsive-header-buttons {
  display: none;
}
.responsive-header-balance {
  display: none;
}
.responsive-header-balance .deposit-button {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #77d665;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#77d665), to(#1d9446));
  background: -webkit-linear-gradient(#77d665, #1d9446);
  background: -moz-linear-gradient(top, #77d665, #1d9446);
  background: linear-gradient(#77d665, #1d9446);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  position: absolute;
  font-size: 13px;
}
.responsive-header-balance .deposit-button:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.responsive-header-balance .deposit-button:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.responsive-header-balance .balance {
  z-index: 999;
  margin: 0 auto;
  display: block;
  width: 33.3333333333%;
  min-width: 150px;
}
@media screen and (max-width: 1024px) {
  .responsive-header-balance .balance {
    top: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .responsive-header-balance .balance {
    top: 0px;
  }
}
@media only screen and (max-width: 413px) {
  .responsive-header-balance .balance {
    top: 0px;
  }
}
.responsive-header-balance .balance .username {
  color: #c9a04f;
  display: block;
}
@media screen and (max-width: 1024px) {
  .responsive-header-balance .balance .username {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .responsive-header-balance .balance .username {
    font-size: 16px;
  }
}
@media only screen and (max-width: 413px) {
  .responsive-header-balance .balance .username {
    font-size: 14px;
  }
}
.responsive-header-balance .balance .username a {
  text-decoration: none;
}
.responsive-header-balance .balance .js-total-balance {
  color: #fff;
  display: block;
}
@media screen and (max-width: 1024px) {
  .responsive-header-balance .balance .js-total-balance {
    font-size: 18px;
    line-height: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .responsive-header-balance .balance .js-total-balance {
    font-size: 16px;
  }
}
@media only screen and (max-width: 413px) {
  .responsive-header-balance .balance .js-total-balance {
    font-size: 14px;
  }
}
.responsive-header-balance .balance a {
  text-decoration: none;
}
@media screen and (max-width: 1024px) {
  .responsive-header-balance {
    display: block;
    text-align: center;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .responsive-header-balance,
  body.smartphone .responsive-header-balance {
    display: block;
    text-align: center;
  }
  body.tablet .responsive-header-balance .balance,
  body.smartphone .responsive-header-balance .balance {
    z-index: 999;
    margin: 0 auto;
    display: block;
    float: left;
    width: 33.3333333333%;
    top: 0px;
  }
  body.tablet .responsive-header-balance .balance .username,
  body.smartphone .responsive-header-balance .balance .username {
    color: #c9a04f;
    display: block;
    font-size: 18px;
  }
  body.tablet .responsive-header-balance .balance .js-total-balance,
  body.smartphone .responsive-header-balance .balance .js-total-balance {
    color: #fff;
    display: block;
    font-size: 18px;
    line-height: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .play-live-on-five {
    display: none;
  }
}
body.tablet .play-live-on-five,
body.smartphone .play-live-on-five {
  display: none;
}
@media screen and (max-width: 1024px) {
  .playtech-login-block {
    display: none !important;
  }
}
body.tablet .playtech-login-block,
body.smartphone .playtech-login-block {
  display: none;
}
@media screen and (max-width: 1024px) {
  .support-buttons {
    display: none;
  }
}
body.tablet .support-buttons,
body.smartphone .support-buttons {
  display: none;
}
@media screen and (max-width: 1024px) {
  .FLEX-account-block {
    z-index: 9;
  }
}
@media screen and (max-width: 1024px) {
  .FLEX-account-block #account_box {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .FLEX-account-block {
    display: none;
  }
}
body.tablet .FLEX-account-block,
body.smartphone .FLEX-account-block {
  display: none;
}
/* -----  responsive mobile-tablet menu button in icon -----  */
.responsive-menu-button {
  display: none;
}
@media screen and (max-width: 1024px) {
  .responsive-menu-button {
    display: block;
    z-index: 999;
    top: 0px;
    right: 0px;
    color: #FFF;
  }
  .responsive-menu-button a {
    text-decoration: none;
    display: block;
    color: #FFF;
  }
  .responsive-menu-button a:hover {
    color: #FFF;
  }
  .responsive-menu-button .icon-menu {
    font-size: 32px;
    padding: 9px 10px;
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .responsive-menu-button .icon-menu {
    font-size: 36px;
    padding: 7px 12px;
    display: block;
  }
}
@media only screen and (max-width: 567px) {
  .responsive-menu-button .icon-menu {
    font-size: 34px;
  }
}
@media only screen and (max-width: 413px) {
  .responsive-menu-button .icon-menu {
    font-size: 26px;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .responsive-menu-button,
  body.smartphone .responsive-menu-button {
    display: block;
    z-index: 999;
    top: 0px;
    right: 0px;
  }
  body.tablet .responsive-menu-button a,
  body.smartphone .responsive-menu-button a {
    text-decoration: none;
    display: block;
  }
  body.tablet .responsive-menu-button a:hover,
  body.smartphone .responsive-menu-button a:hover {
    color: #beb4d7;
  }
  body.tablet .responsive-menu-button .icon-menu,
  body.smartphone .responsive-menu-button .icon-menu {
    font-size: 32px;
    padding: 9px 10px;
    display: block;
  }
}
a.header-button.menu-swipe.open {
  background: #eb8937;
}
#overlay {
  opacity: 0.6;
  position: fixed;
  top: 0px;
  right: 0px;
  display: none;
  background: #000;
  width: 100vw;
  z-index: 1500;
  transition: All 0.3s linear;
  -webkit-transition: All 0.3s linear;
  -moz-transition: All 0.3s linear;
  -o-transition: All 0.3s linear;
  -webkit-transition-property: opacity;
  /* Safari */
  transition-property: opacity;
}
@media screen and (max-width: 1024px) {
  #overlay {
    top: 50px;
    display: block;
  }
}
@media only screen and (max-width: 567px) {
  #overlay {
    top: 48px;
  }
}
@media only screen and (max-width: 413px) {
  #overlay {
    top: 40px;
  }
}
@media screen and (max-width: 1024px) {
  body.standalone #overlay {
    top: 70px;
  }
}
@media only screen and (max-width: 567px) {
  body.standalone #overlay {
    top: 68px;
  }
}
@media only screen and (max-width: 413px) {
  body.standalone #overlay {
    top: 60px;
  }
}
.region-responsive-lateral-menu {
  display: block;
  position: fixed;
  left: 100%;
  z-index: 2000;
  height: auto;
  /*  --- menu anonymouse --- */
  /* --- menu responsive authenticated ---  */
  /* --- anonymous button block --- */
}
@media screen and (max-width: 1024px) {
  .region-responsive-lateral-menu {
    width: 280px;
    font-size: 18px;
    top: 50px;
  }
}
@media only screen and (max-width: 567px) {
  .region-responsive-lateral-menu {
    width: 265px;
    top: 48px;
    font-size: 16px;
  }
}
@media only screen and (max-width: 413px) {
  .region-responsive-lateral-menu {
    width: 265px;
    top: 40px;
  }
}
.region-responsive-lateral-menu.transition-on {
  transition: All 0.3s linear;
  -webkit-transition: All 0.3s linear;
  -moz-transition: All 0.3s linear;
  -o-transition: All 0.3s linear;
  transform: translate(-100%);
  -webkit-transform: translate(-100%);
  -moz-transform: translate(-100%);
  -o-transform: translate(-100%);
  -ms-transform: translate(-100%);
}
.region-responsive-lateral-menu.transition-off {
  transition: All 0.3s linear;
  -webkit-transition: All 0.3s linear;
  -moz-transition: All 0.3s linear;
  -o-transition: All 0.3s linear;
  transform: translate(0%);
  -webkit-transform: translate(0%);
  -moz-transform: translate(0%);
  -o-transform: translate(0%);
  -ms-transform: translate(0%);
}
.region-responsive-lateral-menu .menu-responsive-flex-menu {
  z-index: 99;
  display: none;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul.menu {
  right: auto;
  width: 100%;
  margin: 0;
  padding: 0 ;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li {
  padding: 0px;
  margin: 0px;
  text-align: left;
  width: 100%;
  display: block;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li a {
  color: #ededed;
  letter-spacing: 0.03em;
  text-align: left;
  vertical-align: top;
  display: block;
  float: left;
  padding: 13px 0px 13px 30px;
  width: 100%;
  text-decoration: none;
  background: #296276;
  border-bottom: 1px solid;
  border-bottom-color: rgba(0, 0, 0, 0.15);
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li a:hover {
  color: #FFF;
  font-weight: bold;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li a:hover:after {
  content: "\e604";
  font-family: 'icomoon';
  font-size: 12px;
  speak: none;
  right: 20px;
  padding-top: 5px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul ul {
  top: 30px;
  display: none;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul ul li a {
  background: #2d6e84;
  border-bottom-color: rgba(0, 0, 0, 0.15);
  font-weight: normal !important;
  color: #ededed;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul ul li a:hover {
  color: #FFF !important;
}
@media screen and (max-width: 1024px) {
  .region-responsive-lateral-menu .menu-responsive-flex-menu {
    display: block;
  }
}
.region-responsive-lateral-menu .menu-responsive-flex-menu .js-submenu-getting {
  background: #2d6e84;
  border-bottom: 2px solid;
  border-bottom-color: rgba(0, 0, 0, 0.15);
  font-weight: bold;
  color: #FFF;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu .js-submenu-getting:after {
  content: "\e608";
  font-family: 'icomoon';
  font-size: 8px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  transition: 0.3s ease-in-out;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu .js-submenu-getting:hover:after {
  content: "\e608";
  font-family: 'icomoon';
  font-size: 8px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  -ms-transform: rotate(90deg) translate(0px);
  -webkit-transform: rotate(90deg) translate(0px);
  transform: rotate(90deg) translate(0px);
  transform-origin: center center;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen {
  z-index: 99;
  display: none;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul.menu {
  width: 100%;
  margin: 0;
  padding: 0 0 0 0;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li {
  padding: 0px;
  text-align: left;
  width: 100%;
  display: block;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-link {
  background: #2d6e84;
  border-bottom: 2px solid;
  border-bottom-color: rgba(0, 0, 0, 0.15);
  font-weight: bold;
  color: #FFF;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-link:after {
  content: "\e608";
  font-family: 'icomoon';
  font-size: 8px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  transition: 0.3s ease-in-out;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-link:hover:after {
  content: "\e608";
  font-family: 'icomoon';
  font-size: 8px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  -ms-transform: rotate(90deg) translate(0px);
  -webkit-transform: rotate(90deg) translate(0px);
  transform: rotate(90deg) translate(0px);
  transform-origin: center center;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-getting {
  font-weight: bold;
  border-bottom: 2px solid;
  border-bottom-color: rgba(0, 0, 0, 0.15);
  color: #ededed;
  background: #2d6e84;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-getting:after {
  content: "\e608";
  font-family: 'icomoon';
  font-size: 8px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  transition: 0.3s ease-in-out;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-getting:hover:after {
  content: "\e608";
  font-family: 'icomoon';
  font-size: 8px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  -ms-transform: rotate(90deg) translate(0px);
  -webkit-transform: rotate(90deg) translate(0px);
  transform: rotate(90deg) translate(0px);
  transform-origin: center center;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul a {
  color: #ededed;
  background: #296276;
  letter-spacing: 0.03em;
  text-align: left;
  vertical-align: top;
  display: block;
  float: left;
  padding: 13px 0px 13px 25px;
  width: 100%;
  text-decoration: none;
  border-bottom: 1px solid;
  border-bottom-color: rgba(0, 0, 0, 0.15);
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul a:hover {
  color: #fff;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul ul {
  top: 30px;
  display: none;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul ul li a {
  background: #2d6e84;
  border-bottom: 1px solid;
  border-bottom-color: rgba(0, 0, 0, 0.15);
  font-weight: normal !important;
  color: #ededed;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul ul li a:hover {
  color: #FFF !important;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .deposit a {
  padding-left: 50px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .deposit a:before {
  content: "\e605";
  font-family: 'icomoon';
  font-size: 14px;
  speak: none;
  left: 25px;
  padding-top: 5px;
  transition: none;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .deposit a:after {
  content: "";
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .deposit a:hover:after {
  content: "\e604";
  font-family: 'icomoon';
  font-size: 12px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  -ms-transform: none;
  /* IE 9 */
  -webkit-transform: none;
  /* Safari */
  transform: none;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .transactions a {
  padding-left: 50px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .transactions a:before {
  content: "\e602";
  font-family: 'icomoon';
  font-size: 14px;
  speak: none;
  left: 25px;
  padding-top: 5px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .transactions a:after {
  content: "";
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .transactions a:hover:after {
  content: "\e604";
  font-family: 'icomoon';
  font-size: 12px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  -ms-transform: none;
  /* IE 9 */
  -webkit-transform: none;
  /* Safari */
  transform: none;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .withdraw a {
  padding-left: 50px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .withdraw a:before {
  content: "\e601";
  font-family: 'icomoon';
  font-size: 14px;
  speak: none;
  left: 25px;
  padding-top: 5px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .withdraw a:after {
  content: "";
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .withdraw a:hover:after {
  content: "\e604";
  font-family: 'icomoon';
  font-size: 12px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .change-password a {
  padding-left: 50px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .change-password a:before {
  content: "\e60b";
  font-family: 'icomoon';
  font-size: 14px;
  speak: none;
  left: 25px;
  padding-top: 5px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .change-password a:after {
  content: "";
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .change-password a:hover:after {
  content: "\e604";
  font-family: 'icomoon';
  font-size: 12px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen a:hover:after {
  content: "\e604";
  font-family: 'icomoon';
  font-size: 12px;
  speak: none;
  right: 20px;
  padding-top: 5px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen .account-open:after {
  content: "\e608";
  font-family: 'icomoon';
  font-size: 8px;
  speak: none;
  right: 20px;
  padding-top: 5px;
  -ms-transform: rotate(90deg);
  /* IE 9 */
  -webkit-transform: rotate(90deg);
  /* Safari */
  transform: rotate(90deg);
}
@media screen and (max-width: 1024px) {
  .region-responsive-lateral-menu .menu-responsive-flex-menu-authen {
    display: block;
  }
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu {
  background: #296276;
  z-index: 99;
  border-bottom: 2px solid;
  border-bottom-color: rgba(0, 0, 0, 0.15);
  padding: 20px;
  display: none;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  float: left;
  width: 84px;
  z-index: 999;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button:hover {
  background: #c1f018;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button:active {
  background-color: #86a711;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button:hover {
  text-decoration: none;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .login-button {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  background: #ec018c;
  color: #fff;
  border: solid 2px #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 700;
  float: right;
  width: 70px;
  z-index: 999;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .login-button:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .login-button:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .login-button:hover {
  background-color: #ff53b9;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .login-button.highlighted {
  background-color: rgba(236, 1, 140, 0.5);
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .login-button:hover {
  text-decoration: none;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .login-button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .login-button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
@media screen and (max-width: 1024px) {
  .region-responsive-lateral-menu .responsive-accounts-lateral-menu {
    display: block;
  }
}
.region-responsive-lateral-menu.scrollable .menu-responsive-flex-menu {
  overflow-x: hidden;
  overflow-y: scroll;
}
.region-responsive-lateral-menu.scrollable .menu-responsive-flex-menu-authen {
  overflow-x: hidden;
  overflow-y: scroll;
}
@media screen and (max-width: 1024px) {
  body.standalone .region-responsive-lateral-menu {
    top: 70px;
  }
}
@media only screen and (max-width: 567px) {
  body.standalone .region-responsive-lateral-menu {
    top: 68px;
  }
}
@media only screen and (max-width: 413px) {
  body.standalone .region-responsive-lateral-menu {
    top: 60px;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .region-responsive-lateral-menu,
  body.smartphone .region-responsive-lateral-menu {
    width: 280px;
    font-size: 18px;
    top: 50px;
  }
  body.tablet .region-responsive-lateral-menu .menu-responsive-flex-menu,
  body.smartphone .region-responsive-lateral-menu .menu-responsive-flex-menu {
    display: block;
  }
  body.tablet .region-responsive-lateral-menu .menu-responsive-flex-menu-authen,
  body.smartphone .region-responsive-lateral-menu .menu-responsive-flex-menu-authen {
    display: block;
  }
  body.tablet .region-responsive-lateral-menu .responsive-accounts-lateral-menu,
  body.smartphone .region-responsive-lateral-menu .responsive-accounts-lateral-menu {
    display: block;
  }
}
body.page-getting-started li.getting-started ul.menu li a {
  padding-left: 50px;
  background-color: #3b3153;
}
body.page-getting-started li.getting-started ul.menu li a:before {
  content: "\e608";
  font-family: 'icomoon';
  font-size: 8px;
  speak: none;
  left: 30px;
  padding-top: 5px;
}
body.page-getting-started li.getting-started ul.menu li a:hover:before {
  content: " ";
}
body.page-getting-started a.active-submenu {
  color: #fff;
  font-weight: bold;
}
body.page-getting-started a.active-submenu:hover:before {
  content: "";
}
body.page-getting-started a.active-submenu:before {
  content: "\e608";
  font-family: 'icomoon';
  font-size: 8px;
  speak: none;
  right: 20px;
  padding-top: 5px;
}
#menu-gradient {
  position: fixed;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1b1827+0,1b1827+100&amp;0+0,1+100 */
  background: -moz-linear-gradient(top, rgba(27, 24, 39, 0) 0%, #1b1827 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(27, 24, 39, 0)), color-stop(100%, #1b1827));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(27, 24, 39, 0) 0%, #1b1827 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(27, 24, 39, 0) 0%, #1b1827 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(27, 24, 39, 0) 0%, #1b1827 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, rgba(27, 24, 39, 0) 0%, #1b1827 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#001b1827', endColorstr='#1b1827', GradientType=0);
  /* IE6-9 */
  width: 100px;
  height: 20px;
  z-index: 1000;
  bottom: 0;
  height: 125px;
  left: 100%;
  pointer-events: none;
}
#menu-gradient.transition-on {
  transform: translate(-100%);
  -webkit-transform: translate(-100%);
  -moz-transform: translate(-100%);
  -o-transform: translate(-100%);
  -ms-transform: translate(-100%);
}
#menu-gradient.transition-off {
  transform: translate(0%);
  -webkit-transform: translate(0%);
  -moz-transform: translate(0%);
  -o-transform: translate(0%);
  -ms-transform: translate(0%);
}
/* close region-responsive-lateral-menu */
/* App Store Button
------------------------------------------------------------ */
.app_store_badges #mobile_app_store_badges a {
  display: inline-block;
  margin: 5px;
}
#mobile_app_store_badges {
  text-align: center;
}
#mobile_app_store_badges a {
  text-decoration: none;
  margin-bottom: 15px;
}
@media only screen and (max-width: 567px) {
  #mobile_app_store_badges a {
    display: inline-block;
    margin: 5px;
  }
}
@media only screen and (max-width: 567px) {
  #mobile_app_store_badges a {
    display: inline-block;
    margin: 5px;
  }
}
body.page-contact-us #mobile_app_store_badges {
  display: none;
  text-align: center;
}
@media only screen and (max-width: 567px) {
  body.page-contact-us #mobile_app_store_badges {
    display: inline-block;
    margin: 5px auto;
    width: 98%;
  }
}
@media only screen and (max-width: 827px) {
  .default-modal.cashier-modal {
    overflow-x: scroll;
  }
}
.default-modal.cashier-modal .modal-dialog {
  max-width: 827px;
  max-height: 620px;
  width: auto;
  height: auto;
}
@media only screen and (max-width: 827px) {
  .default-modal.cashier-modal .modal-dialog {
    overflow-y: hidden;
  }
}
.default-modal.cashier-modal .modal-dialog .modal-content {
  background: transparent;
}
.default-modal.cashier-modal .modal-dialog .modal-content .modal-header {
  display: none;
}
.default-modal.cashier-modal .modal-dialog .modal-content .modal-body {
  padding: 0px;
}
.default-modal.cashier-modal .modal-dialog .modal-content .modal-body iframe {
  width: 100%;
  height: 620px;
}
.default-modal.cashier-modal .modal-dialog .close {
  top: 7px;
  right: 17px;
  display: block;
}
.modal.fade.android-modal .modal-dialog {
  max-width: 550px;
}
.modal.fade.android-modal .modal-dialog .modal-content {
  background-color: #4b0a4a;
  border-radius: 0;
}
.modal.fade.android-modal .modal-dialog .android-install h2 {
  margin-top: 0;
  color: #EEE;
  font-size: 16px;
}
@media only screen and (max-width: 413px) {
  .modal.fade.android-modal .modal-dialog .android-install h2 {
    margin-top: 15px;
  }
}
.modal.fade.android-modal .modal-dialog .android-install h3 {
  font-size: 16px;
}
.modal.fade.android-modal .modal-dialog .android-install a {
  color: #d4b15e;
}
.modal.fade.android-modal .modal-dialog a.close {
  display: block;
}
.modal.fade.android-modal .modal-dialog a.close:hover,
.modal.fade.android-modal .modal-dialog a.close:focus {
  text-decoration: none;
}
.modal.fade.android-modal .modal-dialog a.close i::before {
  color: #aab9bd;
}
.modal.fade.pas-terms-modal .modal-dialog {
  max-width: 550px;
}
.modal.fade.pas-terms-modal .modal-dialog .terms-holder {
  -webkit-overflow-scrolling: touch !important;
  height: 70vh;
  border: 2px solid #4b0a4a;
}
body.smartphone .modal.fade.pas-terms-modal .modal-dialog .terms-holder,
body.tablet .modal.fade.pas-terms-modal .modal-dialog .terms-holder {
  overflow-y: auto;
}
.modal.fade.pas-terms-modal .modal-dialog .terms-holder iframe {
  height: 100%;
  width: 1px;
  min-width: 100%;
  border: 0;
}
.modal.fade.pas-terms-modal .modal-dialog a.close {
  display: none;
}
.modal.fade.pas-terms-modal .modal-dialog a.accept {
  background: #c1f018;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  margin-top: 10px;
  padding: 3px 10px;
  text-transform: uppercase;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  display: block;
  text-align: center;
}
.modal.fade.registration-modal .modal-dialog {
  max-width: 85%;
  height: 92vh;
}
.modal.fade.registration-modal .modal-dialog .modal-content {
  background-color: #4b0a4a;
  border-radius: 0;
  height: 100%;
}
.modal.fade.registration-modal .modal-dialog .modal-content .modal-body {
  height: calc(100% - 45px);
  top: 30px;
  overflow-y: scroll;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 24px 0 15px;
  word-wrap: break-word;
}
.modal.fade.registration-modal .modal-dialog .modal-content .modal-body h2 {
  margin-top: 0;
}
.modal.fade.registration-modal .modal-dialog .android-install h2 {
  margin-top: 0;
  color: #EEE;
  font-size: 16px;
}
.modal.fade.registration-modal .modal-dialog .android-install h3 {
  font-size: 16px;
}
.modal.fade.registration-modal .modal-dialog .android-install a {
  color: #d4b15e;
}
.modal.fade.registration-modal .modal-dialog a.close {
  display: block;
}
.modal.fade.registration-modal .modal-dialog a.close:hover,
.modal.fade.registration-modal .modal-dialog a.close:focus {
  text-decoration: none;
}
body.desktop .modal.fade.registration-modal .modal-dialog {
  max-width: 800px;
}
.modal.fade.gameInfo-modal .modal-dialog {
  width: 293px;
}
@media only screen and (max-height: 413px) {
  .modal.fade.gameInfo-modal .modal-dialog {
    width: 253px;
  }
}
.modal.fade.gameInfo-modal .modal-dialog .close {
  display: block;
  font-size: 20pt;
}
@media only screen and (max-width: 567px) {
  .modal.fade.gameInfo-modal .modal-dialog .close {
    right: 13%;
  }
}
.modal.fade.gameInfo-modal .modal-dialog .close :hover {
  color: #d4b15e;
}
.modal.fade.gameInfo-modal .modal-dialog .modal-content {
  background-color: transparent;
  box-shadow: none;
}
.modal.fade.gameInfo-modal .modal-dialog .modal-content .wrapper_overlay .game_title {
  padding-top: 15px;
  color: #fff;
}
.modal.fade.gameInfo-modal .modal-dialog .modal-content .modal-body {
  padding: 0;
}
.field-items .even p {
  word-wrap: break-word;
}
/* bug fix for IOS - Bootstrap create modal-open class */
body.modal-open {
  /*&:extend(.overflowHidden);*/
}
.action-button {
  transition: all .1s linear;
}
.action-button:active,
.action-button:focus {
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.action-button {
  border: none;
  zoom: 1;
  background: transparent;
  text-transform: uppercase;
  font-size: 12px;
}
.action-button .action-button-inner {
  cursor: hand;
}
.action-button .loading,
.action-button .action-button-inner,
.action-button,
.action-button .button-styles {
  display: block;
}
.action-button .success .loading,
.action-button .error .loading {
  opacity: 1;
}
.action-button:focus,
.action-button:active {
  outline: 0;
}
.action-button,
form[name="forms-change-password-form"].form-style button.action-button.register,
form[name="forms-forgotten-details-form"].form-style button.action-button.register,
.header-button.account-button.action-button.sign-in,
.wrapper_overlay .play_for_fun.action-button,
.page-register .form-submit.register.action-button,
.wrapper_overlay .action-button.play_for_real,
.wrapper_overlay .action-button.play_for_fun,
.game_wrapper .game_overlay .action-button.button,
.action-button .game_wrapper .game_overlay .play_for_real,
.action-button .game_wrapper .game_overlay .play_for_fun,
.page-game-info .game_launch_buttons .action-button.button {
  padding: 0;
}
@media screen and (max-width: 1024px) {
  .game_wrapper .game_overlay .action-button.button,
  .action-button .game_wrapper .game_overlay .play_for_real,
  .action-button .game_wrapper .game_overlay .play_for_fun {
    padding: 0;
  }
}
.action-button .button-styles {
  border-radius: 1px;
  text-align: center;
  text-decoration: none;
  text-transform: capitalize;
}
.action-button .loading {
  opacity: 0;
  transition: all 0.1s ease-in-out;
}
.action-button.inprogress .button-styles .loading {
  opacity: 0.3;
  background: #000;
  background: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.4) 25%, rgba(0, 0, 0, 0.4) 50%);
  background-size: 2em 2em;
  -webkit-animation: moveGradient 3s linear reverse backwards infinite;
  /* Safari 4+ */
  -moz-animation: moveGradient 3s linear reverse backwards infinite;
  /* Fx 5+ */
  -o-animation: moveGradient 3s linear reverse backwards infinite;
  /* Opera 12+ */
  animation: moveGradient 3s linear reverse backwards infinite;
}
.action-button .action-button-inner {
  z-index: 100;
  text-transform: none;
}
.action-button.register .button-styles {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.action-button.register .button-styles:hover {
  background: #c1f018;
}
.action-button.register .button-styles:active {
  background-color: #86a711;
}
.action-button.register .button-styles:hover {
  text-decoration: none;
}
.action-button.register .button-styles.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.action-button.register .button-styles.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.action-button.sign-in .button-styles {
  background: #ec018c;
  color: #fff;
  border: solid 2px #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 700;
  border-radius: 1px;
  background-clip: padding-box;
  font-size: 14px;
  line-height: 16px;
  user-select: none;
  -webkit-touch-callout: none;
  zoom: 1;
}
.action-button.sign-in .button-styles:hover {
  background-color: #ff53b9;
}
.action-button.sign-in .button-styles.highlighted {
  background-color: rgba(236, 1, 140, 0.5);
}
.action-button.sign-in .button-styles:hover {
  text-decoration: none;
}
.action-button.sign-in .button-styles.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.action-button.sign-in .button-styles.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.header-button.account-button.action-button.sign-in {
  font-size: 13px;
}
.page-game-info .game_launch_buttons .action-button.button {
  background-color: transparent !important;
}
.page-game-info .game_launch_buttons .action-button.button.play_for_fun .button-styles {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff;
  background: #b5afb5;
  border: 2px solid #fff;
}
.page-game-info .game_launch_buttons .action-button.button.play_for_fun .button-styles:hover {
  background: #cfc8cf;
}
.page-game-info .game_launch_buttons .action-button.button .text-stuff {
  position: static !important;
}
button.action-button.register {
  margin: 0 auto;
}
form[name="forms-change-password-form"].form-style button.action-button.register,
form[name="forms-forgotten-details-form"].form-style button.action-button.register {
  margin: 0 0 0 16.153em;
}
@-webkit-keyframes moveGradient {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -200px 0;
  }
}
@keyframes moveGradient {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -200px 0;
  }
}
.action-button .loading {
  top: 0;
  width: 100%;
  height: 100%;
}
.action-button .loading {
  width: 100%;
}
.region-header .playtech-login-block form[name=playtech-login-form] .sign-in {
  margin-top: 0.3em;
  float: left;
}
.region-header .playtech-login-block form[name=playtech-login-form] .sign-in .action-button-inner {
  padding: 0.5em  0;
}
.modalContainer {
  display: block;
  padding-right: 17px;
  width: 100%;
  -webkit-user-drag: element;
}
.modalContainer .modal-content {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.modalContainer .modal-body {
  padding: 0;
}
.modalContainer .modal-dialog {
  margin-top: 0;
}
.noFrame {
  background: grey;
  border: none;
  height: 100%;
  width: 100%;
}
.chatModalClose:hover {
  text-decoration: none;
}
.chat-open {
  -webkit-user-drag: none;
  -ms-content-zooming: none;
  position: fixed;
}
.chat-open .modal-backdrop {
  display: none !important;
}
.chat-open .deposit-button {
  top: 0 !important;
  left: 0 !important;
}
.scrollContainer {
  overflow-y: scroll;
}
.spinner {
  float: left;
  margin: 0 10px;
  width: 50px;
  height: 30px;
  text-align: center;
  font-size: 10px;
}
.page-register .spinner,
.logged-in .support-buttons .spinner {
  top: 35px;
}
.floating_verticals_menu .spinner {
  cursor: pointer;
  width: 80px;
  right: 0;
  top: 0;
  font-size: 11px;
  font-weight: 400;
  text-decoration: none;
}
.spinner > div {
  background-color: #FFF;
  height: 100%;
  width: 3px;
  margin-right: 2px;
  display: inline-block;
  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}
.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}
.spinner .rect3 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}
.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}
.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}
@-webkit-keyframes sk-stretchdelay {
  0%,
  40%,
  100% {
    -webkit-transform: scaleY(0.4);
  }
  20% {
    -webkit-transform: scaleY(1);
  }
}
@keyframes sk-stretchdelay {
  0%,
  40%,
  100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }
  20% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1);
  }
}
/*  Account Block
------------------------------------------------------------*/
.FLEX-account-block {
  top: 25px;
  right: 100px;
  width: 314px;
  height: 65px;
  z-index: 1000;
}
.FLEX-account-block #account_box {
  font-size: 0;
}
.FLEX-account-block a,
.FLEX-account-block .username {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 150px;
  height: 33px;
  line-height: 33px;
  font-size: 14px;
  text-decoration: none;
  text-indent: 10px;
}
.FLEX-account-block .username {
  cursor: default;
  margin: 0 2px 2px 0;
}
.FLEX-account-block .deposit {
  margin-bottom: 2px;
  text-align: center;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.FLEX-account-block .deposit:hover {
  background: #c1f018;
}
.FLEX-account-block .deposit:active {
  background-color: #86a711;
}
.FLEX-account-block .deposit:hover {
  text-decoration: none;
}
.FLEX-account-block .deposit.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.FLEX-account-block .deposit.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.FLEX-account-block .account_menu {
  margin-right: 2px;
}
.FLEX-account-block .account_menu,
.FLEX-account-block .balance_menu {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  width: 150px;
  max-height: 33px;
  padding: 0;
  list-style: none;
  text-align: left;
  vertical-align: top;
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}
.FLEX-account-block .account_menu:hover,
.FLEX-account-block .balance_menu:hover {
  max-height: 300px;
}
.FLEX-account-block .account_menu:hover li.account:after,
.FLEX-account-block .balance_menu:hover li.account:after,
.FLEX-account-block .account_menu:hover li.total_balance:after,
.FLEX-account-block .balance_menu:hover li.total_balance:after {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
.FLEX-account-block .account_menu a,
.FLEX-account-block .balance_menu a {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 12px;
  height: 28px;
  line-height: 28px;
  transition: 0.2s linear;
}
.FLEX-account-block .account_menu li a {
  padding-left: 12px;
  background-image: url(/assets/icons/arrow_account_menu_left.png);
  background-repeat: no-repeat;
  background-position: -8px center;
}
.FLEX-account-block .account_menu li a:hover {
  color: white;
  background-position: 8px center;
}
.FLEX-account-block li.account a,
.FLEX-account-block li.total_balance a {
  padding-left: 0;
  border-top: 0px none;
  background-image: none;
  font-size: 14px;
  height: 33px;
  line-height: 33px;
}
.FLEX-account-block li.account span,
.FLEX-account-block li.total_balance span {
  margin-right: 10px;
}
.FLEX-account-block li.account:after,
.FLEX-account-block li.total_balance:after {
  content: "";
  top: 14px;
  right: 8px;
  width: 9px;
  height: 6px;
  background: url(/assets/icons/arrow_account_menu_down.png) no-repeat center center;
  transition: 0.2s linear;
}
.FLEX-account-block .balance_wrapper {
  float: right;
  margin-right: 10px;
}
.FLEX-account-block a,
.FLEX-account-block .username {
  background: #350734;
  color: #eee;
}
.FLEX-account-block .username {
  background: rgba(250, 250, 250, 0.1);
  color: #eee;
}
.FLEX-account-block .username:hover {
  background: rgba(250, 250, 250, 0.2);
  color: #FFF;
}
.FLEX-account-block .deposit {
  text-shadow: 0 2px 1px rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
}
.FLEX-account-block .account_menu li,
.FLEX-account-block .balance_menu li {
  color: rgba(250, 250, 250, 0.6);
}
.FLEX-account-block .account_menu li:hover,
.FLEX-account-block .balance_menu li:hover {
  color: #fff;
}
.FLEX-account-block .account_menu a,
.FLEX-account-block .balance_menu a {
  color: rgba(250, 250, 250, 0.6);
}
.FLEX-account-block .account_menu a:hover,
.FLEX-account-block .balance_menu a:hover {
  color: #fff;
}
.FLEX-account-block .account_menu a span,
.FLEX-account-block .balance_menu a span {
  color: white;
}
.FLEX-account-block .account_menu a:hover,
.FLEX-account-block .balance_menu a:hover {
  color: white;
}
.FLEX-account-block .account_menu li.account a,
.FLEX-account-block .balance_menu li.account a,
.FLEX-account-block .account_menu li.total_balance a,
.FLEX-account-block .balance_menu li.total_balance a {
  color: white;
}
form.form-style .form-item-deposit-limits .description,
form.form-style form.form-style .form-item-deposit-amount .description {
  right: 0;
  left: 210px;
}
form.form-style .form-item-deposit-amount .description {
  left: 100px;
}
form.form-style .description {
  float: right;
  right: 0;
  top: 0;
}
select.select_address {
  width: 610px;
  margin-left: 10px;
}
div#int-phone-wrapper {
  text-align: center;
}
input#int_dialing_code {
  float: none;
}
/* Deposit Limit Styles */
#edit-deposit-limit fieldset.form-wrapper,
.form_no_label {
  padding-left: 20%;
  box-sizing: border-box;
}
@media screen and (min-width: 1025px) {
  #edit-deposit-limit fieldset.form-wrapper,
  .form_no_label {
    padding-left: 0;
    margin-left: 210px;
  }
}
@media only screen and (max-width: 413px) {
  #edit-deposit-limit fieldset.form-wrapper,
  .form_no_label {
    margin-left: 5%;
    padding-left: 0;
  }
}
form.form-style .form_no_label {
  display: inline-block;
  visibility: hidden;
  margin-top: 20px;
}
.js form.form-style .form_no_label {
  visibility: visible;
}
form.form-style .form-item.form-type-select.form-item-deposit-limits {
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  form.form-style .form-item.form-type-select.form-item-deposit-limits {
    margin-right: 10%;
  }
}
form.form-style .form-item.form-type-select.form-item-deposit-limits,
form.form-style .form-item.form-type-select.form-item-deposit-amount {
  display: inline-block;
  width: 110px;
  float: left;
}
.ios.tablet form.form-style .form-item.form-type-select.form-item-deposit-limits,
.ios.tablet form.form-style .form-item.form-type-select.form-item-deposit-amount {
  width: 150px;
  padding-right: 10px;
}
@media only screen and (max-width: 767px) {
  form.form-style .form-item.form-type-select.form-item-deposit-limits,
  form.form-style .form-item.form-type-select.form-item-deposit-amount {
    width: 40%;
  }
}
form.form-style select[name="deposit_limits"],
form.form-style select[name="deposit_amount"] {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  form.form-style select[name="deposit_limits"],
  form.form-style select[name="deposit_amount"] {
    width: 105px;
  }
}
.js form.form-style select[name="deposit_limits"],
.js form.form-style select[name="deposit_amount"] {
  display: none;
}
form.form-style .off .close-button,
form.form-style .off.on .click-button {
  display: none;
}
form.form-style .off.on .close-button,
form.form-style .off .click-button {
  display: inline;
}
/*  Login Form Responsive
------------------------------------------------------------ */
.login-modal .login-overlay-content {
  padding: 15px 10px;
}
.login-modal .sb-title {
  display: none;
}
.login-modal #sb-title {
  height: 0px;
}
@media only screen and (max-height: 413px) {
  .login-modal .login-overlay-header h2 {
    padding-bottom: 0px;
  }
}
.login-modal form[name="playtech-login-form"],
.login-modal .login-modal .login-overlay-content.login-error {
  text-align: center;
}
.login-modal form[name="playtech-login-form"] label,
.login-modal .login-modal .login-overlay-content.login-error label,
.login-modal form[name="playtech-login-form"] .register.button,
.login-modal .login-modal .login-overlay-content.login-error .register.button {
  display: none;
}
.login-modal form[name="playtech-login-form"] .form-type-textfield,
.login-modal .login-modal .login-overlay-content.login-error .form-type-textfield,
.login-modal form[name="playtech-login-form"] .form-type-password,
.login-modal .login-modal .login-overlay-content.login-error .form-type-password {
  display: inline-block;
  *zoom: 1;
  *display: inline;
}
@media only screen and (max-width: 567px) {
  .login-modal form[name="playtech-login-form"] .form-type-textfield,
  .login-modal .login-modal .login-overlay-content.login-error .form-type-textfield,
  .login-modal form[name="playtech-login-form"] .form-type-password,
  .login-modal .login-modal .login-overlay-content.login-error .form-type-password {
    width: 100%;
    margin-top: 5px;
    margin-bottom: 5px;
  }
}
.login-modal form[name="playtech-login-form"] .form-type-textfield input,
.login-modal .login-modal .login-overlay-content.login-error .form-type-textfield input,
.login-modal form[name="playtech-login-form"] .form-type-password input,
.login-modal .login-modal .login-overlay-content.login-error .form-type-password input {
  padding: 8px;
  width: 180px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.1);
  font-size: 12px;
  outline: none;
  text-transform: uppercase;
}
.login-modal form[name="playtech-login-form"] .form-type-textfield input::-webkit-input-placeholder,
.login-modal .login-modal .login-overlay-content.login-error .form-type-textfield input::-webkit-input-placeholder,
.login-modal form[name="playtech-login-form"] .form-type-password input::-webkit-input-placeholder,
.login-modal .login-modal .login-overlay-content.login-error .form-type-password input::-webkit-input-placeholder {
  text-transform: uppercase;
}
.login-modal form[name="playtech-login-form"] .form-type-textfield input::-moz-placeholder,
.login-modal .login-modal .login-overlay-content.login-error .form-type-textfield input::-moz-placeholder,
.login-modal form[name="playtech-login-form"] .form-type-password input::-moz-placeholder,
.login-modal .login-modal .login-overlay-content.login-error .form-type-password input::-moz-placeholder {
  text-transform: uppercase;
}
.login-modal form[name="playtech-login-form"] .form-type-textfield input:-ms-input-placeholder,
.login-modal .login-modal .login-overlay-content.login-error .form-type-textfield input:-ms-input-placeholder,
.login-modal form[name="playtech-login-form"] .form-type-password input:-ms-input-placeholder,
.login-modal .login-modal .login-overlay-content.login-error .form-type-password input:-ms-input-placeholder {
  text-transform: uppercase;
}
.login-modal form[name="playtech-login-form"] .form-type-textfield input:focus,
.login-modal .login-modal .login-overlay-content.login-error .form-type-textfield input:focus,
.login-modal form[name="playtech-login-form"] .form-type-password input:focus,
.login-modal .login-modal .login-overlay-content.login-error .form-type-password input:focus {
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.login-modal form[name="playtech-login-form"] .form-type-password input,
.login-modal .login-modal .login-overlay-content.login-error .form-type-password input {
  text-transform: none;
}
.login-modal form[name="playtech-login-form"] .form-submit,
.login-modal .login-modal .login-overlay-content.login-error .form-submit {
  color: #fff;
  background: #ec018c;
  margin-left: 2px;
  padding: 8px 16px;
  border: 0px none;
  font-size: 12px;
  text-transform: uppercase;
}
.login-modal form[name="playtech-login-form"] .form-submit:hover,
.login-modal .login-modal .login-overlay-content.login-error .form-submit:hover {
  background: #af0268;
}
@media only screen and (max-width: 567px) {
  .login-modal form[name="playtech-login-form"] .form-submit,
  .login-modal .login-modal .login-overlay-content.login-error .form-submit {
    margin-left: 0px;
    margin-top: 20px;
  }
}
.login-modal form[name="playtech-login-form"] #forgotten-details-link,
.login-modal .login-modal .login-overlay-content.login-error #forgotten-details-link {
  display: block;
  margin: 10px auto 0 auto;
  width: 200px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  text-align: right;
  text-decoration: none;
  text-transform: capitalize;
}
.login-modal form[name="playtech-login-form"] #forgotten-details-link:hover,
.login-modal .login-modal .login-overlay-content.login-error #forgotten-details-link:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 567px) {
  .login-modal form[name="playtech-login-form"] #forgotten-details-link,
  .login-modal .login-modal .login-overlay-content.login-error #forgotten-details-link {
    top: -65px;
    display: block;
    left: 50%;
  }
}
@media only screen and (max-height: 413px) {
  .login-modal form[name="playtech-login-form"] #forgotten-details-link,
  .login-modal .login-modal .login-overlay-content.login-error #forgotten-details-link {
    top: 155px;
  }
}
.login-modal .login-overlay-footer {
  width: 100%;
  height: 70px;
  background-color: #4b0a4a;
  bottom: 0;
  text-align: center;
}
.login-modal .login-overlay-footer a {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  margin-top: 14px;
  padding: 10px 20px;
  text-decoration: none;
}
.login-modal .login-overlay-footer a.button-3 {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
}
.login-modal .login-overlay-footer a.button-3:hover {
  background: #c1f018;
}
.login-modal .login-overlay-footer a.button-3:active {
  background-color: #86a711;
}
.login-modal .login-overlay-footer a.button-3:hover {
  text-decoration: none;
}
.login-modal .login-overlay-footer a.button-3.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.login-modal .login-overlay-footer a.button-3.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
/*  Login Error Form
------------------------------------------------------------ */
.login-modal .login-overlay-content.login-error {
  padding: 10px;
  background-color: #4b0a4a;
}
@media only screen and (max-height: 413px) {
  .login-modal .login-overlay-content.login-error {
    padding-bottom: 4px;
  }
}
.login-modal .login-overlay-content.login-error .error_message {
  margin: 0px 0 15px;
  padding: 7px;
  background-color: #fe0000;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  font-size: 13px;
  text-align: center;
}
@media only screen and (max-height: 413px) {
  .login-modal .login-overlay-content.login-error .error_message {
    margin-bottom: 3px;
  }
}
.login-modal .login-overlay-content.login-error #forgotten-details-link {
  top: -65px;
}
@media only screen and (max-height: 413px) {
  .login-modal .login-overlay-content.login-error #forgotten-details-link {
    top: 186px;
  }
}
/*  Login Form
------------------------------------------------------------ */
.login-modal .login-overlay-footer.overlay-footer {
  position: relative;
}
.login-modal .playtech-login-to-play {
  height: auto !important;
  background-color: #4b0a4a;
}
@media only screen and (max-width: 567px) {
  .login-modal .playtech-login-to-play .form-submit {
    margin: auto;
    margin-top: 10px;
  }
}
.playtech-login-block {
  display: block;
  top: 0;
  right: 0;
  height: 28px;
}
.modal.fade.login-modal .modal-dialog {
  max-width: 550px;
}
.modal.fade.login-modal.double-modal .modal-dialog {
  max-width: 660px;
}
.modal.fade.login-modal .modal-dialog .modal-content {
  background-color: #4b0a4a;
  border-radius: 0;
}
.modal.fade.login-modal .modal-dialog .modal-content .modal-body {
  padding: 0;
}
.modal-body .overlay-header {
  background-color: #4b0a4a;
}
.modal-body .overlay-header h2 {
  font-size: 16px;
  margin: 0;
  line-height: 1.3;
  padding: 20px 10px;
  text-align: center;
}
.modal-body .overlay-header a {
  float: right;
  display: block;
  top: 0;
  right: 0;
  text-indent: -1000px;
  text-decoration: none;
}
.modal-body .overlay-header a:after {
  content: "×";
  display: block;
  top: 4px;
  right: 4px;
  width: 26px;
  height: 26px;
  line-height: 20px;
  color: #555473;
  font-size: 24px;
  text-align: center;
  text-indent: 0;
}
.playtech-login-block form[name="playtech-login-form"] {
  top: 21px;
  right: 100px;
  width: 330px;
  height: 90px;
}
.playtech-login-block form[name="playtech-login-form"] label,
.playtech-login-block form[name="playtech-login-form"] .ajax-loader {
  display: none;
}
.playtech-login-block form[name="playtech-login-form"] input[type="text"],
.playtech-login-block form[name="playtech-login-form"] input[type="password"] {
  margin: 3px 0;
  width: 220px;
  height: 10px;
  padding: 10px;
}
.playtech-login-block form[name="playtech-login-form"] input[type="password"],
.playtech-login-block form[name="playtech-login-form"] input[type="submit"] {
  top: 35px;
}
.playtech-login-block form[name="playtech-login-form"] .button {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  right: 0;
  top: 0;
  margin: 4px;
  width: 80px;
  height: 30px;
  line-height: 30px;
  padding: 0;
  font-size: 11px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
}
.playtech-login-block form[name="playtech-login-form"] .button:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.playtech-login-block form[name="playtech-login-form"] .button:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"] {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  right: 0;
  top: 0;
  margin: 4px;
  width: 80px;
  height: 30px;
  line-height: 30px;
  padding: 0;
  font-size: 11px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  top: 35px;
  line-height: 31px;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"]:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"]:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link {
  display: block;
  top: 65px;
  left: 5px;
  text-transform: capitalize;
}
/*  Register Page
================================================================================*/
/*  Forms
================================================================================*/
/*  Regsiter and Forgotten Password Page
--------------------------------------------------------------------------------*/
.form-style,
.page-user #user-login {
  width: 600px;
  margin: 0 auto;
}
.form-style .form-required {
  color: red;
}
.form-style input[type="text"],
.form-style input[type="password"],
.form-style input[type="email"],
.form-style input[type="tel"] {
  padding: 5px;
  background: #eee;
  border: 0px none;
  color: #272034;
  text-indent: 3px;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.form-style select {
  background: #eee;
  color: #272034;
}
.form-style .field-info .field-info-text {
  margin: 0;
  width: 160px;
  color: #272034;
  font-size: 12px;
  z-index: 10;
}
.form-style input.error,
.form-style select.error {
  border: 2px solid #d71716;
}
.form-style span.validation-tick {
  right: 160px;
  display: none;
}
.form-style div.form-item span.error {
  display: block;
  padding: 7px !important;
  background: #d71716;
  color: #eee;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.form-style #dob span.error {
  top: 30px;
  left: 0;
  bottom: auto;
  margin: 0;
  height: 20px;
}
.form-style #postcode_searchbutton {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  top: 0;
  right: 190px;
  width: 112px;
  padding: 5px 0;
}
.form-style #postcode_searchbutton:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.form-style #postcode_searchbutton:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.form-style #postcode_searchbutton:hover {
  background: #c1f018;
}
.form-style #postcode_searchbutton:active {
  background-color: #86a711;
}
.form-style #postcode_searchbutton:hover {
  text-decoration: none;
}
.form-style #postcode_searchbutton.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.form-style #postcode_searchbutton.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.form-style .form-item-nobonus,
.form-style .form-item-agree-terms {
  margin-bottom: 5px;
  padding-top: 10px;
  padding-left: 20px;
}
.form-style .form-item-nobonus .description,
.form-style .form-item-agree-terms .description {
  margin-top: -30px;
  margin-left: 2.4em;
  width: auto;
  font-size: 12px;
}
@media screen and (max-width: 1024px) {
  .form-style .form-item-nobonus .description,
  .form-style .form-item-agree-terms .description {
    margin-top: 0;
    margin-left: 5px;
    z-index: 0;
  }
}
.form-style input[type="submit"].form-submit {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
  width: 170px;
  height: inherit;
  margin-left: 210px;
  background-size: 100%;
  font-size: inherit;
}
.form-style input[type="submit"].form-submit:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.form-style input[type="submit"].form-submit:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.form-style input[type="submit"].form-submit:hover {
  background: #c1f018;
}
.form-style input[type="submit"].form-submit:active {
  background-color: #86a711;
}
.form-style input[type="submit"].form-submit:hover {
  text-decoration: none;
}
.form-style input[type="submit"].form-submit.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.form-style input[type="submit"].form-submit.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.form-style img.ajax_loader {
  top: 50%;
  right: 160px;
  margin-top: -13px;
}
.form-style a {
  color: #d4b15e;
  text-decoration: none;
}
.form-style a:hover {
  text-decoration: underline;
}
.page-reset-password .region-header,
.page-change-password .region-header,
.page-register .region-header,
.page-forgotten-details .region-header,
.page-register-variation1 .region-header,
.page-forgotten-password .region-header,
.page-code-verification .region-header,
.page-update-password .region-header {
  height: 137px;
}
.page-reset-password .region-header .support-buttons,
.page-change-password .region-header .support-buttons,
.page-register .region-header .support-buttons,
.page-forgotten-details .region-header .support-buttons,
.page-register-variation1 .region-header .support-buttons,
.page-forgotten-password .region-header .support-buttons,
.page-code-verification .region-header .support-buttons,
.page-update-password .region-header .support-buttons {
  border: 0px none;
}
@media screen and (max-width: 1024px) {
  .page-reset-password .region-header,
  .page-change-password .region-header,
  .page-register .region-header,
  .page-forgotten-details .region-header,
  .page-register-variation1 .region-header,
  .page-forgotten-password .region-header,
  .page-code-verification .region-header,
  .page-update-password .region-header {
    height: 50px;
  }
}
.page-reset-password .menu-verticals .menu,
.page-change-password .menu-verticals .menu,
.page-register .menu-verticals .menu,
.page-forgotten-details .menu-verticals .menu,
.page-register-variation1 .menu-verticals .menu,
.page-forgotten-password .menu-verticals .menu,
.page-code-verification .menu-verticals .menu,
.page-update-password .menu-verticals .menu,
.page-reset-password .menu-verticals-content .menu,
.page-change-password .menu-verticals-content .menu,
.page-register .menu-verticals-content .menu,
.page-forgotten-details .menu-verticals-content .menu,
.page-register-variation1 .menu-verticals-content .menu,
.page-forgotten-password .menu-verticals-content .menu,
.page-code-verification .menu-verticals-content .menu,
.page-update-password .menu-verticals-content .menu {
  height: 0;
}
.page-reset-password .floating_verticals_menu .vertical_links,
.page-change-password .floating_verticals_menu .vertical_links,
.page-register .floating_verticals_menu .vertical_links,
.page-forgotten-details .floating_verticals_menu .vertical_links,
.page-register-variation1 .floating_verticals_menu .vertical_links,
.page-forgotten-password .floating_verticals_menu .vertical_links,
.page-code-verification .floating_verticals_menu .vertical_links,
.page-update-password .floating_verticals_menu .vertical_links,
.page-reset-password .floating_verticals_menu .register.button,
.page-change-password .floating_verticals_menu .register.button,
.page-register .floating_verticals_menu .register.button,
.page-forgotten-details .floating_verticals_menu .register.button,
.page-register-variation1 .floating_verticals_menu .register.button,
.page-forgotten-password .floating_verticals_menu .register.button,
.page-code-verification .floating_verticals_menu .register.button,
.page-update-password .floating_verticals_menu .register.button {
  display: none;
}
.page-reset-password .registration-form-legal-footer,
.page-change-password .registration-form-legal-footer,
.page-register .registration-form-legal-footer,
.page-forgotten-details .registration-form-legal-footer,
.page-register-variation1 .registration-form-legal-footer,
.page-forgotten-password .registration-form-legal-footer,
.page-code-verification .registration-form-legal-footer,
.page-update-password .registration-form-legal-footer {
  padding-left: 87px;
  font-size: 12px;
}
@media screen and (max-width: 1024px) {
  .page-reset-password .registration-form-legal-footer,
  .page-change-password .registration-form-legal-footer,
  .page-register .registration-form-legal-footer,
  .page-forgotten-details .registration-form-legal-footer,
  .page-register-variation1 .registration-form-legal-footer,
  .page-forgotten-password .registration-form-legal-footer,
  .page-code-verification .registration-form-legal-footer,
  .page-update-password .registration-form-legal-footer {
    padding: 0;
  }
}
.page-reset-password select.select_address,
.page-change-password select.select_address,
.page-register select.select_address,
.page-forgotten-details select.select_address,
.page-register-variation1 select.select_address,
.page-forgotten-password select.select_address,
.page-code-verification select.select_address,
.page-update-password select.select_address {
  width: 610px;
  margin-left: 10px;
}
@media screen and (max-width: 1024px) {
  .page-reset-password,
  .page-change-password,
  .page-register,
  .page-forgotten-details,
  .page-register-variation1,
  .page-forgotten-password,
  .page-code-verification,
  .page-update-password {
    /* .set_margins: needs to be triggered before the elements use page_margin and full_width */
    /*(@width/3.75);*/
    /* validation ticks */
    /* some items need to clear both sides - be on a new line add here */
    /*
    input#registration_submit {
      width: @full_width;
    }
    */
    /*
    .form-item-nobonus,
    .form-item-agree-terms {
      margin-left: @page_margin;
      padding: 0;
      width: auto;
    }*/
  }
  .page-reset-password img.ajax_loader,
  .page-change-password img.ajax_loader,
  .page-register img.ajax_loader,
  .page-forgotten-details img.ajax_loader,
  .page-register-variation1 img.ajax_loader,
  .page-forgotten-password img.ajax_loader,
  .page-code-verification img.ajax_loader,
  .page-update-password img.ajax_loader {
    margin-top: -25px;
  }
  .page-reset-password .region-sidebar-first,
  .page-change-password .region-sidebar-first,
  .page-register .region-sidebar-first,
  .page-forgotten-details .region-sidebar-first,
  .page-register-variation1 .region-sidebar-first,
  .page-forgotten-password .region-sidebar-first,
  .page-code-verification .region-sidebar-first,
  .page-update-password .region-sidebar-first {
    display: none;
  }
  .page-reset-password .basic-page,
  .page-change-password .basic-page,
  .page-register .basic-page,
  .page-forgotten-details .basic-page,
  .page-register-variation1 .basic-page,
  .page-forgotten-password .basic-page,
  .page-code-verification .basic-page,
  .page-update-password .basic-page {
    padding-top: 50px;
  }
  .page-reset-password .column4-6,
  .page-change-password .column4-6,
  .page-register .column4-6,
  .page-forgotten-details .column4-6,
  .page-register-variation1 .column4-6,
  .page-forgotten-password .column4-6,
  .page-code-verification .column4-6,
  .page-update-password .column4-6 {
    float: none;
    width: auto;
  }
  .page-reset-password .form-style,
  .page-change-password .form-style,
  .page-register .form-style,
  .page-forgotten-details .form-style,
  .page-register-variation1 .form-style,
  .page-forgotten-password .form-style,
  .page-code-verification .form-style,
  .page-update-password .form-style {
    width: 100%;
  }
  .page-reset-password .form-item label,
  .page-change-password .form-item label,
  .page-register .form-item label,
  .page-forgotten-details .form-item label,
  .page-register-variation1 .form-item label,
  .page-forgotten-password .form-item label,
  .page-code-verification .form-item label,
  .page-update-password .form-item label {
    text-align: left;
    margin-left: 20%;
  }
  .page-reset-password .messages.error,
  .page-change-password .messages.error,
  .page-register .messages.error,
  .page-forgotten-details .messages.error,
  .page-register-variation1 .messages.error,
  .page-forgotten-password .messages.error,
  .page-code-verification .messages.error,
  .page-update-password .messages.error {
    width: 60%;
    background: #d71716;
  }
  .page-reset-password input.form-checkbox,
  .page-change-password input.form-checkbox,
  .page-register input.form-checkbox,
  .page-forgotten-details input.form-checkbox,
  .page-register-variation1 input.form-checkbox,
  .page-forgotten-password input.form-checkbox,
  .page-code-verification input.form-checkbox,
  .page-update-password input.form-checkbox {
    width: 20px;
    height: 20px;
  }
  .page-reset-password input.form-checkbox:checked,
  .page-change-password input.form-checkbox:checked,
  .page-register input.form-checkbox:checked,
  .page-forgotten-details input.form-checkbox:checked,
  .page-register-variation1 input.form-checkbox:checked,
  .page-forgotten-password input.form-checkbox:checked,
  .page-code-verification input.form-checkbox:checked,
  .page-update-password input.form-checkbox:checked {
    background: #757575;
  }
  .page-reset-password form.form-style .validation-tick,
  .page-change-password form.form-style .validation-tick,
  .page-register form.form-style .validation-tick,
  .page-forgotten-details form.form-style .validation-tick,
  .page-register-variation1 form.form-style .validation-tick,
  .page-forgotten-password form.form-style .validation-tick,
  .page-code-verification form.form-style .validation-tick,
  .page-update-password form.form-style .validation-tick {
    top: 25px;
    left: 0;
  }
  .page-reset-password .registration-form-legal-footer,
  .page-change-password .registration-form-legal-footer,
  .page-register .registration-form-legal-footer,
  .page-forgotten-details .registration-form-legal-footer,
  .page-register-variation1 .registration-form-legal-footer,
  .page-forgotten-password .registration-form-legal-footer,
  .page-code-verification .registration-form-legal-footer,
  .page-update-password .registration-form-legal-footer,
  .page-reset-password select.select_address,
  .page-change-password select.select_address,
  .page-register select.select_address,
  .page-forgotten-details select.select_address,
  .page-register-variation1 select.select_address,
  .page-forgotten-password select.select_address,
  .page-code-verification select.select_address,
  .page-update-password select.select_address,
  .page-reset-password input#account_username,
  .page-change-password input#account_username,
  .page-register input#account_username,
  .page-forgotten-details input#account_username,
  .page-register-variation1 input#account_username,
  .page-forgotten-password input#account_username,
  .page-code-verification input#account_username,
  .page-update-password input#account_username,
  .page-reset-password input#account_password,
  .page-change-password input#account_password,
  .page-register input#account_password,
  .page-forgotten-details input#account_password,
  .page-register-variation1 input#account_password,
  .page-forgotten-password input#account_password,
  .page-code-verification input#account_password,
  .page-update-password input#account_password,
  .page-reset-password input#account_password_confirm,
  .page-change-password input#account_password_confirm,
  .page-register input#account_password_confirm,
  .page-forgotten-details input#account_password_confirm,
  .page-register-variation1 input#account_password_confirm,
  .page-forgotten-password input#account_password_confirm,
  .page-code-verification input#account_password_confirm,
  .page-update-password input#account_password_confirm,
  .page-reset-password input#screen_name,
  .page-change-password input#screen_name,
  .page-register input#screen_name,
  .page-forgotten-details input#screen_name,
  .page-register-variation1 input#screen_name,
  .page-forgotten-password input#screen_name,
  .page-code-verification input#screen_name,
  .page-update-password input#screen_name,
  .page-reset-password input#email,
  .page-change-password input#email,
  .page-register input#email,
  .page-forgotten-details input#email,
  .page-register-variation1 input#email,
  .page-forgotten-password input#email,
  .page-code-verification input#email,
  .page-update-password input#email,
  .page-reset-password input#title,
  .page-change-password input#title,
  .page-register input#title,
  .page-forgotten-details input#title,
  .page-register-variation1 input#title,
  .page-forgotten-password input#title,
  .page-code-verification input#title,
  .page-update-password input#title,
  .page-reset-password input#fname,
  .page-change-password input#fname,
  .page-register input#fname,
  .page-forgotten-details input#fname,
  .page-register-variation1 input#fname,
  .page-forgotten-password input#fname,
  .page-code-verification input#fname,
  .page-update-password input#fname,
  .page-reset-password input#surname,
  .page-change-password input#surname,
  .page-register input#surname,
  .page-forgotten-details input#surname,
  .page-register-variation1 input#surname,
  .page-forgotten-password input#surname,
  .page-code-verification input#surname,
  .page-update-password input#surname,
  .page-reset-password #dob,
  .page-change-password #dob,
  .page-register #dob,
  .page-forgotten-details #dob,
  .page-register-variation1 #dob,
  .page-forgotten-password #dob,
  .page-code-verification #dob,
  .page-update-password #dob,
  .page-reset-password input#number,
  .page-change-password input#number,
  .page-register input#number,
  .page-forgotten-details input#number,
  .page-register-variation1 input#number,
  .page-forgotten-password input#number,
  .page-code-verification input#number,
  .page-update-password input#number,
  .page-reset-password input#address,
  .page-change-password input#address,
  .page-register input#address,
  .page-forgotten-details input#address,
  .page-register-variation1 input#address,
  .page-forgotten-password input#address,
  .page-code-verification input#address,
  .page-update-password input#address,
  .page-reset-password input#city,
  .page-change-password input#city,
  .page-register input#city,
  .page-forgotten-details input#city,
  .page-register-variation1 input#city,
  .page-forgotten-password input#city,
  .page-code-verification input#city,
  .page-update-password input#city,
  .page-reset-password input#county,
  .page-change-password input#county,
  .page-register input#county,
  .page-forgotten-details input#county,
  .page-register-variation1 input#county,
  .page-forgotten-password input#county,
  .page-code-verification input#county,
  .page-update-password input#county,
  .page-reset-password #postcode,
  .page-change-password #postcode,
  .page-register #postcode,
  .page-forgotten-details #postcode,
  .page-register-variation1 #postcode,
  .page-forgotten-password #postcode,
  .page-code-verification #postcode,
  .page-update-password #postcode,
  .page-reset-password #postcode_searchbutton,
  .page-change-password #postcode_searchbutton,
  .page-register #postcode_searchbutton,
  .page-forgotten-details #postcode_searchbutton,
  .page-register-variation1 #postcode_searchbutton,
  .page-forgotten-password #postcode_searchbutton,
  .page-code-verification #postcode_searchbutton,
  .page-update-password #postcode_searchbutton,
  .page-reset-password #enter_manually,
  .page-change-password #enter_manually,
  .page-register #enter_manually,
  .page-forgotten-details #enter_manually,
  .page-register-variation1 #enter_manually,
  .page-forgotten-password #enter_manually,
  .page-code-verification #enter_manually,
  .page-update-password #enter_manually,
  .page-reset-password #mobile_phone,
  .page-change-password #mobile_phone,
  .page-register #mobile_phone,
  .page-forgotten-details #mobile_phone,
  .page-register-variation1 #mobile_phone,
  .page-forgotten-password #mobile_phone,
  .page-code-verification #mobile_phone,
  .page-update-password #mobile_phone,
  .page-reset-password #promo_code,
  .page-change-password #promo_code,
  .page-register #promo_code,
  .page-forgotten-details #promo_code,
  .page-register-variation1 #promo_code,
  .page-forgotten-password #promo_code,
  .page-code-verification #promo_code,
  .page-update-password #promo_code,
  .page-reset-password input#registration_submit,
  .page-change-password input#registration_submit,
  .page-register input#registration_submit,
  .page-forgotten-details input#registration_submit,
  .page-register-variation1 input#registration_submit,
  .page-forgotten-password input#registration_submit,
  .page-code-verification input#registration_submit,
  .page-update-password input#registration_submit,
  .page-reset-password input#forgotten_username,
  .page-change-password input#forgotten_username,
  .page-register input#forgotten_username,
  .page-forgotten-details input#forgotten_username,
  .page-register-variation1 input#forgotten_username,
  .page-forgotten-password input#forgotten_username,
  .page-code-verification input#forgotten_username,
  .page-update-password input#forgotten_username,
  .page-reset-password input#email,
  .page-change-password input#email,
  .page-register input#email,
  .page-forgotten-details input#email,
  .page-register-variation1 input#email,
  .page-forgotten-password input#email,
  .page-code-verification input#email,
  .page-update-password input#email,
  .page-reset-password input#forgotten_details_submit,
  .page-change-password input#forgotten_details_submit,
  .page-register input#forgotten_details_submit,
  .page-forgotten-details input#forgotten_details_submit,
  .page-register-variation1 input#forgotten_details_submit,
  .page-forgotten-password input#forgotten_details_submit,
  .page-code-verification input#forgotten_details_submit,
  .page-update-password input#forgotten_details_submit,
  .page-reset-password div#forgotten_text_bottom,
  .page-change-password div#forgotten_text_bottom,
  .page-register div#forgotten_text_bottom,
  .page-forgotten-details div#forgotten_text_bottom,
  .page-register-variation1 div#forgotten_text_bottom,
  .page-forgotten-password div#forgotten_text_bottom,
  .page-code-verification div#forgotten_text_bottom,
  .page-update-password div#forgotten_text_bottom,
  .page-reset-password select#country,
  .page-change-password select#country,
  .page-register select#country,
  .page-forgotten-details select#country,
  .page-register-variation1 select#country,
  .page-forgotten-password select#country,
  .page-code-verification select#country,
  .page-update-password select#country,
  .page-reset-password input#int_dialing_code,
  .page-change-password input#int_dialing_code,
  .page-register input#int_dialing_code,
  .page-forgotten-details input#int_dialing_code,
  .page-register-variation1 input#int_dialing_code,
  .page-forgotten-password input#int_dialing_code,
  .page-code-verification input#int_dialing_code,
  .page-update-password input#int_dialing_code,
  .page-reset-password #full_address,
  .page-change-password #full_address,
  .page-register #full_address,
  .page-forgotten-details #full_address,
  .page-register-variation1 #full_address,
  .page-forgotten-password #full_address,
  .page-code-verification #full_address,
  .page-update-password #full_address,
  .page-reset-password #change_address,
  .page-change-password #change_address,
  .page-register #change_address,
  .page-forgotten-details #change_address,
  .page-register-variation1 #change_address,
  .page-forgotten-password #change_address,
  .page-code-verification #change_address,
  .page-update-password #change_address,
  .page-reset-password #address_result,
  .page-change-password #address_result,
  .page-register #address_result,
  .page-forgotten-details #address_result,
  .page-register-variation1 #address_result,
  .page-forgotten-password #address_result,
  .page-code-verification #address_result,
  .page-update-password #address_result,
  .page-reset-password input#old_password,
  .page-change-password input#old_password,
  .page-register input#old_password,
  .page-forgotten-details input#old_password,
  .page-register-variation1 input#old_password,
  .page-forgotten-password input#old_password,
  .page-code-verification input#old_password,
  .page-update-password input#old_password,
  .page-reset-password input#new_password,
  .page-change-password input#new_password,
  .page-register input#new_password,
  .page-forgotten-details input#new_password,
  .page-register-variation1 input#new_password,
  .page-forgotten-password input#new_password,
  .page-code-verification input#new_password,
  .page-update-password input#new_password,
  .page-reset-password input#password_confirm,
  .page-change-password input#password_confirm,
  .page-register input#password_confirm,
  .page-forgotten-details input#password_confirm,
  .page-register-variation1 input#password_confirm,
  .page-forgotten-password input#password_confirm,
  .page-code-verification input#password_confirm,
  .page-update-password input#password_confirm,
  .page-reset-password input#change_password_submit,
  .page-change-password input#change_password_submit,
  .page-register input#change_password_submit,
  .page-forgotten-details input#change_password_submit,
  .page-register-variation1 input#change_password_submit,
  .page-forgotten-password input#change_password_submit,
  .page-code-verification input#change_password_submit,
  .page-update-password input#change_password_submit,
  .page-reset-password input#personal_details_password_submit,
  .page-change-password input#personal_details_password_submit,
  .page-register input#personal_details_password_submit,
  .page-forgotten-details input#personal_details_password_submit,
  .page-register-variation1 input#personal_details_password_submit,
  .page-forgotten-password input#personal_details_password_submit,
  .page-code-verification input#personal_details_password_submit,
  .page-update-password input#personal_details_password_submit,
  .page-reset-password input#edit-input-amount,
  .page-change-password input#edit-input-amount,
  .page-register input#edit-input-amount,
  .page-forgotten-details input#edit-input-amount,
  .page-register-variation1 input#edit-input-amount,
  .page-forgotten-password input#edit-input-amount,
  .page-code-verification input#edit-input-amount,
  .page-update-password input#edit-input-amount,
  .page-reset-password input#identifier,
  .page-change-password input#identifier,
  .page-register input#identifier,
  .page-forgotten-details input#identifier,
  .page-register-variation1 input#identifier,
  .page-forgotten-password input#identifier,
  .page-code-verification input#identifier,
  .page-update-password input#identifier,
  .page-reset-password input#token,
  .page-change-password input#token,
  .page-register input#token,
  .page-forgotten-details input#token,
  .page-register-variation1 input#token,
  .page-forgotten-password input#token,
  .page-code-verification input#token,
  .page-update-password input#token,
  .page-reset-password span.error,
  .page-change-password span.error,
  .page-register span.error,
  .page-forgotten-details span.error,
  .page-register-variation1 span.error,
  .page-forgotten-password span.error,
  .page-code-verification span.error,
  .page-update-password span.error {
    box-sizing: border-box;
    /* Make life easier when cacl witdhs and percentage in css */
    display: block;
    position: static;
    /* important needed to override inline rules base and rules based on id (promo_code)
        (specificity is higher:http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#specificity)
      */
    margin: 0 20%;
    margin-top: 5px;
    width: 60%;
  }
  .page-reset-password #full_address,
  .page-change-password #full_address,
  .page-register #full_address,
  .page-forgotten-details #full_address,
  .page-register-variation1 #full_address,
  .page-forgotten-password #full_address,
  .page-code-verification #full_address,
  .page-update-password #full_address {
    display: inline-block;
    margin-left: 0;
  }
  .page-reset-password #change_address,
  .page-change-password #change_address,
  .page-register #change_address,
  .page-forgotten-details #change_address,
  .page-register-variation1 #change_address,
  .page-forgotten-password #change_address,
  .page-code-verification #change_address,
  .page-update-password #change_address {
    margin-left: 0;
    margin-bottom: 10px;
  }
  .page-reset-password #postcodeWrapper .validation-tick,
  .page-change-password #postcodeWrapper .validation-tick,
  .page-register #postcodeWrapper .validation-tick,
  .page-forgotten-details #postcodeWrapper .validation-tick,
  .page-register-variation1 #postcodeWrapper .validation-tick,
  .page-forgotten-password #postcodeWrapper .validation-tick,
  .page-code-verification #postcodeWrapper .validation-tick,
  .page-update-password #postcodeWrapper .validation-tick {
    top: -58px;
  }
  .page-reset-password #dob div,
  .page-change-password #dob div,
  .page-register #dob div,
  .page-forgotten-details #dob div,
  .page-register-variation1 #dob div,
  .page-forgotten-password #dob div,
  .page-code-verification #dob div,
  .page-update-password #dob div {
    margin-right: 5px;
  }
  .page-reset-password #dob div:first-of-type,
  .page-change-password #dob div:first-of-type,
  .page-register #dob div:first-of-type,
  .page-forgotten-details #dob div:first-of-type,
  .page-register-variation1 #dob div:first-of-type,
  .page-forgotten-password #dob div:first-of-type,
  .page-code-verification #dob div:first-of-type,
  .page-update-password #dob div:first-of-type {
    margin-left: 0;
  }
  .page-reset-password #dob div:last-of-type,
  .page-change-password #dob div:last-of-type,
  .page-register #dob div:last-of-type,
  .page-forgotten-details #dob div:last-of-type,
  .page-register-variation1 #dob div:last-of-type,
  .page-forgotten-password #dob div:last-of-type,
  .page-code-verification #dob div:last-of-type,
  .page-update-password #dob div:last-of-type {
    margin-right: 0;
  }
  .page-reset-password form.form-style .description,
  .page-change-password form.form-style .description,
  .page-register form.form-style .description,
  .page-forgotten-details form.form-style .description,
  .page-register-variation1 form.form-style .description,
  .page-forgotten-password form.form-style .description,
  .page-code-verification form.form-style .description,
  .page-update-password form.form-style .description {
    float: left;
    left: 16.5%;
    margin-top: 5px;
  }
  .page-reset-password form.form-style .form-item-nobonus .description,
  .page-change-password form.form-style .form-item-nobonus .description,
  .page-register form.form-style .form-item-nobonus .description,
  .page-forgotten-details form.form-style .form-item-nobonus .description,
  .page-register-variation1 form.form-style .form-item-nobonus .description,
  .page-forgotten-password form.form-style .form-item-nobonus .description,
  .page-code-verification form.form-style .form-item-nobonus .description,
  .page-update-password form.form-style .form-item-nobonus .description,
  .page-reset-password form.form-style .form-item-agree-terms .description,
  .page-change-password form.form-style .form-item-agree-terms .description,
  .page-register form.form-style .form-item-agree-terms .description,
  .page-forgotten-details form.form-style .form-item-agree-terms .description,
  .page-register-variation1 form.form-style .form-item-agree-terms .description,
  .page-forgotten-password form.form-style .form-item-agree-terms .description,
  .page-code-verification form.form-style .form-item-agree-terms .description,
  .page-update-password form.form-style .form-item-agree-terms .description {
    left: 10px;
    top: -20px;
    margin-top: 0;
  }
  .page-reset-password #dob,
  .page-change-password #dob,
  .page-register #dob,
  .page-forgotten-details #dob,
  .page-register-variation1 #dob,
  .page-forgotten-password #dob,
  .page-code-verification #dob,
  .page-update-password #dob,
  .page-reset-password #promo_code,
  .page-change-password #promo_code,
  .page-register #promo_code,
  .page-forgotten-details #promo_code,
  .page-register-variation1 #promo_code,
  .page-forgotten-password #promo_code,
  .page-code-verification #promo_code,
  .page-update-password #promo_code {
    clear: both;
  }
  .page-reset-password form.form-style .form-item-nobonus,
  .page-change-password form.form-style .form-item-nobonus,
  .page-register form.form-style .form-item-nobonus,
  .page-forgotten-details form.form-style .form-item-nobonus,
  .page-register-variation1 form.form-style .form-item-nobonus,
  .page-forgotten-password form.form-style .form-item-nobonus,
  .page-code-verification form.form-style .form-item-nobonus,
  .page-update-password form.form-style .form-item-nobonus,
  .page-reset-password form.form-style .form-item-agree-terms,
  .page-change-password form.form-style .form-item-agree-terms,
  .page-register form.form-style .form-item-agree-terms,
  .page-forgotten-details form.form-style .form-item-agree-terms,
  .page-register-variation1 form.form-style .form-item-agree-terms,
  .page-forgotten-password form.form-style .form-item-agree-terms,
  .page-code-verification form.form-style .form-item-agree-terms,
  .page-update-password form.form-style .form-item-agree-terms {
    padding-left: 0;
    margin-left: 20%;
    margin-right: 0;
    width: 60%;
  }
  .page-reset-password form.form-style .form-item span.error,
  .page-change-password form.form-style .form-item span.error,
  .page-register form.form-style .form-item span.error,
  .page-forgotten-details form.form-style .form-item span.error,
  .page-register-variation1 form.form-style .form-item span.error,
  .page-forgotten-password form.form-style .form-item span.error,
  .page-code-verification form.form-style .form-item span.error,
  .page-update-password form.form-style .form-item span.error {
    box-sizing: border-box;
    margin-left: 20%;
    margin-top: 5px;
    width: 60%;
  }
  .page-reset-password form.form-style .form-item span[for="agree_terms"],
  .page-change-password form.form-style .form-item span[for="agree_terms"],
  .page-register form.form-style .form-item span[for="agree_terms"],
  .page-forgotten-details form.form-style .form-item span[for="agree_terms"],
  .page-register-variation1 form.form-style .form-item span[for="agree_terms"],
  .page-forgotten-password form.form-style .form-item span[for="agree_terms"],
  .page-code-verification form.form-style .form-item span[for="agree_terms"],
  .page-update-password form.form-style .form-item span[for="agree_terms"] {
    clear: right;
    float: right;
    position: static;
    margin-left: 0;
    /*background-color: orange;*/
    width: auto;
    margin-left: 2.4em;
    margin-top: 0;
    margin-bottom: 0;
    /*width: calc(@full_width ~'- 2.4em');*/
  }
  .page-reset-password #bonus-description,
  .page-change-password #bonus-description,
  .page-register #bonus-description,
  .page-forgotten-details #bonus-description,
  .page-register-variation1 #bonus-description,
  .page-forgotten-password #bonus-description,
  .page-code-verification #bonus-description,
  .page-update-password #bonus-description,
  .page-reset-password #terms-description,
  .page-change-password #terms-description,
  .page-register #terms-description,
  .page-forgotten-details #terms-description,
  .page-register-variation1 #terms-description,
  .page-forgotten-password #terms-description,
  .page-code-verification #terms-description,
  .page-update-password #terms-description {
    margin: inherit;
  }
  .page-reset-password #bonus-description p,
  .page-change-password #bonus-description p,
  .page-register #bonus-description p,
  .page-forgotten-details #bonus-description p,
  .page-register-variation1 #bonus-description p,
  .page-forgotten-password #bonus-description p,
  .page-code-verification #bonus-description p,
  .page-update-password #bonus-description p,
  .page-reset-password #terms-description p,
  .page-change-password #terms-description p,
  .page-register #terms-description p,
  .page-forgotten-details #terms-description p,
  .page-register-variation1 #terms-description p,
  .page-forgotten-password #terms-description p,
  .page-code-verification #terms-description p,
  .page-update-password #terms-description p {
    margin: 0;
    margin-left: 10px;
    line-height: 1.1;
    font-size: 15px;
  }
  .page-reset-password form.form-style fieldset span.title,
  .page-change-password form.form-style fieldset span.title,
  .page-register form.form-style fieldset span.title,
  .page-forgotten-details form.form-style fieldset span.title,
  .page-register-variation1 form.form-style fieldset span.title,
  .page-forgotten-password form.form-style fieldset span.title,
  .page-code-verification form.form-style fieldset span.title,
  .page-update-password form.form-style fieldset span.title {
    left: 15%;
  }
  .page-reset-password form.form-style .form-item,
  .page-change-password form.form-style .form-item,
  .page-register form.form-style .form-item,
  .page-forgotten-details form.form-style .form-item,
  .page-register-variation1 form.form-style .form-item,
  .page-forgotten-password form.form-style .form-item,
  .page-code-verification form.form-style .form-item,
  .page-update-password form.form-style .form-item {
    text-align: center;
  }
  .page-reset-password select#title,
  .page-change-password select#title,
  .page-register select#title,
  .page-forgotten-details select#title,
  .page-register-variation1 select#title,
  .page-forgotten-password select#title,
  .page-code-verification select#title,
  .page-update-password select#title {
    display: block;
    width: auto;
    clear: both;
    margin-left: 20%;
  }
  .page-reset-password .form-style .form-item label,
  .page-change-password .form-style .form-item label,
  .page-register .form-style .form-item label,
  .page-forgotten-details .form-style .form-item label,
  .page-register-variation1 .form-style .form-item label,
  .page-forgotten-password .form-style .form-item label,
  .page-code-verification .form-style .form-item label,
  .page-update-password .form-style .form-item label,
  .page-reset-password #enter_manually,
  .page-change-password #enter_manually,
  .page-register #enter_manually,
  .page-forgotten-details #enter_manually,
  .page-register-variation1 #enter_manually,
  .page-forgotten-password #enter_manually,
  .page-code-verification #enter_manually,
  .page-update-password #enter_manually {
    text-align: left;
    clear: both;
  }
  .page-reset-password .form-item.form-item-date-select-day,
  .page-change-password .form-item.form-item-date-select-day,
  .page-register .form-item.form-item-date-select-day,
  .page-forgotten-details .form-item.form-item-date-select-day,
  .page-register-variation1 .form-item.form-item-date-select-day,
  .page-forgotten-password .form-item.form-item-date-select-day,
  .page-code-verification .form-item.form-item-date-select-day,
  .page-update-password .form-item.form-item-date-select-day {
    width: 100%;
  }
  .page-reset-password #dob,
  .page-change-password #dob,
  .page-register #dob,
  .page-forgotten-details #dob,
  .page-register-variation1 #dob,
  .page-forgotten-password #dob,
  .page-code-verification #dob,
  .page-update-password #dob {
    margin-left: 20%;
  }
  .page-reset-password .form-item-nobonus .description,
  .page-change-password .form-item-nobonus .description,
  .page-register .form-item-nobonus .description,
  .page-forgotten-details .form-item-nobonus .description,
  .page-register-variation1 .form-item-nobonus .description,
  .page-forgotten-password .form-item-nobonus .description,
  .page-code-verification .form-item-nobonus .description,
  .page-update-password .form-item-nobonus .description,
  .page-reset-password .form-item-agree-terms .description,
  .page-change-password .form-item-agree-terms .description,
  .page-register .form-item-agree-terms .description,
  .page-forgotten-details .form-item-agree-terms .description,
  .page-register-variation1 .form-item-agree-terms .description,
  .page-forgotten-password .form-item-agree-terms .description,
  .page-code-verification .form-item-agree-terms .description,
  .page-update-password .form-item-agree-terms .description {
    text-align: left;
  }
  .page-reset-password input#registration_submit,
  .page-change-password input#registration_submit,
  .page-register input#registration_submit,
  .page-forgotten-details input#registration_submit,
  .page-register-variation1 input#registration_submit,
  .page-forgotten-password input#registration_submit,
  .page-code-verification input#registration_submit,
  .page-update-password input#registration_submit {
    margin: 0 auto;
    width: 60%;
  }
  .page-reset-password input#postcode,
  .page-change-password input#postcode,
  .page-register input#postcode,
  .page-forgotten-details input#postcode,
  .page-register-variation1 input#postcode,
  .page-forgotten-password input#postcode,
  .page-code-verification input#postcode,
  .page-update-password input#postcode {
    margin-bottom: 10px;
  }
  .page-reset-password form.form-style .form-item-agree-terms,
  .page-change-password form.form-style .form-item-agree-terms,
  .page-register form.form-style .form-item-agree-terms,
  .page-forgotten-details form.form-style .form-item-agree-terms,
  .page-register-variation1 form.form-style .form-item-agree-terms,
  .page-forgotten-password form.form-style .form-item-agree-terms,
  .page-code-verification form.form-style .form-item-agree-terms,
  .page-update-password form.form-style .form-item-agree-terms {
    width: 60%;
    margin-top: 0;
  }
  .page-reset-password #edit-conditionsofuse #bonus-description,
  .page-change-password #edit-conditionsofuse #bonus-description,
  .page-register #edit-conditionsofuse #bonus-description,
  .page-forgotten-details #edit-conditionsofuse #bonus-description,
  .page-register-variation1 #edit-conditionsofuse #bonus-description,
  .page-forgotten-password #edit-conditionsofuse #bonus-description,
  .page-code-verification #edit-conditionsofuse #bonus-description,
  .page-update-password #edit-conditionsofuse #bonus-description,
  .page-reset-password #edit-conditionsofuse #terms-description,
  .page-change-password #edit-conditionsofuse #terms-description,
  .page-register #edit-conditionsofuse #terms-description,
  .page-forgotten-details #edit-conditionsofuse #terms-description,
  .page-register-variation1 #edit-conditionsofuse #terms-description,
  .page-forgotten-password #edit-conditionsofuse #terms-description,
  .page-code-verification #edit-conditionsofuse #terms-description,
  .page-update-password #edit-conditionsofuse #terms-description {
    margin: 0;
  }
  .page-reset-password #edit-conditionsofuse .form-item-nobonus,
  .page-change-password #edit-conditionsofuse .form-item-nobonus,
  .page-register #edit-conditionsofuse .form-item-nobonus,
  .page-forgotten-details #edit-conditionsofuse .form-item-nobonus,
  .page-register-variation1 #edit-conditionsofuse .form-item-nobonus,
  .page-forgotten-password #edit-conditionsofuse .form-item-nobonus,
  .page-code-verification #edit-conditionsofuse .form-item-nobonus,
  .page-update-password #edit-conditionsofuse .form-item-nobonus {
    margin-top: 10px;
  }
  .page-reset-password .form-item-promo-code > label,
  .page-change-password .form-item-promo-code > label,
  .page-register .form-item-promo-code > label,
  .page-forgotten-details .form-item-promo-code > label,
  .page-register-variation1 .form-item-promo-code > label,
  .page-forgotten-password .form-item-promo-code > label,
  .page-code-verification .form-item-promo-code > label,
  .page-update-password .form-item-promo-code > label {
    text-transform: uppercase;
  }
  .page-reset-password form.form-style .form-item-agree-terms,
  .page-change-password form.form-style .form-item-agree-terms,
  .page-register form.form-style .form-item-agree-terms,
  .page-forgotten-details form.form-style .form-item-agree-terms,
  .page-register-variation1 form.form-style .form-item-agree-terms,
  .page-forgotten-password form.form-style .form-item-agree-terms,
  .page-code-verification form.form-style .form-item-agree-terms,
  .page-update-password form.form-style .form-item-agree-terms {
    margin-bottom: 20px;
  }
  .page-reset-password form.form-style .form-item-agree-terms span.error,
  .page-change-password form.form-style .form-item-agree-terms span.error,
  .page-register form.form-style .form-item-agree-terms span.error,
  .page-forgotten-details form.form-style .form-item-agree-terms span.error,
  .page-register-variation1 form.form-style .form-item-agree-terms span.error,
  .page-forgotten-password form.form-style .form-item-agree-terms span.error,
  .page-code-verification form.form-style .form-item-agree-terms span.error,
  .page-update-password form.form-style .form-item-agree-terms span.error {
    clear: both;
    display: block;
    top: -20px;
    left: 0;
    width: 180px;
    height: 30px;
  }
}
@media only screen and (max-width: 413px) {
  .page-reset-password,
  .page-change-password,
  .page-register,
  .page-forgotten-details,
  .page-register-variation1,
  .page-forgotten-password,
  .page-code-verification,
  .page-update-password {
    /*(@width/3.75);*/
  }
  .page-reset-password .form-item,
  .page-change-password .form-item,
  .page-register .form-item,
  .page-forgotten-details .form-item,
  .page-register-variation1 .form-item,
  .page-forgotten-password .form-item,
  .page-code-verification .form-item,
  .page-update-password .form-item {
    /* daron - should have been this way in the beginnig... consider removing if not used */
    z-index: 1;
  }
  .page-reset-password #dob,
  .page-change-password #dob,
  .page-register #dob,
  .page-forgotten-details #dob,
  .page-register-variation1 #dob,
  .page-forgotten-password #dob,
  .page-code-verification #dob,
  .page-update-password #dob {
    width: auto;
    margin: 0;
    padding: 0;
    clear: both;
  }
  .page-reset-password #dob div.form-item,
  .page-change-password #dob div.form-item,
  .page-register #dob div.form-item,
  .page-forgotten-details #dob div.form-item,
  .page-register-variation1 #dob div.form-item,
  .page-forgotten-password #dob div.form-item,
  .page-code-verification #dob div.form-item,
  .page-update-password #dob div.form-item {
    padding: 0;
    margin-right: 5px;
  }
  .ios.page-reset-password #dob div.form-item,
  .ios.page-change-password #dob div.form-item,
  .ios.page-register #dob div.form-item,
  .ios.page-forgotten-details #dob div.form-item,
  .ios.page-register-variation1 #dob div.form-item,
  .ios.page-forgotten-password #dob div.form-item,
  .ios.page-code-verification #dob div.form-item,
  .ios.page-update-password #dob div.form-item {
    margin-left: 20px;
  }
  .ios.page-reset-password #dob div.form-item:first-child,
  .ios.page-change-password #dob div.form-item:first-child,
  .ios.page-register #dob div.form-item:first-child,
  .ios.page-forgotten-details #dob div.form-item:first-child,
  .ios.page-register-variation1 #dob div.form-item:first-child,
  .ios.page-forgotten-password #dob div.form-item:first-child,
  .ios.page-code-verification #dob div.form-item:first-child,
  .ios.page-update-password #dob div.form-item:first-child {
    margin-left: 0;
  }
  .page-reset-password #dob div.form-item select,
  .page-change-password #dob div.form-item select,
  .page-register #dob div.form-item select,
  .page-forgotten-details #dob div.form-item select,
  .page-register-variation1 #dob div.form-item select,
  .page-forgotten-password #dob div.form-item select,
  .page-code-verification #dob div.form-item select,
  .page-update-password #dob div.form-item select {
    margin: 0;
    padding: 0;
  }
  .page-reset-password #dob div.form-item label,
  .page-change-password #dob div.form-item label,
  .page-register #dob div.form-item label,
  .page-forgotten-details #dob div.form-item label,
  .page-register-variation1 #dob div.form-item label,
  .page-forgotten-password #dob div.form-item label,
  .page-code-verification #dob div.form-item label,
  .page-update-password #dob div.form-item label {
    width: 80px;
  }
  .page-reset-password .registration-form-legal-footer,
  .page-change-password .registration-form-legal-footer,
  .page-register .registration-form-legal-footer,
  .page-forgotten-details .registration-form-legal-footer,
  .page-register-variation1 .registration-form-legal-footer,
  .page-forgotten-password .registration-form-legal-footer,
  .page-code-verification .registration-form-legal-footer,
  .page-update-password .registration-form-legal-footer,
  .page-reset-password select.select_address,
  .page-change-password select.select_address,
  .page-register select.select_address,
  .page-forgotten-details select.select_address,
  .page-register-variation1 select.select_address,
  .page-forgotten-password select.select_address,
  .page-code-verification select.select_address,
  .page-update-password select.select_address,
  .page-reset-password input#account_username,
  .page-change-password input#account_username,
  .page-register input#account_username,
  .page-forgotten-details input#account_username,
  .page-register-variation1 input#account_username,
  .page-forgotten-password input#account_username,
  .page-code-verification input#account_username,
  .page-update-password input#account_username,
  .page-reset-password input#account_password,
  .page-change-password input#account_password,
  .page-register input#account_password,
  .page-forgotten-details input#account_password,
  .page-register-variation1 input#account_password,
  .page-forgotten-password input#account_password,
  .page-code-verification input#account_password,
  .page-update-password input#account_password,
  .page-reset-password input#account_password_confirm,
  .page-change-password input#account_password_confirm,
  .page-register input#account_password_confirm,
  .page-forgotten-details input#account_password_confirm,
  .page-register-variation1 input#account_password_confirm,
  .page-forgotten-password input#account_password_confirm,
  .page-code-verification input#account_password_confirm,
  .page-update-password input#account_password_confirm,
  .page-reset-password input#screen_name,
  .page-change-password input#screen_name,
  .page-register input#screen_name,
  .page-forgotten-details input#screen_name,
  .page-register-variation1 input#screen_name,
  .page-forgotten-password input#screen_name,
  .page-code-verification input#screen_name,
  .page-update-password input#screen_name,
  .page-reset-password input#email,
  .page-change-password input#email,
  .page-register input#email,
  .page-forgotten-details input#email,
  .page-register-variation1 input#email,
  .page-forgotten-password input#email,
  .page-code-verification input#email,
  .page-update-password input#email,
  .page-reset-password input#title,
  .page-change-password input#title,
  .page-register input#title,
  .page-forgotten-details input#title,
  .page-register-variation1 input#title,
  .page-forgotten-password input#title,
  .page-code-verification input#title,
  .page-update-password input#title,
  .page-reset-password input#fname,
  .page-change-password input#fname,
  .page-register input#fname,
  .page-forgotten-details input#fname,
  .page-register-variation1 input#fname,
  .page-forgotten-password input#fname,
  .page-code-verification input#fname,
  .page-update-password input#fname,
  .page-reset-password input#surname,
  .page-change-password input#surname,
  .page-register input#surname,
  .page-forgotten-details input#surname,
  .page-register-variation1 input#surname,
  .page-forgotten-password input#surname,
  .page-code-verification input#surname,
  .page-update-password input#surname,
  .page-reset-password input#number,
  .page-change-password input#number,
  .page-register input#number,
  .page-forgotten-details input#number,
  .page-register-variation1 input#number,
  .page-forgotten-password input#number,
  .page-code-verification input#number,
  .page-update-password input#number,
  .page-reset-password input#address,
  .page-change-password input#address,
  .page-register input#address,
  .page-forgotten-details input#address,
  .page-register-variation1 input#address,
  .page-forgotten-password input#address,
  .page-code-verification input#address,
  .page-update-password input#address,
  .page-reset-password input#city,
  .page-change-password input#city,
  .page-register input#city,
  .page-forgotten-details input#city,
  .page-register-variation1 input#city,
  .page-forgotten-password input#city,
  .page-code-verification input#city,
  .page-update-password input#city,
  .page-reset-password input#county,
  .page-change-password input#county,
  .page-register input#county,
  .page-forgotten-details input#county,
  .page-register-variation1 input#county,
  .page-forgotten-password input#county,
  .page-code-verification input#county,
  .page-update-password input#county,
  .page-reset-password #postcode,
  .page-change-password #postcode,
  .page-register #postcode,
  .page-forgotten-details #postcode,
  .page-register-variation1 #postcode,
  .page-forgotten-password #postcode,
  .page-code-verification #postcode,
  .page-update-password #postcode,
  .page-reset-password #postcode_searchbutton,
  .page-change-password #postcode_searchbutton,
  .page-register #postcode_searchbutton,
  .page-forgotten-details #postcode_searchbutton,
  .page-register-variation1 #postcode_searchbutton,
  .page-forgotten-password #postcode_searchbutton,
  .page-code-verification #postcode_searchbutton,
  .page-update-password #postcode_searchbutton,
  .page-reset-password #enter_manually,
  .page-change-password #enter_manually,
  .page-register #enter_manually,
  .page-forgotten-details #enter_manually,
  .page-register-variation1 #enter_manually,
  .page-forgotten-password #enter_manually,
  .page-code-verification #enter_manually,
  .page-update-password #enter_manually,
  .page-reset-password #mobile_phone,
  .page-change-password #mobile_phone,
  .page-register #mobile_phone,
  .page-forgotten-details #mobile_phone,
  .page-register-variation1 #mobile_phone,
  .page-forgotten-password #mobile_phone,
  .page-code-verification #mobile_phone,
  .page-update-password #mobile_phone,
  .page-reset-password #promo_code,
  .page-change-password #promo_code,
  .page-register #promo_code,
  .page-forgotten-details #promo_code,
  .page-register-variation1 #promo_code,
  .page-forgotten-password #promo_code,
  .page-code-verification #promo_code,
  .page-update-password #promo_code,
  .page-reset-password input#registration_submit,
  .page-change-password input#registration_submit,
  .page-register input#registration_submit,
  .page-forgotten-details input#registration_submit,
  .page-register-variation1 input#registration_submit,
  .page-forgotten-password input#registration_submit,
  .page-code-verification input#registration_submit,
  .page-update-password input#registration_submit,
  .page-reset-password input#forgotten_username,
  .page-change-password input#forgotten_username,
  .page-register input#forgotten_username,
  .page-forgotten-details input#forgotten_username,
  .page-register-variation1 input#forgotten_username,
  .page-forgotten-password input#forgotten_username,
  .page-code-verification input#forgotten_username,
  .page-update-password input#forgotten_username,
  .page-reset-password input#email,
  .page-change-password input#email,
  .page-register input#email,
  .page-forgotten-details input#email,
  .page-register-variation1 input#email,
  .page-forgotten-password input#email,
  .page-code-verification input#email,
  .page-update-password input#email,
  .page-reset-password input#forgotten_details_submit,
  .page-change-password input#forgotten_details_submit,
  .page-register input#forgotten_details_submit,
  .page-forgotten-details input#forgotten_details_submit,
  .page-register-variation1 input#forgotten_details_submit,
  .page-forgotten-password input#forgotten_details_submit,
  .page-code-verification input#forgotten_details_submit,
  .page-update-password input#forgotten_details_submit,
  .page-reset-password div#forgotten_text_bottom,
  .page-change-password div#forgotten_text_bottom,
  .page-register div#forgotten_text_bottom,
  .page-forgotten-details div#forgotten_text_bottom,
  .page-register-variation1 div#forgotten_text_bottom,
  .page-forgotten-password div#forgotten_text_bottom,
  .page-code-verification div#forgotten_text_bottom,
  .page-update-password div#forgotten_text_bottom,
  .page-reset-password select#country,
  .page-change-password select#country,
  .page-register select#country,
  .page-forgotten-details select#country,
  .page-register-variation1 select#country,
  .page-forgotten-password select#country,
  .page-code-verification select#country,
  .page-update-password select#country,
  .page-reset-password input#int_dialing_code,
  .page-change-password input#int_dialing_code,
  .page-register input#int_dialing_code,
  .page-forgotten-details input#int_dialing_code,
  .page-register-variation1 input#int_dialing_code,
  .page-forgotten-password input#int_dialing_code,
  .page-code-verification input#int_dialing_code,
  .page-update-password input#int_dialing_code,
  .page-reset-password #address_result,
  .page-change-password #address_result,
  .page-register #address_result,
  .page-forgotten-details #address_result,
  .page-register-variation1 #address_result,
  .page-forgotten-password #address_result,
  .page-code-verification #address_result,
  .page-update-password #address_result,
  .page-reset-password input#old_password,
  .page-change-password input#old_password,
  .page-register input#old_password,
  .page-forgotten-details input#old_password,
  .page-register-variation1 input#old_password,
  .page-forgotten-password input#old_password,
  .page-code-verification input#old_password,
  .page-update-password input#old_password,
  .page-reset-password input#new_password,
  .page-change-password input#new_password,
  .page-register input#new_password,
  .page-forgotten-details input#new_password,
  .page-register-variation1 input#new_password,
  .page-forgotten-password input#new_password,
  .page-code-verification input#new_password,
  .page-update-password input#new_password,
  .page-reset-password input#password_confirm,
  .page-change-password input#password_confirm,
  .page-register input#password_confirm,
  .page-forgotten-details input#password_confirm,
  .page-register-variation1 input#password_confirm,
  .page-forgotten-password input#password_confirm,
  .page-code-verification input#password_confirm,
  .page-update-password input#password_confirm,
  .page-reset-password input#change_password_submit,
  .page-change-password input#change_password_submit,
  .page-register input#change_password_submit,
  .page-forgotten-details input#change_password_submit,
  .page-register-variation1 input#change_password_submit,
  .page-forgotten-password input#change_password_submit,
  .page-code-verification input#change_password_submit,
  .page-update-password input#change_password_submit,
  .page-reset-password input#personal_details_password_submit,
  .page-change-password input#personal_details_password_submit,
  .page-register input#personal_details_password_submit,
  .page-forgotten-details input#personal_details_password_submit,
  .page-register-variation1 input#personal_details_password_submit,
  .page-forgotten-password input#personal_details_password_submit,
  .page-code-verification input#personal_details_password_submit,
  .page-update-password input#personal_details_password_submit,
  .page-reset-password input#edit-other-amount,
  .page-change-password input#edit-other-amount,
  .page-register input#edit-other-amount,
  .page-forgotten-details input#edit-other-amount,
  .page-register-variation1 input#edit-other-amount,
  .page-forgotten-password input#edit-other-amount,
  .page-code-verification input#edit-other-amount,
  .page-update-password input#edit-other-amount,
  .page-reset-password input#identifier,
  .page-change-password input#identifier,
  .page-register input#identifier,
  .page-forgotten-details input#identifier,
  .page-register-variation1 input#identifier,
  .page-forgotten-password input#identifier,
  .page-code-verification input#identifier,
  .page-update-password input#identifier,
  .page-reset-password input#token,
  .page-change-password input#token,
  .page-register input#token,
  .page-forgotten-details input#token,
  .page-register-variation1 input#token,
  .page-forgotten-password input#token,
  .page-code-verification input#token,
  .page-update-password input#token,
  .page-reset-password span.error,
  .page-change-password span.error,
  .page-register span.error,
  .page-forgotten-details span.error,
  .page-register-variation1 span.error,
  .page-forgotten-password span.error,
  .page-code-verification span.error,
  .page-update-password span.error {
    box-sizing: border-box;
    /* Make life easier when cacl witdhs and percentage in css */
    display: block;
    position: static;
    /* important needed to override inline rules base and rules based on id (promo_code)
        (specificity is higher:http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#specificity)
      */
    margin: 0 5%;
    width: 90%;
    margin-top: 5px;
  }
  .page-reset-password #full_address,
  .page-change-password #full_address,
  .page-register #full_address,
  .page-forgotten-details #full_address,
  .page-register-variation1 #full_address,
  .page-forgotten-password #full_address,
  .page-code-verification #full_address,
  .page-update-password #full_address {
    display: inline-block;
    margin-left: 0;
  }
  .page-reset-password #change_address,
  .page-change-password #change_address,
  .page-register #change_address,
  .page-forgotten-details #change_address,
  .page-register-variation1 #change_address,
  .page-forgotten-password #change_address,
  .page-code-verification #change_address,
  .page-update-password #change_address {
    margin-left: 0;
    margin-bottom: 10px;
  }
  .page-reset-password form.form-style .form-item span.error,
  .page-change-password form.form-style .form-item span.error,
  .page-register form.form-style .form-item span.error,
  .page-forgotten-details form.form-style .form-item span.error,
  .page-register-variation1 form.form-style .form-item span.error,
  .page-forgotten-password form.form-style .form-item span.error,
  .page-code-verification form.form-style .form-item span.error,
  .page-update-password form.form-style .form-item span.error {
    box-sizing: border-box;
    margin-left: 5%;
    margin-top: 5px;
    width: 90%;
  }
  .page-reset-password .form-style #postcode_searchbutton,
  .page-change-password .form-style #postcode_searchbutton,
  .page-register .form-style #postcode_searchbutton,
  .page-forgotten-details .form-style #postcode_searchbutton,
  .page-register-variation1 .form-style #postcode_searchbutton,
  .page-forgotten-password .form-style #postcode_searchbutton,
  .page-code-verification .form-style #postcode_searchbutton,
  .page-update-password .form-style #postcode_searchbutton,
  .page-reset-password .form-style .form-item label,
  .page-change-password .form-style .form-item label,
  .page-register .form-style .form-item label,
  .page-forgotten-details .form-style .form-item label,
  .page-register-variation1 .form-style .form-item label,
  .page-forgotten-password .form-style .form-item label,
  .page-code-verification .form-style .form-item label,
  .page-update-password .form-style .form-item label,
  .page-reset-password #enter_manually,
  .page-change-password #enter_manually,
  .page-register #enter_manually,
  .page-forgotten-details #enter_manually,
  .page-register-variation1 #enter_manually,
  .page-forgotten-password #enter_manually,
  .page-code-verification #enter_manually,
  .page-update-password #enter_manually,
  .page-reset-password #bonus-description,
  .page-change-password #bonus-description,
  .page-register #bonus-description,
  .page-forgotten-details #bonus-description,
  .page-register-variation1 #bonus-description,
  .page-forgotten-password #bonus-description,
  .page-code-verification #bonus-description,
  .page-update-password #bonus-description,
  .page-reset-password #terms-description,
  .page-change-password #terms-description,
  .page-register #terms-description,
  .page-forgotten-details #terms-description,
  .page-register-variation1 #terms-description,
  .page-forgotten-password #terms-description,
  .page-code-verification #terms-description,
  .page-update-password #terms-description {
    /*width: @full_width - (2 * @page_padding);*/
    margin: 0 5%;
  }
  .page-reset-password .form-style div.form-item span.error,
  .page-change-password .form-style div.form-item span.error,
  .page-register .form-style div.form-item span.error,
  .page-forgotten-details .form-style div.form-item span.error,
  .page-register-variation1 .form-style div.form-item span.error,
  .page-forgotten-password .form-style div.form-item span.error,
  .page-code-verification .form-style div.form-item span.error,
  .page-update-password .form-style div.form-item span.error {
    margin-top: 5px;
    text-align: left;
  }
  .page-reset-password form.form-style .form-item label,
  .page-change-password form.form-style .form-item label,
  .page-register form.form-style .form-item label,
  .page-forgotten-details form.form-style .form-item label,
  .page-register-variation1 form.form-style .form-item label,
  .page-forgotten-password form.form-style .form-item label,
  .page-code-verification form.form-style .form-item label,
  .page-update-password form.form-style .form-item label {
    margin-left: 5%;
    padding-right: 0;
  }
  .page-reset-password form.form-style fieldset span.title,
  .page-change-password form.form-style fieldset span.title,
  .page-register form.form-style fieldset span.title,
  .page-forgotten-details form.form-style fieldset span.title,
  .page-register-variation1 form.form-style fieldset span.title,
  .page-forgotten-password form.form-style fieldset span.title,
  .page-code-verification form.form-style fieldset span.title,
  .page-update-password form.form-style fieldset span.title {
    left: 5%;
  }
  .page-reset-password select#title,
  .page-change-password select#title,
  .page-register select#title,
  .page-forgotten-details select#title,
  .page-register-variation1 select#title,
  .page-forgotten-password select#title,
  .page-code-verification select#title,
  .page-update-password select#title {
    margin-left: 5%;
  }
  .page-reset-password #dob,
  .page-change-password #dob,
  .page-register #dob,
  .page-forgotten-details #dob,
  .page-register-variation1 #dob,
  .page-forgotten-password #dob,
  .page-code-verification #dob,
  .page-update-password #dob {
    margin-left: 5%;
  }
  .page-reset-password form.form-style .form-item span[for="agree_terms"],
  .page-change-password form.form-style .form-item span[for="agree_terms"],
  .page-register form.form-style .form-item span[for="agree_terms"],
  .page-forgotten-details form.form-style .form-item span[for="agree_terms"],
  .page-register-variation1 form.form-style .form-item span[for="agree_terms"],
  .page-forgotten-password form.form-style .form-item span[for="agree_terms"],
  .page-code-verification form.form-style .form-item span[for="agree_terms"],
  .page-update-password form.form-style .form-item span[for="agree_terms"] {
    /*width: calc(@full_width ~'- 2.4em');*/
  }
  .page-reset-password .form-item-nobonus,
  .page-change-password .form-item-nobonus,
  .page-register .form-item-nobonus,
  .page-forgotten-details .form-item-nobonus,
  .page-register-variation1 .form-item-nobonus,
  .page-forgotten-password .form-item-nobonus,
  .page-code-verification .form-item-nobonus,
  .page-update-password .form-item-nobonus,
  .page-reset-password .form-item-agree-terms,
  .page-change-password .form-item-agree-terms,
  .page-register .form-item-agree-terms,
  .page-forgotten-details .form-item-agree-terms,
  .page-register-variation1 .form-item-agree-terms,
  .page-forgotten-password .form-item-agree-terms,
  .page-code-verification .form-item-agree-terms,
  .page-update-password .form-item-agree-terms,
  .page-reset-password .form-item-nobonus .description,
  .page-change-password .form-item-nobonus .description,
  .page-register .form-item-nobonus .description,
  .page-forgotten-details .form-item-nobonus .description,
  .page-register-variation1 .form-item-nobonus .description,
  .page-forgotten-password .form-item-nobonus .description,
  .page-code-verification .form-item-nobonus .description,
  .page-update-password .form-item-nobonus .description,
  .page-reset-password .form-item-agree-terms .description,
  .page-change-password .form-item-agree-terms .description,
  .page-register .form-item-agree-terms .description,
  .page-forgotten-details .form-item-agree-terms .description,
  .page-register-variation1 .form-item-agree-terms .description,
  .page-forgotten-password .form-item-agree-terms .description,
  .page-code-verification .form-item-agree-terms .description,
  .page-update-password .form-item-agree-terms .description {
    padding-left: 5%;
    /* use same distance in padding */
    width: 90%;
  }
  .page-reset-password form.form-style .field-info,
  .page-change-password form.form-style .field-info,
  .page-register form.form-style .field-info,
  .page-forgotten-details form.form-style .field-info,
  .page-register-variation1 form.form-style .field-info,
  .page-forgotten-password form.form-style .field-info,
  .page-code-verification form.form-style .field-info,
  .page-update-password form.form-style .field-info,
  .page-reset-password form.form-style .field-info-text,
  .page-change-password form.form-style .field-info-text,
  .page-register form.form-style .field-info-text,
  .page-forgotten-details form.form-style .field-info-text,
  .page-register-variation1 form.form-style .field-info-text,
  .page-forgotten-password form.form-style .field-info-text,
  .page-code-verification form.form-style .field-info-text,
  .page-update-password form.form-style .field-info-text {
    width: 100%;
  }
  .page-reset-password form.form-style .form-item-nobonus,
  .page-change-password form.form-style .form-item-nobonus,
  .page-register form.form-style .form-item-nobonus,
  .page-forgotten-details form.form-style .form-item-nobonus,
  .page-register-variation1 form.form-style .form-item-nobonus,
  .page-forgotten-password form.form-style .form-item-nobonus,
  .page-code-verification form.form-style .form-item-nobonus,
  .page-update-password form.form-style .form-item-nobonus,
  .page-reset-password form.form-style .form-item.form-item-agree-terms,
  .page-change-password form.form-style .form-item.form-item-agree-terms,
  .page-register form.form-style .form-item.form-item-agree-terms,
  .page-forgotten-details form.form-style .form-item.form-item-agree-terms,
  .page-register-variation1 form.form-style .form-item.form-item-agree-terms,
  .page-forgotten-password form.form-style .form-item.form-item-agree-terms,
  .page-code-verification form.form-style .form-item.form-item-agree-terms,
  .page-update-password form.form-style .form-item.form-item-agree-terms {
    margin-left: 5%;
    width: 90%;
  }
  .page-reset-password form.form-style .form-item-agree-terms,
  .page-change-password form.form-style .form-item-agree-terms,
  .page-register form.form-style .form-item-agree-terms,
  .page-forgotten-details form.form-style .form-item-agree-terms,
  .page-register-variation1 form.form-style .form-item-agree-terms,
  .page-forgotten-password form.form-style .form-item-agree-terms,
  .page-code-verification form.form-style .form-item-agree-terms,
  .page-update-password form.form-style .form-item-agree-terms {
    margin-bottom: 10px;
  }
  .page-reset-password form.form-style .form-item-agree-terms span.error,
  .page-change-password form.form-style .form-item-agree-terms span.error,
  .page-register form.form-style .form-item-agree-terms span.error,
  .page-forgotten-details form.form-style .form-item-agree-terms span.error,
  .page-register-variation1 form.form-style .form-item-agree-terms span.error,
  .page-forgotten-password form.form-style .form-item-agree-terms span.error,
  .page-code-verification form.form-style .form-item-agree-terms span.error,
  .page-update-password form.form-style .form-item-agree-terms span.error {
    clear: both;
    display: block;
    left: 0;
    margin-bottom: 20px;
    width: 150px;
    height: 30px;
  }
  .page-reset-password .validation-tick,
  .page-change-password .validation-tick,
  .page-register .validation-tick,
  .page-forgotten-details .validation-tick,
  .page-register-variation1 .validation-tick,
  .page-forgotten-password .validation-tick,
  .page-code-verification .validation-tick,
  .page-update-password .validation-tick {
    width: 0;
    height: 0;
    visibility: hidden;
    display: none;
  }
}
@media only screen and (max-width: 414px) {
  .page-reset-password form.form-style,
  .page-change-password form.form-style,
  .page-register form.form-style,
  .page-forgotten-details form.form-style,
  .page-register-variation1 form.form-style,
  .page-forgotten-password form.form-style,
  .page-code-verification form.form-style,
  .page-update-password form.form-style {
    width: 95%;
    display: block;
  }
  .page-reset-password form.form-style #dob .form-item select,
  .page-change-password form.form-style #dob .form-item select,
  .page-register form.form-style #dob .form-item select,
  .page-forgotten-details form.form-style #dob .form-item select,
  .page-register-variation1 form.form-style #dob .form-item select,
  .page-forgotten-password form.form-style #dob .form-item select,
  .page-code-verification form.form-style #dob .form-item select,
  .page-update-password form.form-style #dob .form-item select {
    width: 100%;
  }
  .page-reset-password form.form-style .form-item span.error,
  .page-change-password form.form-style .form-item span.error,
  .page-register form.form-style .form-item span.error,
  .page-forgotten-details form.form-style .form-item span.error,
  .page-register-variation1 form.form-style .form-item span.error,
  .page-forgotten-password form.form-style .form-item span.error,
  .page-code-verification form.form-style .form-item span.error,
  .page-update-password form.form-style .form-item span.error,
  .page-reset-password form.form-style .form-item span.error,
  .page-change-password form.form-style .form-item span.error,
  .page-register form.form-style .form-item span.error,
  .page-forgotten-details form.form-style .form-item span.error,
  .page-register-variation1 form.form-style .form-item span.error,
  .page-forgotten-password form.form-style .form-item span.error,
  .page-code-verification form.form-style .form-item span.error,
  .page-update-password form.form-style .form-item span.error {
    width: 60%;
    margin: 5px auto;
  }
}
.page-reset-password form.form-style div#address_result,
.page-change-password form.form-style div#address_result,
.page-register form.form-style div#address_result,
.page-forgotten-details form.form-style div#address_result,
.page-register-variation1 form.form-style div#address_result,
.page-forgotten-password form.form-style div#address_result,
.page-code-verification form.form-style div#address_result,
.page-update-password form.form-style div#address_result {
  text-align: left;
}
.page-reset-password form.form-style div#address_result label,
.page-change-password form.form-style div#address_result label,
.page-register form.form-style div#address_result label,
.page-forgotten-details form.form-style div#address_result label,
.page-register-variation1 form.form-style div#address_result label,
.page-forgotten-password form.form-style div#address_result label,
.page-code-verification form.form-style div#address_result label,
.page-update-password form.form-style div#address_result label {
  clear: both;
  margin-left: 0;
}
.page-reset-password form.form-style fieldset legend,
.page-change-password form.form-style fieldset legend,
.page-register form.form-style fieldset legend,
.page-forgotten-details form.form-style fieldset legend,
.page-register-variation1 form.form-style fieldset legend,
.page-forgotten-password form.form-style fieldset legend,
.page-code-verification form.form-style fieldset legend,
.page-update-password form.form-style fieldset legend {
  padding: 0;
  margin: 0;
}
.page-reset-password form.form-style fieldset,
.page-change-password form.form-style fieldset,
.page-register form.form-style fieldset,
.page-forgotten-details form.form-style fieldset,
.page-register-variation1 form.form-style fieldset,
.page-forgotten-password form.form-style fieldset,
.page-code-verification form.form-style fieldset,
.page-update-password form.form-style fieldset {
  margin-top: 10px;
  margin-bottom: 5px;
}
.page-reset-password form.form-style fieldset:first-of-type,
.page-change-password form.form-style fieldset:first-of-type,
.page-register form.form-style fieldset:first-of-type,
.page-forgotten-details form.form-style fieldset:first-of-type,
.page-register-variation1 form.form-style fieldset:first-of-type,
.page-forgotten-password form.form-style fieldset:first-of-type,
.page-code-verification form.form-style fieldset:first-of-type,
.page-update-password form.form-style fieldset:first-of-type {
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  body.standalone.page-reset-password .basic-page,
  body.standalone.page-change-password .basic-page,
  body.standalone.page-register .basic-page,
  body.standalone.page-forgotten-details .basic-page,
  body.standalone.page-forgotten-password .basic-page,
  body.standalone.page-code-verification .basic-page,
  body.standalone.page-update-password .basic-page {
    padding-top: 70px;
  }
}
.register-1-2-3 {
  line-height: 1.5em;
}
.register-1-2-3 ul {
  padding-left: 58px;
  list-style: none;
}
.register-1-2-3 li {
  padding: 10px;
}
.register-1-2-3 .register-number {
  display: inline-block;
  margin: 0 10px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  padding: 10px;
  background: #eee;
  color: #272034;
  font-size: 24px;
  text-align: center;
  vertical-align: middle;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
body.sidebar-first .messages {
  color: #fff;
}
@media screen and (max-width: 1024px) {
  body.sidebar-first .messages {
    float: none;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1024px) {
  body.tablet .messages,
  body.smartphone .messages {
    float: none;
    margin: 0 auto;
  }
}
/*  User
--------------------------------------------------------------------------------*/
.page-user #user-login .form-item {
  margin: 10px 0;
}
.page-user #user-login .description {
  display: none;
}
.page-user #user-login input {
  float: right;
  color: #272034;
}
.page-user #user-login input[type="submit"] {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
  width: 200px;
  height: inherit;
  margin-left: 210px;
  background-size: 100%;
  font-size: inherit;
}
.page-user #user-login input[type="submit"]:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.page-user #user-login input[type="submit"]:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.page-user #user-login input[type="submit"]:hover {
  background: #c1f018;
}
.page-user #user-login input[type="submit"]:active {
  background-color: #86a711;
}
.page-user #user-login input[type="submit"]:hover {
  text-decoration: none;
}
.page-user #user-login input[type="submit"].disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.page-user #user-login input[type="submit"].disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
/* forgotten details error msg */
.messages.error {
  background: #d71716;
  padding: 10px 20px;
  font-size: 14px;
}
.messages ul {
  list-style: none;
}
.messages.status {
  background-color: #1c8ce2;
  padding: 10px 30px;
  margin-bottom: 20px;
  border-top: 1px solid #ccc;
  margin-top: -1px;
  font-size: 14px;
}
.playtech-login-block form[name="playtech-login-form"] input[type="text"]::placeholder,
.login-modal form[name="playtech-login-form"] input[type="text"]::placeholder,
.playtech-login-block form[name="playtech-login-form"] input[type="password"]::placeholder,
.login-modal form[name="playtech-login-form"] input[type="password"]::placeholder {
  text-transform: capitalize;
}
.playtech-login-block form[name="playtech-login-form"] input[type="text"],
.playtech-login-block form[name="playtech-login-form"] input[type="password"] {
  background: #f3ecf4;
  color: #4b0b4a;
  border: 0px none;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  color: #fff;
  font-size: 11px;
  text-transform: uppercase;
  outline: none;
}
.playtech-login-block form[name="playtech-login-form"] input[type="text"]:focus,
.playtech-login-block form[name="playtech-login-form"] input[type="password"]:focus {
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 9px;
}
.playtech-login-block form[name="playtech-login-form"] ::-webkit-input-placeholder {
  color: #ccc;
}
.playtech-login-block form[name="playtech-login-form"] :-moz-placeholder {
  color: #ccc;
}
.playtech-login-block form[name="playtech-login-form"] ::-moz-placeholder {
  color: #ccc;
}
.playtech-login-block form[name="playtech-login-form"] :-ms-input-placeholder {
  color: #ccc;
}
.playtech-login-block form[name="playtech-login-form"] .register {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.playtech-login-block form[name="playtech-login-form"] .register:hover {
  background: #c1f018;
}
.playtech-login-block form[name="playtech-login-form"] .register:active {
  background-color: #86a711;
}
.playtech-login-block form[name="playtech-login-form"] .register:hover {
  text-decoration: none;
}
.playtech-login-block form[name="playtech-login-form"] .register.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.playtech-login-block form[name="playtech-login-form"] .register.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"] {
  background: #ec018c;
  color: #fff;
  border: solid 2px #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 700;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"]:hover {
  background-color: #ff53b9;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"].highlighted {
  background-color: rgba(236, 1, 140, 0.5);
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"]:hover {
  text-decoration: none;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"].disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"].disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"].highlighted {
  background-color: #e5e5e5;
  background-color: rgba(229, 229, 229, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99e5e5e5, endColorstr=#99e5e5e5);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99e5e5e5, endColorstr=#99e5e5e5);
}
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link {
  color: #fff;
  color: rgba(255, 255, 255, 0.4);
  font-size: 11px;
  line-height: 30px;
}
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link.disabled {
  color: rgba(243, 229, 244, 0.9);
}
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link:hover {
  color: #fff;
  color: rgba(255, 255, 255, 0.9);
}
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link:hover.disabled {
  color: rgba(243, 229, 244, 0.9);
}
/*  Games Navigation | RT
------------------------------------------------------------ */
.games_menu {
  padding: 0;
  font-size: 0;
  border-top: 3px solid black;
  vertical-align: top;
}
.games_menu_spacing_mixin {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: table-cell;
  font-size: 14px;
}
.games_category {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: table-cell;
  font-size: 14px;
  vertical-align: top;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.games_category.selected a {
  line-height: 15px;
  font-size: 18px;
  font-weight: bold;
}
.games_menu .spacer {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: table-cell;
  font-size: 14px;
  width: 50%;
  transition: 0.3s;
}
.games_menu .spacer.last {
  width: 30%;
}
.view-id-games_nav {
  clear: left;
}
.casino-vertical .netplay-gameCategories,
.casino-vertical .games_menu {
  border-top: 3px solid;
  border-top-color: #f3e5f4;
}
@media only screen and (max-width: 767px) {
  .smartphone.casino-vertical .netplay-gameCategories,
  .smartphone.casino-vertical .games_menu {
    background: #ec018c;
  }
}
.casino-vertical .netplay-gameCategories .spacer,
.casino-vertical .games_menu .spacer {
  background: #ec018c;
}
.casino-vertical .netplay-gameCategories .games_category,
.casino-vertical .games_menu .games_category {
  background: #ec018c;
}
@media only screen and (max-width: 767px) {
  .smartphone.casino-vertical .netplay-gameCategories .games_category,
  .smartphone.casino-vertical .games_menu .games_category {
    background: transparent;
  }
}
.casino-vertical .netplay-gameCategories .games_category a,
.casino-vertical .games_menu .games_category a {
  color: #eee;
}
.smartphone.casino-vertical .netplay-gameCategories .games_category.selected,
.smartphone.casino-vertical .games_menu .games_category.selected,
.smartphone.casino-vertical .netplay-gameCategories .games_category:hover,
.smartphone.casino-vertical .games_menu .games_category:hover {
  background: #f3e5f4;
}
.live-vertical .netplay-gameCategories,
.live-vertical .games_menu {
  border-top: 3px solid #af8636;
}
@media only screen and (max-width: 767px) {
  .smartphone.live-vertical .netplay-gameCategories,
  .smartphone.live-vertical .games_menu {
    background: #af8636;
  }
}
.live-vertical .netplay-gameCategories .spacer,
.live-vertical .games_menu .spacer {
  background: #af8636;
}
.live-vertical .netplay-gameCategories .games_category,
.live-vertical .games_menu .games_category {
  background-color: #af8636;
}
@media only screen and (max-width: 767px) {
  .live-vertical .netplay-gameCategories .games_category,
  .live-vertical .games_menu .games_category {
    background: transparent;
  }
}
.live-vertical .netplay-gameCategories .games_category.selected,
.live-vertical .games_menu .games_category.selected,
.live-vertical .netplay-gameCategories .games_category:hover,
.live-vertical .games_menu .games_category:hover {
  background: #f3e5f4;
}
.vegas-vertical .netplay-gameCategories,
.vegas-vertical .games_menu {
  border-top-color: #f3e5f4;
}
@media only screen and (max-width: 767px) {
  .vegas-vertical .netplay-gameCategories,
  .vegas-vertical .games_menu {
    background: #e97d31;
  }
}
.vegas-vertical .netplay-gameCategories .spacer,
.vegas-vertical .games_menu .spacer {
  background: #e97d31;
}
.vegas-vertical .netplay-gameCategories .games_category,
.vegas-vertical .games_menu .games_category {
  background: #e97d31;
}
@media only screen and (max-width: 767px) {
  .vegas-vertical .netplay-gameCategories .games_category,
  .vegas-vertical .games_menu .games_category {
    background: transparent;
  }
}
.vegas-vertical .netplay-gameCategories .games_category.selected,
.vegas-vertical .games_menu .games_category.selected,
.vegas-vertical .netplay-gameCategories .games_category:hover,
.vegas-vertical .games_menu .games_category:hover {
  background: #f3e5f4;
}
.netplay-gameCategories,
.games_menu {
  height: 40px;
  /* +3 border top */
}
.netplay-gameCategories .spacer.first,
.games_menu .spacer.first {
  width: 39%;
  transition: 0.3s;
  transition-property: width;
}
@media only screen and (max-width: 767px) {
}
.netplay-gameCategories .spacer.last,
.games_menu .spacer.last {
  width: 35%;
  transition: 0.3s;
  transition-property: width;
}
.netplay-gameCategories .games_category,
.games_menu .games_category {
  vertical-align: middle;
  transition-property: background;
  transition: 0.3s;
  white-space: nowrap;
  height: 40px;
}
@media only screen and (max-width: 413px) {
  .netplay-gameCategories .games_category,
  .games_menu .games_category {
    height: 40px;
    white-space: normal;
  }
}
.netplay-gameCategories .games_category a,
.games_menu .games_category a {
  display: block;
  line-height: 17px;
  cursor: pointer;
  font-size: 19px;
  text-decoration: none;
  transition: 0.3s ease-out;
  transition-property: background;
  color: #eee;
  font-weight: lighter;
  text-shadow: 1px 0 2px rgba(0, 0, 0, 0.5);
  padding: 5px 5vw 6px 5vw;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .netplay-gameCategories .games_category a,
  .games_menu .games_category a {
    font-size: 16px;
    padding: 5px 32px 6px 32px;
    height: 100%;
    line-height: 2;
  }
}
@media only screen and (max-width: 567px) {
  .netplay-gameCategories .games_category a,
  .games_menu .games_category a {
    font-size: 15px;
    padding: 1px 17px 0px 17px;
  }
}
@media only screen and (max-width: 413px) {
  .netplay-gameCategories .games_category a,
  .games_menu .games_category a {
    line-height: 1;
    font-size: 13px;
    padding: 1px 10px 0px 10px;
    height: auto;
  }
}
.netplay-gameCategories .games_category.selected,
.games_menu .games_category.selected {
  background: transparent;
  color: #FFF;
}
.netplay-gameCategories .games_category:hover,
.games_menu .games_category:hover {
  background: transparent;
  color: #FFF;
}
.desktop .netplay-gameCategories,
.desktop .games_menu {
  height: 54px;
  /* +3 border top */
}
.desktop .netplay-gameCategories .games_category,
.desktop .games_menu .games_category {
  vertical-align: middle;
}
@media only screen and (max-width: 413px) {
  .desktop .netplay-gameCategories .games_category,
  .desktop .games_menu .games_category {
    padding-bottom: 2px;
  }
}
.desktop .netplay-gameCategories .games_category a,
.desktop .games_menu .games_category a {
  padding: 20px 26px 17px;
  font-size: 16px;
  transition: 0.3s;
}
@media screen and (max-width: 1024px) {
  .desktop .netplay-gameCategories .games_category a,
  .desktop .games_menu .games_category a {
    padding: 17px 20px 20px;
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .desktop .netplay-gameCategories .games_category a,
  .desktop .games_menu .games_category a {
    font-size: 14px;
    padding: 17px 1.7vw 20px 1.7vw;
  }
}
@media only screen and (max-width: 567px) {
  .desktop .netplay-gameCategories .games_category a,
  .desktop .games_menu .games_category a {
    font-size: 12px;
    padding: 17px 1.5vw 20px 1.5vw;
  }
}
@media only screen and (max-width: 413px) {
  .desktop .netplay-gameCategories .games_category a,
  .desktop .games_menu .games_category a {
    font-size: 12px;
    padding: 17px 1vw 20px 1vw;
  }
}
.desktop .netplay-gameCategories.noscroll .spacer.first {
  width: 39%;
  transition: 0.3s;
}
.desktop .netplay-gameCategories.noscroll .spacer.last {
  width: 35%;
  transition: 0.3s;
}
.desktop .netplay-gameCategories.noscroll .games_category {
  height: 17px;
}
.desktop .netplay-gameCategories.noscroll .games_category a {
  padding: 13px 26px 15px 26px;
  transition-property: background;
  height: 17px;
  font-size: 16px;
}
.desktop .netplay-gameCategories.noscroll .games_category.selected a {
  background: #0D0D15;
}
.desktop .netplay-gameCategories.scroll .spacer.first {
  width: 8.6vw;
  transition: 0.3s;
}
.desktop .netplay-gameCategories.scroll .spacer.last {
  width: 6vw;
  transition: 0.3s;
}
.desktop .netplay-gameCategories.scroll .games_category {
  height: 17px;
}
.desktop .netplay-gameCategories.scroll .games_category a {
  padding: 13px 2.6vw 15px 2.6vw;
  transition-property: background;
  height: 17px;
  font-size: 16px;
}
.desktop .netplay-gameCategories.scroll .games_category.selected a {
  background: transparent;
}
/*  Games List
------------------------------------------------------------ */
.view-games,
.game-list {
  min-height: 140px;
  padding-top: 20px;
  text-align: center;
}
.view-games.loading_all_games,
.game-list.loading_all_games {
  height: 300px;
}
@media only screen and (max-width: 666px) and (max-height: 374px) and (orientation: landscape) {
  .view-games.loading_all_games,
  .game-list.loading_all_games {
    height: 140px;
  }
}
.view-games.loading_all_games,
.game-list.loading_all_games {
  background: url('/assets/general/VNB-loading-icon.gif') no-repeat center center;
}
/* Bingo Game List
------------------------------------------------------------ */
.bingo-games {
  min-height: 140px;
  text-align: left;
}
.bingo-games.loading_all_games {
  height: 300px;
}
@media only screen and (max-width: 666px) and (max-height: 374px) and (orientation: landscape) {
  .bingo-games.loading_all_games {
    height: 140px;
  }
}
.bingo-games.loading_all_games {
  background: url('/assets/general/VNB-loading-icon.gif') no-repeat center center;
}
body.vn-bingo .loading_all_games {
  background-size: 7%;
}
/* Games Wrapper
------------------------------------------------------------ */
.game_wrapper {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  margin: 2% 2%;
  width: 180px;
  height: auto;
  background: transparent !important;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.game_wrapper .jackpot_spinner {
  background: rgba(0, 0, 0, 0.8);
  bottom: 0;
  font-size: 14px;
  font-weight: bold;
  left: 0;
  height: 20%;
  line-height: 22px;
  width: 100%;
}
.game_wrapper .jackpot_spinner:empty {
  display: none;
}
@media screen and (max-width: 1024px) {
  .game_wrapper {
    width: 153px;
    margin: 2.39%;
  }
  .game_wrapper .netplay_game_details span {
    font-size: 11.5px;
    line-height: 20px;
  }
  .game_wrapper .jackpot_spinner {
    font-size: 13px;
    line-height: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .game_wrapper {
    width: 140px;
    margin: 1.5%;
  }
  .game_wrapper .netplay_game_details span {
    font-size: 11px;
    line-height: 20px;
  }
  .game_wrapper .jackpot_spinner {
    font-size: 12px;
    line-height: 18px;
  }
}
@media only screen and (max-width: 567px) {
  .game_wrapper {
    width: 140px;
    margin: 1.5%;
  }
  .game_wrapper .netplay_game_details span {
    font-size: 11px;
    line-height: 20px;
  }
  .game_wrapper .jackpot_spinner {
    font-size: 12px;
    line-height: 18px;
  }
}
@media only screen and (max-width: 414px) {
  .game_wrapper {
    width: 170px;
    margin: 2%;
  }
  .game_wrapper .netplay_game_details span {
    font-size: 12px;
    line-height: 24px;
  }
  .game_wrapper .jackpot_spinner {
    font-size: 13px;
    line-height: 20px;
  }
}
@media only screen and (max-width: 375px) {
  .game_wrapper {
    width: 158px;
    margin: 2%;
  }
  .game_wrapper .netplay_game_details span {
    font-size: 11.5px;
    line-height: 20px;
  }
  .game_wrapper .jackpot_spinner {
    font-size: 13px;
    line-height: 20px;
  }
}
@media only screen and (max-width: 374px) {
  .game_wrapper {
    width: 130px;
    margin: 2%;
  }
  .game_wrapper .netplay_game_details span {
    font-size: 10px;
    line-height: 16px;
  }
  .game_wrapper .jackpot_spinner {
    font-size: 11px;
    line-height: 17px;
  }
}
.game_wrapper img {
  transition: 0.1s linear;
  width: 100%;
  height: auto;
  max-width: 100%;
}
.game_wrapper .game_overlay {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(12, 0, 0, 0.4);
  transition: 0.2s linear;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -khtml-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
}
.game_wrapper .game_overlay * {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)" !important;
  filter: alpha(opacity=0) !important;
}
.game_wrapper .game_overlay .game_title {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  top: 0;
  left: 1px;
  margin: 1px auto;
  line-height: 12px;
  padding: 4px 0;
  width: 100%;
  color: #fff;
  cursor: default;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
  z-index: 20;
}
@media screen and (max-width: 1024px) {
  .game_wrapper .game_overlay .game_title {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .game_wrapper .game_overlay .game_title {
    font-size: 0.9rem;
  }
}
.game_wrapper .game_overlay .button {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
}
.game_wrapper .game_overlay .button:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.game_wrapper .game_overlay .button:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.game_wrapper .game_overlay .play_for_real {
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
  margin: 26px auto 0;
  width: 112px;
  font-size: 20px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}
.game_wrapper .game_overlay .play_for_real:hover {
  background: #c1f018;
}
.game_wrapper .game_overlay .play_for_real:active {
  background-color: #86a711;
}
.game_wrapper .game_overlay .play_for_real:hover {
  text-decoration: none;
}
.game_wrapper .game_overlay .play_for_real.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.game_wrapper .game_overlay .play_for_real.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
@media screen and (max-width: 1024px) {
  .game_wrapper .game_overlay .play_for_real {
    margin: 23px auto 0;
    font-size: 17px;
  }
}
@media only screen and (max-width: 767px) {
  .game_wrapper .game_overlay .play_for_real {
    margin: 20px auto 0;
  }
}
.game_wrapper .game_overlay .play_for_fun {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff;
  background: #b5afb5;
  border: 2px solid #fff;
  margin: 8px auto;
  padding: 0;
  width: 80px;
  font-size: 10px;
}
.game_wrapper .game_overlay .play_for_fun:hover {
  background: #cfc8cf;
}
@media screen and (max-width: 1024px) {
  .game_wrapper .game_overlay .play_for_fun {
    margin: 5px auto;
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .game_wrapper .game_overlay .play_for_fun {
    margin-top: 3px;
  }
}
.game_wrapper .game_overlay .more_info {
  display: block;
  right: 8px;
  bottom: 5px;
  width: 20px;
  height: 20px;
  text-indent: -10000px;
  background: url('/assets/icons/info_icon.png') center top no-repeat;
  background-size: 80%;
}
@media screen and (max-width: 1024px) {
  .game_wrapper .game_overlay .more_info {
    right: 3px;
    bottom: 1px;
  }
}
.game_wrapper .game_overlay .game_description {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: none;
  margin: 25px auto 0;
  width: calc(90%);
  padding: 5px;
  cursor: default;
  text-align: center;
}
.game_wrapper .game_overlay .game_description strong {
  display: none;
  color: #e0C56a;
  font-size: 16px;
  margin-bottom: 4px;
}
.game_wrapper .game_overlay .game_description i {
  display: none;
  color: #c2c2c2;
  margin-bottom: 10px;
}
@media screen and (max-width: 1024px) {
  .game_wrapper .game_overlay .game_description {
    margin-top: 21px;
    font-size: 1.2rem;
    line-height: 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .game_wrapper .game_overlay .game_description {
    font-size: 1.1rem;
    line-height: 1.4rem;
    margin-top: 20px;
  }
}
.game_wrapper:hover .game_overlay {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
}
.game_wrapper:hover .game_overlay * {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" !important;
  filter: alpha(opacity=100) !important;
}
.game_wrapper:hover img,
.game_wrapper:hover .netplay_game_details,
.game_wrapper:hover .jackpot_spinner {
  -webkit-filter: blur(5px) saturate(80%);
  filter: blur(5px) saturate(80%);
}
.game_wrapper.netplay-games,
.game_wrapper.category_223 {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.game_wrapper.netplay-games .game-description,
.game_wrapper.category_223 .game-description {
  top: 123px;
}
.game_wrapper.netplay-games .game_title,
.game_wrapper.category_223 .game_title {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  background: #111;
  left: 0;
  line-height: 14px;
  margin: 0;
  padding: 4px 0 0 0;
}
.game_wrapper .new-game {
  display: block;
  top: 0;
  right: 0;
  background: url(/assets/GB/games/new-game.png) 0 0 no-repeat;
  width: 64px;
  height: 64px;
  text-indent: -10000px;
}
.game_wrapper.game-status-off-air .play_for_real,
.game_wrapper.game-status-off-air .play_for_fun,
.game_wrapper.playtech-games .netplay_game_details {
  display: none;
}
.game_wrapper.game-status-off-air.netplay-games .game_description {
  display: block;
}
.game_wrapper .currency-symbol {
  margin-right: 4px;
}
.game_wrapper .jackpot_spinner.jackpot-mrj-4 {
  line-height: 14px;
  min-height: 30px;
  padding: 6px 25px 10px 0;
  box-sizing: border-box;
  background-image: url(/assets/GB/games/ultimate-power_flat.png);
  background-repeat: no-repeat;
  font-size: 12px;
  text-align: right;
}
@media screen and (max-width: 1024px) {
  .game_wrapper .jackpot_spinner.jackpot-mrj-4 {
    font-size: 11px;
    padding-right: 13px;
    line-height: 13px;
  }
}
@media only screen and (max-width: 767px) {
  .game_wrapper .jackpot_spinner.jackpot-mrj-4 {
    padding-right: 10px;
  }
}
@media only screen and (max-width: 567px) {
  .game_wrapper .jackpot_spinner.jackpot-mrj-4 {
    padding-right: 2px;
  }
}
.game_wrapper .wrapper_overlay {
  display: none;
  width: 100vw;
  background: #FFF000;
}
.netplay_game_details {
  bottom: 0;
  height: 20%;
  left: 0;
  line-height: 24px;
  width: 100%;
}
.netplay_game_details span {
  color: #fff;
  display: block;
  float: left;
  font-size: 12px;
  height: 100%;
  text-align: center;
  text-shadow: 0 0 1px rgba(255, 255, 255, 0.3);
  text-transform: uppercase;
}
.netplay_game_details span.game_status_message {
  background-color: rgba(255, 255, 255, 0.8);
  color: #000;
  width: 40%;
}
.netplay_game_details span.game_status_message.on_air {
  background-color: rgba(174, 24, 27, 0.8);
  color: #fff;
}
.netplay_game_details span.spinner_type {
  background-color: rgba(0, 0, 0, 0.8);
  width: 60%;
}
.games-live-games .game_wrapper {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  margin: 12px;
  width: 300px;
  height: 167px;
}
.games-live-games .game_wrapper .netplay_game_details {
  width: 300px;
  height: 30px;
}
.games-live-games .game_wrapper .netplay_game_details span {
  font-size: 20px;
  line-height: 32px;
}
.games-live-games .game_wrapper .game_overlay .game_title {
  background: #111;
  font-size: 20px;
  left: 0;
  line-height: 20px;
  margin: 0;
  padding: 6px 0 2px;
  top: 0;
}
.games-live-games .game_wrapper .game_overlay .play_for_real {
  margin-top: 62px;
  font-size: 24px;
}
.games-live-games .game_wrapper .game_overlay .game_description {
  margin-top: 55px;
}
@media screen and (max-width: 1024px) {
  .games-live-games .game_wrapper {
    width: 300px;
  }
}
@media only screen and (max-width: 767px) {
  .games-live-games .game_wrapper {
    width: 300px;
  }
}
@media only screen and (max-width: 567px) {
  .games-live-games .game_wrapper {
    width: 300px;
  }
}
@media only screen and (max-width: 413px) {
  .games-live-games .game_wrapper {
    width: 300px;
  }
}
.double-launch-content {
  background: #3e314f;
}
.double-launch-content .view-content {
  padding-top: 5px;
}
.double-launch-content .view-games,
.double-launch-content .game-list {
  padding-top: 0;
}
.double-launch-content .double-launch-link-wrapper {
  padding-bottom: 10px;
}
.double-launch-content .game-wrapper {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  margin: 2% 2%;
  width: 180px;
  height: auto;
  background: transparent !important;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  margin: 0;
  box-shadow: 0 0 0 transparent;
  margin: 20px 12px;
}
.double-launch-content .game-wrapper .jackpot_spinner {
  background: rgba(0, 0, 0, 0.8);
  bottom: 0;
  font-size: 14px;
  font-weight: bold;
  left: 0;
  height: 20%;
  line-height: 22px;
  width: 100%;
}
.double-launch-content .game-wrapper .jackpot_spinner:empty {
  display: none;
}
@media screen and (max-width: 1024px) {
  .double-launch-content .game-wrapper {
    width: 153px;
    margin: 2.39%;
  }
  .double-launch-content .game-wrapper .netplay_game_details span {
    font-size: 11.5px;
    line-height: 20px;
  }
  .double-launch-content .game-wrapper .jackpot_spinner {
    font-size: 13px;
    line-height: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .double-launch-content .game-wrapper {
    width: 140px;
    margin: 1.5%;
  }
  .double-launch-content .game-wrapper .netplay_game_details span {
    font-size: 11px;
    line-height: 20px;
  }
  .double-launch-content .game-wrapper .jackpot_spinner {
    font-size: 12px;
    line-height: 18px;
  }
}
@media only screen and (max-width: 567px) {
  .double-launch-content .game-wrapper {
    width: 140px;
    margin: 1.5%;
  }
  .double-launch-content .game-wrapper .netplay_game_details span {
    font-size: 11px;
    line-height: 20px;
  }
  .double-launch-content .game-wrapper .jackpot_spinner {
    font-size: 12px;
    line-height: 18px;
  }
}
@media only screen and (max-width: 414px) {
  .double-launch-content .game-wrapper {
    width: 170px;
    margin: 2%;
  }
  .double-launch-content .game-wrapper .netplay_game_details span {
    font-size: 12px;
    line-height: 24px;
  }
  .double-launch-content .game-wrapper .jackpot_spinner {
    font-size: 13px;
    line-height: 20px;
  }
}
@media only screen and (max-width: 375px) {
  .double-launch-content .game-wrapper {
    width: 158px;
    margin: 2%;
  }
  .double-launch-content .game-wrapper .netplay_game_details span {
    font-size: 11.5px;
    line-height: 20px;
  }
  .double-launch-content .game-wrapper .jackpot_spinner {
    font-size: 13px;
    line-height: 20px;
  }
}
@media only screen and (max-width: 374px) {
  .double-launch-content .game-wrapper {
    width: 130px;
    margin: 2%;
  }
  .double-launch-content .game-wrapper .netplay_game_details span {
    font-size: 10px;
    line-height: 16px;
  }
  .double-launch-content .game-wrapper .jackpot_spinner {
    font-size: 11px;
    line-height: 17px;
  }
}
.double-launch-content .game-wrapper img {
  transition: 0.1s linear;
  width: 100%;
  height: auto;
  max-width: 100%;
}
.double-launch-content .game-wrapper .game_overlay {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(12, 0, 0, 0.4);
  transition: 0.2s linear;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -khtml-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
}
.double-launch-content .game-wrapper .game_overlay * {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)" !important;
  filter: alpha(opacity=0) !important;
}
.double-launch-content .game-wrapper .game_overlay .game_title {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  top: 0;
  left: 1px;
  margin: 1px auto;
  line-height: 12px;
  padding: 4px 0;
  width: 100%;
  color: #fff;
  cursor: default;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
  z-index: 20;
}
@media screen and (max-width: 1024px) {
  .double-launch-content .game-wrapper .game_overlay .game_title {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .double-launch-content .game-wrapper .game_overlay .game_title {
    font-size: 0.9rem;
  }
}
.double-launch-content .game-wrapper .game_overlay .button {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
}
.double-launch-content .game-wrapper .game_overlay .button:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.double-launch-content .game-wrapper .game_overlay .button:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.double-launch-content .game-wrapper .game_overlay .play_for_real {
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
  margin: 26px auto 0;
  width: 112px;
  font-size: 20px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}
.double-launch-content .game-wrapper .game_overlay .play_for_real:hover {
  background: #c1f018;
}
.double-launch-content .game-wrapper .game_overlay .play_for_real:active {
  background-color: #86a711;
}
.double-launch-content .game-wrapper .game_overlay .play_for_real:hover {
  text-decoration: none;
}
.double-launch-content .game-wrapper .game_overlay .play_for_real.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.double-launch-content .game-wrapper .game_overlay .play_for_real.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
@media screen and (max-width: 1024px) {
  .double-launch-content .game-wrapper .game_overlay .play_for_real {
    margin: 23px auto 0;
    font-size: 17px;
  }
}
@media only screen and (max-width: 767px) {
  .double-launch-content .game-wrapper .game_overlay .play_for_real {
    margin: 20px auto 0;
  }
}
.double-launch-content .game-wrapper .game_overlay .play_for_fun {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff;
  background: #b5afb5;
  border: 2px solid #fff;
  margin: 8px auto;
  padding: 0;
  width: 80px;
  font-size: 10px;
}
.double-launch-content .game-wrapper .game_overlay .play_for_fun:hover {
  background: #cfc8cf;
}
@media screen and (max-width: 1024px) {
  .double-launch-content .game-wrapper .game_overlay .play_for_fun {
    margin: 5px auto;
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .double-launch-content .game-wrapper .game_overlay .play_for_fun {
    margin-top: 3px;
  }
}
.double-launch-content .game-wrapper .game_overlay .more_info {
  display: block;
  right: 8px;
  bottom: 5px;
  width: 20px;
  height: 20px;
  text-indent: -10000px;
  background: url('/assets/icons/info_icon.png') center top no-repeat;
  background-size: 80%;
}
@media screen and (max-width: 1024px) {
  .double-launch-content .game-wrapper .game_overlay .more_info {
    right: 3px;
    bottom: 1px;
  }
}
.double-launch-content .game-wrapper .game_overlay .game_description {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: none;
  margin: 25px auto 0;
  width: calc(90%);
  padding: 5px;
  cursor: default;
  text-align: center;
}
.double-launch-content .game-wrapper .game_overlay .game_description strong {
  display: none;
  color: #e0C56a;
  font-size: 16px;
  margin-bottom: 4px;
}
.double-launch-content .game-wrapper .game_overlay .game_description i {
  display: none;
  color: #c2c2c2;
  margin-bottom: 10px;
}
@media screen and (max-width: 1024px) {
  .double-launch-content .game-wrapper .game_overlay .game_description {
    margin-top: 21px;
    font-size: 1.2rem;
    line-height: 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .double-launch-content .game-wrapper .game_overlay .game_description {
    font-size: 1.1rem;
    line-height: 1.4rem;
    margin-top: 20px;
  }
}
.double-launch-content .game-wrapper:hover .game_overlay {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
}
.double-launch-content .game-wrapper:hover .game_overlay * {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" !important;
  filter: alpha(opacity=100) !important;
}
.double-launch-content .game-wrapper:hover img,
.double-launch-content .game-wrapper:hover .netplay_game_details,
.double-launch-content .game-wrapper:hover .jackpot_spinner {
  -webkit-filter: blur(5px) saturate(80%);
  filter: blur(5px) saturate(80%);
}
.double-launch-content .game-wrapper.netplay-games,
.double-launch-content .game-wrapper.category_223 {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.double-launch-content .game-wrapper.netplay-games .game-description,
.double-launch-content .game-wrapper.category_223 .game-description {
  top: 123px;
}
.double-launch-content .game-wrapper.netplay-games .game_title,
.double-launch-content .game-wrapper.category_223 .game_title {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  background: #111;
  left: 0;
  line-height: 14px;
  margin: 0;
  padding: 4px 0 0 0;
}
.double-launch-content .game-wrapper .new-game {
  display: block;
  top: 0;
  right: 0;
  background: url(/assets/GB/games/new-game.png) 0 0 no-repeat;
  width: 64px;
  height: 64px;
  text-indent: -10000px;
}
.double-launch-content .game-wrapper.game-status-off-air .play_for_real,
.double-launch-content .game-wrapper.game-status-off-air .play_for_fun,
.double-launch-content .game-wrapper.playtech-games .netplay_game_details {
  display: none;
}
.double-launch-content .game-wrapper.game-status-off-air.netplay-games .game_description {
  display: block;
}
.double-launch-content .game-wrapper .currency-symbol {
  margin-right: 4px;
}
.double-launch-content .game-wrapper .jackpot_spinner.jackpot-mrj-4 {
  line-height: 14px;
  min-height: 30px;
  padding: 6px 25px 10px 0;
  box-sizing: border-box;
  background-image: url(/assets/GB/games/ultimate-power_flat.png);
  background-repeat: no-repeat;
  font-size: 12px;
  text-align: right;
}
@media screen and (max-width: 1024px) {
  .double-launch-content .game-wrapper .jackpot_spinner.jackpot-mrj-4 {
    font-size: 11px;
    padding-right: 13px;
    line-height: 13px;
  }
}
@media only screen and (max-width: 767px) {
  .double-launch-content .game-wrapper .jackpot_spinner.jackpot-mrj-4 {
    padding-right: 10px;
  }
}
@media only screen and (max-width: 567px) {
  .double-launch-content .game-wrapper .jackpot_spinner.jackpot-mrj-4 {
    padding-right: 2px;
  }
}
.double-launch-content .game-wrapper .wrapper_overlay {
  display: none;
  width: 100vw;
  background: #FFF000;
}
.double-launch-content .game-wrapper .new-game {
  background-image: url(/assets/GB/games/new-game-vnb.png);
  right: -3px;
}
.double-launch-content .game-wrapper .new-game.pop-image {
  background-image: url(/assets/GB/games/pop-game-vnb.png);
  width: 104px;
  height: 29px;
}
.disable-netplay-games .double-launch-content .game-wrapper.netplay-games .game_overlay,
.disable-netplay-games .double-launch-content .game-wrapper.netplay-games .game_overlay {
  height: 107px;
}
@media screen and (max-width: 1024px) {
  .disable-netplay-games .double-launch-content .game-wrapper.netplay-games .game_overlay,
  .disable-netplay-games .double-launch-content .game-wrapper.netplay-games .game_overlay {
    height: 100%;
  }
}
.page-games .double-launch-content .game-wrapper {
  width: 24%;
  margin: 2px 2px 0.4em 2px;
}
@media screen and (max-width: 1024px) {
  .page-games .double-launch-content .game-wrapper {
    width: 24%;
    margin: 0 0 0.4em 0;
  }
}
@media only screen and (max-width: 414px) {
  .page-games .double-launch-content .game-wrapper {
    width: 49%;
    margin: 0 0 0.4em 0;
  }
}
.page-games .view-games .view-content .double-launch-content .game-wrapper,
.page-games .game-list .view-content .double-launch-content .game-wrapper,
.four-most-popular-games .view-content .double-launch-content .game-wrapper {
  line-height: 1.5em;
}
.double-launch-content .game-wrapper,
.double-launch-content .game-wrapper img,
.double-launch-content .game-wrapper .game_overlay {
  border-radius: 0;
  -webkit-border-radius: 0;
}
.double-launch-content .game-wrapper:hover img {
  -webkit-filter: blur(0) saturate(100%);
  filter: blur(0) saturate(100%);
}
.double-launch-content .game-wrapper .game_overlay {
  background: rgba(250, 250, 250, 0.7);
}
.double-launch-content .game-wrapper .game_overlay .game_title,
.double-launch-content .game-wrapper .game_overlay .play_for_fun {
  display: none;
}
.double-launch-content .game-wrapper .game_overlay .play_for_real,
.double-launch-content .game-wrapper .game_overlay .play_for_fun {
  cursor: pointer;
}
.double-launch-content .game-wrapper .game_overlay .play_for_real {
  text-shadow: 0 0 0 transparent;
  font-size: 18px;
  width: 95px;
  padding: 3px 8px;
  margin: 52px auto 0;
  font-weight: 500;
}
.double-launch-content .game-wrapper .game_overlay .more_info {
  text-decoration: none;
  bottom: 0px;
  right: 0px;
  text-indent: 0;
  color: #fff;
  background: #b5afb5;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  width: 80px;
  font-size: 11px;
  text-transform: uppercase;
}
.double-launch-content .game-wrapper .game_overlay .more_info:hover {
  background: #cfc8cf;
}
.double-launch-content .game-wrapper .game_overlay .more_info:active {
  background-color: #9c959c;
}
.double-launch-content .game-wrapper .game_overlay.double-launch-selected {
  display: block;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
}
.double-launch-content .game-wrapper .game_overlay.double-launch-selected .button {
  display: none;
}
.double-launch-content .game-wrapper .game_overlay.double-launch-selected .dbl-numbers {
  display: block;
  width: 80px;
  height: 100px;
  top: 50%;
  left: 50%;
  margin-top: -50px;
  margin-left: -40px;
}
@media screen and (max-width: 1024px) {
  .double-launch-content .game-wrapper .game_overlay.double-launch-selected .dbl-numbers {
    transform: scale(0.87);
    -webkit-transform: scale(0.87);
    -moz-transform: scale(0.87);
  }
}
@media only screen and (max-width: 767px) {
  .double-launch-content .game-wrapper .game_overlay.double-launch-selected .dbl-numbers {
    transform: scale(0.8);
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
  }
}
@media only screen and (max-width: 413px) {
  .double-launch-content .game-wrapper .game_overlay.double-launch-selected .dbl-numbers {
    transform: scale(0.73);
    -webkit-transform: scale(0.73);
    -moz-transform: scale(0.73);
  }
}
.double-launch-content .game-wrapper .game_overlay.double-launch-selected.game-1 .dbl-numbers {
  background: url(/assets/general/dbl-numbers.png) 0 0 no-repeat;
}
.double-launch-content .game-wrapper .game_overlay.double-launch-selected.game-2 .dbl-numbers {
  background: url(/assets/general/dbl-numbers.png) 0 -123px no-repeat;
}
.double-launch-content .game-wrapper .game_overlay.inactive-option .button {
  display: none;
}
.double-launch-content .game-wrapper .game_overlay .button {
  width: 90%;
  margin: 46px auto 0;
  padding: 8px 0;
  font-size: 16px;
}
@media screen and (max-width: 1024px) {
  .double-launch-content .game-wrapper .game_overlay .button {
    font-size: 14px;
    margin-top: 42px;
  }
}
@media only screen and (max-width: 767px) {
  .double-launch-content .game-wrapper .game_overlay .button {
    margin-top: 36px;
  }
}
@media only screen and (max-width: 413px) {
  .double-launch-content .game-wrapper .game_overlay .button {
    font-size: 13px;
    margin-top: 30px;
  }
}
.double-launch-content .game-wrapper .game_overlay .dbl-numbers {
  display: none;
  text-indent: -10000px;
}
.double-launch-content .double-launch-link-wrapper.hidden {
  display: none;
}
.double-launch-content .double-launch-link-wrapper a {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  width: 120px;
  margin: 10px;
}
.double-launch-content .double-launch-link-wrapper a:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.double-launch-content .double-launch-link-wrapper a:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.double-launch-content .double-launch-link-wrapper .js-double-launch-link {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
}
.double-launch-content .double-launch-link-wrapper .js-double-launch-link:hover {
  background: #c1f018;
}
.double-launch-content .double-launch-link-wrapper .js-double-launch-link:active {
  background-color: #86a711;
}
.double-launch-content .double-launch-link-wrapper .js-double-launch-link:hover {
  text-decoration: none;
}
.double-launch-content .double-launch-link-wrapper .js-double-launch-link.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.double-launch-content .double-launch-link-wrapper .js-double-launch-link.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.double-launch-content .double-launch-link-wrapper .start-again {
  background: #a3a1a9;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#a3a1a9), to(#5a595d));
  background: -webkit-linear-gradient(#a3a1a9, #5a595d);
  background: -moz-linear-gradient(top, #a3a1a9, #5a595d);
  background: linear-gradient(#a3a1a9, #5a595d);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa3a1a9', endColorstr='#ff5a595d', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa3a1a9', endColorstr='#ff5a595d', GradientType=0);
  color: #fff;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
}
.double-launch-content .double-launch-link-wrapper .start-again:hover {
  background: #b0aeb7;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#b0aeb7), to(#706e74));
  background: -webkit-linear-gradient(#b0aeb7, #706e74);
  background: -moz-linear-gradient(top, #b0aeb7, #706e74);
  background: linear-gradient(#b0aeb7, #706e74);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb0aeb7', endColorstr='#ff706e74', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb0aeb7', endColorstr='#ff706e74', GradientType=0);
}
body.live-vertical .games-live-games .game-wrapper .game_overlay .game_title {
  font-size: 18px;
}
body.live-vertical .games-live-games .game-wrapper .game_overlay .game_description {
  margin-top: 55px;
  font-size: 14px;
  line-height: inherit;
}
body.live-vertical .games-live-games .game-wrapper .game_overlay .play_for_real {
  margin-top: 62px;
  font-size: 24px;
}
/*  Games Overlay
------------------------------------------------------------ */
body.tablet .game_wrapper .game_overlay,
body.smartphone .game_wrapper .game_overlay {
  display: none;
}
body.tablet .game_wrapper:hover .game_overlay,
body.smartphone .game_wrapper:hover .game_overlay {
  display: none;
}
body.tablet .game_wrapper:hover img,
body.smartphone .game_wrapper:hover img,
body.tablet .game_wrapper:hover .netplay_game_details,
body.smartphone .game_wrapper:hover .netplay_game_details,
body.tablet .game_wrapper:hover .jackpot_spinner,
body.smartphone .game_wrapper:hover .jackpot_spinner {
  -webkit-filter: none;
  filter: none;
}
/*  Game Info Popup
================================================================================*/
.page-games #sb-wrapper-inner {
  box-shadow: none;
  border: 0;
}
.page-games #sb-wrapper {
  width: 220px;
}
.page-games #sb-body {
  width: 100%;
  height: 100%;
  background-color: transparent;
}
.wrapper_overlay {
  width: 180px;
  margin: auto;
  top: 50%;
  padding: 50px 50px;
  background: #4b0a4a;
  border: solid 2px #fff;
}
@media only screen and (max-width: 767px) {
  .wrapper_overlay {
    padding: 50px 50px;
  }
}
@media only screen and (max-width: 567px) {
  .wrapper_overlay {
    padding: 20px;
  }
}
@media only screen and (max-height: 413px) {
  .wrapper_overlay {
    padding: 20px 30px;
  }
}
.wrapper_overlay .game_title {
  font-size: 15px;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 14px;
}
@media only screen and (max-height: 413px) {
  .wrapper_overlay .game_title {
    font-size: 13px;
    margin-bottom: 8px;
  }
}
.wrapper_overlay .play_for_real {
  font-size: 14px;
  margin: 26px auto 0;
  padding-top: 11px;
  padding-bottom: 11px;
  text-align: center;
  width: 180px;
  text-transform: uppercase;
  color: #fff;
  background: #82db70;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#82db70), to(#179e4f));
  background: -webkit-linear-gradient(#82db70, #179e4f);
  background: -moz-linear-gradient(top, #82db70, #179e4f);
  background: linear-gradient(#82db70, #179e4f);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}
.wrapper_overlay .play_for_real:hover {
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#94fa80), to(#24b65b));
  background: -webkit-linear-gradient(#94fa80, #24b65b);
  background: -moz-linear-gradient(top, #94fa80, #24b65b);
  background: linear-gradient(#94fa80, #24b65b);
}
@media only screen and (max-height: 413px) {
  .wrapper_overlay .play_for_real {
    margin-top: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
}
.wrapper_overlay .play_for_fun {
  font-size: 14px;
  margin: 10px auto 0px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  padding-top: 11px;
  padding-bottom: 11px;
  text-align: center;
  width: 105px;
  text-transform: uppercase;
  color: #fff;
  background: #b5afb5;
  border: solid 2px #fff;
}
.wrapper_overlay .play_for_fun:hover {
  background: #cfc8cf;
}
@media only screen and (max-height: 413px) {
  .wrapper_overlay .play_for_fun {
    margin-bottom: 6px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
}
.wrapper_overlay img {
  width: 100%;
}
.wrapper_overlay .more_info_container {
  margin-top: 15px;
  text-align: center;
}
.wrapper_overlay .more_info_container:hover .info,
.wrapper_overlay .more_info_container:hover .more_info {
  color: #d4b15e;
}
.wrapper_overlay .more_info_container .info {
  font-size: 25px;
  color: #eee;
  text-decoration: blink;
}
.wrapper_overlay .more_info_container .more_info {
  font-size: 15px;
  color: #eee;
  text-decoration: blink;
  position: relative;
  display: inline-block;
  top: -6px;
  left: 10px;
}
.wrapper_overlay .close {
  font-size: 20pt;
  color: #A7A7A7;
  text-decoration: blink;
  float: right;
  display: block;
  margin-top: -47px;
  margin-right: -45px;
}
.wrapper_overlay .close:hover {
  color: #d4b15e;
}
@media only screen and (max-width: 767px) {
  .wrapper_overlay .close {
    margin-top: -47px;
    margin-right: -45px;
  }
}
@media only screen and (max-width: 567px) {
  .wrapper_overlay .close {
    margin-top: -19px;
    margin-right: -20px;
  }
}
@media only screen and (max-height: 413px) {
  .wrapper_overlay .close {
    margin-top: -22px;
    margin-right: -45px;
  }
}
*[data-game-code].game-status-off-air {
  filter: grayscale(50%);
  -webkit-filter: grayscale(50%);
  -ms-filter: grayscale(50%);
  opacity: 1;
  pointer-events: none;
  cursor: default;
}
.game-status.re .play-for-fun.button,
.game-status.rep .play-for-fun.button,
.game-status.dual .play-for-fun.button,
.game-status.lr .play-for-fun.button {
  display: none;
}
/* Maintenance Mode */
/* game_wrapper for "flex game list", game-wrapper for the "flex large grid" View - Naming convention needed*/
.page-game-info .content-header {
  padding: 20px 295px 0 30px;
}
@media screen and (max-width: 1024px) {
}
@media only screen and (max-width: 767px) {
  .page-game-info .content-header {
    padding: 20px 51% 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .page-game-info .content-header {
    padding: 10px 52% 0 10px;
  }
}
@media only screen and (max-width: 413px) {
  .page-game-info .content-header {
    padding: 10px 0% 0 10px;
  }
}
.page-game-info .content-header h1 {
  padding: 0 0 10px;
  border-bottom: 1px solid;
  border-bottom-color: #fff;
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .page-game-info .content-header h1 {
    border-bottom: 0px;
  }
}
@media only screen and (max-width: 567px) {
  .page-game-info .content-header h1 {
    font-size: 15px;
  }
}
.page-game-info .region-content {
  padding: 0 30px 20px;
}
@media only screen and (max-width: 567px) {
  .page-game-info .region-content {
    padding: 0 10px 20px;
  }
}
.page-game-info .view-id-node_display {
  padding-bottom: 25px;
  width: 100%;
}
.page-game-info .game-info-image {
  float: right;
  top: 0;
  right: 0px;
  width: 230px;
}
@media screen and (max-width: 1024px) {
}
@media only screen and (max-width: 767px) {
  .page-game-info .game-info-image {
    margin-top: -30px;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .game-info-image {
    width: 80%;
    margin-top: 0px;
    right: unset;
    margin: auto;
    float: none;
  }
}
.page-game-info .game-info-image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.page-game-info .game-info-details {
  width: 34%;
  float: left;
  line-height: 0.7em;
  margin-bottom: 15px;
  margin-right: 8%;
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  .page-game-info .game-info-details {
    width: 41%;
    margin-right: 0%;
  }
}
@media only screen and (max-width: 567px) {
  .page-game-info .game-info-details {
    width: 41%;
    margin-right: 0%;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .game-info-details {
    width: 80%;
    float: none;
    margin: auto;
    margin-top: 10px;
  }
}
.page-game-info .game-info-details ul {
  float: left;
  margin: 0px 0px 5px 0px;
  padding: 0;
  width: 100%;
  font-size: 1.1em;
  list-style: none;
}
@media screen and (max-width: 1024px) {
  .page-game-info .game-info-details ul {
    width: 100%;
  }
}
.page-game-info .game-info-details .item-list {
  display: inline-block;
  width: 100%;
}
.page-game-info .game-info-details li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding: 5px;
  padding-left: 0;
}
.page-game-info .game-info-details li.last {
  border-bottom: 0px none;
}
.page-game-info .game-info-details li .field-name-field-game-details-label {
  float: left;
}
.page-game-info .game-info-details li .field-name-field-game-details-content {
  float: right;
}
.page-game-info .device-available-container {
  float: left;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .page-game-info .device-available-container {
    width: calc(100% - 240px);
  }
}
@media only screen and (max-width: 567px) {
  .page-game-info .device-available-container {
    width: calc(100% - 240px);
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .device-available-container {
    width: 80%;
    margin-top: 13px;
    margin-bottom: 10px;
    margin-left: 10%;
  }
}
.page-game-info .device-available-container .device-available {
  float: left;
  display: inline-block;
  height: 47px;
  width: 50px;
  margin-right: 14px;
  background: url('/assets/general/device_desktop.png') no-repeat left center;
}
@media only screen and (max-width: 767px) {
  .page-game-info .device-available-container .device-available {
    margin-left: 0;
  }
}
@media only screen and (max-width: 567px) {
  .page-game-info .device-available-container .device-available {
    font-size: 15px;
  }
}
@media only screen and (max-width: 413px) {
  .page-game-info .device-available-container .device-available {
    margin-right: 7px;
  }
}
.page-game-info .device-available-container .device-available p::after {
  content: "Available on desktop only";
}
.page-game-info .device-available-container .device-available .desktop_not_available_message,
.page-game-info .device-available-container .device-available .mobile_not_available_message {
  color: #d4b15e;
  width: 260px;
  font-size: 16px;
  font-weight: bold;
  line-height: 40px;
  text-align: center;
}
.page-game-info .device-available-container .device-available .desktop_not_available_message a,
.page-game-info .device-available-container .device-available .mobile_not_available_message a {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
  line-height: 30px;
}
.page-game-info .device-available-container .device-available .desktop_not_available_message a:hover,
.page-game-info .device-available-container .device-available .mobile_not_available_message a:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.page-game-info .device-available-container .device-available .desktop_not_available_message a:active,
.page-game-info .device-available-container .device-available .mobile_not_available_message a:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.page-game-info .device-available-container .device-available .desktop_not_available_message a:hover,
.page-game-info .device-available-container .device-available .mobile_not_available_message a:hover {
  background: #c1f018;
}
.page-game-info .device-available-container .device-available .desktop_not_available_message a:active,
.page-game-info .device-available-container .device-available .mobile_not_available_message a:active {
  background-color: #86a711;
}
.page-game-info .device-available-container .device-available .desktop_not_available_message a:hover,
.page-game-info .device-available-container .device-available .mobile_not_available_message a:hover {
  text-decoration: none;
}
.page-game-info .device-available-container .device-available .desktop_not_available_message a.disabled,
.page-game-info .device-available-container .device-available .mobile_not_available_message a.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.page-game-info .device-available-container .device-available .desktop_not_available_message a.disabled:active,
.page-game-info .device-available-container .device-available .mobile_not_available_message a.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.page-game-info .device-available-container .device-available.Smartphone {
  background-image: url('/assets/general/device_smartphone.png');
}
.page-game-info .device-available-container .device-available.Smartphone p::after {
  content: "Available on mobile only";
}
.page-game-info .device-available-container .device-available.Desktop.Smartphone {
  background-image: url('/assets/general/device_desktop_smartphone.png');
}
.page-game-info .device-available-container .device-available.Desktop.Smartphone p::after {
  content: "Available on all devices";
}
.page-game-info .device-available-container .device-available p {
  margin: 17px 0px 21px 65px;
  float: right;
}
@media only screen and (max-width: 567px) {
  .page-game-info .device-available-container .device-available p {
    margin-left: 60px;
  }
}
.page-game-info .device-available-container .device-available-text {
  float: left;
  margin-right: 10px;
  margin-top: 11px;
  font-size: 15px;
  color: #eee;
}
@media only screen and (max-width: 413px) {
  .page-game-info .device-available-container .device-available-text {
    margin-right: 0px;
  }
}
.page-game-info .device-available-container .device-available-text::after {
  content: "Available on desktop only";
}
.page-game-info .device-available-container .device-available-text.Smartphone::after {
  content: "Available on mobile only";
}
.page-game-info .device-available-container .device-available-text.Desktop.Smartphone::after {
  content: "Available on all devices";
}
.page-game-info .game_info_content {
  margin-bottom: 20px;
  width: 100%;
  position: relative;
  clear: left;
  float: left;
  margin-top: 15px;
  padding: 0 0 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  border-spacing: 10px;
}
@media only screen and (max-width: 767px) {
  .page-game-info .game_info_content {
    width: auto;
  }
}
.page-game-info .game_launch_buttons {
  width: 100%;
  clear: left;
}
@media only screen and (max-width: 767px) {
}
@media only screen and (max-width: 413px) {
  .page-game-info .game_launch_buttons {
    width: 100%;
    margin-left: 0px;
  }
}
.page-game-info .game_launch_buttons .hidden {
  display: none;
}
.page-game-info .game_launch_buttons .button {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  *zoom: 1;
  *display: inline;
  margin: 0px 10px 0px 0px;
}
.page-game-info .game_launch_buttons .button:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.page-game-info .game_launch_buttons .button:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
@media only screen and (max-width: 767px) {
  .page-game-info .game_launch_buttons .button {
    float: left;
    clear: left;
    margin: 10px 0px 0px 0px;
  }
}
@media only screen and (max-width: 413px) {
  .page-game-info .game_launch_buttons .button {
    clear: none;
    display: inline;
    left: 0px;
    transform: none;
    -webkit-transform: none;
    margin-right: 0px;
  }
}
.page-game-info .game_launch_buttons .button.play-for-real {
  margin-top: 0px;
}
@media only screen and (max-width: 413px) {
  .page-game-info .game_launch_buttons .button.play-for-real {
    width: 60%;
  }
}
@media only screen and (max-width: 767px) {
  .page-game-info .game_launch_buttons .button.play-for-fun {
    margin: 5px 0px 0px 0px;
  }
}
@media only screen and (max-width: 413px) {
  .page-game-info .game_launch_buttons .button.play-for-fun {
    width: 35%;
    margin-top: 0px;
    float: right;
  }
}
.page-game-info .jackpots-slider {
  display: inline-block;
  width: 49%;
  height: 145px;
  margin: auto;
  padding-top: 10px;
  padding-bottom: 10px;
  float: left;
  clear: left;
  margin-top: 10px;
  background-color: rgba(0, 0, 0, 0.35);
}
@media only screen and (max-width: 767px) {
  .page-game-info .jackpots-slider {
    width: 100%;
  }
}
.page-game-info .jackpots-slider ul {
  top: 15px;
}
.page-game-info .jackpots-slider .jackpot_slider {
  position: relative;
  width: 300px;
  height: 145px;
  margin: auto;
}
.page-game-info .off-air,
.page-game-info .on-air {
  float: left;
  clear: left;
  padding-left: 3px;
  padding-right: 3px;
  border-radius: 3px;
  padding-bottom: 0px;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 5px;
  background-color: #414141;
}
@media only screen and (max-width: 767px) {
  .page-game-info .off-air,
  .page-game-info .on-air {
    float: left;
    clear: left;
    text-align: center;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .off-air,
  .page-game-info .on-air {
    margin-top: 10px;
  }
}
.page-game-info .on-air {
  background-color: #bb2014;
}
.page-game-info .winners-scroller-3 {
  display: inline-block;
  float: right;
  width: 49%;
  height: 145px;
  margin: auto;
  background: #2c6273 ;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .page-game-info .winners-scroller-3 {
    width: 100%;
  }
}
.page-game-info .winners-scroller-3 .scroller_container {
  height: 78px;
  margin-top: 25px;
  width: 300px;
  margin: auto;
}
body.desktop .Desktop .desktop_not_available_message,
body.desktop .mobile_not_available_message {
  display: none;
}
body.mobile .Smartphone .mobile_not_available_message,
body.mobile .desktop_not_available_message {
  display: none;
}
.disable-playtech-games .button[data-game-type="playtech-games"],
.disable-netplay-games .button[data-game-type="netplay-games"] {
  visibility: hidden;
}
/*  Jackpot Slider
------------------------------------------------------------ */
body.front-vertical .jackpots-slider-container,
body.front .jackpots-slider-container,
body.page-games .jackpots-slider-container {
  background-color: #346884;
  position: relative;
  float: left;
}
@media only screen and (max-width: 895px) {
  body.front-vertical .jackpots-slider-container,
  body.front .jackpots-slider-container,
  body.page-games .jackpots-slider-container {
    position: absolute;
    right: 0;
    height: 100%;
  }
}
@media only screen and (max-width: 735px) {
  body.front-vertical .jackpots-slider-container,
  body.front .jackpots-slider-container,
  body.page-games .jackpots-slider-container {
    display: none;
  }
}
@media only screen and (max-height: 413px) {
  body.smartphone .jackpots-slider-container,
  body.tablet .jackpots-slider-container {
    display: none;
  }
}
.jackpots-slider {
  position: relative;
  width: 300px;
  height: 145px;
  overflow: hidden;
}
.jackpots-slider h2 {
  color: #FFF;
}
.jackpots-slider ul {
  position: absolute;
  top: 34px;
  left: 0;
  margin: 0;
  padding: 0;
  width: 3000px;
  font-size: 0;
  transition: all 1s ease-in-out;
}
.jackpots-slider li {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  position: relative;
  list-style: none;
  width: 300px;
}
.jackpots-slider a {
  text-decoration: none;
}
.jackpots-slider img {
  display: block;
  margin: 0 auto;
  padding-top: 2px;
}
.jackpots-slider .jackpotAmount {
  position: relative;
  margin: 0 auto;
  width: 260px;
  height: 24px;
  line-height: 24px;
  padding: 10px 0px;
  border-bottom: 1px solid ;
  border-bottom-color: #FFF;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}
.jackpots-slider .jackpotAmount .currency-symbol {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  height: 27px;
  vertical-align: text-bottom;
}
.jackpots-slider:hover li a::before {
  content: 'Play Game';
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
  display: block;
  position: absolute;
  top: 60px;
  left: 50%;
  margin-left: -56px;
  width: 80px;
  z-index: 1;
  height: 20px;
  line-height: 20px;
}
.jackpots-slider:hover li a::before:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.jackpots-slider:hover li a::before:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.jackpots-slider:hover li a::before:hover {
  background: #c1f018;
}
.jackpots-slider:hover li a::before:active {
  background-color: #86a711;
}
.jackpots-slider:hover li a::before:hover {
  text-decoration: none;
}
.jackpots-slider:hover li a::before.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.jackpots-slider:hover li a::before.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.jackpots-slider:hover img {
  position: relative;
  -webkit-filter: blur(10px) saturate(80%);
  filter: blur(10px) saturate(80%);
}
.region-sidebar-first .jackpots-slider {
  margin: 0 auto;
}
body.desktop .winners-scroller-3 h2 {
  margin: 3px 0;
}
body.desktop .winners-scroller-6 h2 {
  margin: 15px 0;
}
/*  Fonts
================================================================================*/
@font-face {
  font-family: 'icomoon';
  src: url('/assets/fonts/icomoon.eot');
  src: url('/assets/fonts/icomoon.eot') format('embedded-opentype'), url('/assets/fonts/icomoon.ttf') format('truetype'), url('/assets/fonts/icomoon.woff') format('woff'), url('/assets/fonts/icomoon.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"],
[class*=" icon-"] {
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* icons - should be upadated   */
.icon-back-button:before {
  content: "\e908";
}
.icon-media-record:before {
  content: "\e907";
}
.icon-chevron-up-copycopy:before {
  content: "\e905";
}
.icon-chevron-down-copy:before {
  content: "\e906";
}
.icon-menu_icon:before {
  content: "\e900";
}
.icon-chevron-down:before {
  content: "\e901";
}
.icon-chevron-up:before {
  content: "\e902";
}
.icon-circle-down:before {
  content: "\e903";
}
.icon-circle-right:before {
  content: "\e904";
}
.icon-change-password:before {
  content: "\e60b";
}
.icon-magnifying:before {
  content: "\e60a";
}
.icon-info:before {
  content: "\e609";
}
.icon-withdraw:before {
  content: "\e601";
}
.icon-transactions:before {
  content: "\e602";
}
.icon-menu:before {
  content: "\e603";
}
.icon-item:before {
  content: "\e604";
}
.icon-deposit:before {
  content: "\e605";
}
.icon-close:before {
  content: "\e606";
}
.icon-check:before {
  content: "\e607";
}
.icon-arrow:before {
  content: "\e608";
}
/*  Related games content
================================================================================*/
.related-content {
  display: inline-block;
  margin-top: 20px;
  width: 32.25%;
  height: 177px;
  padding: 5px 0.54% 17px;
  background-color: rgba(0, 0, 0, 0.35);
  vertical-align: top;
  z-index: 0;
  float: left;
}
@media only screen and (max-width: 413px) {
  .related-content {
    width: 100%;
  }
}
.related-content-title {
  position: relative;
  float: left;
  width: 100%;
}
.related-content-title .related_content_title {
  font-size: 14pt;
  text-transform: uppercase;
  color: #d4b15e;
  font-weight: bold;
  margin: auto;
  width: 100%;
  float: left;
  text-align: center;
}
.related-content .view-content .field-content {
  font-size: 12px;
  font-weight: normal;
  line-height: 16px;
  text-align: center;
}
.related-content .view-content .field-content img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.related-content .view-content .views-field-title {
  text-align: center;
  text-transform: uppercase;
}
.related-content .view-content .views-field-field-related-content-image img {
  border-radius: 5px;
  margin: 5px 0 0 5px;
  transition: 0.2s;
}
.related-content .view-content .field-content > a {
  text-decoration: none;
  font-size: 14px;
}
.related-content .view-content .button-3 {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  display: block;
  left: 50%;
  margin-left: -50px;
  bottom: 10px;
  z-index: 9;
  transition: 0.3s;
}
.related-content .view-content .button-3:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.related-content .view-content .button-3:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.related-content .view-content .button-3:hover {
  background: #c1f018;
}
.related-content .view-content .button-3:active {
  background-color: #86a711;
}
.related-content .view-content .button-3:hover {
  text-decoration: none;
}
.related-content .view-content .button-3.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.related-content .view-content .button-3.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.related-content .view-content .views-field-field-related-content-text {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=0);
  /* IE 5-7 */
  top: 0;
  padding: 36px 15px 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  transition: 0.4s;
}
.related-content:hover .view-content .views-field-field-related-content-text {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
}
.related-content:hover .view-content .views-field-title {
  z-index: 9;
}
.related-content:hover .view-content .views-field-field-related-content-image img {
  -webkit-filter: blur(5px) saturate(80%);
  filter: blur(5px) saturate(80%);
}
/*  VIP

================================================================================*/
#page-vip {
  /* Winner */
}
#page-vip p {
  color: #eee;
}
#page-vip ul {
  color: #eee;
}
#page-vip #block-lobby_components-vip_quicktabs ul a {
  line-height: 22px;
}
/* Events */
.vip-box-wrapper div {
  display: inline;
  float: left;
}
.vip-box-wrapper div a {
  display: block;
}
.vip-box-wrapper div a span {
  display: block;
  top: 0px;
  left: 0px;
  width: 156px;
  height: 112px;
}
.vip-box-wrapper div a:hover span {
  background: url('/assets/buttons/play_iconv3.png') no-repeat rgba(0, 0, 0, 0.7) 50% 50% !important;
  cursor: pointer;
}
/*  VIP Pages
================================================================================*/
.page-vip .content-header {
  padding: 20px 30px 0;
}
.page-vip .content-header h1 {
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.page-vip .region-content {
  padding: 0 0 20px;
}
@media screen and (max-width: 1024px) {
  .page-vip .region-content {
    padding: 0 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .page-vip .region-content {
    padding: 0 0 20px;
  }
}
.page-vip .region-content .content {
  padding: 0 10px 20px;
}
.page-vip .vip-table-style {
  margin: 0 auto;
}
.page-vip .vip-table-style th {
  padding: 10px;
}
.page-vip .vip-table-style td {
  padding: 4px 8px;
}
.page-vip .vip_red,
.page-vip .vip_bronze,
.page-vip .vip_silver,
.page-vip .vip_gold,
.page-vip .vip_platinum {
  text-align: center;
}
.page-vip .vip_red {
  background: #8B0F04;
}
.page-vip .vip_bronze {
  background: #8C7853;
}
.page-vip .vip_silver {
  background: #C0C0C0;
}
.page-vip .vip_gold {
  background: #f2af32;
}
.page-vip .vip_platinum {
  background: #FCFDF2;
  color: #999;
}
.page-vip .vip-manager-img {
  float: right;
  padding: 0 20px 0 40px;
}
/*  How To Deposit
--------------------------------------------------------------------------------*/
.view-payment-methods.how-to-deposit-wrapper {
  margin: 40px 0;
}
.view-payment-methods.how-to-deposit-wrapper .view-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding: 20px 0;
}
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .view-header {
    padding: 0;
  }
}
.view-payment-methods.how-to-deposit-wrapper .view-header .bankHead {
  overflow: auto;
}
.view-payment-methods.how-to-deposit-wrapper .view-header .bankHead div {
  float: left;
}
.view-payment-methods.how-to-deposit-wrapper .view-header .bankHead div span {
  display: block;
  font-weight: bold;
  font-size: 14px;
  text-align: center;
  text-transform: uppercase;
}
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .view-header .bankHead div span {
    font-size: 13px;
  }
}
.view-payment-methods.how-to-deposit-wrapper .view-header .bankHead .headCell {
  width: 35%;
}
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .view-header .bankHead .headCell {
    width: 0%;
  }
}
.view-payment-methods.how-to-deposit-wrapper .view-header .bankHead .headCellOne {
  width: 25%;
}
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .view-header .bankHead .headCellOne {
    width: 42%;
  }
}
.view-payment-methods.how-to-deposit-wrapper .view-header .bankHead .headCellTwo {
  width: 20%;
}
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .view-header .bankHead .headCellTwo {
    width: 40%;
  }
}
.view-payment-methods.how-to-deposit-wrapper .view-header .bankHead .headCellThree,
.view-payment-methods.how-to-deposit-wrapper .view-header .bankHead .headCellFour {
  width: 10%;
}
.view-payment-methods.how-to-deposit-wrapper .views-row {
  float: none;
  margin: 0px;
  clear: both;
}
.view-payment-methods.how-to-deposit-wrapper .views-row-even {
  background: rgba(0, 0, 0, 0.2);
}
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding: 20px 0;
}
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-payment-image,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-title,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-deposit-time,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-payment-fees,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-nothing {
  float: left;
  text-align: center;
}
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-payment-image .field-content,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-title .field-content,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-deposit-time .field-content,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-payment-fees .field-content,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-nothing .field-content {
  display: block;
  padding-top: 10px;
}
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-payment-image,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .bankHead div.headCell {
  width: 35%;
}
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-title,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .bankHead div.headCellOne {
  width: 25%;
}
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-deposit-time,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .bankHead div.headCellTwo {
  width: 20%;
}
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-payment-fees,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-nothing,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .bankHead div.headCellThree,
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .bankHead div.headCellFour {
  width: 10%;
}
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-body .field-content {
  border: 1px solid rgba(255, 255, 255, 0.2);
  clear: both;
  padding: 20px;
  margin: 10px 0;
  text-align: center;
}
.view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .toggle-button .toggle-img {
  background: url('/assets/buttons/directionalArrowsSprite.png') no-repeat -27px 0px;
  display: block;
  height: 27px;
  width: 28px;
  margin: 0 auto;
  cursor: pointer;
}
/*  How to deposit responsive */
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-payment-image {
    width: 20%;
  }
}
@media only screen and (max-width: 767px) {
  .view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-payment-image img {
    max-width: 65px;
  }
}
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-payment-image img {
    max-width: 45px;
  }
}
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-title {
    width: 25%;
  }
}
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-title .field-content {
    font-size: 11px;
  }
}
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-deposit-time {
    width: 28%;
  }
}
@media only screen and (max-width: 413px) {
  .view-payment-methods.how-to-deposit-wrapper .how-to-deposit-row .views-field-field-payment-fees {
    width: 17%;
  }
}
.slide-effect-toggle {
  display: none;
}
.bankHead {
  overflow: auto;
}
.bankHead div {
  float: left;
}
.bankHead div span {
  display: block;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
}
/*  Support Features
------------------------------------------------------------ */
.support-buttons {
  top: 25px;
  right: 0;
  width: 80px;
  height: 65px;
}
.support-buttons .help_button,
.support-buttons .chat_button,
.floating_verticals_menu .betssonChatLink,
.floating_verticals_menu .help-page-link a {
  right: 0;
  top: 0;
  width: 80px;
  height: 30px;
  line-height: 30px;
  padding: 0;
  background: url(/assets/support/help_icon_white.png) no-repeat 10px center;
  cursor: pointer;
  text-align: left;
  color: #eee;
}
.support-buttons .help_button:hover,
.support-buttons .chat_button:hover {
  color: #ec4bac;
}
.support-buttons .chat_button,
.floating_verticals_menu .betssonChatLink {
  top: 35px;
  background-image: url(/assets/support/chat_icon_white.png);
}
/* Back Button
------------------------------------------------------------ */
.back-button {
  top: 0px;
  left: 0px;
  padding: 5px;
  width: 50px;
  height: 40px;
  padding-top: 4px;
  display: none;
  z-index: 10;
}
.back-button a,
.chatModalClose {
  display: block;
  width: 100%;
  height: 100%;
  color: #eeeeee;
  text-decoration: none;
}
.back-button a:hover {
  color: #d4b15e;
  text-decoration: none;
}
.back-button a i,
.chatModalClose i {
  font-size: 23px;
  padding: 9px 12px;
  display: block;
}
@media screen and (min-width: 1025px) {
  .desktop .back-button a i {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  :not(.desktop) .back-button {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  :not(.desktop) .back-button {
    display: block;
  }
}
@media only screen and (max-width: 413px) {
  .back-button {
    padding-top: 0px;
  }
}
/*  Verticals Menu
------------------------------------------------------------*/
.menu-verticals {
  top: 120px;
  left: 0;
  width: 100%;
  z-index: 100;
}
@media only screen and (max-width: 666px) and (max-height: 374px) and (orientation: landscape) {
  .menu-verticals {
    display: none;
  }
}
.menu-verticals ul.menu,
.menu-verticals-content ul.menu {
  /*break menu declaration into longer expression allows you to override specific menu attributes later*/
  border-style: solid;
  border-width: 0;
  border-bottom-width: 6px;
  margin-top: 10px;
  height: 47px;
  /* 50px - 3px */
  line-height: 47px;
  /* 50px - 3px */
  padding: 0;
  width: 100%;
  font-size: 0px;
  text-align: center;
  vertical-align: middle;
  background-color: #255362;
}
.menu-verticals .menu li,
.menu-verticals-content .menu li {
  width: 19%;
  /*margin-left: 1px;*/
  line-height: 47px;
  transition: 0.2s;
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=60);
  /* IE 5-7 */
  /*
      Select all menus and give them a left border. But not the first one,
      or the one that's selected'
    */
  display: inline-block;
  *zoom: 1;
  *display: inline;
}
.menu-verticals .menu li:hover,
.menu-verticals .menu li.selected,
.menu-verticals-content .menu li:hover,
.menu-verticals-content .menu li.selected {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
}
.menu-verticals .menu li:hover.casino,
.menu-verticals .menu li.selected.casino,
.menu-verticals-content .menu li:hover.casino,
.menu-verticals-content .menu li.selected.casino {
  background-color: #ec018c;
}
.menu-verticals .menu li:hover.vegas,
.menu-verticals .menu li.selected.vegas,
.menu-verticals-content .menu li:hover.vegas,
.menu-verticals-content .menu li.selected.vegas {
  background-color: #e97d31;
}
.menu-verticals .menu li:hover.live,
.menu-verticals .menu li.selected.live,
.menu-verticals-content .menu li:hover.live,
.menu-verticals-content .menu li.selected.live {
  background-color: #e97d31;
}
.menu-verticals .menu li:hover.promotions,
.menu-verticals .menu li.selected.promotions,
.menu-verticals-content .menu li:hover.promotions,
.menu-verticals-content .menu li.selected.promotions {
  background-color: #f3e5f4;
}
.menu-verticals .menu li a,
.menu-verticals-content .menu li a {
  font-size: 18px;
  text-shadow: 1px 0 2px rgba(0, 0, 0, 0.5);
  text-decoration: none;
}
.menu-verticals .menu li:not(:first-child),
.menu-verticals-content .menu li:not(:first-child) {
  /*border-left: 1px solid rgba(255, 255, 255, 0.3);*/
  /* this fails at re-sizing because border takes up some of box model */
  box-shadow: -1px 0 0 rgba(255, 255, 255, 0.3);
  /* This has over 90% support and doesn't destroy the effect */
}
.menu-verticals .menu li:hover,
.menu-verticals-content .menu li:hover {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
}
.menu-verticals .menu li a,
.menu-verticals-content .menu li a {
  display: block;
  text-align: center;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  .menu-verticals {
    position: fixed;
    top: 50px;
  }
  .menu-verticals ul.menu,
  .menu-verticals-content ul.menu {
    margin-top: 0;
    border-bottom-width: 3px;
    line-height: 47px;
    /*50px - 3px border*/
    height: 47px;
  }
  .menu-verticals .menu li,
  .menu-verticals-content .menu li {
    margin-left: 0;
    width: 25%;
  }
}
@media only screen and (max-width: 567px) {
  .menu-verticals {
    top: 48px;
  }
  .menu-verticals .menu li,
  .menu-verticals-content .menu li {
    line-height: 45px;
    /* 40px - 2px border */
    height: 45px;
    /* 40px - 2px border */
  }
  .menu-verticals ul.menu,
  .menu-verticals-content ul.menu {
    height: 45px;
  }
}
@media only screen and (max-width: 413px) {
  .menu-verticals {
    top: 40px;
  }
  .menu-verticals .menu li,
  .menu-verticals-content .menu li {
    height: 38px;
    /* 40px - 2px border */
  }
  .menu-verticals ul.menu,
  .menu-verticals-content ul.menu {
    height: 38px;
    border-bottom-width: 2px;
  }
  .menu-verticals .menu li a,
  .menu-verticals-content .menu li a {
    font-size: 15px;
  }
}
body.standalone .menu-verticals {
  top: 70px;
}
@media screen and (max-width: 1024px) {
  body.standalone .menu-verticals {
    top: 70px;
  }
}
@media only screen and (max-width: 567px) {
  body.standalone .menu-verticals {
    top: 68px;
  }
}
@media only screen and (max-width: 413px) {
  body.standalone .menu-verticals {
    top: 60px;
  }
}
@media screen and (min-width: 1025px) {
  body.smartphone .menu-verticals,
  body.tablet .menu-verticals {
    position: fixed;
    top: 50px;
  }
  body.smartphone .menu-verticals ul.menu,
  body.tablet .menu-verticals ul.menu,
  body.smartphone .menu-verticals-content ul.menu,
  body.tablet .menu-verticals-content ul.menu {
    margin-top: 0;
    border-bottom-width: 3px;
    line-height: 47px;
    /*50px - 3px border*/
    height: 47px;
  }
  body.smartphone .menu-verticals .menu li,
  body.tablet .menu-verticals .menu li,
  body.smartphone .menu-verticals-content .menu li,
  body.tablet .menu-verticals-content .menu li {
    margin-left: 0;
    width: 25%;
  }
}
body.smartphone .menu-verticals .menu li,
body.tablet .menu-verticals .menu li,
body.smartphone .menu-verticals-content .menu li,
body.tablet .menu-verticals-content .menu li {
  width: 25%;
}
@media only screen and (max-height: 413px) {
  .block-lobby-components.verticals-content {
    width: 100%;
  }
}
.menu-verticals-content {
  position: relative;
  float: left;
  width: 100%;
  display: none;
}
@media only screen and (max-width: 666px) and (max-height: 374px) and (orientation: landscape) {
  .menu-verticals-content {
    display: block;
  }
}
/*  Submenu
------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .menu-getting-started {
    display: none;
  }
}
.menu-getting-started,
.menu-promotions-submenu {
  height: 50px;
  line-height: 50px;
  padding: 0;
  width: 100%;
  /*
    Where a list item follows another one give it a border on the left side.
    This eliminates the first one by default.
    We also  don't want a border where the list item follows the active list item
    or if the following item is the active list item.
  */
}
.menu-getting-started ul.menu,
.menu-promotions-submenu ul.menu {
  line-height: 40px;
  list-style-type: none;
  margin: 0 auto;
  /*margin: 10px auto 0;*/
  padding: 0;
  width: 44%;
}
.menu-getting-started .menu li,
.menu-promotions-submenu .menu li {
  display: block;
  float: left;
  text-align: center;
  width: 33%;
}
@media screen and (max-width: 1024px) {
  .menu-getting-started .menu li:not(.active-trail) + li:not(.active-trail),
  .menu-promotions-submenu .menu li:not(.active-trail) + li:not(.active-trail) {
    border-left: 1px solid rgba(255, 255, 255, 0.3);
  }
}
.menu-getting-started .menu li a,
.menu-promotions-submenu .menu li a {
  vertical-align: middle;
  text-decoration: none;
}
@media screen and (max-width: 1024px) {
  .menu-getting-started,
  .menu-promotions-submenu {
    top: 94px;
    z-index: -1;
  }
  .menu-getting-started ul.menu,
  .menu-promotions-submenu ul.menu {
    width: 70%;
  }
}
@media only screen and (max-width: 767px) {
  .menu-getting-started,
  .menu-promotions-submenu {
    top: 80px;
  }
  .menu-getting-started ul.menu,
  .menu-promotions-submenu ul.menu {
    width: 85%;
  }
}
@media only screen and (max-width: 567px) {
  .menu-getting-started,
  .menu-promotions-submenu {
    height: 48px;
  }
}
@media only screen and (max-width: 413px) {
  .menu-getting-started,
  .menu-promotions-submenu {
    height: 40px;
  }
  .menu-getting-started .menu li a,
  .menu-promotions-submenu .menu li a {
    font-size: 12px;
  }
  .menu-getting-started ul.menu,
  .menu-promotions-submenu ul.menu {
    line-height: 35px;
  }
}
/*.page-getting-started,
.promotions-vertical.node-type-page,*/
.menu-getting-started {
  top: 176px;
}
.menu-getting-started ul.menu {
  width: 85%;
}
.menu-getting-started .menu li {
  width: 19%;
  border-left: none;
}
.page-getting-started .region-content,
.page-getting-started .region-sidebar-first {
  padding-top: 60px;
}
@media screen and (max-width: 1024px) {
  .page-getting-started .region-content,
  .page-getting-started .region-sidebar-first {
    padding-top: 0px;
  }
}
.page-getting-started .messages {
  margin: 60px auto 0;
  width: 60%;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
/* Getting started Mobile Submenu */
body.page-getting-started .menu-responsive-flex-menu .active-submenu {
  font-weight: bold;
  color: #FFF;
}
body.page-getting-started .menu-responsive-flex-menu .active-submenu:after {
  content: "\e608";
  font-family: 'icomoon';
  font-size: 8px;
  speak: none;
  right: 20px;
  padding-top: 5px;
}
@media screen and (min-width: 1025px) {
  body.tablet .menu-getting-started,
  body.smartphone .menu-getting-started {
    display: none;
  }
}
/*  Verticals
================================================================================*/
.vertical_is_selected {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
}
.casino-vertical .region-header .menu-verticals ul .casino {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #ec018c;
}
.casino-vertical .menu-verticals-content ul .casino {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #ec018c;
}
.vegas-vertical .region-header .menu-verticals ul .vegas {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #e97d31;
}
.vegas-vertical .block-games .item-list ul li a {
  background: #a01e9b;
}
.vegas-vertical .block-games .item-list ul li a:hover {
  background: rgba(160, 30, 155, 0.3);
}
.live-vertical .region-header .menu-verticals ul .live {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #e97d31;
}
.live-vertical .menu-verticals-content ul .live {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background: #af8636;
}
.live-vertical .block-games .item-list ul li a {
  background: #af8636;
}
.live-vertical .block-games .item-list ul li a:hover {
  background: rgba(175, 134, 54, 0.3);
}
.promotions-vertical .region-header .menu-verticals ul .promotions {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #f3e5f4;
}
.promotions-vertical .menu-verticals-content ul .promotions {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  border-bottom-color: #f3e5f4;
}
body.casino-vertical .menu-verticals ul.menu,
body.casino-vertical .menu-verticals-content ul.menu {
  border-bottom-color: #f3e5f4;
}
body.vegas-vertical .menu-verticals ul.menu,
body.vegas-vertical .menu-verticals-content ul.menu {
  border-bottom-color: #f3e5f4;
}
body.live-vertical .menu-verticals ul.menu,
body.live-vertical .menu-verticals-content ul.menu {
  border-bottom-color: #f3e5f4;
}
body.promotions-vertical .menu-verticals ul.menu,
body.promotions-vertical .menu-verticals-content ul.menu {
  border-bottom-color: #f3e5f4;
}
/*  Promotions submenu
------------------------------------------------------------ */
.promotions-vertical .menu-promotions-submenu li.active-trail {
  background: #f3e5f4;
}
/*  Vegas Removal Submenu
------------------------------------------------------------ */
.smartphone .menu-verticals .menu li,
.tablet .menu-verticals .menu li,
.smartphone .menu-verticals-content .menu li,
.tablet .menu-verticals-content .menu li {
  width: 25% !important;
}
.promotions-vertical .view-id-promotions {
  padding: 17px;
}
.promotions-vertical .view-id-promotions img {
  max-width: 100%;
}
.promotions-vertical .view-id-promotions .promo-wrapper {
  margin-bottom: 17px;
}
.promotions-vertical .view-id-promotions .promotion-title {
  margin: 5px 0 3px;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  font-size: 16px;
  text-transform: uppercase;
}
.promotions-vertical .view-id-promotions .promotion-title a,
.promotions-vertical .view-id-promotions .promotion-title,
.promotions-vertical .view-id-promotions .promotion-title a:hover,
.promotions-vertical .view-id-promotions .promotion-title a:visited {
  color: #ec018c;
}
.promotions-vertical .view-id-promotions .promotion-title a:hover {
  text-decoration: none;
}
.promotions-vertical .promotion-description {
  margin-bottom: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.promotions-vertical .promo-list .promo-register,
.promotions-vertical .promo-list .promo-more-info {
  padding: 5px;
}
.promotions-vertical .promo-list .promo-register {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.promotions-vertical .promo-list .promo-register:hover {
  background: #c1f018;
}
.promotions-vertical .promo-list .promo-register:active {
  background-color: #86a711;
}
.promotions-vertical .promo-list .promo-register:hover {
  text-decoration: none;
}
.promotions-vertical .promo-list .promo-register.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.promotions-vertical .promo-list .promo-register.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.logged-in.promotions-vertical .promo-list .promo-register {
  display: none;
}
.promotions-vertical .promo-list .promo-more-info {
  color: #fff;
  background: #b5afb5;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.promotions-vertical .promo-list .promo-more-info:hover {
  background: #cfc8cf;
}
.promotions-vertical .promo-list .promo-more-info:active {
  background-color: #9c959c;
}
.promotions-vertical .promo-list a.promo-more-info,
.promotions-vertical .promo-list a.promo-more-info:hover,
.promotions-vertical .promo-list a.promo-more-info:active,
.promotions-vertical .promo-list a.promo-more-info:visited {
  color: #fff;
}
.promotions-vertical .promo-list a.promo-more-info:hover {
  text-decoration: none;
}
.promotions-vertical .promo_wide {
  display: none;
}
@media only screen and (max-width: 767px) {
  .promotions-vertical .promo_wide {
    display: block;
  }
}
.promotions-vertical .promo_300x150 {
  display: block;
}
@media only screen and (max-width: 767px) {
  .promotions-vertical .promo_300x150 {
    display: none;
  }
}
@media only screen and (min-width: 567px) {
  .promotions-vertical .view-id-promotions .view-content {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    align-items: flex-start;
  }
  .promotions-vertical .promo-wrapper {
    width: 50%;
    box-sizing: border-box;
    padding: 10px;
  }
}
@media only screen and (min-width: 767px) {
  .promotions-vertical .view-id-promotions .view-content {
    width: 70%;
    margin: 0 auto;
  }
  .promotions-vertical .promotion-description {
    white-space: normal;
    overflow: hidden;
    text-overflow: clip;
    height: 50px;
  }
}
/*
 * jQuery FlexSlider v2.5.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 and later license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 *
 */
/* ====================================================================================================================
 * FONT-FACE
 * ====================================================================================================================*/
@font-face {
  font-family: 'flexslider-icon';
  src: url('../../../libraries/flexslider/fonts/flexslider-icon.eot');
  src: url('../../../libraries/flexslider/fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'), url('../../../libraries/flexslider/fonts/flexslider-icon.woff') format('woff'), url('../../../libraries/flexslider/fonts/flexslider-icon.ttf') format('truetype'), url('../../../libraries/flexslider/fonts/flexslider-icon.svg#flexslider-icon') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* ====================================================================================================================
 * RESETS
 * ====================================================================================================================*/
.flex-container a:hover,
.flex-slider a:hover,
.flex-container a:focus,
.flex-slider a:focus {
  outline: none;
}
.slides,
.slides > li,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none;
}
.flex-pauseplay span {
  text-transform: capitalize;
}
/* ====================================================================================================================
 * BASE STYLES
 * ====================================================================================================================*/
.flexslider {
  margin: 0;
  padding: 0;
}
.flexslider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden;
}
.flexslider .slides img {
  width: 100%;
  display: block;
}
.flexslider .slides:after {
  content: "\0020";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
html[xmlns] .flexslider .slides {
  display: block;
}
* html .flexslider .slides {
  height: 1%;
}
.no-js .flexslider .slides > li:first-child {
  display: block;
}
/* ====================================================================================================================
 * DEFAULT THEME
 * ====================================================================================================================*/
.flexslider {
  margin: 0 0 60px;
  background: #ffffff;
  border: 4px solid #ffffff;
  position: relative;
  zoom: 1;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
  -o-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
}
.flexslider .slides {
  zoom: 1;
}
.flexslider .slides img {
  height: auto;
}
.flex-viewport {
  max-height: 2000px;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
.loading .flex-viewport {
  max-height: 300px;
}
.carousel li {
  margin-right: 5px;
}
.flex-direction-nav {
  *height: 0;
}
.flex-direction-nav a {
  text-decoration: none;
  display: block;
  width: 40px;
  height: 40px;
  margin: -20px 0 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.flex-direction-nav a:before {
  font-family: "flexslider-icon";
  font-size: 40px;
  display: inline-block;
  content: '\f001';
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
}
.flex-direction-nav a.flex-next:before {
  content: '\f002';
}
.flex-direction-nav .flex-prev {
  left: -50px;
}
.flex-direction-nav .flex-next {
  right: -50px;
  text-align: right;
}
.flexslider:hover .flex-direction-nav .flex-prev {
  opacity: 0.7;
  left: 10px;
}
.flexslider:hover .flex-direction-nav .flex-prev:hover {
  opacity: 1;
}
.flexslider:hover .flex-direction-nav .flex-next {
  opacity: 0.7;
  right: 10px;
}
.flexslider:hover .flex-direction-nav .flex-next:hover {
  opacity: 1;
}
.flex-direction-nav .flex-disabled {
  opacity: 0!important;
  filter: alpha(opacity=0);
  cursor: default;
}
.flex-pauseplay a {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 5px;
  left: 10px;
  opacity: 0.8;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: #000;
}
.flex-pauseplay a:before {
  font-family: "flexslider-icon";
  font-size: 20px;
  display: inline-block;
  content: '\f004';
}
.flex-pauseplay a:hover {
  opacity: 1;
}
.flex-pauseplay a.flex-play:before {
  content: '\f003';
}
.flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -40px;
  text-align: center;
}
.flex-control-nav li {
  margin: 0 6px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
.flex-control-paging li a {
  width: 11px;
  height: 11px;
  display: block;
  background: #666;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  text-indent: -9999px;
  -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
.flex-control-paging li a:hover {
  background: #333;
  background: rgba(0, 0, 0, 0.7);
}
.flex-control-paging li a.flex-active {
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  cursor: default;
}
.flex-control-thumbs {
  margin: 5px 0 0;
  position: static;
  overflow: hidden;
}
.flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0;
}
.flex-control-thumbs img {
  width: 100%;
  height: auto;
  display: block;
  opacity: .7;
  cursor: pointer;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
.flex-control-thumbs img:hover {
  opacity: 1;
}
.flex-control-thumbs .flex-active {
  opacity: 1;
  cursor: default;
}
/* ====================================================================================================================
 * RESPONSIVE
 * ====================================================================================================================*/
@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {
    opacity: 1;
    left: 10px;
  }
  .flex-direction-nav .flex-next {
    opacity: 1;
    right: 10px;
  }
}
/* ====================================================================================================================
 * MODIFICATION FOR JACKPOT 247 ( to be removed when jackpot/vernons will have the same design as Supercasino
 * ====================================================================================================================*/
body.jackpot247 .flexslider {
  margin: 0;
  border: none;
}
body.jackpot247 .flex-control-paging {
  width: auto;
}
body.jackpot247 .flex-nav-container {
  float: right;
  position: relative;
  width: 100%;
}
body.jackpot247 .flex-control-paging {
  padding: 5px 0px 0 2px!important;
}
body.jackpot247 .flex-nav-container ol li {
  margin-left: 0;
  margin-right: 5px;
}
body.jackpot247 .flex-nav-container ol li a {
  width: 12px;
  height: 12px;
}
.region-banner .flexslider_views_slideshow_main {
  background-color: #f3e5f4;
}
.region-banner .flexslider .slides > li {
  position: relative;
}
.region-banner .flexslider .slides > li .views-field.views-field-php {
  position: absolute;
  right: 0;
}
.region-banner .flexslider .slides > li:first-child {
  display: block;
  visibility: hidden;
  max-height: 255px;
}
@media screen and (min-width: 1025px) {
  .tablet .region-banner .flexslider .slides > li:first-child {
    max-height: 357px;
  }
}
@media only screen and (max-width: 1023px) {
  .tablet .region-banner .flexslider .slides > li:first-child {
    max-height: 182px;
  }
}
@media only screen and (max-width: 1000px) {
  .region-banner .flexslider .slides > li:first-child {
    max-height: 249px;
  }
}
@media only screen and (max-width: 895px) {
  .region-banner .flexslider .slides > li:first-child {
    max-height: 211px;
  }
}
@media only screen and (max-width: 827px) {
  .region-banner .flexslider .slides > li:first-child {
    max-height: 186px;
  }
}
@media only screen and (max-width: 767px) {
  .region-banner .flexslider .slides > li:first-child {
    max-height: 164px;
  }
}
@media only screen and (max-width: 735px) {
  .region-banner .flexslider .slides > li:first-child {
    max-height: 262px;
  }
}
@media only screen and (max-width: 374px) and (max-height: 666px), only screen and (max-width: 666px) and (max-height: 374px) {
  .region-banner .flexslider .slides > li:first-child {
    max-height: 236px;
  }
}
@media only screen and (max-width: 567px) {
  .region-banner .flexslider .slides > li:first-child {
    max-height: 200px;
  }
}
@media only screen and (max-width: 455px) {
  .region-banner .flexslider .slides > li:first-child {
    max-height: 160px;
  }
}
@media only screen and (max-width: 413px) {
  .region-banner .flexslider .slides > li:first-child {
    max-height: 144px;
  }
}
.region-banner .flexslider .slides > li:first-child.flex-active-slide {
  visibility: visible;
}
/*  Promo Slider
------------------------------------------------------------ */
.flexslider {
  margin: 0;
  background: transparent;
  border: none;
  border-radius: 1px;
  box-shadow: 0;
}
.flexslider .primary-button,
.flexslider .banner-link,
.flexslider .tc-main-page-slider {
  position: absolute;
}
.flexslider .primary-button {
  position: absolute;
  bottom: 35px;
  right: 5px;
  z-index: 3;
  width: 230px;
  margin-left: 25px;
  padding-top: 6px;
  padding-bottom: 6px;
  border-radius: 2px;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
  font-size: 30px;
}
@media only screen and (max-width: 895px) {
  .flexslider .primary-button {
    margin-left: 13px;
    width: 150px;
    font-size: 2rem;
    padding: 5px 5px 5px 4px;
  }
}
@media only screen and (max-width: 767px) {
  .flexslider .primary-button {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 567px) {
  .flexslider .primary-button {
    width: 105px;
    height: 15px;
    margin-left: -120px;
    bottom: 5px;
    padding: 5px 5px 15px 5px;
    font-size: 17px;
  }
}
@media only screen and (max-width: 413px) {
  .flexslider .primary-button {
    width: 108px;
    height: 24px;
    margin-left: -115px;
    bottom: 5px;
    padding: 2px 2px 2px 5px;
    font-size: 16px;
  }
}
@media only screen and (max-width: 414px) {
  .flexslider .primary-button {
    right: 10px;
    bottom: 25px;
  }
}
.flexslider .primary-button:hover {
  text-decoration: none;
}
.flexslider .banner-link {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.flexslider .tc-main-page-slider {
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  width: 100%;
  text-align: right;
  padding: 1.2% 0;
  z-index: 2;
  right: 0;
  font-size: 12px;
  line-height: normal;
}
@media only screen and (max-width: 567px) {
  .flexslider .tc-main-page-slider {
    text-align: left;
    left: 5px;
    background: transparent;
  }
}
@media only screen and (max-width: 895px) {
  .flexslider .tc-main-page-slider {
    margin-left: 13px;
  }
}
@media only screen and (max-width: 567px) {
  .flexslider .tc-main-page-slider {
    margin-left: 10px;
    width: 225px;
    height: 25px;
  }
}
@media only screen and (max-width: 413px) {
  .flexslider .tc-main-page-slider {
    background: transparent;
    bottom: 4px;
    margin-left: 0;
    width: 175px;
    height: 25px;
    padding: 4px 2px;
  }
}
@media only screen and (max-width: 414px) {
  .flexslider .tc-main-page-slider {
    position: static;
    bottom: 0;
    width: 100%;
    height: auto;
    padding-top: 3px;
  }
}
.flexslider .tc-main-page-slider a {
  text-decoration: none;
  margin: 4px;
  color: #fff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}
@media only screen and (max-width: 567px) {
  .flexslider .tc-main-page-slider a {
    margin: 0;
  }
}
.flexslider_views_slideshow_slide .field-content,
.flexslider .banner-link {
  display: block;
}
.promo-slider {
  position: relative;
  height: auto;
  width: calc(100% - 300px);
  float: left;
  overflow: hidden;
}
.promo-slider img {
  width: 100%;
  height: auto;
  border: none;
  border-radius: 0;
}
.promo-slider .views_slideshow_slide {
  width: 100%;
  height: 255px;
  border: none;
}
.promo-slider .views-slideshow-controls-top {
  display: block;
}
@media only screen and (max-width: 567px) {
  body.live-vertical .promo-slider {
    width: 100%;
  }
}
@media only screen and (max-width: 735px) {
  body.casino-vertical .promo-slider,
  body.vegas-vertical .promo-slider {
    margin-left: 50%;
    transform: translate(-50%);
    -ms-transform: translate(-50%);
    /* IE 9 */
    -webkit-transform: translate(-50%);
    /* Safari */
    width: 100%;
  }
}
ol.flex-control-paging {
  position: absolute;
  left: 25px;
  bottom: 0;
  z-index: 20;
  width: auto;
}
@media only screen and (max-width: 567px) {
  ol.flex-control-paging {
    display: none;
  }
}
@media only screen and (max-width: 414px) {
  ol.flex-control-paging {
    display: block;
  }
}
ol.flex-control-paging li {
  margin-right: 13px;
  border-radius: 10px;
  cursor: pointer;
  text-indent: -10000px;
}
ol.flex-control-paging a {
  width: 10px;
  height: 10px;
  background: #eee;
}
ol.flex-control-paging a.flex-active {
  background: #797979;
}
ol.flex-control-paging a:hover {
  background: #179e4f;
}
@media only screen and (max-width: 414px) {
  ol.flex-control-paging a {
    width: 8px;
    height: 8px;
  }
}
@media only screen and (max-width: 414px) {
  ol.flex-control-paging {
    left: 10px;
    bottom: 15px;
  }
}
.promo_overlay_text,
body.front-vertical .promo_overlay_text,
body.front .promo_overlay_text,
body.front body.front-vertical .promo_overlay_text,
body.front-vertical body.front .promo_overlay_text {
  position: absolute;
  top: 5px;
  margin-left: 8px;
  height: 125px;
  text-align: left;
  vertical-align: top;
  overflow: hidden;
  font-size: 30px;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 0.82;
}
@media only screen and (max-width: 767px) {
  .promo_overlay_text,
  body.front-vertical .promo_overlay_text,
  body.front .promo_overlay_text,
  body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front .promo_overlay_text {
    font-size: 20px;
  }
}
@media only screen and (max-width: 567px) {
  .promo_overlay_text,
  body.front-vertical .promo_overlay_text,
  body.front .promo_overlay_text,
  body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front .promo_overlay_text {
    margin-left: 20px;
    line-height: 0.95;
  }
  .promo_overlay_text small,
  body.front-vertical .promo_overlay_text small,
  body.front .promo_overlay_text small,
  body.front body.front-vertical .promo_overlay_text small,
  body.front-vertical body.front .promo_overlay_text small {
    font-size: 24px;
  }
  .promo_overlay_text big,
  body.front-vertical .promo_overlay_text big,
  body.front .promo_overlay_text big,
  body.front body.front-vertical .promo_overlay_text big,
  body.front-vertical body.front .promo_overlay_text big {
    font-size: 25px;
    letter-spacing: -2px;
  }
}
@media only screen and (max-width: 413px) {
  .promo_overlay_text,
  body.front-vertical .promo_overlay_text,
  body.front .promo_overlay_text,
  body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front .promo_overlay_text {
    line-height: 0.60;
  }
  .promo_overlay_text small,
  body.front-vertical .promo_overlay_text small,
  body.front .promo_overlay_text small,
  body.front body.front-vertical .promo_overlay_text small,
  body.front-vertical body.front .promo_overlay_text small {
    font-size: 16px;
  }
  .promo_overlay_text big,
  body.front-vertical .promo_overlay_text big,
  body.front .promo_overlay_text big,
  body.front body.front-vertical .promo_overlay_text big,
  body.front-vertical body.front .promo_overlay_text big {
    font-size: 18px;
    letter-spacing: -2px;
  }
}
.promo_overlay_text b,
body.front-vertical .promo_overlay_text b,
body.front .promo_overlay_text b,
body.front body.front-vertical .promo_overlay_text b,
body.front-vertical body.front .promo_overlay_text b {
  color: white;
}
.promo_overlay_text p,
body.front-vertical .promo_overlay_text p,
body.front .promo_overlay_text p,
body.front body.front-vertical .promo_overlay_text p,
body.front-vertical body.front .promo_overlay_text p {
  margin: 0;
}
body.front-vertical .promo_overlay_text,
body.front .promo_overlay_text,
body.front body.front-vertical .promo_overlay_text,
body.front-vertical body.front .promo_overlay_text {
  top: 15px;
  margin-left: 25px;
}
@media only screen and (max-width: 895px) {
  body.front-vertical .promo_overlay_text,
  body.front .promo_overlay_text,
  body.front-vertical body.front-vertical .promo_overlay_text,
  body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front .promo_overlay_text,
  body.front body.front .promo_overlay_text,
  body.front-vertical body.front body.front-vertical .promo_overlay_text,
  body.front body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front-vertical body.front .promo_overlay_text,
  body.front body.front-vertical body.front .promo_overlay_text {
    margin-left: 10px;
    line-height: 21px;
  }
  body.front-vertical .promo_overlay_text small,
  body.front .promo_overlay_text small,
  body.front-vertical body.front-vertical .promo_overlay_text small,
  body.front body.front-vertical .promo_overlay_text small,
  body.front-vertical body.front .promo_overlay_text small,
  body.front body.front .promo_overlay_text small,
  body.front-vertical body.front body.front-vertical .promo_overlay_text small,
  body.front body.front body.front-vertical .promo_overlay_text small,
  body.front-vertical body.front-vertical body.front .promo_overlay_text small,
  body.front body.front-vertical body.front .promo_overlay_text small {
    font-size: 24px;
  }
  body.front-vertical .promo_overlay_text big,
  body.front .promo_overlay_text big,
  body.front-vertical body.front-vertical .promo_overlay_text big,
  body.front body.front-vertical .promo_overlay_text big,
  body.front-vertical body.front .promo_overlay_text big,
  body.front body.front .promo_overlay_text big,
  body.front-vertical body.front body.front-vertical .promo_overlay_text big,
  body.front body.front body.front-vertical .promo_overlay_text big,
  body.front-vertical body.front-vertical body.front .promo_overlay_text big,
  body.front body.front-vertical body.front .promo_overlay_text big {
    font-size: 25px;
    letter-spacing: -2px;
  }
}
@media only screen and (max-width: 735px) {
  body.front-vertical .promo_overlay_text,
  body.front .promo_overlay_text,
  body.front-vertical body.front-vertical .promo_overlay_text,
  body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front .promo_overlay_text,
  body.front body.front .promo_overlay_text,
  body.front-vertical body.front body.front-vertical .promo_overlay_text,
  body.front body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front-vertical body.front .promo_overlay_text,
  body.front body.front-vertical body.front .promo_overlay_text {
    margin-left: 10px;
    line-height: 26px;
    font-size: 30px;
  }
  body.front-vertical .promo_overlay_text big,
  body.front .promo_overlay_text big,
  body.front-vertical body.front-vertical .promo_overlay_text big,
  body.front body.front-vertical .promo_overlay_text big,
  body.front-vertical body.front .promo_overlay_text big,
  body.front body.front .promo_overlay_text big,
  body.front-vertical body.front body.front-vertical .promo_overlay_text big,
  body.front body.front body.front-vertical .promo_overlay_text big,
  body.front-vertical body.front-vertical body.front .promo_overlay_text big,
  body.front body.front-vertical body.front .promo_overlay_text big {
    font-size: 36px;
  }
}
@media only screen and (max-width: 567px) {
  body.front-vertical .promo_overlay_text,
  body.front .promo_overlay_text,
  body.front-vertical body.front-vertical .promo_overlay_text,
  body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front .promo_overlay_text,
  body.front body.front .promo_overlay_text,
  body.front-vertical body.front body.front-vertical .promo_overlay_text,
  body.front body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front-vertical body.front .promo_overlay_text,
  body.front body.front-vertical body.front .promo_overlay_text {
    margin-left: 10px;
    line-height: 19px;
  }
  body.front-vertical .promo_overlay_text small,
  body.front .promo_overlay_text small,
  body.front-vertical body.front-vertical .promo_overlay_text small,
  body.front body.front-vertical .promo_overlay_text small,
  body.front-vertical body.front .promo_overlay_text small,
  body.front body.front .promo_overlay_text small,
  body.front-vertical body.front body.front-vertical .promo_overlay_text small,
  body.front body.front body.front-vertical .promo_overlay_text small,
  body.front-vertical body.front-vertical body.front .promo_overlay_text small,
  body.front body.front-vertical body.front .promo_overlay_text small {
    font-size: 20px;
  }
  body.front-vertical .promo_overlay_text big,
  body.front .promo_overlay_text big,
  body.front-vertical body.front-vertical .promo_overlay_text big,
  body.front body.front-vertical .promo_overlay_text big,
  body.front-vertical body.front .promo_overlay_text big,
  body.front body.front .promo_overlay_text big,
  body.front-vertical body.front body.front-vertical .promo_overlay_text big,
  body.front body.front body.front-vertical .promo_overlay_text big,
  body.front-vertical body.front-vertical body.front .promo_overlay_text big,
  body.front body.front-vertical body.front .promo_overlay_text big {
    font-size: 26px;
  }
}
@media only screen and (max-width: 413px) {
  body.front-vertical .promo_overlay_text,
  body.front .promo_overlay_text,
  body.front-vertical body.front-vertical .promo_overlay_text,
  body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front .promo_overlay_text,
  body.front body.front .promo_overlay_text,
  body.front-vertical body.front body.front-vertical .promo_overlay_text,
  body.front body.front body.front-vertical .promo_overlay_text,
  body.front-vertical body.front-vertical body.front .promo_overlay_text,
  body.front body.front-vertical body.front .promo_overlay_text {
    top: 10px;
  }
}
/*  Stalker
================================================================================*/
.floating_verticals_menu {
  position: fixed;
  top: -40px;
  left: 0;
  width: 100%;
  height: 28px;
  padding: 5px;
  z-index: 2000;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
  transition: 0.3s;
  border-bottom: 1px solid #38344b;
  background: #255768;
}
.floating_verticals_menu.stalk {
  top: 0;
}
@media screen and (max-width: 1024px) {
  .floating_verticals_menu.stalk {
    display: none;
  }
}
.floating_verticals_menu .floating_verticals_menu_inner {
  width: 1000px;
  margin: 0 auto;
}
.floating_verticals_menu .floating_verticals_menu_inner .betssonChatLink {
  text-indent: 40px;
}
.floating_verticals_menu .small_site_logo {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  width: 120px;
  height: 28px;
  float: left;
  background: url('/assets/logos/jackpot247_Logo_small.png') no-repeat center center;
  text-indent: -99999px;
  background-repeat: no-repeat;
  background-position: center;
}
.floating_verticals_menu .vertical_links {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  background: #255768;
  border-left: 1px solid transparent;
  padding: 9px 16px;
  font-size: 14px;
  text-decoration: none;
  transition: 0.3s;
  margin-top: -5px;
}
.floating_verticals_menu .betssonChatLink {
  cursor: pointer;
  width: 80px;
  right: 0;
  top: 0;
}
.floating_verticals_menu .help-page-link {
  float: right;
  margin-left: -3px;
}
.floating_verticals_menu .help-page-link a {
  display: block;
  width: 80px;
  margin-top: 4px;
  margin-left: 5px;
  margin-right: 70px;
  border-left: 1px solid #4e4a49;
  height: 22px;
  line-height: 20px;
}
.floating_verticals_menu .account_options {
  float: right;
  margin-top: -1px;
  margin-right: 10px;
}
.floating_verticals_menu .account_options .button {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #82db70;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#82db70), to(#179e4f));
  background: -webkit-linear-gradient(#82db70, #179e4f);
  background: -moz-linear-gradient(top, #82db70, #179e4f);
  background: linear-gradient(#82db70, #179e4f);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  width: auto;
  padding: 5px 13px;
  float: left;
}
.floating_verticals_menu .account_options .button:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.floating_verticals_menu .account_options .button:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.floating_verticals_menu .account_options .button:hover {
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#94fa80), to(#24b65b));
  background: -webkit-linear-gradient(#94fa80, #24b65b);
  background: -moz-linear-gradient(top, #94fa80, #24b65b);
  background: linear-gradient(#94fa80, #24b65b);
}
.floating_verticals_menu .account_options .login_form {
  float: left;
  margin-left: 5px;
}
.floating_verticals_menu .account_options input[type="text"],
.floating_verticals_menu .account_options input[type="password"] {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  display: none;
}
.floating_verticals_menu .account_options input[type="submit"] {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  border: 0 none;
  padding: 8px 16px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.4);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  background: #ec018c;
  color: #fff;
  border: solid 2px #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 700;
  line-height: 20px;
  padding: 5px 13px;
}
.floating_verticals_menu .account_options input[type="submit"]:hover {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99ffffff, endColorstr=#99ffffff);
}
.floating_verticals_menu .account_options input[type="submit"]:active {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  transform: translateY(2px);
}
.floating_verticals_menu .account_options input[type="submit"]:hover {
  background-color: #ff53b9;
}
.floating_verticals_menu .account_options input[type="submit"].highlighted {
  background-color: rgba(236, 1, 140, 0.5);
}
.floating_verticals_menu .account_options input[type="submit"]:hover {
  text-decoration: none;
}
.floating_verticals_menu .account_options input[type="submit"].disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.floating_verticals_menu .account_options input[type="submit"].disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.floating_verticals_menu .account_info {
  display: block;
  margin: 5px;
  float: left;
  font-size: 14px;
  text-decoration: none;
}
.floating_verticals_menu .account_info span {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  margin: 0 6px 0 3px;
}
.floating_verticals_menu .account_info span.username {
  border-right: 1px solid #4f4949;
  padding-right: 17px;
}
body.tablet .floating_verticals_menu,
body.smartphone .floating_verticals_menu {
  display: none;
}
.logged-in .floating_verticals_menu .help-page-link a {
  width: 40px;
  text-indent: -999px;
  margin-right: 40px;
}
.logged-in .floating_verticals_menu .js-playtech-chat {
  width: 40px;
  text-indent: -999px;
}
.floating_verticals_menu .vertical_links.active[title="Casino"],
.floating_verticals_menu .vertical_links:hover[title="Casino"] {
  background: #e97d31;
}
.floating_verticals_menu .vertical_links.active[title="Vegas"],
.floating_verticals_menu .vertical_links:hover[title="Vegas"] {
  background: #e97d31;
}
.floating_verticals_menu .vertical_links.active[title="Live"],
.floating_verticals_menu .vertical_links:hover[title="Live"] {
  background: #e97d31;
}
.floating_verticals_menu .vertical_links.active[title="Promotions"],
.floating_verticals_menu .vertical_links:hover[title="Promotions"] {
  background: #e97d31;
}
/*  Video Pages
================================================================================*/
/*  Videos List
--------------------------------------------------------------------------------*/
.videos-quicktabs .quicktabs-wrapper #quicktabs-container-videos {
  padding-top: 20px;
  text-align: center;
}
.videos-quicktabs .quicktabs-wrapper .views-row {
  display: inline-block;
  *zoom: 1;
  *display: inline;
  margin-bottom: 14px;
  height: 120px;
  width: 180px;
  padding: 15px 25px;
  vertical-align: top;
}
.videos-quicktabs .quicktabs-wrapper .views-row:hover .views-field-field-video-url a,
.videos-quicktabs .quicktabs-wrapper .views-row:hover .views-field-field-youtube {
  display: block;
}
.videos-quicktabs .quicktabs-wrapper .views-row:hover .views-field-field-video-image img {
  -webkit-filter: blur(5px) saturate(80%);
  filter: blur(5px) saturate(80%);
}
.videos-quicktabs .quicktabs-wrapper .views-row .views-field-field-video-image {
  height: 100px;
  text-align: center;
}
.videos-quicktabs .quicktabs-wrapper .views-row .views-field-field-video-image img {
  transition: 0.2s;
  margin: 0 auto;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.videos-quicktabs .quicktabs-wrapper .views-row .views-field-title {
  margin-top: 2px;
  padding-top: 5px;
}
.videos-quicktabs .quicktabs-wrapper .views-row .views-field-field-video-url a,
.videos-quicktabs .quicktabs-wrapper .views-row .views-field-field-youtube {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7) url(/assets/buttons/play_iconv3.png) 50% 50% no-repeat;
  display: none;
  text-indent: -10000px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.videos-quicktabs .quicktabs-wrapper .views-row .views-field-field-youtube .video-player {
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.videos-quicktabs .quicktabs-wrapper .views-row .video-more-info {
  bottom: 5px;
  right: 5px;
  width: 20px;
  height: 20px;
  text-indent: -10000px;
  background: url('/assets/icons/infoSprite.png') center top no-repeat;
}
.videos-quicktabs .quicktabs-wrapper .views-row .video-more-info:hover {
  background-position: center -20px;
}
/*  Video Pop up
--------------------------------------------------------------------------------*/
.page-video-player,
.page-video-player * {
  padding: 0;
  margin: 0;
  font-size: 0;
  line-height: 0;
}
/*  Video Info Page
--------------------------------------------------------------------------------*/
.view-display-id-video_page .video-info-title {
  color: #e11d35;
  margin-bottom: 14px;
}
.view-display-id-video_page .video-intro,
.view-display-id-video_page .video-intro p {
  margin-bottom: 14px;
  font-weight: bold;
  font-size: 14px;
  padding-bottom: 10px;
  color: #ddd;
}
.view-display-id-video_page .video-content-primary p {
  font-weight: bold;
  font-size: 15px;
  padding-top: 10px;
}
.view-display-id-video_page .views-field-field-youtube {
  margin: 10px 0 20px;
}
.view-display-id-video_page .social-share-icons {
  width: 560px;
  margin: 0 auto;
}
.view-display-id-video_page .game-social-icon {
  margin: 20px 12px;
}
.view-display-id-video_page .video-content-secondary {
  color: #bbb;
}
.view-display-id-video_page .video-content-secondary p {
  color: #bbb;
}
.view-display-id-video_page .video-content-secondary b {
  color: #ddd;
}
.view-display-id-video_page .video-content-secondary .field-item {
  margin-bottom: 10px;
}
.view-display-id-video_page a.button-3 {
  width: 160px;
  margin-top: 20px;
  padding: 10px 20px;
  font-size: 18px;
  text-transform: uppercase;
}
@media screen and (max-width: 1024px) {
  .default-modal.video-modal .modal-dialog {
    margin-top: 50vh;
  }
}
@media only screen and (max-width: 767px) {
  .default-modal.video-modal .modal-dialog {
    margin-top: 40%;
  }
}
@media only screen and (max-width: 413px) {
  .default-modal.video-modal .modal-dialog {
    margin-top: 50%;
  }
}
@media only screen and (min-width: 768px) {
  .default-modal.video-modal .modal-dialog {
    max-width: 722px;
    max-height: 481px;
  }
}
.default-modal.video-modal .modal-dialog .modal-content {
  background: none;
}
.default-modal.video-modal .modal-dialog .modal-content .modal-header {
  display: none;
}
.default-modal.video-modal .modal-dialog .modal-content .modal-body {
  padding: 5px;
  text-align: center;
}
.default-modal.video-modal .modal-dialog .modal-content .modal-body iframe {
  padding: 10px;
  background-color: #444;
}
/*  Winners Scroller
------------------------------------------------------------ */
@media only screen and (max-height: 413px) {
  body.smartphone .winners-scroller-3,
  body.tablet .winners-scroller-3 {
    display: none;
  }
}
body.front-vertical .winners-scroller-3,
body.front .winners-scroller-3,
body.page-games .winners-scroller-3 {
  height: auto;
}
@media only screen and (max-width: 895px) {
  body.front-vertical .winners-scroller-3,
  body.front .winners-scroller-3,
  body.page-games .winners-scroller-3 {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  body.front-vertical .winners-scroller-6,
  body.front .winners-scroller-6,
  body.page-games .winners-scroller-6 {
    height: 100%;
  }
}
@media only screen and (max-width: 567px) {
  body.front-vertical .winners-scroller-6,
  body.front .winners-scroller-6,
  body.page-games .winners-scroller-6 {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  body.smartphone .winners-scroller-6,
  body.tablet .winners-scroller-6 {
    height: 100%;
  }
}
@media only screen and (max-height: 413px) {
  body.smartphone .winners-scroller-6,
  body.tablet .winners-scroller-6 {
    display: none;
  }
}
.winners-scroller-3,
.winners-scroller-3-sidebar,
.winners-scroller-6 {
  width: 300px;
  height: 110px;
  overflow: hidden;
}
.winners-scroller-3 h2,
.winners-scroller-3-sidebar h2,
.winners-scroller-6 h2,
.jackpots-slider h2 {
  margin: 5px 0 5px;
  font-size: 18px;
  text-align: center;
}
.winners-scroller-6 {
  height: 255px;
}
.winners-scroller-6 h2 {
  margin: 19px 0;
  font-size: 20px;
}
.winners_scroller {
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
  position: relative;
  transition: top 0.5s;
}
.winners_scroller a {
  font-weight: bold;
  text-decoration: none;
}
.scroller_container {
  overflow: hidden;
}
.winner {
  position: relative;
  margin: 0 auto 1px;
  width: 90%;
  height: 33px;
  padding: 2px 4px;
  list-style: none;
}
.winner span,
.winner img {
  position: absolute;
  vertical-align: middle;
}
.winner img {
  left: 0;
  bottom: 2px;
}
.winner .winner_amount {
  top: 2px;
  left: 0;
  font-size: 16px;
  width: 40%;
  color: #eee;
}
.winner .winner_name {
  bottom: 2px;
  left: 20px;
  width: 45%;
  line-height: 12px;
  font-size: 12px;
  overflow: hidden;
}
.winner .winner_game_title {
  top: 50%;
  right: 0;
  margin-top: -8px;
  width: 40%;
  height: 16px;
  padding-right: 10px;
  background: url(/assets/icons/arrow-jackpot.png) 99% 6px no-repeat;
  background-size: 5px 25px;
  font-size: 12px;
  overflow: hidden;
  transition: background-position-x 0.1s;
  color: #eee;
}
.winner .winner_game_title:hover {
  background-position: 100% -11px;
}
.front .winners-scroller-3,
.not-front .winners-scroller-3,
body.page-games .winners-scroller-3,
.front .winners-scroller-6,
.not-front .winners-scroller-6,
body.page-games .winners-scroller-6 {
  background: #2c6273 ;
}
/*  Winners Page
================================================================================*/
.page-winners .block-winners.winners-page,
.page-winners .content-header {
  padding: 0 30px 20px;
}
.page-winners .block-winners table,
.page-winners .block-winners th,
.page-winners .block-winners td {
  border: 0px none;
  text-align: left;
}
.page-winners .block-winners th,
.page-winners .block-winners td {
  padding: 10px 5px;
}
@media only screen and (max-width: 567px) {
  .page-winners .block-winners th,
  .page-winners .block-winners td {
    font-size: 11px;
  }
}
.page-winners .block-winners .even {
  background: rgba(0, 0, 0, 0.2);
}
.page-winners .block-winners .winnersPageAmount {
  color: #d4b15e;
  font-weight: bold;
}
/*
Login.less
-----------------------
Author:  Jerome D Nelson
Contributors:  -
Description:  Layout for new login form
Copyright 2015 NetplayTV plc.

*/
.not-logged-in {
  /**
  * Legacy Code
  * Used in previous version of code
  * TODO: Strip out in next iteration
  **/
  /**
    * Button image swaps
    **/
  /** Temporary Positioning change CSS
    - Given from feedback of GD Team */
}
.not-logged-in .login-modal .registration-style .form-item input,
.not-logged-in .region-header .registration-style .form-item input {
  font-family: "ff-din-web", helvetica, arial, sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  background: #f3ecf4;
  color: #4b0b4a;
  border-radius: 1px;
  transition: 0.5s ease;
}
.not-logged-in .login-modal .registration-style .form-item input[type="password"],
.not-logged-in .region-header .registration-style .form-item input[type="password"] {
  text-transform: none;
}
.not-logged-in .login-modal .registration-style .form-item input:focus,
.not-logged-in .region-header .registration-style .form-item input:focus {
  color: #000000;
  background-color: #f3f4c2;
}
.not-logged-in .login-modal .registration-style .form-item input:active,
.not-logged-in .region-header .registration-style .form-item input:active {
  outline: solid 1px #5d7a81;
  border-top: #36535b 1px solid;
  background-color: #f3f4c2;
  color: #000000;
}
.not-logged-in .help_button:hover {
  background-image: url(/assets/support/help_icon_gold.png);
}
.not-logged-in .chat_button {
  background-image: url(/assets/support/chat_icon_white.png);
}
.not-logged-in .chat_button:hover {
  background-image: url(/assets/support/chat_icon_gold.png);
}
.not-logged-in .tmp_help_fixes {
  width: 40% !important;
  margin-left: 8% !important;
  text-align: left !important;
  text-indent: 30px !important;
}
.not-logged-in .support-buttons .js-playtech-chat,
.not-logged-in .support-buttons .betssonChatLink.chat_button {
  display: block;
  float: left;
  margin-left: 8%;
  width: 40%;
}
.not-logged-in .support-buttons .js-playtech-chat {
  display: block;
  float: left;
}
/**
  * Form login styling
  *
  * Class used to isolate specific form (form.module uses the same markup for two different locations)
  * Other one is bootstrap modal
  **/
.region-header .playtech-login-block {
  /**
      * Legacy Code
      * Used in previous version of code
      * TODO: Strip out in next iteration
     **/
}
.region-header .playtech-login-block .registration-style,
.region-header .playtech-login-block .registration-style * {
  box-sizing: border-box;
}
.region-header .playtech-login-block .registration-style {
  z-index: 1;
  top: 21px;
  right: 170px;
  width: 240px;
}
.region-header .playtech-login-block .registration-style > div {
  width: 240px;
  float: left !important;
}
.region-header .playtech-login-block .registration-style .forgotten-details-link {
  line-height: 30px;
  color: #a0b1b5;
  font-family: "ff-din-web", helvetica, arial, sans-serif;
  text-transform: normal;
  font-size: 11px;
}
.region-header .playtech-login-block .registration-style .form-item,
.region-header .playtech-login-block .registration-style input {
  width: 100%;
  border: none;
}
.region-header .playtech-login-block .registration-style .form-item {
  float: left;
}
.region-header .playtech-login-block .registration-style .form-item input {
  height: 30px;
  width: 100%;
  line-height: 15px;
  padding: 0 15px;
}
.region-header .playtech-login-block .registration-style .form-text + .button.submit {
  margin-left: 30px;
}
.button,
.help_button,
.chat_button {
  text-decoration: none;
}
.button:hover,
.help_button:hover,
.chat_button:hover {
  text-decoration: none;
}
.registration-style .button,
.form-helpers .button {
  display: block;
  border-radius: 1px;
  text-align: center;
  height: 30px;
  line-height: 28px;
  font-size: 14px;
  text-shadow: 0 2px 1px rgba(0, 0, 0, 0.5);
}
.registration-style .button.success,
.form-helpers .button.success {
  border-top: 1px solid #a6e599;
  background: #82db70;
  background-image: -webkit-linear-gradient(90deg, #368e24, #82db70);
  background-image: -moz-linear-gradient(90deg, #368e24, #82db70);
  background-image: -ms-linear-gradient(90deg, #368e24, #82db70);
  background-image: -o-linear-gradient(90deg, #368e24, #82db70);
  background-image: linear-gradient(0deg, #368e24, #82db70);
  color: #eee;
}
.registration-style .button.success:hover,
.form-helpers .button.success:hover {
  background-image: -webkit-linear-gradient(90deg, #45b72e, #a6e599);
  background-image: -moz-linear-gradient(90deg, #45b72e, #a6e599);
  background-image: -ms-linear-gradient(90deg, #45b72e, #a6e599);
  background-image: -o-linear-gradient(90deg, #45b72e, #a6e599);
  background-image: linear-gradient(0deg, #45b72e, #a6e599);
}
.registration-style .button.info,
.form-helpers .button.info {
  border-top: 1px solid #b9b6bb;
  background: #a09ca2;
  background-image: -webkit-linear-gradient(90deg, #535055, #a09ca2);
  background-image: -moz-linear-gradient(90deg, #535055, #a09ca2);
  background-image: -ms-linear-gradient(90deg, #535055, #a09ca2);
  background-image: -o-linear-gradient(90deg, #535055, #a09ca2);
  background-image: linear-gradient(0deg, #535055, #a09ca2);
}
.registration-style .button.info:hover,
.form-helpers .button.info:hover {
  background-image: -webkit-linear-gradient(90deg, #6d696f, #b9b6bb);
  background-image: -moz-linear-gradient(90deg, #6d696f, #b9b6bb);
  background-image: -ms-linear-gradient(90deg, #6d696f, #b9b6bb);
  background-image: -o-linear-gradient(90deg, #6d696f, #b9b6bb);
  background-image: linear-gradient(0deg, #6d696f, #b9b6bb);
}
.registration-style .button.info.form-submit,
.form-helpers .button.info.form-submit {
  line-height: 25px;
}
.registration-style .form-helpers .push-child,
.form-helpers .form-helpers .push-child {
  padding-left: 20px;
}
.registration-style a.button:active,
.form-helpers a.button:active {
  margin-top: 8px;
}
.registration-style h6,
.form-helpers h6,
.registration-style label,
.form-helpers label {
  display: none;
}
.registration-style .push-child,
.form-helpers .push-child {
  padding-left: 5px;
}
.region-header div.newline {
  margin-bottom: 5px;
}
.region-header div.newline:last-child {
  margin-bottom: 0;
}
.login-modal .row {
  display: inline;
}
.login-modal .row::after {
  content: "";
  display: none;
  clear: none;
}
.login-modal .newline {
  width: auto !important;
  display: inline;
  float: none;
}
.login-modal .form-submit {
  color: #eee;
  text-shadow: 0 2px 1px rgba(0, 0, 0, 0.5);
  margin-left: 2px;
  padding: 8px 16px;
  line-height: normal !important;
  height: 15px;
}
.login-modal .column2-6.push-child {
  padding-left: 0;
  display: inline-block !important;
  height: 17px;
  width: auto !important;
  float: none !important;
}
@media only screen and (max-width: 567px) {
  .login-modal .column2-6.push-child {
    height: auto;
  }
}
.login-modal .column6-6 {
  float: none !important;
}
@media screen and (max-width: 1024px) {
  .register-buttons {
    display: none;
  }
}
.register-buttons {
  top: 25px;
  right: 0;
  width: 80px;
  height: 65px;
}
.register-buttons .help_button,
.register-buttons .chat_button {
  color: #eee;
}
.register-buttons .help_button:hover,
.register-buttons .chat_button:hover {
  color: #ec4bac;
}
.register-buttons .help_button {
  right: 0;
  top: 0;
  width: 80px;
  height: 30px;
  line-height: 30px;
  padding: 0;
  background: url(/assets/support/help_icon_white.png) no-repeat 10px center;
  cursor: pointer;
  text-align: center;
  font-size: 11px;
  font-weight: normal;
  text-decoration: none;
  text-indent: 30px;
}
.register-buttons .help_button:hover {
  background-image: url(/assets/support/help_icon_gold.png);
}
.register-buttons .chat_button {
  right: 0;
  top: 35px;
  background: url(/assets/support/chat_icon_white.png) no-repeat 10px center;
  width: 80px;
  height: 30px;
  line-height: 30px;
  padding: 0;
  cursor: pointer;
  text-align: center;
  font-size: 11px;
  font-weight: normal;
  text-decoration: none;
  text-indent: 30px;
}
.register-buttons .chat_button:hover {
  background-image: url(/assets/support/chat_icon_gold.png);
}
.floating_verticals_menu .help-page-link a,
.floating_verticals_menu .js-playtech-chat {
  font-size: 11px;
  font-weight: normal;
  text-decoration: none;
  text-indent: 25px;
  height: 22px;
  line-height: 22px;
  text-align: center;
}
.floating_verticals_menu .js-playtech-chat {
  cursor: pointer;
  width: 80px;
  height: 30px;
  line-height: 30px;
  right: 0;
  top: 0;
  background: url('/assets/support/chat_icon_white.png') no-repeat 10px center;
}
.floating_verticals_menu .help-page-link {
  float: right;
  margin-left: -3px;
}
.floating_verticals_menu .help-page-link a {
  background: url(/assets/support/help_icon_white.png) no-repeat 10px 0;
  line-height: 22px;
}
.login-modal {
  padding-top: 25%;
}
.smartphone .login-modal {
  position: absolute;
}
.login-modal .modal-content {
  margin-top: -25%;
}
@media only screen and (orientation: landscape) and (min-aspect-ratio: 13/9) {
  .tablet .login-modal .modal-content {
    margin-top: -45%;
  }
}
.login-modal .login-overlay-content .error_message {
  width: 100%;
  padding: 0;
}
.login-modal .login-error .login-overlay-content .error_message,
.login-modal .technical-error .login-overlay-content .error_message,
.login-modal .session-expired .login-overlay-content .error_message,
.login-modal .frozen-account .login-overlay-content .error_message,
.login-modal .other-error .login-overlay-content .error_message {
  padding: 7px 0;
  margin: 10px 0;
  text-align: center;
}
.login-modal .technical-error .login-overlay-content .error_message,
.login-modal .session-expired .login-overlay-content .error_message,
.login-modal .frozen-account .login-overlay-content .error_message,
.login-modal .other-error .login-overlay-content .error_message {
  margin: 0;
}
.login-modal .messages.status {
  background: transparent;
  border-top: none;
}
/*
identity.less
-----------------------
Author:  Makan J Houston
Contributors:  -
Description:  Brand identity styling for Jackpot247
Copyright 2015 NetplayTV plc.
*/
/*  Colours
================================================================================*/
/*  Tags
================================================================================*/
body {
  color: #242424;
}
a {
  color: #eee;
}
/*  Backgrounds
================================================================================*/
.page-content {
  background-color: #f3e5f4;
}
.region-footer {
  background-color: rgba(0, 0, 0, 0);
}
/*  Typography
================================================================================*/
.content-header h1 {
  color: #ed028b;
  font-size: 20px;
  text-transform: uppercase;
}
.region-content {
  font-size: 14px;
  line-height: 1.5em;
}
.region-content h3 {
  font-size: 18px;
}
/*  Buttons
================================================================================*/
.primary-button {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
}
.primary-button:hover {
  background: #c1f018;
}
.primary-button:active {
  background-color: #86a711;
}
.primary-button:hover {
  text-decoration: none;
}
.primary-button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.primary-button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.secondary-button {
  background: #a3a1a9;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#a3a1a9), to(#5a595d));
  background: -webkit-linear-gradient(#a3a1a9, #5a595d);
  background: -moz-linear-gradient(top, #a3a1a9, #5a595d);
  background: linear-gradient(#a3a1a9, #5a595d);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa3a1a9', endColorstr='#ff5a595d', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa3a1a9', endColorstr='#ff5a595d', GradientType=0);
  color: #fff;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
}
.secondary-button:hover {
  background: #b0aeb7;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#b0aeb7), to(#706e74));
  background: -webkit-linear-gradient(#b0aeb7, #706e74);
  background: -moz-linear-gradient(top, #b0aeb7, #706e74);
  background: linear-gradient(#b0aeb7, #706e74);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb0aeb7', endColorstr='#ff706e74', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb0aeb7', endColorstr='#ff706e74', GradientType=0);
}
.games .play_for_real {
  background: #30d110;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#30d110), to(#14730c));
  background: -webkit-linear-gradient(#30d110, #14730c);
  background: -moz-linear-gradient(top, #30d110, #14730c);
  background: linear-gradient(#30d110, #14730c);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff30d110', endColorstr='#ff14730c', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff30d110', endColorstr='#ff14730c', GradientType=0);
  color: #eee;
}
/* Text highlight on promotion slider */
.promo-slider .promo_overlay_text p i,
.indv-promotion-page .promo_overlay_text p i,
.promo-slider body.front-vertical .promo_overlay_text p i,
.indv-promotion-page body.front-vertical .promo_overlay_text p i,
.promo-slider body.front .promo_overlay_text p i,
.indv-promotion-page body.front .promo_overlay_text p i,
.promo-slider body.front body.front-vertical .promo_overlay_text p i,
.indv-promotion-page body.front body.front-vertical .promo_overlay_text p i,
.promo-slider body.front-vertical body.front .promo_overlay_text p i,
.indv-promotion-page body.front-vertical body.front .promo_overlay_text p i {
  color: #d4b15e;
}
/*  Content
================================================================================*/
.node-page .content,
.node-terms .content {
  background-color: #f3e5f4;
}
/*  Verticals
================================================================================*/
.vertical_is_selected {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
}
.casino-vertical .region-header .menu-verticals ul .casino {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #ec018c;
}
.casino-vertical .menu-verticals-content ul .casino {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #ec018c;
}
.vegas-vertical .region-header .menu-verticals ul .vegas {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #e97d31;
}
.vegas-vertical .block-games .item-list ul li a {
  background-color: #e97d31;
}
.vegas-vertical .block-games .item-list ul li a:hover {
  background: rgba(160, 30, 155, 0.3);
}
.live-vertical .region-header .menu-verticals ul .live {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #e97d31;
}
.live-vertical .menu-verticals-content ul .live {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #e97d31;
}
.live-vertical .block-games .item-list ul li a {
  background-color: #e97d31;
}
.live-vertical .block-games .item-list ul li a:hover {
  background: rgba(175, 134, 54, 0.3);
}
.promotions-vertical .region-header .menu-verticals ul .promotions {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #f3e5f4;
}
.promotions-vertical .menu-verticals-content ul .promotions {
  /* IE 8 */
  /* IE 5-7 */
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@opacityPercentage)";
  /* IE 8 */
  filter: alpha(opacity=100);
  /* IE 5-7 */
  background-color: #f3e5f4;
}
/*  Promotions
================================================================================*/
.promo_overlay_text,
body.front-vertical .promo_overlay_text,
body.front .promo_overlay_text,
body.front body.front-vertical .promo_overlay_text,
body.front-vertical body.front .promo_overlay_text {
  color: #d4b15e;
}
/*  Verticals Active Menu for Jackpot247
================================================================================*/
.menu-verticals li.casino a:hover,
.menu-verticals li.vegas a:hover,
.menu-verticals li.live a:hover,
.menu-verticals li.promotions a:hover {
  background-color: #a55419;
}
.menu-verticals .menu li,
.menu-verticals-content .menu li {
  opacity: 1 !important;
}
/*
site.less
-----------------------
Author:  Makan J Houston
Contributors:  -
Description:  Website styling for Jackpot247
Copyright 2015 NetplayTV plc.
*/
/*  Navigation
================================================================================*/
/*  Submenus
------------------------------------------------------------ */
.region-header .menu-getting-started li a,
.region-header .menu-promotions-submenu li a {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
  text-decoration: none;
}
.region-header .menu-getting-started li a:hover,
.region-header .menu-promotions-submenu li a:hover,
.region-header .menu-getting-started li a.active-trail,
.region-header .menu-promotions-submenu li a.active-trail {
  color: #ffffff;
}
/*  Getting-started submenu
------------------------------------------------------------ */
.casino-vertical .menu-getting-started li.active-trail,
.casino-vertical .quicktabs-tabs li.active {
  background-color: #e97d31;
}
.vegas-vertical .menu-getting-started li.active-trail,
.vegas-vertical .quicktabs-tabs li.active {
  background-color: #e97d31;
}
.live-vertical .menu-getting-started li.active-trail,
.live-vertical .quicktabs-tabs li.active {
  background-color: #e97d31;
}
/*  Promotions submenu
------------------------------------------------------------ */
.promotions-vertical .menu-promotions-submenu li.active-trail {
  background-color: #e97d31;
}
/*  Quicktabs submenu
------------------------------------------------------------ */
.quicktabs-hide {
  display: none !important;
}
/*  Content

================================================================================*/
/* Content body
------------------------------------------------------------ */
.page-content {
  padding-bottom: 50px;
}
/*  Content header
------------------------------------------------------------ */
.page-vip .content-header,
.page-games .content-header,
.page-promotions.node-type-page .content-header,
.page-tournaments .content-header,
.page-competitions .content-header,
.page-getting-started .content-header,
.page-videos .content-header {
  display: none;
}
.page-videos .quicktabs-wrapper .quicktabs-tabs li {
  padding: 0 16px;
}
/*  Content
------------------------------------------------------------ */
.page-getting-started .page-content p,
.page-getting-started .page-content li {
  line-height: 1.5em;
}
/*  Footer
================================================================================*/
.menu-footer---site-links {
  position: absolute;
  width: 100%;
  top: -50px;
}
/*  Loading Icon (Positioning Changes)
================================================================================*/
.playtech-login-to-play .loading,
.playtech-login-error-messages .loading {
  margin-left: -50px;
}
.disable-netplay-games .netplay-games.game_wrapper:hover .netplay_game_details,
.disable-playtech-games .playtech-games.game_wrapper:hover .netplay_game_details,
.vertical-games-disabled .game_wrapper:hover .netplay_game_details,
.game_wrapper.maintenance-mode:hover .netplay_game_details,
.disable-netplay-games .netplay-games.game_wrapper:hover .jackpot_spinner,
.disable-playtech-games .playtech-games.game_wrapper:hover .jackpot_spinner,
.vertical-games-disabled .game_wrapper:hover .jackpot_spinner,
.game_wrapper.maintenance-mode:hover .jackpot_spinner,
.disable-netplay-games .netplay-games.game_wrapper:hover img,
.disable-playtech-games .playtech-games.game_wrapper:hover img,
.vertical-games-disabled .game_wrapper:hover img,
.game_wrapper.maintenance-mode:hover img {
  filter: none;
  -webkit-filter: none;
}
.disable-netplay-games .netplay-games.game_wrapper .game_title,
.disable-playtech-games .playtech-games.game_wrapper .game_title,
.vertical-games-disabled .game_wrapper .game_title,
.game_wrapper.maintenance-mode .game_title,
.disable-netplay-games .netplay-games.game_wrapper .netplay_game_details,
.disable-playtech-games .playtech-games.game_wrapper .netplay_game_details,
.vertical-games-disabled .game_wrapper .netplay_game_details,
.game_wrapper.maintenance-mode .netplay_game_details,
.disable-netplay-games .netplay-games.game_wrapper .jackpot_spinner,
.disable-playtech-games .playtech-games.game_wrapper .jackpot_spinner,
.vertical-games-disabled .game_wrapper .jackpot_spinner,
.game_wrapper.maintenance-mode .jackpot_spinner,
.disable-netplay-games .netplay-games.game_wrapper .game_overlay .button,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay .button,
.vertical-games-disabled .game_wrapper .game_overlay .button,
.game_wrapper.maintenance-mode .game_overlay .button,
.disable-netplay-games .netplay-games.game_wrapper .play_for_fun,
.disable-playtech-games .playtech-games.game_wrapper .play_for_fun,
.vertical-games-disabled .game_wrapper .play_for_fun,
.game_wrapper.maintenance-mode .play_for_fun,
.disable-netplay-games .netplay-games.game_wrapper .game_overlay .more_info,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay .more_info,
.vertical-games-disabled .game_wrapper .game_overlay .more_info,
.game_wrapper.maintenance-mode .game_overlay .more_info,
.disable-netplay-games .netplay-games.game_wrapper .game_description,
.disable-playtech-games .playtech-games.game_wrapper .game_description,
.vertical-games-disabled .game_wrapper .game_description,
.game_wrapper.maintenance-mode .game_description {
  display: none;
}
.disable-netplay-games .netplay-games.game_wrapper .game_wrapper.game-status-off-air.netplay-games .game_description,
.disable-playtech-games .playtech-games.game_wrapper .game_wrapper.game-status-off-air.netplay-games .game_description,
.vertical-games-disabled .game_wrapper .game_wrapper.game-status-off-air.netplay-games .game_description,
.game_wrapper.maintenance-mode .game_wrapper.game-status-off-air.netplay-games .game_description,
.disable-netplay-games .netplay-games.game_wrapper .game_wrapper .game_overlay .more_info,
.disable-playtech-games .playtech-games.game_wrapper .game_wrapper .game_overlay .more_info,
.vertical-games-disabled .game_wrapper .game_wrapper .game_overlay .more_info,
.game_wrapper.maintenance-mode .game_wrapper .game_overlay .more_info {
  display: none;
}
.disable-netplay-games .netplay-games.game_wrapper .game_overlay,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay,
.vertical-games-disabled .game_wrapper .game_overlay,
.game_wrapper.maintenance-mode .game_overlay {
  opacity: 1;
}
.live-vertical.disable-netplay-games .netplay-games.game_wrapper .game_overlay,
.live-vertical.disable-playtech-games .playtech-games.game_wrapper .game_overlay,
.live-vertical.vertical-games-disabled .game_wrapper .game_overlay,
.live-vertical.game_wrapper.maintenance-mode .game_overlay {
  height: auto;
}
.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
.vertical-games-disabled .game_wrapper .game_overlay::before,
.game_wrapper.maintenance-mode .game_overlay::before,
.disable-netplay-games .netplay-games.game_wrapper .game_overlay::after,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay::after,
.vertical-games-disabled .game_wrapper .game_overlay::after,
.game_wrapper.maintenance-mode .game_overlay::after {
  content: " ";
}
.disable-netplay-games .netplay-games.game_wrapper .game_overlay,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay,
.vertical-games-disabled .game_wrapper .game_overlay,
.game_wrapper.maintenance-mode .game_overlay {
  background: rgba(255, 255, 255, 0.8);
}
.disable-netplay-games .netplay-games.game_wrapper .game_overlay,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay,
.vertical-games-disabled .game_wrapper .game_overlay,
.game_wrapper.maintenance-mode .game_overlay {
  font-size: 70px;
  margin: 3px;
}
.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
.vertical-games-disabled .game_wrapper .game_overlay::before,
.game_wrapper.maintenance-mode .game_overlay::before {
  content: "\e90b";
  margin: 0 auto;
  width: 90%;
  font-family: 'icomoon', san serif;
  font-size: 95%;
  line-height: 114%;
  color: #4b0b4a;
  border-bottom: solid 1px rgba(75, 11, 74, 0.5);
}
@media only screen and (max-width: 374px) and (max-height: 666px), only screen and (max-width: 666px) and (max-height: 374px) {
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before {
    font-size: 80%;
  }
}
@media only screen and (max-width: 567px) {
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before {
    font-size: 70%;
  }
}
@media only screen and (max-width: 455px) {
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before {
    font-size: 8vw;
  }
}
@media only screen and (max-width: 413px) {
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before {
    font-size: 110%;
  }
}
@media only screen and (max-width: 375px) {
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before {
    font-size: 90%;
  }
}
@media screen and (min-width: 1025px) {
  .page-games .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .page-games .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .page-games .vertical-games-disabled .game_wrapper .game_overlay::before,
  .page-games .game_wrapper.maintenance-mode .game_overlay::before,
  .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .page-games.game_wrapper.maintenance-mode .game_overlay::before {
    font-size: 100px;
    line-height: 110px;
  }
}
@media screen and (max-width: 1024px) {
  .page-games .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .page-games .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .page-games .vertical-games-disabled .game_wrapper .game_overlay::before,
  .page-games .game_wrapper.maintenance-mode .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before {
    font-size: 8vw;
    line-height: 9vw;
  }
}
@media only screen and (max-width: 567px) {
  .page-games .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .page-games .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .page-games .vertical-games-disabled .game_wrapper .game_overlay::before,
  .page-games .game_wrapper.maintenance-mode .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before {
    font-size: 7vw;
    line-height: 8vw;
  }
}
@media only screen and (max-width: 414px) {
  .page-games .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .page-games .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .page-games .vertical-games-disabled .game_wrapper .game_overlay::before,
  .page-games .game_wrapper.maintenance-mode .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .vertical-games-disabled .game_wrapper .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.vertical-games-disabled .game_wrapper .game_overlay::before,
  .game_wrapper.maintenance-mode .game_overlay::before .page-games.game_wrapper.maintenance-mode .game_overlay::before {
    font-size: 18vw;
    line-height: 19vw;
  }
}
.disable-netplay-games .netplay-games.game_wrapper .game_overlay::after,
.disable-playtech-games .playtech-games.game_wrapper .game_overlay::after,
.vertical-games-disabled .game_wrapper .game_overlay::after,
.game_wrapper.maintenance-mode .game_overlay::after {
  display: block;
  content: "Under Maintenance Back Soon";
  width: 90%;
  margin: 0 auto;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  font-size: 18px;
  color: #4b0b4a;
}
@media screen and (min-width: 1025px) {
  .tablet.page-games .disable-netplay-games .netplay-games.game_wrapper .game_overlay::after,
  .tablet.page-games .disable-playtech-games .playtech-games.game_wrapper .game_overlay::after,
  .tablet.page-games .vertical-games-disabled .game_wrapper .game_overlay::after,
  .tablet.page-games .game_wrapper.maintenance-mode .game_overlay::after,
  .tablet.page-games.disable-netplay-games .netplay-games.game_wrapper .game_overlay::after,
  .tablet.page-games.disable-playtech-games .playtech-games.game_wrapper .game_overlay::after,
  .tablet.page-games.vertical-games-disabled .game_wrapper .game_overlay::after,
  .tablet.page-games.game_wrapper.maintenance-mode .game_overlay::after {
    font-size: 30px;
    line-height: 40px;
    padding-top: 10px;
  }
}
@media screen and (max-width: 1024px) {
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::after,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::after,
  .vertical-games-disabled .game_wrapper .game_overlay::after,
  .game_wrapper.maintenance-mode .game_overlay::after {
    font-size: 2.2vw;
    padding-top: 1vw;
    line-height: 1;
  }
}
@media only screen and (max-width: 414px) {
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::after,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::after,
  .vertical-games-disabled .game_wrapper .game_overlay::after,
  .game_wrapper.maintenance-mode .game_overlay::after {
    font-size: 4.5vw;
  }
}
@media only screen and (max-width: 455px) {
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::after,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::after,
  .vertical-games-disabled .game_wrapper .game_overlay::after,
  .game_wrapper.maintenance-mode .game_overlay::after {
    font-size: 2vw;
  }
}
@media only screen and (max-width: 413px) {
  .disable-netplay-games .netplay-games.game_wrapper .game_overlay::after,
  .disable-playtech-games .playtech-games.game_wrapper .game_overlay::after,
  .vertical-games-disabled .game_wrapper .game_overlay::after,
  .game_wrapper.maintenance-mode .game_overlay::after {
    font-size: 4vw;
  }
}
.playtech-login-block form[name=playtech-login-form].registration-style .action-button.sign-in .action-button-inner {
  padding: 0.35em 0;
}
.login-modal form[name=playtech-login-form] .action-button.sign-in .button-styles {
  top: -0.1em;
}
.login-modal form[name=playtech-login-form] .action-button.sign-in .action-button-inner {
  padding: 0.45em 1em;
}
.responsive-header-buttons .action-button.sign-in {
  margin: 0.6em;
  display: inline-block;
}
.responsive-header-buttons .action-button.sign-in .action-button-inner {
  padding: 0.5em 0.92em;
}
.page-game-info .game_launch_buttons .action-button .action-button-inner {
  padding: 0.57em 1.43em;
}
.login-modal .login-overlay-content.login-error .error_message {
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 567px) {
  .login-modal form[name=playtech-login-form] #forgotten-details-link,
  .login-modal .login-overlay-content.login-error #forgotten-details-link {
    top: -5.5em;
  }
  .login-modal form[name=playtech-login-form] .action-button.sign-in {
    margin-top: 2em;
  }
}
.modal .forgotten-password-popup hr {
  margin-bottom: 0.5em;
}
.modal .forgotten-password-popup .sign-in {
  width: 80%;
  margin: 0 auto;
}
.modal .forgotten-password-popup .sign-in .button-styles .action-button-inner {
  font-size: 14px;
  padding: 0.2em 0;
}
@media only screen and (max-width: 767px) {
  .page-game-info .game_launch_buttons .button.play-for-real .action-button-inner,
  .page-game-info .game_launch_buttons .button.play-for-fun .action-button-inner {
    padding: 0.4em 1em;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .game_launch_buttons .button.play-for-real,
  .page-game-info .game_launch_buttons .button.play-for-fun {
    padding: 0;
  }
  .page-game-info .game_launch_buttons .button.play-for-real .action-button-inner,
  .page-game-info .game_launch_buttons .button.play-for-fun .action-button-inner {
    padding: .2em 1em;
  }
  .page-game-info .game_launch_buttons .button.play-for-real {
    float: left;
    margin-left: 7%;
    width: 58%;
  }
  .page-game-info .game_launch_buttons .button.play-for-fun {
    margin-top: 0.5em;
  }
  .page-game-info .game_launch_buttons .button.play-for-fun .action-button-inner {
    font-size: 14px;
  }
}
form[name=forms-change-password-form].form-style button.action-button.register {
  margin: 0 0 0 17.5em;
  width: 40%;
}
form[name=forms-forgotten-details-form].form-style button.action-button.register {
  margin: 0 0 0 1em;
  width: 48%;
}
@media screen and (max-width: 1024px) {
  form[name=forms-change-password-form].form-style button.action-button.register,
  form[name=forms-forgotten-details-form].form-style button.action-button.register {
    margin: 0 auto;
    width: 60%;
  }
}
@media only screen and (max-width: 413px) {
  form[name=forms-change-password-form].form-style button.action-button.register,
  form[name=forms-forgotten-details-form].form-style button.action-button.register {
    width: 90%;
  }
}
form[name=forms-change-password-form].form-style button.action-button.register .action-button-inner,
form[name=forms-forgotten-details-form].form-style button.action-button.register .action-button-inner {
  padding: 0.3em 0;
  font-size: 14px;
}
@media screen and (max-width: 1024px) {
  form[name=forms-change-password-form].form-style button.action-button.register .action-button-inner,
  form[name=forms-forgotten-details-form].form-style button.action-button.register .action-button-inner {
    padding: 0.3em 0;
  }
}
@media screen and (max-width: 1024px) {
  .page-register .action-button.register {
    width: 100%;
  }
}
.page-register .action-button.register .button-styles {
  border: none;
}
.page-register .action-button.register .action-button-inner {
  padding: 0.4em 3em;
  font-size: 24px;
  font-weight: 800;
}
.wrapper_overlay .play_for_real .action-button-inner {
  padding: 0.6em;
}
.region-header {
  position: relative;
  height: 110px;
}
@media screen and (min-width: 1025px) {
  body.tablet .region-header {
    height: 65px;
  }
}
@media screen and (max-width: 1024px) {
  .region-header {
    position: fixed;
    top: 0;
    width: 100%;
    background: #4b0a4a;
  }
}
@media only screen and (max-width: 567px) {
  .region-header {
    height: 50px;
  }
}
@media only screen and (max-width: 413px) {
  .region-header {
    height: 50px;
  }
}
@media only screen and (max-width: 413px) {
  .region-header .site-logo {
    margin-top: 6px;
  }
  .region-header .site-logo img {
    margin-left: 30px;
  }
}
@media screen and (min-width: 1025px) {
  .tablet .region-header,
  .smartphone .region-header {
    height: 65px;
    top: 0;
    width: 100%;
  }
}
@media screen and (min-width: 1025px) {
  .tablet .region-header {
    background: #4b0a4a;
    border-bottom: solid 1px #fff;
  }
}
@media screen and (max-width: 1024px) {
  .page-register .region-header {
    z-index: 5;
  }
}
.page-reset-password .region-header,
.page-change-password .region-header,
.page-register .region-header,
.page-forgotten-details .region-header,
.page-register-variation1 .region-header {
  height: 110px;
}
.page-reset-password .region-header .responsive-header-buttons .account-button,
.page-change-password .region-header .responsive-header-buttons .account-button,
.page-register .region-header .responsive-header-buttons .account-button,
.page-forgotten-details .region-header .responsive-header-buttons .account-button,
.page-register-variation1 .region-header .responsive-header-buttons .account-button {
  display: none;
}
@media only screen and (max-width: 413px) {
  .page-reset-password .region-header .site-logo img,
  .page-change-password .region-header .site-logo img,
  .page-register .region-header .site-logo img,
  .page-forgotten-details .region-header .site-logo img,
  .page-register-variation1 .region-header .site-logo img {
    margin-left: 0;
  }
}
@media screen and (max-width: 1024px) {
  .page-reset-password .region-header,
  .page-change-password .region-header,
  .page-register .region-header,
  .page-forgotten-details .region-header,
  .page-register-variation1 .region-header,
  .region-header {
    height: 50px;
  }
}
.header-bg {
  position: relative;
  background: #4b0a4a;
  border-bottom: solid 1px #fff;
  z-index: 4000;
}
@media only screen and (max-width: 767px) {
  .responsive-header-buttons {
    width: auto;
  }
}
.responsive-header-buttons .account-button {
  font-weight: bold;
  background: #ec018c;
  color: #fff;
  border: solid 2px #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 700;
}
.responsive-header-buttons .account-button:hover {
  background-color: #ff53b9;
}
.responsive-header-buttons .account-button.highlighted {
  background-color: rgba(236, 1, 140, 0.5);
}
.responsive-header-buttons .account-button:hover {
  text-decoration: none;
}
.responsive-header-buttons .account-button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.responsive-header-buttons .account-button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
@media screen and (min-width: 1025px) {
  .tablet .responsive-header-buttons .account-button,
  .smartphone .responsive-header-buttons .account-button {
    padding: 6px 12px;
  }
}
@media screen and (max-width: 1024px) {
  .responsive-header-buttons .account-button {
    padding: 5px 6px;
    font-size: 13px;
    max-width: 100px;
  }
}
@media only screen and (max-width: 413px) {
  .responsive-header-buttons .account-button {
    margin-top: 8px;
    margin-left: 8px;
    padding: 5px 6px;
  }
}
.back-button a,
.chatModalClose {
  padding: 0;
}
.back-button a i,
.chatModalClose i {
  font-size: 36px;
}
@media screen and (min-width: 1025px) {
  .tablet .back-button a i,
  .smartphone.back-button a i {
    font-size: 30px;
  }
}
@media screen and (max-width: 1024px) {
  .back-button a i,
  .chatModalClose i {
    font-size: 30px;
    padding: 6px 12px;
  }
}
@media only screen and (max-width: 666px) and (max-height: 374px) and (orientation: landscape) {
  .back-button a i,
  .chatModalClose i {
    font-size: 36px;
    padding: 6px 12px;
  }
}
@media only screen and (max-width: 567px) {
  .back-button a i,
  .chatModalClose i {
    font-size: 30px;
    padding: 6px 12px;
  }
}
@media only screen and (max-width: 413px) {
  .back-button a i,
  .chatModalClose i {
    font-size: 30px;
    padding: 9px 12px;
  }
}
.responsive-menu-button a.header-button.menu-swipe.open {
  background-color: #9051a0;
}
@media screen and (min-width: 1025px) {
  .responsive-menu-button .icon-menu {
    font-size: 45px;
    padding: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .responsive-menu-button .icon-menu {
    font-size: 28px;
  }
}
@media only screen and (max-width: 455px) {
  .responsive-menu-button .icon-menu {
    font-size: 25px;
  }
}
@media only screen and (max-width: 413px) {
  .responsive-menu-button .icon-menu {
    padding: 7px 8px;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .responsive-menu-button .icon-menu {
    padding: 9px 10px;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .responsive-menu-button .header-button {
    padding: 0;
  }
}
@media only screen and (max-width: 567px) {
  .responsive-menu-button a {
    padding: 4px 0;
  }
}
@media only screen and (orientation: landscape) and (min-aspect-ratio: 13/9) {
  .responsive-menu-button a {
    padding: 8px 10px;
  }
}
@media only screen and (min-width: 768px) {
  .responsive-menu-button a {
    padding: 9px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .responsive-menu-button a {
    padding: 9px 4px;
  }
}
@media screen and (max-width: 1024px) {
  .responsive-menu-button .icon-menu {
    font-size: 25px;
    padding: 4px 6px;
  }
}
@media only screen and (max-width: 413px) {
  .responsive-menu-button .icon-menu {
    font-size: 28px;
  }
}
@media screen and (max-width: 1024px) {
  .region-responsive-lateral-menu {
    width: 320px;
  }
}
.region-responsive-lateral-menu > ul.menu li.expanded .menu li a {
  background-color: #4b0a4a;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
}
@media screen and (min-width: 1025px) {
  .region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button {
    display: block;
    float: none;
    margin-right: 0;
    font-size: 18px;
    font-weight: bold;
  }
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu {
  padding: 0 15px 15px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen,
.region-responsive-lateral-menu .menu-responsive-flex-menu .js-submenu-getting,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-link,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-getting {
  background-color: #9051a0;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul ul,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul ul,
.region-responsive-lateral-menu .menu-responsive-flex-menu .js-submenu-getting ul ul,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-link ul ul,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-getting ul ul {
  background-color: #4b0a4a;
}
@media only screen and (max-width: 767px) {
  .region-responsive-lateral-menu .responsive-header-buttons {
    width: auto;
  }
}
.region-responsive-lateral-menu .responsive-header-buttons .account-button {
  font-weight: bold;
  background: #ec018c;
  color: #fff;
  border: solid 2px #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 700;
}
.region-responsive-lateral-menu .responsive-header-buttons .account-button:hover {
  background-color: #ff53b9;
}
.region-responsive-lateral-menu .responsive-header-buttons .account-button.highlighted {
  background-color: rgba(236, 1, 140, 0.5);
}
.region-responsive-lateral-menu .responsive-header-buttons .account-button:hover {
  text-decoration: none;
}
.region-responsive-lateral-menu .responsive-header-buttons .account-button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.region-responsive-lateral-menu .responsive-header-buttons .account-button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
@media screen and (min-width: 1025px) {
  .tablet .region-responsive-lateral-menu .responsive-header-buttons .account-button,
  .smartphone .region-responsive-lateral-menu .responsive-header-buttons .account-button {
    font-size: 20px;
    padding: 6px 12px;
  }
}
@media screen and (max-width: 1024px) {
  .region-responsive-lateral-menu .responsive-header-buttons .account-button {
    padding: 5px 6px;
    font-size: 13px;
    max-width: 100px;
  }
}
@media only screen and (max-width: 413px) {
  .region-responsive-lateral-menu .responsive-header-buttons .account-button {
    margin-top: 8px;
    margin-left: 8px;
    padding: 5px 6px;
  }
}
.region-responsive-lateral-menu .menu-responsive-flex-menu .js-submenu-getting:hover::after,
.region-responsive-lateral-menu ul li a:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-link:hover:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul .js-submenu-link:hover:after {
  -ms-transform: rotate(0deg) translate(0);
  -webkit-transform: rotate(0deg) translate(0);
  transform: rotate(0deg) translate(0);
}
@media screen and (min-width: 1025px) {
  .region-responsive-lateral-menu .menu-responsive-flex-menu li a,
  .region-responsive-lateral-menu .menu-responsive-flex-menu-authen li a,
  .region-responsive-lateral-menu .menu-responsive-flex-menu li ul li a,
  .region-responsive-lateral-menu .menu-responsive-flex-menu-authen li ul li a {
    font-weight: bold !important;
    font-size: 20px;
  }
}
.region-responsive-lateral-menu .menu-responsive-flex-menu li.expanded + li::before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen li.expanded + li::before {
  border: none !important;
}
@media screen and (min-width: 1025px) {
  .region-responsive-lateral-menu .menu-responsive-flex-menu li::before,
  .region-responsive-lateral-menu .menu-responsive-flex-menu-authen li::before,
  .region-responsive-lateral-menu .menu-responsive-flex-menu li.expanded::after,
  .region-responsive-lateral-menu .menu-responsive-flex-menu-authen li.expanded::after {
    content: " ";
    display: block;
    margin: 0 15px;
    width: auto;
    height: 1px;
    border-bottom: solid 1px #ba88b9;
  }
}
@media screen and (min-width: 1025px) {
  .region-responsive-lateral-menu .menu-responsive-flex-menu li.first::before,
  .region-responsive-lateral-menu .menu-responsive-flex-menu-authen li.first::before {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .region-responsive-lateral-menu .menu-responsive-flex-menu li a,
  .region-responsive-lateral-menu .menu-responsive-flex-menu-authen li a {
    float: none;
    background: transparent;
    border: none;
  }
}
@media screen and (min-width: 1025px) {
  .region-responsive-lateral-menu .menu-responsive-flex-menu li > a,
  .region-responsive-lateral-menu .menu-responsive-flex-menu-authen li > a {
    text-indent: 16px;
  }
}
.region-responsive-lateral-menu .menu-responsive-flex-menu .js-submenu-getting:after {
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
}
@media screen and (min-width: 1025px) {
  .tablet .menu-verticals,
  .smartphone .menu-verticals {
    position: static;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .menu-verticals {
    top: 52px;
  }
}
.menu-verticals .menu li.promotions:hover,
.menu-verticals .menu li.promotions.selected,
.menu-verticals-content .menu li.promotions:hover,
.menu-verticals-content .menu li.promotions.selected {
  background-color: #ec018c;
  color: #f3e5f4;
}
.menu-verticals,
.menu-items {
  position: static;
  width: 100%;
  text-transform: uppercase;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
}
.menu-verticals.pos-first,
.menu-items.pos-first {
  z-index: 100;
}
.menu-verticals > ul.menu > li:not(.search_box),
.menu-items > ul.menu > li:not(.search_box),
.menu-verticals ul.menu > li:not(.search_box),
.menu-items ul.menu > li:not(.search_box),
.menu-verticals-content ul.menu > li:not(.search_box) {
  border-left: none;
  line-height: normal;
}
.menu-verticals > ul.menu > li:not(.search_box),
.menu-items > ul.menu > li:not(.search_box),
.menu-verticals ul.menu > li:not(.search_box),
.menu-items ul.menu > li:not(.search_box),
.menu-verticals > ul.menu > li:not(.search_box) > a,
.menu-items > ul.menu > li:not(.search_box) > a,
.menu-verticals ul.menu > li:not(.search_box) > a,
.menu-items ul.menu > li:not(.search_box) > a,
.menu-verticals-content ul.menu > li:not(.search_box),
.menu-verticals-content ul.menu > li:not(.search_box) > a {
  width: auto;
  font-weight: 800;
}
.menu-verticals > ul.menu > li:not(.search_box) > a,
.menu-items > ul.menu > li:not(.search_box) > a,
.menu-verticals ul.menu > li:not(.search_box) > a,
.menu-items ul.menu > li:not(.search_box) > a,
.menu-verticals > ul.menu > li:not(.search_box)::after,
.menu-items > ul.menu > li:not(.search_box)::after,
.menu-verticals ul.menu > li:not(.search_box)::after,
.menu-items ul.menu > li:not(.search_box)::after,
.menu-verticals-content ul.menu > li:not(.search_box) > a,
.menu-verticals-content ul.menu > li:not(.search_box)::after {
  float: left !important;
}
.menu-verticals > ul.menu > li:not(.search_box) > a,
.menu-items > ul.menu > li:not(.search_box) > a,
.menu-verticals ul.menu > li:not(.search_box) > a,
.menu-items ul.menu > li:not(.search_box) > a,
.menu-verticals-content ul.menu > li:not(.search_box) > a {
  text-shadow: 0 0 0 transparent;
  padding: 15px 20px 19px;
  font-size: 15px;
}
@media only screen and (max-width: 827px) {
  .menu-verticals > ul.menu > li:not(.search_box) > a,
  .menu-items > ul.menu > li:not(.search_box) > a,
  .menu-verticals ul.menu > li:not(.search_box) > a,
  .menu-items ul.menu > li:not(.search_box) > a,
  .menu-verticals-content ul.menu > li:not(.search_box) > a {
    font-size: 13px;
  }
}
.menu-verticals > ul.menu > li:not(.search_box),
.menu-items > ul.menu > li:not(.search_box),
.menu-verticals ul.menu > li:not(.search_box),
.menu-items ul.menu > li:not(.search_box),
.menu-verticals > ul.menu > li:not(.search_box) > li .menu,
.menu-items > ul.menu > li:not(.search_box) > li .menu,
.menu-verticals ul.menu > li:not(.search_box) > li .menu,
.menu-items ul.menu > li:not(.search_box) > li .menu,
.menu-verticals-content ul.menu > li:not(.search_box),
.menu-verticals-content ul.menu > li:not(.search_box) > li .menu {
  border: none;
  height: auto;
  line-height: normal;
  margin-top: 0;
}
.menu-items {
  background-color: #ec018c;
}
@media only screen and (max-width: 767px) {
  .menu-items > ul.menu li a,
  .menu-items ul.menu li a,
  .menu-items > ul.menu > li a,
  .menu-items ul.menu > li a,
  .menu-items > ul.menu li + li a,
  .menu-items ul.menu li + li a,
  .menu-items > ul.menu li a,
  .menu-items ul.menu li a,
  .menu-items > ul.menu li,
  .menu-items ul.menu li,
  .menu-items > ul.menu > li,
  .menu-items ul.menu > li,
  .menu-items > ul.menu li + li,
  .menu-items ul.menu li + li,
  .menu-items > ul.menu li,
  .menu-items ul.menu li {
    width: 100%;
    font-size: 17px;
  }
}
.menu-items ul.menu {
  margin: 0;
  padding: 0;
  text-align: center;
  list-style: none;
  border: none;
}
.menu-items ul.menu li a.disabled {
  background: #b6afb6;
  color: #dcdcde;
}
.menu-items ul.menu > li:not(.search_box) a {
  color: #f3e5f4;
}
.menu-items ul.menu > li:not(.search_box) > a:hover,
.menu-items ul.menu > li:not(.search_box) > a:focus {
  text-decoration: none;
}
.menu-items ul.menu > li:not(.search_box) > a:hover,
.menu-items ul.menu > li:not(.search_box) > a.active,
.menu-items ul.menu > li:not(.search_box).selected a {
  background-color: #f3e5f4;
  color: #ec018c;
}
@media only screen and (max-width: 767px) {
  .menu-items ul.menu > li:not(.search_box) > a:hover,
  .menu-items ul.menu > li:not(.search_box) > a.active,
  .menu-items ul.menu > li:not(.search_box).selected a {
    background-color: #ec018c;
    color: #f3e5f4;
  }
}
.menu-items ul.menu > li:not(.search_box):before,
.menu-items ul.menu > li:not(.search_box):after,
.menu-items ul.menu > li:not(.search_box):hover:after,
.menu-items ul.menu > li:not(.search_box):before:after {
  display: none;
}
@media only screen and (max-width: 767px) {
  .menu-items ul.menu > li:not(.search_box):first-child a::after {
    display: inline;
    float: right;
    font-family: 'icomoon', san serif;
    content: '\e608';
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transition: 0.2s ease-in all;
  }
}
.menu-items ul.menu > li,
.menu-items ul.menu li {
  display: inline-block;
  overflow: hidden;
  margin-left: -6px;
}
.promotions-vertical .menu-items ul.menu > li,
.promotions-vertical .menu-items ul.menu li {
  margin-bottom: -12px;
}
@media only screen and (max-width: 767px) {
  .promotions-vertical .menu-items ul.menu > li,
  .promotions-vertical .menu-items ul.menu li {
    margin-bottom: 0;
  }
}
.menu-items ul.menu.expanded > li:first-child a::after {
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
}
.menu-items.long-tabs {
  position: relative;
}
.menu-items.long-tabs .search_box {
  display: none;
}
body.vn-bingo.page-games .menu-items.long-tabs .search_box {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  background: transparent;
  margin-top: 0;
}
@media only screen and (max-width: 767px) {
  .menu-items.long-tabs {
    background-color: #4b0a4a;
  }
}
@media screen and (max-width: 1024px) {
  .menu-items.long-tabs ul.menu {
    width: 100%;
  }
  .menu-items.long-tabs ul.menu li {
    font-size: 14px;
  }
  .menu-items.long-tabs ul.menu li a {
    padding: 1em 2em;
    text-align: center;
  }
  .menu-items.long-tabs ul.menu li a.open_search {
    padding: 0.5em;
    right: 1%;
  }
  .menu-items.long-tabs ul.menu li {
    text-align: center;
  }
}
@media only screen and (max-width: 850px) and (orientation: portrait) {
  .menu-items.long-tabs ul.menu {
    width: 100%;
  }
  .menu-items.long-tabs ul.menu li a {
    padding: 1em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .menu-items.long-tabs ul.menu li,
  .menu-items.long-tabs ul.menu {
    display: block;
  }
  .menu-items.long-tabs > ul.menu > li,
  .menu-items.long-tabs ul.menu li {
    margin-left: 0;
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .menu-items {
    overflow: hidden;
  }
  .menu-items ul.menu,
  .menu-items ul.menu li,
  .menu-items ul.menu li a {
    display: block;
    width: 100% !important;
  }
  .menu-items ul.menu.games_menu {
    height: auto;
  }
  .menu-items > ul.menu li,
  .menu-items ul.menu.games_menu li {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .menu-items > ul.menu li a,
  .menu-items ul.menu.games_menu li a {
    box-sizing: border-box;
    background-color: #4b0a4a;
  }
  .menu-items > ul.menu li.selected a,
  .menu-items ul.menu.games_menu li.selected a,
  .menu-items > ul.menu li a:hover,
  .menu-items ul.menu.games_menu li a:hover {
    background-color: #ec018c;
    color: #f3e5f4;
  }
}
@media only screen and (max-width: 767px) {
  .vn-bingo .menu-items.long-tabs .search_box {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .js .menu-items.long-tabs ul.menu li {
    position: absolute;
    left: -999999px;
  }
}
.menu-verticals {
  background-color: #f3e5f4;
}
.menu-verticals .menu li:not(:first-child),
.menu-verticals-content .menu li:not(:first-child) {
  box-shadow: 0 0 0 transparent;
}
body.smartphone .menu-verticals .menu li,
body.tablet .menu-verticals .menu li,
body.smartphone .menu-verticals-content .menu li,
body.tablet .menu-verticals-content .menu li {
  width: auto !important;
}
body.smartphone .menu-verticals .menu li.expanded ul.menu,
body.tablet .menu-verticals .menu li.expanded ul.menu,
body.smartphone .menu-verticals-content .menu li.expanded ul.menu,
body.tablet .menu-verticals-content .menu li.expanded ul.menu {
  display: none;
}
@media only screen and (max-width: 767px) {
  .menu-verticals {
    display: none;
  }
}
.menu-verticals > ul.menu > li > a,
.menu-verticals ul.menu > li > a,
.menu-verticals > ul.menu > li + li > a,
.menu-verticals ul.menu > li + li > a,
.menu-verticals-content ul.menu > li > a,
.menu-verticals-content ul.menu > li + li > a {
  padding: 14px 20px 14px;
  font-size: 15px;
}
.menu-verticals > ul.menu {
  background: transparent;
  border-bottom: solid 1px #f3e5f4;
  border-bottom-color: #f3e5f4;
}
.menu-verticals > ul.menu li.active-trail,
.menu-verticals > ul.menu li.active-trail > a {
  background-color: #ec018c;
  color: #f3e5f4;
}
.menu-verticals > ul.menu > li {
  margin-left: -1px;
}
.menu-verticals > ul.menu > li > a.active {
  margin-right: -1px;
}
.menu-verticals > ul.menu > li::after {
  display: block;
  content: " ";
  height: 16px;
  margin-top: 14px;
  border-right: solid 1px #ec018c;
}
.menu-verticals > ul.menu > li.expanded {
  position: relative;
}
.menu-verticals > ul.menu > li.expanded:hover > ul.menu {
  visibility: visible;
  transition-delay: 0s;
  box-shadow: 0px 5px 10px -1px rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 1024px) {
  .menu-verticals > ul.menu > li.expanded:hover > ul.menu {
    display: none;
  }
}
.menu-verticals > ul.menu,
.menu-verticals > ul.menu > li .menu {
  border: none;
  height: auto;
  line-height: normal;
  margin-top: 0;
}
.menu-verticals > ul.menu > li.expanded > ul.menu {
  visibility: hidden;
  position: absolute;
  width: 185px;
  left: 0;
  cursor: pointer;
  top: 44px;
  z-index: 100;
  background-color: transparent;
}
.menu-verticals > ul.menu > li.expanded > ul.menu li {
  line-height: normal;
  box-shadow: 0 0 0 transparent;
}
.menu-verticals > ul.menu > li.expanded > ul.menu li.active-trail,
.menu-verticals > ul.menu > li.expanded > ul.menu li.active-trail > a {
  background-color: #ec018c;
  color: #f3e5f4;
}
.menu-verticals > ul.menu > li.expanded > ul.menu .icon {
  display: none;
}
.menu-verticals > ul.menu > li.expanded > ul.menu > li {
  display: block;
  float: left;
  width: 185px;
}
.menu-verticals > ul.menu > li.expanded > ul.menu > li.expanded ul.menu {
  background-color: #4b0a4a;
}
.menu-verticals > ul.menu > li.expanded > ul.menu > li.first {
  border-top: 2px solid #ec018c;
}
.menu-verticals > ul.menu > li.expanded > ul.menu > li.last::after {
  cursor: hand;
  background-color: transparent;
  display: block;
}
.menu-verticals > ul.menu > li.expanded > ul.menu > li a {
  display: block;
  width: 100%;
  text-transform: capitalize;
  text-align: left;
  padding: 5px 0;
  text-indent: 20px;
  font-size: 14px;
  font-weight: 100;
  text-shadow: 0 0 0 transparent;
  font-family: Arial, sans-serif;
  background-color: #f3e5f4;
  color: #ec018c;
}
.menu-verticals > ul.menu > li.expanded > ul.menu > li a:hover {
  background-color: #ec018c;
  color: #f3e5f4;
}
.menu-verticals > ul.menu > li > a {
  color: #ec018c;
}
.menu-verticals > ul.menu > li > a:hover,
.menu-verticals > ul.menu > li > a.active {
  background-color: #ec018c;
  color: #f3e5f4;
}
.menu-verticals > ul.menu > li:hover {
  background-color: #ec018c;
}
.menu-verticals > ul.menu > li:hover > a {
  color: #f3e5f4;
}
.menu-verticals > ul.menu > li:hover::after {
  border-right: solid 1px  #ec018c;
}
.menu-verticals > ul.menu > li.last::after {
  border-right: solid 1px #f3e5f4;
}
.menu-verticals > ul.menu li.last.active-trail::after {
  border-right: solid 1px  #ec018c;
}
.menu-verticals > ul.menu > li:hover::after {
  border-right: solid 1px #ec018c;
}
.menu-verticals > ul.menu > li > a {
  text-shadow: 0 0 0 transparent;
  color: #ec018c;
  padding: 14px 20px 14px;
  font-size: 15px;
}
.menu-verticals > ul.menu > li > a:hover,
.menu-verticals > ul.menu > li > a.active {
  background-color: #ec018c;
  color: #f3e5f4;
}
.menu-verticals > li:not(.search_box),
.menu-verticals > ul.menu > li:not(.search_box),
.menu-verticals > ul.menu > li:not(.search_box) {
  height: 47px;
}
.menu-verticals > li.icon:not(.search_box),
.menu-verticals > ul.menu > li.icon:not(.search_box),
.menu-verticals > ul.menu > li.icon:not(.search_box) {
  float: right !important;
  padding: 5px 5px 0 5px;
  line-height: 45px;
  height: auto;
}
.menu-verticals > li.icon:not(.search_box):hover,
.menu-verticals > ul.menu > li.icon:not(.search_box):hover,
.menu-verticals > ul.menu > li.icon:not(.search_box):hover {
  background-color: transparent;
}
.menu-verticals > li.icon:not(.search_box) a,
.menu-verticals > ul.menu > li.icon:not(.search_box) a,
.menu-verticals > ul.menu > li.icon:not(.search_box) a {
  padding: 0;
  font-size: 0;
  display: block;
  overflow: hidden;
  width: 35px;
  height: 35px;
}
.menu-verticals > li.icon:not(.search_box)::after,
.menu-verticals > ul.menu > li.icon:not(.search_box)::after,
.menu-verticals > ul.menu > li.icon:not(.search_box)::after {
  display: none;
}
.menu-verticals > li.fb a,
.menu-verticals > ul.menu > li.fb a,
.menu-verticals > ul.menu > li.fb a {
  background: url('/assets/buttons/social-sprites.png') top center no-repeat;
}
.menu-verticals > li.fb a:hover,
.menu-verticals > ul.menu > li.fb a:hover,
.menu-verticals > ul.menu > li.fb a:hover {
  background-position: center -40px;
}
.menu-verticals > li.ig a,
.menu-verticals > ul.menu > li.ig a,
.menu-verticals > ul.menu > li.ig a {
  background: url('/assets/buttons/social-sprites.png') center -80px no-repeat;
}
.menu-verticals > li.ig a:hover,
.menu-verticals > ul.menu > li.ig a:hover,
.menu-verticals > ul.menu > li.ig a:hover {
  background-position: center -120px;
}
.menu-verticals > li.twit a,
.menu-verticals > ul.menu > li.twit a,
.menu-verticals > ul.menu > li.twit a {
  background: url('/assets/buttons/social-sprites.png') center -160px no-repeat;
}
.menu-verticals > li.twit a:hover,
.menu-verticals > ul.menu > li.twit a:hover,
.menu-verticals > ul.menu > li.twit a:hover {
  background-position: center -200px;
}
.menu-verticals > ul.menu > li:not(.search_box) > a {
  line-height: 47px;
  padding: 0 20px;
}
.menu-verticals > ul.menu > li.icon > a {
  padding: 0;
}
@media screen and (max-width: 1024px) {
  .basic-page {
    padding-top: 50px;
  }
}
@media screen and (min-width: 1025px) {
  .tablet .basic-page,
  .smartphone .basic-page {
    padding-top: 65px;
  }
}
@media only screen and (max-width: 374px) and (max-height: 666px) and (max-width: 414px), only screen and (max-width: 666px) and (max-height: 374px) and (max-width: 414px) {
  .standalone .basic-page {
    padding-top: 60px !important;
  }
}
.playtech-login-block form[name="playtech-login-form"] {
  top: 10px;
  right: 105px;
}
.playtech-login-block form[name="playtech-login-form"] .register,
.playtech-login-block form[name="playtech-login-form"] input[type="submit"] {
  height: 24px;
  line-height: 24px;
  border-radius: 0;
  font-weight: bold;
}
.playtech-login-block form[name="playtech-login-form"] input[type="text"],
.playtech-login-block form[name="playtech-login-form"] input[type="password"] {
  width: 216px;
}
.playtech-login-block form[name="playtech-login-form"] input[type="text"],
.playtech-login-block form[name="playtech-login-form"] input[type="password"],
.playtech-login-block form[name="playtech-login-form"] input[type="text"] *::-webkit-input-placeholder,
.playtech-login-block form[name="playtech-login-form"] input[type="password"] *::-webkit-input-placeholder,
.playtech-login-block form[name="playtech-login-form"] input[type="text"] *:-moz-placeholder,
.playtech-login-block form[name="playtech-login-form"] input[type="password"] *:-moz-placeholder,
.playtech-login-block form[name="playtech-login-form"] input[type="text"] *::-moz-placeholder,
.playtech-login-block form[name="playtech-login-form"] input[type="password"] *::-moz-placeholder,
.playtech-login-block form[name="playtech-login-form"] input[type="text"] *:-ms-input-placeholder,
.playtech-login-block form[name="playtech-login-form"] input[type="password"] *:-ms-input-placeholder {
  color: #4b0b4a;
}
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link {
  top: 70px;
  font-size: 12px;
  left: 0;
  line-height: 30px;
  color: #fff;
}
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link.disabled {
  color: rgba(243, 229, 244, 0.9);
}
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link:hover {
  color: rgba(243, 229, 244, 0.9);
}
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link:hover,
.playtech-login-block form[name="playtech-login-form"] #forgotten-details-link:active {
  text-decoration: none;
}
.playtech-login-block form[name="playtech-login-form"] input[type="text"],
.playtech-login-block form[name="playtech-login-form"] input[type="password"] {
  border: 0 none;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  font-size: 11px;
  outline: none;
}
body.vn-bingo .playtech-login-block form[name="playtech-login-form"] input[type="text"],
body.vn-bingo .playtech-login-block form[name="playtech-login-form"] input[type="password"] {
  background: #f3ecf4;
  color: #4b0b4a;
}
.playtech-login-block form[name="playtech-login-form"] input[type="text"]:focus,
.playtech-login-block form[name="playtech-login-form"] input[type="password"]:focus {
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 9px;
}
.playtech-login-block form[name="playtech-login-form"] .register {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
}
.playtech-login-block form[name="playtech-login-form"] .register:hover {
  background: #c1f018;
}
.playtech-login-block form[name="playtech-login-form"] .register:active {
  background-color: #86a711;
}
.playtech-login-block form[name="playtech-login-form"] .register:hover {
  text-decoration: none;
}
.playtech-login-block form[name="playtech-login-form"] .register.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.playtech-login-block form[name="playtech-login-form"] .register.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"] {
  font-weight: bold;
  background: #ec018c;
  color: #fff;
  border: solid 2px #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 700;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"]:hover {
  background-color: #ff53b9;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"].highlighted {
  background-color: rgba(236, 1, 140, 0.5);
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"]:hover {
  text-decoration: none;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"].disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.playtech-login-block form[name="playtech-login-form"] input[type="submit"].disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.vn-bingo .playtech-login-block form[name="playtech-login-form"] ::-webkit-input-placeholder,
.vn-bingo .playtech-login-block form[name="playtech-login-form"] :-moz-placeholder,
.vn-bingo .playtech-login-block form[name="playtech-login-form"] ::-moz-placeholder,
.vn-bingo .playtech-login-block form[name="playtech-login-form"] :-ms-input-placeholder {
  color: #4b0b4a;
}
.playtech-login-block form[name="playtech-login-form"] ::-webkit-input-placeholder {
  color: #4b0b4a;
}
.playtech-login-block form[name="playtech-login-form"] :-moz-placeholder {
  color: #4b0b4a;
}
.playtech-login-block form[name="playtech-login-form"] ::-moz-placeholder {
  color: #4b0b4a;
}
.playtech-login-block form[name="playtech-login-form"] :-ms-input-placeholder {
  color: #4b0b4a;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li a:hover::after {
  content: "";
}
.region-responsive-lateral-menu .menu-responsive-flex-menu > ul.menu > li.expanded > a:after {
  content: "\e906";
  position: absolute;
  right: 20px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu > ul.menu > .expanded > a:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen > ul.menu > .expanded > a:after {
  padding-top: 0;
  content: "\e604";
}
.region-responsive-lateral-menu .menu-responsive-flex-menu > ul.menu > .expanded.parent-open > a:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen > ul.menu > .expanded.parent-open > a:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu > ul.menu > .expanded > a:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen > ul.menu > .expanded > a:after {
  line-height: 20px;
  font-size: 20px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu > ul.menu > .expanded.parent-open > a:after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen > ul.menu > .expanded.parent-open > a:after {
  content: "\e905";
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li a,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li a {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li > a:hover::before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li > a:hover::before,
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li > a::before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li > a::before {
  content: "\e907";
  font-size: 10px;
  line-height: 10px;
  margin-right: 10px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li > a:hover::before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li > a:hover::before,
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li > a::before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li > a::before,
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li > a:hover::after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li > a:hover::after,
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li > a::after,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li > a::after {
  font-family: 'icomoon', san serif;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li > a:hover::before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li > a:hover::before {
  color: #fefefc;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li > a,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li > a {
  padding: 13px 0 13px 10px;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li > a::before,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li > a::before {
  color: transparent;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li a,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li a {
  background-color: #9051a0;
  font-weight: 800;
}
.region-responsive-lateral-menu .menu-responsive-flex-menu ul li ul a,
.region-responsive-lateral-menu .menu-responsive-flex-menu-authen ul li ul a {
  background-color: #4b0a4a;
  text-indent: 20px;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu {
  background-color: #9051a0;
}
.region-responsive-lateral-menu .responsive-accounts-lateral-menu .register-button {
  margin: 0;
  display: block;
  width: auto;
  height: auto;
  float: none;
  font-size: 20px;
  font-weight: 800;
  margin-top: 10px;
  padding: 3px 10px;
  text-transform: uppercase;
  background-color: #acd517;
  border: 3px solid #fff;
  color: #fff;
}
@media screen and (min-width: 1025px) {
  .region-responsive-lateral-menu,
  #overlay {
    top: 65px;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet .region-responsive-lateral-menu,
  body.tablet #overlay {
    top: 50px;
  }
}
@media only screen and (max-width: 567px) {
  .region-responsive-lateral-menu,
  #overlay {
    top: 50px;
  }
}
.icon-menu::before {
  content: "\e900";
}
.icon-back::before {
  content: "\e908";
}
.icon-bingo::before {
  content: "\90a";
}
.game_wrapper {
  margin: 0;
  box-shadow: 0 0 0 transparent;
}
.game_wrapper .new-game {
  background-image: url(/assets/GB/games/new-game-vnb.png);
  right: -3px;
}
.game_wrapper .new-game.pop-image {
  background-image: url(/assets/GB/games/pop-game-vnb.png);
  width: 104px;
  height: 29px;
}
.disable-netplay-games .game_wrapper.netplay-games .game_overlay,
.disable-netplay-games .game_wrapper.netplay-games .game_overlay {
  height: 107px;
}
@media screen and (max-width: 1024px) {
  .disable-netplay-games .game_wrapper.netplay-games .game_overlay,
  .disable-netplay-games .game_wrapper.netplay-games .game_overlay {
    height: 100%;
  }
}
.page-games .game_wrapper {
  width: 24%;
  margin: 2px 2px 0.4em 2px;
}
@media screen and (max-width: 1024px) {
  .page-games .game_wrapper {
    width: 24%;
    margin: 0 0 0.4em 0;
  }
}
@media only screen and (max-width: 414px) {
  .page-games .game_wrapper {
    width: 49%;
    margin: 0 0 0.4em 0;
  }
}
.page-games .view-games .view-content .game_wrapper,
.page-games .game-list .view-content .game_wrapper,
.four-most-popular-games .view-content .game_wrapper {
  line-height: 1.5em;
}
.game_wrapper,
.game_wrapper img,
.game_wrapper .game_overlay {
  border-radius: 0;
  -webkit-border-radius: 0;
}
.game_wrapper:hover img {
  -webkit-filter: blur(0) saturate(100%);
  filter: blur(0) saturate(100%);
}
.game_wrapper .game_overlay {
  background: rgba(250, 250, 250, 0.7);
}
.game_wrapper .game_overlay .game_title,
.game_wrapper .game_overlay .play_for_fun {
  display: none;
}
.game_wrapper .game_overlay .play_for_real,
.game_wrapper .game_overlay .play_for_fun {
  cursor: pointer;
}
.game_wrapper .game_overlay .play_for_real {
  text-shadow: 0 0 0 transparent;
  font-size: 18px;
  width: 95px;
  padding: 3px 8px;
  margin: 52px auto 0;
  font-weight: 500;
}
.game_wrapper .game_overlay .more_info {
  text-decoration: none;
  bottom: 0px;
  right: 0px;
  text-indent: 0;
  color: #fff;
  background: #b5afb5;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  width: 80px;
  font-size: 11px;
  text-transform: uppercase;
}
.game_wrapper .game_overlay .more_info:hover {
  background: #cfc8cf;
}
.game_wrapper .game_overlay .more_info:active {
  background-color: #9c959c;
}
.region-banner {
  overflow-y: visible !important;
}
@media only screen and (max-width: 767px) {
  .responsive-header-balance .balance {
    margin-top: 5px;
  }
}
@media screen and (max-width: 1024px) {
  .deposit-button .cashier {
    font-size: 12px;
  }
}
@media only screen and (max-width: 567px) {
  .deposit-button .cashier {
    margin-top: 5px;
  }
}
.casino-vertical .netplay-gameCategories,
.casino-vertical .games_menu {
  border-top: none;
}
.casino-vertical .netplay-gameCategories .games_category,
.casino-vertical .games_menu .games_category {
  background-color: transparent;
}
.casino-vertical .netplay-gameCategories .games_category a,
.casino-vertical .games_menu .games_category a {
  font-size: inherit;
}
.desktop.casino-vertical .netplay-gameCategories,
.desktop.casino-vertical .games_menu {
  height: auto;
}
@media screen and (min-width: 1025px) {
  .tablet .region-lateral-menu {
    top: 65px;
  }
}
.modal .modal-dialog .close {
  top: 4px;
  right: 2%;
}
@media only screen and (max-width: 455px) {
  .modal .modal-dialog .close {
    top: 0;
  }
}
.modal .login-modal .login-overlay-footer {
  border-top: 1px solid #ec018c;
}
.modal .login-modal .login-overlay-footer a {
  padding: 3px 8px;
}
.modal .login-modal .login-overlay-footer a.button-3 {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  font-size: 18px;
  font-weight: 600;
}
.modal .login-modal .login-overlay-footer a.button-3:hover {
  background: #c1f018;
}
.modal .login-modal .login-overlay-footer a.button-3:active {
  background-color: #86a711;
}
.modal .login-modal .login-overlay-footer a.button-3:hover {
  text-decoration: none;
}
.modal .login-modal .login-overlay-footer a.button-3.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.modal .login-modal .login-overlay-footer a.button-3.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.modal .login-modal .login-overlay-footer .new-user-link:hover {
  color: #ec018c;
}
.modal .login-modal form[name="playtech-login-form"] .form-submit,
.modal .login-modal .login-modal .login-overlay-content.login-error .form-submit {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  border: 2px solid #fff;
  font-size: 12px;
  font-weight: 600;
}
.modal .login-modal #forgotten-details-link {
  width: 120px;
  color: #fff;
}
@media only screen and (max-width: 567px) {
  .modal .login-modal #forgotten-details-link {
    top: 176px;
    left: 45%;
  }
}
.modal .login-modal form[name="playtech-login-form"] .form-type-textfield input,
.modal .login-modal .login-modal .login-overlay-content.login-error .form-type-textfield input,
.modal .login-modal form[name="playtech-login-form"] .form-type-password input,
.modal .login-modal .login-modal .login-overlay-content.login-error .form-type-password input {
  background: #fff;
}
.modal .login-modal .login-overlay-content.login-error .error_message {
  color: #FFF;
  width: 100%;
  padding: 7px 0;
}
@media only screen and (max-width: 567px) {
  .modal.fade.gameInfo-modal.modal-dialog .close {
    right: 3%;
  }
}
.modal.fade.registration-modal .modal-body h2,
.modal.fade.registration-modal .modal-body h3,
.modal.fade.registration-modal .modal-body p,
.modal.fade.registration-modal .modal-body li {
  color: #fff;
}
.modal.fade.registration-modal .modal-body a {
  color: #ec018c;
}
.modal.fade.login-modal.sml-size .modal-dialog {
  max-width: 320px;
}
.modal.fade.login-modal .modal-content {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  border: 2px solid #fff;
}
.modal.fade.login-modal a.close:hover {
  color: #ec078a;
}
.modal .forgotten-password-popup {
  text-align: center;
  font-family: Arial, san serif;
  font-size: 14px;
  color: #fff;
}
.modal .forgotten-password-popup .overlay-content,
.modal .forgotten-password-popup .form-submit {
  margin: 0 auto;
}
.modal .forgotten-password-popup .overlay-content,
.modal .forgotten-password-popup .help-txt {
  width: 90%;
  text-align: left;
}
.modal .forgotten-password-popup .overlay-content::after,
.modal .forgotten-password-popup .help-txt::after {
  clear: both;
  content: " ";
}
.modal .forgotten-password-popup hr {
  border: none;
  height: 2px;
  display: block;
  width: 100%;
  background: #ec018c;
}
.modal .forgotten-password-popup input[type="text"] {
  margin-bottom: 5px;
}
.modal .forgotten-password-popup input[type="text"],
.modal .forgotten-password-popup input[type="email"] {
  border: none;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  width: 100%;
  padding: 0.5em 0;
  text-indent: 0.5em;
  color: #4b0b4a;
  box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.1);
}
.modal .forgotten-password-popup input[type="text"]::-webkit-input-placeholder,
.modal .forgotten-password-popup input[type="email"]::-webkit-input-placeholder,
.modal .forgotten-password-popup input[type="text"]:-moz-placeholder,
.modal .forgotten-password-popup input[type="email"]:-moz-placeholder,
.modal .forgotten-password-popup input[type="text"]::-moz-placeholder,
.modal .forgotten-password-popup input[type="email"]::-moz-placeholder,
.modal .forgotten-password-popup input[type="text"]:-ms-input-placeholder,
.modal .forgotten-password-popup input[type="email"]:-ms-input-placeholder {
  color: #4b0b4a;
}
.modal .forgotten-password-popup .vnb-dropdown {
  margin-top: 7px;
}
.modal .forgotten-password-popup .vnb-dropdown > div {
  float: left !important;
  width: 100%;
  margin-bottom: 10px;
}
.modal .forgotten-password-popup .vnb-dropdown > div::after {
  clear: both;
  content: " ";
}
.modal .forgotten-password-popup .vnb-dropdown > .form-item > label {
  float: left !important;
  width: 20%;
}
.modal .forgotten-password-popup .vnb-dropdown label.element-invisible {
  display: none;
}
.modal .forgotten-password-popup .vnb-dropdown #dob {
  float: right !important;
}
.page-forgotten-details .modal .forgotten-password-popup .vnb-dropdown #dob {
  width: 80%;
  clear: none;
}
.page-forgotten-details .modal .forgotten-password-popup .vnb-dropdown #dob,
.page-forgotten-details .modal .forgotten-password-popup .vnb-dropdown #dob div {
  margin: 0;
}
.modal .forgotten-password-popup .vnb-dropdown #dob .form-type-select {
  display: inline;
}
.modal .forgotten-password-popup .vnb-dropdown #dob .form-type-select .selectric .button {
  position: absolute;
  top: 0.1em;
  right: 0.1em;
}
.modal .forgotten-password-popup .vnb-dropdown #dob .form-item-date-select-year .selectric {
  width: 100px;
}
.modal .forgotten-password-popup .vnb-dropdown > label {
  font-weight: bold;
  margin: 0.5em 0;
}
.modal .forgotten-password-popup .help-txt {
  text-align: center;
  margin: 0 auto;
}
.modal .forgotten-password-popup .big-detail {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}
.modal .forgotten-password-popup hgroup .site-logo {
  margin: 17px 0;
}
.modal .forgotten-password-popup hgroup .title {
  padding: 0 0 10px 0;
  margin: 0;
  font-weight: 100;
}
.modal .forgotten-password-popup hgroup img {
  width: 150px;
}
.modal .forgotten-password-popup .form-submit {
  font-weight: bold;
  display: block;
  background: #ec018c;
  color: #fff;
  border: solid 2px #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 700;
  padding: 0.4em 0;
  text-transform: uppercase;
  width: 80%;
}
.modal .forgotten-password-popup .form-submit:hover {
  background-color: #ff53b9;
}
.modal .forgotten-password-popup .form-submit.highlighted {
  background-color: rgba(236, 1, 140, 0.5);
}
.modal .forgotten-password-popup .form-submit:hover {
  text-decoration: none;
}
.modal .forgotten-password-popup .form-submit.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.modal .forgotten-password-popup .form-submit.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
@media screen and (max-width: 1024px) {
  .page-forgotten-details .modal .forgotten-password-popup input#forgotten_username,
  .page-forgotten-details .modal .forgotten-password-popup input#email {
    margin: 0;
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .page-forgotten-details .modal .forgotten-password-popup input#forgotten_username {
    margin-bottom: 5px;
  }
}
.page-forgotten-details .modal .forgotten-password-popup .form-item label {
  margin-left: 0;
}
.support-buttons {
  border-left: solid 1px #664163 !important;
  top: 15px;
}
.support-buttons .help_button,
.support-buttons .chat_button,
.floating_verticals_menu .betssonChatLink,
.floating_verticals_menu .help-page-link a {
  height: 28px;
  line-height: 28px;
}
.FLEX-account-block {
  top: 12px;
}
.FLEX-account-block li.account:after,
.FLEX-account-block li.total_balance:after {
  font-family: 'icomoon', san-serif;
  content: '\e608';
  font-size: 7px;
  top: 10px;
  width: auto;
  height: auto;
  right: 5px;
  -ms-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.FLEX-account-block .account_menu:hover li.account:after,
.FLEX-account-block .FLEX-account-block .balance_menu:hover li.account:after,
.FLEX-account-block .FLEX-account-block .account_menu:hover li.total_balance:after,
.FLEX-account-block .FLEX-account-block .balance_menu:hover li.total_balance:after {
  -ms-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
/*  Channel 5 Block
--------------------------------------------------------------------------------*/
.play-live-on-five {
  position: absolute;
  left: 266px;
  top: 32px;
}
/*  Support Features
------------------------------------------------------------ */
@media screen and (max-width: 1024px) {
  .register-buttons {
    display: none;
  }
}
.help_button,
.chat_button {
  color: #eee;
}
.support-buttons {
  padding-left: 10px;
  border-left: 1px solid #ddd;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}
.support-buttons .help_button,
.support-buttons .chat_button,
.floating_verticals_menu .betssonChatLink,
.floating_verticals_menu .help-page-link a {
  font-size: 11px;
  font-weight: normal;
  text-decoration: none;
  text-indent: 30px;
  text-transform: uppercase;
}
.logged-in .support-buttons .help_button,
.logged-in .support-buttons .chat_button {
  text-align: center;
}
.support-buttons .help_button:hover,
.support-buttons .chat_button:hover {
  background-image: url(/assets/support/help_icon_pink.png);
}
.support-buttons .chat_button:hover {
  background-image: url(/assets/support/chat_icon_pink.png);
}
.floating_verticals_menu .help-page-link a:hover {
  background: url(/assets/support/help_icon_pink.png) 10px 0px no-repeat transparent;
  color: #ec4bac;
}
.floating_verticals_menu .js-playtech-chat:hover {
  background: url(/assets/support/chat_icon_pink.png) 10px 6px no-repeat transparent;
  color: #ec4bac;
}
/*  Promo Area
================================================================================*/
.jackpots-slider h2 a,
.winners-scroller-3 h2 a,
.winners-scroller-3-sidebar h2 a,
.winners-scroller-6 h2 a {
  color: #FFF;
  text-decoration: none;
}
/*  Promo Slider
------------------------------------------------------------ */
.promo-slider .primary-button {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  background: -moz-linear-gradient(top, #d4f487 0%, #a6e609 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #d4f487 0%, #a6e609 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #d4f487 0%, #a6e609 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d4f487', endColorstr='#a6e609', GradientType=0);
  /* IE6-9 */
  letter-spacing: -1px;
}
.promo-slider .primary-button:hover {
  background: #c1f018;
}
.promo-slider .primary-button:active {
  background-color: #86a711;
}
.promo-slider .primary-button:hover {
  text-decoration: none;
}
.promo-slider .primary-button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.promo-slider .primary-button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.widget_pager .views-slideshow-pager-field-item {
  border: 1px solid #cecacb;
}
.widget_pager .views-slideshow-pager-field-item.active {
  background-color: #cecacb;
}
.promo-slider {
  width: 100%;
  margin-bottom: 20px;
  -webkit-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 1024px) {
  .promo-slider {
    margin-bottom: 0px;
  }
}
.promo-slider .primary-button {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  text-shadow: 2px 0 0 #566b10, -2px 0 0 #566b10, 0 2px 0 #566b10, 0 -2px 0 #566b10, 2px 2px #566b10, -2px -2px 0 #566b10, 2px -2px 0 #566b10, -2px 2px 0 #566b10;
  border: 3px solid #566b10;
  border-radius: 5px;
  padding-bottom: 0;
}
.promo-slider .primary-button:hover {
  color: #fff;
}
.flexslider .primary-button {
  position: relative;
  right: 14px;
  padding: 5px 15px;
  bottom: 75px;
}
@media only screen and (max-width: 895px) {
  .flexslider .primary-button {
    bottom: 65px;
  }
}
@media only screen and (max-width: 767px) {
  .flexslider .primary-button {
    bottom: 65px;
  }
}
@media only screen and (max-width: 567px) {
  .flexslider .primary-button {
    bottom: 60px;
    right: -60px;
    font-size: 1em;
  }
}
@media only screen and (max-width: 455px) {
  .flexslider .primary-button {
    bottom: 60px;
    right: -60px;
  }
}
@media only screen and (max-width: 414px) {
  .flexslider .primary-button {
    right: -55px;
    bottom: 55px;
  }
}
.flexslider .tc-main-page-slider {
  background: rgba(0, 0, 0, 0.5);
  margin-left: 7px;
  height: 15px;
  right: inherit !important;
  left: 0 !important;
  padding: 0 !important;
  bottom: 7px !important;
  width: auto !important;
}
@media only screen and (max-width: 414px) {
  .flexslider .tc-main-page-slider {
    bottom: 0;
    background-color: #944ea6;
    height: 20px;
    padding-top: 3px;
  }
}
.flexslider .tc-main-page-slider a {
  font-size: 11px;
  padding-top: 5px;
}
ol.flex-control-paging {
  display: block;
  right: 3px;
  bottom: -1px;
  left: auto;
}
@media only screen and (max-width: 1000px) {
  ol.flex-control-paging {
    bottom: 0px;
  }
}
@media screen and (max-width: 1024px) {
  ol.flex-control-paging {
    bottom: 3px;
  }
}
@media only screen and (max-width: 567px) {
  ol.flex-control-paging {
    right: -5px;
  }
}
@media only screen and (max-width: 413px) {
  ol.flex-control-paging {
    bottom: -5px;
  }
}
ol.flex-control-paging a {
  height: 11px;
  width: 11px;
}
@media only screen and (max-width: 414px) {
  ol.flex-control-paging a {
    height: 7px;
    width: 7px;
  }
}
@media only screen and (max-width: 767px) {
  ol.flex-control-paging a {
    width: 7px;
    height: 7px;
  }
}
.flex-control-nav li {
  margin: 0 -5px;
}
ol.flex-control-paging a.flex-active {
  background: #ec018c;
}
ol.flex-control-paging a {
  background: #fff;
}
ol.flex-control-paging a:hover {
  background: #ec018c;
}
/*  Winners Scroller
--------------------------------------------------------------------------------*/
.winner {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.winner .winner_name {
  color: #eee;
}
/*  Games
================================================================================*/
.show_search_field .search_field {
  background: #fff;
  color: #ed028b;
}
/*  Games Search
------------------------------------------------------------*/
.search_field {
  outline: 0;
  background: #fff;
}
.show_search_field .search_field {
  background: #fff;
  color: #ed028b;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.5);
}
/*  Large Games Grid
------------------------------------------------------------*/
.large-game-thumbnail-grid {
  padding-top: 12px;
  border-top: 4px solid #f27130;
}
/*  Live Games
------------------------------------------------------------*/
.live-vertical .large-game-thumbnail-grid {
  border-top-color: #af8636;
}
/*  Pop ups

================================================================================*/
/*  Shadowbox
------------------------------------------------------------ */
#sb-wrapper .overlay-header {
  background: #2b515b;
}
#sb-wrapper .overlay-header h2 {
  font-size: 16px;
  margin: 0;
  line-height: 1.3;
  padding: 20px 10px;
  text-align: center;
}
#sb-wrapper .overlay-header a {
  float: right;
  display: block;
  top: 0;
  right: 0;
  overflow: hidden;
  text-indent: -1000px;
  text-decoration: none;
}
#sb-wrapper .overlay-header a:after {
  content: "×";
  position: absolute;
  display: block;
  top: 4px;
  right: 4px;
  width: 26px;
  height: 26px;
  line-height: 20px;
  color: #555473;
  font-size: 24px;
  text-align: center;
  text-indent: 0;
}
#sb-body {
  background-color: #2b515b;
}
#sb-body.loading {
  background-image: url('/assets/general/SC-Loader-purple.gif');
  background-repeat: no-repeat;
  background-position: center center;
}
/* forgotten details error msg
------------------------------------------------------------ */
.messages.error {
  background-color: #fe0000;
}
.messages.status {
  background-color: #1c8ce2;
}
/*  Waiting Messages
------------------------------------------------------------ */
.waiting_messages .ok,
.waiting_messages .accept,
.waiting_messages .decline,
.waiting_messages .next,
.waiting_messages .previous {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  color: #fff;
}
.waiting_messages .ok:hover,
.waiting_messages .accept:hover,
.waiting_messages .decline:hover,
.waiting_messages .next:hover,
.waiting_messages .previous:hover {
  background: #c1f018;
}
.waiting_messages .ok:active,
.waiting_messages .accept:active,
.waiting_messages .decline:active,
.waiting_messages .next:active,
.waiting_messages .previous:active {
  background-color: #86a711;
}
.waiting_messages .ok:hover,
.waiting_messages .accept:hover,
.waiting_messages .decline:hover,
.waiting_messages .next:hover,
.waiting_messages .previous:hover {
  text-decoration: none;
}
.waiting_messages .ok.disabled,
.waiting_messages .accept.disabled,
.waiting_messages .decline.disabled,
.waiting_messages .next.disabled,
.waiting_messages .previous.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.waiting_messages .ok.disabled:active,
.waiting_messages .accept.disabled:active,
.waiting_messages .decline.disabled:active,
.waiting_messages .next.disabled:active,
.waiting_messages .previous.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
/* FIX for Only Jackpot247 Getting started menu for JP247
------------------------------------------------------------ */
body.page-help .page-content {
  padding-top: 40px;
}
@media only screen and (max-width: 767px) {
  body.page-help .page-content {
    padding-top: 0px;
  }
}
body.page-tv #mobile_app_store_badges a {
  text-decoration: none;
  display: inline-block;
  margin-bottom: 15px;
}
@media only screen and (max-width: 567px) {
  body.page-tv #mobile_app_store_badges a {
    display: inline-block;
    margin: 5px;
  }
}
body.page-help .content {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0);
  zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#00000000);
  -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#00000000);
}
body.page-game-info .related-content {
  height: 220px;
  background: rgba(0, 0, 0, 0);
}
body.page-game-info .related-content .view-content .views-field-field-related-content-image img {
  border-radius: 0;
  margin: 0;
  width: 240px;
  height: 170px;
}
body.page-game-info .related-content .view-content .views-field-field-related-content-text {
  padding: 0;
}
body.page-game-info .related-content .view-content .views-field-field-related-content-text {
  width: 100%;
}
body.page-game-info .related-content .views-field-title {
  display: none;
}
body.page-game-info .related-content .button-3 {
  margin-left: -60px;
  bottom: 0px;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  padding: 4px 8px;
  width: 120px;
  font-size: 13px;
  color: #566b10;
  border: solid 3px #566b10;
  border-radius: 3px;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#a9e813+0,d4f487+100 */
  background: #a9e813;
  /* Old browsers */
  background: -moz-linear-gradient(top, #a9e813 0%, #d4f487 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #a9e813 0%, #d4f487 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #a9e813 0%, #d4f487 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a9e813', endColorstr='#d4f487', GradientType=0);
  /* IE6-9 */
}
body.page-game-info .jackpots-slider {
  background-color: rgba(0, 0, 0, 0);
}
body.page-promotions-category .promotion-description p {
  margin: 0px;
}
body.page-promotions-category .page-content .column4-6 {
  width: 100%;
}
body.page-promotions-category .page-content .column2-6 {
  display: none;
}
body.page-promotions .view-display-id-flex_promo_page {
  background: #F3E5F5;
}
body.page-promotions .view-display-id-flex_promo_page .views-field-title {
  margin-bottom: 10px;
}
body.page-promotions .view-display-id-flex_promo_page .views-field-title .field-content {
  color: #ec018c;
  font-size: 1.2em;
  text-transform: uppercase;
  font-weight: bold;
}
body.page-promotions .view-display-id-flex_promo_page li {
  list-style-type: none;
}
body.page-promotions .view-display-id-flex_promo_page .promo-terms {
  padding-left: 0px !important;
}
.view-tv-profiles .field-content span {
  padding-left: 10px;
}
/*  Games
================================================================================*/
.show_search_field .search_field {
  background: #fff;
  color: #ed028b;
}
/*  Games Search
------------------------------------------------------------*/
.search_field {
  outline: 0;
  background: #fff;
}
.show_search_field .search_field {
  background: #fff;
  color: #ed028b;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.5);
}
@media only screen and (max-width: 414px) {
  .page-game-info .game_launch_buttons {
    width: 100%;
    margin-left: 0;
  }
}
@media only screen and (max-width: 414px) {
  .page-game-info .game_launch_buttons .button.play-for-real {
    width: 58%;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media only screen and (max-width: 414px) {
  .page-game-info .game_launch_buttons .button.play-for-fun {
    width: 20%;
    padding-left: 5%;
    padding-right: 5%;
    margin-top: 0px;
    float: right;
  }
}
@media only screen and (max-width: 414px) {
  .page-game-info .game_launch_buttons .button {
    clear: none;
    display: inline;
    left: 0px;
    margin-right: 0px;
  }
}
.page-game-info .game_launch_buttons .button:hover {
  text-decoration: none;
}
.page-game-info .game_launch_buttons .button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.page-game-info .game_launch_buttons .button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.page-game-info .game_launch_buttons .button:hover {
  color: #fff;
}
img.terms-image {
  width: 100%;
}
.app_store_badges #mobile_app_store_badges a {
  display: inline-block;
  margin: 5px;
}
/*  Stalker active styles for Jackpot247
------------------------------------------------------------ */
body.page-game-info .winners-scroller-3 {
  background-color: transparent;
}
body.sidebar-first .messages {
  width: 620px;
  text-align: center;
}
body.sidebar-first .page .region-sidebar-first > .block {
  margin: 0;
}
.double-launch-content {
  background-color: #396976;
}
#sb-wrapper .overlay-header a {
  color: #FFF;
}
#sb-wrapper .overlay-header a:after {
  color: #FFF;
}
/** ------- Footer styles fixes for Bingo ------- **/
.page-content {
  -webkit-box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.75);
}
.region-footer .menu li {
  border-right: 1px solid #ffffff;
  padding: 0 10px;
}
.region-footer .view-payment-methods {
  margin: 3px 0 20px 0;
}
.region-footer .view-payment-methods img {
  width: 100%;
}
@media only screen and (max-width: 413px) {
  .region-footer .view-payment-methods img {
    width: auto;
  }
}
.footer_legal_text ul li a {
  font-size: 11px;
}
@media only screen and (max-width: 413px) {
  .region-footer .view-payment-methods .views-row.views-row-7 {
    display: none;
  }
}
@media only screen and (max-width: 413px) {
  .footer-social-corporate ul li {
    margin: 0;
  }
}
.region-footer {
  border-top: none;
}
.footer-mobile-buttons {
  display: none;
  margin-top: 20px;
}
@media only screen and (max-width: 413px) {
  .footer-mobile-buttons {
    display: block;
  }
}
.footer-mobile-buttons a {
  margin-right: 10px;
}
.footer-mobile-buttons .login-button {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
}
.footer-mobile-buttons .register-button {
  padding: 3px 10px;
  text-transform: uppercase;
  font-size: 20px;
}
.footer-mobile-buttons .login-button {
  background-color: #ec018c;
  padding: 3px 23px;
  text-transform: uppercase;
  border: 3px solid #fff;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
}
.footer-mobile-buttons .login-button:hover {
  background-color: #bc0270;
}
.footer-mobile-buttons .login-button:hover {
  text-decoration: none;
}
.footer-mobile-buttons .login-button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.footer-mobile-buttons .login-button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.region-footer .footer-mobile-menu a {
  text-decoration: none;
  font-weight: bold;
}
body.smartphone .footer-information-menu,
body.tablet .footer-information-menu {
  display: none;
}
/* Modal Box */
.modal.fade.login-modal .modal-dialog .modal-content {
  border: 2px solid #fff;
  border-radius: 5px;
}
.login-modal .login-overlay-footer {
  border-top: 1px solid #ec018c;
}
.login-modal form[name="playtech-login-form"] .form-submit,
.login-modal .login-modal .login-overlay-content.login-error .form-submit {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  border: 2px solid #fff;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
}
.login-modal .login-overlay-footer a.button-3 {
  font-size: 18px;
  font-weight: 600;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.login-modal .login-overlay-footer a.button-3:hover {
  background: #c1f018;
}
.login-modal .login-overlay-footer a.button-3:active {
  background-color: #86a711;
}
.login-modal .login-overlay-footer a.button-3:hover {
  text-decoration: none;
}
.login-modal .login-overlay-footer a.button-3.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.login-modal .login-overlay-footer a.button-3.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.login-modal form[name="playtech-login-form"] #forgotten-details-link,
.login-modal .login-modal .login-overlay-content.login-error #forgotten-details-link {
  width: 120px;
  color: #fff;
}
@media only screen and (max-width: 567px) {
  .login-modal form[name="playtech-login-form"] #forgotten-details-link,
  .login-modal .login-modal .login-overlay-content.login-error #forgotten-details-link {
    top: 176px;
    left: 45%;
  }
}
.login-modal form[name="playtech-login-form"] .form-type-textfield input,
.login-modal .login-modal .login-overlay-content.login-error .form-type-textfield input,
.login-modal form[name="playtech-login-form"] .form-type-password input,
.login-modal .login-modal .login-overlay-content.login-error .form-type-password input {
  background: #ffffff;
}
.login-modal .login-overlay-footer a {
  padding: 3px 8px;
}
.login-modal .login-overlay-footer .new-user-link:hover {
  color: #ec018c;
}
.login-modal .login-overlay-content.login-error .error_message {
  color: #FFF;
}
.modal-dialog a.close:hover {
  color: #ec078a;
}
/* Promo Slider */
.promo-slider {
  width: 100%;
  margin-bottom: 20px;
  -webkit-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 1024px) {
  .promo-slider {
    z-index: 100;
  }
}
@media screen and (max-width: 1024px) {
  .promo-slider {
    margin-bottom: 0px;
  }
}
.flexslider .slides > li {
  position: relative;
}
.flexslider .slides > li .views-field.views-field-php {
  position: absolute;
  right: 0px;
}
.promo-slider .primary-button {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  text-shadow: 2px 0 0 #566b10, -2px 0 0 #566b10, 0 2px 0 #566b10, 0 -2px 0 #566b10, 2px 2px #566b10, -2px -2px 0 #566b10, 2px -2px 0 #566b10, -2px 2px 0 #566b10;
  border: 3px solid #566b10;
  border-radius: 5px;
  padding-bottom: 0;
}
.promo-slider .primary-button:hover {
  color: #fff;
}
.flexslider .primary-button {
  position: relative;
  right: 14px;
  padding: 5px 15px;
  bottom: 75px;
}
@media only screen and (max-width: 895px) {
  .flexslider .primary-button {
    bottom: 65px;
  }
}
@media only screen and (max-width: 767px) {
  .flexslider .primary-button {
    bottom: 65px;
  }
}
@media only screen and (max-width: 567px) {
  .flexslider .primary-button {
    bottom: 60px;
    right: -60px;
    font-size: 1em;
  }
}
@media only screen and (max-width: 455px) {
  .flexslider .primary-button {
    bottom: 60px;
    right: -60px;
  }
}
@media only screen and (max-width: 414px) {
  .flexslider .primary-button {
    right: -55px;
    bottom: 55px;
  }
}
.block.block-system.main.block-odd.first.clearfix {
  margin-top: 10px;
}
/*-----//// registration page ////-----*/
.modal.fade.registration-modal .modal-dialog .modal-content .modal-body h2,
.modal.fade.registration-modal .modal-dialog .modal-content .modal-body h3,
.modal.fade.registration-modal .modal-dialog .modal-content .modal-body p,
.modal.fade.registration-modal .modal-dialog .modal-content .modal-body li {
  color: #fff;
}
.modal.fade.registration-modal .modal-dialog .modal-content .modal-body a {
  color: #ec018c;
}
.form-style input[type="text"],
.form-style input[type="password"],
.form-style input[type="email"],
.form-style input[type="tel"] {
  background: #d8d7d8;
}
body.page-register .form-style select {
  background: #d8d7d8;
}
body.page-register form.form-style fieldset span.title,
body.page-register .form-style input[type="submit"].form-submit {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
}
body.page-register form.form-style fieldset span.title {
  color: #ec018c;
}
body.page-register .form-style input[type="submit"].form-submit {
  border: none;
  font-size: 24px;
  font-weight: 800;
  padding: 4px 16px;
}
body.page-register .messages.error {
  color: #fff;
}
body.page-register .form-style a {
  color: #ec018c;
}
body.page-register .registration-form-legal-footer a {
  color: #242424;
  text-decoration: underline;
}
body.page-register div#selected-currency {
  display: none !important;
}
.page-register .registration-form-legal-footer {
  padding-right: 80px;
}
@media screen and (max-width: 1024px) {
  .page-register .registration-form-legal-footer {
    padding-right: 0px;
  }
}
body.page-bingo-front .page-content,
body.page-timetable .page-content,
body.page-bingo .page-content {
  background-color: #fff;
  padding-bottom: 0;
}
.bingo-timetable-filter {
  text-align: center;
}
.bingo-timetable-filter form {
  margin: 25px 0;
}
.bingo-timetable-filter div {
  display: inline-block;
}
.content-header .title {
  margin: 0;
  padding-bottom: 0;
  font-size: 40px;
}
.page-bingo .content-header .title,
.page-timetable .content-header .title,
.promotions-vertical .content-header .title,
.page-promotions .content-header .title,
.page-bingo-front .content-header .title,
.node-type-promotions .content-header .title {
  display: none;
}
.page-game-info .content-header h1 {
  border-bottom: none;
  padding: 5px 98px;
}
@media only screen and (max-width: 414px) {
  .page-game-info .content-header h1 {
    text-align: center;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .content-header h1 {
    text-align: left;
  }
}
@media screen and (max-width: 1024px) {
  .page-game-info .content-header h1 {
    padding: 0;
  }
}
.page-welcome .content-header h1 {
  margin: 0;
  text-align: center;
  padding: 20px 0;
  font-size: 36px;
  color: #f3e5f4;
}
@media only screen and (max-width: 567px) {
  .page-welcome .content-header h1 {
    font-size: 20px;
    padding: 10px 0;
  }
}
.page-getting-started .content-header {
  display: block;
}
.bingo-timetable-filter-gametype {
  width: 250px;
  height: 34px;
  border: none;
  border-radius: 6px;
  overflow: hidden;
  background: url(/assets/buttons/select-button.png) 98% 50% no-repeat #f2e6f4;
  margin-right: 20px;
}
.bingo-timetable-filter-gametype select {
  background: transparent;
  width: 280px;
  font-size: 16px;
  border: none;
  height: 34px;
  padding: 0px 28px 0px 10px;
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-indent: 1px;
  text-overflow: '';
}
.bingo-timetable-filter-gametype select:focus {
  border: 0px;
  outline: -webkit-focus-ring-color auto 0px;
}
@media only screen and (max-width: 413px) {
  .bingo-timetable-filter-gametype {
    margin-right: 0px;
    width: 300px;
    margin-bottom: 5px;
  }
}
.bingo-timetable-filter-days {
  width: 150px;
  height: 34px;
  border: none;
  border-radius: 6px;
  overflow: hidden;
  background: url(/assets/buttons/select-button.png) 95% 50% no-repeat #f2e6f4;
  margin-right: 20px;
}
.bingo-timetable-filter-days select {
  background: transparent;
  width: 180px;
  font-size: 16px;
  border: none;
  height: 34px;
  padding: 0px 28px 0px 10px;
}
.bingo-timetable-filter-days select:focus {
  border: 0px;
  outline: -webkit-focus-ring-color auto 0px;
}
@media only screen and (max-width: 413px) {
  .bingo-timetable-filter-days {
    margin-right: 10px;
    width: 158px;
  }
}
.bingo-timetable-submit {
  height: 34px;
  vertical-align: top;
}
.bingo-timetable-submit input {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  background-color: #ea0a8e;
  border: none;
  color: #fff;
  padding: 6px 30px;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  display: block;
}
.bingo-timetable-submit input:hover {
  background-color: #ff53b9;
  color: #4c0a4a;
}
.bingo-timetable,
.bingo-games {
  margin-bottom: 20px;
}
.bingo-timetable ul.title,
.bingo-games ul.title {
  padding: 0;
}
.bingo-timetable ul.title.no-mobile,
.bingo-games ul.title.no-mobile {
  margin: 4px 0;
  display: block;
}
@media only screen and (max-width: 767px) {
  .bingo-timetable ul.title.no-mobile,
  .bingo-games ul.title.no-mobile {
    display: none;
  }
}
.bingo-timetable ul.title li,
.bingo-games ul.title li {
  text-align: left;
  display: inline-block;
  width: 9.3%;
  font-size: 14px;
  font-weight: bold;
  color: #ec018c;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .bingo-timetable ul.title li,
  .bingo-games ul.title li {
    width: 9.8%;
  }
}
.bingo-timetable ul.title li:first-child,
.bingo-games ul.title li:first-child {
  width: 32%;
  text-indent: 16px;
}
.page-bingo-front .bingo-timetable ul.title li:first-child,
.page-bingo-front .bingo-games ul.title li:first-child {
  width: 30%;
}
.bingo-timetable ul.title li:last-child,
.bingo-games ul.title li:last-child {
  width: 25%;
}
@media screen and (max-width: 1024px) {
  .bingo-timetable ul.title li:last-child,
  .bingo-games ul.title li:last-child {
    width: 23.5%;
  }
}
.bingo-timetable .bingo-games ul.title li,
.bingo-games .bingo-games ul.title li {
  text-indent: 16px;
}
.bingo-timetable ul.bingo-playtech-games,
.bingo-games ul.bingo-playtech-games {
  padding: 0 10px 0;
  margin: 0px;
}
@media only screen and (max-width: 567px) {
  .bingo-timetable ul.bingo-playtech-games,
  .bingo-games ul.bingo-playtech-games {
    padding: 0 5px 0 10px;
  }
}
@media only screen and (max-width: 767px) {
  .bingo-timetable ul.bingo-playtech-games,
  .bingo-games ul.bingo-playtech-games {
    padding: 0 10px 0 10px;
  }
}
@media only screen and (max-width: 767px) {
  .bingo-timetable ul.bingo-playtech-games,
  .bingo-games ul.bingo-playtech-games {
    padding: 0 10px 0 10px;
  }
}
@media only screen and (max-width: 413px) {
  .bingo-timetable ul.bingo-playtech-games,
  .bingo-games ul.bingo-playtech-games {
    padding-bottom: 5px;
  }
}
.bingo-timetable ul.bingo-playtech-games li,
.bingo-games ul.bingo-playtech-games li {
  display: inline-block;
  width: 10%;
  padding: 8px 0;
  text-align: left;
}
.bingo-timetable .bingo-timetable ul.bingo-playtech-games li,
.bingo-timetable .bingo-games ul.bingo-playtech-games li {
  width: 12%;
}
@media screen and (max-width: 1024px) {
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li {
    width: 12%;
  }
}
@media only screen and (max-width: 767px) {
  .bingo-timetable ul.bingo-playtech-games li,
  .bingo-games ul.bingo-playtech-games li {
    width: 21%;
    font-size: 17px;
    padding: 0px;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li {
    width: 28%;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li:first-child {
    margin: 5px 0;
    top: 0;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li .bingo-button,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li .bingo-button {
    font-size: 17px;
  }
}
@media only screen and (max-width: 567px) {
  .bingo-timetable ul.bingo-playtech-games li,
  .bingo-games ul.bingo-playtech-games li {
    width: 20%;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li {
    width: 25%;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li:first-child {
    margin: 10px 0;
    top: 0;
    line-height: 1.5;
  }
}
@media only screen and (max-width: 455px) {
  .bingo-timetable ul.bingo-playtech-games li,
  .bingo-games ul.bingo-playtech-games li {
    width: 19%;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li:first-child {
    margin: 0;
    top: 13px;
  }
}
@media only screen and (max-width: 413px) {
  .bingo-timetable ul.bingo-playtech-games li,
  .bingo-games ul.bingo-playtech-games li {
    font-size: 13px;
  }
}
.bingo-timetable ul.bingo-playtech-games li.no-mobile,
.bingo-games ul.bingo-playtech-games li.no-mobile {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .bingo-timetable ul.bingo-playtech-games li.no-mobile,
  .bingo-games ul.bingo-playtech-games li.no-mobile {
    display: none;
  }
}
.bingo-timetable ul.bingo-playtech-games li:first-child,
.bingo-games ul.bingo-playtech-games li:first-child {
  width: 32%;
  font-size: 14px;
  text-transform: uppercase;
  color: #ec018c;
}
@media only screen and (min-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-games ul.bingo-playtech-games li:first-child {
    width: 100%;
    position: relative;
    top: 3px;
    font-size: 18px;
    margin: 10px 0 0 0;
    padding: 0px;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li:first-child {
    margin: 5px 0;
    top: 10px;
  }
}
@media only screen and (max-width: 735px) {
  .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-games ul.bingo-playtech-games li:first-child {
    margin: 0;
    width: 100%;
    position: relative;
    top: 13px;
    padding: 0px;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li:first-child {
    margin: 5px 0;
    top: 10px;
  }
}
@media only screen and (max-width: 567px) {
  .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-games ul.bingo-playtech-games li:first-child {
    width: 100%;
    position: relative;
    top: 13px;
    line-height: 1.5;
    padding: 0px;
    font-size: 17px;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li:first-child {
    top: 5px;
    margin: 5px 0 10px 0;
    font-size: 18px;
  }
}
@media only screen and (max-width: 455px) {
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li:first-child {
    top: 15px;
    margin: 0 0 10px 0;
  }
}
@media only screen and (max-width: 413px) {
  .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-games ul.bingo-playtech-games li:first-child {
    font-size: 16px;
    padding-bottom: 5px;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li:first-child,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li:first-child {
    margin: 0;
    top: 10px;
  }
}
.bingo-timetable ul.bingo-playtech-games li:last-child,
.bingo-games ul.bingo-playtech-games li:last-child {
  width: 12%;
}
@media screen and (max-width: 1024px) {
  .bingo-timetable ul.bingo-playtech-games li:last-child,
  .bingo-games ul.bingo-playtech-games li:last-child {
    width: 11%;
  }
}
@media only screen and (max-width: 767px) {
  .bingo-timetable ul.bingo-playtech-games li:last-child,
  .bingo-games ul.bingo-playtech-games li:last-child {
    width: 11%;
  }
  .bingo-timetable .bingo-timetable ul.bingo-playtech-games li:last-child,
  .bingo-timetable .bingo-games ul.bingo-playtech-games li:last-child {
    font-size: 13px;
  }
}
@media only screen and (max-width: 567px) {
  .bingo-timetable ul.bingo-playtech-games li:last-child,
  .bingo-games ul.bingo-playtech-games li:last-child {
    width: 16%;
  }
}
@media only screen and (max-width: 455px) {
  .page-bingo-front .bingo-timetable ul.bingo-playtech-games li:last-child,
  .page-bingo-front .bingo-games ul.bingo-playtech-games li:last-child {
    width: 17%;
  }
}
.bingo-timetable ul.bingo-playtech-games li .bingo-button,
.bingo-games ul.bingo-playtech-games li .bingo-button {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  display: block;
  cursor: pointer;
  text-align: center;
  font-size: 15px;
  text-transform: uppercase;
  width: 100%;
  position: relative;
  margin: 0;
  padding-left: 5px;
  padding-right: 5px;
}
.bingo-timetable ul.bingo-playtech-games li .bingo-button:hover,
.bingo-games ul.bingo-playtech-games li .bingo-button:hover {
  background: #c1f018;
}
.bingo-timetable ul.bingo-playtech-games li .bingo-button:active,
.bingo-games ul.bingo-playtech-games li .bingo-button:active {
  background-color: #86a711;
}
.bingo-timetable ul.bingo-playtech-games li .bingo-button:hover,
.bingo-games ul.bingo-playtech-games li .bingo-button:hover {
  text-decoration: none;
}
.bingo-timetable ul.bingo-playtech-games li .bingo-button.disabled,
.bingo-games ul.bingo-playtech-games li .bingo-button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.bingo-timetable ul.bingo-playtech-games li .bingo-button.disabled:active,
.bingo-games ul.bingo-playtech-games li .bingo-button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
@media screen and (max-width: 1024px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button,
  .bingo-games ul.bingo-playtech-games li .bingo-button {
    right: -10px;
    padding: 0.1em 0.6em;
  }
}
@media only screen and (max-width: 1000px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button,
  .bingo-games ul.bingo-playtech-games li .bingo-button {
    right: -15px;
  }
}
@media only screen and (min-width: 768px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button,
  .bingo-games ul.bingo-playtech-games li .bingo-button {
    right: -20px;
  }
}
@media screen and (min-width: 1025px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button,
  .bingo-games ul.bingo-playtech-games li .bingo-button {
    right: -10px;
  }
}
@media only screen and (max-width: 895px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button,
  .bingo-games ul.bingo-playtech-games li .bingo-button {
    right: -10px;
  }
}
@media only screen and (max-width: 767px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button,
  .bingo-games ul.bingo-playtech-games li .bingo-button {
    top: -10px;
    right: -5px;
    font-size: 18px;
    line-height: normal;
    padding: 0.5em 0;
  }
}
@media only screen and (max-width: 567px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button,
  .bingo-games ul.bingo-playtech-games li .bingo-button {
    right: -5px;
  }
}
@media only screen and (max-width: 455px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button,
  .bingo-games ul.bingo-playtech-games li .bingo-button {
    right: -10px;
  }
}
@media only screen and (max-width: 413px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button,
  .bingo-games ul.bingo-playtech-games li .bingo-button {
    font-size: 15px;
    right: -5px;
  }
}
@media only screen and (max-width: 767px) {
  .bingo-timetable ul.bingo-playtech-games li {
    width: 25%;
  }
}
@media screen and (max-width: 1024px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button {
    right: -10px;
    padding: 0.1em 0.6em;
  }
}
@media only screen and (max-width: 1000px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button {
    right: -15px;
  }
}
@media only screen and (min-width: 768px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button {
    right: -70px;
  }
}
@media screen and (min-width: 1025px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button {
    right: -70px;
  }
}
@media only screen and (max-width: 895px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button {
    right: -40px;
  }
}
@media only screen and (max-width: 767px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button {
    top: -10px;
    right: -100%;
    font-size: 18px;
    line-height: normal;
    padding: 0.5em 0;
  }
}
@media only screen and (max-width: 567px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button {
    right: -25px;
    font-size: 20px;
  }
}
@media only screen and (max-width: 455px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button {
    right: -15px;
  }
}
@media only screen and (max-width: 413px) {
  .bingo-timetable ul.bingo-playtech-games li .bingo-button {
    font-size: 16px;
    right: -10px;
  }
}
ul.only-mobile {
  display: none;
}
@media only screen and (max-width: 767px) {
  ul.only-mobile {
    display: block;
  }
}
.bingo-timetable ul.bingo-playtech-games:nth-of-type(odd),
.bingo-games ul.bingo-playtech-games:nth-of-type(odd) {
  background: #fff;
}
.bingo-timetable .bingo-playtech-games.odd,
.bingo-games .bingo-playtech-games.odd {
  background: #fff !important;
}
.bingo-timetable ul.bingo-playtech-games:nth-of-type(even),
.bingo-games ul.bingo-playtech-games:nth-of-type(even),
.bingo-timetable.even,
.bingo-games.even {
  background: #f3e5f4;
}
.bingo-timetable .bingo-playtech-games.even,
.bingo-games .bingo-playtech-games.even {
  background: #f3e5f4 !important;
}
ul.bingo-timetable-pagination {
  background-color: #f3e5f4;
  padding: 15px 0;
  text-align: center;
  margin: 0 auto;
}
ul.bingo-timetable-pagination li {
  display: inline-block;
  margin: 0 3px;
}
ul.bingo-timetable-pagination li a {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  background-color: #ec018c;
  display: block;
  font-size: 16px;
  font-weight: bold;
  width: 25px;
  height: 25px;
  line-height: 26px;
  border: 2px solid #fff;
}
ul.bingo-timetable-pagination li a:hover {
  text-decoration: none;
  background-color: #ff53b9;
}
ul.bingo-timetable-pagination li a:focus {
  text-decoration: none;
  background-color: #ff53b9;
}
ul.bingo-timetable-pagination li .currentPage {
  background-color: #ff53b9;
  color: #7d034a;
}
ul.bingo-timetable-pagination li .prevPage {
  background-color: #f3e5f4;
  color: #d6027f;
  border: none;
  font-size: 18px;
}
ul.bingo-timetable-pagination li .prevPage:hover {
  background-color: #f3e5f4;
  color: #3f0126;
}
ul.bingo-timetable-pagination li .nextPage {
  background-color: #f3e5f4;
  color: #d6027f;
  border: none;
  font-size: 18px;
}
ul.bingo-timetable-pagination li .nextPage:hover {
  background-color: #f3e5f4;
  color: #3f0126;
}
span.title-mobile {
  display: none;
}
@media only screen and (max-width: 767px) {
  span.title-mobile {
    display: block;
  }
}
@media only screen and (max-width: 567px) {
  span.title-mobile {
    font-size: 14px;
  }
}
.ico-bingo-room {
  height: 26px;
  width: 26px;
  display: block;
  float: left;
  margin-right: 10px;
  background: transparent url('/assets/icons/bingo-balls.png') center -3px no-repeat;
}
.type-multivariant .ico-bingo-room {
  background: transparent url('/assets/icons/bingo-balls.png') center -3px no-repeat;
}
.type-75-ball .ico-bingo-room {
  background-position: center -106px;
}
.type-80-ball .ico-bingo-room {
  background-position: center -139px;
}
.type-90-ball .ico-bingo-room {
  background-position: center -71px;
}
.type-pattern-bingo .ico-bingo-room {
  background-position: center -173px;
}
.type-joker-jackpot .ico-bingo-room {
  background-position: center -38px;
}
.type-deal-or-no-deal-75 .ico-bingo-room {
  background-position: center -312px;
}
.type-75-ball-pattern .ico-bingo-room {
  background-position: center -206px;
}
.type-lucky-numbers .ico-bingo-room {
  background-position: center -241px;
}
.type-deal-or-no-deal .ico-bingo-room {
  background-position: center -274px;
}
.bingo-room-mobile {
  font-size: 15px;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
}
span.title-mobile {
  text-transform: uppercase;
  color: #90035e;
  font-size: 13px;
  line-height: 13px;
}
body.tablet ul.bingo-playtech-games {
  padding: 0 5px 0 5px;
}
body.tablet ul.bingo-playtech-games li:first-child {
  font-size: 13px;
}
@media only screen and (min-width: 768px) {
  .bingo-timetable ul.title li {
    width: 10%;
    text-indent: 0;
  }
}
@media only screen and (min-width: 768px) {
  .bingo-timetable ul.bingo-playtech-games li:first-child {
    padding-left: 10px;
  }
}
@media only screen and (min-width: 768px) {
  .bingo-timetable ul.bingo-playtech-games li:last-child {
    width: 15%;
  }
}
/* ---- Bingo template structure ---- */
body.vn-bingo .column4-6 {
  width: 785px;
}
@media screen and (max-width: 1024px) {
  body.vn-bingo .column4-6 {
    width: 100%;
  }
}
body.vn-bingo.tablet .column4-6 {
  width: 100%;
}
.region-popups .column6-6 {
  position: static !important;
  width: auto !important;
}
.login-modal form[name="playtech-login-form"] #forgotten-details-link {
  top: -45px;
  left: 44%;
}
.region-header .registration-style .column6-6 {
  position: static !important;
}
.box-style + .support-buttons {
  width: 150px;
  top: 10px;
}
.box-style + .support-buttons .newline {
  margin-bottom: 10px;
}
.box-style + .support-buttons .help_button,
.box-style + .support-buttons .chat_button {
  position: static;
  background-position: 0 center;
}
body.vn-bingo .not-logged-in .tmp_chat_fixes {
  margin-left: 6%;
}
body.vn-bingo .registration-style .column4-6 {
  width: 66.6666666667%;
}
body.vn-bingo .playtech-login-block form[name="playtech-login-form"].registration-style input[type="text"] {
  margin: 0;
}
body.vn-bingo .playtech-login-block form[name="playtech-login-form"].registration-style input[type="submit"].form-submit {
  height: 30px;
  margin-top: 4px;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  text-shadow: none;
}
body.vn-bingo .playtech-login-block form[name="playtech-login-form"].registration-style input[type="submit"].form-submit:hover {
  background-image: none;
}
body.vn-bingo .registration-style .button.success,
body.vn-bingo .form-helpers .button.success {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  text-shadow: none;
  line-height: 30px;
  font-size: 16px;
}
body.vn-bingo .registration-style .button.success:hover,
body.vn-bingo .form-helpers .button.success:hover {
  background: #c1f018;
}
body.vn-bingo .registration-style .button.success:active,
body.vn-bingo .form-helpers .button.success:active {
  background-color: #86a711;
}
body.vn-bingo .registration-style .button.success:hover,
body.vn-bingo .form-helpers .button.success:hover {
  text-decoration: none;
}
body.vn-bingo .registration-style .button.success.disabled,
body.vn-bingo .form-helpers .button.success.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
body.vn-bingo .registration-style .button.success.disabled:active,
body.vn-bingo .form-helpers .button.success.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
body.vn-bingo .playtech-login-block form[name="playtech-login-form"].registration-style .form-type-password.form-item-password {
  width: 95%;
}
body.vn-bingo .region-header .playtech-login-block .registration-style {
  top: 11px;
}
body.vn-bingo .column2-6 {
  width: 200px;
  float: right;
}
@media screen and (max-width: 1024px) {
  body.vn-bingo .column2-6 {
    display: none;
  }
}
body.page-bingo-front .page-content,
body.node-type-promotions .page-content {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  background-color: transparent;
  padding-bottom: 0;
}
body.page-bingo-front .node-page .content,
body.node-type-promotions .node-page .content {
  margin: 0;
  padding: 0;
}
body.page-bingo-front .bingo-jackpot1,
body.node-type-promotions .bingo-jackpot1 {
  height: 270px;
}
body.page-bingo-front .bingo-jackpot2,
body.node-type-promotions .bingo-jackpot2 {
  height: 233px;
}
body.page-bingo-front .bingo-jackpot2.jackpots-slider ul,
body.node-type-promotions .bingo-jackpot2.jackpots-slider ul {
  top: 0;
}
body.page-bingo-front .jackpots-slider,
body.node-type-promotions .jackpots-slider {
  width: 200px;
  margin-bottom: 3px;
  -webkit-box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.75);
  background-color: #f3e5f4;
}
body.page-bingo-front .jackpots-slider h2,
body.node-type-promotions .jackpots-slider h2 {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  background-color: #ec018c;
  margin-top: 0;
  padding: 8px;
}
body.page-bingo-front .jackpots-slider li,
body.node-type-promotions .jackpots-slider li {
  width: 200px;
}
body.page-bingo-front .jackpots-slider li a::before,
body.node-type-promotions .jackpots-slider li a::before {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  content: 'Play Now';
  padding: 3px 15px;
  cursor: pointer;
  font-size: 18px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  display: block;
  position: absolute;
  top: 190px;
  left: 50%;
  margin-left: -63px;
  z-index: 1;
  height: 20px;
  line-height: 20px;
  width: 93px;
}
body.page-bingo-front .jackpots-slider li a::before:hover,
body.node-type-promotions .jackpots-slider li a::before:hover {
  background: #c1f018;
}
body.page-bingo-front .jackpots-slider li a::before:active,
body.node-type-promotions .jackpots-slider li a::before:active {
  background-color: #86a711;
}
body.page-bingo-front .jackpots-slider li a::before:hover,
body.node-type-promotions .jackpots-slider li a::before:hover {
  text-decoration: none;
}
body.page-bingo-front .jackpots-slider li a::before.disabled,
body.node-type-promotions .jackpots-slider li a::before.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
body.page-bingo-front .jackpots-slider li a::before.disabled:active,
body.node-type-promotions .jackpots-slider li a::before.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
body.page-bingo-front .jackpots-slider img,
body.node-type-promotions .jackpots-slider img {
  width: 175px;
  margin: 10px auto 0;
}
body.page-bingo-front .jackpots-slider:hover a::before,
body.node-type-promotions .jackpots-slider:hover a::before {
  background: #c1f018;
}
body.page-bingo-front .jackpots-slider:hover img,
body.node-type-promotions .jackpots-slider:hover img {
  -webkit-filter: none;
}
body.page-bingo-front .jackpots-slider .jackpotAmount,
body.node-type-promotions .jackpots-slider .jackpotAmount {
  color: #ec018c;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  width: 200px;
  position: absolute;
  top: 140px;
  border-bottom: 0px solid #fff;
  font-size: 25px;
}
body.disable-playtech-games .jackpots-slider li a::before,
body.disable-playtech-games .jackpots-slider li a:hover::before {
  content: 'More Info';
  font-size: 15px;
  color: #fff;
  background: #b5afb5;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  background-color: #c9c1c9 !important;
}
body.disable-playtech-games .jackpots-slider li a::before:hover,
body.disable-playtech-games .jackpots-slider li a:hover::before:hover {
  background: #cfc8cf;
}
body.disable-playtech-games .jackpots-slider li a::before:active,
body.disable-playtech-games .jackpots-slider li a:hover::before:active {
  background-color: #9c959c;
}
@media only screen and (max-width: 567px) {
  body.node-type-promotions .page-content {
    padding: 0 10px;
    background: #F3E5F5;
  }
}
/* ------- Game Search Box ------- */
.page-bingo-front.casino-vertical,
.page-games {
  /* MBS-1948 - Colour fix for Tablets above 1024px in screen width */
}
.page-bingo-front.casino-vertical .netplay-gameCategories,
.page-games .netplay-gameCategories {
  height: 40px;
}
@media only screen and (max-width: 767px) {
  .page-bingo-front.casino-vertical .netplay-gameCategories,
  .page-games .netplay-gameCategories {
    width: 100%;
    padding: 0;
  }
}
.page-bingo-front.casino-vertical .netplay-gameCategories ul,
.page-games .netplay-gameCategories ul {
  margin: 0;
  padding: 0;
}
.page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .search_box,
.page-games .netplay-gameCategories.show_search_field .search_box {
  margin-top: 0;
  width: 250px;
}
@media only screen and (max-width: 767px) {
  .page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .search_box,
  .page-games .netplay-gameCategories.show_search_field .search_box {
    width: 100%;
  }
}
.page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .search_box .open_search,
.page-games .netplay-gameCategories.show_search_field .search_box .open_search {
  left: 8px;
}
@media only screen and (max-width: 413px) {
  .page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .search_box .open_search,
  .page-games .netplay-gameCategories.show_search_field .search_box .open_search {
    top: 19px;
  }
}
.page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .search_box .close_search,
.page-games .netplay-gameCategories.show_search_field .search_box .close_search {
  display: block;
}
@media only screen and (max-width: 413px) {
  .page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .search_box .close_search,
  .page-games .netplay-gameCategories.show_search_field .search_box .close_search {
    top: 5px;
  }
}
.page-bingo-front.casino-vertical .netplay-gameCategories .search_box,
.page-games .netplay-gameCategories .search_box {
  background-color: transparent;
}
.page-bingo-front.casino-vertical .netplay-gameCategories .search_box .search_field_container,
.page-games .netplay-gameCategories .search_box .search_field_container {
  margin-top: 2px;
  height: 40px;
}
.page-bingo-front.casino-vertical .netplay-gameCategories .search_box .search_icon,
.page-games .netplay-gameCategories .search_box .search_icon {
  font-size: 20px;
  font-weight: bold;
  color: #ec018c;
}
@media screen and (max-width: 1024px) {
  .page-bingo-front.casino-vertical .netplay-gameCategories .search_box .search_icon,
  .page-games .netplay-gameCategories .search_box .search_icon {
    color: #f3e5f4;
  }
}
.page-bingo-front.casino-vertical .netplay-gameCategories .open_search,
.page-games .netplay-gameCategories .open_search {
  margin-left: 20px;
}
@media only screen and (max-width: 567px) {
  .page-bingo-front.casino-vertical .netplay-gameCategories .open_search,
  .page-games .netplay-gameCategories .open_search {
    margin-left: 0;
  }
}
.page-bingo-front.casino-vertical .netplay-gameCategories .close_search,
.page-games .netplay-gameCategories .close_search {
  top: 5px;
  display: none;
}
.page-bingo-front.casino-vertical .netplay-gameCategories .close_search .icon-close,
.page-games .netplay-gameCategories .close_search .icon-close {
  color: #ec018c;
  font-size: 3rem;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .page-bingo-front.casino-vertical .netplay-gameCategories .close_search .icon-close,
  .page-games .netplay-gameCategories .close_search .icon-close {
    color: #f3e5f4;
  }
}
.page-bingo-front.casino-vertical.tablet .netplay-gameCategories .close_search .icon-close,
.page-games.tablet .netplay-gameCategories .close_search .icon-close,
.page-bingo-front.casino-vertical.tablet .netplay-gameCategories .open_search i,
.page-games.tablet .netplay-gameCategories .open_search i,
.page-bingo-front.casino-vertical.tablet .page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .close_search .icon-close,
.page-games.tablet .page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .close_search .icon-close {
  color: #f3e5f4;
}
.page-bingo-front.casino-vertical.tablet .netplay-gameCategories.show_search_field .open_search i,
.page-games.tablet .netplay-gameCategories.show_search_field .open_search i {
  color: #ec018c;
}
.page-bingo-front.casino-vertical .show_search_field .title-mob,
.page-games .show_search_field .title-mob {
  display: none;
}
@media only screen and (max-width: 767px) {
  .page-bingo-front.casino-vertical .show_search_field li:first-child,
  .page-games .show_search_field li:first-child {
    display: none;
  }
  .page-bingo-front.casino-vertical .show_search_field .netplay-gameCategories,
  .page-games .show_search_field .netplay-gameCategories {
    width: 100%;
  }
}
body.page-games .netplay-gameCategories.show_search_field {
  margin-right: 100px;
  transition: 0.2s;
}
body.page-games .netplay-gameCategories.show_search_field .search_box .close_search {
  top: 15px;
}
@media only screen and (max-width: 413px) {
  body.page-games .netplay-gameCategories.show_search_field .search_box .close_search {
    top: 10px;
  }
}
@media screen and (max-width: 1024px) {
}
body.page-games .netplay-gameCategories .search_box .search_field {
  color: #FFFFFF;
}
body.page-games .netplay-gameCategories .search_box .close_search {
  top: 16px;
}
body.page-games .netplay-gameCategories .search_box .close_search .icon-close {
  color: #FFFFFF;
}
body.page-bingo-front .bingo-games-search {
  display: table;
}
body.page-bingo-front .bingo-games-search .title {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  display: table-cell;
  width: 100%;
  text-align: center;
  color: #ec018c;
  font-size: 18px;
  font-weight: bold;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  body.page-bingo-front .bingo-games-search .title {
    color: #f3e5f4;
  }
}
@media only screen and (max-width: 455px) {
  body.page-bingo-front .bingo-games-search .title {
    text-align: right;
    padding-right: 15px;
    font-size: 15px;
    margin: 10px 15px 10px 0;
  }
}
@media only screen and (max-width: 567px) {
  body.page-bingo-front .bingo-games-search .title {
    color: #f3e5f4;
  }
}
@media only screen and (max-width: 413px) {
  body.page-bingo-front .bingo-games-search .title {
    display: none;
  }
}
body.page-bingo-front .bingo-games-search .title-mob {
  display: none;
  width: 100%;
  text-align: center;
  color: #ec018c;
  font-family: "proxima-nova-soft", sans-serif;
  font-size: 18px;
  font-weight: bold;
  vertical-align: middle;
}
@media only screen and (max-width: 567px) {
  body.page-bingo-front .bingo-games-search .title-mob {
    color: #f3e5f4;
  }
}
@media only screen and (max-width: 413px) {
  body.page-bingo-front .bingo-games-search .title-mob {
    display: table-cell;
  }
}
body.page-bingo-front .bingo-games-search .search_box {
  display: table-cell;
}
body.page-bingo-front *[data-search] .search_field_container {
  display: none;
}
body.page-bingo-front *[data-search] .close_search {
  display: none;
}
/* Games Title */
.block-bingo .container {
  -webkit-box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.75);
  background-color: #fff;
  margin-top: -12px;
}
.block-bingo .container ul.menu {
  background-color: #f3e5f4;
  margin: 12px 0 6px 0;
}
@media only screen and (max-width: 767px) {
  .block-bingo .container ul.menu {
    background-color: #ec018c;
    color: #f3e5f4;
  }
}
.block-bingo .container div {
  margin: 0 0 0 0px;
  text-align: center;
  padding-top: 0px;
}
body.smartphone .block-bingo .container ul.menu,
body.tablet .block-bingo .container ul.menu {
  background: #ec018c;
}
body.smartphone .block-bingo .container ul.menu li.title-mob,
body.tablet .block-bingo .container ul.menu li.title-mob,
body.smartphone .block-bingo .container ul.menu li.title,
body.tablet .block-bingo .container ul.menu li.title {
  color: #FFF;
}
body.smartphone .bingo-games .front-games-title h2,
body.tablet .bingo-games .front-games-title h2 {
  background: #ec018c;
  color: #FFF;
}
body.page-games .view-games,
body.page-games .game-list {
  padding-top: 5px;
}
body.page-games .view-games .view-content,
body.page-games .game-list .view-content {
  line-height: 0px;
}
body.page-games .page-content {
  padding-bottom: 0px;
}
.block-bingo.bingo-games {
  background-color: #FFF;
}
.page-bingo-front .block-bingo.bingo-games ul.title li {
  text-indent: 16px;
}
.block-bingo.bingo-games ul.bingo-playtech-games li {
  padding: 3px 0;
}
.page-bingo-front .block-bingo.bingo-games ul.title li {
  text-indent: 16px;
}
body.page-bingo-front .front-games-title {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
}
body.page-bingo-front .front-games-title .launch-bingo {
  background-color: #ec018c;
  color: #f3e5f4;
}
@media only screen and (max-width: 767px) {
  body.page-bingo-front .front-games-title .launch-bingo {
    background-color: #f3e5f4;
    color: #ec018c;
  }
}
@media only screen and (max-width: 567px) {
  body.page-bingo-front .front-games-title .launch-bingo {
    display: none;
  }
}
body.page-bingo-front .front-games-title .launch-bingo:hover {
  text-decoration: none;
  background-color: #ff53b9;
}
body.page-bingo-front .front-games-title h2 {
  color: #ec018c;
  background-color: #f3e5f4;
}
@media only screen and (max-width: 767px) {
  body.page-bingo-front .front-games-title h2 {
    color: #f3e5f4;
    background-color: #ec018c;
  }
}
body.page-bingo-front ul.bingo-playtech-games li:last-child {
  width: 12%;
}
@media screen and (max-width: 1024px) {
  body.page-bingo-front ul.bingo-playtech-games li:last-child {
    width: 11%;
  }
}
@media only screen and (max-width: 767px) {
  body.page-bingo-front ul.bingo-playtech-games li:last-child {
    width: 12%;
  }
}
@media only screen and (max-width: 567px) {
  body.page-bingo-front ul.bingo-playtech-games li:last-child {
    width: 15%;
  }
}
.page-contact-us .region-content a,
.page-enjoy-responsibly .region-content a,
.page-terms-and-conditions .region-content a {
  color: #242424;
  text-decoration: underline;
}
/* Game info Page */
.page-game-info .region-content {
  padding: 0 125px;
}
@media screen and (max-width: 1024px) {
  .page-game-info .region-content {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .page-game-info .region-content {
    padding: 0 10px;
  }
}
.page-game-info .region-content:before {
  content: '';
  height: 1px;
  width: 65%;
  position: relative;
  top: 0;
  left: 0;
  background-color: #ed028b;
  display: block;
}
@media only screen and (max-width: 414px) {
  .page-game-info .region-content:before {
    display: none;
  }
}
@media only screen and (max-width: 414px) {
  .page-game-info .game-info-image {
    text-align: center;
  }
}
.page-game-info .game-info-details {
  width: 24%;
}
@media only screen and (max-width: 767px) {
  .page-game-info .game-info-details {
    width: 45%;
  }
}
@media only screen and (max-width: 567px) {
  .page-game-info .game-info-details {
    width: 45%;
  }
}
@media only screen and (max-width: 413px) {
  .page-game-info .game-info-details {
    width: 80%;
  }
}
.page-game-info .game-info-details li {
  color: #ed028b;
  font-weight: bold;
  border-bottom: 1px solid #ed028b;
}
.page-game-info .device-available-container .device-available-text {
  color: #ed028b;
  font-weight: bold;
}
.page-game-info .game_launch_buttons .button.play-for-fun,
.page-game-info .game_launch_buttons .button.play-for-real,
.page-game-info .game_launch_buttons .button.play-for-fun .action-button-inner,
.page-game-info .game_launch_buttons .button.play-for-real .action-button-inner {
  font-size: 14px;
}
.page-game-info .game_launch_buttons .button.play-for-fun {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.page-game-info .game_info_content {
  border-bottom: 1px solid #ed028b;
}
/* Pre buy tickets */
.prebuy-tickets {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  display: block;
  background: #f3e5f4;
  font-weight: 700;
  font-size: 16px;
}
.prebuy-tickets a {
  color: #fff;
  width: 19%;
  margin: 10px auto;
  display: block;
  background: #EC178C;
  border: 1px solid #FFF;
  text-align: center;
  padding: 8px 0;
}
@media only screen and (max-width: 567px) {
  .prebuy-tickets a {
    width: 95%;
    margin: 5px auto;
    font-size: 20px;
  }
}
.prebuy-tickets a:hover {
  color: #FFF;
  text-decoration: none;
}
body.smartphone .prebuy-tickets,
body.tablet .prebuy-tickets {
  background: transparent;
}
body.smartphone .prebuy-tickets a,
body.tablet .prebuy-tickets a {
  margin-top: 0;
}
body.page-timetable .prebuy-tickets {
  display: none;
}
/* Rotation */
@-webkit-keyframes rotating {
  /* Safari and Chrome */
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.rotating {
  -webkit-animation: rotating 1s linear infinite;
  -moz-animation: rotating 1s linear infinite;
  -ms-animation: rotating 1s linear infinite;
  -o-animation: rotating 1s linear infinite;
  animation: rotating 1s linear infinite;
}
.page-node table {
  max-width: 100%;
  width: 100%;
  table-layout: fixed;
  text-align: center;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -o-transition: 0.25s;
  transition: 0.25s;
}
.page-node table,
.page-node table th,
.page-node table td {
  border: none;
}
.page-node table th {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: bold;
  background: #ec018c;
  color: #f3e5f4;
}
.page-node table,
.page-node table td {
  border-bottom: 1px solid #ddd;
}
.page-node table tr:hover td {
  background: #d3017d;
  color: #fff;
  transform: scale(1.1);
}
.page-node table tr:hover a {
  color: #fff;
}
.page-node table tr {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  background-color: #eee;
}
.page-node table tr:first-child {
  background: #ec018c;
  padding: 10px;
}
.page-node table th,
.page-node table td,
.page-node table p {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
}
@media only screen and (max-width: 567px) {
  .page-node table th,
  .page-node table td,
  .page-node table p {
    font-size: 10px;
  }
}
.page-node table th {
  margin: 10px;
}
.page-node table th,
.page-node table td {
  padding: 8px;
}
.page-node table tr:first-child td {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  text-transform: uppercase;
  color: #eee;
  padding: 0.5em;
}
.wrapper-dropdown-2 {
  position: relative;
  padding: 0.5em;
  margin: 0 auto;
  background: white;
  color: #4b0b4a;
  outline: none;
  cursor: pointer;
  font-size: 1em;
}
.wrapper-dropdown-2::after {
  content: " ";
  color: #fff;
  background: #ec018c;
  position: absolute;
  font-family: 'icomoon', san-serif;
  content: '\e906';
  top: 0;
  right: 0;
  height: 100%;
  padding: 0 0.5em;
}
.wrapper-dropdown-2,
.wrapper-dropdown-2::after {
  border-radius: 3px;
}
.wrapper-dropdown-2 .dropdown {
  margin-top: 0;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border-radius: 3px;
  list-style: none;
  padding: 0;
  z-index: 100;
}
.wrapper-dropdown-2 .dropdown li {
  position: relative;
  width: 100%;
}
.wrapper-dropdown-2 .dropdown li:first-child,
.wrapper-dropdown-2 .dropdown li:first-child a,
.wrapper-dropdown-2 .dropdown li:first-child a::after {
  border-radius: 0 3px 0 0;
}
.wrapper-dropdown-2 .dropdown li:last-child,
.wrapper-dropdown-2 .dropdown li:last-child a,
.wrapper-dropdown-2 .dropdown li:last-child a::after {
  border-radius: 0 0 3px 0;
}
.wrapper-dropdown-2 .dropdown li:last-child a {
  border-bottom: none;
}
.wrapper-dropdown-2 .dropdown a {
  display: block;
  padding: 0.5em 0;
  padding-left: 0.5em;
  border-bottom: dotted 1px #ec018c;
  color: #4b0b4a;
}
.wrapper-dropdown-2 .dropdown a::after {
  content: "";
  width: 0.5em;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: #ec018c;
  z-index: 2;
}
.wrapper-dropdown-2 .dropdown a:hover {
  background: #ec018c;
  color: #4b0b4a;
  border-color: #fff;
  text-decoration: none;
}
.wrapper-dropdown-2 .dropdown a:hover::after {
  background: #4b0b4a;
}
.container-inline div,
.container-inline label {
  display: inline-block;
}
/*======================================
  Selectric v1.9.3
======================================*/
.container-inline .selectric-hide-select {
  display: none;
}
.selectric-wrapper {
  position: relative;
  cursor: pointer;
}
.selectric-responsive {
  width: 100%;
}
.selectric {
  padding: 0.2em;
  width: 3.5em;
  background: white;
  color: #4b0b4a;
  outline: none;
  cursor: pointer;
  font-size: 1em;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .page-forgotten-details .selectric {
    padding: 0.3em;
    width: 5em;
  }
}
.selectric .label {
  overflow: hidden;
  margin: 0;
  text-align: left;
  display: inline;
  padding-left: 0.2em;
}
.selectric .button {
  color: #fff;
  background: #ec018c;
  padding: 0 0.2em 0.1em 0;
  float: right;
  clear: left;
}
@media only screen and (max-width: 567px) {
  .page-forgotten-details .selectric .button {
    padding-bottom: 0;
  }
}
.selectric .button::after {
  content: " ";
  padding: 0;
  font-family: 'icomoon', san-serif;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transition: 0.2s ease-in all;
  content: '\e909';
}
.selectric,
.selectric .button {
  border-radius: 3px;
}
.selectric-open .selectric {
  border-color: #C4C4C4;
}
.selectric-hover .selectric {
  border-color: #C4C4C4;
}
.selectric-hover .selectric .button {
  color: #A2A2A2;
}
.selectric-hover .selectric .button:after {
  border-top-color: #A2A2A2;
}
.selectric-open {
  z-index: 9999;
}
.selectric-disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  cursor: default;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.selectric-hide-select {
  position: relative;
  overflow: hidden;
  width: 0;
  height: 0;
}
.selectric-hide-select select {
  position: absolute;
  left: -100%;
  display: none;
}
.selectric-input {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  outline: none !important;
  border: none !important;
  *font: NaN a !important;
  background: none !important;
}
.selectric-temp-show {
  position: absolute !important;
  visibility: hidden !important;
  display: block !important;
}
/* Items box */
.selectric-items {
  position: absolute;
  top: 100%;
  left: 0;
  background: #F8F8F8;
  border: 1px solid #C4C4C4;
  z-index: -1;
  box-shadow: 0 0 10px -6px;
}
.selectric-open .selectric-items,
.container-inline .selectric-open .selectric-items {
  display: block;
}
.selectric-items,
.container-inline .selectric-items {
  display: none;
}
.selectric-items .selectric-scroll {
  height: 100%;
  overflow: auto;
  display: block;
}
.selectric-above .selectric-items {
  top: auto;
  bottom: 100%;
}
.selectric-items ul,
.selectric-items li {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 12px;
  line-height: 20px;
  min-height: 20px;
}
.selectric-items li {
  display: block;
  padding: 8px;
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #EEE;
  color: #666;
  cursor: pointer;
}
.selectric-items li.selected {
  background: #EFEFEF;
  color: #444;
}
.selectric-items li:hover {
  background: #F0F0F0;
  color: #444;
}
.selectric-items .disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  cursor: default !important;
  background: none !important;
  color: #666 !important;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.selectric-items .selectric-group .selectric-group-label {
  font-weight: bold;
  padding-left: 10px;
  cursor: default;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background: none;
  color: #444;
}
.selectric-items .selectric-group.disabled li {
  filter: alpha(opacity=100);
  opacity: 1;
}
.selectric-items .selectric-group li {
  padding-left: 25px;
}
@media screen and (max-width: 1024px) {
  .page-forgotten-details #dob div {
    margin-left: 10px;
  }
}
@media only screen and (max-width: 455px) {
  .page-forgotten-details #dob div {
    margin-left: 0;
  }
}
@media screen and (max-width: 1024px) {
  .page-forgotten-details #dob div:first-of-type {
    margin-left: 0;
  }
}
@media only screen and (max-width: 413px) {
  .page-forgotten-details #dob div:first-of-type {
    margin-left: 2px;
  }
}
@media only screen and (max-width: 567px) {
  .forgotten-details .form-style #dob {
    margin-left: 0;
  }
}
.messages {
  border-radius: 6px;
}
.messages.error {
  background: #d71716;
  color: #fffeff;
}
.forgotten-details {
  width: 50%;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .forgotten-details {
    width: auto;
  }
}
@media only screen and (max-width: 567px) {
  .page-forgotten-details #dob div {
    margin-right: 10px;
  }
}
.forgotten-details .form-style {
  width: auto;
}
.forgotten-details .form-style #dob {
  margin-left: 15px;
  clear: none;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .forgotten-details .form-style #dob {
    margin: 0 5%;
    display: block;
    margin-left: 18.8%;
  }
  .forgotten-details .form-style #dob .selectric {
    display: block;
  }
}
@media only screen and (max-width: 567px) {
  .forgotten-details .form-style #dob {
    margin-left: 4%;
  }
}
@media only screen and (max-width: 455px) {
  .forgotten-details .form-style #dob {
    margin-left: 6%;
  }
}
@media only screen and (max-width: 413px) {
  .forgotten-details .form-style #dob {
    margin-left: 10px;
  }
}
@media only screen and (max-width: 567px) {
  .forgotten-details .form-style .form-item.form-type-select.form-item-date-select-day .selectric-form-select,
  .forgotten-details .form-style .form-item.form-type-select.form-item-date-select-month .selectric-form-select {
    width: auto !important;
    display: block;
  }
}
.forgotten-details .form-style legend {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  color: #ec018c;
  font-size: 15px;
  text-transform: uppercase;
}
.forgotten-details .form-style .form-item label {
  display: block;
  padding-left: 15px;
  float: none;
  width: auto;
  text-align: left;
}
@media screen and (max-width: 1024px) {
  .forgotten-details .form-style .form-item label {
    padding: 1px;
  }
}
@media only screen and (max-width: 567px) {
  .forgotten-details .form-style .form-item label {
    padding-left: 30px;
  }
}
@media only screen and (max-width: 413px) {
  .forgotten-details .form-style .form-item label {
    padding-left: 15px;
  }
}
.forgotten-details .form-style div.form-item span.error,
.forgotten-details .form-style input[type="text"],
.forgotten-details .form-style form.form-style input[type="password"],
.forgotten-details .form-style input[type="search"],
.forgotten-details .form-style input[type="email"],
.forgotten-details .form-style input[type="tel"],
.forgotten-details .form-style input[type="url"],
.forgotten-details .form-style input[type="number"] {
  display: block;
  margin-left: 15px;
  width: auto;
}
.forgotten-details .form-style div.form-item span.error {
  display: inline-block;
}
@media screen and (max-width: 1024px) {
  .forgotten-details .form-style div.form-item span.error {
    display: block;
    width: 60%;
    margin: 5px auto;
  }
}
@media only screen and (max-width: 567px) {
  .forgotten-details .form-style div.form-item span.error {
    display: block;
    text-align: center;
    width: 90%;
    margin: 5px auto;
  }
}
.forgotten-details .form-style input[type="text"],
.forgotten-details .form-style form.form-style input[type="password"],
.forgotten-details .form-style input[type="search"],
.forgotten-details .form-style input[type="email"],
.forgotten-details .form-style input[type="tel"],
.forgotten-details .form-style input[type="url"],
.forgotten-details .form-style input[type="number"] {
  border-radius: 6px;
}
.forgotten-details .form-style input[type="submit"].form-submit {
  margin-left: 15px;
  display: block;
}
.forgotten-details .form-style .form-item-date-select-year .selectric-form-select {
  width: auto !important;
}
.forgotten-details .form-style .form-item-date-select-year .selectric-form-select .selectric {
  width: 90px;
}
@media only screen and (max-width: 567px) {
  .page-reset-password form.form-style .form-item label,
  .page-change-password form.form-style .form-item label,
  .page-register form.form-style .form-item label,
  .page-forgotten-details form.form-style .form-item label,
  .page-register-variation1 form.form-style .form-item label {
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .page-forgotten-details input#forgotten_username,
  .page-forgotten-details input#email {
    margin: 0 auto;
    width: 60%;
  }
}
@media only screen and (max-width: 567px) {
  .page-forgotten-details input#forgotten_username,
  .page-forgotten-details input#email {
    width: 90%;
  }
}
@media only screen and (max-width: 455px) {
  .page-forgotten-details input#forgotten_username,
  .page-forgotten-details input#email {
    width: 87%;
  }
}
@media only screen and (max-width: 413px) {
  .page-forgotten-details input#forgotten_username,
  .page-forgotten-details input#email {
    width: 91%;
  }
}
.details-updated-message a {
  color: #000;
}
.page-forgotten-details .block-forms.forgotten-details {
  overflow-x: hidden;
}
.vn-bingo.promotions-vertical .item-list ul.pager {
  display: none;
}
.wrapper_overlay {
  width: auto;
  padding: 20px 20px;
}
.wrapper_overlay .play_for_real,
.wrapper_overlay .play_for_fun,
.wrapper_overlay .game_title {
  cursor: pointer;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.wrapper_overlay .game_title {
  text-align: center;
  text-transform: capitalize;
  padding-bottom: 5px;
  border-bottom: 1px solid #ec018c;
  font-size: 20px;
}
.wrapper_overlay .play_for_real:hover {
  text-decoration: none !important;
}
.wrapper_overlay .play_for_real.disabled {
  background: #c9c1c9 !important !important;
  text-shadow: 0 0 0 transparent !important;
  cursor: default !important;
  border-color: #fff !important;
}
.wrapper_overlay .play_for_real.disabled:active {
  transform: none !important !important;
  box-shadow: 0 0 0 transparent !important !important;
}
.wrapper_overlay .play_for_fun {
  width: 100px;
  padding: 5px 0;
}
.wrapper_overlay .more_info {
  text-transform: capitalize;
}
.wrapper_overlay .more_info_container a.more_info {
  text-decoration: underline;
}
.wrapper_overlay .info {
  display: none;
}
.modal.fade .modal-dialog .close {
  top: 0;
  right: 3%;
}
.modal.fade .modal-dialog .close .icon-close::before {
  content: "\e90a";
  font-size: 20px;
}
.modal.fade.login-modal .modal-dialog .close {
  top: 4px;
  right: 2%;
}
@media only screen and (max-width: 455px) {
  .modal.fade.login-modal .modal-dialog .close {
    top: 0;
  }
}
.modal.fade.login-modal.fpass-ver .modal-dialog .close {
  top: 0;
}
.vn-bingo.promotions-vertical .item-list ul.pager {
  display: none;
}
.page-page-not-found .node-page a {
  color: #ed028b;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
body.tablet .column2-6 {
  display: none;
}
@media screen and (max-width: 1024px) {
  .block-forms.register {
    width: 90%;
    margin: 0 auto;
    max-width: 500px;
  }
  .block-forms.register input {
    border-radius: 3px;
  }
  .block-forms.register input,
  .block-forms.register .form-item span.error,
  .block-forms.register select#title,
  .block-forms.register #dob {
    margin: 0 !important;
  }
  .block-forms.register input,
  .block-forms.register .form-item span.error {
    width: 100% !important;
  }
  .block-forms.register .form-item span.error {
    margin-top: 2px !important;
    font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
    font-weight: bold;
  }
  .block-forms.register form.form-style fieldset span.title {
    left: 0 !important;
  }
  .block-forms.register fieldset.form-wrapper {
    border-bottom: solid 1px #3e3a51;
    padding-bottom: 5px;
  }
  .block-forms.register fieldset.form-wrapper:last-child,
  .block-forms.register fieldset.form-wrapper#edit-promocode {
    border-bottom: none;
  }
  .block-forms.register #postcode_searchbutton {
    border: none !important;
    font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
    font-weight: bold;
  }
  .block-forms.register .form-checkbox {
    width: 20px !important;
  }
  .page-register .form.form-style .description {
    margin-bottom: 30px !important;
  }
  .page-register .form-item label {
    margin-left: 0;
  }
  .page-register .form-item {
    z-index: 0 !important;
  }
}
@media only screen and (min-width: 768px) {
  .page-game-info .related-content {
    padding: 0;
    margin: 0;
    width: 33%;
  }
  .page-game-info .related-content .view-content .views-field-field-related-content-image .field-content {
    text-align: left;
  }
  .page-game-info .related-content:nth-child(2n+1) {
    margin: 0 0.5%;
  }
  .page-game-info .related-content:nth-child(2n+1) .view-content .views-field-field-related-content-image .field-content {
    text-align: center;
  }
  .page-game-info .related-content:nth-child(3n+1) .view-content .views-field-field-related-content-image .field-content {
    text-align: right;
  }
  .page-game-info .related-content .button-3 {
    margin-left: -70px !important;
    bottom: 10px !important;
  }
}
.page-game-info .related-content .button-3 {
  bottom: 10px !important;
}
.page-game-info .related-content .view-content .views-field-field-related-content-text .field-content {
  text-align: center;
  padding-top: 1em;
  color: #fff;
}
@media only screen and (max-width: 567px) {
  .page-game-info .related-content {
    width: 100%;
  }
}
figure {
  margin: 0;
}
figcaption {
  display: block;
  position: relative;
  text-align: left;
  background: #ed028b;
  color: #f3e5f4;
}
figcaption::before {
  text-align: center;
  content: "!";
  display: block;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 700;
  top: -5px;
  left: 10px;
  border-radius: 50%;
  background: #ed028b;
  box-shadow: inset -25px -25px 40px rgba(0, 0, 0, 0.5);
  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 220, 0.3) 0%, transparent 100%);
  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 220, 0.3) 0%, transparent 100%);
  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 220, 0.3) 0%, transparent 100%);
  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 220, 0.3) 0%, transparent 100%);
  height: 50px;
  width: 50px;
  position: absolute;
  font-size: 40px;
  line-height: 45px;
}
figcaption.no-ball {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
}
figcaption.no-ball::before {
  display: none;
}
figcaption.centered {
  padding-left: 0;
  text-align: center;
}
.info-panel {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  padding: 5px;
  display: block;
  background: #ed028b;
  margin: 10px;
  color: #f3e5f4;
}
body.vn-bingo.page-welcome-bingo .column2-6 {
  float: left;
  width: 33.3333333333%;
}
.center-block {
  text-align: center;
}
a.welcome-offer {
  display: block;
  margin: 10px;
}
.title {
  font-size: 19px;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
}
@media screen and (min-width: 1025px) {
  body.tablet .title {
    line-height: 45px;
  }
}
@media only screen and (max-width: 767px) {
  .title {
    font-size: 24px;
  }
}
@media only screen and (max-width: 455px) {
  .title {
    font-size: 19px;
  }
}
.title.vcenter {
  line-height: 45px;
}
@media only screen and (max-width: 827px) {
  .title.vcenter {
    line-height: normal;
  }
}
@media only screen and (max-width: 850px) and (orientation: portrait) {
  .title.vcenter {
    line-height: normal;
  }
}
@media only screen and (max-width: 767px) {
  .title.vcenter {
    line-height: 45px;
  }
}
@media only screen and (max-width: 413px) {
  .title.vcenter {
    line-height: 45px;
  }
}
.page-welcome .welcome_panels li .button-style {
  margin: 10px auto 5px auto;
  max-width: 75%;
  font-size: 30px;
}
.page-welcome .title {
  min-height: 45px;
  padding: 10px;
}
body.page-welcome.page-bingo .page-content,
body.page-welcome .node-page .content,
body.page-welcome .node-terms .content {
  background-color: transparent;
  box-shadow: 0 0 0 transparent;
}
.page-welcome .page-content {
  padding-bottom: 0;
}
.page-welcome .region-content .node-page .content,
.page-welcome .region-content .node-terms .content {
  margin: 0;
  padding: 0;
}
.page-welcome hr {
  height: 5px;
  background: #f3e5f4;
  margin: 0;
}
.page-welcome .welcome_panels li {
  margin-top: 0;
}
.page-welcome .welcome_panels li,
.page-welcome .welcome-text {
  text-align: center;
}
@media only screen and (max-width: 567px) {
  .page-welcome .welcome_panels li {
    padding: 10px 0 20px 0;
  }
}
.page-welcome p {
  color: #f3e5f4;
}
.page-welcome a.more-info {
  text-transform: capitalize;
  font-size: 14px;
  padding: 10px 0;
}
.page-content .node .content .page-welcome a.more-info,
.page-content .node .content .page-welcome a.more-info:hover,
.page-content .node .content .page-welcome a.more-info:visited {
  color: #f3e5f4;
  font-weight: 100;
}
.page-welcome .secondary_panels {
  text-align: center;
  list-style: none;
}
.page-welcome .secondary_panels h2 {
  margin-bottom: 5px;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 100;
}
.page-welcome .secondary_panels .telephone_support,
.page-welcome .secondary_panels h2 {
  color: #f3e5f4;
}
.page-welcome .secondary_panels .js-playtech-chat {
  margin: 5px 0;
}
@media only screen and (max-width: 567px) {
  .page-welcome .secondary_panels .support_options {
    margin-bottom: 10px;
  }
}
.page-register .block-forms.register form.form-style fieldset span.title {
  font-size: 13px;
}
.form-style #postcode_searchbutton {
  padding: 3px 0;
}
.four-most-popular-games .view-content {
  line-height: 0;
}
.page-content .node .content a,
.page-content .view a {
  cursor: pointer;
  color: #F40191;
  font-weight: bold;
}
.content .page-content .node .content a,
.content .page-content .view a {
  text-decoration: underline;
}
.page-content .node .content a:hover,
.page-content .view a:hover {
  color: #DD0A1D;
}
.page-content .node .content a:visited,
.page-content .view a:visited {
  color: #DD0A1D;
}
.page-content .node .content tr:hover a {
  color: #fff;
  text-decoration: underline;
}
@media only screen and (max-width: 413px) {
  body.page-game-info .block-system {
    display: none;
  }
}
@media only screen and (max-width: 567px) {
  .modal.fade.gameInfo-modal .modal-dialog .close {
    right: 3%;
  }
}
@media only screen and (max-width: 767px) {
  .page-game-info .region-content:before {
    width: 60%;
  }
}
@media only screen and (max-width: 567px) {
  .page-game-info .region-content:before {
    width: 55%;
    height: 2px;
  }
}
@media only screen and (max-width: 414px) {
  .page-game-info .region-content:before {
    display: block;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .region-content:before {
    margin-bottom: 5px;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .game_launch_buttons > span,
  .page-game-info .game_launch_buttons {
    text-align: center;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .game_launch_buttons {
    width: 100%;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .game_launch_buttons .button {
    float: none;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .game_launch_buttons .button.play-for-real {
    padding: 5px 50px;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .game-info-image {
    width: 230px;
  }
}
@media screen and (min-width: 1025px) {
  .page-game-info .device-available-container {
    margin-right: 20px;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .device-available-container {
    margin-left: 20%;
  }
}
.page-game-info .device-available-container .device-available {
  margin-left: 0;
}
@media only screen and (max-width: 455px) {
  .page-game-info .game_launch_buttons .button.play-for-fun {
    padding-top: 2px;
    padding-bottom: 2px;
    margin-left: 30%;
    width: 35%;
    float: left;
  }
}
.page-game-info .game-info-details {
  width: auto;
  margin: 0 10px 0 0;
  padding: 0;
}
.page-game-info .game-info-details .item-list {
  width: 100%;
  margin-bottom: 15px;
  margin-right: 120px;
  margin-top: 22px;
}
@media only screen and (max-width: 767px) {
  .page-game-info .game-info-details .item-list {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .game-info-details .item-list {
    margin-left: 70px;
    width: 60%;
  }
}
@media only screen and (max-width: 413px) {
  .page-game-info .game-info-details .item-list {
    margin-right: 0;
  }
}
.page-game-info .device-available-container {
  margin-left: 0;
}
@media screen and (min-width: 1025px) {
  .page-game-info .device-available-container {
    float: left;
  }
}
@media only screen and (max-width: 767px) {
  .page-game-info .device-available-container {
    float: left;
    margin-left: 0;
  }
}
@media only screen and (max-width: 455px) {
  .page-game-info .device-available-container {
    margin-left: 20%;
  }
}
@media only screen and (max-width: 413px) {
  .page-game-info .device-available-container {
    margin-left: 17%;
  }
}
.page-game-info .region-content h3 {
  margin: 0;
}
.page-game-info .region-content h3 + p {
  margin-top: 5px;
}
body.page-help .page-content {
  padding-top: 0;
}
.page-getting-started .region-content {
  padding-top: 0;
}
[class*="block-grid-"]:before,
[class*="block-grid-"]:after {
  content: " ";
  display: table;
}
[class*="block-grid-"]:after {
  clear: both;
}
.small-block-grid-4 {
  list-style: none;
  margin: 0;
  padding: 0;
}
.small-block-grid-4 > li {
  float: left;
  width: 25%;
}
.small-block-grid-4 > li img {
  max-width: 100%;
  box-sizing: border-box;
  padding: 2px 2px;
}
body.desktop .promo-page .button-3 {
  font-size: 1.2em;
}
.hcenter {
  margin: 0 auto;
  display: block;
  max-width: 100%;
}
figure {
  margin: 0;
}
figcaption {
  display: block;
  position: relative;
  text-align: left;
  padding: 10px 0;
  padding-left: 70px;
  background: #ed028b;
  color: #f3e5f4;
}
@media only screen and (max-width: 767px) {
  figcaption {
    padding: 10px;
  }
}
figcaption::before {
  text-align: center;
  display: block;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: 700;
  position: absolute;
  top: 50%;
  margin-top: -25px;
  left: 10px;
  height: 50px;
  width: 50px;
  font-size: 40px;
  line-height: 45px;
  content: "!";
  border-radius: 50%;
  background: #ed028b;
  box-shadow: inset -25px -25px 40px rgba(0, 0, 0, 0.5);
  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 220, 0.3) 0%, transparent 100%);
  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 220, 0.3) 0%, transparent 100%);
  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 220, 0.3) 0%, transparent 100%);
  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 220, 0.3) 0%, transparent 100%);
}
@media only screen and (max-width: 767px) {
  figcaption::before {
    position: static;
    float: left;
    margin-right: 10px;
    margin-top: -5px;
  }
}
@media only screen and (max-width: 567px) {
  figcaption::before {
    margin-top: 0;
    height: 45px;
    width: 45px;
    font-size: 30px;
    line-height: 45px;
  }
}
.views-field-title .field-content {
  margin: 0;
  padding-bottom: 0;
  font-size: 40px;
}
.field-items img {
  max-width: 100%;
}
.field-items .field-item > p:first-child {
  margin-top: 0;
}
.field-items h2,
.field-items h3 {
  font-size: 20px;
  color: #ed028b;
  padding-bottom: 0;
  margin-top: 30px;
  margin-bottom: 10px;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.field-items h2 + p,
.field-items h3 + p {
  margin-top: 0;
}
.field-items h3 {
  font-size: 18px;
}
.subtitle {
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 2px;
}
.subtitle.centered {
  text-align: center;
}
.impt-info {
  background: #f501b9;
  /* Old browsers */
  background: -moz-linear-gradient(top, #f501b9 0%, #ec018c 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #f501b9 0%, #ec018c 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #f501b9 0%, #ec018c 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f501b9', endColorstr='#ec018c', GradientType=0);
  /* IE6-9 */
  text-transform: uppercase;
  -webkit-box-shadow: -2px -1px 12px 2px rgba(0, 0, 0, 0.06);
  -moz-box-shadow: -2px -1px 12px 2px rgba(0, 0, 0, 0.06);
  box-shadow: -2px -1px 12px 2px rgba(0, 0, 0, 0.06);
  color: #fff;
  font-size: 16px;
  padding: 10px;
  text-align: center;
  border-radius: 24px;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.left-align {
  float: left;
  clear: right;
  width: 50%;
  height: 50%;
}
p:empty {
  margin: 0;
}
ol.special {
  margin: 0;
  padding: 0;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  list-style: none;
  overflow: auto;
}
ol.special li {
  box-sizing: border-box;
  float: left;
  width: 100%;
  padding: 10px;
  border-radius: 3px;
  background: #ba026d;
  margin: 5px 0;
  color: #fff;
  font-size: 16px;
}
ol.special li:last-child {
  border-bottom: none;
}
.page-content {
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  .page-content {
    margin-top: 0;
    box-shadow: 0 0 0 transparent;
    -webkit-box-shadow: 0 0 0 transparent;
  }
}
.page-bingo-front .page-content,
.page-games .page-content,
.page-bingo .page-content {
  margin-top: 0;
}
.panel {
  overflow: auto;
  width: 280px;
  display: inline-block;
  float: left;
  margin: 5px 10px;
}
* > .panel:first-child {
  margin-left: 0;
}
.panel .subject,
.panel .list {
  float: left;
  width: 100%;
}
.panel .subject {
  text-align: center;
}
.panel .subject img {
  max-height: 160px;
}
.panel .list {
  border: 1px solid #d2d2d2;
  box-sizing: border-box;
  list-style: none;
  display: table;
  margin: 0;
  padding: 0;
}
.panel .list li {
  padding: 10px 0 10px 10px;
  background: #eee;
  border-bottom: solid 1px #ddd;
}
.caption.alternate {
  display: block;
  text-align: center;
  background: #ed028b;
  color: #f3e5f4;
}
@media screen and (max-width: 1024px) {
  body.page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .search_box .search_icon,
  body.page-games .netplay-gameCategories.show_search_field .search_box .search_icon {
    color: #ec018c;
  }
}
body.page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .search_box .open_search,
body.page-games .netplay-gameCategories.show_search_field .search_box .open_search {
  top: 17px;
  font-size: 18px;
}
@media only screen and (max-width: 567px) {
  body.page-bingo-front.casino-vertical .netplay-gameCategories.show_search_field .search_box .open_search,
  body.page-games .netplay-gameCategories.show_search_field .search_box .open_search {
    left: 25px;
  }
}
@media screen and (min-width: 1025px) {
  .tablet.page-games .netplay-gameCategories .search_box .open_search {
    right: 1%;
  }
}
@media screen and (max-width: 1024px) {
  .tablet.page-games .netplay-gameCategories.show_search_field .search_box .close_search {
    right: 1%;
  }
}
@media screen and (max-width: 1024px) {
  .tablet.page-games .netplay-gameCategories.show_search_field .search_box .close_search {
    top: -7px;
  }
}
@media only screen and (max-width: 567px) {
  body.page-bingo-front.casino-vertical .search_box .open_search,
  body.page-games .search_box .open_search {
    left: 20px;
  }
}
.search_box .open_search i,
.search_box .close_search i {
  color: #f3e5f4;
}
@media screen and (max-width: 1024px) {
  .search_box .open_search i,
  .search_box .close_search i {
    color: #ed028b;
  }
}
.tablet .netplay-gameCategories .search_box .close_search i {
  color: #f3e5f4;
}
.tablet .netplay-gameCategories .search_box .close_search i {
  color: #f3e5f4;
}
@media only screen and (max-width: 567px) {
  body.page-bingo-front .netplay-gameCategories.bingo-games-search .title-mob {
    text-indent: 50px;
  }
}
.block-bingo .four-most-popular-games .container {
  box-shadow: 0 0 0 transparent;
}
.netplay-gameCategories .search_box .open_search,
.games_menu .search_box .open_search {
  -ms-transform: translateY(-68%);
}
.netplay-gameCategories.show_search_field .search_box .open_search,
.games_menu.show_search_field .search_box .open_search {
  -ms-transform: translateY(-51%);
}
.page-games .netplay-gameCategories .search_box .search_icon {
  color: #f3e5f4;
}
.page-games .show_search_field.netplay-gameCategories .search_box .search_icon,
body.page-games .netplay-gameCategories .search_box .search_field {
  color: #ec018c;
}
body.page-games .netplay-gameCategories.show_search_field .search_box .open_search {
  top: 25px;
}
@media screen and (max-width: 1024px) {
  body.page-games .netplay-gameCategories.show_search_field .search_box .open_search {
    top: 20px;
  }
}
body.page-games .netplay-gameCategories.show_search_field .search_box .close_search {
  top: 16px;
}
@media screen and (max-width: 1024px) {
  body.page-games .netplay-gameCategories.show_search_field .search_box .close_search {
    top: -3px;
    right: 4%;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet.page-games .netplay-gameCategories.show_search_field .search_box .open_search {
    top: 20px;
  }
}
@media screen and (min-width: 1025px) {
  body.tablet.page-games .netplay-gameCategories.show_search_field .search_box .close_search {
    top: 15px;
  }
}
@media screen and (max-width: 1024px) {
  body.tablet.page-games .netplay-gameCategories.show_search_field .search_box .close_search {
    right: 10px;
    top: -5px;
  }
}
.desktop.page-games .netplay-gameCategories .open_search {
  margin-left: 40px;
}
.desktop.page-games .netplay-gameCategories.show_search_field .open_search {
  margin-left: 20px;
}
.block-bingo .four-most-popular-games .container {
  box-shadow: 0 0 0 transparent;
}
@keyframes slidedown {
  from {
    height: 0;
    padding: 0;
    visibility: hidden;
  }
  to {
    height: auto;
    visibility: visible;
  }
}
.game_wrapper .jackpot_spinner {
  left: auto;
  bottom: auto;
  width: auto;
  top: 0;
  right: 0;
  color: #ed028b;
  background: #f3e5f4;
  padding: 0 10px;
  border-radius: 0 0 0 5px;
  font-size: 16px;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  text-shadow: 0 0 0 transparent;
}
@media only screen and (min-width: 768px) {
  body:not(.tablet) .jp-here.game_wrapper:hover .game_overlay .play_for_real {
    margin-top: 72px;
  }
  body:not(.tablet) .jp-here.game_wrapper:hover .jackpot_spinner {
    font-size: 20px;
    animation-duration: 0.3s;
    animation-name: slidedown;
    -webkit-filter: blur(0) saturate(100%);
    z-index: 1;
    padding: 10px 0;
    line-height: 20px;
    text-align: center;
    border-radius: 0;
    width: 100%;
  }
  body:not(.tablet) .jp-here.game_wrapper:hover .jackpot_spinner::before {
    content: "Jackpot";
    display: block;
    text-transform: uppercase;
    font-size: 16px;
  }
}
@media screen and (max-width: 1024px) {
  .game_wrapper .jackpot_spinner {
    left: auto;
    right: 0;
    width: auto;
    padding: 0 10px;
    text-shadow: 0 0 0 transparent;
    -webkit-border-radius: 0 0 0 5px;
    -moz-border-radius: 0 0 0 5px;
    border-radius: 0 0 0 5px;
    /* Prevent background color leak outs */
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
  }
  .game_wrapper .jackpot_spinner::before {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .game_wrapper .new-game.pop-image {
    display: block;
    position: absolute;
    top: 0;
    -webkit-border-radius: 0 0 6px 0;
    -moz-border-radius: 0 0 6px 0;
    border-radius: 0 0 6px 0;
    /* Prevent background color leak outs */
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
    left: 0;
    text-transform: uppercase;
    background: #ed028b;
    color: #f3e5f4;
    font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
    font-weight: bold;
    padding: 2px 5px;
  }
  .game_wrapper .jackpot_spinner {
    left: auto;
    right: 0;
    width: auto;
    padding: 0 10px;
    line-height: 20px;
    margin: 2px;
    color: rgba(237, 2, 139, 0.9);
    background: #f3e5f4;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    /* Prevent background color leak outs */
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
  }
  .game_wrapper .jackpot_spinner::before {
    display: none;
  }
  .game_wrapper .jackpot_spinner .currency-symbol,
  .game_wrapper .jackpot_spinner .odometer {
    display: none;
  }
  .game_wrapper .jackpot_spinner::after {
    content: "JP";
    padding: 2px 5px;
    font-size: 14px;
  }
}
.wrapper_overlay .jackpot_spinner {
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  display: block;
  width: 100%;
  padding: 5px 0;
  text-shadow: 0 1px 1px black, 0 0 5px #ed028b;
  background: #ed028b;
  color: #f3e5f4;
}
.game_wrapper .new-game,
.game_wrapper .new-game.pop-image {
  text-indent: 0;
  bottom: auto;
  width: auto;
  height: auto;
  right: auto;
  display: block;
  position: absolute;
  top: 0;
  -webkit-border-radius: 0 0 6px 0;
  -moz-border-radius: 0 0 6px 0;
  border-radius: 0 0 6px 0;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  left: 0;
  text-transform: uppercase;
  background: #ed028b;
  color: #f3e5f4;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  padding: 2px 5px;
}
body.vn-bingo.page-games .menu-items.long-tabs .search_box,
.page-games .netplay-gameCategories .search_box {
  background: #ec018c;
}
.modal.fade.lobby-choice-modal .modal-dialog {
  max-width: 700px;
}
.modal.fade.lobby-choice-modal .modal-dialog .close {
  right: 1%;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content {
  background-color: #4b0a4a;
  border-radius: 4px;
  border: 2px solid #FFF;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .title {
  color: #FFF;
  width: 100%;
  font-size: 1.5em;
  text-align: center;
  text-transform: none;
  font-weight: normal;
  margin-bottom: 10px;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .description {
  color: #FFF;
  width: 100%;
  border-top: 1px solid #CB1D88;
  border-bottom: 1px solid #CB1D88;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-bottom: 10px;
  font-size: 0.9em;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice {
  width: 100%;
  position: relative;
  float: left;
  margin-top: 20px;
  margin-bottom: 15px;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .new,
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .classic {
  width: 50%;
  position: relative;
  float: left;
  padding-left: 35px;
  padding-right: 35px;
  box-sizing: border-box;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .new a,
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .classic a {
  cursor: pointer;
  position: relative;
  float: right;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .new a.button,
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .classic a.button {
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
  display: block;
  width: 104px;
  text-align: center;
  font-size: 1em;
  padding-top: 5px;
  padding-bottom: 3px;
  font-weight: normal;
  margin-top: -2px;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .new img,
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .classic img {
  border: 2px solid #FFF;
  border-radius: 3px;
  max-width: 100%;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .classic a.button {
  color: #fff;
  background: #b5afb5;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .classic a.button:hover {
  background: #cfc8cf;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .classic a.button:active {
  background-color: #9c959c;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .new a.button {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .new a.button:hover {
  background: #c1f018;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .new a.button:active {
  background-color: #86a711;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .new a.button:hover {
  text-decoration: none;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .new a.button.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.modal.fade.lobby-choice-modal .modal-dialog .modal-content .choice .new a.button.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.footer_legal_text {
  color: #fff;
}
.primary-cta {
  color: #fff;
  background: #acd517;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  border: 2px solid #FFF;
  font-family: "proxima-nova-soft", sans-serif;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  padding: 5px;
}
.primary-cta:hover {
  background: #7d9f02;
}
.search_box .search_field_container .search_field {
  display: none;
}
/* IE10 hacks  */
_:-ms-input-placeholder,
.search_field {
  margin-top: 13px;
}
_:-ms-input-placeholder,
.icon-close {
  margin-top: 14px;
}
_:-ms-input-placeholder,
.netplay-gameCategories .search_box .open_search {
  top: 27px;
}
.games_menu .all_games_loaded .search_loading,
.games_menu .search_loading {
  display: none;
}
.games_menu.loading_all_games .search_loading {
  position: absolute;
  top: 37px;
  left: 10px;
  width: 16px;
  height: 11px;
  background: url(/assets/general/ajax-loader4.gif) no-repeat center center;
}
.show_search_field .spacer.first {
  width: 0;
}
.show_search_field .spacer.last {
  width: 65%;
}
.games_menu.show_search_field .spacer.first,
.netplay-gameCategories.show_search_field .spacer.first {
  width: 5%;
}
.games_menu.show_search_field .spacer.last,
.netplay-gameCategories.show_search_field .spacer.last {
  width: 0;
}
body.desktop .games_menu.show_search_field .spacer.first,
body.desktop .netplay-gameCategories.show_search_field .spacer.first {
  width: 5%;
}
body.desktop .games_menu.show_search_field .spacer.last,
body.desktop .netplay-gameCategories.show_search_field .spacer.last {
  width: 95%;
}
.search_field {
  outline: 0;
}
.search_field,
.show_search_field .search_field {
  background: #fff;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  /* Prevent background color leak outs */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.5);
  color: #ed028b;
}
.show_search_field .search_field {
  width: 138px;
  margin-right: 20px;
  padding: 5px 8px 3px 0;
  text-indent: 30px;
}
:root .search_field {
  margin-top: 13px\9;
  filter: none\9 !important;
}
.netplay-gameCategories .search_box .search_field_container .search_field,
.games_menu .search_box .search_field_container .search_field {
  position: absolute;
  display: block;
  right: 10px;
  top: 50%;
  width: 0;
  height: 20px;
  margin-top: -16px;
  padding: 4px 0;
  border: 0 none;
  font-size: 12px;
  line-height: 20px;
  transition: 0.3s;
}
.netplay-gameCategories.show_search_field .search_box .search_field,
.games_menu.show_search_field .search_box .search_field {
  right: 0;
  margin-right: 0;
  padding-right: 0;
  width: 100%;
  left: 16px;
}
.netplay-gameCategories .search_box,
.games_menu .search_box {
  background: #ec018c;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: table-cell;
  font-size: 14px;
  position: relative;
  right: 0;
  width: 20%;
  transition: 0.3s;
}
.vegas-vertical .netplay-gameCategories .search_box,
.vegas-vertical .games_menu .search_box {
  background: #e97d31;
}
body.desktop .netplay-gameCategories .search_box,
body.desktop .games_menu .search_box {
  margin-top: -54px;
  padding-right: 0;
}
@media only screen and (max-width: 567px) {
  body.desktop .netplay-gameCategories .search_box,
  body.desktop .games_menu .search_box {
    width: 100%;
  }
}
.show_search_field.netplay-gameCategories .search_box,
.show_search_field.games_menu .search_box {
  transition: 0.3s;
  display: block;
  position: relative;
  float: right;
  margin-top: -45px;
  transition-property: width;
  right: 0;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  .show_search_field.netplay-gameCategories .search_box,
  .show_search_field.games_menu .search_box {
    width: 30%;
  }
}
@media only screen and (max-width: 767px) {
  .show_search_field.netplay-gameCategories .search_box,
  .show_search_field.games_menu .search_box {
    width: 100%;
  }
}
@media only screen and (max-width: 413px) {
  .show_search_field.netplay-gameCategories .search_box,
  .show_search_field.games_menu .search_box {
    margin-top: -40px;
  }
}
.netplay-gameCategories .open_search,
.games_menu .open_search {
  position: absolute;
  transition: 0.3s;
  padding: 10px;
  top: 50%;
  transform: translateY(-55%);
  -webkit-transform: translateY(-55%);
  -ms-transform: translateY(-55%);
}
@media only screen and (max-width: 767px) {
  .netplay-gameCategories .open_search,
  .games_menu .open_search {
    transform: translateY(-56%);
    -webkit-transform: translateY(-56%);
    -ms-transform: translateY(-56%);
  }
}
@media only screen and (max-width: 413px) {
  .netplay-gameCategories .open_search,
  .games_menu .open_search {
    left: 25px;
  }
}
.netplay-gameCategories .open_search:hover,
.games_menu .open_search:hover {
  text-decoration: none;
}
.show_search_field.netplay-gameCategories .open_search,
.show_search_field.games_menu .open_search {
  left: 19px;
  cursor: default;
}
.show_search_field.netplay-gameCategories .open_search:hover,
.show_search_field.games_menu .open_search:hover {
  text-decoration: none;
}
.vegas-vertical .netplay-gameCategories li a.open_search:hover,
.vegas-vertical .netplay-gameCategories li a.open_search,
.vegas-vertical .games_menu li a.open_search:hover,
.vegas-vertical .games_menu li a.open_search {
  background: none;
}
.netplay-gameCategories.show_search_field .search_box .open_search,
.games_menu.show_search_field .search_box .open_search {
  left: 25px;
}
@media only screen and (max-width: 767px) {
  .netplay-gameCategories.show_search_field .search_box .open_search,
  .games_menu.show_search_field .search_box .open_search {
    left: 25px;
    transform: translateY(-49%);
    -webkit-transform: translateY(-49%);
    -ms-transform: translateY(-49%);
  }
}
@media only screen and (max-width: 413px) {
  .netplay-gameCategories.show_search_field .search_box .open_search,
  .games_menu.show_search_field .search_box .open_search {
    left: 29px;
    transform: translateY(-46%);
    -webkit-transform: translateY(-46%);
    -ms-transform: translateY(-46%);
  }
}
.netplay-gameCategories.show_search_field .search_box .open_search:hover,
.games_menu.show_search_field .search_box .open_search:hover {
  text-decoration: none;
}
.netplay-gameCategories .search_box .open_search {
  top: 27px\0;
}
.netplay-gameCategories .close_search,
.games_menu .close_search {
  cursor: pointer;
  overflow: hidden;
  transition: 0.3s;
  top: 10px;
  position: absolute;
  width: 0;
}
@media screen and (max-width: 1024px) {
  .netplay-gameCategories .close_search,
  .games_menu .close_search {
    top: 15px;
  }
}
@media only screen and (max-width: 413px) {
  .netplay-gameCategories .close_search,
  .games_menu .close_search {
    top: 4px;
  }
}
.netplay-gameCategories .close_search:hover,
.games_menu .close_search:hover {
  text-decoration: none;
}
.netplay-gameCategories.show_search_field .search_box .close_search,
.games_menu.show_search_field .search_box .close_search {
  overflow: visible;
  right: 37px;
  top: 5px;
}
@media only screen and (max-width: 767px) {
  .netplay-gameCategories.show_search_field .search_box .close_search,
  .games_menu.show_search_field .search_box .close_search {
    top: 7px;
  }
}
@media only screen and (max-width: 413px) {
  .netplay-gameCategories.show_search_field .search_box .close_search,
  .games_menu.show_search_field .search_box .close_search {
    top: 4px;
  }
}
body.desktop .netplay-gameCategories.show_search_field .search_box .close_search,
body.desktop .games_menu.show_search_field .search_box .close_search {
  top: 15px;
}
.popular-games-block .netplay-gameCategories.show_search_field .search_box .close_search,
.popular-games-block .games_menu.show_search_field .search_box .close_search,
body.desktop .popular-games-block .netplay-gameCategories.show_search_field .search_box .close_search,
body.desktop .popular-games-block .games_menu.show_search_field .search_box .close_search {
  top: 9px;
}
.netplay-gameCategories .search_box .search_icon,
.games_menu .search_box .search_icon {
  display: block;
  width: 16px;
  height: 16px;
  font-size: 16px;
  transition: 0.3s;
}
.netplay-gameCategories .search_box .search_field_container,
.games_menu .search_box .search_field_container {
  position: relative;
  margin-right: 46px;
  margin-left: 13px;
}
body.desktop .netplay-gameCategories .search_box .search_field_container,
body.desktop .games_menu .search_box .search_field_container {
  height: 100%;
  margin-right: 62px;
}
.netplay-gameCategories.show_search_field .search_box .search_field_container,
.games_menu.show_search_field .search_box .search_field_container {
  height: 46px;
  position: relative;
  margin-right: 61px;
  margin-left: 13px;
}
@media only screen and (max-width: 767px) {
  .netplay-gameCategories.show_search_field .search_box .search_field_container,
  .games_menu.show_search_field .search_box .search_field_container {
    height: 49px;
  }
}
@media only screen and (max-width: 413px) {
  .netplay-gameCategories.show_search_field .search_box .search_field_container,
  .games_menu.show_search_field .search_box .search_field_container {
    height: 44px;
  }
}
.netplay-gameCategories .search_box .icon-close,
.games_menu .search_box .icon-close {
  cursor: pointer;
  overflow: hidden;
  transition: 0.3s;
  width: 0;
  font-size: 3rem;
}
.netplay-gameCategories .close_search .icon-close:hover,
.games_menu .close_search .icon-close:hover {
  text-decoration: none;
}
:root .games_menu .icon-close {
  margin-top: 14px\9;
}
@media only screen and (max-width: 413px) {
  .netplay-gameCategories.show_search_field .icon-close,
  .games_menu.show_search_field .icon-close {
    margin-top: -10px;
  }
}
.login-modal .login-overlay-content.login-error .error_message {
  margin-bottom: 0.5em;
}
.not-logged-in .front-games-title .launch-bingo {
  display: none;
}
.basic-page.search-bar-enabled .region-banner {
  display: block;
}
.basic-page.search-bar-enabled .region-banner > *:not(.popular-games-block) {
  display: none;
}
body.page-bingo .bingo-timetable-filter form {
  display: none;
}
body.page-bingo .bingo-timetable {
  display: none;
}
body.page-bingo .bingo-timetable-paginator ul {
  display: none;
}
body.page-timetable .bingo-games {
  display: none;
}
.disable-login .header-button.account-button,
.disable-login #playtech_login_submit,
.disable-login .login-button,
.disable-login #forgotten-details-link {
  visibility: hidden;
}
.not-logged-in.disable-registration #registration_submit,
.not-logged-in.disable-registration #postcode_searchbutton,
.not-logged-in.disable-registration .register-button,
.not-logged-in.disable-registration .promo-register,
.not-logged-in.disable-registration .button-3,
.not-logged-in.disable-registration .button.success {
  visibility: hidden;
}
.region-banner .popular-games-block {
  float: left;
  margin-bottom: 15px;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .region-banner .popular-games-block {
    position: relative;
    z-index: 500;
  }
}
.page-bingo-front .region-banner .popular-games-block .game_wrapper {
  width: 19.5%;
  margin-bottom: 0.3em;
}
@media screen and (max-width: 1024px) {
  .page-bingo-front .region-banner .popular-games-block .game_wrapper:nth-child(5n) {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .page-bingo-front .region-banner .popular-games-block .game_wrapper {
    width: 24%;
    margin-bottom: 0.4em;
  }
}
@media only screen and (max-width: 414px) {
  .page-bingo-front .region-banner .popular-games-block .game_wrapper {
    width: 49%;
  }
}
.front-games-title,
.front-games-title h2 {
  position: relative;
}
.front-games-title .launch-bingo {
  position: absolute;
  right: 0;
  top: 0;
}
.bingo-timetable .front-games-title,
.bingo-games .front-games-title {
  display: none;
}
body.page-bingo-front h2 {
  margin: 0;
  padding: 0;
}
body.page-bingo-front .front-games-title {
  display: block;
}
body.page-bingo-front .front-games-title .launch-bingo {
  margin: 5px 0;
  margin-right: 5px;
  padding: 4px;
}
.region-content {
  z-index: 500;
}
/*
 * Panel
 * Can be refactored for Sidebar Jackpots/Popular Games as well as Pages to provide
 * equal spacing for all
 */
.rf-panel {
  display: inline-block;
  margin-bottom: 0.5rem;
}
/*
 * Header
 * Used with rf-panel on same elements
 */
.rf-header,
.rf-bingo-header {
  display: inline-block;
  margin: 0 0 0.5rem 0;
  padding: 0;
  width: 100%;
}
.rf-header h3,
.rf-bingo-header h3,
.rf-header h5,
.rf-bingo-header h5 {
  display: inline;
  margin: 0;
}
/*
 * List Grid
 * Currently is very specific and for future usage will need expansion to cover other page grid types
 */
[class^='rf-list-grid-'] {
  margin: 0;
  list-style: none;
  width: 100%;
  padding: 0 0.5em;
}
[class^='rf-list-grid-'],
[class^='rf-list-grid-'] > * {
  display: inline-block;
  box-sizing: border-box;
}
[class^='rf-list-grid-'] + [class^='rf-list-grid-'] {
  margin-top: 2rem;
}
[class^='rf-list-grid-'] > * {
  float: left;
}
.rf-list-grid-3 > * {
  width: 33.333%;
}
.rf-list-grid-2 > * {
  width: 50%;
}
/*
 * Icon
 * Adding one icon class (should be added to FLEX) can then be applied to all icons
 */
.rf-icon {
  display: block;
  height: 100%;
  width: 2.5rem;
  margin-left: 1rem;
  margin-right: 0.5rem;
}
/*
 * Bingo Games (Homepage) Specific Styles
 */
.bingo-playtech-games .rf-bingo-details {
  width: 60%;
  padding-top: 2vw;
}
@media only screen and (min-width: 768px) {
  .bingo-playtech-games .rf-bingo-details {
    padding-top: 1.2rem;
  }
}
@media only screen and (max-width: 413px) {
  .bingo-playtech-games .rf-bingo-details {
    padding-top: 0;
  }
}
@media only screen and (orientation: landscape) and (max-width: 767px) {
  .bingo-playtech-games .rf-bingo-details {
    padding-top: 3vw;
  }
}
@media screen and (min-width: 1025px) {
  .tablet .bingo-playtech-games .rf-bingo-details {
    padding-top: 2vw;
  }
}
.bingo-playtech-games .rf-bingo-details .rf-cta_real {
  padding: 0.5rem 0.3rem;
}
@media only screen and (orientation: landscape) and (max-width: 767px) {
  .bingo-playtech-games .rf-bingo-details .rf-cta_real {
    padding: 1rem 0.6rem;
  }
}
.bingo-playtech-games .rf-bingo-details ul li {
  display: inline;
}
.bingo-playtech-games .draw-time-value {
  display: block;
}
.bingo-playtech-games.rf-panel {
  box-sizing: border-box;
  margin-left: 0.5rem;
  width: 98%;
  background-color: #f3e5f4;
}
@media only screen and (min-width: 768px) {
  .bingo-playtech-games.rf-panel {
    width: 49%;
  }
}
.bingo-playtech-games .rf-bingo-header .card-price-value {
  padding-right: 0.5rem;
}
.bingo-playtech-games .rf-bingo-image {
  box-sizing: border-box;
  width: 40%;
  padding-left: 0.5rem;
  padding-bottom: 0.5rem;
}
.bingo-playtech-games .rf-bingo-image img {
  max-width: 100%;
}
.expanded {
  display: block;
}
.fl-left {
  float: left;
}
.fl-right {
  float: right;
}
.login-modal .action-button .loading {
  margin-left: 0;
}
.region-header .playtech-login-block .sign-in {
  width: 80px;
  margin: 4px;
  position: absolute;
  left: 152px;
  top: 35px;
}
.region-header .playtech-login-block .sign-in .textstuff {
  line-height: 27px;
}
.header-button.account-button.action-button.sign-in {
  width: 57px;
}
.login-modal form[name=playtech-login-form] #forgotten-details-link {
  top: -5.5em;
}
.responsive-header-buttons .action-button.sign-in .action-button-inner {
  padding: 0.4em 0.5em;
  font-size: 13px;
}
.page-game-info .page-content .action-button.sign-in .button-styles {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff;
  background: #b5afb5;
  border: 2px solid #fff;
}
.page-game-info .page-content .action-button.sign-in .button-styles:hover {
  background: #cfc8cf;
}
/*
 * Bingo Games (Homepage) Specific Styles
 */
.bingo-playtech-games .rf-icon {
  background: url('/assets/icons/bingo-balls.png') center top no-repeat;
}
.type-75-ball .rf-icon {
  background-position: center -100px;
}
.type-80-ball .rf-icon {
  background-position: center -135px;
}
.type-90-ball .rf-icon {
  background-position: center -67px;
}
.type-pattern-bingo .rf-icon {
  background-position: center -168px;
}
.type-joker-jackpot .rf-icon {
  background-position: center -33px;
}
.type-deal-or-no-deal-75 .rf-icon {
  background-position: center -308px;
}
.type-75-ball-pattern .rf-icon {
  background-position: center -202px;
}
.type-lucky-numbers .rf-icon {
  background-position: center -235px;
}
.type-deal-or-no-deal .rf-icon {
  background-position: center -270px;
}
/*
 * Defaults (not set anywhere else yet)
 */
h6 {
  color: #ec018c;
}
/*
 * Headers
 * Used with rf-panel on same elements
 */
.rf-header,
.rf-bingo-header {
  font-family: Proxima Nova Soft, proxima-nova-soft, sans-serif;
  text-transform: uppercase;
}
.rf-bingo-header {
  line-height: 2;
  background-color: #ec018c;
  color: #f3e5f4;
}
.bingo-playtech-games .rf-bingo-header h3 {
  font-size: 3vw;
}
@media only screen and (min-width: 768px) {
  .bingo-playtech-games .rf-bingo-header h3 {
    font-size: 1.65rem;
  }
}
@media only screen and (max-width: 413px) {
  .bingo-playtech-games .rf-bingo-header h3 {
    font-size: 4vw;
  }
}
@media only screen and (orientation: landscape) and (max-width: 767px) {
  .bingo-playtech-games .rf-bingo-header h3 {
    font-size: 2rem;
  }
}
.bingo-playtech-games .rf-bingo-details {
  font-family: Arial, sans-serif;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .bingo-playtech-games .rf-bingo-details {
    font-size: 3vw;
  }
}
@media only screen and (min-width: 768px) {
  .bingo-playtech-games .rf-bingo-details .rf-header {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .bingo-playtech-games .rf-bingo-details .rf-header {
    font-size: 3vw;
  }
}
@media only screen and (max-width: 413px) {
  .bingo-playtech-games .rf-bingo-details .rf-header {
    font-size: 4vw;
  }
}
@media only screen and (orientation: landscape) and (max-width: 767px) {
  .bingo-playtech-games .rf-bingo-details .rf-header {
    font-size: 2rem;
  }
}
.bingo-playtech-games .rf-bingo-details ul li {
  line-height: .9;
}
@media only screen and (min-width: 768px) {
  .bingo-playtech-games .rf-bingo-details ul li {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 413px) {
  .bingo-playtech-games .rf-bingo-details ul li {
    font-size: 3.5vw;
  }
}
@media only screen and (orientation: landscape) and (max-width: 767px) {
  .bingo-playtech-games .rf-bingo-details ul li {
    font-size: 2rem;
  }
}
.bingo-playtech-games .rf-bingo-details .rf-cta_real {
  font-size: 4.5vw;
}
@media only screen and (min-width: 768px) {
  .bingo-playtech-games .rf-bingo-details .rf-cta_real {
    font-size: 1.8rem;
  }
}
@media only screen and (orientation: landscape) and (max-width: 767px) {
  .bingo-playtech-games .rf-bingo-details .rf-cta_real {
    font-size: 2.5rem;
  }
}
.bingo-playtech-games .rf-bingo-details .draw-time-value {
  font-weight: bold;
}
/*
 * CTA `Success` Code
 * Will be used to replace all instances of Play for Real. Allowing us to keep colours, font style and states
 * whilst keeping
 */
.rf-cta_real {
  text-transform: uppercase;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  color: #fff !important;
  background: #abd516;
  border: 2px solid #fff;
  font-family: "Proxima Nova Soft", "proxima-nova-soft", sans-serif;
  font-weight: bold;
}
.rf-cta_real:hover {
  background: #c1f018;
}
.rf-cta_real:active {
  background-color: #86a711;
}
.rf-cta_real:hover {
  text-decoration: none;
}
.rf-cta_real.disabled {
  background: #c9c1c9 !important;
  text-shadow: 0 0 0 transparent;
  cursor: default;
  border-color: #fff;
}
.rf-cta_real.disabled:active {
  transform: none !important;
  box-shadow: 0 0 0 transparent !important;
}
.txt-center {
  text-align: center;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJpbmdvL2xlc3MvY29sb3Vycy5sZXNzIiwiRkxFWC9sZXNzL19yZXNldC5sZXNzIiwiRkxFWC9sZXNzL19kZXRhY2hlZC5sZXNzIiwiRkxFWC9sZXNzL19sb2dpbi5sZXNzIiwiRkxFWC9sZXNzL2dhbWVzLmxlc3MiLCJGTEVYL2xlc3MvX2xheW91dC5sZXNzIiwiRkxFWC9sZXNzL19wYWdlcy5sZXNzIiwiRkxFWC9sZXNzL19ibG9ja3MubGVzcyIsIkZMRVgvbGVzcy9fbG9hZGluZy5sZXNzIiwiRkxFWC9sZXNzL19tb2RhbC5sZXNzIiwiRkxFWC9sZXNzL2FjY291bnQubGVzcyIsIkZMRVgvbGVzcy9mb3Jtcy5sZXNzIiwiRkxFWC9sZXNzL2xvYmJ5X2NvbXBvbmVudHMubGVzcyIsIkZMRVgvbGVzcy9tZW51Lmxlc3MiLCJGTEVYL2xlc3Mvc3RhbGtlci5sZXNzIiwiRkxFWC9sZXNzL3ZpZGVvcy5sZXNzIiwiRkxFWC9sZXNzL2dhbWVfbm9kZXMubGVzcyIsIkJpbmdvL2xlc3MvZmVhdHVyZXMubGVzcyIsIkZMRVgvbGVzcy9fbWl4aW5zLmxlc3MiLCJCaW5nby9sZXNzL2lkZW50aXR5Lmxlc3MiLCJCaW5nby9sZXNzL2phY2twb3RzLmxlc3MiLCJGTEVYL2xlc3MvX2ljb25fZm9udHMubGVzcyIsIkJpbmdvL2xlc3MvcHJvbW90aW9ucy5sZXNzIiwiQmluZ28vbGVzcy9oZXJvLmxlc3MiLCJCaW5nby9sZXNzL3dpbm5lcnMubGVzcyIsIkJpbmdvL2xlc3Mvc2l0ZS5sZXNzIiwiQmluZ28vbGVzcy9nYW1lcy5sZXNzIiwiQmluZ28vbGVzcy9sYXlvdXQubGVzcyIsIkJpbmdvL2xlc3MvbG9hZGluZy5sZXNzIiwiQmluZ28vbGVzcy9pY29ucy5sZXNzIiwiQmluZ28vbGVzcy90eXBlLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNFZBO0VBQ0UsbUJBQUE7Ozs7OztBQVlGO0VBQ0Us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RztFT1dOLGNQWEcsSUFBRztFT1dOLHVCUFhHLElBQUc7RU9XTix5QlBYRyxJQUFHO0VPV04sd0JQWEcsSUFBRztFT1dOLHVCUFhHLElBQUc7RU9XTixxQlBYRyxJQUFHO0lBQ0QsaUJBQUE7O0VPVUwsb0JQUEc7RU9PSCxxQlBQRztFT09ILGNQUEc7RU9PSCx1QlBQRztFT09ILHlCUFBHO0VPT0gsd0JQUEc7RU9PSCx1QlBQRztFT09ILHFCUFBHO0lBQ0UsYUFBQTs7RU9NTCxvQlBKRztFT0lILHFCUEpHO0VPSUgsY1BKRztFT0lILHVCUEpHO0VPSUgseUJQSkc7RU9JSCx3QlBKRztFT0lILHVCUEpHO0VPSUgscUJQSkc7SUFDRSxpQkFBQTs7RU9HTCxvQlBERztFT0NILHFCUERHO0VPQ0gsY1BERztFT0NILHVCUERHO0VPQ0gseUJQREc7RU9DSCx3QlBERztFT0NILHVCUERHO0VPQ0gscUJQREc7SUFDRSxXQUFBO0lBQ0EsV0FBQTs7RU9ETCxvQlBHRztFT0hILHFCUEdHO0VPSEgsY1BHRztFT0hILHVCUEdHO0VPSEgseUJQR0c7RU9ISCx3QlBHRztFT0hILHVCUEdHO0VPSEgscUJQR0c7SUFDRSxXQUFBOztFT0pMLG9CUE9HLFdBQVc7RU9QZCxxQlBPRyxXQUFXO0VPUGQsY1BPRyxXQUFXO0VPUGQsdUJQT0csV0FBVztFT1BkLHlCUE9HLFdBQVc7RU9QZCx3QlBPRyxXQUFXO0VPUGQsdUJQT0csV0FBVztFT1BkLHFCUE9HLFdBQVc7SUFDVCxnQkFBQTtJQUNBLGdCQUFBOztFT1RMLG9CUFdHLFVBQVM7RU9YWixxQlBXRyxVQUFTO0VPWFosY1BXRyxVQUFTO0VPWFosdUJQV0csVUFBUztFT1haLHlCUFdHLFVBQVM7RU9YWix3QlBXRyxVQUFTO0VPWFosdUJQV0csVUFBUztFT1haLHFCUFdHLFVBQVM7SUFDUCxVQUFBO0lYMUcyQixtQkFBQTs7RWtCOEZoQyxvQlBnQkcsTUFBSztFT2hCUixxQlBnQkcsTUFBSztFT2hCUixjUGdCRyxNQUFLO0VPaEJSLHVCUGdCRyxNQUFLO0VPaEJSLHlCUGdCRyxNQUFLO0VPaEJSLHdCUGdCRyxNQUFLO0VPaEJSLHVCUGdCRyxNQUFLO0VPaEJSLHFCUGdCRyxNQUFLO0lBQ0gsV0FBQTtJQUNBLFlBQUE7O0VPbEJMLG9CUG9CRyxNQUFLLGNBQWM7RU9wQnRCLHFCUG9CRyxNQUFLLGNBQWM7RU9wQnRCLGNQb0JHLE1BQUssY0FBYztFT3BCdEIsdUJQb0JHLE1BQUssY0FBYztFT3BCdEIseUJQb0JHLE1BQUssY0FBYztFT3BCdEIsd0JQb0JHLE1BQUssY0FBYztFT3BCdEIsdUJQb0JHLE1BQUssY0FBYztFT3BCdEIscUJQb0JHLE1BQUssY0FBYztJQUNqQixtQkFBQTs7RU9yQkwsb0JQeUJHLEtBQUksV0FBWTtFT3pCbkIscUJQeUJHLEtBQUksV0FBWTtFT3pCbkIsY1B5QkcsS0FBSSxXQUFZO0VPekJuQix1QlB5QkcsS0FBSSxXQUFZO0VPekJuQix5QlB5QkcsS0FBSSxXQUFZO0VPekJuQix3QlB5QkcsS0FBSSxXQUFZO0VPekJuQix1QlB5QkcsS0FBSSxXQUFZO0VPekJuQixxQlB5QkcsS0FBSSxXQUFZO0lBRWQsU0FBQTtJQUNBLE9BQUE7O0VPNUJMLG9CUCtCRztFTy9CSCxxQlArQkc7RU8vQkgsY1ArQkc7RU8vQkgsdUJQK0JHO0VPL0JILHlCUCtCRztFTy9CSCx3QlArQkc7RU8vQkgsdUJQK0JHO0VPL0JILHFCUCtCRztFTy9CSCxvQlBnQ0csT0FBTTtFT2hDVCxxQlBnQ0csT0FBTTtFT2hDVCxjUGdDRyxPQUFNO0VPaENULHVCUGdDRyxPQUFNO0VPaENULHlCUGdDRyxPQUFNO0VPaENULHdCUGdDRyxPQUFNO0VPaENULHVCUGdDRyxPQUFNO0VPaENULHFCUGdDRyxPQUFNO0VPaENULG9CUGlDRyxNQUFLO0VPakNSLHFCUGlDRyxNQUFLO0VPakNSLGNQaUNHLE1BQUs7RU9qQ1IsdUJQaUNHLE1BQUs7RU9qQ1IseUJQaUNHLE1BQUs7RU9qQ1Isd0JQaUNHLE1BQUs7RU9qQ1IsdUJQaUNHLE1BQUs7RU9qQ1IscUJQaUNHLE1BQUs7RU9qQ1Isb0JQa0NHLE1BQUs7RU9sQ1IscUJQa0NHLE1BQUs7RU9sQ1IsY1BrQ0csTUFBSztFT2xDUix1QlBrQ0csTUFBSztFT2xDUix5QlBrQ0csTUFBSztFT2xDUix3QlBrQ0csTUFBSztFT2xDUix1QlBrQ0csTUFBSztFT2xDUixxQlBrQ0csTUFBSztFT2xDUixvQlBtQ0csTUFBSztFT25DUixxQlBtQ0csTUFBSztFT25DUixjUG1DRyxNQUFLO0VPbkNSLHVCUG1DRyxNQUFLO0VPbkNSLHlCUG1DRyxNQUFLO0VPbkNSLHdCUG1DRyxNQUFLO0VPbkNSLHVCUG1DRyxNQUFLO0VPbkNSLHFCUG1DRyxNQUFLO0VPbkNSLG9CUG9DRyxNQUFLO0VPcENSLHFCUG9DRyxNQUFLO0VPcENSLGNQb0NHLE1BQUs7RU9wQ1IsdUJQb0NHLE1BQUs7RU9wQ1IseUJQb0NHLE1BQUs7RU9wQ1Isd0JQb0NHLE1BQUs7RU9wQ1IsdUJQb0NHLE1BQUs7RU9wQ1IscUJQb0NHLE1BQUs7RU9wQ1Isb0JQcUNHLE1BQUs7RU9yQ1IscUJQcUNHLE1BQUs7RU9yQ1IsY1BxQ0csTUFBSztFT3JDUix1QlBxQ0csTUFBSztFT3JDUix5QlBxQ0csTUFBSztFT3JDUix3QlBxQ0csTUFBSztFT3JDUix1QlBxQ0csTUFBSztFT3JDUixxQlBxQ0csTUFBSztFT3JDUixvQlBzQ0csTUFBSztFT3RDUixxQlBzQ0csTUFBSztFT3RDUixjUHNDRyxNQUFLO0VPdENSLHVCUHNDRyxNQUFLO0VPdENSLHlCUHNDRyxNQUFLO0VPdENSLHdCUHNDRyxNQUFLO0VPdENSLHVCUHNDRyxNQUFLO0VPdENSLHFCUHNDRyxNQUFLO0VPdENSLG9CUHVDRyxNQUFLO0VPdkNSLHFCUHVDRyxNQUFLO0VPdkNSLGNQdUNHLE1BQUs7RU92Q1IsdUJQdUNHLE1BQUs7RU92Q1IseUJQdUNHLE1BQUs7RU92Q1Isd0JQdUNHLE1BQUs7RU92Q1IsdUJQdUNHLE1BQUs7RU92Q1IscUJQdUNHLE1BQUs7RU92Q1Isb0JQd0NHLE1BQUs7RU94Q1IscUJQd0NHLE1BQUs7RU94Q1IsY1B3Q0csTUFBSztFT3hDUix1QlB3Q0csTUFBSztFT3hDUix5QlB3Q0csTUFBSztFT3hDUix3QlB3Q0csTUFBSztFT3hDUix1QlB3Q0csTUFBSztFT3hDUixxQlB3Q0csTUFBSztFT3hDUixvQlB5Q0c7RU96Q0gscUJQeUNHO0VPekNILGNQeUNHO0VPekNILHVCUHlDRztFT3pDSCx5QlB5Q0c7RU96Q0gsd0JQeUNHO0VPekNILHVCUHlDRztFT3pDSCxxQlB5Q0c7RU96Q0gsb0JQMENHLE1BQUs7RU8xQ1IscUJQMENHLE1BQUs7RU8xQ1IsY1AwQ0csTUFBSztFTzFDUix1QlAwQ0csTUFBSztFTzFDUix5QlAwQ0csTUFBSztFTzFDUix3QlAwQ0csTUFBSztFTzFDUix1QlAwQ0csTUFBSztFTzFDUixxQlAwQ0csTUFBSztFTzFDUixvQlAyQ0csTUFBSztFTzNDUixxQlAyQ0csTUFBSztFTzNDUixjUDJDRyxNQUFLO0VPM0NSLHVCUDJDRyxNQUFLO0VPM0NSLHlCUDJDRyxNQUFLO0VPM0NSLHdCUDJDRyxNQUFLO0VPM0NSLHVCUDJDRyxNQUFLO0VPM0NSLHFCUDJDRyxNQUFLO0VPM0NSLG9CUDRDRyxNQUFLO0VPNUNSLHFCUDRDRyxNQUFLO0VPNUNSLGNQNENHLE1BQUs7RU81Q1IsdUJQNENHLE1BQUs7RU81Q1IseUJQNENHLE1BQUs7RU81Q1Isd0JQNENHLE1BQUs7RU81Q1IsdUJQNENHLE1BQUs7RU81Q1IscUJQNENHLE1BQUs7RU81Q1Isb0JQNkNHLE1BQUs7RU83Q1IscUJQNkNHLE1BQUs7RU83Q1IsY1A2Q0csTUFBSztFTzdDUix1QlA2Q0csTUFBSztFTzdDUix5QlA2Q0csTUFBSztFTzdDUix3QlA2Q0csTUFBSztFTzdDUix1QlA2Q0csTUFBSztFTzdDUixxQlA2Q0csTUFBSztFTzdDUixvQlA4Q0c7RU85Q0gscUJQOENHO0VPOUNILGNQOENHO0VPOUNILHVCUDhDRztFTzlDSCx5QlA4Q0c7RU85Q0gsd0JQOENHO0VPOUNILHVCUDhDRztFTzlDSCxxQlA4Q0c7RU85Q0gsb0JQK0NHO0VPL0NILHFCUCtDRztFTy9DSCxjUCtDRztFTy9DSCx1QlArQ0c7RU8vQ0gseUJQK0NHO0VPL0NILHdCUCtDRztFTy9DSCx1QlArQ0c7RU8vQ0gscUJQK0NHO0VPL0NILG9CUGdERztFT2hESCxxQlBnREc7RU9oREgsY1BnREc7RU9oREgsdUJQZ0RHO0VPaERILHlCUGdERztFT2hESCx3QlBnREc7RU9oREgsdUJQZ0RHO0VPaERILHFCUGdERztFT2hESCxvQlBpREc7RU9qREgscUJQaURHO0VPakRILGNQaURHO0VPakRILHVCUGlERztFT2pESCx5QlBpREc7RU9qREgsd0JQaURHO0VPakRILHVCUGlERztFT2pESCxxQlBpREc7RU9qREgsb0JQa0RHO0VPbERILHFCUGtERztFT2xESCxjUGtERztFT2xESCx1QlBrREc7RU9sREgseUJQa0RHO0VPbERILHdCUGtERztFT2xESCx1QlBrREc7RU9sREgscUJQa0RHO0VPbERILG9CUG1ERyxNQUFLO0VPbkRSLHFCUG1ERyxNQUFLO0VPbkRSLGNQbURHLE1BQUs7RU9uRFIsdUJQbURHLE1BQUs7RU9uRFIseUJQbURHLE1BQUs7RU9uRFIsd0JQbURHLE1BQUs7RU9uRFIsdUJQbURHLE1BQUs7RU9uRFIscUJQbURHLE1BQUs7RU9uRFIsb0JQb0RHLE1BQUs7RU9wRFIscUJQb0RHLE1BQUs7RU9wRFIsY1BvREcsTUFBSztFT3BEUix1QlBvREcsTUFBSztFT3BEUix5QlBvREcsTUFBSztFT3BEUix3QlBvREcsTUFBSztFT3BEUix1QlBvREcsTUFBSztFT3BEUixxQlBvREcsTUFBSztFT3BEUixvQlBxREcsTUFBSztFT3JEUixxQlBxREcsTUFBSztFT3JEUixjUHFERyxNQUFLO0VPckRSLHVCUHFERyxNQUFLO0VPckRSLHlCUHFERyxNQUFLO0VPckRSLHdCUHFERyxNQUFLO0VPckRSLHVCUHFERyxNQUFLO0VPckRSLHFCUHFERyxNQUFLO0VPckRSLG9CUHNERyxNQUFLO0VPdERSLHFCUHNERyxNQUFLO0VPdERSLGNQc0RHLE1BQUs7RU90RFIsdUJQc0RHLE1BQUs7RU90RFIseUJQc0RHLE1BQUs7RU90RFIsd0JQc0RHLE1BQUs7RU90RFIsdUJQc0RHLE1BQUs7RU90RFIscUJQc0RHLE1BQUs7RU90RFIsb0JQdURHLElBQUc7RU92RE4scUJQdURHLElBQUc7RU92RE4sY1B1REcsSUFBRztFT3ZETix1QlB1REcsSUFBRztFT3ZETix5QlB1REcsSUFBRztFT3ZETix3QlB1REcsSUFBRztFT3ZETix1QlB1REcsSUFBRztFT3ZETixxQlB1REcsSUFBRztFT3ZETixvQlB3REcsT0FBTTtFT3hEVCxxQlB3REcsT0FBTTtFT3hEVCxjUHdERyxPQUFNO0VPeERULHVCUHdERyxPQUFNO0VPeERULHlCUHdERyxPQUFNO0VPeERULHdCUHdERyxPQUFNO0VPeERULHVCUHdERyxPQUFNO0VPeERULHFCUHdERyxPQUFNO0VPeERULG9CUHlERyxNQUFLO0VPekRSLHFCUHlERyxNQUFLO0VPekRSLGNQeURHLE1BQUs7RU96RFIsdUJQeURHLE1BQUs7RU96RFIseUJQeURHLE1BQUs7RU96RFIsd0JQeURHLE1BQUs7RU96RFIsdUJQeURHLE1BQUs7RU96RFIscUJQeURHLE1BQUs7RU96RFIsb0JQMERHO0VPMURILHFCUDBERztFTzFESCxjUDBERztFTzFESCx1QlAwREc7RU8xREgseUJQMERHO0VPMURILHdCUDBERztFTzFESCx1QlAwREc7RU8xREgscUJQMERHO0VPMURILG9CUDJERztFTzNESCxxQlAyREc7RU8zREgsY1AyREc7RU8zREgsdUJQMkRHO0VPM0RILHlCUDJERztFTzNESCx3QlAyREc7RU8zREgsdUJQMkRHO0VPM0RILHFCUDJERztFTzNESCxvQlA0REc7RU81REgscUJQNERHO0VPNURILGNQNERHO0VPNURILHVCUDRERztFTzVESCx5QlA0REc7RU81REgsd0JQNERHO0VPNURILHVCUDRERztFTzVESCxxQlA0REc7RU81REgsb0JQNkRHLE1BQUs7RU83RFIscUJQNkRHLE1BQUs7RU83RFIsY1A2REcsTUFBSztFTzdEUix1QlA2REcsTUFBSztFTzdEUix5QlA2REcsTUFBSztFTzdEUix3QlA2REcsTUFBSztFTzdEUix1QlA2REcsTUFBSztFTzdEUixxQlA2REcsTUFBSztFTzdEUixvQlA4REcsTUFBSztFTzlEUixxQlA4REcsTUFBSztFTzlEUixjUDhERyxNQUFLO0VPOURSLHVCUDhERyxNQUFLO0VPOURSLHlCUDhERyxNQUFLO0VPOURSLHdCUDhERyxNQUFLO0VPOURSLHVCUDhERyxNQUFLO0VPOURSLHFCUDhERyxNQUFLO0VPOURSLG9CUCtERyxNQUFLO0VPL0RSLHFCUCtERyxNQUFLO0VPL0RSLGNQK0RHLE1BQUs7RU8vRFIsdUJQK0RHLE1BQUs7RU8vRFIseUJQK0RHLE1BQUs7RU8vRFIsd0JQK0RHLE1BQUs7RU8vRFIsdUJQK0RHLE1BQUs7RU8vRFIscUJQK0RHLE1BQUs7RU8vRFIsb0JQZ0VHLE1BQUs7RU9oRVIscUJQZ0VHLE1BQUs7RU9oRVIsY1BnRUcsTUFBSztFT2hFUix1QlBnRUcsTUFBSztFT2hFUix5QlBnRUcsTUFBSztFT2hFUix3QlBnRUcsTUFBSztFT2hFUix1QlBnRUcsTUFBSztFT2hFUixxQlBnRUcsTUFBSztFT2hFUixvQlBpRUcsTUFBSztFT2pFUixxQlBpRUcsTUFBSztFT2pFUixjUGlFRyxNQUFLO0VPakVSLHVCUGlFRyxNQUFLO0VPakVSLHlCUGlFRyxNQUFLO0VPakVSLHdCUGlFRyxNQUFLO0VPakVSLHVCUGlFRyxNQUFLO0VPakVSLHFCUGlFRyxNQUFLO0VPakVSLG9CUGtFRyxNQUFLO0VPbEVSLHFCUGtFRyxNQUFLO0VPbEVSLGNQa0VHLE1BQUs7RU9sRVIsdUJQa0VHLE1BQUs7RU9sRVIseUJQa0VHLE1BQUs7RU9sRVIsd0JQa0VHLE1BQUs7RU9sRVIsdUJQa0VHLE1BQUs7RU9sRVIscUJQa0VHLE1BQUs7RU9sRVIsb0JQbUVHLE1BQUs7RU9uRVIscUJQbUVHLE1BQUs7RU9uRVIsY1BtRUcsTUFBSztFT25FUix1QlBtRUcsTUFBSztFT25FUix5QlBtRUcsTUFBSztFT25FUix3QlBtRUcsTUFBSztFT25FUix1QlBtRUcsTUFBSztFT25FUixxQlBtRUcsTUFBSztFT25FUixvQlBvRUcsTUFBSztFT3BFUixxQlBvRUcsTUFBSztFT3BFUixjUG9FRyxNQUFLO0VPcEVSLHVCUG9FRyxNQUFLO0VPcEVSLHlCUG9FRyxNQUFLO0VPcEVSLHdCUG9FRyxNQUFLO0VPcEVSLHVCUG9FRyxNQUFLO0VPcEVSLHFCUG9FRyxNQUFLO0VPcEVSLG9CUHFFRyxLQUFJO0VPckVQLHFCUHFFRyxLQUFJO0VPckVQLGNQcUVHLEtBQUk7RU9yRVAsdUJQcUVHLEtBQUk7RU9yRVAseUJQcUVHLEtBQUk7RU9yRVAsd0JQcUVHLEtBQUk7RU9yRVAsdUJQcUVHLEtBQUk7RU9yRVAscUJQcUVHLEtBQUk7SUFDRixzQkFBQTs7SUFDQSxjQUFBO0lBQ0EsZ0JBQUE7Ozs7SUFJQSxhQUFBO0lBQ0EsZUFBQTtJQUNBLFVBQUE7O0VPOUVMLG9CUGdGRztFT2hGSCxxQlBnRkc7RU9oRkgsY1BnRkc7RU9oRkgsdUJQZ0ZHO0VPaEZILHlCUGdGRztFT2hGSCx3QlBnRkc7RU9oRkgsdUJQZ0ZHO0VPaEZILHFCUGdGRztJQUNFLHFCQUFBO0lBQ0EsY0FBQTs7RU9sRkwsb0JQb0ZHO0VPcEZILHFCUG9GRztFT3BGSCxjUG9GRztFT3BGSCx1QlBvRkc7RU9wRkgseUJQb0ZHO0VPcEZILHdCUG9GRztFT3BGSCx1QlBvRkc7RU9wRkgscUJQb0ZHO0lBQ0UsY0FBQTtJQUNBLG1CQUFBOztFT3RGTCxvQlB3RkcsaUJBQWlCO0VPeEZwQixxQlB3RkcsaUJBQWlCO0VPeEZwQixjUHdGRyxpQkFBaUI7RU94RnBCLHVCUHdGRyxpQkFBaUI7RU94RnBCLHlCUHdGRyxpQkFBaUI7RU94RnBCLHdCUHdGRyxpQkFBaUI7RU94RnBCLHVCUHdGRyxpQkFBaUI7RU94RnBCLHFCUHdGRyxpQkFBaUI7SUFDZixVQUFBOztFT3pGTCxvQlA0RkcsS0FBSztFTzVGUixxQlA0RkcsS0FBSztFTzVGUixjUDRGRyxLQUFLO0VPNUZSLHVCUDRGRyxLQUFLO0VPNUZSLHlCUDRGRyxLQUFLO0VPNUZSLHdCUDRGRyxLQUFLO0VPNUZSLHVCUDRGRyxLQUFLO0VPNUZSLHFCUDRGRyxLQUFLO0lBQ0gsaUJBQUE7O0VPN0ZMLG9CUCtGRyxLQUFLLElBQUc7RU8vRlgscUJQK0ZHLEtBQUssSUFBRztFTy9GWCxjUCtGRyxLQUFLLElBQUc7RU8vRlgsdUJQK0ZHLEtBQUssSUFBRztFTy9GWCx5QlArRkcsS0FBSyxJQUFHO0VPL0ZYLHdCUCtGRyxLQUFLLElBQUc7RU8vRlgsdUJQK0ZHLEtBQUssSUFBRztFTy9GWCxxQlArRkcsS0FBSyxJQUFHO0lBQ04sY0FBQTs7RU9oR0wsb0JQa0dHLEtBQUssSUFBRztFT2xHWCxxQlBrR0csS0FBSyxJQUFHO0VPbEdYLGNQa0dHLEtBQUssSUFBRztFT2xHWCx1QlBrR0csS0FBSyxJQUFHO0VPbEdYLHlCUGtHRyxLQUFLLElBQUc7RU9sR1gsd0JQa0dHLEtBQUssSUFBRztFT2xHWCx1QlBrR0csS0FBSyxJQUFHO0VPbEdYLHFCUGtHRyxLQUFLLElBQUc7SUFDTixlQUFBOztFT25HTCxvQlBzR0csS0FBSSxXQUFZO0VPdEduQixxQlBzR0csS0FBSSxXQUFZO0VPdEduQixjUHNHRyxLQUFJLFdBQVk7RU90R25CLHVCUHNHRyxLQUFJLFdBQVk7RU90R25CLHlCUHNHRyxLQUFJLFdBQVk7RU90R25CLHdCUHNHRyxLQUFJLFdBQVk7RU90R25CLHVCUHNHRyxLQUFJLFdBQVk7RU90R25CLHFCUHNHRyxLQUFJLFdBQVk7SUFFZCxXQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7O0VPMUdMLG9CUDZHRyxLQUFJLFdBQVksbUJBQW1CO0VPN0d0QyxxQlA2R0csS0FBSSxXQUFZLG1CQUFtQjtFTzdHdEMsY1A2R0csS0FBSSxXQUFZLG1CQUFtQjtFTzdHdEMsdUJQNkdHLEtBQUksV0FBWSxtQkFBbUI7RU83R3RDLHlCUDZHRyxLQUFJLFdBQVksbUJBQW1CO0VPN0d0Qyx3QlA2R0csS0FBSSxXQUFZLG1CQUFtQjtFTzdHdEMsdUJQNkdHLEtBQUksV0FBWSxtQkFBbUI7RU83R3RDLHFCUDZHRyxLQUFJLFdBQVksbUJBQW1CO0VPN0d0QyxvQlA4R0csS0FBSSxXQUFZLHVCQUF1QjtFTzlHMUMscUJQOEdHLEtBQUksV0FBWSx1QkFBdUI7RU85RzFDLGNQOEdHLEtBQUksV0FBWSx1QkFBdUI7RU85RzFDLHVCUDhHRyxLQUFJLFdBQVksdUJBQXVCO0VPOUcxQyx5QlA4R0csS0FBSSxXQUFZLHVCQUF1QjtFTzlHMUMsd0JQOEdHLEtBQUksV0FBWSx1QkFBdUI7RU85RzFDLHVCUDhHRyxLQUFJLFdBQVksdUJBQXVCO0VPOUcxQyxxQlA4R0csS0FBSSxXQUFZLHVCQUF1QjtJQUNyQyxVQUFBO0lBQ0EsVUFBQTtJQUNBLGFBQUE7O0VPakhMLG9CUHFIRztFT3JISCxxQlBxSEc7RU9ySEgsY1BxSEc7RU9ySEgsdUJQcUhHO0VPckhILHlCUHFIRztFT3JISCx3QlBxSEc7RU9ySEgsdUJQcUhHO0VPckhILHFCUHFIRztFT3JISCxvQlBzSEc7RU90SEgscUJQc0hHO0VPdEhILGNQc0hHO0VPdEhILHVCUHNIRztFT3RISCx5QlBzSEc7RU90SEgsd0JQc0hHO0VPdEhILHVCUHNIRztFT3RISCxxQlBzSEc7SUFDRSxXQUFBOztFT3ZITCxvQlAwSEcsS0FBSSxXQUFZO0VPMUhuQixxQlAwSEcsS0FBSSxXQUFZO0VPMUhuQixjUDBIRyxLQUFJLFdBQVk7RU8xSG5CLHVCUDBIRyxLQUFJLFdBQVk7RU8xSG5CLHlCUDBIRyxLQUFJLFdBQVk7RU8xSG5CLHdCUDBIRyxLQUFJLFdBQVk7RU8xSG5CLHVCUDBIRyxLQUFJLFdBQVk7RU8xSG5CLHFCUDBIRyxLQUFJLFdBQVk7RU8xSG5CLG9CUDJIRyxLQUFJLFdBQVk7RU8zSG5CLHFCUDJIRyxLQUFJLFdBQVk7RU8zSG5CLGNQMkhHLEtBQUksV0FBWTtFTzNIbkIsdUJQMkhHLEtBQUksV0FBWTtFTzNIbkIseUJQMkhHLEtBQUksV0FBWTtFTzNIbkIsd0JQMkhHLEtBQUksV0FBWTtFTzNIbkIsdUJQMkhHLEtBQUksV0FBWTtFTzNIbkIscUJQMkhHLEtBQUksV0FBWTtJQUNkLGVBQUE7SUFDQSxnQkFBQTtJQUNBLGVBQUE7SUFDQSxVQUFBOztFTy9ITCxv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TzVLVCx3QlA0S0csT0FBTTtFTzVLVCx1QlA0S0csT0FBTTtFTzVLVCxxQlA0S0csT0FBTTtJQUNKLGNBQUE7SUFDQSxXQUFBO0lBQ0EsV0FBQTtJQUNBLGdCQUFBOztFT2hMTCxvQlBtTEcsWUFBWSxXQUFXO0VPbkwxQixxQlBtTEcsWUFBWSxXQUFXO0VPbkwxQixjUG1MRyxZQUFZLFdBQVc7RU9uTDFCLHVCUG1MRyxZQUFZLFdBQVc7RU9uTDFCLHlCUG1MRyxZQUFZLFdBQVc7RU9uTDFCLHdCUG1MRyxZQUFZLFdBQVc7RU9uTDFCLHVCUG1MRyxZQUFZLFdBQVc7RU9uTDFCLHFCUG1MRyxZQUFZLFdBQVc7RU9uTDFCLG9CUG9MRztFT3BMSCxxQlBvTEc7RU9wTEgsY1BvTEc7RU9wTEgsdUJQb0xHO0VPcExILHlCUG9MRztFT3BMSCx3QlBvTEc7RU9wTEgsdUJQb0xHO0VPcExILHFCUG9MRztJQUNFLGdCQUFBO0lBQ0EsV0FBQTs7RU90TEwsb0JQd0xHLFdBQVU7RU94TGIscUJQd0xHLFdBQVU7RU94TGIsY1B3TEcsV0FBVTtFT3hMYix1QlB3TEcsV0FBVTtFT3hMYix5QlB3TEcsV0FBVTtFT3hMYix3QlB3TEcsV0FBVTtFT3hMYix1QlB3TEcsV0FBVTtFT3hMYixxQlB3TEcsV0FBVTtJQUNSLFdBQUE7O0VPekxMLG9CUDJMRztFTzNMSCxxQlAyTEc7RU8zTEgsY1AyTEc7RU8zTEgsdUJQMkxHO0VPM0xILHlCUDJMRztFTzNMSCx3QlAyTEc7RU8zTEgsdUJQMkxHO0VPM0xILHFCUDJMRztJQUNFLGdCQUFBOztFTzVMTCxvQlBxTUcsbUJBQW1CO0VPck10QixxQlBxTUcsbUJBQW1CO0VPck10QixjUHFNRyxtQkFBbUI7RU9yTXRCLHVCUHFNRyxtQkFBbUI7RU9yTXRCLHlCUHFNRyxtQkFBbUI7RU9yTXRCLHdCUHFNRyxtQkFBbUI7RU9yTXRCLHVCUHFNRyxtQkFBbUI7RU9yTXRCLHFCUHFNRyxtQkFBbUI7RU9yTXRCLG9CUHNNRyx1QkFBdUI7RU90TTFCLHFCUHNNRyx1QkFBdUI7RU90TTFCLGNQc01HLHVCQUF1QjtFT3RNMUIsdUJQc01HLHVCQUF1QjtFT3RNMUIseUJQc01HLHVCQUF1QjtFT3RNMUIsd0JQc01HLHVCQUF1QjtFT3RNMUIsdUJQc01HLHVCQUF1QjtFT3RNMUIscUJQc01HLHVCQUF1QjtJQUNyQixnQkFBQTs7RU92TUwsb0JQeU1HLE1BQUs7RU96TVIscUJQeU1HLE1BQUs7RU96TVIsY1B5TUcsTUFBSztFT3pNUix1QlB5TUcsTUFBSztFT3pNUix5QlB5TUcsTUFBSztFT3pNUix3QlB5TUcsTUFBSztFT3pNUix1QlB5TUcsTUFBSztFT3pNUixxQlB5TUcsTUFBSztJQUNILGNBQUE7SUFDQSxVQUFBOztFTzNNTCxvQlA2TUcsTUFBSztFTzdNUixxQlA2TUcsTUFBSztFTzdNUixjUDZNRyxNQUFLO0VPN01SLHVCUDZNRyxNQUFLO0VPN01SLHlCUDZNRyxNQUFLO0VPN01SLHdCUDZNRyxNQUFLO0VPN01SLHVCUDZNRyxNQUFLO0VPN01SLHFCUDZNRyxNQUFLO0lBQ0gsbUJBQUE7O0VPOU1MLG9CUGdORyxLQUFJLFdBQVk7RU9oTm5CLHFCUGdORyxLQUFJLFdBQVk7RU9oTm5CLGNQZ05HLEtBQUksV0FBWTtFT2hObkIsdUJQZ05HLEtBQUksV0FBWTtFT2hObkIseUJQZ05HLEtBQUksV0FBWTtFT2hObkIsd0JQZ05HLEtBQUksV0FBWTtFT2hObkIsdUJQZ05HLEtBQUksV0FBWTtFT2hObkIscUJQZ05HLEtBQUksV0FBWTtJQUNkLFVBQUE7SUFDQSxhQUFBOztFT2xOTCxvQlBvTkcsc0JBQXNCO0VPcE56QixxQlBvTkcsc0JBQXNCO0VPcE56QixjUG9ORyxzQkFBc0I7RU9wTnpCLHVCUG9ORyxzQkFBc0I7RU9wTnpCLHlCUG9ORyxzQkFBc0I7RU9wTnpCLHdCUG9ORyxzQkFBc0I7RU9wTnpCLHVCUG9ORyxzQkFBc0I7RU9wTnpCLHFCUG9ORyxzQkFBc0I7RU9wTnpCLG9CUHFORyxzQkFBc0I7RU9yTnpCLHFCUHFORyxzQkFBc0I7RU9yTnpCLGNQcU5HLHNCQUFzQjtFT3JOekIsdUJQcU5HLHNCQUFzQjtFT3JOekIseUJQcU5HLHNCQUFzQjtFT3JOekIsd0JQcU5HLHNCQUFzQjtFT3JOekIsdUJQcU5HLHNCQUFzQjtFT3JOekIscUJQcU5HLHNCQUFzQjtJQUNwQixTQUFBOztFT3ROTCxvQlB5Tkcsc0JBQXNCO0VPek56QixxQlB5Tkcsc0JBQXNCO0VPek56QixjUHlORyxzQkFBc0I7RU96TnpCLHVCUHlORyxzQkFBc0I7RU96TnpCLHlCUHlORyxzQkFBc0I7RU96TnpCLHdCUHlORyxzQkFBc0I7RU96TnpCLHVCUHlORyxzQkFBc0I7RU96TnpCLHFCUHlORyxzQkFBc0I7SUFDcEIsZ0JBQUE7O0VPMU5MLG9CUDZORyxzQkFBc0I7RU83TnpCLHFCUDZORyxzQkFBc0I7RU83TnpCLGNQNk5HLHNCQUFzQjtFTzdOekIsdUJQNk5HLHNCQUFzQjtFTzdOekIseUJQNk5HLHNCQUFzQjtFTzdOekIsd0JQNk5HLHNCQUFzQjtFTzdOekIsdUJQNk5HLHNCQUFzQjtFTzdOekIscUJQNk5HLHNCQUFzQjtJQUNwQix5QkFBQTs7RU85Tkwsb0JQaU9HLEtBQUksV0FBWTtFT2pPbkIscUJQaU9HLEtBQUksV0FBWTtFT2pPbkIsY1BpT0csS0FBSSxXQUFZO0VPak9uQix1QlBpT0csS0FBSSxXQUFZO0VPak9uQix5QlBpT0csS0FBSSxXQUFZO0VPak9uQix3QlBpT0csS0FBSSxXQUFZO0VPak9uQix1QlBpT0csS0FBSSxXQUFZO0VPak9uQixxQlBpT0csS0FBSSxXQUFZO0lBQ2QsbUJBQUE7O0VPbE9MLG9CUHFPRyxLQUFJLFdBQVksdUJBQXVCLEtBQUk7RU9yTzlDLHFCUHFPRyxLQUFJLFdBQVksdUJBQXVCLEtBQUk7RU9yTzlDLGNQcU9HLEtBQUksV0FBWSx1QkFBdUIsS0FBSTtFT3JPOUMsdUJQcU9HLEtBQUksV0FBWSx1QkFBdUIsS0FBSTtFT3JPOUMseUJQcU9HLEtBQUksV0FBWSx1QkFBdUIsS0FBSTtFT3JPOUMsd0JQcU9HLEtBQUksV0FBWSx1QkFBdUIsS0FBSTtFT3JPOUMsdUJQcU9HLEtBQUksV0FBWSx1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d0JQZ1JHLE9BQU07RU9oUlQsdUJQZ1JHLE9BQU07RU9oUlQscUJQZ1JHLE9BQU07RU9oUlQsb0JQaVJHLE1BQUs7RU9qUlIscUJQaVJHLE1BQUs7RU9qUlIsY1BpUkcsTUFBSztFT2pSUix1QlBpUkcsTUFBSztFT2pSUix5QlBpUkcsTUFBSztFT2pSUix3QlBpUkcsTUFBSztFT2pSUix1QlBpUkcsTUFBSztFT2pSUixxQlBpUkcsTUFBSztFT2pSUixvQlBrUkcsTUFBSztFT2xSUixxQlBrUkcsTUFBSztFT2xSUixjUGtSRyxNQUFLO0VPbFJSLHVCUGtSRyxNQUFLO0VPbFJSLHlCUGtSRyxNQUFLO0VPbFJSLHdCUGtSRyxNQUFLO0VPbFJSLHVCUGtSRyxNQUFLO0VPbFJSLHFCUGtSRyxNQUFLO0VPbFJSLG9CUG1SRyxNQUFLO0VPblJSLHFCUG1SRyxNQUFLO0VPblJSLGNQbVJHLE1BQUs7RU9uUlIsdUJQbVJHLE1BQUs7RU9uUlIseUJQbVJHLE1BQUs7RU9uUlIsd0JQbVJHLE1BQUs7RU9uUlIsdUJQbVJHLE1BQUs7RU9uUlIscUJQbVJHLE1BQUs7RU9uUlIsb0JQb1JHLE1BQUs7RU9wUlIscUJQb1JHLE1BQUs7RU9wUlIsY1BvUkcsTUFBSztFT3BSUix1QlBvUkcsTUFBSztFT3BSUix5QlBvUkcsTUFBSztFT3BSUix3QlBvUkcsTUFBSztFT3BSUix1QlBvUkcsTUFBSztFT3BSUixxQlBvUkcsTUFBSztFT3BSUixvQlBxUkcsTUFBSztFT3JSUixxQlBxUkcsTUFBSztFT3JSUixjUHFSRyxNQUFLO0VPclJSLHVCUHFSRyxNQUFLO0VPclJSLHlCUHFSRyxNQUFLO0VPclJSLHdCUHFSRyxNQUFLO0VPclJSLHVCUHFSRyxNQUFLO0VPclJSLHFCUHFSRyxNQUFLO0VPclJSLG9CUHNSRyxNQUFLO0VPdFJSLHFCUHNSRyxNQUFLO0VPdFJSLGNQc1JHLE1BQUs7RU90UlIsdUJQc1JHLE1BQUs7RU90UlIseUJQc1JHLE1BQUs7RU90UlIsd0JQc1JHLE1BQUs7RU90UlIsdUJQc1JHLE1BQUs7RU90UlIscUJQc1JHLE1BQUs7RU90UlIsb0JQdVJHLE1BQUs7RU92UlIscUJQdVJHLE1BQUs7RU92UlIsY1B1UkcsTUFBSztFT3ZSUix1QlB1UkcsTUFBSztFT3ZSUix5QlB1UkcsTUFBSztFT3ZSUix3QlB1UkcsTUFBSztFT3ZSUix1QlB1UkcsTUFBSztFT3ZSUixxQlB1UkcsTUFBSztFT3ZSUixvQlB3UkcsTUFBSztFT3hSUixxQlB3UkcsTUFBSztFT3hSUixjUHdSRyxNQUFLO0VPeFJSLHVCUHdSRyxNQUFLO0VPeFJSLHlCUHdSRyxNQUFLO0VPeFJSLHdCUHdSRyxNQUFLO0VPeFJSLHVCUHdSRyxNQUFLO0VPeFJSLHFCUHdSRyxNQUFLO0VPeFJSLG9CUHlSRyxNQUFLO0VPelJSLHFCUHlSRyxNQUFLO0VPelJSLGNQeVJHLE1BQUs7RU96UlIsdUJQeVJHLE1BQUs7RU96UlIseUJQeVJHLE1BQUs7RU96UlIsd0JQeVJHLE1BQUs7RU96UlIsdUJQeVJHLE1BQUs7RU96UlIscUJQeVJHLE1BQUs7RU96UlIsb0JQMFJHLE1BQUs7RU8xUlIscUJQMFJHLE1BQUs7RU8xUlIsY1AwUkcsTUFBSztFTzFSUix1QlAwUkcsTUFBSztFTzFSUix5QlAwUkcsTUFBSztFTzFSUix3QlAwUkcsTUFBSztFTzFSUix1QlAwUkcsTUFBSztFTzFSUixxQlAwUkcsTUFBSztFTzFSUixvQlAyUkcsTUFBSztFTzNSUixxQlAyUkcsTUFBSztFTzNSUixjUDJSRyxNQUFLO0VPM1JSLHVCUDJSRyxNQUFLO0VPM1JSLHlCUDJSRyxNQUFLO0VPM1JSLHdCUDJSRyxNQUFLO0VPM1JSLHVCUDJSRyxNQUFLO0VPM1JSLHFCUDJSRyxNQUFLO0VPM1JSLG9CUDRSRyxNQUFLO0VPNVJSLHFCUDRSRyxNQUFLO0VPNVJSLGNQNFJHLE1BQUs7RU81UlIsdUJQNFJHLE1BQUs7RU81UlIseUJQNFJHLE1BQUs7RU81UlIsd0JQNFJHLE1BQUs7RU81UlIsdUJQNFJHLE1BQUs7RU81UlIscUJQNFJHLE1BQUs7RU81UlIsb0JQNlJHO0VPN1JILHFCUDZSRztFTzdSSCxjUDZSRztFTzdSSCx1QlA2Ukc7RU83UkgseUJQNlJHO0VPN1JILHdCUDZSRztFTzdSSCx1QlA2Ukc7RU83UkgscUJQNlJHO0VPN1JILG9CUDhSRztFTzlSSCxxQlA4Ukc7RU85UkgsY1A4Ukc7RU85UkgsdUJQOFJHO0VPOVJILHlCUDhSRztFTzlSSCx3QlA4Ukc7RU85UkgsdUJQOFJHO0VPOVJILHFCUDhSRztFTzlSSCxvQlArUkc7RU8vUkgscUJQK1JHO0VPL1JILGNQK1JHO0VPL1JILHVCUCtSRztFTy9SSCx5QlArUkc7RU8vUkgsd0JQK1JHO0VPL1JILHVCUCtSRztFTy9SSCxxQlArUkc7RU8vUkgsb0JQZ1NHO0VPaFNILHFCUGdTRztFT2hTSCxjUGdTRztFT2hTSCx1QlBnU0c7RU9oU0gseUJQZ1NHO0VPaFNILHdCUGdTRztFT2hTSCx1QlBnU0c7RU9oU0gscUJQZ1NHO0VPaFNILG9CUGlTRztFT2pTSCxxQlBpU0c7RU9qU0gsY1BpU0c7RU9qU0gsdUJQaVNHO0VPalNILHlCUGlTRztFT2pTSCx3QlBpU0c7RU9qU0gsdUJQaVNHO0VPalNILHFCUGlTRztFT2pTSCxvQlBrU0csTUFBSztFT2xTUixxQlBrU0csTUFBSztFT2xTUixjUGtTRyxNQUFLO0VPbFNSLHVCUGtTRyxNQUFLO0VPbFNSLHlCUGtTRyxNQUFLO0VPbFNSLHdCUGtTRyxNQUFLO0VPbFNSLHVCUGtTRyxNQUFLO0VPbFNSLHFCUGtTRyxNQUFLO0VPbFNSLG9CUG1TRyxNQUFLO0VPblNSLHFCUG1TRyxNQUFLO0VPblNSLGNQbVNHLE1BQUs7RU9uU1IsdUJQbVNHLE1BQUs7RU9uU1IseUJQbVNHLE1BQUs7RU9uU1Isd0JQbVNHLE1BQUs7RU9uU1IsdUJQbVNHLE1BQUs7RU9uU1IscUJQbVNHLE1BQUs7RU9uU1Isb0JQb1NHLE1BQUs7RU9wU1IscUJQb1NHLE1BQUs7RU9wU1IsY1BvU0csTUFBSztFT3BTUix1QlBvU0csTUFBSztFT3BTUix5QlBvU0csTUFBSztFT3BTUix3QlBvU0csTUFBSztFT3BTUix1QlBvU0csTUFBSztFT3BTUixxQlBvU0csTUFBSztFT3BTUixvQlBxU0csTUFBSztFT3JTUixxQlBxU0csTUFBSztFT3JTUixjUHFTRyxNQUFLO0VPclNSLHVCUHFTRyxNQUFLO0VPclNSLHlCUHFTRyxNQUFLO0VPclNSLHdCUHFTRyxNQUFLO0VPclNSLHVCUHFTRyxNQUFLO0VPclNSLHFCUHFTRyxNQUFLO0VPclNSLG9CUHNTRyxJQUFHO0VPdFNOLHFCUHNTRyxJQUFHO0VPdFNOLGNQc1NHLElBQUc7RU90U04sdUJQc1NHLElBQUc7RU90U04seUJQc1NHLElBQUc7RU90U04sd0JQc1NHLElBQUc7RU90U04sdUJQc1NHLElBQUc7RU90U04scUJQc1NHLElBQUc7RU90U04sb0JQdVNHLE9BQU07RU92U1QscUJQdVNHLE9BQU07RU92U1QsY1B1U0csT0FBTTtFT3ZTVCx1QlB1U0csT0FBTTtFT3ZTVCx5QlB1U0csT0FBTTtFT3ZTVCx3QlB1U0csT0FBTTtFT3ZTVCx1QlB1U0csT0FBTTtFT3ZTVCxxQlB1U0csT0FBTTtFT3ZTVCxvQlB3U0csTUFBSztFT3hTUixxQlB3U0csTUFBSztFT3hTUixjUHdTRyxNQUFLO0VPeFNSLHVCUHdTRyxNQUFLO0VPeFNSLHlCUHdTRyxNQUFLO0VPeFNSLHdCUHdTRyxNQUFLO0VPeFNSLHVCUHdTRyxNQUFLO0VPeFNSLHFCUHdTRyxNQUFLO0VPeFNSLG9CUHlTRztFT3pTSCxxQlB5U0c7RU96U0gsY1B5U0c7RU96U0gsdUJQeVNHO0VPelNILHlCUHlTRztFT3pTSCx3QlB5U0c7RU96U0gsdUJQeVNHO0VPelNILHFCUHlTRztFT3pTSCxvQlAwU0csTUFBSztFTzFTUixxQlAwU0csTUFBSztFTzFTUixjUDBTRyxNQUFLO0VPMVNSLHVCUDBTRyxNQUFLO0VPMVNSLHlCUDBTRyxNQUFLO0VPMVNSLHdCUDBTRyxNQUFLO0VPMVNSLHVCUDBTRyxNQUFLO0VPMVNSLHFCUDBTRyxNQUFLO0VPMVNSLG9CUDJTRyxNQUFLO0VPM1NSLHFCUDJTRyxNQUFLO0VPM1NSLGNQMlNHLE1BQUs7RU8zU1IsdUJQMlNHLE1BQUs7RU8zU1IseUJQMlNHLE1BQUs7RU8zU1Isd0JQMlNHLE1BQUs7RU8zU1IsdUJQMlNHLE1BQUs7RU8zU1IscUJQMlNHLE1BQUs7RU8zU1Isb0JQNFNHLE1BQUs7RU81U1IscUJQNFNHLE1BQUs7RU81U1IsY1A0U0csTUFBSztFTzVTUix1QlA0U0csTUFBSztFTzVTUix5QlA0U0csTUFBSztFTzVTUix3QlA0U0csTUFBSztFTzVTUix1QlA0U0csTUFBSztFTzVTUixxQlA0U0csTUFBSztFTzVTUixvQlA2U0csTUFBSztFTzdTUixxQlA2U0csTUFBSztFTzdTUixjUDZTRyxNQUFLO0VPN1NSLHVCUDZTRyxNQUFLO0VPN1NSLHlCUDZTRyxNQUFLO0VPN1NSLHdCUDZTRyxNQUFLO0VPN1NSLHVCUDZTRyxNQUFLO0VPN1NSLHFCUDZTRyxNQUFLO0VPN1NSLG9CUDhTRyxNQUFLO0VPOVNSLHFCUDhTRyxNQUFLO0VPOVNSLGNQOFNHLE1BQUs7RU85U1IsdUJQOFNHLE1BQUs7RU85U1IseUJQOFNHLE1BQUs7RU85U1Isd0JQOFNHLE1BQUs7RU85U1IsdUJQOFNHLE1BQUs7RU85U1IscUJQOFNHLE1BQUs7RU85U1Isb0JQK1NHLE1BQUs7RU8vU1IscUJQK1NHLE1BQUs7RU8vU1IsY1ArU0csTUFBSztFTy9TUix1QlArU0csTUFBSztFTy9TUix5QlArU0csTUFBSztFTy9TUix3QlArU0csTUFBSztFTy9TUix1QlArU0csTUFBSztFTy9TUixxQlArU0csTUFBSztFTy9TUixvQlBnVEcsTUFBSztFT2hUUixxQlBnVEcsTUFBSztFT2hUUixjUGdURyxNQUFLO0VPaFRSLHVCUGdURyxNQUFLO0VPaFRSLHlCUGdURyxNQUFLO0VPaFRSLHdCUGdURyxNQUFLO0VPaFRSLHVCUGdURyxNQUFLO0VPaFRSLHFCUGdURyxNQUFLO0VPaFRSLG9CUGlURyxNQUFLO0VPalRSLHFCUGlURyxNQUFLO0VPalRSLGNQaVRHLE1BQUs7RU9qVFIsdUJQaVRHLE1BQUs7RU9qVFIseUJQaVRHLE1BQUs7RU9qVFIsd0JQaVRHLE1BQUs7RU9qVFIsdUJQaVRHLE1BQUs7RU9qVFIscUJQaVRHLE1BQUs7RU9qVFIsb0JQa1RHLEtBQUk7RU9sVFAscUJQa1RHLEtBQUk7RU9sVFAsY1BrVEcsS0FBSTtFT2xUUCx1QlBrVEcsS0FBSTtFT2xUUCx5QlBrVEcsS0FBSTtFT2xUUCx3QlBrVEcsS0FBSTtFT2xUUCx1QlBrVEcsS0FBSTtFT2xUUCxxQlBrVEcsS0FBSTtJQUNGLHNCQUFBOztJQUNBLGNBQUE7SUFDQSxnQkFBQTs7OztJQUlBLFlBQUE7SUFDQSxVQUFBO0lBQ0EsZUFBQTs7RU8zVEwsb0JQNlRHO0VPN1RILHFCUDZURztFTzdUSCxjUDZURztFTzdUSCx1QlA2VEc7RU83VEgseUJQNlRHO0VPN1RILHdCUDZURztFTzdUSCx1QlA2VEc7RU83VEgscUJQNlRHO0lBQ0UscUJBQUE7SUFDQSxjQUFBOztFTy9UTCxvQlBpVUc7RU9qVUgscUJQaVVHO0VPalVILGNQaVVHO0VPalVILHVCUGlVRztFT2pVSCx5QlBpVUc7RU9qVUgsd0JQaVVHO0VPalVILHVCUGlVRztFT2pVSCxxQlBpVUc7SUFDRSxjQUFBO0lBQ0EsbUJBQUE7O0VPblVMLG9CUHNVRyxLQUFJLFdBQVksV0FBVyxLQUFJO0VPdFVsQyxxQlBzVUcsS0FBSSxXQUFZLFdBQVcsS0FBSTtFT3RVbEMsY1BzVUcsS0FBSSxXQUFZLFdBQVcsS0FBSTtFT3RVbEMsdUJQc1VHLEtBQUksV0FBWSxXQUFXLEtBQUk7RU90VWxDLHlCUHNVRyxLQUFJLFdBQVksV0FBVyxLQUFJO0VPdFVsQyx3QlBzVUcsS0FBSSxXQUFZLFdBQVcsS0FBSTtFT3RVbEMsdUJQc1VHLEtBQUksV0FBWSxXQUFXLEtBQUk7RU90VWxDLHFCUHNVRyxLQUFJLFdBQVksV0FBVyxLQUFJO0lBQzdCLHNCQUFBO0lBQ0EsZUFBQTtJQUNBLGVBQUE7SUFDQSxVQUFBOztFTzFVTCxvQlA0VUcsWUFBWTtFTzVVZixxQlA0VUcsWUFBWTtFTzVVZixjUDRVRyxZQUFZO0VPNVVmLHVCUDRVRyxZQUFZO0VPNVVmLHlCUDRVRyxZQUFZO0VPNVVmLHdCUDRVRyxZQUFZO0VPNVVmLHVCUDRVRyxZQUFZO0VPNVVmLHFCUDRVRyxZQUFZO0VPNVVmLG9CUDZVRyxZQUFZLFdBQVc7RU83VTFCLHFCUDZVRyxZQUFZLFdBQVc7RU83VTFCLGNQNlVHLFlBQVksV0FBVztFTzdVMUIsdUJQNlVHLFlBQVksV0FBVztFTzdVMUIseUJQNlVHLFlBQVksV0FBVztFTzdVMUIsd0JQNlVHLFlBQVksV0FBVztFTzdVMUIsdUJQNlVHLFlBQVksV0FBVztFTzdVMUIscUJQNlVHLFlBQVksV0FBVztFTzdVMUIsb0JQOFVHO0VPOVVILHFCUDhVRztFTzlVSCxjUDhVRztFTzlVSCx1QlA4VUc7RU85VUgseUJQOFVHO0VPOVVILHdCUDhVRztFTzlVSCx1QlA4VUc7RU85VUgscUJQOFVHO0VPOVVILG9CUCtVRztFTy9VSCxxQlArVUc7RU8vVUgsY1ArVUc7RU8vVUgsdUJQK1VHO0VPL1VILHlCUCtVRztFTy9VSCx3QlArVUc7RU8vVUgsdUJQK1VHO0VPL1VILHFCUCtVRztFTy9VSCxvQlBnVkc7RU9oVkgscUJQZ1ZHO0VPaFZILGNQZ1ZHO0VPaFZILHVCUGdWRztFT2hWSCx5QlBnVkc7RU9oVkgsd0JQZ1ZHO0VPaFZILHVCUGdWRztFT2hWSCxxQlBnVkc7O0lBRUUsWUFBQTs7RU9sVkwsb0JQb1ZHLFlBQVksSUFBRyxVQUFXLEtBQUk7RU9wVmpDLHFCUG9WRyxZQUFZLElBQUcsVUFBVyxLQUFJO0VPcFZqQyxjUG9WRyxZQUFZLElBQUcsVUFBVyxLQUFJO0VPcFZqQyx1QlBvVkcsWUFBWSxJQUFHLFVBQVcsS0FBSTtFT3BWakMseUJQb1ZHLFlBQVksSUFBRyxVQUFXLEtBQUk7RU9wVmpDLHdCUG9WRyxZQUFZLElBQUcsVUFBVyxLQUFJO0VPcFZqQyx1QlBvVkcsWUFBWSxJQUFHLFVBQVcsS0FBSTtFT3BWakMscUJQb1ZHLFlBQVksSUFBRyxVQUFXLEtBQUk7SUFDNUIsZUFBQTtJQUNBLGdCQUFBOztFT3RWTCxvQlB3VkcsS0FBSSxXQUFZLFdBQVc7RU94VjlCLHFCUHdWRyxLQUFJLFdBQVksV0FBVztFT3hWOUIsY1B3VkcsS0FBSSxXQUFZLFdBQVc7RU94VjlCLHVCUHdWRyxLQUFJLFdBQVksV0FBVztFT3hWOUIseUJQd1ZHLEtBQUksV0FBWSxXQUFXO0VPeFY5Qix3QlB3VkcsS0FBSSxXQUFZLFdBQVc7RU94VjlCLHVCUHdWRyxLQUFJLFdBQVksV0FBVztFT3hWOUIscUJQd1ZHLEtBQUksV0FBWSxXQUFXO0lBQ3pCLGVBQUE7SUFDQSxnQkFBQTs7RU8xVkwsb0JQNFZHLEtBQUksV0FBWSxTQUFTLEtBQUk7RU81VmhDLHFCUDRWRyxLQUFJLFdBQVksU0FBUyxLQUFJO0VPNVZoQyxjUDRWRyxLQUFJLFdBQVksU0FBUyxLQUFJO0VPNVZoQyx1QlA0VkcsS0FBSSxXQUFZLFNBQVMsS0FBSTtFTzVWaEMseUJQNFZHLEtBQUksV0FBWSxTQUFTLEtBQUk7RU81VmhDLHdCUDRWRyxLQUFJLFdBQVksU0FBUyxLQUFJO0VPNVZoQyx1QlA0VkcsS0FBSSxXQUFZLFNBQVMsS0FBSTtFTzVWaEMscUJQNFZHLEtBQUksV0FBWSxTQUFTLEtBQUk7SUFDM0IsUUFBQTs7RU83Vkwsb0JQK1ZHLE9BQU07RU8vVlQscUJQK1ZHLE9BQU07RU8vVlQsY1ArVkcsT0FBTTtFTy9WVCx1QlArVkcsT0FBTTtFTy9WVCx5QlArVkcsT0FBTTtFTy9WVCx3QlArVkcsT0FBTTtFTy9WVCx1QlArVkcsT0FBTTtFTy9WVCxxQlArVkcsT0FBTTtJQUNKLGVBQUE7O0VPaFdMLG9CUGtXRztFT2xXSCxxQlBrV0c7RU9sV0gsY1BrV0c7RU9sV0gsdUJQa1dHO0VPbFdILHlCUGtXRztFT2xXSCx3QlBrV0c7RU9sV0gsdUJQa1dHO0VPbFdILHFCUGtXRztJQUNFLGVBQUE7O0VPbldMLG9CUHFXRyxLQUFJLFdBQVksV0FBVyxLQUFJO0VPcldsQyxxQlBxV0csS0FBSSxXQUFZLFdBQVcsS0FBSTtFT3JXbEMsY1BxV0csS0FBSSxXQUFZLFdBQVcsS0FBSTtFT3JXbEMsdUJQcVdHLEtBQUksV0FBWSxXQUFXLEtBQUk7RU9yV2xDLHlCUHFXRyxLQUFJLFdBQVksV0FBVyxLQUFJO0VPcldsQyx3QlBxV0csS0FBSSxXQUFZLFdBQVcsS0FBSTtFT3JXbEMsdUJQcVdHLEtBQUksV0FBWSxXQUFXLEtBQUk7RU9yV2xDLHFCUHFXRyxLQUFJLFdBQVksV0FBVyxLQUFJOzs7RU9yV2xDLG9CUHdXRztFT3hXSCxxQlB3V0c7RU94V0gsY1B3V0c7RU94V0gsdUJQd1dHO0VPeFdILHlCUHdXRztFT3hXSCx3QlB3V0c7RU94V0gsdUJQd1dHO0VPeFdILHFCUHdXRztFT3hXSCxvQlB5V0c7RU96V0gscUJQeVdHO0VPeldILGNQeVdHO0VPeldILHVCUHlXRztFT3pXSCx5QlB5V0c7RU96V0gsd0JQeVdHO0VPeldILHVCUHlXRztFT3pXSCxxQlB5V0c7RU96V0gsb0JQMFdHLG1CQUFtQjtFTzFXdEIscUJQMFdHLG1CQUFtQjtFTzFXdEIsY1AwV0csbUJBQW1CO0VPMVd0Qix1QlAwV0csbUJBQW1CO0VPMVd0Qix5QlAwV0csbUJBQW1CO0VPMVd0Qix3QlAwV0csbUJBQW1CO0VPMVd0Qix1QlAwV0csbUJBQW1CO0VPMVd0QixxQlAwV0csbUJBQW1CO0VPMVd0QixvQlAyV0csdUJBQXVCO0VPM1cxQixxQlAyV0csdUJBQXVCO0VPM1cxQixjUDJXRyx1QkFBdUI7RU8zVzFCLHVCUDJXRyx1QkFBdUI7RU8zVzFCLHlCUDJXRyx1QkFBdUI7RU8zVzFCLHdCUDJXRyx1QkFBdUI7RU8zVzFCLHVCUDJXRyx1QkFBdUI7RU8zVzFCLHFCUDJXRyx1QkFBdUI7SUFDckIsZ0JBQUE7O0lBQ0EsVUFBQTs7RU83V0wsb0JQZ1hHLEtBQUksV0FBWTtFT2hYbkIscUJQZ1hHLEtBQUksV0FBWTtFT2hYbkIsY1BnWEcsS0FBSSxXQUFZO0VPaFhuQix1QlBnWEcsS0FBSSxXQUFZO0VPaFhuQix5QlBnWEcsS0FBSSxXQUFZO0VPaFhuQix3QlBnWEcsS0FBSSxXQUFZO0VPaFhuQix1QlBnWEcsS0FBSSxXQUFZO0VPaFhuQixxQlBnWEcsS0FBSSxXQUFZO0VPaFhuQixvQlBpWEcsS0FBSSxXQUFZ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b0ksY3NCeG9DbkksY0FJRztFUndrQkosYWQ0akJnSyxpQnNCeG9DL0osY0FJRztJQWFVLGVBQUE7OztBUndOYix3QkFBMEM7RUFtVzNDLHNCZDRqQndCLGVBQWMsYXNCeG9DckMsY0FJRztFUndrQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FJRztFUndrQkosd0JkNGpCb0ksY3NCeG9DbkksY0FJRztFUndrQkosYWQ0akJnSyxpQnNCeG9DL0osY0FJRztJQWMwQixjQUFBOzs7QVJrTTdCLG1CQUF1QztFQXdYeEMsV1FwakJpQix1QnRCZ25DTyxlQUFjLGFzQnhvQ3JDLGNBSUc7RVJ3a0JKLFdRcGpCaUIsd0J0QmduQzRELGdCQUFlLGFzQnhvQzNGLGNBSUc7RVJ3a0JKLFdRcGpCaUIseUJ0QmduQ21ILGNzQnhvQ25JLGNBSUc7RVJ3a0JKLFdRcGpCaUIsY3RCZ25DK0ksaUJzQnhvQy9KLGNBSUc7RVJ3a0JKLFdRcGpCOEIsc0J0QmduQ04sZUFBYyxhc0J4b0NyQyxjQUlHO0VSd2tCSixXUXBqQjhCLHVCdEJnbkMrQyxnQkFBZSxhc0J4b0MzRixjQUlHO0VSd2tCSixXUXBqQjhCLHdCdEJnbkNzRyxjc0J4b0NuSSxjQUlHO0VSd2tCSixXUXBqQjhCLGF0QmduQ2tJLGlCc0J4b0MvSixjQUlHO0lBb0JnRCxnQkFBQTtJQUFpQixrQkFBQTs7O0FSMkRsRSxtQkFBdUM7RUF5ZjFDLFdRbGpCaUIsdUJ0QjhtQ08sZUFBYyxhc0J4b0NyQyxjQUlHO0VSd2tCSixXUWxqQmlCLHdCdEI4bUM0RCxnQkFBZSxhc0J4b0MzRixjQUlHO0VSd2tCSixXUWxqQmlCLHlCdEI4bUNtSCxjc0J4b0NuSSxjQUlHO0VSd2tCSixXUWxqQmlCLGN0QjhtQytJLGlCc0J4b0MvSixjQUlHO0VSd2tCSixzQmQ0akJ3QixlQUFjLGFzQnhvQ3JDLGNBSUcsUUFzQmtCLFlBQVcsc0J0QjhtQ1QsZUFBYyxhc0J4b0NyQyxjQUlHO0VSd2tCSixzQmQ0akJ3QixlQUFjLGFzQnhvQ3JDLGNBSUcsUUFzQmtCLFlBQVcsdUJ0QjhtQzRDLGdCQUFlLGFzQnhvQzNGLGNBSUc7RVJ3a0JKLHNCZDRqQndCLGVBQWMsYXNCeG9DckMsY0FJRyxRQXNCa0IsWUFBVyx3QnRCOG1DbUcsY3NCeG9DbkksY0FJRztFUndrQkosc0JkNGpCd0IsZUFBYyxhc0J4b0NyQyxjQUlHLFFBc0JrQixZQUFXLGF0QjhtQytILGlCc0J4b0MvSixjQUlHO0VSd2tCSix1QmQ0akI2RSxnQkFBZSxhc0J4b0MzRixjQUlHLFFBc0JrQixZQUFXLHNCdEI4bUNULGVBQWMsYXNCeG9DckMsY0FJRztFUndrQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FJRyxRQXNCa0IsWUFBVyx1QnRCOG1DNEMsZ0JBQWUsYXNCeG9DM0YsY0FJRztFUndrQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FJRyxRQXNCa0IsWUFBVyx3QnRCOG1DbUcsY3NCeG9DbkksY0FJRztFUndrQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FJRyxRQXNCa0IsWUFBVyxhdEI4bUMrSCxpQnNCeG9DL0osY0FJRztFUndrQkosd0JkNGpCb0ksY3NCeG9DbkksY0FJRyxRQXNCa0IsWUFBVyxzQnRCOG1DVCxlQUFjLGFzQnhvQ3JDLGNBSUc7RVJ3a0JKLHdCZDRqQm9JLGNzQnhvQ25JLGNBSUcsUUFzQmtCLFlBQVcsdUJ0QjhtQzRDLGdCQUFlLGFzQnhvQzNGLGNBSUc7RVJ3a0JKLHdCZDRqQm9JLGNzQnhvQ25JLGNBSUcsUUFzQmtCLFlBQVcsd0J0QjhtQ21HLGNzQnhvQ25JLGNBSUc7RVJ3a0JKLHdCZDRqQm9JLGNzQnhvQ25JLGNBSUcsUUFzQmtCLFlBQVcsYXRCOG1DK0gsaUJzQnhvQy9KLGNBSUc7RVJ3a0JKLGFkNGpCZ0ssaUJzQnhvQy9KLGNBSUcsUUFzQmtCLFlBQVcsc0J0QjhtQ1QsZUFBYyxhc0J4b0NyQyxjQUlHO0VSd2tCSixhZDRqQmdLLGlCc0J4b0MvSixjQUlHLFFBc0JrQixZQUFXLHVCdEI4bUM0QyxnQkFBZSxhc0J4b0MzRixjQUlHO0VSd2tCSixhZDRqQmdLLGlCc0J4b0MvSixjQUlHLFFBc0JrQixZQUFXLHdCdEI4bUNtRyxjc0J4b0NuSSxjQUlHO0VSd2tCSixhZDRqQmdLLGlCc0J4b0MvSixjQUlHLFFBc0JrQixZQUFXLGF0QjhtQytILGlCc0J4b0MvSixjQUlHO0lBdUJhLGNBQUE7SUFBZSxnQkFBQTs7O0FSa0U3Qix3QkFBMEM7RUErZTdDLFdRbGpCaUIsdUJ0QjhtQ08sZUFBYyxhc0J4b0NyQyxjQUlHO0VSd2tCSixXUWxqQmlCLHdCdEI4bUM0RCxnQkFBZSxhc0J4b0MzRixjQUlHO0VSd2tCSixXUWxqQmlCLHlCdEI4bUNtSCxjc0J4b0NuSSxjQUlHO0VSd2tCSixXUWxqQmlCLGN0QjhtQytJLGlCc0J4b0MvSixjQUlHO0VSd2tCSixzQmQ0akJ3QixlQUFjLGFzQnhvQ3JDLGNBSUcsUUFzQmtCLFlBQVcsc0J0QjhtQ1QsZUFBYyxhc0J4b0NyQyxjQUlHO0VSd2tCSixzQmQ0akJ3QixlQUFjLGFzQnhvQ3JDLGNBSUcsUUFzQmtCLFlBQVcsdUJ0QjhtQzRDLGdCQUFlLGFzQnhvQzNGLGNBSUc7RVJ3a0JKLHNCZDRqQndCLGVBQWMsYXNCeG9DckMsY0FJRyxRQXNCa0IsWUFBVyx3QnRCOG1DbUcsY3NCeG9DbkksY0FJRztFUndrQkosc0JkNGpCd0IsZUFBYyxhc0J4b0NyQyxjQUlHLFFBc0JrQixZQUFXLGF0QjhtQytILGlCc0J4b0MvSixjQUlHO0VSd2tCSix1QmQ0akI2RSxnQkFBZSxhc0J4b0MzRixjQUlHLFFBc0JrQixZQUFXLHNCdEI4bUNULGVBQWMsYXNCeG9DckMsY0FJRztFUndrQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FJRyxRQXNCa0IsWUFBVyx1QnRCOG1DNEMsZ0JBQWUsYXNCeG9DM0YsY0FJRztFUndrQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FJRyxRQXNCa0IsWUFBVyx3QnRCOG1DbUcsY3NCeG9DbkksY0FJRztFUndrQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FJRyxRQXNCa0IsWUFBVyxhdEI4bUMrSCxpQnNCeG9DL0osY0FJRztFUndrQkosd0JkNGpCb0ksY3NCeG9DbkksY0FJRyxRQXNCa0IsWUFBVyxzQnRCOG1DVCxlQUFjLGFzQnhvQ3JDLGNBSUc7RVJ3a0JKLHdCZDRqQm9JLGNzQnhvQ25JLGNBSUcsUUFzQmtCLFlBQVcsdUJ0QjhtQzRDLGdCQUFlLGFzQnhvQzNGLGNBSUc7RVJ3a0JKLHdCZDRqQm9JLGNzQnhvQ25JLGNBSUcsUUFzQmtCLFlBQVcsd0J0QjhtQ21HLGNzQnhvQ25JLGNBSUc7RVJ3a0JKLHdCZDRqQm9JLGNzQnhvQ25JLGNBSUcsUUFzQmtCLFlBQVcsYXRCOG1DK0gsaUJzQnhvQy9KLGNBSUc7RVJ3a0JKLGFkNGpCZ0ssaUJzQnhvQy9KLGNBSUcsUUFzQmtCLFlBQVcsc0J0QjhtQ1QsZUFBYyxhc0J4b0NyQyxjQUlHO0VSd2tCSixhZDRqQmdLLGlCc0J4b0MvSixjQUlHLFFBc0JrQixZQUFXLHVCdEI4bUM0QyxnQkFBZSxhc0J4b0MzRixjQUlHO0VSd2tCSixhZDRqQmdLLGlCc0J4b0MvSixjQUlHLFFBc0JrQixZQUFXLHdCdEI4bUNtRyxjc0J4b0NuSSxjQUlHO0VSd2tCSixhZDRqQmdLLGlCc0J4b0MvSixjQUlHLFFBc0JrQixZQUFXLGF0QjhtQytILGlCc0J4b0MvSixjQUlHO0lBd0JhLGNBQUE7SUFBZ0IsZ0JBQUE7OztBUm9LaEMsd0JBQTBDO0VBNFkzQyxXUWxqQmlCLHVCdEI4bUNPLGVBQWMsYXNCeG9DckMsY0FJRztFUndrQkosV1FsakJpQix3QnRCOG1DNEQsZ0JBQWUsYXNCeG9DM0YsY0FJRztFUndrQkosV1FsakJpQix5QnRCOG1DbUgsY3NCeG9DbkksY0FJRztFUndrQkosV1FsakJpQixjdEI4bUMrSSxpQnNCeG9DL0osY0FJRztFUndrQkosc0JkNGpCd0IsZUFBYyxhc0J4b0NyQyxjQUlHLFFBc0JrQixZQUFXLHNCdEI4bUNULGVBQWMsYXNCeG9DckMsY0FJRztFUndrQkosc0JkNGpCd0IsZUFBYyxhc0J4b0NyQyxjQUlHLFFBc0JrQixZQUFXLHVCdEI4bUM0QyxnQkFBZSxhc0J4b0MzRixjQUlHO0VSd2tCSixzQmQ0akJ3QixlQUFjLGFzQnhvQ3JDLGNBSUcsUUFzQmtCLFlBQVcsd0J0QjhtQ21HLGNzQnhvQ25JLGNBSUc7RVJ3a0JKLHNCZDRqQndCLGVBQWMsYXNCeG9DckMsY0FJRyxRQXNCa0IsWUFBVyxhdEI4bUMrSCxpQnNCeG9DL0osY0FJRztFUndrQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FJRyxRQXNCa0IsWUFBVyxzQnRCOG1DVCxlQUFjLGFzQnhvQ3JDLGNBSUc7RVJ3a0JKLHVCZDRqQjZFLGdCQUFlLGFzQnhvQzNGLGNBSUcsUUFzQmtCLFlBQVcsdUJ0QjhtQzRDLGdCQUFlLGFzQnhvQzNGLGNBSUc7RVJ3a0JKLHVCZDRqQjZFLGdCQUFlLGFzQnhvQzNGLGNBSUcsUUFzQmtCLFlBQVcsd0J0QjhtQ21HLGNzQnhvQ25JLGNBSUc7RVJ3a0JKLHVCZDRqQjZFLGdCQUFlLGFzQnhvQzNGLGNBSUcsUUFzQmtCLFlBQVcsYXRCOG1DK0gsaUJzQnhvQy9KLGNBSUc7RVJ3a0JKLHdCZDRqQm9JLGNzQnhvQ25JLGNBSUcsUUFzQmtCLFlBQVcsc0J0QjhtQ1QsZUFBYyxhc0J4b0NyQyxjQUlHO0VSd2tCSix3QmQ0akJvSSxjc0J4b0NuSSxjQUlHLFFBc0JrQixZQUFXLHVCdEI4bUM0QyxnQkFBZSxhc0J4b0MzRixjQUlHO0VSd2tCSix3QmQ0akJvSSxjc0J4b0NuSSxjQUlHLFFBc0JrQixZQUFXLHdCdEI4bUNtRyxjc0J4b0NuSSxjQUlHO0VSd2tCSix3QmQ0akJvSSxjc0J4b0NuSSxjQUlHLFFBc0JrQixZQUFXLGF0QjhtQytILGlCc0J4b0MvSixjQUlHO0VSd2tCSixhZDRqQmdLLGlCc0J4b0MvSixjQUlHLFFBc0JrQixZQUFXLHNCdEI4bUNULGVBQWMsYXNCeG9DckMsY0FJRztFUndrQkosYWQ0akJnSyxpQnNCeG9DL0osY0FJRyxRQXNCa0IsWUFBVyx1QnRCOG1DNEMsZ0JBQWUsYXNCeG9DM0YsY0FJRztFUndrQkosYWQ0akJnSyxpQnNCeG9DL0osY0FJRyxRQXNCa0IsWUFBVyx3QnRCOG1DbUcsY3NCeG9DbkksY0FJRztFUndrQkosYWQ0akJnSyxpQnNCeG9DL0osY0FJRyxRQXNCa0IsWUFBVyxhdEI4bUMrSCxpQnNCeG9DL0osY0FJRztJQXlCNEIsZUFBQTtJQUFpQixpQkFBQTs7O0FBRzlDLHNCdEJ3bUNxQixlQUFjLGFzQnhvQ3JDLGNBZ0NHO0FBQUQsdUJ0QndtQzBFLGdCQUFlLGFzQnhvQzNGLGNBZ0NHO0FBQUQsd0J0QndtQ2lJLGNzQnhvQ25JLGNBZ0NHO0FBQUQsYXRCd21DNkosaUJzQnhvQy9KLGNBZ0NHO0VBQ0MsY0FBQTtFQUNBLFNBQVMsNkJBQVQ7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFUnlnQkosYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7RVF6Z0JFLGVBQUE7RUFFQSxjQUFBOztBUjJLSixtQkFBdUM7RUF3WHhDLE9RamlCWSxXQUFZLHVCdEI2bENBLGVBQWMsYXNCeG9DckMsY0FnQ0c7RVI0aUJKLE9RamlCWSxXQUFZLHdCdEI2bENxRCxnQkFBZSxhc0J4b0MzRixjQWdDRztFUjRpQkosT1FqaUJZLFdBQVkseUJ0QjZsQzRHLGNzQnhvQ25JLGNBZ0NHO0VSNGlCSixPUWppQlksV0FBWSxjdEI2bEN3SSxpQnNCeG9DL0osY0FnQ0c7RVI0aUJKLE9RamlCaUMsV0FBVyxzQnRCNmxDcEIsZUFBYyxhc0J4b0NyQyxjQWdDRztFUjRpQkosT1FqaUJpQyxXQUFXLHVCdEI2bENpQyxnQkFBZSxhc0J4b0MzRixjQWdDRztFUjRpQkosT1FqaUJpQyxXQUFXLHdCdEI2bEN3Rixjc0J4b0NuSSxjQWdDRztFUjRpQkosT1FqaUJpQyxXQUFXLGF0QjZsQ29ILGlCc0J4b0MvSixjQWdDRztJQVc4RCxlQUFBO0lBQWdCLGlCQUFBO0lBQWtCLGlCQUFBOzs7QVJ3Q2pHLG1CQUF1QztFQXlmMUMsc0JkNGpCd0IsZUFBYyxhc0J4b0NyQyxjQWdDRztFUjRpQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FnQ0c7RVI0aUJKLHdCZDRqQm9JLGNzQnhvQ25JLGNBZ0NHO0VSNGlCSixhZDRqQmdLLGlCc0J4b0MvSixjQWdDRztJQVlXLGdCQUFBO0lBQWlCLGdCQUFBO0lBQWlCLGNBQUE7OztBUm9KaEQsd0JBQTBDO0VBNFkzQyxzQmQ0akJ3QixlQUFjLGFzQnhvQ3JDLGNBZ0NHO0VSNGlCSix1QmQ0akI2RSxnQkFBZSxhc0J4b0MzRixjQWdDRztFUjRpQkosd0JkNGpCb0ksY3NCeG9DbkksY0FnQ0c7RVI0aUJKLGFkNGpCZ0ssaUJzQnhvQy9KLGNBZ0NHO0lBYzBCLGdCQUFBOzs7QVI2SjdCLHdCQUEwQztFQWlZM0Msc0JkNGpCd0IsZUFBYyxhc0J4b0NyQyxjQWdDRztFUjRpQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FnQ0c7RVI0aUJKLHdCZDRqQm9JLGNzQnhvQ25JLGNBZ0NHO0VSNGlCSixhZDRqQmdLLGlCc0J4b0MvSixjQWdDRztJQWUwQixjQUFBOzs7QVJtRDNCLHdCQUEwQztFQTBlN0Msc0JkNGpCd0IsZUFBYyxhc0J4b0NyQyxjQWdDRztFUjRpQkosdUJkNGpCNkUsZ0JBQWUsYXNCeG9DM0YsY0FnQ0c7RVI0aUJKLHdCZDRqQm9JLGNzQnhvQ25JLGNBZ0NHO0VSNGlCSixhZDRqQmdLLGlCc0J4b0MvSixjQWdDRztJQWdCVSxjQUFBOzs7QUFNYixxQkFBc0IsS0FBSSwwQkFBMEIsbUJBQW9CLGVBQWMsUUFBUztFQUM3RixpQkFBQTs7QUFFRixZQUFhLEtBQUksMEJBQTJCLGVBQWMsUUFHeEQ7RUFBa0IsV0FBQTs7QUFIcEIsWUFBYSxLQUFJLDBCQUEyQixlQUFjLFFBTXhEO0VBQ0UsbUJBQUE7O0FBR0osMEJBQTJCLGVBQWM7RUFDdkMsYUFBQTtFQUNBLHFCQUFBOztBQUNBLDBCQUh5QixlQUFjLFFBR3JDO0VBQXdCLHFCQUFBOztBQU8zQixlQUFnQixxQkFBcUIsZUFDcEM7RUFBd0Isc0JBQUE7O0FBSTFCLFlBQWEsdUJBQXNCLFlBQWE7RUFDOUMsb0JBQUE7O0FSVUEsd0JBQTBDO0VRUDFDLFlBQWEsS0FBSSwwQkFBMkI7RUFBeUIsWUFBYSx1QkFBc0IsWUFBYTtJQUEyQixXQUFBOztFQUNoSixZQUFhLEtBQUksMEJBQTJCLGVBQWM7SUFBVyxlQUFBOzs7QUFJdkUsTUFBTywwQkFFTDtFQUFLLG9CQUFBOztBQUZQLE1BQU8sMEJBR0w7RUFDRSxVQUFBO0VBRUEsY0FBQTs7QUFOSixNQUFPLDBCQUdMLFNBS0UsZUFBZTtFQUF3QixlQUFBO0VBQWdCLGdCQUFBOztBUlgzRCx3QkFBMEM7RVFpQnZDLGVBQWdCLHFCQUFxQixRQUFPLGNBQzNDO0VBRDRELGVBQWdCLHFCQUFxQixRQUFPLGFBQ3hHO0lBQ0Usa0JBQUE7OztBUmdHTix3QkFBMEM7RVExRnZDLGVBQWdCLHFCQUFxQixRQUFPO0VBQWlCLGVBQWdCLHFCQUFxQixRQUFPO0lBQ3hHLFVBQUE7O0VBREQsZUFBZ0IscUJBQXFCLFFBQU8sY0FHM0M7RUFINEQsZUFBZ0IscUJBQXFCLFFBQU8sYUFHeEc7SUFBd0IsaUJBQUE7O0VBS3pCLGVBQWdCLHFCQUFxQixRQUFPO0lBQzNDLFdBQUE7SUFDQSxlQUFBO0lBQ0EsVUFBQTs7RUFJRCxlQUFnQixxQkFBcUIsUUFBTztJQUMzQyxpQkFBQTs7RUFERCxlQUFnQixxQkFBcUIsUUFBTyxhQUUzQztJQUF1QixlQUFBOzs7QUFJM0IsSUFBSSxpQ0FBaUMsV0FBWSxPQUFNLGNBQWM7RUFDbkUsb0JBQUE7RUFDQSxVQUFBOztBQUVGLElBQUksbUNBQW1DLFdBQVksT0FBTSxjQUFjO0VBQ3JFLGlCQUFBO0VBQ0EsVUFBQTs7QVJ6REEsbUJBQXVDO0VBeWYxQyxJUTliSyxpQ0FBaUMsV0FBWSxPQUFNLGNBQWM7RVI4YnRFLElROWJxRixtQ0FBbUMsV0FBWSxPQUFNLGNBQWM7SUFFbkosY0FBQTtJQUNBLFVBQUE7OztBUi9DRix3QkFBMEM7RUEwZTdDLElROWJLLGlDQUFpQyxXQUFZLE9BQU0sY0FBYztFUjhidEUsSVE5YnFGLG1DQUFtQyxXQUFZLE9BQU0sY0FBYztJQU1uSixVQUFBOzs7QUFOSixJQUFJLGlDQUFpQyxXQUFZLE9BQU0sY0FBYyxTQVFuRTtBQVI4RSxJQUFJLG1DQUFtQyxXQUFZLE9BQU0sY0FBYyxTQVFySjtFQUNFLGdCQUFBO0VBQ0EsZUFBQTs7QVJyRUYsbUJBQXVDO0VBeWYxQyxJUTliSyxpQ0FBaUMsV0FBWSxPQUFNLGNBQWMsU0FRbkU7RVJzYkgsSVE5YnFGLG1DQUFtQyxXQUFZLE9BQU0sY0FBYyxTQVFySjtJQUlZLGdCQUFBOzs7QVJ2RVosbUJBQXVDO0VBeWYxQyxjUTVhaUIsZUFBYztJQUUxQixXQUFBOzs7QUFHSCxjQUFlLGVBQWMsU0FBVTtFQUFrQixZQUFBOztBQUN6RCxjQUFlLGVBQWMsU0FBVTtFQUN0QyxrQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTs7QUFHSixnQkFBaUIsZUFBZTtFQUM5QixjQUFBOztBVG5LRjtFQUdFLGtCQUFBO0VBQ0EsYUFBQTs7QUNzTUEsbUJBQXVDO0VBd1h4QyxJRDFqQkssT0FBUTtJQUVSLFlBQUE7OztBQytERixtQkFBdUM7RUF5ZjFDO0lEcGpCVyxlQUFBO0lBQWlCLE1BQUE7SUFBUSxXQUFBO0lqQjJDcEIsbUJBQUE7OztBa0IwQmIsd0JBQTBDO0VBK2U3QztJRG5qQlcsWUFBQTs7O0FDeUVSLHdCQUEwQztFQTBlN0M7SURsakJVLFlBQUE7OztBQ3dFUCx3QkFBMEM7RUEwZTdDLGNEaGpCQztJQUVJLGVBQUE7O0VDOGlCTCxjRGhqQkMsV0FHSTtJQUFPLGlCQUFBOzs7QUNxTFgsbUJBQXVDO0VBd1h4QyxPRHppQlM7RUN5aUJULFdEemlCd0I7SUFBdUIsWUFBQTtJQUFjLE1BQUE7SUFBUSxXQUFBOzs7QUNpTHBFLG1CQUF1QztFQXdYeEMsT0R4aUJTO0lqQitCTyxtQkFBQTtJQUNJLDZCQUFBOzs7QWtCZWpCLG1CQUF1QztFQXlmMUMsY0RyaUJnQjtJQUFlLFVBQUE7OztBQUM5QixvQkFBcUI7QUFBRyxxQkFBc0I7QUFBRyxjQUFlO0FBQUcsdUJBQXdCO0FBQUcseUJBQTBCO0VBRXRILGFBQUE7O0FBRkYsb0JBQXFCLGVBR25CLDJCQUEyQjtBQUhMLHFCQUFzQixlQUc1QywyQkFBMkI7QUFIb0IsY0FBZSxlQUc5RCwyQkFBMkI7QUFIc0MsdUJBQXdCLGVBR3pGLDJCQUEyQjtBQUhpRSx5QkFBMEIsZUFHdEgsMkJBQTJCO0VDc2MzQixhQUFBOztBQS9ZQSx3QkFBMEM7RUEwZTdDLG9CRHBpQnNCLGVBSW5CLFdBQVc7RUNnaUJkLHFCRHBpQitDLGVBSTVDLFdBQVc7RUNnaUJkLGNEcGlCaUUsZUFJOUQsV0FBVztFQ2dpQmQsdUJEcGlCNEYsZUFJekYsV0FBVztFQ2dpQmQseUJEcGlCeUgsZUFJdEgsV0FBVztJQUFlLGNBQUE7OztBQ3VDMUIsbUJBQXVDO0VBeWYxQyxvQkQ3aEJzQjtFQzZoQnRCLHFCRDdoQitDO0VDNmhCL0MsY0Q3aEJpRTtFQzZoQmpFLHVCRDdoQjRGO0VDNmhCNUYseUJEN2hCeUg7RUM2aEJ6SDtJRDVoQmEsWUFBQTs7O0FBS2Q7RUFDRSxrQkFBQTtFakJhZSxtQkFBQTtFQUNJLDZCQUFBO0VpQlZuQixhQUFBOztBQzhCQSx3QkFBMEM7RUFvZjNDO0lEN2dCVSxXQUFBOzs7QUFEWCwwQkFHRTtFQUNFLGlCQUFBO0VqQjZDRixtQkFBQTtFQUNBLFdBQUE7RUFDQSxzQkFBQTtFa0I0YkEsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsZ0JBQUE7O0FsQjdiRiwwQmlCbERBLGdCakJrREM7RUFDQyx5QkFBQTs7QUFJRiwwQmlCdkRBLGdCakJ1REM7RUFDQyx3Q0FBQTs7QWtCb2NGLDBCRDVmQSxnQkM0ZkM7RUFDQyxxQkFBQTs7QUFFRiwwQkQvZkEsZ0JDK2ZDO0VBRUMsOEJBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTs7QUFFQSwwQkR0Z0JGLGdCQytmQyxTQU9FO0VBQ0MsMEJBQUE7RUFDQSx3Q0FBQTs7QUFyWEosbUJBQXVDO0VBd1h4QyxPRHZnQlcsMkJBSlY7RUMyZ0JELFdEdmdCMEIsMkJBSnpCO0lBS3NCLGlCQUFBOzs7QUNhcEIsbUJBQXVDO0VBeWYxQywwQkQzZ0JDO0lBU1ksZ0JBQUE7SUFBa0IsZUFBQTtJQUFpQixnQkFBQTs7O0FDd0I3Qyx3QkFBMEM7RUEwZTdDLDBCRDNnQkM7SUFVVyxlQUFBO0lBQWlCLGdCQUFBO0lBQWtCLGdCQUFBOzs7QUFJaEQsWUFDRTtBUjFERjtFUTRESSxVQUFBOztBQUhKLFlBQ0UsRUFJRTtBUjlESixlQUdFO0VRZ0VJLGVBQUE7O0FDMkhKLG1CQUF1QztFQXdYeEMsT0R2ZmEsYUFMWixFQUlFO0VDd2ZILFdEdmYyQixZQUwxQixFQUlFO0lBRXNCLGVBQUE7OztBQ0h0QixtQkFBdUM7RUF5ZjFDLFlENWZDLEVBSUU7RVI5REosZUFHRTtJUWlFYyxlQUFBO0lBQWlCLGlCQUFBOzs7QUM0RS9CLHdCQUEwQyx1QkFBd0Isd0JBQTRCO0VBc2EvRixZRDVmQyxFQUlFO0VSOURKLGVBR0U7SVFrRTRCLGVBQUE7SUFBaUIsaUJBQUE7OztBQ0UzQyx3QkFBMEM7RUErZTdDLFlENWZDLEVBSUU7RVI5REosZUFHRTtJUW1FYyxlQUFBO0lBQXFCLGlCQUFBOzs7QUNNakMsd0JBQTBDO0VBMGU3QyxZRDVmQyxFQUlFO0VSOURKLGVBR0U7SVFvRWEsZUFBQTtJQUFxQixpQkFBQTs7O0FBSXBDLHVCQUNFLEVBQUMsY0FBYyxXQUFXO0VqQjZEWSx5QkFBQTs7QWtCcUR0QyxtQkFBdUM7RUF3WHhDLHVCRHZlQztJQUVvQixlQUFBO0lBQWtCLGFBQUE7OztBQ2Z0Qyx3QkFBMEM7RUFvZjNDLHVCRHZlQztJQUdXLGVBQUE7OztBQ21HWCx3QkFBMEM7RUFpWTNDLHVCRHZlQztJQUkyQixlQUFBOzs7QUNQekIsd0JBQTBDO0VBMGU3Qyx1QkR2ZUM7SUFLVyxnQkFBQTs7O0FDMEdYLG1CQUF1QztFQXdYeEMsSUQvZE8sT0FBUSx3QkFSZDtJQVNzQixpQkFBQTs7O0FDc0d0QixtQkFBdUM7RUF3WHhDLElEemRPLE9BQVEsd0JBRmQ7SUFHc0IsVUFBQTs7O0FDdkJwQix3QkFBMEM7RUErZTdDLHVCRGpkQztJQUNZLGNBQUE7OztBQzRCWix3QkFBZ0QsNkJBQTZCO0VBb2I5RSx1QkRqZEM7SUFFZSxpQkFBQTs7O0FDTmYsd0JBQTBDO0VBcWQzQyx1QkRqZEM7SUFHcUIsaUJBQUE7OztBQ3RDckIsd0JBQTBDO0VBb2YzQyx1QkRqZEM7SUFJVyxnQkFBQTs7O0FDNUNULG1CQUF1QztFQXlmMUMsdUJEemNDO0lBQ1ksZUFBQTtJQUFpQixnQkFBQTs7O0FDbEMzQix3QkFBMEM7RUEwZTdDLHVCRHpjQztJQUdXLGVBQUE7OztBQ25EVCxtQkFBdUM7RUF5ZjFDO0lEamNXLFlBQUE7OztBQURaLCtCQUdFLEtBQUksS0FDRixHQUFFLFNBQVUsTUFBTSxHQUFHO0VqQmVLLHlCQUFBOztBaUJuQjlCLCtCQU9FLGtDQUdFO0VDeVpGLGFBQWEscUJBQXFCLCtCQUFsQzs7QUF6VkEsbUJBQXVDO0VBd1h4QywrQkQzYkMsa0NBR0U7SUNxV0EsY0FBQTtJRGhXSSxXQUFBO0lBQ0EsZUFBQTtJQUVBLGVBQUE7SUFDQSxpQkFBQTs7O0FBbkJSLCtCQXdCRTtFQUNFLG9CQUFBOztBQXpCSiwrQkEyQkU7QUEzQkYsK0JBMkI4QjtBQTNCOUIsK0JBeXZMQSxDQTl0TGdFLDBCQUEyQjtBQTNCM0YsK0JBeXZMQSxDQTl0TCtHLGlDQUFrQyxHQUFHO0FBM0JwSiwrQkF5dkxBLENBOXRMcUssaUNBQWtDLEdBQUc7RWpCVGhMLHlCQUFBOztBaUJsQjFCLCtCQTJCRSwyQkFHRSxHQUFHO0FBOUJQLCtCQTJCOEIsa0NBRzFCLEdBQUc7QUE5QlAsK0JBeXZMQSxDQTl0TGdFLDBCQUEyQixvQkFHdkYsR0FBRztBQTlCUCwrQkF5dkxBLENBOXRMK0csaUNBQWtDLEdBQUcsaUJBR2hKLEdBQUc7QUE5QlAsK0JBeXZMQSxDQTl0THFLLGlDQUFrQyxHQUFHLG9CQUd0TSxHQUFHO0VqQlh1Qix5QkFBQTs7QWtCckU1Qix3QkFBMEM7RUFvZjNDLCtCRGhhQztJQUNXLFdBQUE7OztBQW5DYiwrQkFrQ0UsMkJBR0U7RUFDRSxpQkFBQTtFakJqRUosbUJBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RWtCNGJBLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGdCQUFBOztBbEI3YkYsK0JpQnlEQSwyQkFHRSxnQmpCNUREO0VBQ0MseUJBQUE7O0FBSUYsK0JpQm9EQSwyQkFHRSxnQmpCdkREO0VBQ0Msd0NBQUE7O0FrQm9jRiwrQkRqWkEsMkJBR0UsZ0JDOFlEO0VBQ0MscUJBQUE7O0FBRUYsK0JEcFpBLDJCQUdFLGdCQ2laRDtFQUVDLDhCQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7O0FBRUEsK0JEM1pGLDJCQUdFLGdCQ2laRCxTQU9FO0VBQ0MsMEJBQUE7RUFDQSx3Q0FBQTs7QUFyWEosbUJBQXVDO0VBd1h4QyxPRHpaYSxnQ0FQWiwyQkFHRTtFQzZaSCxXRHpaNEIsZ0NBUDNCLDJCQUdFO0lBS3NCLGVBQUE7SUFBaUIsaUJBQUE7OztBQ2pHdkMsbUJBQXVDO0VBeWYxQywrQkRoYUMsMkJBR0U7SUFTWSxnQkFBQTtJQUFrQixlQUFBO0lBQWlCLGdCQUFBOzs7QUN0Ri9DLHdCQUEwQztFQTBlN0MsK0JEaGFDLDJCQUdFO0lBVVcsZUFBQTtJQUFpQixnQkFBQTtJQUFrQixnQkFBQTs7O0FBL0NsRCwrQkFtREUsMkJBQTJCLG9CQUFtQixNQUFNO0FBbkR0RCwrQkFtRCtELEdBQUcsR0FBRyxFQUFDLE1BQU07QUFuRDVFLCtCQXl2TEEsQ0F0c0xtRixpQ0FBa0MsR0FBRyxpQkFBZ0IsTUFBTTtBQW5EOUksK0JBbURzSixrQ0FBa0MsR0FBRyxpQkFBZ0IsTUFBTTtFQUU3TSxlQUFlLGFBQWEsWUFBNUI7RUFDQSxtQkFBbUIsYUFBYSxZQUFoQztFQUNBLFdBQVcsYUFBYSxZQUF4Qjs7QUNtQkYsbUJBQXVDO0VBd1h4QywrQkR6WUMsMkJBQTJCLEdBSXpCO0VDcVlILCtCRHpZZ0Msa0NBQWtDLEdBSS9EO0VDcVlILCtCRHpZQywyQkFBMkIsR0FJdEIsR0FBRyxHQUFHO0VDcVlaLCtCRHpZZ0Msa0NBQWtDLEdBSTVELEdBQUcsR0FBRztJQUNXLDRCQUFBO0lBQThCLGVBQUE7OztBQUdoRCwrQkFSSiwyQkFBMkIsR0FPeEIsU0FBVSxLQUNSO0FBQUQsK0JBUjJCLGtDQUFrQyxHQU85RCxTQUFVLEtBQ1I7RUFDQyx1QkFBQTs7QUNRTixtQkFBdUM7RUF3WHhDLCtCRHpZQywyQkFBMkIsR0FZeEI7RUM2WEosK0JEellnQyxrQ0FBa0MsR0FZOUQ7RUM2WEosK0JEellDLDJCQUEyQixHQVlkLFNBQVM7RUM2WHZCLCtCRHpZZ0Msa0NBQWtDLEdBWXBELFNBQVM7SUFHQSxTQUFTLEdBQVQ7SUN1U3BCLGNBQUE7SUR2UzhDLGNBQUE7SUFBZ0IsV0FBQTtJQUFhLFdBQUE7SWpCcER2QyxnQ0FBQTs7O0FrQnNEdEMsbUJBQXVDO0VBd1h4QywrQkR6WUMsMkJBQTJCLEdBa0J4QixNQUFNO0VDdVhWLCtCRHpZZ0Msa0NBQWtDLEdBa0I5RCxNQUFNO0lBQ2EsYUFBQTs7O0FDRnRCLG1CQUF1QztFQXdYeEMsK0JEellDLDJCQUEyQixHQXVCekI7RUNrWEgsK0JEellnQyxrQ0FBa0MsR0F1Qi9EO0lBTUksV0FBQTtJQUNBLHVCQUFBO0lBQ0EsWUFBQTs7O0FDZE4sbUJBQXVDO0VBd1h4QywrQkR6WUMsMkJBQTJCLEdBa0N6QjtFQ3VXSCwrQkR6WWdDLGtDQUFrQyxHQWtDL0Q7SUFDb0IsaUJBQUE7OztBQU94QiwrQkFBZ0MsMkJBQTJCLG9CQUFtQjtFQUM1RSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZUFBQTs7QUM1QkEsbUJBQXVDO0VBd1h4QyxPRHJWUztFQ3FWVCxXRHJWd0I7SUFFSCxnQkFBQTs7O0FDckNwQixtQkFBdUM7RUF3WHhDLElEL1VLLE9BQVE7SUFDUSxTQUFBOzs7QUFJaEIsZUFGSixNQUNFLEdBQUUsV0FDQztBQUFPLGVBRlosTUFDRSxHQUFFLFdBQ1M7QUovRWYsdUJBZUUsTUFBTSxHSStERixXQUNDO0FKL0VQLHVCQWVFLE1BQU0sR0krREYsV0FDUztFakJsRmIseUJBQUE7RUFDQSxjQUFBOztBaUJ1RkY7QUFBZ0I7RUFHZCxnQkFBQTtFQUNBLFdBQUE7RUFDQSx5QkFBQTtFQ2dTQSxhQUFhLHFCQUFxQiwrQkFBbEM7O0FEN1JBLGVBQUM7QUFBRCxXQUFDO0VBQ0MsWUFBQTs7QUFUSixlQVlFLEtBQUksS0FDRixLQUFJLElBQUk7QUFiSSxXQVlkLEtBQUksS0FDRixLQUFJLElBQUk7QUFiWixlQVlhLEdBQUUsS0FDWCxLQUFJLElBQUk7QUFiSSxXQVlILEdBQUUsS0FDWCxLQUFJLElBQUk7QUpsR1osdUJBVUUsR0FBRSxLSXdGQSxLQUFJLElBQUk7RUFHTixpQkFBQTtFQUNBLG1CQUFBOztBQUVBLGVBUEosS0FBSSxLQUNGLEtBQUksSUFBSTtBQU1OLFdBUEosS0FBSSxLQUNGLEtBQUksSUFBSTtBQU1OLGVBUE8sR0FBRSxLQUNYLEtBQUksSUFBSTtBQU1OLFdBUE8sR0FBRSxLQUNYLEtBQUksSUFBSTtBQWJaLGVBWUUsS0FBSSxLQUNGLEtBQUksSUFBSSxhQU1IO0FBbkJPLFdBWWQsS0FBSSxLQUNGLEtBQUksSUFBSSxhQU1IO0FBbkJULGVBWWEsR0FBRSxLQUNYLEtBQUksSUFBSSxhQU1IO0FBbkJPLFdBWUgsR0FBRSxLQUNYLEtBQUksSUFBSSxhQU1IO0FKeEdULHVCQVVFLEdBQUUsS0l3RkEsS0FBSSxJQUFJO0FKbEdaLHVCQVVFLEdBQUUsS0l3RkEsS0FBSSxJQUFJLGFBTUg7RUFHRCxXQUFBO0VBQ0EsZ0JBQUE7O0FBdkJSLGVBWUUsS0FBSSxLQUNGLEtBQUksSUFBSSxhQWVOO0FBNUJVLFdBWWQsS0FBSSxLQUNGLEtBQUksSUFBSSxhQWVOO0FBNUJOLGVBWWEsR0FBRSxLQUNYLEtBQUksSUFBSSxhQWVOO0FBNUJVLFdBWUgsR0FBRSxLQUNYLEtBQUksSUFBSSxhQWVOO0FBQUssZUFoQlQsS0FBSSxLQUNGLEtBQUksSUFBSSxhQWVBO0FBQUQsV0FoQlQsS0FBSSxLQUNGLEtBQUksSUFBSSxhQWVBO0FBQUQsZUFoQkUsR0FBRSxLQUNYLEtBQUksSUFBSSxhQWVBO0FBQUQsV0FoQkUsR0FBRSxLQUNYLEtBQUksSUFBSSxhQWVBO0FKakhaLHVCQVVFLEdBQUUsS0l3RkEsS0FBSSxJQUFJLGFBZU47QUpqSE4sdUJBVUUsR0FBRSxLSXdGQSxLQUFJLElBQUksYUFlQTtFQ2dPVixzQkFBQTs7QUQ1UEYsZUFZRSxLQUFJLEtBQ0YsS0FBSSxJQUFJLGFBb0JOO0FBakNVLFdBWWQsS0FBSSxLQUNGLEtBQUksSUFBSSxhQW9CTjtBQWpDTixlQVlhLEdBQUUsS0FDWCxLQUFJLElBQUksYUFvQk47QUFqQ1UsV0FZSCxHQUFFLEtBQ1gsS0FBSSxJQUFJLGFBb0JOO0FKdEhOLHVCQVVFLEdBQUUsS0l3RkEsS0FBSSxJQUFJLGFBb0JOO0VBR0UsOEJBQUE7RUFDQSx1QkFBQTtFQUNBLGVBQUE7O0FDOUpOLHdCQUEwQztFQTRiM0MsZUR4VEMsS0FBSSxLQUNGLEtBQUksSUFBSSxhQW9CTjtFQ21TTCxXRHhUQyxLQUFJLEtBQ0YsS0FBSSxJQUFJLGFBb0JOO0VDbVNMLGVEeFRZLEdBQUUsS0FDWCxLQUFJLElBQUksYUFvQk47RUNtU0wsV0R4VFksR0FBRSxLQUNYLEtBQUksSUFBSSxhQW9CTjtFSnRITix1QkFVRSxHQUFFLEtJd0ZBLEtBQUksSUFBSSxhQW9CTjtJQVFtQixlQUFBOzs7QUFLbkIsZUFsQ0osS0FBSSxLQUNGLEtBQUksSUFBSTtBQWlDTixXQWxDSixLQUFJLEtBQ0YsS0FBSSxJQUFJO0FBaUNOLGVBbENPLEdBQUUsS0FDWCxLQUFJLElBQUk7QUFpQ04sV0FsQ08sR0FBRSxLQUNYLEtBQUksSUFBSTtBQWlDSCxlQWxDUCxLQUFJLEtBQ0YsS0FBSSxJQUFJLGFBaUNELEtBQUs7QUFBUCxXQWxDUCxLQUFJLEtBQ0YsS0FBSSxJQUFJLGFBaUNELEtBQUs7QUFBUCxlQWxDSSxHQUFFLEtBQ1gsS0FBSSxJQUFJLGFBaUNELEtBQUs7QUFBUCxXQWxDSSxHQUFFLEtBQ1gsS0FBSSxJQUFJLGFBaUNELEtBQUs7QUpuSWhCLHVCQVVFLEdBQUUsS0l3RkEsS0FBSSxJQUFJO0FKbEdaLHVCQVVFLEdBQUUsS0l3RkEsS0FBSSxJQUFJLGFBaUNELEtBQUs7RUFHUixZQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTs7QUFPUjtFakI3STBCLHlCQUFBOztBa0I5RnhCLHdCQUEwQztFQW9mM0MsV0R0UUMsS0FBRyxLQUdELEdBQ0U7RUNrUUwsV0R1ektELENBN2pMVyxFQUFFLEtBR1QsR0FDRTtFQ2tRTCxXRHRRQyxLQUFHLEtBR0UsS0FDRDtFQ2tRTCxXRHV6S0QsQ0E3akxXLEVBQUUsS0FHTixLQUNEO0VDa1FMLFdEdFFDLEtBQUcsS0E2akxMLENBMWpMVyxFQUFFLEtBQ1A7RUNrUUwsV0R1ektELENBN2pMVyxFQUFFLEtBNmpMYixDQTFqTFcsRUFBRSxLQUNQO0VDa1FMLFdEdFFDLEtBQUcsS0E2akxMLENBMWpMaUIsRUFDWDtFQ2tRTCxXRHV6S0QsQ0E3akxXLEVBQUUsS0E2akxiLENBMWpMaUIsRUFDWDtFQ2tRTCxXRHRRQyxLQUFHLEtBR0Q7RUNtUUgsV0R1ektELENBN2pMVyxFQUFFLEtBR1Q7RUNtUUgsV0R0UUMsS0FBRyxLQUdFO0VDbVFOLFdEdXpLRCxDQTdqTFcsRUFBRSxLQUdOO0VDbVFOLFdEdFFDLEtBQUcsS0E2akxMLENBMWpMVyxFQUFFO0VDbVFaLFdEdXpLRCxDQTdqTFcsRUFBRSxLQTZqTGIsQ0ExakxXLEVBQUU7RUNtUVosV0R0UUMsS0FBRyxLQTZqTEwsQ0ExakxpQjtFQ21RaEIsV0R1ektELENBN2pMVyxFQUFFLEtBNmpMYixDQTFqTGlCO0lBR1AsV0FBQTtJQUNBLGVBQUE7OztBQVZWLFdBZ0JFLEdBQUU7RUFFQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFTQSxZQUFBOztBQTlCSixXQWdCRSxHQUFFLEtBT0EsR0FBRyxFQUFDO0VBRUYsbUJBQUE7RUFDQSxjQUFBOztBQTFCTixXQWdCRSxHQUFFLEtBZUEsS0FBSSxJQUFJLGFBQ047RWpCM0t5QixjQUFBOztBaUIySS9CLFdBZ0JFLEdBQUUsS0FlQSxLQUFJLElBQUksYUFJTixJQUFJO0FBbkNWLFdBZ0JFLEdBQUUsS0FlQSxLQUFJLElBQUksYUFJSyxJQUFFO0VBQ1gscUJBQUE7O0FBcENSLFdBZ0JFLEdBQUUsS0FlQSxLQUFJLElBQUksYUFPTixJQUFJO0FBdENWLFdBZ0JFLEdBQUUsS0FlQSxLQUFJLElBQUksYUFPSyxJQUFFO0FBQVMsV0F0QjFCLEdBQUUsS0FlQSxLQUFJLElBQUksYUFPaUIsU0FBVTtFakJoTFIseUJBQUE7RUFBeUIsY0FBQTs7QWtCakd0RCx3QkFBMEM7RUFvZjNDLFdEelBDLEdBQUUsS0FlQSxLQUFJLElBQUksYUFPTixJQUFJO0VDbU9ULFdEelBDLEdBQUUsS0FlQSxLQUFJLElBQUksYUFPSyxJQUFFO0VDbU9sQixXRHpQQyxHQUFFLEtBZUEsS0FBSSxJQUFJLGFBT2lCLFNBQVU7SWpCOUtBLHlCQUFBO0lBQTBCLGNBQUE7OztBaUJzTDNELFdBOUJKLEdBQUUsS0FlQSxLQUFJLElBQUksYUFlTDtBQUFRLFdBOUJiLEdBQUUsS0FlQSxLQUFJLElBQUksYUFlSTtBQUFPLFdBOUJyQixHQUFFLEtBZUEsS0FBSSxJQUFJLGFBZVksTUFBTTtBQUFRLFdBOUJwQyxHQUFFLEtBZUEsS0FBSSxJQUFJLGFBZTJCLE9BQU87RUFDdEMsYUFBQTs7QUMxUk4sd0JBQTBDO0VEOFJwQyxXQW5DTixHQUFFLEtBZUEsS0FBSSxJQUFJLGFBb0JILFlBQWEsRUFBQztJQUNiLGVBQUE7SUFDQSxZQUFBO0lBQ0EsYUFBYSxvQkFBYjtJQUNBLFNBQVMsT0FBVDtJQUNBLFdBQVcsYUFBWDtJQUNBLG1CQUFtQixhQUFuQjtJQUNBLDRCQUFBOzs7QUExRFYsV0FnQkUsR0FBRSxLQWdEQTtBQWhFSixXQWdCRSxHQUFFLEtBZ2pMSixDQWhnTFE7RUNzSEoscUJBQUE7RURwSEUsZ0JBQUE7RUFFQSxpQkFBQTs7QUFDQSxvQkFBcUIsWUFyRHpCLEdBQUUsS0FnREE7QUFLRSxvQkFBcUIsWUFyRHpCLEdBQUUsS0FnakxKLENBaGdMUTtFQU1BLG9CQUFBOztBQ2pUTix3QkFBMEM7RUFvZjNDLG9CRHBNMEIsWUFyRHpCLEdBQUUsS0FnREE7RUN5TUgsb0JEcE0wQixZQXJEekIsR0FBRSxLQWdqTEosQ0FoZ0xRO0lBUUUsZ0JBQUE7OztBQU1KLFdBOURKLEdBQUUsS0E2REMsU0FDRyxLQUFJLFlBQWEsRUFBQztFQUNsQixXQUFXLGNBQVg7RUFDQSxtQkFBbUIsY0FBbkI7O0FBS04sV0FBQztFQUNDLGtCQUFBOztBQURGLFdBQUMsVUFHQztFQ3NGQSxhQUFBOztBRG5GRSxJQUFJLFNBQVMsV0FBWSxZQU41QixVQUdDO0VBSUkscUJBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsWUFBQTtFQUNBLHVCQUFBO0VBQ0EsYUFBQTs7QUM3VU4sd0JBQTBDO0VBb2YzQyxXRHBMRTtJakIzUDJCLHlCQUFBOzs7QWtCMUUxQixtQkFBdUM7RUF5ZjFDLFdEcExFLFVBdUJHLEdBQUU7SUFDQSxXQUFBOztFQzRKUCxXRHBMRSxVQXVCRyxHQUFFLEtBRUE7SUFDRSxlQUFBOztFQzBKVCxXRHBMRSxVQXVCRyxHQUFFLEtBRUEsR0FFRTtJQUNFLGdCQUFBO0lBVUEsa0JBQUE7O0VBTEEsV0FqQ1QsVUF1QkcsR0FBRSxLQUVBLEdBRUUsRUFNRztJQUNDLGNBQUE7SUFDQSxTQUFBOztFQ2lKYixXRHBMRSxVQTBDRyxHQUFFLEtBRUE7SUFFRSxrQkFBQTs7O0FDclZSLHdCQUEwQyx1QkFBNEI7RUEyZHZFLFdEcExFLFVBb0RHLEdBQUU7SUFDQSxXQUFBOztFQytIUCxXRHBMRSxVQW9ERyxHQUFFLEtBRUEsR0FDRTtJQUNFLGdCQUFBOzs7QUN4WFYsd0JBQTBDO0VBb2YzQyxXRHBMRSxVQStERyxHQUFFLEtBQU07RUNxSGIsV0RwTEUsVUEyK0tILENBNTZLaUIsRUFBRTtJQ2tDZixjQUFBOztFQW1GSCxXRHBMRSxVQWtFRyxLQUFJLEtBQU07RUNrSGYsV0RwTEUsVUFrRW1CLEdBQUUsS0FBTTtJQUN0QixjQUFBO0lBQ0EsVUFBQTs7O0FDcFlOLHdCQUEwQztFQW9mM0M7SUR6R0csZ0JBQUE7O0VDeUdILFdEdkdHLEdBQUU7RUN1R0wsV0R2R1ksR0FBRSxLQUFNO0VDdUdwQixXRHZHd0IsR0FBRSxLQUFNLEdBQUc7SUNvQmhDLGNBQUE7SURsQkUsc0JBQUE7O0VDcUdMLFdEbkdHLEdBQUUsS0FBSztJQUVMLFlBQUE7O0VDaUdMLFdEOUZHLEtBQUksS0FDRjtFQzZGTCxXRDlGYyxHQUFFLEtBQUssV0FDaEI7SUFHRSxpQkFBQTtJQUNBLGdCQUFBOztFQ3lGUCxXRDlGRyxLQUFJLEtBQ0YsR0FNRTtFQ3VGUCxXRDlGYyxHQUFFLEtBQUssV0FDaEIsR0FNRTtJQUNFLHNCQUFBO0lqQjVUc0IseUJBQUE7O0VpQmdVeEIsV0FaSixLQUFJLEtBQ0YsR0FXRyxTQUFVO0VBQVgsV0FaTyxHQUFFLEtBQUssV0FDaEIsR0FXRyxTQUFVO0VDa0ZsQixXRDlGRyxLQUFJLEtBQ0YsR0FvNUtOLENBejRLcUIsQ0FBQztFQ2tGckIsV0Q5RmMsR0FBRSxLQUFLLFdBQ2hCLEdBbzVLTixDQXo0S3FCLENBQUM7SWpCcFVJLHlCQUFBO0lBRUssY0FBQTs7O0FrQmhHN0Isd0JBQTBDO0VBb2YzQyxTRHhFVyxZQUFDLFVBQVc7SUNuQnBCLGFBQUE7OztBQXpaRix3QkFBMEM7RUFvZjNDLEdEckVLLFlBQUMsVUFBVyxHQUFFLEtBQU07SUFFcEIsa0JBQUE7SUFDQSxlQUFBOzs7QUFPTjtFakI3VytCLHlCQUFBOztBaUI2Vy9CLGVBR0UsTUFBTSxHQUFFLElBQUk7QUpqV2QsdUJBZUUsTUFBTSxHSWtWRSxJQUFJO0VBQ1YsNkJBQUE7O0FBR0YsSUFBSSxXQUFZLGdCQUNkLE1BQU07QUFEVyxJQUFJLE9BQVEsZ0JBQzdCLE1BQU07QUFEUixJQUFJLFdKcldOLHdCQWVFLE1BQU07QUlzVmEsSUFBSSxPSnJXekIsd0JBZUUsTUFBTTtFSXdWRixzQkFBQTs7QUFDQSxJQUhBLFdBQVksZ0JBQ2QsTUFBTSxHQUVILFNBQVUsR0FBRTtBQUFiLElBSG1CLE9BQVEsZ0JBQzdCLE1BQU0sR0FFSCxTQUFVLEdBQUU7QUFBYixJQUhBLFdKcldOLHdCQWVFLE1BQU0sR0l5VkQsU0FBVSxHQUFFO0FBQWIsSUFIbUIsT0pyV3pCLHdCQWVFLE1BQU0sR0l5VkQsU0FBVSxHQUFFO0VDMUNmLGFBQUE7O0FBelpGLHdCQUEwQztFQW9mM0M7SUEzRkcsYUFBQTs7O0FEZ0NKLGVBcUJJLEtBQUksS0FDRixLQUNFO0FBdkJSLGVBazNLQSxDQTcxS2MsRUFBRSxLQUNWLEtBQ0U7QUF2QlIsZUFxQkksS0FBSSxLQUNJLEtBQUssS0FDVDtBQXZCUixlQWszS0EsQ0E3MUtjLEVBQUUsS0FDSixLQUFLLEtBQ1Q7QUpyWFIsdUJBVUUsR0FBRSxLSTBXRSxLQUNFO0FKclhSLHVCQVVFLEdBQUUsS0kwV1EsS0FBSyxLQUNUO0VBQ0UsdUJBQUE7RUFDQSxlQUFBOztBQXpCVixlQStCSSxLQUFJO0VBR0YsdUJBQUE7RWpCOVl1QixnQ0FBQTtFQW1DUSw0QkFBQTs7QWlCa1gzQixlQVZOLEtBQUksS0FPRixHQUVHO0FBQUQsZUFUSixLQUFJLEtBT0YsR0FFRyxhQUNJO0VqQjFZWCx5QkFBQTtFQUNBLGNBQUE7O0FpQmdXRixlQStCSSxLQUFJLEtBZ0JGO0VBRUUsaUJBQUE7O0FBakRSLGVBK0JJLEtBQUksS0FnQkYsS0FHRSxJQUFHO0VBQ0Qsa0JBQUE7O0FBSUYsZUF4QkosS0FBSSxLQWdCRixLQVFHO0VDL0VMLGNBQUE7RURpRk0sU0FBUyxHQUFUO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VqQnJhMEIsK0JBQUE7O0FpQjJhNUIsZUFsQ0osS0FBSSxLQWdCRixLQWtCRztFQUNDLGtCQUFBOztBQUVBLGVBckNOLEtBQUksS0FnQkYsS0FrQkcsU0FHRSxNQUFPLEtBQUk7RUFFVixtQkFBQTtFQUNBLG9CQUFBO0VqQjNhZ0IsZ0RBQUE7O0FrQjFGeEIsbUJBQXVDO0VBeWYxQyxlRDVCRyxLQUFJLEtBZ0JGLEtBa0JHLFNBR0UsTUFBTyxLQUFJO0lBQ0EsYUFBQTs7O0FBVWhCLGVBaERGLEtBQUk7QUFnREMsZUFoREwsS0FBSSxLQWdERyxLQUFLO0VBRVIsWUFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7O0FBcEZSLGVBK0JJLEtBQUksS0F3REYsS0FBSSxTQUdGLEtBQUk7RUFDRixrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLE9BQUE7RUFDQSxlQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7RWpCdGNlLDZCQUFBOztBaUJxV3pCLGVBK0JJLEtBQUksS0F3REYsS0FBSSxTQUdGLEtBQUksS0FVRjtFQUVFLG1CQUFBO0VBQ0EsNkJBQUE7O0FBSUUsZUE1RVYsS0FBSSxLQXdERixLQUFJLFNBR0YsS0FBSSxLQVVGLEdBTUc7QUFBRCxlQTNFUixLQUFJLEtBd0RGLEtBQUksU0FHRixLQUFJLEtBVUYsR0FNRyxhQUNJO0VqQjVjZix5QkFBQTtFQUNBLGNBQUE7O0FpQmdXRixlQStCSSxLQUFJLEtBd0RGLEtBQUksU0FHRixLQUFJLEtBdUJGO0VDakpOLGFBQUE7O0FEZ0NKLGVBK0JJLEtBQUksS0F3REYsS0FBSSxTQUdGLEtBQUksS0EyQkY7RUM3SU4sY0FBQTtFRGlKUSxXQUFBO0VBQ0EsWUFBQTs7QUFFQSxlQTdGUixLQUFJLEtBd0RGLEtBQUksU0FHRixLQUFJLEtBMkJGLEtBT0csU0FBVSxHQUFFO0VqQmhmSyx5QkFBQTs7QWlCb2ZsQixlQWpHUixLQUFJLEtBd0RGLEtBQUksU0FHRixLQUFJLEtBMkJGLEtBV0c7RWpCdmV3Qiw2QkFBQTs7QWlCNGV2QixlQXRHVixLQUFJLEtBd0RGLEtBQUksU0FHRixLQUFJLEtBMkJGLEtBZUcsS0FDRTtFQUNDLFlBQUE7RWpCM2VTLDZCQUFBO0VrQjZVckIsY0FBQTs7QUR3QkosZUErQkksS0FBSSxLQXdERixLQUFJLFNBR0YsS0FBSSxLQTJCRixLQXVCRTtFQ3BLUixjQUFBO0VEd0tVLFdBQUE7RUFDQSwwQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsOEJBQUE7RUFDQSw4QkFBQTtFakI5ZmEseUJBQUE7RUFHRSxjQUFBOztBaUIrZmYsZUE3SFYsS0FBSSxLQXdERixLQUFJLFNBR0YsS0FBSSxLQTJCRixLQXVCRSxFQWdCRztFakI3ZmIseUJBQUE7RUFDQSxjQUFBOztBaUJnV0YsZUErQkksS0FBSSxLQXFJRixLQUFLO0VqQnRmcUIsY0FBQTs7QWlCd2Z4QixlQXZJSixLQUFJLEtBcUlGLEtBQUssSUFFRjtBQUFPLGVBdklaLEtBQUksS0FxSUYsS0FBSyxJQUVNO0VqQmpoQlcseUJBQUE7RUFrQkcsY0FBQTs7QWlCeVYvQixlQStCSSxLQUFJLEtBNElGLEtBQUk7RWpCdGhCa0IseUJBQUE7O0FpQjJXNUIsZUErQkksS0FBSSxLQTRJRixLQUFJLE1BRUY7RWpCdGdCdUIsY0FBQTs7QWlCMmdCdkIsZUFuSkosS0FBSSxLQWtKRixLQUFJLE1BQ0Q7RWpCM2hCNEIsZ0NBQUE7O0FpQmtpQjdCLGVBMUpKLEtBQUksS0F5SkYsS0FBSSxLQUNEO0VqQmppQmdDLCtCQUFBOztBaUJ3V3pDLGVBK0JJLEtBQUksS0E4SkYsR0FBRSxLQUFLLGFBQWE7RWpCdGlCVyxnQ0FBQTs7QWlCeVdyQyxlQStCSSxLQUFJLEtBbUtGLEtBQUksTUFBTTtFQUNSLCtCQUFBOztBQW5NUixlQStCSSxLQUFJLEtBdUtGLEtBQUs7RUFHSCw4QkFBQTtFakI1aUJxQixjQUFBO0VpQjhpQnJCLHVCQUFBO0VBQ0EsZUFBQTs7QUFFQSxlQS9LSixLQUFJLEtBdUtGLEtBQUssSUFRRjtBQUFPLGVBL0taLEtBQUksS0F1S0YsS0FBSyxJQVFNO0VqQnpqQlcseUJBQUE7RUFrQkcsY0FBQTs7QWlCbWpCL0IsZUFHRSxLQUFJLElBQUk7QUFITyxlQUFnQixLQUFJLEtBR25DLEtBQUksSUFBSTtBQUhrQyxlQUFnQixLQUFJLEtBRzlELEtBQUksSUFBSTtFQUNOLFlBQUE7O0FBSkosZUFTRSxLQUFJLEtBQUssSUFBSTtBQVRFLGVBQWdCLEtBQUksS0FTbkMsS0FBSSxLQUFLLElBQUk7QUFUNkIsZUFBZ0IsS0FBSSxLQVM5RCxLQUFJLEtBQUssSUFBSTtFQ25QYix1QkFBQTtFRHNQRSxzQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTs7QUFHQSxlQVJGLEtBQUksS0FBSyxJQUFJLGFBUVY7QUFBRCxlQWpCNkIsS0FBSSxLQVNuQyxLQUFJLEtBQUssSUFBSSxhQVFWO0FBQUQsZUFqQndELEtBQUksS0FTOUQsS0FBSSxLQUFLLElBQUksYUFRVjtFQUVDLDZCQUFBOztBQW5CTixlQVNFLEtBQUksS0FBSyxJQUFJLGFBYVg7QUF0QmEsZUFBZ0IsS0FBSSxLQVNuQyxLQUFJLEtBQUssSUFBSSxhQWFYO0FBdEJ3QyxlQUFnQixLQUFJLEtBUzlELEtBQUksS0FBSyxJQUFJLGFBYVg7RUFHRSxVQUFBO0VBQ0EsWUFBQTtFQzVRRixjQUFBO0VEZ1JFLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7O0FBS0YsZUE1QkYsS0FBSSxLQUFLLElBQUksYUE0QlY7QUFBRCxlQXJDNkIsS0FBSSxLQVNuQyxLQUFJLEtBQUssSUFBSSxhQTRCVjtBQUFELGVBckN3RCxLQUFJLEtBUzlELEtBQUksS0FBSyxJQUFJLGFBNEJWO0VDL1JELGFBQUE7O0FEMFBKLGVBeUNLLEtBQUksR0FBSTtBQXpDSSxlQUFnQixLQUFJLEtBeUNoQyxLQUFJLEdBQUk7QUF6QytCLGVBQWdCLEtBQUksS0F5QzNELEtBQUksR0FBSTtFQUNOLGdCQUFnQiwwREFBaEI7O0FBQ0EsZUFGRixLQUFJLEdBQUksRUFFTDtBQUFELGVBM0MwQixLQUFJLEtBeUNoQyxLQUFJLEdBQUksRUFFTDtBQUFELGVBM0NxRCxLQUFJLEtBeUMzRCxLQUFJLEdBQUksRUFFTDtFQUFVLGlDQUFBOztBQTNDbEIsZUE2Q0ssS0FBSSxHQUFJO0FBN0NJLGVBQWdCLEtBQUksS0E2Q2hDLEtBQUksR0FBSTtBQTdDK0IsZUFBZ0IsS0FBSSxLQTZDM0QsS0FBSSxHQUFJO0VBQ04sZ0JBQWdCLDREQUFoQjs7QUFDQSxlQUZGLEtBQUksR0FBSSxFQUVMO0FBQUQsZUEvQzBCLEtBQUksS0E2Q2hDLEtBQUksR0FBSSxFQUVMO0FBQUQsZUEvQ3FELEtBQUksS0E2QzNELEtBQUksR0FBSSxFQUVMO0VBQVUsa0NBQUE7O0FBL0NsQixlQWlESyxLQUFJLEtBQU07QUFqREUsZUFBZ0IsS0FBSSxLQWlEaEMsS0FBSSxLQUFNO0FBakQ2QixlQUFnQixLQUFJLEtBaUQzRCxLQUFJLEtBQU07RUFDUixnQkFBZ0IsNkRBQWhCOztBQUNBLGVBRkYsS0FBSSxLQUFNLEVBRVA7QUFBRCxlQW5EMEIsS0FBSSxLQWlEaEMsS0FBSSxLQUFNLEVBRVA7QUFBRCxlQW5EcUQsS0FBSSxLQWlEM0QsS0FBSSxLQUFNLEVBRVA7RUFBVSxrQ0FBQTs7QUFHbEIsZUFBZ0IsS0FBSSxLQUNsQixLQUFJLElBQUksYUFBYztFQUNwQixpQkFBQTtFQUNBLGVBQUE7O0FBSEosZUFBZ0IsS0FBSSxLQUtsQixLQUFJLEtBQU07RUFDUixVQUFBOztBQ3B0QkEsbUJBQXVDO0VBeWYxQztJRHFPVyxpQkFBQTs7O0FDN2xCVixtQkFBdUM7RUF3WHhDLE9EdU9TO0VDdk9ULFdEdU93QjtJQUNILGlCQUFBOzs7QUNsb0JwQix3QkFBMEMsdUJBQXdCLHdCQUFzQixvQ0FBcUMsdUJBQXdCLHdCQUF3QjtFQTBaOUssV0Q0T2E7SUFFb0IsNEJBQUE7OztBQU9sQyxxQkFBc0IsS0FBSTtFQUd0QixTQUFBO0VBQ0EsWUFBQTs7QUFKSixxQkFBc0IsS0FBSSw0QkFPdEI7QUFQSixxQkFBc0IsS0FBSSw0QkFPWCxNQUFLO0VBQ2QsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTs7QUFYTixxQkFBc0IsS0FBSSw0QkFldEIsTUFBSztBQWZULHFCQUFzQixLQUFJLDRCQWVGLE1BQUs7RUFDdkIsWUFBQTs7QUFHQSxxQkFuQmdCLEtBQUksNEJBZXRCLE1BQUs7QUFJSCxxQkFuQmdCLEtBQUksNEJBZUYsTUFBSztBQWY3QixxQkFBc0IsS0FBSSw0QkFldEIsTUFBSyxhQUlBLEVBQUM7QUFuQlYscUJBQXNCLEtBQUksNEJBZUYsTUFBSyxpQkFJcEIsRUFBQztBQW5CVixxQkFBc0IsS0FBSSw0QkFldEIsTUFBSyxhQUk4QixFQUFDO0FBbkJ4QyxxQkFBc0IsS0FBSSw0QkFlRixNQUFLLGlCQUlVLEVBQUM7QUFuQnhDLHFCQUFzQixLQUFJLDRCQWV0QixNQUFLLGFBSWtELEVBQUM7QUFuQjVELHFCQUFzQixLQUFJLDRCQWVGLE1BQUssaUJBSThCLEVBQUM7QUFuQjVELHFCQUFzQixLQUFJLDRCQWV0QixNQUFLLGFBSXVFLEVBQUM7QUFuQmpGLHFCQUFzQixLQUFJLDRCQWVGLE1BQUssaUJBSW1ELEVBQUM7RWpCOXNCL0MsY0FBQTs7QWlCMnJCbEMscUJBQXNCLEtBQUksNEJBdUJ0QjtFQUVFLFNBQUE7RUFDQSxlQUFBO0VBQ0EsT0FBQTtFQUNBLGlCQUFBO0VqQnJ0QkosV0FBQTs7QUFFQSxxQmlCdXJCb0IsS0FBSSw0QkF1QnRCLHdCakI5c0JEO0VBRzZCLCtCQUFBOztBaUJtdEIxQixxQkEvQmdCLEtBQUksNEJBdUJ0Qix3QkFRRztFakJudEJ5QiwrQkFBQTs7QWlCdXRCMUIscUJBbkNnQixLQUFJLDRCQXVCdEIsd0JBWUc7QUFBTyxxQkFuQ1EsS0FBSSw0QkF1QnRCLHdCQVlXO0VBQ1AscUJBQUE7O0FBcENSLHFCQUFzQixLQUFJLDRCQXdDdEIsTUFBSztBQXhDVCxxQkFBc0IsS0FBSSw0QkF5Q3RCLE1BQUs7RUFDSCxjQUFBO0VDdGlCRiwwQkFBQTtFQUNHLHVCQUFBO0VBQ0ssa0JBQUE7O0VBR1Isb0NBQUE7RUFDRyw2QkFBQTtFQUNLLDRCQUFBO0VEaWlCTixlQUFBO0VBQ0EsYUFBQTs7QUFHQSxJQUFJLFNBQVUsc0JBaERFLEtBQUksNEJBd0N0QixNQUFLO0FBUUgsSUFBSSxTQUFVLHNCQWhERSxLQUFJLDRCQXlDdEIsTUFBSztFakIxdUJQLG1CQUFBO0VBQ0EsY0FBQTs7QWlCb3ZCSSxxQkFwRGdCLEtBQUksNEJBd0N0QixNQUFLLGFBWUY7QUFBRCxxQkFwRGdCLEtBQUksNEJBeUN0QixNQUFLLGlCQVdGO0VqQjl0QnlCLDBDQUFBO0VpQmd1QnhCLFlBQUE7O0FBdERSLHFCQUFzQixLQUFJLDRCQTBEdEI7RWpCbnpCRix5Q0FBQTtFQUVBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFa0JpZUEsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7RUNyZUEsV0FBQTs7QW5CSUYscUJpQmt2Qm9CLEtBQUksNEJBMER0QixVakI1eUJEO0VBQVUsbUJBQUE7O0FBQ1gscUJpQml2Qm9CLEtBQUksNEJBMER0QixVakIzeUJEO0VBQVcseUJBQUE7O0FrQjZlWixxQkRvUW9CLEtBQUksNEJBMER0QixVQzlURDtFQUNDLHFCQUFBOztBQUVGLHFCRGlRb0IsS0FBSSw0QkEwRHRCLFVDM1REO0VBRUMsOEJBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTs7QUFFQSxxQkQwUGtCLEtBQUksNEJBMER0QixVQzNURCxTQU9FO0VBQ0MsMEJBQUE7RUFDQSx3Q0FBQTs7QUR3UE4scUJBQXNCLEtBQUksNEJBOER0QixNQUFLO0VBQ0gsaUJBQUE7RWpCanhCSixtQkFBQTtFQUNBLFdBQUE7RUFDQSxzQkFBQTtFa0I0YkEsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsZ0JBQUE7O0FsQjdiRixxQmlCOHNCb0IsS0FBSSw0QkE4RHRCLE1BQUssZWpCNXdCTjtFQUNDLHlCQUFBOztBQUlGLHFCaUJ5c0JvQixLQUFJLDRCQThEdEIsTUFBSyxlakJ2d0JOO0VBQ0Msd0NBQUE7O0FrQm9jRixxQkRvUW9CLEtBQUksNEJBOER0QixNQUFLLGVDbFVOO0VBQ0MscUJBQUE7O0FBRUYscUJEaVFvQixLQUFJLDRCQThEdEIsTUFBSyxlQy9UTjtFQUVDLDhCQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7O0FBRUEscUJEMFBrQixLQUFJLDRCQThEdEIsTUFBSyxlQy9UTixTQU9FO0VBQ0MsMEJBQUE7RUFDQSx3Q0FBQTs7QUQyVEYsU0FBVSxzQkFuRVEsS0FBSSw0QkFxRXBCO0FBRkYsU0FBVSxzQkFuRVEsS0FBSSw0QkFxRVM7QUFGL0IsU0FBVSxzQkFuRVEsS0FBSSw0QkFxRTRCO0FBRmxELFNBQVUsc0JBbkVRLEtBQUksNEJBcUVnRDtFakI5dUJwQyxjQUFBOztBaUJ5cUJ0QyxxQkFBc0IsS0FBSSw0QkEyRXRCO0VqQnB2QmtDLGNBQUE7O0FpQnlxQnRDLHFCQUFzQixLQUFJLDRCQTRFdEI7RWpCcnZCa0MsY0FBQTs7QWlCeXFCdEMscUJBQXNCLEtBQUksNEJBNkV0QjtFakJ0dkJrQyxjQUFBOztBaUJ5cUJ0QyxxQkFBc0IsS0FBSSw0QkE4RXRCO0VqQnZ2QmtDLGNBQUE7O0FpQjZ2QnRDLCtCQUNFLDJCQUNFLEdBQUcsR0FBRyxFQUFDLE1BQU07RUFFWCxTQUFTLEVBQVQ7O0FBSUEsK0JBUEosMkJBS0UsS0FBRyxLQUVDLEtBQUksU0FBVSxJQUFHO0VBQ2pCLFNBQVMsT0FBVDtFQUdBLGtCQUFBO0VBQ0EsV0FBQTs7QUFiUiwrQkFpQkUsMkJBQ0UsS0FBSSxLQUFNLFlBQ1IsSUFBRztBQW5CVCwrQkE4K0pBLENBNzlKNkIsaUNBQ3pCLEtBQUksS0FBTSxZQUNSLElBQUc7RUFFRCxjQUFBO0VBQ0EsU0FBUyxPQUFUOztBQUVGLCtCQVBKLDJCQUNFLEtBQUksS0FBTSxZQU1QLFlBQWEsSUFBRztBQUFqQiwrQkFzOUpOLENBNzlKNkIsaUNBQ3pCLEtBQUksS0FBTSxZQU1QLFlBQWEsSUFBRztBQXhCdkIsK0JBaUJFLDJCQUNFLEtBQUksS0FBTSxZQU1nQixJQUFHO0FBeEJqQywrQkE4K0pBLENBNzlKNkIsaUNBQ3pCLEtBQUksS0FBTSxZQU1nQixJQUFHO0VBQ3pCLGlCQUFBO0VBQ0EsZUFBQTs7QUFHRiwrQkFaSiwyQkFDRSxLQUFJLEtBQU0sWUFXUCxZQUFhLElBQUc7QUFBakIsK0JBaTlKTixDQTc5SjZCLGlDQUN6QixLQUFJLEtBQU0sWUFXUCxZQUFhLElBQUc7RUFDZixTQUFTLE9BQVQ7O0FBOUJSLCtCQWlCRSwyQkFrQkUsR0FBRyxHQUNEO0FBcENOLCtCQTgrSkEsQ0E3OUo2QixpQ0FrQnpCLEdBQUcsR0FDRDtFQzVZSixhQUFhLHFCQUFxQiwrQkFBbEM7O0FEa1pNLCtCQXpCTiwyQkFrQkUsR0FBRyxHQU1ELElBQUcsTUFDQTtBQUFELCtCQW84SlIsQ0E3OUo2QixpQ0FrQnpCLEdBQUcsR0FNRCxJQUFHLE1BQ0E7QUFBRCwrQkF6Qk4sMkJBa0JFLEdBQUcsR0FNVSxJQUNSO0FBQUQsK0JBbzhKUixDQTc5SjZCLGlDQWtCekIsR0FBRyxHQU1VLElBQ1I7RUFDQyxTQUFTLE9BQVQ7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTs7QUFFRiwrQkEvQk4sMkJBa0JFLEdBQUcsR0FNRCxJQUFHLE1BT0E7QUFBRCwrQkE4N0pSLENBNzlKNkIsaUNBa0J6QixHQUFHLEdBTUQsSUFBRyxNQU9BO0FBQUQsK0JBL0JOLDJCQWtCRSxHQUFHLEdBTVUsSUFPUjtBQUFELCtCQTg3SlIsQ0E3OUo2QixpQ0FrQnpCLEdBQUcsR0FNVSxJQU9SO0FBQVUsK0JBL0JqQiwyQkFrQkUsR0FBRyxHQU1ELElBQUcsTUFPVztBQUFELCtCQTg3Sm5CLENBNzlKNkIsaUNBa0J6QixHQUFHLEdBTUQsSUFBRyxNQU9XO0FBQUQsK0JBL0JqQiwyQkFrQkUsR0FBRyxHQU1VLElBT0c7QUFBRCwrQkE4N0puQixDQTc5SjZCLGlDQWtCekIsR0FBRyxHQU1VLElBT0c7RUFFVixhQUFhLG9CQUFiOztBQUlGLCtCQXJDTiwyQkFrQkUsR0FBRyxHQWtCRCxJQUFHLE1BQ0E7QUFBRCwrQkF3N0pSLENBNzlKNkIsaUNBa0J6QixHQUFHLEdBa0JELElBQUcsTUFDQTtFakIzeUI4QixjQUFBOztBaUJxdkJ2QywrQkFpQkUsMkJBa0JFLEdBQUcsR0F1QkQ7QUExRE4sK0JBOCtKQSxDQTc5SjZCLGlDQWtCekIsR0FBRyxHQXVCRDtFQUNFLHlCQUFBOztBQUNBLCtCQTNDTiwyQkFrQkUsR0FBRyxHQXVCRCxJQUVHO0FBQUQsK0JBazdKUixDQTc5SjZCLGlDQWtCekIsR0FBRyxHQXVCRCxJQUVHO0VBRUMsa0JBQUE7O0FBOURWLCtCQWlCRSwyQkFrQkUsR0FBRyxHQStCRDtBQWxFTiwrQkE4K0pBLENBNzlKNkIsaUNBa0J6QixHQUFHLEdBK0JEO0VqQjN6Qm9CLHlCQUFBO0VpQjZ6QmxCLGdCQUFBOztBQXBFUiwrQkFpQkUsMkJBa0JFLEdBQUcsR0FxQ0QsR0FBRztBQXhFVCwrQkE4K0pBLENBNzlKNkIsaUNBa0J6QixHQUFHLEdBcUNELEdBQUc7RWpCaDBCcUIseUJBQUE7RWlCazBCdEIsaUJBQUE7O0FBMUVSLCtCQWdGRTtFakJ6MEJ3Qix5QkFBQTs7QWlCeXZCMUIsK0JBZ0ZFLGtDQUdFO0VDaGdCRixTQUFBO0VBaUJFLGNBQUE7RURvZkUsV0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBRUEsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VBR0EseUJBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7O0FDdHlCSixtQkFBdUM7RUF3WHhDO0VBQUE7SUR3Ym1CLFNBQUE7OztBQ2h6QmxCLG1CQUF1QztFQXdYeEMsSUQwYkssT0FBUTtFQzFiYixJRDBiSyxPQUFRO0lBQ1EsU0FBQTs7O0FDMTZCbEIsd0JBQTBDO0VBK2U3QztFQUFBO0lEOGJXLFNBQUE7OztBQVFWLE1BQUMsSUFBSTtFQUFZLFNBQVMsT0FBVDs7QUFDakIsTUFBQyxJQUFJO0VBQVksU0FBUyxPQUFUOztBQUNqQixNQUFDLEtBQUs7RUFBWSxTQUFTLE1BQVQ7O0FBS3BCO0VBcUNFLFNBQUE7RUFDQSw2QkFBQTs7QUF0Q0YsYUFHRTtFQUNFLHdEQUFBO0VBQ0EsV0FBQTs7QUFHQSxhQUxGLFVBS0c7RUFDQyx3REFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBOztBQU1KLHNCQUF1QixjQUFDLGNBQWU7QUFBZSxzQkFBdUIsY0FBQyxjQUFlO0VBQzNGLGFBQUE7O0FDeDlCQSxtQkFBdUM7RUF5ZjFDLHNCRDhkd0IsY0FBQyxjQUFlO0VDOWR4QyxzQkQ4ZDhFLGNBQUMsY0FBZTtJQUVqRixZQUFBOzs7QUFHWixXQUFZO0VBQ1YsVUFBQTtFQUNBLHlCQUFBOztBQzk5QkEsbUJBQXVDO0VBeWYxQyxXRG1lYTtJQUtBLFVBQUE7SUFBWSxtQkFBQTs7O0FDajFCeEIsd0JBQTBDO0VBeVczQyxXRG1lYTtJQU1vQixVQUFBO0lBQVksbUJBQUE7OztBQUk1QyxXQUFZLFlBQVksY0FBYztBQUFHLFdBQVksV0FBVyxjQUFjO0FBQUcsd0JBQXlCLGNBQWM7RUFDdEgsa0JBQUE7O0FBUUY7QUF6Q0YsYUF5Q0s7QUF6Q0wsYUF5Q1U7RUFDTixnQkFBQTtFQUNBLHdCQUFBOztBQUVGLGFBQUMsTUFDQztFQUVFLGdCQUFnQixRQUFRLGNBQXhCO0VBQ0EsUUFBUSxRQUFRLGNBQWhCOztBQWpETixhQXNERTtFQUVFLG9DQUFBOztBQXhESixhQXNERSxjQUlFO0FBMURKLGFBc0RFLGNBSWU7RUNsbUJiLGFBQUE7O0FEd2lCSixhQXNERSxjQU9FO0FBN0RKLGFBc0RFLGNBT2tCO0VBQ2QsZUFBQTs7QUE5RE4sYUFzREUsY0FVRTtFQUdFLDhCQUFBO0VBR0EsZUFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7O0FBMUVOLGFBc0RFLGNBc0JFO0VBR0UscUJBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLGNBQUE7RWpCOWdDSixXQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFa0I4Y0EsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7RUQ4akJFLFdBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7O0FqQjlnQ0osYWlCNitCQSxjQXNCRSxXakJuZ0NEO0VBQ0MsbUJBQUE7O0FBR0YsYWlCeStCQSxjQXNCRSxXakIvL0JEO0VBRUMseUJBQUE7O0FpQmloQ0o7RUFDRSw4QkFBQTs7QUNsaUNBLHdCQUEwQztFQW9mM0MsMEJEZ2pCMEI7SUFDaEIsZUFBQTs7O0FDMWlDUCxtQkFBdUM7RUF5ZjFDLGVEbWpCZTtJQUNKLGVBQUE7OztBQ25pQ1Isd0JBQTBDO0VBK2U3QyxlRG1qQmU7SUFFSixlQUFBOzs7QUFVWixnQkFDRTtBQURGLGdCQUMyQjtFQUN2QixnQkFBQTs7QUFGSixnQkFDRSx3QkFHRTtBQUpKLGdCQUMyQixZQUd2QjtFQUNFLDZCQUFBOztBQUxOLGdCQUNFLHdCQUdFLGdCQUdFO0FBUE4sZ0JBQzJCLFlBR3ZCLGdCQUdFO0VBQ0Usa0JBQUE7O0FBR0osUUFBUSxnQkFWVjtBQVVFLFFBQVEsZ0JBVmU7RUFXckIsWUFBQTs7QUNuOEJKLG1CQUF1QztFQXdYeEMsT0RpbEJHO0lBQ29CLFNBQUE7OztBQUt4QixNQUNFLGNBQ0U7RUFFRSxRQUFBO0VBQ0EsU0FBQTs7QUM3OUJKLHdCQUEwQztFQWlZM0MsTUR3bEJDLGNBQ0U7SUFJMkIsTUFBQTs7O0FBTi9CLE1BVUUsYUFDRTtFQUdFLDZCQUFBOztBQWROLE1BVUUsYUFDRSxzQkFJRTtFQUFLLGdCQUFBOztBQWZYLE1BVUUsYUFDRSxzQkFPRSxFQUFDO0VqQjdtQ0wseUNBQUE7RUFFQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RWtCaWVBLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGlCQUFBO0VEdW9CSSxlQUFBO0VBQ0EsZ0JBQUE7O0FqQnptQ04sTWlCOGxDQSxhQUNFLHNCQU9FLEVBQUMsU2pCdG1DSjtFQUFVLG1CQUFBOztBQUNYLE1pQjZsQ0EsYUFDRSxzQkFPRSxFQUFDLFNqQnJtQ0o7RUFBVyx5QkFBQTs7QWtCNmVaLE1EZ25CQSxhQUNFLHNCQU9FLEVBQUMsU0N4bkJKO0VBQ0MscUJBQUE7O0FBRUYsTUQ2bUJBLGFBQ0Usc0JBT0UsRUFBQyxTQ3JuQko7RUFFQyw4QkFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBOztBQUVBLE1Ec21CRixhQUNFLHNCQU9FLEVBQUMsU0NybkJKLFNBT0U7RUFDQywwQkFBQTtFQUNBLHdDQUFBOztBRGtuQkUsTUFkTixhQUNFLHNCQVlFLGVBQ0c7RUFFQyxjQUFBOztBQTFCVixNQVVFLGFBc0JFLEtBQUksNEJBQTZCO0FBaENyQyxNQVVFLGFBc0JpRCxhQUFhLHVCQUFzQixZQUFhO0VDdHBCakcsYUFBYSxxQkFBcUIsK0JBQWxDO0VBeE9FLDBCQUFBO0VBQ0csdUJBQUE7RUFDSyxrQkFBQTs7RUFHUixvQ0FBQTtFQUNHLDZCQUFBO0VBQ0ssNEJBQUE7RUQ0M0JOLHNCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBOztBQXZDTixNQVVFLGFBb0NFO0VBQ0UsWUFBQTtFQUdBLFdBQUE7O0FDeG5DRix3QkFBMEM7RUErZTdDLE1EaW1CQyxhQW9DRTtJQU1JLFVBQUE7SUFDQSxTQUFBOzs7QUFyRFIsTUFVRSxhQWdERSxLQUFJLDRCQUE2QixxQkFBcUI7QUExRDFELE1BVUUsYUFpREUsYUFBYSx1QkFBc0IsWUFBYSxxQkFBcUI7QUEzRHpFLE1BVUUsYUFrREUsS0FBSSw0QkFBNkIsb0JBQW9CO0FBNUR6RCxNQVVFLGFBbURFLGFBQWEsdUJBQXNCLFlBQWEsb0JBQW9CO0VBRWxFLGdCQUFBOztBQS9ETixNQVVFLGFBeURFLHVCQUFzQixZQUFhO0VBRWpDLFdBQUE7RUFHQSxXQUFBO0VBQ0EsY0FBQTs7QUMvb0NGLHdCQUEwQztFQStlN0MsTURvcUJFLEtBQ0UsZUFBZSxhQUNkO0lBQWlCLFNBQUE7OztBQUluQixNQU5ELEtBTUUsbUJBQW9CLFlBQ25CO0FBREYsTUFORCxLQU1FLG1CQUFvQixZQTZvSnpCLENBNW9KUztBQURMLE1BTkQsS0FNRSxtQkFBb0IsWUFDWjtBQURULE1BTkQsS0FNRSxtQkFBb0IsWUFDVDtFakJ6akNXLFdBQUE7O0FpQndqQ3ZCLE1BTkQsS0FNRSxtQkFBb0IsWUFFbkI7RWpCempDMEIsY0FBQTs7QWlCNGpDMUIsTUFYSCxLQVVFLFlBQ0UsU0FBVTtFQUNULGdCQUFBOztBQUZKLE1BVkQsS0FVRSxZQUlDO0VDejdCRiwwQkFBQTtFQUNHLHVCQUFBO0VBQ0ssa0JBQUE7O0VBR1Isb0NBQUE7RUFDRyw2QkFBQTtFQUNLLDRCQUFBO0VEcTdCSixzQkFBQTs7QUFJQSxNQXJCTCxLQVVFLFlBU0MsRUFBQyxNQUVFO0VBQVEsY0FBQTs7QUFsR2pCLE1Bd0dFO0VBRUUsa0JBQUE7RUFDQSw2QkFBQTtFQUNBLGVBQUE7RUFHQSxXQUFBOztBQS9HSixNQXdHRSwwQkFTRTtBQWpISixNQXdHRSwwQkFTb0I7RUFBZ0IsY0FBQTs7QUFqSHRDLE1Bd0dFLDBCQVdFO0FBbkhKLE1Bd0dFLDBCQXduSkYsQ0E3bUpxQjtFQUNmLFVBQUE7RUFDQSxnQkFBQTs7QUFHQSxNQWhCSiwwQkFXRSxpQkFLRztBQUFELE1BaEJKLDBCQXduSkYsQ0E3bUpxQixTQUtkO0VBQVMsV0FBQTtFQUFXLFNBQVMsR0FBVDs7QUF4SDNCLE1Bd0dFLDBCQWtCRTtFQUVFLFlBQUE7RUFFQSxXQUFBO0VDeHlCRixjQUFBO0VEMHlCRSxXQUFBO0VBR0EsbUJBQUE7O0FBbklOLE1Bd0dFLDBCQThCRSxNQUFLO0VBQWlCLGtCQUFBOztBQXRJMUIsTUF3R0UsMEJBaUNFLE1BQUs7QUF6SVQsTUF3R0UsMEJBd25KRixDQXZsSnVCLEtBQUs7RUFHcEIsWUFBQTtFQzErQkosMEJBQUE7RUFDRyx1QkFBQTtFQUNLLGtCQUFBOztFQUdSLG9DQUFBO0VBQ0csNkJBQUE7RUFDSyw0QkFBQTtFRHUrQkgsV0FBQTtFQUNBLGdCQUFBO0VBR0Qsa0JBQUE7RUFHQSxjQUFBO0VBQ0EsMENBQUE7O0FBSUEsTUFwRE4sMEJBaUNFLE1BQUssYUFtQkE7QUFBRCxNQXBETiwwQkF3bkpGLENBdmxKdUIsS0FBSyxjQW1CbkI7QUFBNkIsTUFwRHBDLDBCQWlDRSxNQUFLLGFBbUI4QjtBQUFELE1BcERwQywwQkF3bkpGLENBdmxKdUIsS0FBSyxjQW1CVztBQUFtQixNQXBEeEQsMEJBaUNFLE1BQUssYUFtQmtEO0FBQUQsTUFwRHhELDBCQXduSkYsQ0F2bEp1QixLQUFLLGNBbUIrQjtBQUFvQixNQXBEN0UsMEJBaUNFLE1BQUssYUFtQnVFO0FBQUQsTUFwRDdFLDBCQXduSkYsQ0F2bEp1QixLQUFLLGNBbUJvRDtFakJ6ckM5QyxjQUFBOztBaUI2aENsQyxNQXdHRSwwQkF5REU7RUFDRSxlQUFBOztBQUVBLE1BNURKLDBCQXlERSxjQUdJO0VDbjBCTixzQkFBQTtFRHEwQk0sV0FBQTtFQUNBLG1CQUFBOztBQUVBLE1BakVOLDBCQXlERSxjQUdJLE1BS0M7RUFDQyxXQUFBO0VBQ0EsU0FBUyxHQUFUOztBQTNLVixNQXdHRSwwQkF5REUsY0FjRSxhQUFhO0VDOTBCakIsc0JBQUE7RURnMUJNLFVBQUE7O0FBakxSLE1Bd0dFLDBCQXlERSxjQWtCRSxNQUFLO0VDcjJCUCxhQUFBOztBRGtyQkosTUF3R0UsMEJBeURFLGNBcUJFO0VDeDFCSix1QkFBQTs7QUQyMUJNLHVCQUF3QixPQWpGOUIsMEJBeURFLGNBcUJFO0VBSUksVUFBQTtFQUNBLFdBQUE7O0FBRUYsdUJBQXdCLE9BckY5QiwwQkF5REUsY0FxQkU7QUFPNkIsdUJBQXdCLE9BckZ6RCwwQkF5REUsY0FxQkUsS0FPdUQ7RUN4M0IzRCxTQUFBOztBRDJyQkYsTUF3R0UsMEJBeURFLGNBcUJFLEtBV0U7RUFDRSxlQUFBOztBQWxNVixNQXdHRSwwQkF5REUsY0FxQkUsS0FXRSxrQkFHRSxXQUNFO0VBQ0Usa0JBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTs7QUF4TWQsTUF3R0UsMEJBeURFLGNBcUJFLEtBdUJFLDRCQUNFO0VBQWMsWUFBQTs7QUE5TXhCLE1Bd0dFLDBCQXlERSxjQWdERTtFQUNFLGlCQUFBO0VBQ0EsZUFBQTs7QUFuTlIsTUF3R0UsMEJBK0dFO0VBQ0Usa0JBQUE7RUFDQSxjQUFBOztBQXpOTixNQXdHRSwwQkFvSEU7RUN0NEJBLGNBQUE7RUR3NEJFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTs7QUFqT04sTUF3R0UsMEJBNkhFLE9BQ0U7RUFDRSxjQUFBOztBQXZPUixNQXdHRSwwQkE2SEUsT0FJRTtFQUNFLG1CQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBOztBQTVPUixNQXdHRSwwQkE2SEUsT0FTRTtFQUNFLFlBQUE7O0FBL09SLE1Bd0dFLDBCQTBJRTtFQ3IyQkEsaUJBQUE7RUF2REEsY0FBQTtFbEIxWUYsbUJBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RWtCNGJBLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGdCQUFBO0VEMDJCRSxnQkFBQTtFQUNBLHlCQUFBO0VBQ0EsVUFBQTs7QWpCenlDSixNaUJ3cENBLDBCQTBJRSxhakJseUNEO0VBQ0MseUJBQUE7O0FBSUYsTWlCbXBDQSwwQkEwSUUsYWpCN3hDRDtFQUNDLHdDQUFBOztBa0JvY0YsTUQ4c0JBLDBCQTBJRSxhQ3gxQkQ7RUFDQyxxQkFBQTs7QUFFRixNRDJzQkEsMEJBMElFLGFDcjFCRDtFQUVDLDhCQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7O0FBRUEsTURvc0JGLDBCQTBJRSxhQ3IxQkQsU0FPRTtFQUNDLDBCQUFBO0VBQ0Esd0NBQUE7O0FBdGZGLG1CQUF1QztFQXlmMUMsdUJEbTFCMkIsT0FwSjFCLDBCQXFKSSxNQUFLO0VDcDFCVix1QkRtMUIyQixPQXBKMUIsMEJBcUo4QixNQUFLO0lBQW9CLFNBQUE7SUFBVyxXQUFBOzs7QUM3MENoRSxtQkFBdUM7RUF5ZjFDLHVCRG0xQjJCLE9BcEoxQiwwQkFzSkksTUFBSztJQUFpQyxrQkFBQTs7O0FBRnhDLHVCQUF3QixPQXBKMUIsMEJBdUpJLFdBQVc7RUFBUyxjQUFBOztBQVExQjtFakIxeEM2Qiw4QkFBQTtFaUI2eEN6QixTQUFBOztBQUhKLGdCQUlJO0FBSkosZ0JBSWtCO0FINzZDbEIsd0JBK0RFO0FBL0RGLHdCQTJFRSxnQkFJRTtFRysxQ0UsWUFBQTtFQUNBLGlCQUFBOztBQUlKO0VBQ0UsU0FBQTs7QUFERixtQkFJRSxHQUFFLFFBQVE7QUFKWixtQkFJb0IsR0FBRSxjQUFjO0VBQ2hDLGFBQWEsb0JBQWI7RUFDQSxTQUFTLE9BQVQ7RUFDQSxjQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtFQUdBLGVBQWUsYUFBZjtFQUNBLGdCQUFnQixhQUFoQjtFQUNBLG1CQUFtQixhQUFuQjtFQUNBLGNBQWMsYUFBZDtFQUNBLFdBQVcsYUFBWDs7QUFsQkosbUJBb0JFLGNBQWEsTUFBTyxHQUFFLFFBQVE7QUFwQmhDLG1CQW9Cd0Msb0JBQW9CLGNBQWEsTUFBTyxHQUFFLFFBQVE7QUFwQjFGLG1CQW9Ca0csb0JBQW9CLGNBQWEsTUFBTyxHQUFFLGNBQWM7QUFwQjFKLG1CQW9Ca0ssb0JBQW9CLGNBQWEsTUFBTyxHQUFFLGNBQWM7RUFDdE4sZUFBZSxjQUFmO0VBQ0EsZ0JBQWdCLGNBQWhCO0VBQ0EsbUJBQW1CLGNBQW5CO0VBQ0EsY0FBYyxjQUFkO0VBQ0EsV0FBVyxjQUFYOzs7O0FBT0o7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBOzs7O0FDcDRDQSxtQkFBdUM7RUF5ZjFDO0lEbTVCYSxhQUFBOzs7QUFFZDtBQUFhO0VBQ1gsV0FBQTs7QUFHQTtFQUNFLGtCQUFBO0VBQ0EsMkJBQUE7RUFDQSwrQ0FBQTs7QUFIRixnQkFNRTtBQU5GLGdCQU9FO0FIMytDSix3QkErREU7QUEvREYsd0JBMkVFLGdCQUlFO0VHNjVDRSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0VBQ0EseUJBQUE7O0FBRUEsVUFBVyxpQkFSYjtBQVFFLFVBQVcsaUJBUGI7RUFRSSxrQkFBQTs7QUFHRixnQkFaRixhQVlHO0FBQUQsZ0JBWEYsYUFXRztFQUNDLHlEQUFBOztBQW5CTixnQkF1QkUsYUFBWTtFQUNWLHlEQUFBOztBQU1KLHdCQUNFLGdCQUFnQixFQUFDO0VBQ2Ysa0ZBQUE7RUFDQSxjQUFBOztBQUhKLHdCQUtFLGtCQUFpQjtFQUNmLGtGQUFBO0VBQ0EsY0FBQTs7OztBQU9KLGdCQUlFLEdBQUc7QUFITCxtQkFHRSxHQUFHO0FBRkwsMkJBRUUsR0FBRztBQURMLG1CQUNFLEdBQUc7RWpCbnBDYyxXQUFBO0VpQnFwQ2YscUJBQUE7Ozs7QUFPSixhQUNFO0VqQnY5Q0YseUNBQUE7RUFFQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RWtCaWVBLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGlCQUFBO0VsQjFkRixZQUFZLG1EQUFaOztFQUNBLFlBQVksc0RBQVo7O0VBQ0EsWUFBWSxvREFBWjs7RUFDQSxRQUFRLHlEQUEwRCx1QkFBdUIsMEJBQXpGOztFaUI2OENJLG9CQUFBOztBakJ2OUNKLGFpQmc5Q0UsZ0JqQmg5Q0Q7RUFBVSxtQkFBQTs7QUFDWCxhaUIrOENFLGdCakIvOENEO0VBQVcseUJBQUE7O0FrQjZlWixhRGsrQkUsZ0JDbCtCRDtFQUNDLHFCQUFBOztBQUVGLGFEKzlCRSxnQkMvOUJEO0VBRUMsOEJBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTs7QUFFQSxhRHc5QkEsZ0JDLzlCRCxTQU9FO0VBQ0MsMEJBQUE7RUFDQSx3Q0FBQTs7QURpK0JKLGFBQWM7RUFDWix5QkFBQTs7QUFHRixhQUFjLGtDQUFpQztFQUM3Qyx5QkFBQTs7QUFHSjtFQUNFLFdBQUE7RUFDQSxtQkFBQTtFQUNBLHNEQUFBO0VBQ0EsbURBQUE7RUFDQSw4Q0FBQTs7QUNwK0NFLG1CQUF1QztFQXlmMUM7SUQ4K0JHLGtCQUFBOzs7QUFJSixhQUFjO0VDamhDWixhQUFhLHFCQUFxQiwrQkFBbEM7RURxaENBLCtKQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBOztBQUVBLGFBVFksZ0JBU1g7RUFDQyxXQUFBOztBQUlKLFdBQVk7RUFDVixrQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7O0FDNThDQSx3QkFBMEM7RUF3YzNDLFdEZ2dDVztJQWNSLFlBQUE7OztBQ2xnREYsd0JBQTBDO0VBb2YzQyxXRGdnQ1c7SUFrQlIsWUFBQTs7O0FDamdEQSx3QkFBMEM7RUErZTdDLFdEZ2dDVztJQXNCUixZQUFBO0lBQ0EsWUFBQTtJQUNBLGNBQUE7OztBQ3o1Q0Ysd0JBQTBDO0VBaVkzQyxXRGdnQ1c7SUE0QlIsWUFBQTtJQUNBLFlBQUE7OztBQ3o2Q0Ysd0JBQTBDO0VBNFkzQyxXRGdnQ1c7SUFpQ1IsWUFBQTtJQUNBLFlBQUE7OztBQUlKLFdBQVk7RUFFViw4QkFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7O0FDMzdDQSx3QkFBMEM7RUE0WTNDLFdEc2lDVztJQVlSLFNBQUE7SUFDQSx5QkFBQTtJQUNBLFlBQUE7SUFDQSxnQkFBQTs7O0FBSUosV0FBWSxxQkFBcUI7RUFDL0IsZUFBQTtFQUNBLGdCQUFBOztBQUdGLEVBQUU7RUNqcENFLGNBQUE7RURtcENGLFVBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTs7QUMvZ0RBLHdCQUEyQztFQTZjNUMsRUQ4akNDO0lBT0UsV0FBQTs7O0FDOWpEQSxtQkFBdUM7RUF5ZjFDLEVEOGpDQztJQVdFLFdBQUE7OztBQ3hqREEsd0JBQTBDO0VBK2U3QyxFRDhqQ0M7SUFlRSxXQUFBOzs7QUN2akRBLHdCQUEwQztFQTBlN0MsRUQ4akNDO0lBa0JFLFlBQUE7OztBQUlKLEVBQUUsb0JBQXFCO0VBQ3JCLFlBQUE7RUFBYyxXQUFBOztBQ2orQ2Qsd0JBQTBDO0VBNFkzQyxFRG9sQ0Msb0JBQXFCO0lBRUksV0FBQTtJQUFhLFVBQUE7OztBQzFrRHRDLHdCQUEwQztFQW9mM0MsRURvbENDLG9CQUFxQjtJQUdiLFVBQUE7SUFBVyxXQUFBOzs7QUFHckIsaUJBQWtCO0VBQ2hCLGNBQUE7O0FBR0YsRUFBRSxvQkFBcUIsRUFBQztFQUN0QixtQkFBQTs7QUFHRixFQUFFLG9CQUFxQjtFQUNyQixnQkFBQTs7QUFHRixFQUFFLG9CQUFxQixFQUFDO0VBQ3RCLG1CQUFBOzs7O0FBTUE7RUFDRSw4Q0FBQTs7QUFERixPQUVFO0VqQi95Q2tCLFdBQUE7Ozs7QWlCeXpDcEIsa0JBQW1CO0VBRWpCLGdCQUFBO0VBQ0EsY0FBQTs7OztBQVFGO0VBRUUsVUFBQTtFQUNBLGdCQUFBOztBQUdGLGtCQUFtQjtFQUVqQixnQkFBQTtFQUNBLGNBQUE7RUNwNUNBLDBCQUFBO0VBQ0csdUJBQUE7RUFDSyxrQkFBQTs7RUFHUixvQ0FBQTtFQUNHLDZCQUFBO0VBQ0ssNEJBQUE7RURnNUNSLDRDQUFBOzs7O0FBU0Y7RUFDRSxpQkFBQTtFQUVBLDZCQUFBOzs7O0FBT0YsY0FDRTtFQUNFLHlCQUFBOzs7Ozs7O0FBcUJKLFdBQVk7RUFDVixtQkFBQTs7QUFERixXQUFZLGdCQUdWO0VBQ0UsZUFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7O0FBUkosV0FBWSxnQkFXVjtFQUNFLFlBQUE7RUN6eENGLGNBQUE7RUQyeENFLE1BQUE7RUFDQSxRQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBOztBQUVBLFdBcEJRLGdCQVdWLEVBU0c7RUFDQyxTQUFTLEdBQVQ7RUFDQSxrQkFBQTtFQ255Q0osY0FBQTtFRHF5Q0ksUUFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBRUEsY0FBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7O0FBTU47RUFDRSx5QkFBQTs7QUFFQSxRQUFDO0VBQ0Msc0JBQXNCLHVDQUF0QjtFQUNBLDRCQUFBO0VBQ0Esa0NBQUE7Ozs7QUFTRixTQUFDO0VqQjlyQ0gseUJBQUE7O0FpQmtzQ0UsU0FBQztFQUNDLHlCQUFBOzs7O0FBTUosaUJBQ0U7QUFERixpQkFDTztBQURQLGlCQUNnQjtBQURoQixpQkFDMEI7QUFEMUIsaUJBQ2lDO0VqQmh3RGpDLHlDQUFBO0VBRUEsc0JBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0VrQmllQSxhQUFhLHFCQUFxQiwrQkFBbEM7RUFHRSxpQkFBQTtFQ3JlQSxXQUFBOztBbkJJRixpQmlCeXZERSxJakJ6dkREO0FBQUQsaUJpQnl2RE8sUWpCenZETjtBQUFELGlCaUJ5dkRnQixTakJ6dkRmO0FBQUQsaUJpQnl2RDBCLE1qQnp2RHpCO0FBQUQsaUJpQnl2RGlDLFVqQnp2RGhDO0VBQVUsbUJBQUE7O0FBQ1gsaUJpQnd2REUsSWpCeHZERDtBQUFELGlCaUJ3dkRPLFFqQnh2RE47QUFBRCxpQmlCd3ZEZ0IsU2pCeHZEZjtBQUFELGlCaUJ3dkQwQixNakJ4dkR6QjtBQUFELGlCaUJ3dkRpQyxVakJ4dkRoQztFQUFXLHlCQUFBOztBa0I2ZVosaUJEMndDRSxJQzN3Q0Q7QUFBRCxpQkQyd0NPLFFDM3dDTjtBQUFELGlCRDJ3Q2dCLFNDM3dDZjtBQUFELGlCRDJ3QzBCLE1DM3dDekI7QUFBRCxpQkQyd0NpQyxVQzN3Q2hDO0VBQ0MscUJBQUE7O0FBRUYsaUJEd3dDRSxJQ3h3Q0Q7QUFBRCxpQkR3d0NPLFFDeHdDTjtBQUFELGlCRHd3Q2dCLFNDeHdDZjtBQUFELGlCRHd3QzBCLE1DeHdDekI7QUFBRCxpQkR3d0NpQyxVQ3h3Q2hDO0VBRUMsOEJBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTs7QUFFQSxpQkRpd0NBLElDeHdDRCxTQU9FO0FBQUQsaUJEaXdDSyxRQ3h3Q04sU0FPRTtBQUFELGlCRGl3Q2MsU0N4d0NmLFNBT0U7QUFBRCxpQkRpd0N3QixNQ3h3Q3pCLFNBT0U7QUFBRCxpQkRpd0MrQixVQ3h3Q2hDLFNBT0U7RUFDQywwQkFBQTtFQUNBLHdDQUFBOzs7O0FEd3dDSixJQUFJLFVBQ0Y7RUFDRSxpQkFBQTs7QUMzdkRKLHdCQUEwQztFQW9mM0MsSURxd0NLLFVBQ0Y7SUFJSSxnQkFBQTs7O0FBTU4sSUFBSSxRQUNGLHlCQUF5QjtFQUN2QixxQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7O0FDbndERix3QkFBMEM7RUErZTdDLElEZ3hDSyxRQUNGLHlCQUF5QjtJQU1yQixxQkFBQTtJQUNBLFdBQUE7OztBQU1OLElBQUksVUFDRjtFQzMvQ0Esc0JBQUE7RUFDQSxrQ0FBQTtFQUNBLE9BQUE7RUFDQSxrR0FBQTtFQUNBLHNHQUFBOztBRDQvQ0YsSUFBSSxlQUVGO0VBR0UsYUFBQTtFQUVBLDRCQUFBOztBQVBKLElBQUksZUFFRixpQkFPRSxjQUFjLHlDQUF5QztFQUdyRCxnQkFBQTtFQUNBLFNBQUE7RUFHQSxZQUFBO0VBQ0EsYUFBQTs7QUFqQk4sSUFBSSxlQUVGLGlCQWlCRSxjQUFjO0VBR1osVUFBQTs7QUF0Qk4sSUFBSSxlQUVGLGlCQTRCRSxjQUFjO0VBQ1osV0FBQTs7QUEvQk4sSUFBSSxlQUVGLGlCQStCRTtFQ2g2Q0YsYUFBQTs7QUQrM0NGLElBQUksZUFFRixpQkFtQ0U7RUFHRSxrQkFBQTtFQUNBLFdBQUE7RUM1MkNOLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGlCQUFBO0VENDJDSSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBR0EsY0FBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7O0VBRUEsbUJBQUE7O0VBQ0EsWUFBWSxtREFBWjs7RUFDQSxZQUFZLHNEQUFaOztFQUNBLFlBQVksb0RBQVo7O0VBQ0EsUUFBUSx5REFBMEQsdUJBQXVCLDBCQUF6Rjs7O0FBekROLElBQUksZUE4REY7RUFDRSxrQ0FBQTs7QUFLSixJQUFJLHlCQUNGLHVCQUF1QjtFQUNyQixXQUFBOztBQUZKLElBQUkseUJBTUYsY0FBYztFQUNaLFdBQUE7O0FBUEosSUFBSSx5QkFTRixjQUFjO0VBQ1osYUFBQTs7QUFJSixJQUFJLGdCQUNGO0VBQ0UsbUJBQUE7O0FBRkosSUFBSSxnQkFDRixpQ0FHRTtFQUNFLG1CQUFBOztBQUxOLElBQUksZ0JBQ0YsaUNBR0UsbUJBR0U7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtFQUNBLGlCQUFBOztBQVhSLElBQUksZ0JBQ0YsaUNBY0U7RUFDRSxxQkFBQTs7QUFoQk4sSUFBSSxnQkFDRixpQ0FtQkU7RUFDRSw0QkFBQTs7QUFJTixpQkFBa0IsZUFBZTtFQUMvQixrQkFBQTs7OztBQVNKLGtCQUFtQjtFQUVqQixnQkFBQTtFQUNBLGNBQUE7Ozs7QUFRRjtFQUVFLFVBQUE7RUFDQSxnQkFBQTs7QUFHRixrQkFBbUI7RUFFakIsZ0JBQUE7RUFDQSxjQUFBO0VDcHJERSwwQkFBQTtFQUNHLHVCQUFBO0VBQ0ssa0JBQUE7O0VBR1Isb0NBQUE7RUFDRyw2QkFBQTtFQUNLLDRCQUFBO0VEZ3JEViw0Q0FBQTs7QUN0ekRBLHdCQUEwQztFQXNZM0MsZURxN0NpQjtJQUVaLFdBQUE7SUFDQSxjQUFBOzs7QUM5ekRKLHdCQUEwQztFQXNZM0MsZUQ0N0NpQixxQkFBcUIsUUFBTztJQUV4QyxVQUFBO0lBQ0EsZ0JBQUE7SUFDQSxpQkFBQTs7O0FDdDBESix3QkFBMEM7RUFzWTNDLGVEcThDaUIscUJBQXFCLFFBQU87SUFFeEMsVUFBQTtJQUNBLGdCQUFBO0lBQ0EsaUJBQUE7SUFDQSxlQUFBO0lBQ0EsWUFBQTs7O0FDajFESix3QkFBMEM7RUFzWTNDLGVEKzhDaUIscUJBQXFCO0lBRWpDLFdBQUE7SUFDQSxlQUFBO0lBQ0EsU0FBQTtJQUNBLGlCQUFBOzs7QUNuK0NKLGVEODlDZ0IscUJBQXFCLFFDOTlDcEM7RUFDQyxxQkFBQTs7QUFFRixlRDI5Q2dCLHFCQUFxQixRQzM5Q3BDO0VBRUMsOEJBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTs7QUFFQSxlRG85Q2MscUJBQXFCLFFDMzlDcEMsU0FPRTtFQUNDLDBCQUFBO0VBQ0Esd0NBQUE7O0FEMDlDRixlQVJjLHFCQUFxQixRQVFsQztFQUFRLFdBQUE7O0FBSVgsR0FBRztFQUNELFdBQUE7O0FBR0YsaUJBQWtCLHlCQUF5QjtFQUN6QyxxQkFBQTtFQUNBLFdBQUE7Ozs7QUFVRixJQUFJLGVBQWdCO0VBQ2xCLDZCQUFBOztBQUlGLElBQUksY0FBZTtFQUNqQixZQUFBO0VBQ0Esa0JBQUE7O0FBSUYsSUFBSSxjQUFlLE1BQU0sc0JBQ3ZCO0VDM2xERixTQUFBOztBRGltREE7RUFDRSx5QkFBQTs7QUFJRixXQUFZLGdCQUFnQjtFQUMxQixXQUFBOztBQUVBLFdBSFUsZ0JBQWdCLEVBR3pCO0VBQ0MsV0FBQTs7O0FBU0o7RUFDRSx5REFBQTtFQUNBLHNEQUFBO0VBQ0EsaURBQUE7O0FBSUYsY0FBZSxNQUFNO0VBQ25CLCtCQUFBO0VBQ0EsZUFBQTs7QUFHRixjQUFlO0VBQ2Isb0JBQUE7O0FBR0YsY0FBZSxzQkFBc0I7RUFDbkMsV0FBQTs7QUMxZ0VBLHdCQUEwQztFQTBlN0MsY0QraERnQixzQkFBc0I7SUFHakMsV0FBQTs7O0FBSUosa0JBQW1CLEdBQUcsR0FBRztFQUN2QixlQUFBOztBQ2poRUEsd0JBQTBDO0VBMGU3QyxjRDRpRGdCLHNCQUFzQixXQUFVO0lBRTNDLGFBQUE7OztBQ3hoRUYsd0JBQTBDO0VBMGU3Qyx3QkRrakQwQixHQUFHO0lBRXhCLFNBQUE7OztBQUlKO0VBQ0UsZ0JBQUE7O0FBSUY7RUFDRSxhQUFBO0VBQ0EsZ0JBQUE7O0FDemlFQSx3QkFBMEM7RUEwZTdDO0lBbkZHLGNBQUE7OztBRGdwREYsc0JBT0U7RUFDRSxrQkFBQTs7QUFSSixzQkFXRTtFQ3ZtREYsYUFBYSxxQkFBcUIsK0JBQWxDOztBRDRsREEsc0JBZUU7RUFDRSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZUFBQTs7QUFsQkosc0JBc0JFO0VBQ0UseUJBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBOztBQUNBLHNCQVJGLGNBUUc7RUFDQyx5QkFBQTs7QUMzbUROLHNCRGttREUsY0NsbUREO0VBQ0MscUJBQUE7O0FBRUYsc0JEK2xERSxjQy9sREQ7RUFFQyw4QkFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBOztBQUVBLHNCRHdsREEsY0MvbERELFNBT0U7RUFDQywwQkFBQTtFQUNBLHdDQUFBOztBRHFtREosY0FBZSxvQkFBb0I7RUFDakMscUJBQUE7RUFDQSxpQkFBQTs7QUFHRixJQUFJLFdBQ0Y7QUFEZSxJQUFJLE9BQ25CO0VBQ0UsYUFBQTs7O0FBT0osTUFBTSxLQUFLLFlBQWEsY0FBYztFQUNwQyxzQkFBQTtFQUNBLGtCQUFBOztBQUdGLFlBQWE7RUFDWCw2QkFBQTs7QUFHRixZQUFhLEtBQUksNEJBQTZCO0FBQzlDLFlBQWEsYUFBYSx1QkFBc0IsWUFBYTtFQ3pwRDdELGFBQWEscUJBQXFCLCtCQUFsQztFRDZwREUsc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTs7QUFJRixZQUFhLHNCQUFzQixFQUFDO0VBQ2xDLGVBQUE7RUFDQSxnQkFBQTtFakIzb0VGLHlDQUFBO0VBRUEsc0JBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0VrQmllQSxhQUFhLHFCQUFxQiwrQkFBbEM7RUFHRSxpQkFBQTs7QWxCamVGLFlpQmtvRWEsc0JBQXNCLEVBQUMsU2pCbG9FbkM7RUFBVSxtQkFBQTs7QUFDWCxZaUJpb0VhLHNCQUFzQixFQUFDLFNqQmpvRW5DO0VBQVcseUJBQUE7O0FrQjZlWixZRG9wRGEsc0JBQXNCLEVBQUMsU0NwcERuQztFQUNDLHFCQUFBOztBQUVGLFlEaXBEYSxzQkFBc0IsRUFBQyxTQ2pwRG5DO0VBRUMsOEJBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTs7QUFFQSxZRDBvRFcsc0JBQXNCLEVBQUMsU0NqcERuQyxTQU9FO0VBQ0MsMEJBQUE7RUFDQSx3Q0FBQTs7QUQ4b0RKLFlBQWEsS0FBSSw0QkFBNkI7QUFDOUMsWUFBYSxhQUFhLHVCQUFzQixZQUFhO0VBQzNELFlBQUE7RUFDQSxXQUFBOztBQzduRUEsd0JBQTBDO0VBK2U3QyxZRDJvRGMsS0FBSSw0QkFBNkI7RUMzb0QvQyxZRDRvRGMsYUFBYSx1QkFBc0IsWUFBYTtJQUl6RCxVQUFBO0lBQ0EsU0FBQTs7O0FBSUosWUFBYSxLQUFJLDRCQUE2QixxQkFBcUI7QUFDbkUsWUFBYSxhQUFhLHVCQUFzQixZQUFhLHFCQUFxQjtBQUNsRixZQUFhLEtBQUksNEJBQTZCLG9CQUFvQjtBQUNsRSxZQUFhLGFBQWEsdUJBQXNCLFlBQWEsb0JBQW9CO0VBQy9FLG1CQUFBOztBQUdGLFlBQWEsc0JBQXNCO0VBQ2pDLGdCQUFBOztBQUtBLFlBRlcsc0JBQXNCLGVBRWhDO0VBQ0MsY0FBQTs7QUFJSixZQUFhLHVCQUFzQixZQUFhO0VBQzlDLFdBQUE7O0FBSUEsYUFEWSxFQUFDLE1BQ1o7RUFDQyxjQUFBOzs7QUFLSjtFQUtFLFdBQUE7RUFDQSxtQkFBQTtFQUNBLHNEQUFBO0VBQ0EsbURBQUE7RUFDQSw4Q0FBQTs7QUNwckVBLG1CQUF1QztFQXlmMUM7SURxckRhLFlBQUE7OztBQzlxRVYsbUJBQXVDO0VBeWYxQztJRDhyREssa0JBQUE7OztBQUtKLFdBQVksUUFBUTtFQUNsQixrQkFBQTs7QUFHRSxXQUpRLFFBQVEsS0FHbEIsYUFDRztFQUNDLGtCQUFBO0VBQ0EsVUFBQTs7QUFLTixhQUFjO0VDN3VEZCxhQUFhLHFCQUFxQiwrQkFBbEM7RURpdkRFLCtKQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBOztBQUVBLGFBVFksZ0JBU1g7RUFDQyxXQUFBOztBQUlKLFdBQVk7RUFDVixrQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7O0FDeHFFRix3QkFBMEM7RUF3YzNDLFdENHREYTtJQWNSLFlBQUE7OztBQzl0RUosd0JBQTBDO0VBb2YzQyxXRDR0RGE7SUFrQlIsWUFBQTs7O0FDN3RFRix3QkFBMEM7RUErZTdDLFdENHREYTtJQXNCUixZQUFBO0lBQ0EsWUFBQTtJQUNBLGNBQUE7OztBQ3JuRUosd0JBQTBDO0VBaVkzQyxXRDR0RGE7SUE0QlIsWUFBQTtJQUNBLFlBQUE7OztBQ3JvRUosd0JBQTBDO0VBNFkzQyxXRDR0RGE7SUFpQ1IsWUFBQTtJQUNBLFlBQUE7OztBQUtKLE1BQU0sYUFBYSxLQUFLLFVBQVUsTUFBTTtFQUN0QyxnQkFBQTs7O0FBSUYsTUFBTSxLQUFLLG1CQUFvQixjQUFjLGVBQWUsWUFDMUQ7QUFERixNQUFNLEtBQUssbUJBQW9CLGNBQWMsZUFBZSxZQStpSDlELENBOWlITztBQURMLE1BQU0sS0FBSyxtQkFBb0IsY0FBYyxlQUFlLFlBQ25EO0FBRFQsTUFBTSxLQUFLLG1CQUFvQixjQUFjLGVBQWUsWUFDaEQ7RWpCdnBFYSxXQUFBOztBaUJzcEV6QixNQUFNLEtBQUssbUJBQW9CLGNBQWMsZUFBZSxZQUkxRDtFakJ6cEU0QixjQUFBOztBaUI2cEU5QixXQUFZLE1BQUs7QUFBZSxXQUFZLE1BQUs7QUFBbUIsV0FBWSxNQUFLO0FBQWdCLFdBQVksTUFBSztFQUVwSCxtQkFBQTs7QUFJRixJQUFJLGNBRUYsWUFBWTtFQUNWLG1CQUFBOztBQUhKLElBQUksY0FNRixLQUFJLFdBQVksU0FBUyxLQUFJO0FBTi9CLElBQUksY0FNbUMsWUFBWSxNQUFLLGVBQWU7RUMzekR2RSxhQUFhLHFCQUFxQiwrQkFBbEM7O0FEcXpEQSxJQUFJLGNBVUYsS0FBSSxXQUFZLFNBQVMsS0FBSTtFQUMzQixjQUFBOztBQVhKLElBQUksY0FjRixZQUFZLE1BQUssZUFBZTtFQUc5QixZQUFBO0VBRUEsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7O0FBckJKLElBQUksY0F3QkYsVUFBUztFQUNQLFdBQUE7O0FBekJKLElBQUksY0E0QkYsWUFBWTtFQUNWLGNBQUE7O0FBN0JKLElBQUksY0FnQ0YsZ0NBQWdDO0VBQzlCLGNBQUE7RUFDQSwwQkFBQTs7QUFsQ0osSUFBSSxjQXFDRixJQUFHO0VBQ0Qsd0JBQUE7O0FBSUosY0FBZTtFQUNiLG1CQUFBOztBQzF6RUEsbUJBQXVDO0VBeWYxQyxjRGcwRGdCO0lBR1gsa0JBQUE7OztBQUtKLElBQUksaUJBQ0Y7QUFEb0IsSUFBSSxlQUN4QjtBQUR3QyxJQUFJLFdBQzVDO0VBQ0Usc0JBQUE7RUFDQSxpQkFBQTs7QUFLSjtFQUNFLGtCQUFBOztBQURGLHVCQUlFO0VBQ0UsY0FBQTs7QUFMSix1QkFRRTtFQUNFLHFCQUFBOztBQU1OLGVBRUU7RUFDRSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBOztBQUtBLFdBQVksZ0JBRGQ7QUFDaUIsZUFBZ0IsZ0JBRGpDO0FBQ29DLG9CQUFxQixnQkFEekQ7QUFDNEQsZ0JBQWlCLGdCQUQ3RTtBQUNnRixpQkFBa0IsZ0JBRGxHO0FBQ29HLHFCQUFzQixnQkFEMUg7RUNuOERFLGFBQUE7O0FEMjhEQSxlQUFnQixnQkFGbEI7RUFJSSxtQkFBQTtFQUtBLGlCQUFBOztBQzd2RUosd0JBQTBDO0VBc1kzQyxlRGczRG1CLGdCQUZsQjtJQU8rQixrQkFBQTs7O0FDdHZFL0Isd0JBQTBDO0VBaVkzQyxlRGczRG1CLGdCQUZsQjtJQVE2QixnQkFBQTs7O0FDLzJFM0IsbUJBQXVDO0VBeWYxQyxlRGczRG1CLGdCQUZsQjtJQVVjLFVBQUE7OztBQUdaLGFBQWMsZ0JBYmhCO0VDbDlEQSxTQUFBO0VEbytESSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBS0EsY0FBQTs7QUN0M0VGLHdCQUEwQztFQStlN0MsYUQyM0RpQixnQkFiaEI7SUFzQmMsZUFBQTtJQUFpQixlQUFBOzs7QUFTL0IscUJBQXNCO0VDaCtEcEIsY0FBQTs7QUR1K0RGO0VBcUJFLFlBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw0RUFBQTtFQUNBLGtCQUFBOztBQTNCRixnQ0FDRTtFQUNFLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLDBCQUFBO0VBQ0EsU0FBQTtFQUNBLHdCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQWUsRUFBZjs7QUFFQSxnQ0FiRixPQWFHO0VBQ0MsV0FBQTtFQUNBLDBDQUFBOztBQzk0RUosd0JBQTBDO0VBMGU3QztJRGs3REssaUJBQUE7SUFDQSxZQUFBO0lBQ0Esa0JBQUE7OztBQU1KO0VBaUJFLFlBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw0RUFBQTtFQUNBLGtCQUFBOztBQXZCRiw0QkFFRTtFQUNFLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLDBCQUFBOztBQUVBLDRCQVJGLE9BUUc7RUFDQyxXQUFBO0VBQ0EsMENBQUE7O0FDaDdFSix3QkFBMEM7RUEwZTdDO0lEbzlESyxrQkFBQTtJQUNBLFlBQUE7OztBQU9KO0VBRUUsWUFBQTtFQUNBLG1CQUFBOztBQUhGLHVCQUtFO0VDaGdFRixhQUFhLHFCQUFxQiwrQkFBbEM7RURrZ0VJLHlCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VDNWpFRixjQUFBOztBRCtqRUUsdUJBWEYsTUFXRztFQUNDLHlCQUFBO0VBQ0EsY0FBQTs7QUFRTjtBQUFrQjtFQUVoQixtQkFBQTs7QUFGRixnQkFJRSxHQUFFO0FBSmMsWUFJaEIsR0FBRTtFQUVBLFVBQUE7O0FBR0EsZ0JBTEYsR0FBRSxNQUtDO0FBQUQsWUFMRixHQUFFLE1BS0M7RUFDQyxhQUFBO0VDbmxFSixjQUFBOztBQWphRix3QkFBMEM7RUFvZjNDLGdCRDAvREcsR0FBRSxNQUtDO0VDLy9ETixZRDAvREcsR0FBRSxNQUtDO0lDMWxFSCxhQUFBOzs7QURpbEVGLGdCQUlFLEdBQUUsTUFhQTtBQWpCYyxZQUloQixHQUFFLE1BYUE7RUFDRSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTs7QUNuK0VOLHdCQUEwQztFQXFkM0MsZ0JEMC9ERyxHQUFFLE1BYUE7RUN2Z0VMLFlEMC9ERyxHQUFFLE1BYUE7SUFVSSxXQUFBOzs7QUFHRixnQkExQkosR0FBRSxNQWFBLEdBYUc7QUFBRCxZQTFCSixHQUFFLE1BYUEsR0FhRztFQUNDLFVBQUE7RUFDQSxpQkFBQTs7QUFFQSxpQkFBa0IsaUJBOUJ4QixHQUFFLE1BYUEsR0FhRztBQUlDLGlCQUFrQixhQTlCeEIsR0FBRSxNQWFBLEdBYUc7RUFLRyxVQUFBOztBQUtKLGdCQXBDSixHQUFFLE1BYUEsR0F1Qkc7QUFBRCxZQXBDSixHQUFFLE1BYUEsR0F1Qkc7RUFDQyxVQUFBOztBQ3hoRk4sbUJBQXVDO0VBeWYxQyxnQkQwL0RHLEdBQUUsTUFhQSxHQXVCRztFQzloRVIsWUQwL0RHLEdBQUUsTUFhQSxHQXVCRztJQUlHLFlBQUE7OztBQTVDVixnQkFpREUsYUFBYSxHQUFFLE1BQU87QUFqRE4sWUFpRGhCLGFBQWEsR0FBRSxNQUFPO0VBQ3BCLGlCQUFBOztBQWxESixnQkFvREUsR0FBRTtBQXBEYyxZQW9EaEIsR0FBRTtFQUVBLGlCQUFBO0VBQ0EsV0FBQTs7QUM1aEZGLHdCQUEwQztFQStlN0MsZ0JEMGlFRyxHQUFFO0VDMWlFTCxZRDBpRUcsR0FBRTtJQU1FLHFCQUFBOzs7QUNwaUZOLHdCQUEwQztFQW9mM0MsZ0JEMGlFRyxHQUFFO0VDMWlFTCxZRDBpRUcsR0FBRTtJQVVFLHNCQUFBOzs7QUN4aUZOLHdCQUEwQztFQW9mM0MsZ0JEMGlFRyxHQUFFO0VDMWlFTCxZRDBpRUcsR0FBRTtJQWNFLHNCQUFBOzs7QUNsaUZKLHdCQUEwQztFQTBlN0MsZ0JEMGlFRyxHQUFFO0VDMWlFTCxZRDBpRUcsR0FBRTtJQWlCRSxtQkFBQTs7O0FBckVOLGdCQW9ERSxHQUFFLHFCQW9CQTtBQXhFYyxZQW9EaEIsR0FBRSxxQkFvQkE7RUFDRSxxQkFBQTtFQUNBLFVBQUE7RUFZQSxjQUFBO0VBRUEsZ0JBQUE7O0FBWkEsZ0JBQWlCLGlCQXhCckIsR0FBRSxxQkFvQkE7QUFJRSxnQkFBaUIsYUF4QnJCLEdBQUUscUJBb0JBO0VBS0ksVUFBQTs7QUM1akZOLG1CQUF1QztFRGdrRmpDLGdCQUFpQixpQkE3QnZCLEdBQUUscUJBb0JBO0VBU0ksZ0JBQWlCLGFBN0J2QixHQUFFLHFCQW9CQTtJQVVNLFVBQUE7OztBQzVqRlYsd0JBQTBDO0VBb2YzQyxnQkQwaUVHLEdBQUUscUJBb0JBO0VDOWpFTCxZRDBpRUcsR0FBRSxxQkFvQkE7SUFtQkksVUFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBOztFQUVBLGdCQUFpQixpQkEzQ3ZCLEdBQUUscUJBb0JBO0VBdUJJLGdCQUFpQixhQTNDdkIsR0FBRSxxQkFvQkE7SUE0Qk0sVUFBQTs7RUFKQSxnQkFEZSxpQkEzQ3ZCLEdBQUUscUJBb0JBLEdBd0JPO0VBQUQsZ0JBRGUsYUEzQ3ZCLEdBQUUscUJBb0JBLEdBd0JPO0lBQ0MsYUFBQTtJQUNBLE1BQUE7O0VBSUYsZ0JBUGUsaUJBM0N2QixHQUFFLHFCQW9CQSxHQThCUTtFQUFGLGdCQVBlLGFBM0N2QixHQUFFLHFCQW9CQSxHQThCUTtJQUNBLGVBQUE7OztBQzVrRlYsd0JBQTBDO0VBK2U3QyxnQkQwaUVHLEdBQUUscUJBb0JBO0VDOWpFTCxZRDBpRUcsR0FBRSxxQkFvQkE7SUFxQ0ksVUFBQTs7RUFFQSxnQkFBaUIsaUJBM0R2QixHQUFFLHFCQW9CQTtFQXVDSSxnQkFBaUIsYUEzRHZCLEdBQUUscUJBb0JBO0lBd0NNLFVBQUE7O0VBRUEsZ0JBSGUsaUJBM0R2QixHQUFFLHFCQW9CQSxHQTBDTztFQUFELGdCQUhlLGFBM0R2QixHQUFFLHFCQW9CQSxHQTBDTztJQUNDLGNBQUE7SUFDQSxNQUFBO0lBQ0EsZ0JBQUE7OztBQzUrRVosd0JBQTBDO0VBaVkzQyxnQkQwaUVHLEdBQUUscUJBb0JBO0VDOWpFTCxZRDBpRUcsR0FBRSxxQkFvQkE7SUFtREksVUFBQTs7RUFFRSxnQkFEZSxpQkF4RXZCLEdBQUUscUJBb0JBLEdBcURPO0VBQUQsZ0JBRGUsYUF4RXZCLEdBQUUscUJBb0JBLEdBcURPO0lBQ0MsU0FBQTtJQUNBLFNBQUE7OztBQy9sRlYsd0JBQTBDO0VBMGU3QyxnQkQwaUVHLEdBQUUscUJBb0JBO0VDOWpFTCxZRDBpRUcsR0FBRSxxQkFvQkE7SUE4REksZUFBQTs7O0FBS0YsZ0JBdkZKLEdBQUUscUJBb0JBLEdBbUVHO0FBQUQsWUF2RkosR0FBRSxxQkFvQkEsR0FtRUc7RUFDQyxxQkFBQTs7QUN0bkZSLHdCQUEwQztFQW9mM0MsZ0JEMGlFRyxHQUFFLHFCQW9CQSxHQW1FRztFQ2pvRVIsWUQwaUVHLEdBQUUscUJBb0JBLEdBbUVHO0lBR0csYUFBQTs7O0FBS0osZ0JBL0ZKLEdBQUUscUJBb0JBLEdBMkVHO0FBQUQsWUEvRkosR0FBRSxxQkFvQkEsR0EyRUc7RUFDQyxVQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTs7QUNsbUZSLHdCQUEwQzs7QUEvQjFDLHdCQUEwQztFQW9mM0MsZ0JEMGlFRyxHQUFFLHFCQW9CQSxHQTJFRztFQ3pvRVIsWUQwaUVHLEdBQUUscUJBb0JBLEdBMkVHO0lBYUcsV0FBQTtJQUNBLGtCQUFBO0lBQ0EsUUFBQTtJQUNBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFlBQUE7O0VBRUEsZ0JBQWlCLGlCQW5IekIsR0FBRSxxQkFvQkEsR0EyRUc7RUFvQkcsZ0JBQWlCLGFBbkh6QixHQUFFLHFCQW9CQSxHQTJFRztJQXFCSyxhQUFBO0lBQ0EsU0FBQTs7O0FDbG1GWix3QkFBMEM7RUFtYzNDLGdCRDBpRUcsR0FBRSxxQkFvQkEsR0EyRUc7RUN6b0VSLFlEMGlFRyxHQUFFLHFCQW9CQSxHQTJFRztJQTZCRyxTQUFBO0lBQ0EsV0FBQTtJQUNBLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLFlBQUE7O0VBRUEsZ0JBQWlCLGlCQWxJekIsR0FBRSxxQkFvQkEsR0EyRUc7RUFtQ0csZ0JBQWlCLGFBbEl6QixHQUFFLHFCQW9CQSxHQTJFRztJQW9DSyxhQUFBO0lBQ0EsU0FBQTs7O0FDN3BGVix3QkFBMEM7RUErZTdDLGdCRDBpRUcsR0FBRSxxQkFvQkEsR0EyRUc7RUN6b0VSLFlEMGlFRyxHQUFFLHFCQW9CQSxHQTJFRztJQTRDRyxXQUFBO0lBQ0Esa0JBQUE7SUFDQSxTQUFBO0lBQ0EsZ0JBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTs7RUFFQSxnQkFBaUIsaUJBbEp6QixHQUFFLHFCQW9CQSxHQTJFRztFQW1ERyxnQkFBaUIsYUFsSnpCLEdBQUUscUJBb0JBLEdBMkVHO0lBb0RLLFFBQUE7SUFDQSxvQkFBQTtJQUNBLGVBQUE7OztBQ2hrRlosd0JBQTBDO0VEcWtGaEMsZ0JBQWlCLGlCQTFKekIsR0FBRSxxQkFvQkEsR0EyRUc7RUEyREcsZ0JBQWlCLGFBMUp6QixHQUFFLHFCQW9CQSxHQTJFRztJQTRESyxTQUFBO0lBQ0Esa0JBQUE7OztBQ2hyRlYsd0JBQTBDO0VBMGU3QyxnQkQwaUVHLEdBQUUscUJBb0JBLEdBMkVHO0VDem9FUixZRDBpRUcsR0FBRSxxQkFvQkEsR0EyRUc7SUF1RUcsZUFBQTtJQUdBLG1CQUFBOztFQVJBLGdCQUFpQixpQkFqS3pCLEdBQUUscUJBb0JBLEdBMkVHO0VBa0VHLGdCQUFpQixhQWpLekIsR0FBRSxxQkFvQkEsR0EyRUc7SUFtRUssU0FBQTtJQUNBLFNBQUE7OztBQWFOLGdCQWhMSixHQUFFLHFCQW9CQSxHQTRKRztBQUFELFlBaExKLEdBQUUscUJBb0JBLEdBNEpHO0VBQ0MsVUFBQTs7QUNwdEZOLG1CQUF1QztFQXlmMUMsZ0JEMGlFRyxHQUFFLHFCQW9CQSxHQTRKRztFQzF0RVIsWUQwaUVHLEdBQUUscUJBb0JBLEdBNEpHO0lBSUcsVUFBQTs7O0FDbHRGVix3QkFBMEM7RUFvZjNDLGdCRDBpRUcsR0FBRSxxQkFvQkEsR0E0Skc7RUMxdEVSLFlEMGlFRyxHQUFFLHFCQW9CQSxHQTRKRztJQVFHLFVBQUE7O0VBRUEsZ0JBQWlCLGlCQTFMekIsR0FBRSxxQkFvQkEsR0E0Skc7RUFVRyxnQkFBaUIsYUExTHpCLEdBQUUscUJBb0JBLEdBNEpHO0lBV0ssZUFBQTs7O0FDcHRGVix3QkFBMEM7RUErZTdDLGdCRDBpRUcsR0FBRSxxQkFvQkEsR0E0Skc7RUMxdEVSLFlEMGlFRyxHQUFFLHFCQW9CQSxHQTRKRztJQWdCRyxVQUFBOzs7QUMzbUZWLHdCQUEwQztFRDhtRmhDLGlCQUFrQixpQkFuTTFCLEdBQUUscUJBb0JBLEdBNEpHO0VBbUJHLGlCQUFrQixhQW5NMUIsR0FBRSxxQkFvQkEsR0E0Skc7SUFvQkssVUFBQTs7O0FBeFBaLGdCQW9ERSxHQUFFLHFCQW9CQSxHQXFMRTtBQTdQWSxZQW9EaEIsR0FBRSxxQkFvQkEsR0FxTEU7RWpCdnZGTix5Q0FBQTtFQUVBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFa0JpZUEsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7RUF2REEsY0FBQTtFRDAwRU0sZUFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7O0FqQjV2RlIsZ0JpQnVpRkUsR0FBRSxxQkFvQkEsR0FxTEUsY2pCaHZGTDtBQUFELFlpQnVpRkUsR0FBRSxxQkFvQkEsR0FxTEUsY2pCaHZGTDtFQUFVLG1CQUFBOztBQUNYLGdCaUJzaUZFLEdBQUUscUJBb0JBLEdBcUxFLGNqQi91Rkw7QUFBRCxZaUJzaUZFLEdBQUUscUJBb0JBLEdBcUxFLGNqQi91Rkw7RUFBVyx5QkFBQTs7QWtCNmVaLGdCRHlqRUUsR0FBRSxxQkFvQkEsR0FxTEUsY0Nsd0VMO0FBQUQsWUR5akVFLEdBQUUscUJBb0JBLEdBcUxFLGNDbHdFTDtFQUNDLHFCQUFBOztBQUVGLGdCRHNqRUUsR0FBRSxxQkFvQkEsR0FxTEUsY0MvdkVMO0FBQUQsWURzakVFLEdBQUUscUJBb0JBLEdBcUxFLGNDL3ZFTDtFQUVDLDhCQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7O0FBRUEsZ0JEK2lFQSxHQUFFLHFCQW9CQSxHQXFMRSxjQy92RUwsU0FPRTtBQUFELFlEK2lFQSxHQUFFLHFCQW9CQSxHQXFMRSxjQy92RUwsU0FPRTtFQUNDLDBCQUFBO0VBQ0Esd0NBQUE7O0FBdGZGLG1CQUF1QztFQXlmMUMsZ0JEMGlFRyxHQUFFLHFCQW9CQSxHQXFMRTtFQ252RVAsWUQwaUVHLEdBQUUscUJBb0JBLEdBcUxFO0lBY1ksWUFBQTtJQUFjLG9CQUFBOzs7QUM5c0ZoQyx3QkFBMkM7RUE2YzVDLGdCRDBpRUcsR0FBRSxxQkFvQkEsR0FxTEU7RUNudkVQLFlEMGlFRyxHQUFFLHFCQW9CQSxHQXFMRTtJQWV3QixZQUFBOzs7QUN2dEY5Qix3QkFBMEM7RUFxZDNDLGdCRDBpRUcsR0FBRSxxQkFvQkEsR0FxTEU7RUNudkVQLFlEMGlFRyxHQUFFLHFCQW9CQSxHQXFMRTtJQWdCcUIsWUFBQTs7O0FDM25GM0IsbUJBQXVDO0VBd1h4QyxnQkQwaUVHLEdBQUUscUJBb0JBLEdBcUxFO0VDbnZFUCxZRDBpRUcsR0FBRSxxQkFvQkEsR0FxTEU7SUFpQm9CLFlBQUE7OztBQzVzRjFCLHdCQUEwQztFQXdjM0MsZ0JEMGlFRyxHQUFFLHFCQW9CQSxHQXFMRTtFQ252RVAsWUQwaUVHLEdBQUUscUJBb0JBLEdBcUxFO0lBa0J3QixZQUFBOzs7QUN6dkY5Qix3QkFBMEM7RUFvZjNDLGdCRDBpRUcsR0FBRSxxQkFvQkEsR0FxTEU7RUNudkVQLFlEMGlFRyxHQUFFLHFCQW9CQSxHQXFMRTtJQW1CVyxVQUFBO0lBQVcsV0FBQTtJQUFhLGVBQUE7SUFBaUIsbUJBQUE7SUFBcUIsZ0JBQUE7OztBQ3J2RjdFLHdCQUEwQztFQStlN0MsZ0JEMGlFRyxHQUFFLHFCQW9CQSxHQXFMRTtFQ252RVAsWUQwaUVHLEdBQUUscUJBb0JBLEdBcUxFO0lBb0JZLFdBQUE7OztBQ3hvRmxCLHdCQUEwQztFQWlZM0MsZ0JEMGlFRyxHQUFFLHFCQW9CQSxHQXFMRTtFQ252RVAsWUQwaUVHLEdBQUUscUJBb0JBLEdBcUxFO0lBcUIyQixZQUFBOzs7QUNsdkYvQix3QkFBMEM7RUEwZTdDLGdCRDBpRUcsR0FBRSxxQkFvQkEsR0FxTEU7RUNudkVQLFlEMGlFRyxHQUFFLHFCQW9CQSxHQXFMRTtJQXNCVyxlQUFBO0lBQWlCLFdBQUE7OztBQzd2RmxDLHdCQUEwQztFQW9mM0MsZ0JEZ3hFa0IsR0FBRSxxQkFBc0I7SUFDOUIsVUFBQTs7O0FDMXdGVCxtQkFBdUM7RUF5ZjFDLGdCRG14RWtCLEdBQUUscUJBQXNCLEdBQUc7SUFXaEMsWUFBQTtJQUFjLG9CQUFBOzs7QUMzdUYxQix3QkFBMkM7RUE2YzVDLGdCRG14RWtCLEdBQUUscUJBQXNCLEdBQUc7SUFZcEIsWUFBQTs7O0FDcHZGeEIsd0JBQTBDO0VBcWQzQyxnQkRteEVrQixHQUFFLHFCQUFzQixHQUFHO0lBYXZCLFlBQUE7OztBQ3hwRnJCLG1CQUF1QztFQXdYeEMsZ0JEbXhFa0IsR0FBRSxxQkFBc0IsR0FBRztJQWN4QixZQUFBOzs7QUN6dUZwQix3QkFBMEM7RUF3YzNDLGdCRG14RWtCLEdBQUUscUJBQXNCLEdBQUc7SUFlcEIsWUFBQTs7O0FDdHhGeEIsd0JBQTBDO0VBb2YzQyxnQkRteEVrQixHQUFFLHFCQUFzQixHQUFHO0lBZ0JqQyxVQUFBO0lBQVcsWUFBQTtJQUFjLGVBQUE7SUFBaUIsbUJBQUE7SUFBcUIsZ0JBQUE7OztBQ2x4RnhFLHdCQUEwQztFQStlN0MsZ0JEbXhFa0IsR0FBRSxxQkFBc0IsR0FBRztJQWlCaEMsWUFBQTtJQUFhLGVBQUE7OztBQ3JxRnpCLHdCQUEwQztFQWlZM0MsZ0JEbXhFa0IsR0FBRSxxQkFBc0IsR0FBRztJQWtCakIsWUFBQTs7O0FDL3dGekIsd0JBQTBDO0VBMGU3QyxnQkRteEVrQixHQUFFLHFCQUFzQixHQUFHO0lBbUJqQyxlQUFBO0lBQWdCLFlBQUE7OztBQUkzQixFQUFFO0VBQ0EsYUFBQTs7QUMveEZGLHdCQUEwQztFQW9mM0MsRUQweUVHO0lDNzNFQSxjQUFBOzs7QURxNEVGLGdCQUNFLEdBQUUscUJBQXFCLFlBQVk7QUFEbkIsWUFDaEIsR0FBRSxxQkFBcUIsWUFBWTtFQUNqQyxnQkFBQTs7QUFGSixnQkFNRSxzQkFBcUI7QUFOTCxZQU1oQixzQkFBcUI7RUFDbkIsMkJBQUE7O0FBR0osZ0JBQ0UsR0FBRSxxQkFBcUIsWUFBWTtBQURuQixZQUNoQixHQUFFLHFCQUFxQixZQUFZO0FBQVEsZ0JBQUM7QUFBRCxZQUFDO0VBQzFDLG1CQUFBOztBQUZKLGdCQU1FLHNCQUFxQjtBQU5MLFlBTWhCLHNCQUFxQjtFQUNuQiw4QkFBQTs7QUFLSixFQUFFO0VBQ0EseUJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBOztBQUpGLEVBQUUsMkJBTUE7RUFDRSxxQkFBQTtFQUNBLGFBQUE7O0FBUkosRUFBRSwyQkFNQSxHQUdFO0VDaDNFSixhQUFhLHFCQUFxQiwrQkFBbEM7RURrM0VNLHlCQUFBO0VDdDZFSixjQUFBO0VEdzZFSSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0Esc0JBQUE7O0FBRUEsRUFwQkosMkJBTUEsR0FHRSxFQVdHO0VBQ0MscUJBQUE7RUFDQSx5QkFBQTs7QUFFRixFQXhCSiwyQkFNQSxHQUdFLEVBZUc7RUFDQyxxQkFBQTtFQUNBLHlCQUFBOztBQTFCUixFQUFFLDJCQU1BLEdBdUJFO0VBQ0UseUJBQUE7RUFDQSxjQUFBOztBQS9CTixFQUFFLDJCQU1BLEdBNEJFO0VBQ0UseUJBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7O0FBRUEsRUF4Q0osMkJBTUEsR0E0QkUsVUFNRztFQUNDLHlCQUFBO0VBQ0EsY0FBQTs7QUExQ1IsRUFBRSwyQkFNQSxHQXdDRTtFQUNFLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBOztBQUVBLEVBcERKLDJCQU1BLEdBd0NFLFVBTUc7RUFDQyx5QkFBQTtFQUNBLGNBQUE7O0FBTVIsSUFBSTtFQUNGLGFBQUE7O0FDejNGRix3QkFBMEM7RUFvZjNDLElEbzRFSztJQ3Y5RUYsY0FBQTs7O0FBNVpBLHdCQUEwQztFQStlN0MsSURvNEVLO0lBTUEsZUFBQTs7O0FBSUo7RUFDRSxZQUFBO0VBQ0EsV0FBQTtFQ24rRUEsY0FBQTtFRHErRUEsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsNEJBQTRCLHNEQUE1Qjs7QUFFQSxrQkFBbUI7RUFDakIsNEJBQTRCLHNEQUE1Qjs7QUFHRixhQUFjO0VBQ1osa0NBQUE7O0FBRUYsYUFBYztFQUNaLGtDQUFBOztBQUVGLGFBQWM7RUFDWixpQ0FBQTs7QUFFRixtQkFBb0I7RUFDbEIsa0NBQUE7O0FBRUYsbUJBQW9CO0VBQ2xCLGlDQUFBOztBQUVGLHdCQUF5QjtFQUN2QixrQ0FBQTs7QUFFRixxQkFBc0I7RUFDcEIsa0NBQUE7O0FBRUYsbUJBQW9CO0VBQ2xCLGtDQUFBOztBQUVGLHFCQUFzQjtFQUNwQixrQ0FBQTs7QUFJSjtFQUNFLGVBQUE7RUN2OUVGLGFBQWEscUJBQXFCLCtCQUFsQzs7QUQ2OUVBLElBQUk7RUFDRix5QkFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7O0FBR0YsSUFBSSxPQUNGLEdBQUU7RUFDQSxvQkFBQTs7QUFPRSxJQVRGLE9BQ0YsR0FBRSxxQkFHQSxHQUtHO0VBQ0MsZUFBQTs7QUNwNkZSLHdCQUEwQztFQXFkM0MsZ0JEdTlFRyxHQUFFLE1BQ0E7SUFFSSxVQUFBO0lBQ0EsY0FBQTs7O0FDaDdGUix3QkFBMEM7RUFxZDNDLGdCRCs5RUcsR0FBRSxxQkFBc0IsR0FDckI7SUFDb0Isa0JBQUE7OztBQ3Q3RnpCLHdCQUEwQztFQXFkM0MsZ0JEKzlFRyxHQUFFLHFCQUFzQixHQUlyQjtJQUNvQixVQUFBOzs7O0FBTXpCLElBQUksU0FBVTtFQUVaLFlBQUE7O0FDcitGQSxtQkFBdUM7RUF5ZjFDLElEMCtFSyxTQUFVO0lBSVYsV0FBQTs7O0FBS0osSUFBSSxTQUFTLE9BQVE7RUFDbkIsV0FBQTs7QUFJRixjQUFlO0VBQ2IsMkJBQUE7RUFDQSxzQkFBQTs7QUFHRixZQUFhLEtBQUksNEJBQTZCO0VBQzVDLFVBQUE7RUFDQSxTQUFBOztBQUVGLGNBQWUsb0JBQW9CO0VBQ2pDLDJCQUFBOztBQUVGLFVBQVU7RUFDUixZQUFBO0VBQ0EsU0FBQTs7QUFGRixVQUFVLG1CQUlSO0VBQ0UsbUJBQUE7O0FBTEosVUFBVSxtQkFPUjtBQVBGLFVBQVUsbUJBT007RUFDWixnQkFBQTtFQUNBLDZCQUFBOztBQUdKLElBQUksU0FBVSxlQUFlO0VBQzNCLGVBQUE7O0FBRUYsSUFBSSxTQUFXLG9CQUFvQjtFQUNqQyxxQkFBQTs7QUFFRixJQUFJLFNBQVcsc0JBQXNCLEtBQUksNEJBQTRCLG1CQUFvQixNQUFLO0VBQzVGLFNBQUE7O0FBRUYsSUFBSSxTQUFXLHNCQUFzQixLQUFJLDRCQUE0QixtQkFBb0IsTUFBSyxlQUFlO0VBQzNHLFlBQUE7RUFDQSxlQUFBO0VDMWpGRixhQUFhLHFCQUFxQiwrQkFBbEM7RUQ0akZFLGlCQUFBOztBQUVBLElBTkUsU0FBVyxzQkFBc0IsS0FBSSw0QkFBNEIsbUJBQW9CLE1BQUssZUFBZSxZQU0xRztFQUNDLHNCQUFBOztBQUdKLElBQUksU0FDRixvQkFBb0IsUUFBTztBQUQ3QixJQUFJLFNBQ21DLGNBQWMsUUFBTztFakJ4aUc1RCx5Q0FBQTtFQUVBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFa0JpZUEsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7RURta0ZFLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBOztBakJ0aUdKLElpQmdpR0ksU0FDRixvQkFBb0IsUUFBTyxRakJqaUc1QjtBQUFELElpQmdpR0ksU0FDbUMsY0FBYyxRQUFPLFFqQmppRzNEO0VBQVUsbUJBQUE7O0FBQ1gsSWlCK2hHSSxTQUNGLG9CQUFvQixRQUFPLFFqQmhpRzVCO0FBQUQsSWlCK2hHSSxTQUNtQyxjQUFjLFFBQU8sUWpCaGlHM0Q7RUFBVyx5QkFBQTs7QWtCNmVaLElEa2pGSSxTQUNGLG9CQUFvQixRQUFPLFFDbmpGNUI7QUFBRCxJRGtqRkksU0FDbUMsY0FBYyxRQUFPLFFDbmpGM0Q7RUFDQyxxQkFBQTs7QUFFRixJRCtpRkksU0FDRixvQkFBb0IsUUFBTyxRQ2hqRjVCO0FBQUQsSUQraUZJLFNBQ21DLGNBQWMsUUFBTyxRQ2hqRjNEO0VBRUMsOEJBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTs7QUFFQSxJRHdpRkUsU0FDRixvQkFBb0IsUUFBTyxRQ2hqRjVCLFNBT0U7QUFBRCxJRHdpRkUsU0FDbUMsY0FBYyxRQUFPLFFDaGpGM0QsU0FPRTtFQUNDLDBCQUFBO0VBQ0Esd0NBQUE7O0FEK2lGSixJQUFJLFNBQVcsc0JBQXNCLEtBQUksNEJBQTRCLG1CQUFvQixvQkFBbUI7RUFDMUcsVUFBQTs7QUFFRixJQUFJLFNBQVUsZUFBZSxzQkFBc0I7RUFDakQsU0FBQTs7QUFFRixJQUFJLFNBQVU7RUFDWixZQUFBO0VBQ0EsWUFBQTs7QUM3aUdBLG1CQUF1QztFQXlmMUMsSURrakZLLFNBQVU7SUFJVixhQUFBOzs7QUFLSixJQUFJLGlCQUNGO0FBRHFCLElBQUkscUJBQ3pCO0VBR0Usd0JBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsNkJBQUE7RUFDQSxpQkFBQTs7QUFSSixJQUFJLGlCQVlGLFdBQVc7QUFaVSxJQUFJLHFCQVl6QixXQUFXO0VDM3FGYixTQUFBO0VBR0UsVUFBQTs7QUQ0cEZGLElBQUksaUJBa0JGO0FBbEJxQixJQUFJLHFCQWtCekI7RUFDRSxhQUFBOztBQW5CSixJQUFJLGlCQXFCRjtBQXJCcUIsSUFBSSxxQkFxQnpCO0VBQ0UsYUFBQTs7QUFFQSxJQXhCQSxpQkFxQkYsZ0JBR0csZ0JBQWlCO0FBQWxCLElBeEJ1QixxQkFxQnpCLGdCQUdHLGdCQUFpQjtFQUNoQixNQUFBOztBQXpCTixJQUFJLGlCQThCRjtBQTlCcUIsSUFBSSxxQkE4QnpCO0VBRUUsWUFBQTtFQUNBLGtCQUFBO0VBQ0EseURBQUE7RUFDQSxzREFBQTtFQUNBLGlEQUFBO0VBQ0EseUJBQUE7O0FBckNKLElBQUksaUJBOEJGLGlCQVNFO0FBdkNtQixJQUFJLHFCQThCekIsaUJBU0U7RUNqb0ZKLGFBQWEscUJBQXFCLCtCQUFsQztFRG1vRk0seUJBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTs7QUEzQ04sSUFBSSxpQkE4QkYsaUJBaUJFO0FBL0NtQixJQUFJLHFCQThCekIsaUJBaUJFO0VBQ0UsWUFBQTs7QUFoRE4sSUFBSSxpQkE4QkYsaUJBaUJFLEdBR0UsRUFBQztBQWxEZ0IsSUFBSSxxQkE4QnpCLGlCQWlCRSxHQUdFLEVBQUM7RWpCam5HUCx5Q0FBQTtFQUVBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFa0JpZUEsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7RUQyb0ZNLFNBQVMsVUFBVDtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUN4c0ZOLGNBQUE7RUQwc0ZNLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBOztBakIzbkdSLElpQndqR0ksaUJBOEJGLGlCQWlCRSxHQUdFLEVBQUMsUWpCMW1HTjtBQUFELElpQndqRzJCLHFCQThCekIsaUJBaUJFLEdBR0UsRUFBQyxRakIxbUdOO0VBQVUsbUJBQUE7O0FBQ1gsSWlCdWpHSSxpQkE4QkYsaUJBaUJFLEdBR0UsRUFBQyxRakJ6bUdOO0FBQUQsSWlCdWpHMkIscUJBOEJ6QixpQkFpQkUsR0FHRSxFQUFDLFFqQnptR047RUFBVyx5QkFBQTs7QWtCNmVaLElEMGtGSSxpQkE4QkYsaUJBaUJFLEdBR0UsRUFBQyxRQzVuRk47QUFBRCxJRDBrRjJCLHFCQThCekIsaUJBaUJFLEdBR0UsRUFBQyxRQzVuRk47RUFDQyxxQkFBQTs7QUFFRixJRHVrRkksaUJBOEJGLGlCQWlCRSxHQUdFLEVBQUMsUUN6bkZOO0FBQUQsSUR1a0YyQixxQkE4QnpCLGlCQWlCRSxHQUdFLEVBQUMsUUN6bkZOO0VBRUMsOEJBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTs7QUFFQSxJRGdrRkUsaUJBOEJGLGlCQWlCRSxHQUdFLEVBQUMsUUN6bkZOLFNBT0U7QUFBRCxJRGdrRnlCLHFCQThCekIsaUJBaUJFLEdBR0UsRUFBQyxRQ3puRk4sU0FPRTtFQUNDLDBCQUFBO0VBQ0Esd0NBQUE7O0FEOGpGSixJQUFJLGlCQThCRixpQkF5Q0U7QUF2RW1CLElBQUkscUJBOEJ6QixpQkF5Q0U7RUFDRSxZQUFBO0VBQ0EsbUJBQUE7O0FBSUYsSUE3RUEsaUJBOEJGLGlCQStDRyxNQUNDLEVBQUM7QUFESCxJQTdFdUIscUJBOEJ6QixpQkErQ0csTUFDQyxFQUFDO0VBR0MsbUJBQUE7O0FBSkosSUE3RUEsaUJBOEJGLGlCQStDRyxNQU1DO0FBTkYsSUE3RXVCLHFCQThCekIsaUJBK0NHLE1BTUM7RUFDRSxvQkFBQTs7QUFwRlIsSUFBSSxpQkE4QkYsaUJBMERFO0FBeEZtQixJQUFJLHFCQThCekIsaUJBMERFO0VBQ0UsY0FBQTtFQ25yRk4sYUFBYSxxQkFBcUIsK0JBQWxDO0VEcXJGTSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsNkJBQUE7RUFDQSxlQUFBOztBQU1SLElBQUksdUJBRUYsaUJBQWlCLEdBQUcsRUFBQztBQUZ2QixJQUFJLHVCQXVwRkosQ0FycEZnQyxnQkFBaUIsR0FBRyxFQUFDLE1BQU07RUFDdkQsU0FBUyxXQUFUO0VBQ0EsZUFBQTtFakJucEdGLFdBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0VrQjhjQSxhQUFhLHFCQUFxQiwrQkFBbEM7RUFHRSxpQkFBQTtFRG1zRkEsb0NBQUE7O0FqQmpwR0YsSWlCMG9HRSx1QkFFRixpQkFBaUIsR0FBRyxFQUFDLFFqQjVvR3BCO0FBQUQsSWlCMG9HRSx1QkF1cEZKLENBcnBGZ0MsZ0JBQWlCLEdBQUcsRUFBQyxNQUFNLFFqQjVvR3hEO0VBQ0MsbUJBQUE7O0FBR0YsSWlCc29HRSx1QkFFRixpQkFBaUIsR0FBRyxFQUFDLFFqQnhvR3BCO0FBQUQsSWlCc29HRSx1QkF1cEZKLENBcnBGZ0MsZ0JBQWlCLEdBQUcsRUFBQyxNQUFNLFFqQnhvR3hEO0VBRUMseUJBQUE7O0FrQlhBLHdCQUEwQztFQStlN0MsSUQycUZLLHFCQUVGO0lBR0ksZUFBQTtJQUNBLG1CQUFBOzs7O0FBUU4saUJBQWlCO0FBQWtCOzs7QUFBbkMsaUJBQWlCLGdCQUNmO0FBRGlDLFdBQ2pDO0VBQ0UsWUFBQTs7QUMvcUdKLHdCQUEwQztFQW9mM0MsaUJEeXJGa0IsZ0JBQ2Y7RUMxckZILFdEMHJGRztJQUdJLFdBQUE7SUFDQSxVQUFBOzs7QUFMTixpQkFBaUIsZ0JBQ2Ysd0JBT0U7QUFSK0IsV0FDakMsd0JBT0U7RUFDRSxTQUFBO0VBQ0EsVUFBQTs7QUFHRixpQkFiYSxnQkFDZix3QkFZRyxrQkFBbUI7QUFBcEIsV0FaRix3QkFZRyxrQkFBbUI7RUFDbEIsYUFBQTtFQUNBLFlBQUE7O0FDNXJHTix3QkFBMEM7RUFvZjNDLGlCRHlyRmtCLGdCQUNmLHdCQVlHLGtCQUFtQjtFQ3RzRnpCLFdEMHJGRyx3QkFZRyxrQkFBbUI7SUFJaEIsV0FBQTs7O0FBSkosaUJBYmEsZ0JBQ2Ysd0JBWUcsa0JBQW1CLFlBT2xCO0FBUEYsV0FaRix3QkFZRyxrQkFBbUIsWUFPbEI7RUFDRSxTQUFBOztBQ3hyR04sd0JBQTBDO0VBMGU3QyxpQkR5ckZrQixnQkFDZix3QkFZRyxrQkFBbUIsWUFPbEI7RUM3c0ZQLFdEMHJGRyx3QkFZRyxrQkFBbUIsWUFPbEI7SUFJSSxTQUFBOzs7QUFYTixpQkFiYSxnQkFDZix3QkFZRyxrQkFBbUIsWUFlbEI7QUFmRixXQVpGLHdCQVlHLGtCQUFtQixZQWVsQjtFQUNFLGNBQUE7O0FDaHNHTix3QkFBMEM7RUEwZTdDLGlCRHlyRmtCLGdCQUNmLHdCQVlHLGtCQUFtQixZQWVsQjtFQ3J0RlAsV0QwckZHLHdCQVlHLGtCQUFtQixZQWVsQjtJQUdJLFFBQUE7OztBQS9CVixpQkFBaUIsZ0JBQ2Ysd0JBbUNFO0FBcEMrQixXQUNqQyx3QkFtQ0U7RUFDRSw2QkFBQTs7QUFyQ04saUJBQWlCLGdCQUNmLHdCQW1DRSxZQUdFO0FBdkM2QixXQUNqQyx3QkFtQ0UsWUFHRTtFQUNFLGVBQUE7RUFDQSxZQUFBOztBQXpDUixpQkFBaUIsZ0JBQ2Ysd0JBbUNFLFlBUUU7QUE1QzZCLFdBQ2pDLHdCQW1DRSxZQVFFO0VBQ0UsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTs7QUNqdUdOLG1CQUF1QztFQXlmMUMsaUJEeXJGa0IsZ0JBQ2Ysd0JBbUNFLFlBUUU7RUNydUZQLFdEMHJGRyx3QkFtQ0UsWUFRRTtJQU1JLGNBQUE7OztBQWxEVixpQkFBaUIsZ0JBQ2Ysd0JBdURFO0FBeEQrQixXQUNqQyx3QkF1REU7RUFDRSxpQkFBQTs7QUNqdUdKLHdCQUEwQztFQStlN0MsaUJEeXJGa0IsZ0JBQ2Ysd0JBdURFO0VDanZGTCxXRDByRkcsd0JBdURFO0lBR0ksY0FBQTs7O0FBM0RSLGlCQUFpQixnQkFDZix3QkE4REU7QUEvRCtCLFdBQ2pDLHdCQThERTtFQUVFLFFBQUE7RUFDQSxhQUFBOztBQWxFTixpQkFBaUIsZ0JBQ2Ysd0JBOERFLGNBS0U7QUFwRTZCLFdBQ2pDLHdCQThERSxjQUtFO0VBQ0UsY0FBQTtFQU9BLGVBQUE7RUFDQSxpQkFBQTs7QUMvdkdOLG1CQUF1QztFQXlmMUMsaUJEeXJGa0IsZ0JBQ2Ysd0JBOERFLGNBS0U7RUM3dkZQLFdEMHJGRyx3QkE4REUsY0FLRTtJQUlJLGNBQUE7OztBQVlSLGlCQXBGZSxnQkFvRmQsT0FDQyx3QkFBd0IsY0FBYztBQUR4QyxXQUFDLE9BQ0Msd0JBQXdCLGNBQWM7QUFEeEMsaUJBcEZlLGdCQW9GZCxPQUNvRCx3QkFBd0IsYUFBYTtBQUQxRixXQUFDLE9BQ29ELHdCQUF3QixhQUFhO0FBRDFGLGlCQXBGZSxnQkFvRmQsT0FDNEYsa0JBQWlCLGdCQUFpQix3QkFBdUIsa0JBQW1CLGNBQWM7QUFEdkwsV0FBQyxPQUM0RixrQkFBaUIsZ0JBQWlCLHdCQUF1QixrQkFBbUIsY0FBYztFQUNuTCxjQUFBOztBQUZKLGlCQXBGZSxnQkFvRmQsT0FJQyx3QkFBdUIsa0JBQW1CLGFBQWE7QUFKekQsV0FBQyxPQUlDLHdCQUF1QixrQkFBbUIsYUFBYTtFQUNyRCxjQUFBOztBQXpGTixpQkFBaUIsZ0JBNkZmLG1CQUVFO0FBL0YrQixXQTZGakMsbUJBRUU7RUFDRSxhQUFBOztBQzd3R04sd0JBQTBDO0VEa3hHbEMsaUJBckdTLGdCQTZGZixtQkFPSSxHQUNHO0VBQUQsV0FSTixtQkFPSSxHQUNHO0lBQ0MsYUFBQTs7RUMveEZYLGlCRHlyRmtCLGdCQTZGZixtQkFZSTtFQ2x5RlAsV0RzeEZHLG1CQVlJO0lBQ0UsV0FBQTs7O0FBaUJKLElBUkYsV0FNQSx3QkFFRztFQUVDLG1CQUFBO0VBQ0EsZ0JBQUE7O0FBSEYsSUFSRixXQU1BLHdCQUVHLGtCQUtDLFlBRUU7RUFFRSxTQUFBOztBQ3Z5R1Isd0JBQTBDO0VBMGU3QyxJRDR5RkcsV0FNQSx3QkFFRyxrQkFLQyxZQUVFO0lBSVcsU0FBQTs7O0FDeHpHakIsbUJBQXVDOztBRHF5RzNDLElBQUksV0FNQSx3QkFrQkUsWUFPRTtFQUNFLGNBQUE7O0FBaENWLElBQUksV0FNQSx3QkFrQkUsWUFlRTtFQUNFLFNBQUE7O0FBeENWLElBQUksV0FNQSx3QkFrQkUsWUFlRSxjQUdFO0VBQ0UsY0FBQTs7QUFZVixJQUFJLGlCQUNGO0VBQ0UsY0FBQTs7QUFGSixJQUFJLGlCQUNGLG9CQUdFO0VDdDRGSixhQUFhLHFCQUFxQiwrQkFBbEM7RUR3NEZNLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBS0EsY0FBQTtFQUVBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHNCQUFBOztBQ3gyR04sd0JBQTBDO0VBb2YzQyxJRG0yRkssaUJBQ0Ysb0JBR0U7SUFPSSxjQUFBOzs7QUMvdUdSLHdCQUEwQztFQWlZM0MsSURtMkZLLGlCQUNGLG9CQUdFO0lBZ0JJLGlCQUFBO0lBQ0EsbUJBQUE7SUFDQSxlQUFBO0lBQ0Esd0JBQUE7OztBQ3oyR04sd0JBQTBDO0VBK2U3QyxJRG0yRkssaUJBQ0Ysb0JBR0U7SUF1QkksY0FBQTs7O0FDeDJHTix3QkFBMEM7RUEwZTdDLElEbTJGSyxpQkFDRixvQkFHRTtJQStCSSxhQUFBOzs7QUFuQ1IsSUFBSSxpQkFDRixvQkF1Q0U7RUFDRSxhQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQWEsK0JBQWI7RUFDQSxlQUFBO0VBRUEsaUJBQUE7RUFDQSxzQkFBQTs7QUNuNEdKLHdCQUEwQztFQStlN0MsSURtMkZLLGlCQUNGLG9CQXVDRTtJQVdZLGNBQUE7OztBQ2g0R2Qsd0JBQTBDO0VBMGU3QyxJRG0yRkssaUJBQ0Ysb0JBdUNFO0lBWVcsbUJBQUE7OztBQXBEZixJQUFJLGlCQUNGLG9CQXVERTtFQUNFLG1CQUFBOztBQXpETixJQUFJLGlCQTZERixFQUFDLGFBQ0M7RUFDRSxhQUFBOztBQS9ETixJQUFJLGlCQTZERixFQUFDLGFBS0M7RUFDRSxhQUFBOzs7QUFXTixZQUNFO0VBQ0UseURBQUE7RUFDQSxzREFBQTtFQUNBLGlEQUFBO0VBQ0Esc0JBQUE7RUFDQSxpQkFBQTs7QUFOSixZQUNFLFdBTUUsR0FBRTtFQUNBLHlCQUFBO0VBQ0Esb0JBQUE7O0FDOTZHTix3QkFBMEM7RUFvZjNDLFlEazdGRyxXQU1FLEdBQUU7SUFLRSx5QkFBQTtJQUNBLGNBQUE7OztBQWJSLFlBQ0UsV0FpQkU7RUFDRSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7O0FBUU4sSUFBSSxXQUNGLGFBQ0UsV0FDRSxHQUFFO0FBSFMsSUFBSSxPQUNuQixhQUNFLFdBQ0UsR0FBRTtFQUNBLG1CQUFBOztBQUpSLElBQUksV0FDRixhQUNFLFdBQ0UsR0FBRSxLQUdBLEdBQUU7QUFOTyxJQUFJLE9BQ25CLGFBQ0UsV0FDRSxHQUFFLEtBR0EsR0FBRTtBQU5WLElBQUksV0FDRixhQUNFLFdBQ0UsR0FBRSxLQUdjLEdBQUU7QUFOUCxJQUFJLE9BQ25CLGFBQ0UsV0FDRSxHQUFFLEtBR2MsR0FBRTtFQUNkLFdBQUE7O0FBV1YsSUFBSSxXQUNGLGFBQ0UsbUJBQW1CO0FBRk4sSUFBSSxPQUNuQixhQUNFLG1CQUFtQjtFQUNqQixtQkFBQTtFQUNBLFdBQUE7O0FBU04sSUFBSSxXQUVGO0FBRkYsSUFBSSxXQUVXO0VBQ1gsZ0JBQUE7O0FBSEosSUFBSSxXQUVGLFlBR0U7QUFMSixJQUFJLFdBRVcsV0FHWDtFQUNFLGdCQUFBOztBQU5OLElBQUksV0FVRjtFQUNFLG1CQUFBOztBQU9KLFlBQVk7RUFDVixzQkFBQTs7QUFFQSxpQkFBa0IsYUFIUixZQUlSLEdBQUUsTUFBTztFQUNQLGlCQUFBOztBQUxOLFlBQVksWUFVVixHQUFFLHFCQUFzQjtFQUN0QixjQUFBOztBQUtGLGlCQUFrQixhQWhCUixZQWdCVSxHQUFFLE1BQU87RUFDM0IsaUJBQUE7O0FBSUosSUFBSSxpQkFFRjtFQ3JqR0YsYUFBYSxxQkFBcUIsK0JBQWxDO0VEdWpHSSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7O0FBTkosSUFBSSxpQkFFRixtQkFNRTtFQUNFLHlCQUFBO0VBQ0EsY0FBQTs7QUNsaEhOLHdCQUEwQztFQW9mM0MsSURvaEdLLGlCQUVGLG1CQU1FO0lBS0kseUJBQUE7SUFDQSxjQUFBOzs7QUNqaEhOLHdCQUEwQztFQStlN0MsSURvaEdLLGlCQUVGLG1CQU1FO0lDdm5HRixhQUFBOzs7QURpb0dJLElBbEJGLGlCQUVGLG1CQU1FLGNBVUc7RUFDQyxxQkFBQTtFQUNBLHlCQUFBOztBQXBCUixJQUFJLGlCQXlCRixtQkFBbUI7RUFDakIsY0FBQTtFQUNBLHlCQUFBOztBQ25pSEosd0JBQTBDO0VBb2YzQyxJRG9oR0ssaUJBeUJGLG1CQUFtQjtJQUtmLGNBQUE7SUFDQSx5QkFBQTs7O0FBWUEsSUFMRixpQkFFRixHQUFFLHFCQUVBLEdBQ0c7RUFDQyxVQUFBOztBQ3pqSE4sbUJBQXVDO0VBeWYxQyxJRDBqR0ssaUJBRUYsR0FBRSxxQkFFQSxHQUNHO0lBSUcsVUFBQTs7O0FDdmpIVix3QkFBMEM7RUFvZjNDLElEMGpHSyxpQkFFRixHQUFFLHFCQUVBLEdBQ0c7SUFRRyxVQUFBOzs7QUN0akhSLHdCQUEwQztFQStlN0MsSUQwakdLLGlCQUVGLEdBQUUscUJBRUEsR0FDRztJQVlHLFVBQUE7OztBQVlWLGdCQUFpQixnQkFBZ0I7QUFDakMsdUJBQXdCLGdCQUFnQjtBQUN4QywwQkFBMkIsZ0JBQWdCO0VBQ3pDLGNBQUE7RUFDQSwwQkFBQTs7O0FBT0YsZUFBZ0I7RUFDZCxnQkFBQTs7QUM1bEhBLG1CQUF1QztFQXlmMUMsZURrbUdpQjtJQUlaLGVBQUE7OztBQzFsSEosd0JBQTBDO0VBb2YzQyxlRGttR2lCO0lBUVosZUFBQTs7O0FBSUYsZUFaYyxnQkFZYjtFQUNDLFNBQVMsRUFBVDtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLHlCQUFBO0VDeHNHRixjQUFBOztBQW5URix3QkFBMEM7RUFzWTNDLGVEa21HaUIsZ0JBWWI7SUFXRyxhQUFBOzs7QUMvL0dOLHdCQUEwQztFQXNZM0MsZUQrbkdpQjtJQUdaLGtCQUFBOzs7QUFLSixlQUFnQjtFQUNkLFVBQUE7O0FDNW5IRix3QkFBMEM7RUFvZjNDLGVEdW9HaUI7SUFJWixVQUFBOzs7QUMxbkhGLHdCQUEwQztFQStlN0MsZUR1b0dpQjtJQVFaLFVBQUE7OztBQ3puSEYsd0JBQTBDO0VBMGU3QyxlRHVvR2lCO0lBWVosVUFBQTs7O0FBS0osZUFBZ0IsbUJBRWQ7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQ0FBQTs7QUFLSixlQUFnQiw0QkFBNEI7RUFDMUMsY0FBQTtFQUNBLGlCQUFBOztBQU1FLGVBRlkscUJBQ2QsUUFBTztBQUNMLGVBRlkscUJBK29FbEIsQ0E5b0V5QixPQUFPO0FBQ3hCLGVBRlUscUJBQ2QsUUFBTyxhQUNEO0FBQUYsZUFGVSxxQkErb0VsQixDQTlvRXlCLE9BQU8sY0FDdEI7RUFDRixlQUFBOztBQUhOLGVBQWdCLHFCQU1kLFFBQU87RUM3c0dULGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGlCQUFBOztBRDhzR0YsZUFBZ0I7RUFDZCxnQ0FBQTs7O0FBS0Y7RUN2dEdBLGFBQWEscUJBQXFCLCtCQUFsQztFQXBERSxjQUFBO0VEOHdHQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTs7QUFMRixlQVlFO0VBQ0UsV0FBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtFQzF4R0YsY0FBQTtFRDR4R0UsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTs7QUMzckhGLHdCQUEwQztFQStlN0MsZURvc0dHO0lBV0ksVUFBQTtJQUNBLGdCQUFBO0lBQ0EsZUFBQTs7O0FBR0YsZUFoQkYsRUFnQkc7RUFDQyxXQUFBO0VBQ0EscUJBQUE7O0FBS04sSUFBSSxXQUNGO0FBRGUsSUFBSSxPQUNuQjtFQUNFLHVCQUFBOztBQUZKLElBQUksV0FDRixnQkFHRTtBQUphLElBQUksT0FDbkIsZ0JBR0U7RUFDRSxhQUFBOztBQUtOLElBQUksZUFDRjtFQUNFLGFBQUE7OztBQU9KOztFQUNFO0lBQ0UsZUFBZSxZQUFmO0lBQ0EsZ0JBQWdCLFlBQWhCO0lBQ0EsbUJBQW1CLFlBQW5CO0lBQ0EsY0FBYyxZQUFkO0lBQ0EsV0FBVyxZQUFYOztFQUVGO0lBQ0UsZUFBZSxjQUFmO0lBQ0EsZ0JBQWdCLGNBQWhCO0lBQ0EsbUJBQW1CLGNBQW5CO0lBQ0EsY0FBYyxjQUFkO0lBQ0EsV0FBVyxjQUFYOzs7QUFHSjtFQUNFO0lBQ0UsZUFBZSxZQUFmO0lBQ0EsZ0JBQWdCLFlBQWhCO0lBQ0EsbUJBQW1CLFlBQW5CO0lBQ0EsY0FBYyxZQUFkO0lBQ0EsV0FBVyxZQUFYOztFQUVGO0lBQ0UsZUFBZSxjQUFmO0lBQ0EsZ0JBQWdCLGNBQWhCO0lBQ0EsbUJBQW1CLGNBQW5CO0lBQ0EsY0FBYyxjQUFkO0lBQ0EsV0FBVyxjQUFYOzs7QUFHSjtFQUNFLDhDQUFBO0VBQ0EsMkNBQUE7RUFDQSwwQ0FBQTtFQUNBLHlDQUFBO0VBQ0Esc0NBQUE7O0FBS0YsVUFDRTtFQUNFLGVBQUE7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQWtCRSx5QkFBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTs7QUFuQkYsVUFORjtBQURGLFVBQ0UsTUE4aEVKLENBeGhFUTtBQVBOLFVBQ0UsTUE4aEVKLENBeGhFVztFQUNILFlBQUE7O0FBUk4sVUFDRSxNQVVFO0VBQ0UseUJBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7O0FBR0YsVUFsQkY7QUFERixVQUNFLE1Ba0JLO0VBQ0QsNkJBQUE7O0FBcEJOLFVBQ0UsTUEyQkUsR0FBRSxNQUFPO0VBQ1AsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBVSxVQUFWOztBQS9CTixVQUNFLE1BZ0NFLEdBQUUsTUFBTztFQUNQLFdBQUE7O0FBbENOLFVBQ0UsTUFtQ0U7RUFDRSwyQkFBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7O0FBRUEsVUF4Q0osTUFtQ0UsR0FLRztFQUNDLG1CQUFBO0VBQ0EsYUFBQTs7QUEzQ1IsVUFDRSxNQTZDRTtBQTlDSixVQUNFLE1BNkNNO0FBOUNSLFVBQ0UsTUE2Q1U7RUFDTiw4QkFBQTtFQUNBLDJCQUFBO0VBQ0Esc0JBQUE7RUFDQSxTQUFBOztBQ3p6SEosd0JBQTBDO0VBK2U3QyxVRHl4R0csTUE2Q0U7RUN0MEdMLFVEeXhHRyxNQTZDTTtFQ3QwR1QsVUR5eEdHLE1BNkNVO0lBT0osZUFBQTs7O0FBckRSLFVBQ0UsTUF3REU7RUFDRSxZQUFBOztBQTFETixVQUNFLE1BMkRFO0FBNURKLFVBQ0UsTUEyRE07RUFDRixZQUFBOztBQTdETixVQUNFLE1BK0RFLEdBQUUsWUFBYTtFQ3YzR25CLGFBQWEscUJBQXFCLCtCQUFsQztFRHkzR00seUJBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTs7QUFPTjtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFFQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7O0FBSUEsbUJBQUM7RUFDQyxTQUFTLEdBQVQ7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQWEsb0JBQWI7RUFDQSxTQUFTLE9BQVQ7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTs7QUFFRjtBQUFFLG1CQUFDO0VBQ0Qsa0JBQUE7O0FBMUJKLG1CQTRCRTtFQUNFLGFBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBOztBQXRDSixtQkE0QkUsVUFZRTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTs7QUFLQSxtQkFuQkosVUFrQkUsR0FBRTtBQTlDTixtQkE0QkUsVUFrQkUsR0FBRSxZQXM2RFIsQ0FyNkRVO0FBL0NSLG1CQTRCRSxVQWtCRSxHQUFFLFlBczZEUixDQXI2RFksQ0FBQztFQUNILHdCQUFBOztBQUlGLG1CQXhCSixVQXVCRSxHQUFFO0FBbkROLG1CQTRCRSxVQXVCRSxHQUFFLFdBaTZEUixDQWg2RFU7QUFwRFIsbUJBNEJFLFVBdUJFLEdBQUUsV0FpNkRSLENBaDZEWSxDQUFDO0VBQ0gsd0JBQUE7O0FBckRSLG1CQTRCRSxVQXVCRSxHQUFFLFdBSUE7RUFDRSxtQkFBQTs7QUF4RFIsbUJBNEJFLFVBZ0NFO0VBRUUsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQ0FBQTtFQUNBLGNBQUE7O0FBRUEsbUJBeENKLFVBZ0NFLEVBUUc7RUFDQyxTQUFTLEVBQVQ7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7O0FBR0YsbUJBbkRKLFVBZ0NFLEVBbUJHO0VBQ0MsbUJBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTs7QUFFQSxtQkF6RE4sVUFnQ0UsRUFtQkcsTUFNRTtFQUNDLG1CQUFBOztBQVFWLGlCQUFrQjtBQUFLLGlCQUFrQjtFQUN2QyxxQkFBQTs7Ozs7QUFNRixpQkFBa0I7RUNuaUhoQixhQUFBOztBRHNpSEY7RUFDRSxrQkFBQTtFQUNBLGVBQUE7O0FBR0Y7RUFDRSxXQUFBOztBQUdGO0VBQ0UsY0FBQTtFQVVBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFFQSxrQkFBQTs7QUMvOUhBLG1CQUF1QztFQXlmMUMsdUJEdzlHMkI7SUFFcEIsY0FBQTtJQUNBLFVBQUE7OztBQVBOLFVBb0JFO0VBQ0UsZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7O0FBekJKLFVBMkJFO0VBQ0UsV0FBQTtFQUNBLG1CQUFBO0VBQ0Esd0JBQUE7RUFTQSxZQUFBO0VBQ0EsV0FBQTs7QUMzK0hGLHdCQUEwQztFQStlN0MsdUJEcS9HNkIsV0FOMUI7SUFRTSxpQkFBQTs7O0FBT0osVUFmRixRQWVHO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsVUFBQTtFQUNBLGFBQWEsb0JBQWI7RUFDQSxXQUFXLGFBQVg7RUFDQSxtQkFBbUIsYUFBbkI7RUFDQSw0QkFBQTtFQUNBLFNBQVMsT0FBVDs7QUFHSjtBQXBERixVQW0yREYsQ0EveURNO0VBQ0Esa0JBQUE7O0FBR0YsZUFBZ0I7RUFDZCxxQkFBQTs7QUFJSixnQkFDRTtFQUNFLHFCQUFBOztBQUZKLGdCQUNFLFdBR0U7RUFDRSxjQUFBOztBQUVBLGdCQU5KLFdBR0UsUUFHRztFQUNDLHlCQUFBOztBQU1SO0VBQ0UsYUFBQTs7QUFHRjtFQUNFLHlCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTs7QUFHRjtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTs7QUFKRixzQkFNRTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7O0FBSUo7RUFDRSw2QkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSwyQkFBQTtFQUNBLE1BQU0sZ0JBQU47RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLHdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxZQUFBO0VBQ0EsMkJBQUE7O0FBR0Y7RUFDRSw2QkFBQTtFQUNBLDZCQUFBO0VBQ0EseUJBQUE7OztBQUlGO0VBVUUsa0JBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLG1CQUFBO0VBQ0EseUJBQUE7RUFDQSxXQUFBO0VBQ0EseUJBQUE7O0FBZEEsZUFBZ0I7QUFBRyxpQkFBa0IsZ0JBQWdCO0VDdHFIckQsY0FBQTs7QUQwcUhBO0FBQUcsaUJBQWtCO0VBQ25CLGFBQUE7O0FBUEosZ0JBa0JFO0VBQ0UsWUFBQTtFQUNBLGNBQUE7RUN4ckhGLGNBQUE7O0FENHJIQSxnQkFBaUI7RUFDZixTQUFBO0VBQ0EsWUFBQTs7QUExQkosZ0JBNkJFO0FBN0JGLGdCQTZCTTtFQUNGLGdCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTs7QUFuQ0osZ0JBcUNFO0VDenNIQSxjQUFBO0VEMnNIRSxZQUFBO0VBQ0EsMEJBQUE7RUFDQSw2QkFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBOztBQUVBLGdCQVJGLEdBUUc7RUFDQyxtQkFBQTtFQUNBLFdBQUE7O0FBR0YsZ0JBYkYsR0FhRztFQUNDLG1CQUFBO0VBQ0EsV0FBQTs7QUFwRE4sZ0JBdURFO0VBQ0UseUJBQUE7RUFDQSxZQUFBO0VBQ0EsMEJBQUE7RUFDQSwyQkFBQTtFQUNBLHNCQUFBO0VBQ0EseUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7O0FBaEVKLGdCQWtFRSxpQkFDRTtFQUNFLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7O0FBRUYsZ0JBWkYsaUJBWUcsU0FBVTtFQUNULDBCQUFBO0VBQ0EsVUFBQTs7QUFoRk4sZ0JBa0VFLGlCQWdCRTtFQUNFLGtCQUFBOztBQzdwSUosbUJBQXVDO0VBeWYxQyx1QkQ0cUh5QixLQUFLO0lBRXpCLGlCQUFBOzs7QUMvaUlKLHdCQUEwQztFQWlZM0MsdUJENHFIeUIsS0FBSztJQUt6QixjQUFBOzs7QUMxcUlGLG1CQUF1QztFQXlmMUMsdUJEb3JIeUIsS0FBSyxJQUFHO0lBRTVCLGNBQUE7OztBQ2hxSUYsd0JBQTBDO0VBMGU3Qyx1QkRvckh5QixLQUFLLElBQUc7SUFLNUIsZ0JBQUE7OztBQ3hxSUYsd0JBQTBDO0VBK2U3QyxrQkQ0ckhvQixZQUFZO0lBRTNCLGNBQUE7OztBQUtKO0VBQ0Usa0JBQUE7O0FBRUEsU0FBQztFQUNDLG1CQUFBO0VBQ0EsY0FBQTs7QUFHSjtFQUNFLFVBQUE7RUMveEhBLGNBQUE7RURreUhBLGNBQUE7O0FDeHNJQSxtQkFBdUM7RUF5ZjFDO0lENnNIYSxXQUFBOzs7QUM1cklWLHdCQUEwQztFQStlN0MsdUJEaXRIeUIsS0FBSztJQUNqQixrQkFBQTs7O0FBRVosa0JBQW1CO0VBQ2pCLFdBQUE7O0FBREYsa0JBQW1CLFlBR2pCO0VBQ0UsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTs7QUNudElGLG1CQUF1QztFQXlmMUMsa0JEb3RIb0IsWUFHakI7SUFLSSxZQUFBO0lDL3lISixjQUFBO0lEaXpISSxrQkFBQTs7RUM5dEhQLGtCRG90SG9CLFlBR2pCLEtBU0k7SUNuekhKLGNBQUE7OztBQTVaQSx3QkFBMEM7RUErZTdDLGtCRG90SG9CLFlBR2pCO0lBY0ksZUFBQTs7O0FDdG1JTix3QkFBMEM7RUFpWTNDLGtCRG90SG9CLFlBR2pCO0lBaUJJLGVBQUE7OztBQ2x0SUosd0JBQTBDO0VBMGU3QyxrQkRvdEhvQixZQUdqQjtJQW9CSSxpQkFBQTs7O0FDMXRJSix3QkFBMEM7RUErZTdDLGtCRG90SG9CLFlBMkJqQixXQUFVLGlCQUFpQiwwQkFDdkI7RUNodkhQLGtCRG90SG9CLFlBbW1EckIsQ0F4a0QwRCxVQUFVLGlCQUFpQiw0QkFDN0U7SUFFRSxzQkFBQTtJQ3IwSE4sY0FBQTs7O0FEdXlIRixrQkFBbUIsWUFvQ2pCO0VDdnhIRixhQUFhLHFCQUFxQiwrQkFBbEM7RUR5eEhJLGNBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7O0FBeENKLGtCQUFtQixZQTBDakIsV0FBVztFQ2oxSFgsY0FBQTtFRG8xSEUsa0JBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBOztBQzd2SUYsbUJBQXVDO0VBeWYxQyxrQkRvdEhvQixZQTBDakIsV0FBVztJQVFQLFlBQUE7OztBQ3J2SUosd0JBQTBDO0VBK2U3QyxrQkRvdEhvQixZQTBDakIsV0FBVztJQVdQLGtCQUFBOzs7QUNudklKLHdCQUEwQztFQTBlN0Msa0JEb3RIb0IsWUEwQ2pCLFdBQVc7SUFjUCxrQkFBQTs7O0FBeEROLGtCQUFtQixZQTZEakIsSUFBRyxVQUFXLEtBQUk7QUE3RHBCLGtCQUFtQixZQTZEUyxNQUFLO0FBN0RqQyxrQkFBbUIsWUE2RDZCLEtBQUksV0FBWSxNQUFLO0FBN0RyRSxrQkFBbUIsWUE2RHFFLE1BQUs7QUE3RDdGLGtCQUFtQixZQTZEMkYsTUFBSztBQTdEbkgsa0JBQW1CLFlBNkRnSCxNQUFLO0FBN0R4SSxrQkFBbUIsWUE2RG1JLE1BQUs7QUE3RDNKLGtCQUFtQixZQTZEc0osTUFBSztFQ3AySDVLLGNBQUE7RURzMkhFLGlCQUFBO0VBQ0EsV0FBQTs7QUFoRUosa0JBQW1CLFlBa0VqQixJQUFHLFVBQVcsS0FBSTtFQUNoQixxQkFBQTs7QUNoeElGLG1CQUF1QztFQXlmMUMsa0JEb3RIb0IsWUFrRWpCLElBQUcsVUFBVyxLQUFJO0lDejJIbEIsY0FBQTtJRDYySEksVUFBQTtJQUNBLGdCQUFBOzs7QUMxd0lKLHdCQUEwQztFQStlN0Msa0JEb3RIb0IsWUFrRWpCLElBQUcsVUFBVyxLQUFJO0lDejJIbEIsY0FBQTtJRGszSEksa0JBQUE7SUFDQSxVQUFBO0lBQ0EsZ0JBQUE7OztBQTdFTixrQkFBbUIsWUFnRmpCLE1BQUs7QUFoRlAsa0JBQW1CLFlBZ0ZHLEtBQUksV0FBWSxNQUFLO0FBaEYzQyxrQkFBbUIsWUFnRjJDLE1BQUs7QUFoRm5FLGtCQUFtQixZQWdGaUUsTUFBSztBQWhGekYsa0JBQW1CLFlBZ0ZzRixNQUFLO0FBaEY5RyxrQkFBbUIsWUFnRnlHLE1BQUs7QUFoRmpJLGtCQUFtQixZQWdGNEgsTUFBSztFQUNoSixrQkFBQTs7QUFqRkosa0JBQW1CLFlBbUZqQixNQUFLLGVBQWU7RUFDbEIsaUJBQUE7RUFDQSxjQUFBOztBQXJGSixrQkFBbUIsWUF3RmpCLDRCQUE0QjtFQUV4QixzQkFBQTs7QUExRk4sa0JBQW1CLFlBd0ZqQiw0QkFBNEIsdUJBSTFCO0VBQ0UsV0FBQTs7QUNoeUlKLHdCQUEwQztFQStlN0Msb0JEcXpIc0IsS0FBSSxXQUFZLFdBQVc7RUNyekhqRCxxQkRxekg4RSxLQUFJLFdBQVksV0FBVztFQ3J6SHpHLGNEcXpIK0gsS0FBSSxXQUFZLFdBQVc7RUNyekgxSix1QkRxekh5TCxLQUFJLFdBQVksV0FBVztFQ3J6SHBOLHlCRHF6SHFQLEtBQUksV0FBWSxXQUFXO0lBRTNRLFNBQUE7OztBQzN5SUosd0JBQTBDO0VBb2YzQyx1QkQyekh5QixNQUFLO0VDM3pIOUIsdUJEMnpIMkUsTUFBSztJQUVwRSxjQUFBO0lBQWdCLFVBQUE7OztBQzV5SXpCLHdCQUEwQztFQStlN0MsdUJEMnpIeUIsTUFBSztFQzN6SDlCLHVCRDJ6SDJFLE1BQUs7SUFHcEUsVUFBQTs7O0FDL3JJWCx3QkFBMEM7RUFpWTNDLHVCRDJ6SHlCLE1BQUs7RUMzekg5Qix1QkQyekgyRSxNQUFLO0lBSXBELFVBQUE7OztBQ3p5SXpCLHdCQUEwQztFQTBlN0MsdUJEMnpIeUIsTUFBSztFQzN6SDlCLHVCRDJ6SDJFLE1BQUs7SUFLcEUsVUFBQTs7O0FBRVgsd0JBQ0U7RUFBRyxXQUFBOztBQUlMLHVCQUF3QixhQUFZO0VBQ2xDLGtCQUFBOztBQUlKLFNBQVMsb0JBQXFCLFdBQVcsR0FBRTtFQ3Y2SHZDLGFBQUE7O0FENDZIRjtFQUVFLFdBQUE7RUFDQSxrQkFBQTs7QUFIRixnQkFNRTtBQU5GLGdCQXMrQ0YsQ0FoK0NtQjtBQU5qQixnQkFzK0NGLENBaCtDaUM7RUFDM0IsZUFBQTtFQ3YzSEosYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7O0FENjJIRixnQkFjRTtFQUNFLGtCQUFBO0VBQ0EsMEJBQUE7RUFDQSxtQkFBQTtFQUNBLGdDQUFBO0VBQ0EsZUFBQTs7QUNuM0hKLGdCRHUzSEUsZUN2M0hEO0VBQ0MscUJBQUE7O0FBRUYsZ0JEbzNIRSxlQ3AzSEQ7RUFFQyw4QkFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBOztBQUVBLGdCRDYySEEsZUNwM0hELFNBT0U7RUFDQywwQkFBQTtFQUNBLHdDQUFBOztBRG8xSEosZ0JBMkJFO0VBRUUsWUFBQTtFQUNBLGNBQUE7O0FBOUJKLGdCQWdDRTtFQUNFLDBCQUFBOztBQWpDSixnQkFtQ0UscUJBQXFCLEVBQUM7RUFDcEIsMEJBQUE7O0FBcENKLGdCQXdDRTtFQ3A5SEEsYUFBQTs7QUQwOUhGLE1BQU0sS0FBTSxjQUFjO0VBUXhCLE1BQUE7RUFDQSxTQUFBOztBQVRGLE1BQU0sS0FBTSxjQUFjLE9BRXhCLFlBQVc7RUFDVCxTQUFTLE9BQVQ7RUFDQSxlQUFBOztBQVFKLE1BQU0sS0FBSyxZQUNULGNBQWM7RUFFWixRQUFBO0VBQ0EsU0FBQTs7QUNoeElKLHdCQUEwQztFQWlZM0MsTUQyNEhPLEtBQUssWUFDVCxjQUFjO0lBTVYsTUFBQTs7O0FBSUosTUFYSSxLQUFLLFlBV1IsVUFDQyxjQUFjO0VBQ1osTUFBQTs7QUFPTixTQUFTLG9CQUFxQixXQUFXLEdBQUU7RUMxL0h6QyxhQUFBOztBRCsvSEYsb0JBQ0UsV0FBVztFQUNULGNBQUE7RUNyOEhKLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGlCQUFBOztBRHc4SEYsSUFBSSxPQUFRO0VDdmdJVixhQUFBOztBQTlaQSxtQkFBdUM7RUQ2Nkl2QyxZQUFZO0lBQ1YsVUFBQTtJQUNBLGNBQUE7SUFDQSxnQkFBQTs7RUFIRixZQUFZLFNBS1Y7SUFDRSxrQkFBQTs7RUFOSixZQUFZLFNBU1Y7RUFURixZQUFZLFNBbTRDaEIsQ0ExM0NZLFVBQVcsS0FBSTtFQVR2QixZQUFZLFNBbTRDaEIsQ0ExM0NrQyxNQUFNO0VBVHBDLFlBQVksU0FTZ0M7SUFDeEMsb0JBQUE7O0VBVkosWUFBWSxTQVlWO0VBWkYsWUFBWSxTQW00Q2hCLENBdjNDWSxVQUFXLEtBQUk7SUFDbkIsc0JBQUE7O0VBYkosWUFBWSxTQWVWLFdBQVcsS0FBSTtJQUNiLDBCQUFBO0lDbitITixhQUFhLHFCQUFxQiwrQkFBbEM7SUFHRSxpQkFBQTs7RURnOUhBLFlBQVksU0FtQlYsS0FBSSxXQUFZLFNBQVMsS0FBSTtJQUMzQixrQkFBQTs7RUFwQkosWUFBWSxTQXVCVixTQUFRO0lBQ04sZ0NBQUE7SUFDQSxtQkFBQTs7RUFHQSxZQTVCUSxTQXVCVixTQUFRLGFBS0w7RUFBWSxZQTVCTCxTQXVCVixTQUFRLGFBS1E7SUFDWixtQkFBQTs7RUE3Qk4sWUFBWSxTQWdDVjtJQUNFLHVCQUFBO0lDcC9ITixhQUFhLHFCQUFxQiwrQkFBbEM7SUFHRSxpQkFBQTs7RURnOUhBLFlBQVksU0FxQ1Y7SUFDRSxzQkFBQTs7RUFLSixjQUFlLE1BQUssV0FBWTtJQUM5Qiw4QkFBQTs7RUFFRixjQUNFLFdBQVc7SUFDVCxjQUFBOztFQU1KLGNBQWU7SUFDYixxQkFBQTs7O0FDaDhJSix3QkFBMEM7RUR3OEl4QyxlQUFnQjtJQUVkLFVBQUE7SUFDQSxTQUFBO0lBQ0EsVUFBQTs7RUFKRixlQUFnQixpQkFNZCxjQUFjLHlDQUF5QztJQUNyRCxnQkFBQTs7RUFFRixlQUFnQixpQkFBZ0IsVUFBVTtJQUN4QyxjQUFBOztFQURGLGVBQWdCLGlCQUFnQixVQUFVLE1BR3hDLGNBQWMseUNBQXlDO0lBQ3JELGtCQUFBOztFQUVGLGVBQWdCLGlCQUFnQixVQUFVLE1BQ3hDLGNBQWMseUNBQXlDO0lBQ3JELGlCQUFBOztFQUVGLGVBQWdCLGlCQUFpQjtJQUMvQixrQkFBQTtJQUNBLHVCQUFBOzs7QUFJVixlQUFnQixpQkFBaUI7RUFDL0IsdUJBQUE7O0FBRUYsZUFBZ0IsaUJBQ2QsY0FBYyx3Q0FBd0M7RUFDcEQsa0JBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7O0FDbGdKRix3QkFBMEM7RURzZ0oxQyxlQUFnQjtJQUNkLFdBQUE7OztBQUtKO0VBQ0UsU0FBQTs7QUFFRjtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBOztBQUdGLFVBQVU7RUFDUixrQkFBQTtFQUNBLFNBQVMsR0FBVDtFQzduSUEsY0FBQTtFQW9ERixhQUFhLHFCQUFxQiwrQkFBbEM7RUFHRSxnQkFBQTtFRHlrSUEsU0FBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EscURBQUE7RUFDQSxrQkFBa0IsOEVBQWxCO0VBQ0Esa0JBQWtCLDJFQUFsQjtFQUNBLGtCQUFrQix5RUFBbEI7RUFDQSxrQkFBa0IsMEVBQWxCO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTs7QUFFRixVQUFVO0VDM2xJVixhQUFhLHFCQUFxQiwrQkFBbEM7RUFHRSxpQkFBQTtFRDBsSUEseUJBQUE7O0FBQ0EsVUFIUSxRQUdQO0VDMXBJRCxhQUFBOztBRDhwSUYsVUFBVTtFQUNSLGVBQUE7RUFDQSxrQkFBQTs7QUFFRjtFQ3RtSUEsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7RURxbUlBLFlBQUE7RUM1cElBLGNBQUE7RUQ4cElBLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7O0FBR0YsSUFBSSxTQUFTLG1CQUNYO0VBQ0UsV0FBQTtFQUNBLHFCQUFBOztBQUdKO0VBQ0Usa0JBQUE7O0FBRUYsQ0FBQztFQzVxSUMsY0FBQTtFRDhxSUEsWUFBQTs7QUFHRjtFQUNFLGVBQUE7RUM5bklGLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGlCQUFBO0VEMG9JQSx5QkFBQTs7QUN0K0lGLG1CQUF1QztFQXdYeEMsSURrbUlPLE9BQVE7SUFFUixpQkFBQTs7O0FDeGxKTix3QkFBMEM7RUFvZjNDO0lEeW1JSyxlQUFBOzs7QUMxK0lKLHdCQUEwQztFQWlZM0M7SUQ0bUlLLGVBQUE7OztBQUlGLE1BQUM7RUFDQyxpQkFBQTs7QUM3aUpKLHdCQUEwQztFQTRiM0MsTURnbklJO0lBTUcsbUJBQUE7OztBQ2psSk4sd0JBQTBDLHVCQUE0QjtFQTJkdkUsTURnbklJO0lBU0csbUJBQUE7OztBQzdtSk4sd0JBQTBDO0VBb2YzQyxNRGduSUk7SUFZRyxpQkFBQTs7O0FDdG1KSix3QkFBMEM7RUEwZTdDLE1EZ25JSTtJQWVHLGlCQUFBOzs7QUFJTixhQUFjLGdCQUFnQixHQUFHO0VBQy9CLDBCQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7O0FBRUYsYUFBYztFQUNaLGdCQUFBO0VBQ0EsYUFBQTs7QUFFRixJQUFJLGFBQWEsV0FBWTtBQUFlLElBQUksYUFBYyxXQUFXO0FBQVUsSUFBSSxhQUFjLFlBQVk7RUFDL0csNkJBQUE7RUFDQSw2QkFBQTs7QUFFRixhQUNFO0VBQ0UsaUJBQUE7O0FBRkosYUFLRSxnQkFBZ0IsV0FBVztBQUw3QixhQUt1QyxnQkFBZ0IsWUFBWTtFQUMvRCxTQUFBO0VBQ0EsVUFBQTs7QUFQSixhQVNFO0VBQ0UsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTs7QUFaSixhQWNFLGdCQUFnQjtFQUNkLGFBQUE7O0FBZkosYUFpQkUsZ0JBQWdCO0FBakJsQixhQWlCdUI7RUFDbkIsa0JBQUE7O0FDanBKRix3QkFBMEM7RUErZTdDLGFEb3FJRyxnQkFBZ0I7SUFDSixzQkFBQTs7O0FBckJkLGFBdUJFO0VBQ0UsY0FBQTs7QUF4QkosYUEwQkUsRUFBQztFQU1DLDBCQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7O0FBUEEsYUFBYyxNQUFNLFNBQVMsY0FEL0IsRUFBQztBQUNnQyxhQUFjLE1BQU0sU0FBUyxjQUQ5RCxFQUFDLFVBQzhEO0FBQU8sYUFBYyxNQUFNLFNBQVMsY0FEbkcsRUFBQyxVQUNtRztFQUNoRyxjQUFBO0VBQ0EsZ0JBQUE7O0FBN0JOLGFBb0NFO0VBQ0Usa0JBQUE7RUFDQSxnQkFBQTs7QUF0Q0osYUFvQ0Usa0JBSUU7RUFDRSxrQkFBQTtFQ3h0SU4sYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsZ0JBQUE7O0FENHFJRixhQW9DRSxrQkFRRTtBQTVDSixhQW9DRSxrQkFtb0NKLENBM25DeUI7RUFDakIsY0FBQTs7QUE3Q04sYUFvQ0Usa0JBV0U7RUFDRSxhQUFBOztBQy9xSkosd0JBQTBDO0VBK2U3QyxhRG9ySUcsa0JBY0U7SUFFSSxtQkFBQTs7O0FBT1IsY0FDRSxhQUFZLFNBQVUsS0FBSSxXQUFZLFNBQVMsS0FBSTtFQUNqRCxlQUFBOztBQUdKLFdBQVk7RUFDVixjQUFBOztBQUlGLHdCQUNFO0VBQ0UsY0FBQTs7QUFJSixhQUFjLE1BQU0sU0FDbEI7QUFENEIsYUFBYyxNQUMxQztFQUNFLGVBQUE7RUFDQSxjQUFBO0VBQ0EsaUJBQUE7O0FBR0EsUUFBUyxjQVBDLE1BQU0sU0FDbEI7QUFNRSxRQUFTLGNBUCtCLE1BQzFDO0VBT0ksMEJBQUE7O0FBRUYsYUFWVSxNQUFNLFNBQ2xCLEVBU0c7QUFBRCxhQVZ3QyxNQUMxQyxFQVNHO0VBQ0MsY0FBQTs7QUFFRixhQWJVLE1BQU0sU0FDbEIsRUFZRztBQUFELGFBYndDLE1BQzFDLEVBWUc7RUFDQyxjQUFBOztBQUtOLGFBQWMsTUFBTSxTQUFTLEdBQUUsTUFBTztFQUNwQyxXQUFBO0VBQ0EsMEJBQUE7O0FDMXRKQSx3QkFBMEM7RUEwZTdDLElEb3ZJSyxlQUFnQjtJQy8wSWxCLGFBQUE7OztBQXBaQSx3QkFBMEM7RUErZTdDLE1EMnZJTyxLQUFLLGVBQWdCLGNBQWM7SUFFckMsU0FBQTs7O0FDanZKSix3QkFBMEM7RUFvZjNDLGVEa3dJaUIsZ0JBQWU7SUFHM0IsVUFBQTs7O0FDcHZKRix3QkFBMEM7RUErZTdDLGVEa3dJaUIsZ0JBQWU7SUFNM0IsVUFBQTtJQUNBLFdBQUE7OztBQ3JwSkosd0JBQTBDO0VBNFkzQyxlRGt3SWlCLGdCQUFlO0lDcjFJN0IsY0FBQTs7O0FBOVNGLHdCQUEwQztFQWlZM0MsZURrd0lpQixnQkFBZTtJQWEzQixrQkFBQTs7O0FDaHBKSix3QkFBMEM7RUFpWTNDLGVEcXhJaUIscUJBQXFCO0VDcnhJdEMsZURxeEk2RDtJQUV4RCxrQkFBQTs7O0FDeHBKSix3QkFBMEM7RUFpWTNDLGVEMHhJaUI7SUFFWixXQUFBOzs7QUM3cEpKLHdCQUEwQztFQWlZM0MsZUQreElpQixxQkFBcUI7SUFFakMsV0FBQTs7O0FDbHFKSix3QkFBMEM7RUFpWTNDLGVEb3lJaUIscUJBQXFCLFFBQU87SUFFeEMsaUJBQUE7OztBQ3ZxSkosd0JBQTBDO0VBaVkzQyxlRHl5SWlCO0lBRVosWUFBQTs7O0FDbnFKSixtQkFBdUM7RUF3WHhDLGVEOHlJaUI7SUFFWixrQkFBQTs7O0FDanJKSix3QkFBMEM7RUFpWTNDLGVEOHlJaUI7SUFLWixnQkFBQTs7O0FBR0osZUFBZ0IsNEJBQTRCO0VBQzFDLGNBQUE7O0FDeHJKRix3QkFBMEM7RUFpWTNDLGVEMHpJaUIscUJBQXFCLFFBQU87SUFFeEMsZ0JBQUE7SUFDQSxtQkFBQTtJQUNBLGdCQUFBO0lBQ0EsVUFBQTtJQUNBLFdBQUE7OztBQUdKLGVBQ0U7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBOztBQUpKLGVBQ0UsbUJBS0U7RUFDRSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBOztBQ2owSk4sd0JBQTBDO0VBb2YzQyxlRG8wSUcsbUJBS0U7SUFPSSxnQkFBQTs7O0FDanRKUix3QkFBMEM7RUFpWTNDLGVEbzBJRyxtQkFLRTtJQVVJLGlCQUFBO0lBQ0EsVUFBQTs7O0FDOXpKTix3QkFBMEM7RUEwZTdDLGVEbzBJRyxtQkFLRTtJQWNJLGVBQUE7OztBQUtSLGVBQWdCO0VBQ2QsY0FBQTs7QUNydEpGLG1CQUF1QztFQXdYeEMsZUQ0MUlpQjtJQUdJLFdBQUE7OztBQ24xSnBCLHdCQUEwQztFQW9mM0MsZUQ0MUlpQjtJQUtaLFdBQUE7SUFDQSxjQUFBOzs7QUNudUpKLHdCQUEwQztFQWlZM0MsZUQ0MUlpQjtJQVNaLGdCQUFBOzs7QUMvMEpGLHdCQUEwQztFQTBlN0MsZUQ0MUlpQjtJQVlaLGdCQUFBOzs7QUFJSixlQUFnQixnQkFBZ0I7RUFDOUIsU0FBQTs7QUFHRixlQUFnQixnQkFBZ0IsR0FBRTtFQUNoQyxlQUFBOztBQUlGLElBQUksVUFBVztFQUNiLGNBQUE7O0FBR0YscUJBQXNCO0VBQ3BCLGNBQUE7O0FBRUYsc0JBQXNCO0FBQVMsc0JBQXNCO0VBQ25ELFNBQVMsR0FBVDtFQUNBLGNBQUE7O0FBQ0Ysc0JBQXNCO0VBQ3BCLFdBQUE7O0FBQ0Y7RUFDRSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBOztBQUhGLG1CQUtFO0VBQ0UsV0FBQTtFQUNBLFVBQUE7O0FBUEosbUJBS0UsS0FJRTtFQUNFLGVBQUE7RUFDQSxzQkFBQTtFQUNBLGdCQUFBOztBQUtOLElBQUksUUFDRixZQUFZO0VBQ1YsZ0JBQUE7O0FBSUo7RUFDRSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7O0FBSUY7RUFDRSxTQUFBOztBQUVGO0VDci9JRSxjQUFBO0VEdy9JQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBRUEsbUJBQUE7RUFDQSxjQUFBOztBQy81SkYsd0JBQTBDO0VBb2YzQztJRDg2SUssYUFBQTs7O0FBR0YsVUFBQztFQUVDLGtCQUFBO0VDdGdKRixjQUFBO0VBb0RGLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGdCQUFBO0VEbzlJRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxpQkFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUVBLFNBQVMsR0FBVDtFQUVBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxxREFBQTtFQUNBLGtCQUFrQiw4RUFBbEI7RUFDQSxrQkFBa0IsMkVBQWxCO0VBQ0Esa0JBQWtCLHlFQUFsQjtFQUNBLGtCQUFrQiwwRUFBbEI7O0FDNzdKSix3QkFBMEM7RUFvZjNDLFVEaTdJSTtJQTJCRyxnQkFBQTtJQUNBLFdBQUE7SUFDQSxrQkFBQTtJQUNBLGdCQUFBOzs7QUM5N0pKLHdCQUEwQztFQStlN0MsVURpN0lJO0lBa0NHLGFBQUE7SUFDQSxZQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7SUFDQSxpQkFBQTs7O0FBTU4sa0JBQW1CO0VBQ2pCLFNBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7O0FBRUYsWUFDRTtFQUVFLGVBQUE7O0FBSEosWUFLRSxZQUFZLElBQUc7RUFDYixhQUFBOztBQU5KLFlBUUU7QUFSRixZQXExQkYsQ0E3MEJPO0VBQ0QsZUFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUM5Z0pKLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGlCQUFBOztBRDhnSkUsWUFSRixHQVFHO0FBQUQsWUFxMEJOLENBNzBCTyxFQVFBO0VBQ0MsYUFBQTs7QUFqQk4sWUFvQkU7RUFDRSxlQUFBOztBQUdKO0VBQ0UsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7O0FBQ0EsU0FBQztFQUNDLGtCQUFBOztBQUlKO0VBRUUsbUJBQUE7O0VBQ0EsWUFBWSxtREFBWjs7RUFDQSxZQUFZLHNEQUFaOztFQUNBLFlBQVksb0RBQVo7O0VBQ0EsUUFBUSx5REFBMEQsdUJBQXVCLDBCQUF6Rjs7RUFDQSx5QkFBQTtFQUNBLDBEQUFBO0VBQ0EsdURBQUE7RUFDQSxrREFBQTtFQUVBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUNsakpGLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGlCQUFBOztBRGtqSkY7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBOztBQUlGLENBQUM7RUNsb0pELFNBQUE7O0FEc29KQSxFQUFFO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUNua0pGLGFBQWEscUJBQXFCLCtCQUFsQztFQUdFLGlCQUFBO0VEa2tKQSxnQkFBQTtFQUNBLGNBQUE7O0FBTEYsRUFBRSxRQU1BO0VBQ0Usc0JBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBOztBQWZKLEVBQUUsUUFpQkEsR0FBRTtFQUNBLG1CQUFBOztBQUtKO0VBQ0UsZ0JBQUE7O0FDbmpLQSxtQkFBdUM7RUF5ZjFDO0lEOGpKSyxhQUFBO0lBQ0EsNkJBQUE7SUFDQSxxQ0FBQTs7O0FBS0YsaUJBQWtCO0FBQUUsV0FBWTtBQUFHLFdBQVk7RUFDN0MsYUFBQTs7QUFLSjtFQUNFLGNBQUE7RUFDQSxZQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7O0FBRUEsQ0FBRSxTQUFHO0VBQ0gsY0FBQTs7QUFSSixNQVlFO0FBWkYsTUE0dUJGLENBaHVCYTtFQUNQLFdBQUE7RUFDQSxXQUFBOztBQWRKLE1BZ0JFO0VBQ0Usa0JBQUE7O0FBakJKLE1BZ0JFLFNBSUU7RUFDRSxpQkFBQTs7QUFyQk4sTUF5QkU7RUFDRSx5QkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7RUMxckpGLGNBQUE7RUFqQkYsU0FBQTtFQUdFLFVBQUE7O0FENHFKRixNQXlCRSxNQU9FO0VBQ0UseUJBQUE7RUFDQSxnQkFBQTtFQUNBLDZCQUFBOztBQVVOLFFBQVE7RUFDTixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7O0FDcm5LQSxtQkFBdUM7RUF5ZjFDLElEb29KSyxpQkFBaUIsZ0JBQWlCLHdCQUF1QixrQkFBbUIsWUFDNUU7RUNyb0pMLElEb29KbUcsV0FBWSx3QkFBdUIsa0JBQW1CLFlBQ3BKO0lBQ1UsY0FBQTs7O0FBRVosSUFKRSxpQkFBaUIsZ0JBQWlCLHdCQUF1QixrQkFBbUIsWUFJNUU7QUFBRixJQUpnRyxXQUFZLHdCQUF1QixrQkFBbUIsWUFJcEo7RUFHQSxTQUFBO0VBQ0EsZUFBQTs7QUMzbktGLHdCQUEwQztFQStlN0MsSURvb0pLLGlCQUFpQixnQkFBaUIsd0JBQXVCLGtCQUFtQixZQUk1RTtFQ3hvSkwsSURvb0ptRyxXQUFZLHdCQUF1QixrQkFBbUIsWUFJcEo7SUFNVSxVQUFBOzs7QUN0Z0tkLG1CQUF1QztFQXdYeEMsT0RtcEpRLFdBQVksd0JBQXdCLFlBQ3ZDO0lBQ2lCLFNBQUE7OztBQzlvS25CLG1CQUF1QztFQXlmMUMsT0R3cEpNLFdBQVksd0JBQXVCLGtCQUFtQixZQUN6RDtJQUNVLFNBQUE7OztBQ25wS1YsbUJBQXVDO0VBeWYxQyxPRHdwSk0sV0FBWSx3QkFBdUIsa0JBQW1CLFlBQ3pEO0lBRVUsU0FBQTs7O0FDMW9LVix3QkFBMEM7RUErZTdDLElEZ3FKSyxpQkFBaUIsZ0JBQWlCLFlBQ2xDO0VDanFKTCxJRGdxSnlELFdBQVksWUFDaEU7SUFDVSxVQUFBOzs7QUFNZCxXQUFZLGFBQWE7QUFBRSxXQUFZLGNBQWM7RUFDbkQsY0FBQTs7QUNscUtBLG1CQUF1QztFQXlmMUMsV0R3cUphLGFBQWE7RUN4cUoxQixXRHdxSndDLGNBQWM7SUFFekMsY0FBQTs7O0FBRVgsT0FBUSx3QkFBd0IsWUFBWSxjQUFjO0VBQ3pELGNBQUE7O0FBRUQsT0FBUSx3QkFBd0IsWUFBWSxjQUFjO0VBQ3pELGNBQUE7O0FDL3BLQSx3QkFBMEM7RUErZTdDLElEcXJKSyxpQkFBa0Isd0JBQXVCLG1CQUFvQjtJQUNyRCxpQkFBQTs7O0FBS1osWUFBYSx5QkFBeUI7RUFDcEMsNkJBQUE7O0FBS0YsdUJBQ0UsWUFBWTtBQURXLFdBQ3ZCLFlBQVk7RUFDVixlQUFlLGdCQUFmOztBQUVGLHVCQUFDLGtCQUNDLFlBQVk7QUFEZCxXQUFDLGtCQUNDLFlBQVk7RUFDVixlQUFlLGdCQUFmOztBQU9SLFdBQVksd0JBQXdCLFlBQVk7RUFDOUMsY0FBQTs7QUFFRixXQUFZLG1CQUFrQix1QkFBd0IsWUFBWTtBQUFhLElBQUksV0FBWSx3QkFBd0IsWUFBWTtFQUNqSSxjQUFBOztBQUVGLElBQUksV0FBWSx3QkFBdUIsa0JBQW1CLFlBQVk7RUFHcEUsU0FBQTs7QUNodEtFLG1CQUF1QztFQXlmMUMsSURvdEpHLFdBQVksd0JBQXVCLGtCQUFtQixZQUFZO0lBS2xFLFNBQUE7OztBQUdKLElBQUksV0FBWSx3QkFBdUIsa0JBQW1CLFlBQVk7RUFDcEUsU0FBQTs7QUN0dEtFLG1CQUF1QztFQXlmMUMsSUQ0dEpHLFdBQVksd0JBQXVCLGtCQUFtQixZQUFZO0lBSWxFLFNBQUE7SUFDQSxTQUFBOzs7QUN6bEtGLG1CQUF1QztFQXdYeEMsSURvdUpHLE9BQU8sV0FBWSx3QkFBdUIsa0JBQW1CLFlBQVk7SUFDMUQsU0FBQTs7O0FDN2xLakIsbUJBQXVDO0VBd1h4QyxJRHV1SkcsT0FBTyxXQUFZLHdCQUF1QixrQkFBbUIsWUFBWTtJQUMxRCxTQUFBOzs7QUNqdUtmLG1CQUF1QztFQXlmMUMsSUR1dUpHLE9BQU8sV0FBWSx3QkFBdUIsa0JBQW1CLFlBQVk7SUFFakUsV0FBQTtJQUFZLFNBQUE7OztBQWdCeEIsUUFBUSxXQUFZLHdCQUF3QjtFQUMxQyxpQkFBQTs7QUFHRixRQUFRLFdBQVksd0JBQXVCLGtCQUFtQjtFQUM1RCxpQkFBQTs7QUFLRixZQUFhLHlCQUF5QjtFQUNwQyw2QkFBQTs7QUFPRjtFQUNFO0lBQ0UsU0FBQTtJQUNBLFVBQUE7SUFDQSxrQkFBQTs7RUFFRjtJQUNFLFlBQUE7SUFDQSxtQkFBQTs7O0FBS0osYUFBYztFQUdaLFVBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBRUEsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLHdCQUFBO0VBR0EsZUFBQTtFQ3QwSkEsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7RUR1MEpGLDhCQUFBOztBQ2h3S0Esd0JBQTBDO0VEb3dLNUMsSUFBSSxJQUFJLFNBRU4sU0FBUSxhQUFhLE1BQ25CLGNBQWM7SUFDWixnQkFBQTs7RUFKTixJQUFJLElBQUksU0FFTixTQUFRLGFBQWEsTUFJbkI7SUFDRSxlQUFBO0lBQ0Esd0JBQUE7SUFDQSx5QkFBQTtJQUVBLGdCQUFnQixRQUFRLGNBQXhCO0lBQ0EsVUFBQTtJQUNBLGVBQUE7SUFDQSxpQkFBQTtJQUNBLGtCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxXQUFBOztFQUdBLElBcEJGLElBQUksU0FFTixTQUFRLGFBQWEsTUFJbkIsaUJBY0c7SUFDQyxTQUFTLFNBQVQ7SUFDQSxjQUFBO0lBQ0EseUJBQUE7SUFDQSxlQUFBOzs7QUNoMEtKLG1CQUF1QztFRHkwS3pDLGFBQ0U7SUFFRSxVQUFBO0lBQ0EsUUFBQTtJQUNBLFdBQUE7SUFDQSxlQUFBO0lBQ0EsOEJBQUE7SUM5bEtGLGdDQUFBO0lBQ0csNkJBQUE7SUFDSyx3QkFBQTs7SUFHUixvQ0FBQTtJQUNHLDZCQUFBO0lBQ0ssNEJBQUE7O0VEeWxLTixhQVJGLGlCQVFHO0lDcDdKSCxhQUFBOzs7QUF6WkYsd0JBQTBDO0VEczFLMUMsYUFDRSxVQUFTO0lDdDdKVCxjQUFBO0lEdzdKRSxrQkFBQTtJQUNBLE1BQUE7SUM3bUtGLGdDQUFBO0lBQ0csNkJBQUE7SUFDSyx3QkFBQTs7SUFHUixvQ0FBQTtJQUNHLDZCQUFBO0lBQ0ssNEJBQUE7SUR3bUtOLE9BQUE7SUFDQSx5QkFBQTtJQUNBLG1CQUFBO0lBQ0EsY0FBQTtJQzE0SkosYUFBYSxxQkFBcUIsK0JBQWxDO0lBR0UsaUJBQUE7SUQwNEpFLGdCQUFBOztFQVpKLGFBZ0JFO0lBR0UsVUFBQTtJQUNBLFFBQUE7SUFDQSxXQUFBO0lBQ0EsZUFBQTtJQU1BLGlCQUFBO0lBQ0EsV0FBQTtJQUNBLDZCQUFBO0lBQ0EsbUJBQUE7SUN4b0tGLDBCQUFBO0lBQ0csdUJBQUE7SUFDSyxrQkFBQTs7SUFHUixvQ0FBQTtJQUNHLDZCQUFBO0lBQ0ssNEJBQUE7O0VEMG5LTixhQVJGLGlCQVFHO0lDcjlKSCxhQUFBOztFRDY3SkYsYUFnQkUsaUJBa0JFO0VBbENKLGFBZ0JFLGlCQWtCb0I7SUMvOUpwQixhQUFBOztFRGsrSkUsYUFyQkYsaUJBcUJHO0lBQ0MsU0FBUyxJQUFUO0lBQ0EsZ0JBQUE7SUFDQSxlQUFBOzs7QUFVUixnQkFBaUI7RUFDZixpQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtFQUNBLDZDQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBOztBQUVGLGFBQWM7QUFBVyxhQUFjLFVBQVM7RUFDOUMsY0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUdBLFdBQUE7RUN6L0pFLGNBQUE7RUQyL0pGLGtCQUFBO0VBQ0EsTUFBQTtFQ2hyS0UsZ0NBQUE7RUFDRyw2QkFBQTtFQUNLLHdCQUFBOztFQUdSLG9DQUFBO0VBQ0csNkJBQUE7RUFDSyw0QkFBQTtFRDJxS1YsT0FBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0VDNzhKQSxhQUFhLHFCQUFxQiwrQkFBbEM7RUFHRSxpQkFBQTtFRDY4SkYsZ0JBQUE7O0FBR0YsSUFBSSxTQUFTLFdBQVksWUFBVyxVQUFXO0FBQVksV0FBWSx3QkFBd0I7RUFDOUYsbUJBQUE7O0FBS0QsTUFBTSxLQUFLLG1CQUVUO0VBQ0UsZ0JBQUE7O0FBSEosTUFBTSxLQUFLLG1CQUVULGNBR0U7RUFDRSxTQUFBOztBQU5OLE1BQU0sS0FBSyxtQkFFVCxjQU1FO0VqQnY2SkYseUJBQUE7RWlCMDZKSSxrQkFBQTtFQUNBLHNCQUFBOztBQVpOLE1BQU0sS0FBSyxtQkFFVCxjQU1FLGVBTUU7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7O0FBckJSLE1BQU0sS0FBSyxtQkFFVCxjQU1FLGVBZ0JFO0VBQ0UsV0FBQTtFQUNBLFdBQUE7RUFDQSw2QkFBQTtFQUNBLGdDQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7O0FBaENSLE1BQU0sS0FBSyxtQkFFVCxjQU1FLGVBMkJFO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7O0FBeENSLE1BQU0sS0FBSyxtQkFFVCxjQU1FLGVBMkJFLFFBT0U7QUExQ1IsTUFBTSxLQUFLLG1CQUVULGNBTUUsZUEyQkUsUUFPUTtFQUNKLFVBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7O0FBaERWLE1BQU0sS0FBSyxtQkFFVCxjQU1FLGVBMkJFLFFBT0UsS0FRRTtBQWxEVixNQUFNLEtBQUssbUJBRVQsY0FNRSxlQTJCRSxRQU9RLFNBUUo7RUFDRSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBOztBQUVBLE1BdkROLEtBQUssbUJBRVQsY0FNRSxlQTJCRSxRQU9FLEtBUUUsRUFLRztBQUFELE1BdkROLEtBQUssbUJBRVQsY0FNRSxlQTJCRSxRQU9RLFNBUUosRUFLRztFQ2hoS1gsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7RUF2REEsY0FBQTtFRHdrS1UsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBOztBQWpFZCxNQUFNLEtBQUssbUJBRVQsY0FNRSxlQTJCRSxRQU9FLEtBMkJFO0FBckVWLE1BQU0sS0FBSyxtQkFFVCxjQU1FLGVBMkJFLFFBT1EsU0EyQko7RUFDRSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTs7QUF4RVosTUFBTSxLQUFLLG1CQUVULGNBTUUsZUEyQkUsUUF5Q0UsU0FBUyxFQUFDO0VqQnIvS2hCLFdBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0VrQjhjQSxhQUFhLHFCQUFxQiwrQkFBbEM7RUFHRSxpQkFBQTs7QWxCOWNGLE1pQm82S0ksS0FBSyxtQkFFVCxjQU1FLGVBMkJFLFFBeUNFLFNBQVMsRUFBQyxPakJoL0tmO0VBQ0MsbUJBQUE7O0FBR0YsTWlCZzZLSSxLQUFLLG1CQUVULGNBTUUsZUEyQkUsUUF5Q0UsU0FBUyxFQUFDLE9qQjUrS2Y7RUFFQyx5QkFBQTs7QWlCODVLSixNQUFNLEtBQUssbUJBRVQsY0FNRSxlQTJCRSxRQTRDRSxLQUFLLEVBQUM7RWpCN2dMWix5Q0FBQTtFQUVBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFa0JpZUEsYUFBYSxxQkFBcUIsK0JBQWxDO0VBR0UsaUJBQUE7O0FsQmplRixNaUJ1N0tJLEtBQUssbUJBRVQsY0FNRSxlQTJCRSxRQTRDRSxLQUFLLEVBQUMsT2pCdGdMWDtFQUFVLG1CQUFBOztBQUNYLE1pQnM3S0ksS0FBSyxtQkFFVCxjQU1FLGVBMkJFLFFBNENFLEtBQUssRUFBQyxPakJyZ0xYO0VBQVcseUJBQUE7O0FrQjZlWixNRHk4SkksS0FBSyxtQkFFVCxjQU1FLGVBMkJFLFFBNENFLEtBQUssRUFBQyxPQ3hoS1g7RUFDQyxxQkFBQTs7QUFFRixNRHM4SkksS0FBSyxtQkFFVCxjQU1FLGVBMkJFLFFBNENFLEtBQUssRUFBQyxPQ3JoS1g7RUFFQyw4QkFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBOztBQUVBLE1EKzdKRSxLQUFLLG1CQUVULGNBTUUsZUEyQkUsUUE0Q0UsS0FBSyxFQUFDLE9DcmhLWCxTQU9FO0VBQ0MsMEJBQUE7RUFDQSx3Q0FBQTs7QURtaEtOO0VBQ0MsV0FBQTs7QUFFRDtFakJ4c0tFLFdBQUE7RUFDQSxtQkFBQTtFQUNBLHlDQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFhLCtCQUFiO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VrQjRGRSxxQkFBQTtFRHltS0YsWUFBQTs7QWpCbHNLQSxZQUFDO0VBQ0MsbUJBQUE7O0FpQnVzS0osV0FBWSx3QkFBd0I7RUN2bktoQyxhQUFBOzs7QUQwbktKLENBQUM7QUFBd0I7RUFBaUIsZ0JBQUE7O0FBQzFDLENBQUM7QUFBd0I7RUFBaUIsZ0JBQUE7O0FBQzFDLENBQUM7QUFBd0IsdUJBQXdCLFlBQVk7RUFBZ0IsU0FBQTs7QUFLM0UsV0FBWSxrQkFBa0I7QUFBRyxXQUFZO0VDam9LM0MsYUFBQTs7QURrb0tGLFdBQVcsa0JBQW1CO0VBQzVCLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHlFQUFBOztBQUlKLGtCQUVFLFFBQU87RUFBVSxRQUFBOztBQUZuQixrQkFHRSxRQUFPO0VBQVUsVUFBQTs7QUFFakIsV0FBVyxrQkFFVCxRQUFPO0FBRkksdUJBQXVCLGtCQUVsQyxRQUFPO0VBQVMsU0FBQTs7QUFGbEIsV0FBVyxrQkFHVCxRQUFPO0FBSEksdUJBQXVCLGtCQUdsQyxRQUFPO0VBQVMsUUFBQTs7QUFHaEIsSUFBSSxRQUFTLFlBTkosa0JBT1AsUUFBTztBQURULElBQUksUUFBUyx3QkFOcUIsa0JBT2hDLFFBQU87RUFBUyxTQUFBOztBQURsQixJQUFJLFFBQVMsWUFOSixrQkFRUCxRQUFPO0FBRlQsSUFBSSxRQUFTLHdCQU5xQixrQkFRaEMsUUFBTztFQUFTLFVBQUE7O0FBTXRCO0VBT0UsVUFBQTs7QUFMQTtBQUFFLGtCQUFtQjtFakJ4Z0tyQixnQkFBQTtFa0JyVUUsMEJBQUE7RUFDRyx1QkFBQTtFQUNLLGtCQUFBOztFQUdSLG9DQUFBO0VBQ0csNkJBQUE7RUFDSyw0QkFBQTtFbEJnVVYsNENBQUE7RUFDQSxjQUFBOztBaUI0Z0tBLGtCQUFtQjtFQUNqQixZQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLGlCQUFBOztBQUtGLEtBQU07RUFDSixrQkFBQTtFQUNBLHlCQUFBOztBQUdGLHVCQUF3QixZQUFZLHdCQUF3QjtBQUFHLFdBQVksWUFBWSx3QkFBd0I7RUFDN0csa0JBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxRQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFFQSxnQkFBQTs7QUFHRix1QkFBdUIsa0JBQW1CLFlBQVk7QUFBRyxXQUFXLGtCQUFtQixZQUFZO0VBQ2pHLFFBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTs7QUFNRix1QkFBd0I7QUFBRyxXQUFZO0VqQnQzS2YsbUJBQUE7RWtCb0V0QiwyQkFBQTtFQUNBLHlCQUFBO0VBQ0UsdUJBQUE7RUFDQyxzQkFBQTtFQUNDLHFCQUFBO0VBQ0ksaUJBQUE7RWQxWVYsbUJBQUE7RUFDQSxlQUFBO0VhMnJMRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7O0FBQ0EsZUFBZ0Isd0JBVE07QUFTdEIsZUFBZ0IsWUFUcUI7RWpCOTJLaEIsbUJBQUE7O0FpQnkzS3JCLElBQUksUUFBUyx3QkFYUztBQVd0QixJQUFJLFFBQVMsWUFYd0I7RUFZbkMsaUJBQUE7RUFDQSxnQkFBQTs7QUNsbkxGLHdCQUEwQztFQStlN0MsSURpb0tPLFFBQVMsd0JBWFM7RUN0bkt6QixJRGlvS08sUUFBUyxZQVh3QjtJQWdCakMsV0FBQTs7O0FBSUosa0JBQWtCLHVCQXBCSTtBQW9CdEIsa0JBQWtCLFdBcEJtQjtFQXFCbkMsZ0JBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLFFBQUE7RUFDQSxZQUFBOztBQzNvTEYsbUJBQXVDO0VBeWYxQyxrQkQwb0txQix1QkFwQkk7RUN0bkt6QixrQkQwb0txQixXQXBCbUI7SUE4QnpCLFVBQUE7OztBQ3hvTGQsd0JBQTBDO0VBb2YzQyxrQkQwb0txQix1QkFwQkk7RUN0bkt6QixrQkQwb0txQixXQXBCbUI7SUErQjFCLFdBQUE7OztBQy9uTFgsd0JBQTBDO0VBMGU3QyxrQkQwb0txQix1QkFwQkk7RUN0bkt6QixrQkQwb0txQixXQXBCbUI7SUFnQzFCLGlCQUFBOzs7QUFNYix1QkFBd0I7QUFBRyxXQUFZO0VBQ3JDLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQVcsZ0JBQVg7RUFDQSxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjs7QUN2cExGLHdCQUEwQztFQW9mM0MsdUJENHBLeUI7RUM1cEt6QixXRDRwS3dDO0lBUzVCLFdBQVcsZ0JBQVg7SUFBNkIsbUJBQW1CLGdCQUFuQjtJQUFxQyxlQUFlLGdCQUFmOzs7QUMvb0wzRSx3QkFBMEM7RUEwZTdDLHVCRDRwS3lCO0VDNXBLekIsV0Q0cEt3QztJQVU1QixVQUFBOzs7QUFFVCx1QkFac0IsYUFZckI7QUFBRCxXQVpxQyxhQVlwQztFQUNDLHFCQUFBOztBQUdGLGtCQUFrQix1QkFoQkk7QUFnQnRCLGtCQUFrQixXQWhCbUI7RUFpQm5DLFVBQUE7RUFDQSxlQUFBOztBQUNBLGtCQUhnQix1QkFoQkksYUFtQm5CO0FBQUQsa0JBSGdCLFdBaEJtQixhQW1CbEM7RUFBVSxxQkFBQTs7QUFVVCxlQUFnQix3QkFETSxHQUZ6QixFQUFDLFlBQ0Q7QUFFRyxlQUFnQix3QkFETSxHQUZ6QixFQUFDO0FBR0UsZUFBZ0IsWUFEcUIsR0FGeEMsRUFBQyxZQUNEO0FBRUcsZUFBZ0IsWUFEcUIsR0FGeEMsRUFBQztFQUdzQixnQkFBQTs7QUFLMUIsdUJBQXVCLGtCQUFtQixZQUFZO0FBQUcsV0FBVyxrQkFBbUIsWUFBWTtFQUNqRyxVQUFBOztBQ25yTEYsd0JBQTBDO0VBb2YzQyx1QkQ4ckt3QixrQkFBbUIsWUFBWTtFQzlyS3ZELFdEOHJLcUUsa0JBQW1CLFlBQVk7SUFHeEYsVUFBQTtJQUFZLFdBQVcsZ0JBQVg7SUFBNkIsbUJBQW1CLGdCQUFuQjtJQUFxQyxlQUFlLGdCQUFmOzs7QUMzcUx2Rix3QkFBMEM7RUEwZTdDLHVCRDhyS3dCLGtCQUFtQixZQUFZO0VDOXJLdkQsV0Q4cktxRSxrQkFBbUIsWUFBWTtJQUl4RixVQUFBO0lBQVksV0FBVyxnQkFBWDtJQUE2QixtQkFBbUIsZ0JBQW5CO0lBQXFDLGVBQWUsZ0JBQWY7OztBQUV2Rix1QkFOcUIsa0JBQW1CLFlBQVksYUFNbkQ7QUFBRCxXQU5rRSxrQkFBbUIsWUFBWSxhQU1oRztFQUFTLHFCQUFBOztBQUlaLHVCQUF3QixZQUFZO0VBQUksV0FBQTs7QUFNeEMsdUJBQXdCO0FBQUcsV0FBWTtFQUNyQyxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7O0FDN3NMQSxtQkFBdUM7RUF5ZjFDLHVCRDhzS3lCO0VDOXNLekIsV0Q4c0t3QztJQVEzQixTQUFBOzs7QUNoc0xWLHdCQUEwQztFQTBlN0MsdUJEOHNLeUI7RUM5c0t6QixXRDhzS3dDO0lBUzVCLFFBQUE7OztBQUVULHVCQVhzQixjQVdyQjtBQUFELFdBWHFDLGNBV3BDO0VBQVUscUJBQUE7O0FBSWIsdUJBQXVCLGtCQUFtQixZQUFZO0FBQUcsV0FBVyxrQkFBbUIsWUFBWTtFQUNqRyxpQkFBQTtFQUNBLFdBQUE7RUFDQSxRQUFBOztBQ3B0TEYsd0JBQTBDO0VBb2YzQyx1QkQ2dEt3QixrQkFBbUIsWUFBWTtFQzd0S3ZELFdENnRLcUUsa0JBQW1CLFlBQVk7SUFJeEYsUUFBQTs7O0FDM3NMVCx3QkFBMEM7RUEwZTdDLHVCRDZ0S3dCLGtCQUFtQixZQUFZO0VDN3RLdkQsV0Q2dEtxRSxrQkFBbUIsWUFBWTtJQUt4RixRQUFBOzs7QUFHVCxJQUFJLFFBQVMsd0JBUlEsa0JBQW1CLFlBQVk7QUFRcEQsSUFBSSxRQUFTLFlBUnFELGtCQUFtQixZQUFZO0VBUWhGLFNBQUE7O0FBR2pCLG9CQUFxQix3QkFYQSxrQkFBbUIsWUFBWTtBQVdwRCxvQkFBcUIsWUFYNkMsa0JBQW1CLFlBQVk7QUFXekUsSUFBSSxRQUFTLHFCQUFxQix3QkFYckMsa0JBQW1CLFlBQVk7QUFXNUIsSUFBSSxRQUFTLHFCQUFxQixZQVhRLGtCQUFtQixZQUFZO0VBWS9GLFFBQUE7O0FBTUosdUJBQXdCLFlBQVk7QUFBRyxXQUFZLFlBQVk7RUNsMEs3RCxjQUFBO0VEbzBLQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTs7QUFLRix1QkFBd0IsWUFBYTtBQUFHLFdBQWEsWUFBWTtFQUUvRCxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7O0FBRUEsSUFBSSxRQUFTLHdCQU5TLFlBQWE7QUFNbkMsSUFBSSxRQUFTLFlBTnNDLFlBQVk7RUFPN0QsWUFBQTtFQUNBLGtCQUFBOztBQUlKLHVCQUF1QixrQkFBbUIsWUFBWTtBQUFHLFdBQVcsa0JBQW1CLFlBQVk7RUFDakcsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTs7QUM3dkxGLHdCQUEwQztFQW9mM0MsdUJEcXdLd0Isa0JBQW1CLFlBQVk7RUNyd0t2RCxXRHF3S3FFLGtCQUFtQixZQUFZO0lBTXhGLFlBQUE7OztBQ3J2TFQsd0JBQTBDO0VBMGU3Qyx1QkRxd0t3QixrQkFBbUIsWUFBWTtFQ3J3S3ZELFdEcXdLcUUsa0JBQW1CLFlBQVk7SUFPeEYsWUFBQTs7O0FBTVgsdUJBQXdCLFlBQVk7QUFBRyxXQUFZLFlBQVk7RUFDN0QsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxRQUFBO0VBQ0EsZUFBQTs7QUFHQSx1QkFEc0IsY0FBYyxZQUNuQztBQUFELFdBRG1ELGNBQWMsWUFDaEU7RUFDQyxxQkFBQTs7QUFHSixLQUFNLFlBQVk7RUFDaEIsa0JBQUE7O0FDendMQSx3QkFBMEM7RUEwZTdDLHVCRGt5S3dCLGtCQUFtQjtFQ2x5SzNDLFdEa3lLeUQsa0JBQW1CO0lBQ2hFLGlCQUFBOzs7QUFLYixZQUFhLHVCQUFzQixZQUFhO0VBQWtCLG9CQUFBOztBQUdsRSxjQUFlLG1CQUFtQjtFQ3Q0SzlCLGFBQUE7O0FEeTRLSixXQUFXLG1CQUNUO0VDbDRLRSxjQUFBOztBRGk0S0osV0FBVyxtQkFDVCxlQUVFLElBQUcsSUFBSTtFQzU0S1AsYUFBQTs7QVNuZkosSUFBSSxXQUVBLHdCQUF3QjtFQUNwQixhQUFBOztBQUhSLElBQUksV0FLQTtFQUNJLGFBQUE7O0FBTlIsSUFBSSxXQVFBLDJCQUEyQjtFQUN2QixhQUFBOztBQUlSLElBQUksZUFDQTtFQUNJLGFBQUE7O0FBS1IsY0FDSyxlQUFjO0FBRG5CLGNBa05BLENBak5tQztBQURuQyxjQWtOQSxDQWpOMEQ7QUFEMUQsY0FrTkEsQ0FqTndFO0VBQ2hFLGtCQUFBOztBQUlKLGNBQWMscUJBR1Y7QUFISixjQUFjLHFCQUdZO0FBSDFCLGNBQWMscUJBNE1sQixDQXpNcUQ7QUFIakQsY0FBYyxxQkE0TWxCLENBek1zRTtBQUhsRSxjQUFjLHFCQTRNbEIsQ0F6TXNGO0FBSGxGLGNBQWMscUJBNE1sQixDQXpNZ0csT0FBTztFQUMzRixrQkFBQTs7QUFPUixjQUFlO0VBQ1gsV0FBQTtFQUNBLG1CQUFBO0VBR0EsV0FBQTs7QVQyQ0osbUJBQXVDO0VBeWYxQyxjU3ppQmtCO0lBT1Asa0JBQUE7SUFDQSxZQUFBOzs7QUFHUixpQkFBa0IsZUFBZSxxQkFBRTtFQUUvQixZQUFBO0VBQ0Esb0JBQUE7O0FUa0NKLG1CQUF1QztFQXlmMUMsaUJTOWhCcUIsZUFBZSxxQkFBRSxjQUM5QixVQUFVO0lBQWlCLHdCQUFBOzs7QVRvQ2hDLG1CQUF1QztFQXlmMUMsaUJTOWhCcUIsZUFBZSxxQkFBRTtJQU8zQixVQUFBO0lBQ0Esb0JBQUE7OztBVDZLVix3QkFBMEM7RUF5VzNDLGlCUzloQnFCLGVBQWUscUJBQUU7SUFVRCxVQUFBOzs7QUFNbEM7QUFGSixrQkFFTztFQUFNLGtCQUFBOztBQUZiLGtCQUlJO0VBQ0ksa0JBQUE7RUFDQSxRQUFBO0VBQ0EsTUFBQTs7QUFJUixnQkFDSTtBQURjLFlBQ2Q7RVR5YUEsYUFBQTs7QVN0YUosSUFBSSxpQkFFQTtFVDJaRixTQUFBO0VBR0UsVUFBQTs7QVNoYUosSUFBSSxpQkFJQTtFVDBhQSxjQUFBOztBUzlhSixJQUFJLGlCQUlBLG1CQUdJO0VBQ0ksYUFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTs7QUFPWjtFQUFtQixZQUFBOzs7Ozs7O0FBU25CO0VBQ0kscUJBQUE7RUFDQSxxQkFBQTs7Ozs7O0FBT0o7QUFBVztFQUVQLHFCQUFBO0VBQ0Esb0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTs7QUFMSixVQU9JO0FBUE8sZ0JBT1A7QUFQSixVQXNIQSxDQS9HTztBQVBJLGdCQXNIWCxDQS9HTztFQUNDLGVBQUE7RVRrWE4sU0FBQTs7Ozs7O0FTeldGO0VUeVdFLFNBQUE7RVNwV0UsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7O0FBRUE7QUFUSix3QkFTTztFQUVDLHFCQUFBO0VBQ0Esc0JBQUE7O0FBR0osd0JBQUU7RUFDRSxnQkFBQTs7QUFoQlIsd0JBbUJJO0VBZ0ZRLFdBQUE7O0FBM0VaLGVBQWdCO0VBQ1osY0FBQTs7QUFFSixlQUFnQjtFQUNaLFVBQUE7Ozs7OztBQU9KO0VBQ0ksY0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTs7Ozs7QUFPSixxQkFDSTtFQUNJLFVBQUE7RUFDQSxnQkFBQTs7QVQxRE4sd0JBQTBDO0VBcWQzQyxxQlM3Wkc7SUFHdUIsbUJBQUE7OztBVGhGdkIsd0JBQTBDO0VBMGU3QyxxQlM3Wkc7SUFJYSxjQUFBOzs7QVRyQmYsd0JBQWdELDZCQUF1QjtFQThheEUscUJTN1pHO0lBS3VCLGdCQUFBOzs7QVRnQ3pCLG1CQUF1QztFQXdYeEMsT1NyWmUsc0JBUlo7SUFVWSxnQkFBQTs7O0FBWGhCLHFCQUNJLGtCQWNJO0VBQ0ksc0JBQUE7O0FUaENWLHdCQUFnRCw2QkFBdUI7RUE4YXhFLHFCUzdaRyxrQkFjSTtJQUV1QixvQkFBQTs7O0FBakIvQixxQkFDSSxrQkFtQkksR0FBRztFQUFNLGVBQUE7O0FBcEJqQixxQkFzQkk7RUFDSSxjQUFBOztBQUVKLHFCQUFDO0VBQ0csc0JBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7RTNCTHFCLHlCQUFBOztBa0I5RTNCLHdCQUEwQztFQXFkM0MscUJTcllJO0lBSXNCLFVBQUE7OztBQTdCM0IscUJBaUNJLGlCQUFpQjtFQUNiLHFCQUFBOztBQWxDUixxQkFxQ0k7RUFDSSxzQkFBQTtFQUNBLFVBQUE7RUFDQSxvQkFBQTtFQUNBLHNCQUFBOztBQXpDUixxQkFxQ0ksZ0JBTUk7RUFFSSxlQUFBOztBQU1aO0VBQWEsY0FBQTs7QUFDYjtFQUFZLFdBQUE7O0FBQ1o7RUFBYSxZQUFBOztBQ3JPYixZQUNFLGVBQWU7RUFDYixjQUFBOztBQUdKLGNBQWUsc0JBQXNCO0VBQ25DLFdBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTs7QUFMRixjQUFlLHNCQUFzQixTQU9uQztFQUNFLGlCQUFBOztBQUlKLGNBQWMsZUFBZSxjQUFjO0VBQ3pDLFdBQUE7O0FBRUYsWUFBYSxLQUFJLDBCQUEyQjtFQUMxQyxXQUFBOztBQUVGLDBCQUEyQixlQUFjLFFBQVM7RUFDaEQsb0JBQUE7RUFDQSxlQUFBOztBQUdGLGVBQWdCLGNBQWMsZUFBYyxRQUFTO0U1QmdqQm5ELHlDQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7O0FBRUEsZTRCcmpCYyxjQUFjLGVBQWMsUUFBUyxlNUJxakJsRDtFQUNDLG1CQUFBOzs7OztBNkI1a0JGLHFCQUFzQjtFQUNwQixnQkFBZ0IscURBQWhCOztBQUVGLGFBQWM7RUFDWixrQ0FBQTs7QUFFRixhQUFjO0VBQ1osa0NBQUE7O0FBRUYsYUFBYztFQUNaLGlDQUFBOztBQUVGLG1CQUFvQjtFQUNsQixrQ0FBQTs7QUFFRixtQkFBb0I7RUFDbEIsaUNBQUE7O0FBRUYsd0JBQXlCO0VBQ3ZCLGtDQUFBOztBQUVGLHFCQUFzQjtFQUNwQixrQ0FBQTs7QUFFRixtQkFBb0I7RUFDbEIsa0NBQUE7O0FBRUYscUJBQXNCO0VBQ3BCLGtDQUFBOzs7OztBQzdCSjtFOUIySzZCLGNBQUE7Ozs7OztBOEJwSzdCO0FBQVc7RUFDVCw2REFBQTtFQUNBLHlCQUFBOztBQUdGO0VBRUUsY0FBQTtFOUIrSkEseUJBQUE7RUFDQSxjQUFBOztBOEI1SkYscUJBQ0UsaUJBQWlCO0VBQ2YsY0FBQTs7QVpnR0Ysd0JBQTBDO0VBcWQzQyxxQll0akJDLGlCQUFpQjtJQUVJLGtCQUFBOzs7QVowRW5CLHdCQUEwQztFQTBlN0MscUJZdGpCQyxpQkFBaUI7SUFHTixjQUFBOzs7QVpxSVgsd0JBQWdELDZCQUF1QjtFQThheEUscUJZdGpCQyxpQkFBaUI7SUFJSSxlQUFBOzs7QUFMdkIscUJBUUU7RUFDRSw4QkFBQTtFQUNBLGlCQUFBOztBWnlERix3QkFBMEM7RUFvZjNDLHFCWS9pQkM7SUFHVyxjQUFBOzs7QVp1Rlgsd0JBQTBDO0VBcWQzQyxxQlkvaUJDLGtCQUtFO0lBQ3FCLGlCQUFBOzs7QVpxRHZCLHdCQUEwQztFQW9mM0MscUJZL2lCQyxrQkFLRTtJQUVXLGNBQUE7OztBWjhEWCx3QkFBMEM7RUEwZTdDLHFCWS9pQkMsa0JBS0U7SUFHVyxjQUFBOzs7QVp5SGIsd0JBQWdELDZCQUF1QjtFQThheEUscUJZL2lCQyxrQkFLRTtJQUlxQixlQUFBOzs7QUFqQnpCLHFCQVFFLGtCQVlFLEdBQUc7RUFDRCxlQUFBOztBWjZFSix3QkFBMEM7RUFxZDNDLHFCWS9pQkMsa0JBWUUsR0FBRztJQUVrQixpQkFBQTs7O0FadURyQix3QkFBMEM7RUEwZTdDLHFCWS9pQkMsa0JBWUUsR0FBRztJQUdRLGdCQUFBOzs7QVprSGIsd0JBQWdELDZCQUF1QjtFQThheEUscUJZL2lCQyxrQkFZRSxHQUFHO0lBSWtCLGVBQUE7OztBQXhCekIscUJBUUUsa0JBa0JFO0VBQ0UsZ0JBQUE7O0FadUVKLHdCQUEwQztFQXFkM0MscUJZL2lCQyxrQkFrQkU7SUFFcUIsaUJBQUE7OztBWjZHdkIsd0JBQWdELDZCQUF1QjtFQThheEUscUJZL2lCQyxrQkFrQkU7SUFHb0IsaUJBQUE7OztBQTdCeEIscUJBUUUsa0JBd0JFO0VBQ0UsaUJBQUE7Ozs7Ozs7QUFVTjtFQUNFLHlCQUFBO0U5Qk9BLHlDQUFBO0VBRUEsc0JBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0VrQmllQSxhQUFhLHFCQUFxQiwrQkFBbEM7RUFHRSxpQkFBQTs7QWxCamVGLFlBQUM7RUFBVSxtQkFBQTs7QUFDWCxZQUFDO0VBQVcseUJBQUE7O0FrQjZlWixZQUFDO0VBQ0MscUJBQUE7O0FBRUYsWUFBQztFQUVDLDhCQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7O0FBRUEsWUFQRCxTQU9FO0VBQ0MsMEJBQUE7RUFDQSx3Q0FBQTs7QVlsZ0JOO0VBQWUsa0JBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAgU2l0ZSBCYWNrZ3JvdW5kXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuQHNpdGVfYmFja2dyb3VuZDogJy9hc3NldHMvYmFja2dyb3VuZHMvYmFja2dyb3VuZF9iaW5nb1YyLnBuZyc7XHJcblxyXG4vKiAgTG9nbyBmb3Igc3RhbGtlciBiYXIgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuQHNpdGVfbG9nb19zbWFsbDogJy9hc3NldHMvbG9nb3MvamFja3BvdDI0N19Mb2dvX3NtYWxsLnBuZyc7XHJcblxyXG4vKiAgTG9hZGluZyBJbWFnZSBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5Ac2l0ZV9sb2FkaW5nOiAnL2Fzc2V0cy9nZW5lcmFsL1ZOQi1sb2FkaW5nLWljb24uZ2lmJztcclxuXHJcbi8vIFZJUCBJbWFnZXNcclxuQGJlbmVmaXRfdGFibGVfc3ByaXRlOicnO1xyXG5AYmVuZWZpdF90YWJsZV9zcHJpdGVfbW9iaWxlOiAnL2Fzc2V0cy9nZW5lcmFsL3ZpcF9hY2NvcmRpb24ucG5nJztcclxuXHJcbi8vIFNpdGUgQmFja2dyb3VuZFxyXG4uVl9oZWFkZXJzX3NpdGVfYmFja2dyb3VuZCgpe1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM5NDRlYTY7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe3NpdGVfYmFja2dyb3VuZH0nKTtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblxyXG4gIC8vIFNwZWNpZmljIFNpemUgdXNlZCB0byBwb3NpdGlvbiBiYWNrZ3JvdW5kIGFzIGluIG1vY2t1cFxyXG4gIGJhY2tncm91bmQtc2l6ZTogMTU1MHB4O1xyXG59XHJcblxyXG5cclxuLyogTG9naW4gUG9wdXAgKFRvcCBSaWdodClcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbi5WX2xvZ2luLWNvbG9yKCkgeyBjb2xvcjogICNlZWU7fVxyXG5cclxuLlZfbG9naW4tZm9yZ290LWxpbmsoKSB7Y29sb3I6IHRpbnQoIzQwNjI2YiwgNTAlKTt9XHJcbi5WX2xvZ2luLWlucHV0LWJhY2tncm91bmQoKSB7IC5WX2hlYWRlcnNfZmllbGRfdXNlcl9wYXNzKCk7IH1cclxuLlZfbG9naW4tc3VwcG9ydC1saW5rLWhvdmVyKCkgeyAgY29sb3I6IEBwcmltYXJ5X2NvbG9yO31cclxuLlYtbG9naW4tYm9yZGVyLXJhZGl1cygpIHsgIC5jMy1yZHMoMXB4KTt9XHJcblxyXG4uVl9sb2dpbi10eHQtc2hhZG93LWNvbG9yKCkgeyAuYzMtdHh0LXNoZHcoIzAwMCk7IH1cclxuLlZfbG9naW4tYnV0dG9uLXN1Y2Nlc3MoKSB7XHJcbiAgLmJ1dHRvbi1ncmFkaWVudCgjODJkYjcwKTtcclxuICAuVl9sb2dpbi1jb2xvcjtcclxufVxyXG4uVl9sb2dpbi10eHQtc2hhZG93KCkge1xyXG4gIHRleHQtc2hhZG93OiAwIDAgMXB4IGZhZGUoY29udHJhc3QoI2YzZjRjMiksIDMwJSk7XHJcbn1cclxuLlZfbG9naW4tYnV0dG9uLWluZm8oKSB7XHJcbiAgLmJ1dHRvbi1ncmFkaWVudCgjYTA5Y2EyKTtcclxufVxyXG5cclxuXHJcbi5WX2xvZ2luLWlucHV0LWFjdGl2ZSgpIHtcclxuICBvdXRsaW5lOiBzb2xpZCAxcHggdGludCgjNDA2MjZiLCAxNSUpO1xyXG4gIGJvcmRlci10b3A6IGRhcmtlbigjNDA2MjZiLCA1JSkgMXB4IHNvbGlkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0YzI7XHJcbiAgY29sb3I6IGNvbnRyYXN0KCNlZWUpO1xyXG59XHJcbi5WX2xvZ2luLWlucHV0LWZvY3VzKCkge1xyXG4gIGNvbG9yOiBjb250cmFzdCgjZWVlKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGMyO1xyXG5cclxufVxyXG4uVl9sb2dpbi1pbnB1dC1mb250cygpIHtcclxuICAuZm9udC1zZXR1cCh1cHBlcmNhc2UsQHNpemluZzoxMnB4LEBmb250LWNvbG91cjogY29udHJhc3QoIzM0MzI0YikpO1xyXG59XHJcblxyXG4vKiAgSGVhZGVycyBhbmQgVmVydGljYWxzIFVuYXV0aGVudGljYXRlZFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi5WX2hlYWRlcnNfYmcoKSB7YmFja2dyb3VuZDogIzRiMGE0YTt9XHJcbi5WX2hlYWRlcnNfYm9yZGVyKCkge2JvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZmZmO31cclxuLlZfaGVhZGVyc19iZ190b3AoKSB7b3BhY2l0eTogMDsgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO31cclxuXHJcbi5WX2hlYWRlcnNfYnRfam9pbl9ub3coQHdlaWdodDogYm9sZCkge1xyXG4gIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLDAsMCwuNCk7XHJcblxyXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogI2FiZDUxNjtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG4gIC5wcm94aW1hLWZvbnQoQHdlaWdodCk7XHJcblxyXG4gICY6aG92ZXIgeyAgYmFja2dyb3VuZDogI2MxZjAxODsgIH1cclxuICAmOmFjdGl2ZSB7ICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oI2FiZDUxNiwxMCUpOyAgfVxyXG5cclxuICAuYnV0dG9uLXN0YXRlcygpO1xyXG5cclxufVxyXG4uVl9oZWFkZXJzX2J0X2pvaW5fbm93X2dyYWRpZW50KCkge1xyXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2Q0ZjQ4NyAwJSwgI2E2ZTYwOSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNkNGY0ODcgMCUsI2E2ZTYwOSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZDRmNDg3IDAlLCNhNmU2MDkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZDRmNDg3JywgZW5kQ29sb3JzdHI9JyNhNmU2MDknLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXHJcbn1cclxuXHJcbi5WX2hlYWRlcnNfYnRfbW9yZV9pbmZvKEB3ZWlnaHQ6Ym9sZCkge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQ6ICNiNWFmYjU7XHJcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICAucHJveGltYS1mb250KEB3ZWlnaHQpO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNjZmM4Y2Y7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB7XHJcbiAgICAvL0FkZCBSaXBwbGUgRWZmZWN0IHRvIHRoaXMgKG1hdGVyaWFsIGRlc2lnbilcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjYjVhZmI1LDEwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4uVl9oZWFkZXJzX2J0X3NpZ25faW4oKSB7XHJcblxyXG4gIC8vSW5zdGVhZCBvZiBiYWNrZ3JvdW5kLWNvbG9yIGJlY2F1c2UgRkxFWCB1c2VzIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudFxyXG4gIGJhY2tncm91bmQ6ICNlYzAxOGM7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyOiBzb2xpZCAycHggI2ZmZjtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1M2I5O1xyXG4gIH1cclxuXHJcbiAgLy9Vc2VyL1Bhc3MgZmllbGRzIGJvdGggcG9wdWxhdGVkIHN0YXRlXHJcbiAgJi5oaWdobGlnaHRlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlKCNlYzAxOGMsNTAlKTtcclxuICB9XHJcbiAgLmJ1dHRvbi1zdGF0ZXMoKTtcclxuICAucHJveGltYS1mb250KDcwMCk7XHJcbn1cclxuXHJcbi5WX2hlYWRlcnNfZmllbGRfdXNlcl9wYXNzKCkge1xyXG4gIGJhY2tncm91bmQ6ICNmM2VjZjQ7XHJcbiAgY29sb3I6ICM0YjBiNGE7XHJcbiAgLy8uYmFja2dyb3VuZC1hbHBoYSgjNjM2MzYzLCAwLjIpO1xyXG59XHJcblxyXG4vL0Nhbid0IGZpbmQgY29sb3JcclxuLlZfaGVhZGVyc19maWVsZF91c2VyX2NvbG9yKCkgeyAgIGNvbG9yOiAjNGIwYjRhO31cclxuLlZfaGVhZGVyc19mb3Jnb3R0ZW4oKSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcblxyXG4gICYuZGlzYWJsZWQgeyAuVl9oZWFkZXJzX2ZvcmdvdHRlbl9ob3ZlcigpOyB9XHJcblxyXG59XHJcbi5WX2hlYWRlcnNfZm9yZ290dGVuX2hvdmVyKCkgeyAgY29sb3I6IGZhZGUoI2YzZTVmNCw5MCUpO31cclxuXHJcbi8vU3VwcG9ydCBMb2dpbiBGb3JtXHJcbi5WX2hlYWRlcnNfc3VwcG9ydF9ib3JkZXIoKSB7Ym9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjNjY0MTYzO31cclxuLlZfaGVhZGVyc190eHRfaGVscF9jaGF0KCkge1xyXG4gIGNvbG9yOiAjZWVlO1xyXG4gICY6aG92ZXIge2NvbG9yOiAjZWM0YmFjO31cclxufVxyXG5cclxuLy8gTG9naW4gRm9ybVxyXG4uVl9oZWFkZXJzX2Zvcm1faW5wdXRfZm9jdXMoKSB7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTt9XHJcbi5WX2hlYWRlcnNfZm9ybV9pbnB1dF9wbGFjZWhvbGRlcigpIHsgY29sb3I6ICM0YjBiNGE7IH1cclxuLlZfaGVhZGVyc19pbnB1dF9oaWdobGlnaHRlZCgpIHsgLmJhY2tncm91bmQtYWxwaGEoI2U1ZTVlNSwgMC42KTtib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNTkpOyAgfVxyXG5cclxuLy9NYWluIERyb3Bkb3duXHJcbi5WX2hlYWRlcnNfZHJvcGRvd25fYmcoKSB7YmFja2dyb3VuZC1jb2xvcjogIzkwNTFhMDt9XHJcbi5WX2hlYWRlcnNfZHJvcGRvd25fYmdfYWx0KCkge2JhY2tncm91bmQtY29sb3I6ICM0YjBhNGE7fVxyXG4uVl9oZWFkZXJfcmVzcG9uc2l2ZV9tZW51X2xpbmtfY29sb3IoKSB7Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNiYTg4Yjk7fVxyXG4uVl9oZWFkZXJzX3Jlc3BvbnNpdmVfbWVudXN3aXBlX29wZW4oKSB7YmFja2dyb3VuZC1jb2xvcjogIzkwNTFhMDt9XHJcbi5WX2hlYWRlcnNfcmVzcG9uc2l2ZV9iZWZvcmVfY29sb3IoKSB7IGNvbG9yOiAjZmVmZWZjOyB9XHJcblxyXG5cclxuLy9NYWluIFN1Ym1lbnVcclxuLlZfaGVhZGVyc19zdWJtZW51X3ZlcnRpY2FsKCkge2JhY2tncm91bmQtY29sb3I6ICNmM2U1ZjQ7fVxyXG4uVl9oZWFkZXJzX3N1Ym1lbnVfYm9yZGVyKCkge2JvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZjNlNWY0O30gLy9UaGFua3MgdG8gYm94LXNpemluZyB0aGlzIHNob3VsZCBzdGF5IHRoZSBzYW1lIHNpemVcclxuLlZfaGVhZGVyc19zdWJtZW51X2xpX2JnKCkge2JhY2tncm91bmQtY29sb3I6ICNlYzAxOGM7fVxyXG4uVl9oZWFkZXJzX3N1Ym1lbnVfYV9taW5pLWJvcmRlcigpIHtib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjZWMwMThjOyAgfVxyXG4uVl9oZWFkZXJzX3N1Ym1lbnVfbGlfbWluaS1ib3JkZXIoKSB7Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggICNlYzAxOGM7fSAvL1VzZWQgdG8gb3ZlcnJpZGUgbGFzdC1jaGlsZCBydWxlXHJcbi5WX2hlYWRlcnNfc3VibWVudV9saV9taW5pLWxhc3RjaGlsZCgpIHsgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2YzZTVmNDt9IC8vVXNlZCB0byBvdmVycmlkZSBsYXN0LWNoaWxkIHJ1bGVcclxuLlZfaGVhZGVyX3N1Ym1lbnVfbGlfZmlyc3RfYm9yZGVyKCkge2JvcmRlci10b3A6IDJweCBzb2xpZCAjZWMwMThjO31cclxuLlZfaGVhZGVyX3N1Ym1lbnVfYmdfYSgpIHsgYmFja2dyb3VuZC1jb2xvcjogI2YzZTVmNDsgfVxyXG4uVl9oZWFkZXJfc3VibWVudV9iZygpIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuLlZfaGVhZGVyX3N1Ym1lbnVfc2hhZG93KCkge2JveC1zaGFkb3c6IDBweCA1cHggMTBweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC40KTt9XHJcbi5WX2hlYWRlcl9zdWJtZW51X2FfY29sb3IoKSB7Y29sb3I6ICNlYzAxOGM7ICB9XHJcbi5WX2hlYWRlcl9zdWJtZW51X2FfaG92ZXIoKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjMDE4YztcclxuICBjb2xvcjogI2YzZTVmNDtcclxufVxyXG5cclxuXHJcbi8vQ2F0ZWdvcnkgRHJvcGRvd25cclxuLlZfaGVhZGVyc19jYXRlZ29yeV9iZygpIHtiYWNrZ3JvdW5kLWNvbG9yOiAjZWMwMThjO31cclxuLlZfaGVhZGVyc19jYXRlZ29yeV9ib3JkZXJfY29sb3IoKSB7Ym9yZGVyLWNvbG9yOiAjZWMwMThjO31cclxuLlZfaGVhZGVyc19jYXRlZ29yeV9hX2NvbG9yKCkge2NvbG9yOiAjZjNlNWY0O31cclxuLlZfaGVhZGVyc19jYXRlZ29yeV9hX2hvdmVyKCkge2JhY2tncm91bmQtY29sb3I6I2YzZTVmNDtjb2xvcjogI2VjMDE4Yzt9XHJcbi5WLWhlYWRlcnNfY2F0ZWdvcnlfbW9iaWxlX2EoKSB7YmFja2dyb3VuZC1jb2xvcjogIzRiMGE0YTt9XHJcbi5WLWhlYWRlcnNfY2F0ZWdvcnlfbW9iaWxlX2FfYWN0aXZlKCkge2JhY2tncm91bmQtY29sb3I6ICNlYzAxOGM7Y29sb3I6ICNmM2U1ZjQ7fVxyXG5cclxuLy9SZWdpc3RyYXRpb24gTW9kYWwgUG9wdXBzXHJcbi5WX21vZGFsX2NvbnRlbnRfY29sb3VyKCkge2NvbG9yOiNmZmZ9XHJcbi5WX21vZGFsX2NvbnRlbnRfbGlua19jb2xvdXIoKSB7Y29sb3I6ICNlYzAxOGM7fVxyXG5cclxuLlZfaGVhZGVyc19iZ192ZXJ0aWNhbHMoKSB7YmFja2dyb3VuZC1jb2xvcjogIzI1NTM2MjsgfVxyXG4uVl9oZWFkZXJzX2Nhc2lub190YWIoKSB7YmFja2dyb3VuZC1jb2xvcjogI2VjMDE4Yzt9XHJcbi5WX2hlYWRlcnNfdmVnYXNfdGFiKCkge2JhY2tncm91bmQtY29sb3I6ICNlOTdkMzE7fVxyXG4uVl9oZWFkZXJzX2xpdmVfdGFiKCkge2JhY2tncm91bmQtY29sb3I6ICNlOTdkMzE7fVxyXG4uVl9oZWFkZXJzX3Byb21vdGlvbnNfdGFiKCkge2JhY2tncm91bmQtY29sb3I6ICNmM2U1ZjQ7fVxyXG4uVl9oZWFkZXJzX3Byb21vdGlvbnNfdGFiX3N1Ym1lbnUoKSB7YmFja2dyb3VuZDogI2YzZTVmNDt9IC8vVXBkYXRlZCBESVBcclxuLlZfaGVhZGVyc190YWJfdW5zZWxlY3RlZCgpIHtiYWNrZ3JvdW5kOiAjMDAwOyBjb2xvcjogI2VlZTt9XHJcbi5WX2hlYWRlcnNfc2VwYXJhdGlvbl9saW5lX2Nhc2lubygpIHtib3JkZXItYm90dG9tLWNvbG9yOiAjZjNlNWY0O31cclxuLlZfaGVhZGVyc19zZXBhcmF0aW9uX2xpbmVfdmVnYXMoKSB7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZjNlNWY0O31cclxuLlZfaGVhZGVyc19zZXBhcmF0aW9uX2xpbmVfbGl2ZSgpIHtib3JkZXItYm90dG9tLWNvbG9yOiAjZjNlNWY0O31cclxuLlZfaGVhZGVyc19zZXBhcmF0aW9uX2xpbmVfcHJvbW90aW9ucygpIHtib3JkZXItYm90dG9tLWNvbG9yOiAjZjNlNWY0O31cclxuXHJcblxyXG4vL0JpbmdvIEdhbWVzXHJcbi5WX2hlYWRlcnNfYmluZ28tZ2FtZS1jb2xvcigpIHtcclxuICBjb2xvcjogI2VjMDE4YztcclxufVxyXG5cclxuXHJcbi8qICBIZWFkZXJzIGFuZCBWZXJ0aWNhbHMgQXV0aGVudGljYXRlZFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi5WX2hlYWRlcnNfc3ViLW1lbnVfY2F0ZWdvcnkoKSB7XHJcbiAgYmFja2dyb3VuZDogIzM1MDczNDsgY29sb3I6ICNlZWU7XHJcbiAgLy8mOmhvdmVyIHtiYWNrZ3JvdW5kOiAjMzUwNzM0O30gLSBOb3QgbmVlZGVkXHJcbn1cclxuXHJcbi5WX2hlYWRlcnNfc3ViLW1lbnUoKSB7XHJcbiAgY29sb3I6IHJnYmEoMjUwLCAyNTAsIDI1MCAsIDAuNik7XHJcbiAgJjpob3ZlciB7Y29sb3I6ICNmZmY7fVxyXG59XHJcblxyXG4uVl9oZWFkZXJzX3N1Yi1tZW51X2xpbmsoKSB7XHJcbiAgY29sb3I6IzllYmRjNjtcclxuICAmOmhvdmVyeyBjb2xvcjojMjk2Mjc2O31cclxufSBcclxuXHJcbi5WX2hlYWRlcnNfbmFtZSgpIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMTApOyBjb2xvcjogI2VlZTtcclxuICAmOmhvdmVyIHtiYWNrZ3JvdW5kOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMjApOyBjb2xvcjogI0ZGRjt9XHJcbn1cclxuXHJcbi5WX2hlYWRlcnNfYWNjb3VudF9qb2luX25vdygpIHtcclxuICAuVl9oZWFkZXJzX2J0X2pvaW5fbm93KCk7XHJcbn1cclxuXHJcblxyXG4vKiAgSGVhZGVycyBhbmQgVmVydGljYWxzIChNb2JpbGUpXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLlZfaGVhZGVyc19tb2JpbGVfc2lnbl9pbigpIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kOiAjNjM3ZDg1O1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjNjM3ZDg1KSwgdG8oIzUwNjU2ZCkpO1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCM2MzdkODUsICM1MDY1NmQpO1xyXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzYzN2Q4NSwgIzUwNjU2ZCk7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCM2MzdkODUsICM1MDY1NmQpO1xyXG59XHJcbi5WX2hlYWRlcnNfbW9iaWxlX2J0X2RlcG9zaXQoKSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZDogIzc3ZDY2NTtcclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oIzc3ZDY2NSksIHRvKCMxZDk0NDYpKTtcclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjNzdkNjY1LCAjMWQ5NDQ2KTtcclxuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM3N2Q2NjUsICMxZDk0NDYpO1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjNzdkNjY1LCAjMWQ5NDQ2KTtcclxuICB0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG59XHJcbi5WX2hlYWRlcnNfbW9iaWxlX25hbWUoKSB7Y29sb3I6ICNjOWEwNGY7fVxyXG4uVl9oZWFkZXJzX21vYmlsZV9iYWxhbmNlKCkge2NvbG9yOiAjZmZmO31cclxuLlZfaGVhZGVyc19tb2JpbGVfYmdfdG9wKCkge2JhY2tncm91bmQ6ICM0YjBhNGE7fVxyXG5cclxuLyogIFN0YWxrZXIgQmFyIFdlYnNpdGUgVW5hdXRoZW50aWNhdGVkXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLlZfc3RhbGtlcl90YWJfZGVhY3RpdmF0ZWQoKSB7YmFja2dyb3VuZDogIzI1NTc2ODt9XHJcbi5WX3N0YWxrZXJfYmcoKSB7YmFja2dyb3VuZDogIzI1NTc2ODt9XHJcbi5WX3N0YWxrZXJfYnRfZGl2aWRlcnMoKSB7fVxyXG4uVl9zdGFsa2VyX2J0X2Nhc2lubygpIHtiYWNrZ3JvdW5kOiAjZTk3ZDMxO31cclxuLlZfc3RhbGtlcl9idF92ZWdhcygpIHtiYWNrZ3JvdW5kOiAjZTk3ZDMxO31cclxuLlZfc3RhbGtlcl9idF9saXZlKCkge2JhY2tncm91bmQ6ICNlOTdkMzE7fVxyXG4uVl9zdGFsa2VyX2J0X3Byb21vdGlvbnMoKSB7YmFja2dyb3VuZDogI2U5N2QzMTt9XHJcbi5WX3N0YWxrZXJfYnRfam9pbl9ub3coKSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZDogIzgyZGI3MDtcclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oIzgyZGI3MCksIHRvKCMxNzllNGYpKTtcclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjODJkYjcwLCAjMTc5ZTRmKTtcclxuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM4MmRiNzAsICMxNzllNGYpO1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjODJkYjcwLCAjMTc5ZTRmKTtcclxuICB0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjOTRmYTgwKSwgdG8oIzI0YjY1YikpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoIzk0ZmE4MCwgIzI0YjY1Yik7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM5NGZhODAsICMyNGI2NWIpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCM5NGZhODAsICMyNGI2NWIpO1xyXG4gIH1cclxufSBcclxuXHJcbi5WX3N0YWxrZXJfYnRfc2lnbl9pbigpIHtcclxuICAuVl9oZWFkZXJzX2J0X3NpZ25faW4oKTtcclxufSBcclxuXHJcblxyXG4vKiAgRm9vdGVyIFdlYnNpdGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uVl9mb290ZXJfbWVudV9saW5rcygpIHtcclxuICBjb2xvcjogI2ZmZjsgXHJcbiAgb3BhY2l0eTogMTsgXHJcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTcwKTsgXHJcbiAgfVxyXG59XHJcblxyXG4uVl9mb290ZXJfc2VwYXJhdGlvbl9saW5lKCkgeyBib3JkZXItdG9wLWNvbG9yOiAjZjNlNWY0O31cclxuLlZfZm9vdGVyX3R4dCgpIHsgY29sb3I6I2ZmZjsgb3BhY2l0eTogMTsgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApOyB9XHJcbi52X2Zvb3Rlcl9iZygpIHtiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMCk7fVxyXG5cclxuLyogIEZvb3RlciBNb2JpbGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uVl9mb290ZXJfbW9iaWxlX21lbnVfbGluaygpIHtjb2xvcjogI2ZmZjt9XHJcbi5WX2Zvb3Rlcl9tb2JpbGVfc2VwYXJhdGlvbl90b3AoKSB7Ym9yZGVyLXRvcDogbm9uZTt9XHJcbi5WX2Zvb3Rlcl9tb2JpbGVfc2VwYXJhdGlvbl9ib3R0b20oKSB7Ym9yZGVyLWJvdHRvbTogbm9uZTt9XHJcblxyXG5cclxuLyogIFNpZGUgTWVudSBNb2JpbGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uVl9zaWRlLW1lbnVfbW9iaWxlX2JnX2J1cmdlcigpIHtiYWNrZ3JvdW5kOiAjZWI4OTM3O31cclxuLlZfc2lkZS1tZW51X21vYmlsZV9saW5rX2hpZ2hsaWdodCgpIHtjb2xvcjogI2ZmZjt9XHJcbi5WX3NpZGUtbWVudV9tb2JpbGVfbGluZV9zZXBhcmF0aW9uX29wZW4oKSB7Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTt9XHJcbi5WX3NpZGUtbWVudV9tb2JpbGVfYmdfb3BlbigpIHtiYWNrZ3JvdW5kOiAjMmQ2ZTg0O31cclxuLlZfc2lkZS1tZW51X21vYmlsZV9saW5lX3NlcGFyYXRpb24oKSB7Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTt9XHJcbi5WX3NpZGUtbWVudV9tb2JpbGVfbWVudV9saW5rKCkge2NvbG9yOiAjZWRlZGVkO31cclxuLlZfc2lkZS1tZW51X21vYmlsZV9iZ19tZW51KCkge2JhY2tncm91bmQ6ICMyOTYyNzY7fVxyXG4uVl9zaWRlLW1lbnVfbW9iaWxlX2JnX21hc2soKSB7YmFja2dyb3VuZDogIzAwMDt9XHJcblxyXG5cclxuLyogIEdhbWVzIE5hdmlnYXRpb24gV2Vic2l0ZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi5WX2dhbWVzLW5hdl9saW5rX25vcm1hbCgpIHtjb2xvcjogI2VlZTt9XHJcbi5WX2dhbWVzLW5hdl9iZ19jYXNpbm8oKSB7YmFja2dyb3VuZDogI2VjMDE4Yzt9XHJcbi5WX2dhbWVzLW5hdl9ib3JkZXJfdG9wX2Nhc2lubygpIHtib3JkZXItdG9wLWNvbG9yOiAjZjNlNWY0O31cclxuXHJcbi8vIE5vdCB1c2VkIC0gU2VhcmNoIG1vdmVkIHRvIFNlcGVyYXRlIFNlY3Rpb25cclxuLlZfZ2FtZXMtbmF2X2JnX3NlYXJjaF9iYXIoKSB7fVxyXG5cclxuLlZfZ2FtZXMtbmF2X2xpbmtfc2VhcmNoKCkge2JhY2tncm91bmQ6ICNmZmY7fVxyXG5cclxuLlZfZ2FtZXMtbmF2X2JnX3ZlZ2FzKCkge2JhY2tncm91bmQ6ICNlOTdkMzE7fVxyXG4uVl9nYW1lcy1uYXZfYm9yZGVyX3RvcF92ZWdhcygpIHtib3JkZXItdG9wLWNvbG9yOiAjZjNlNWY0O31cclxuXHJcbi5WX2dhbWVzLW5hdl9iZ19zZWxlY3RlZCgpIHtiYWNrZ3JvdW5kOiAjMDAwOyBvcGFjaXR5OiAwLjc1OyBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NzUpO31cclxuLlZfZ2FtZXMtbmF2X3NlbGVjdGVkKCkge2JhY2tncm91bmQ6ICNlZWU7IGZvbnQtd2VpZ2h0OiBib2xkO31cclxuLlZfZ2FtZXMtbmF2X2JnX2xpdmUoKSB7Ym9yZGVyLXRvcC1jb2xvcjogI2FmODYzNjt9XHJcbi5WX2dhbWVzLW5hdl9saW5rX2hvdmVyX3NlbGVjdGVkIHtcclxuICBiYWNrZ3JvdW5kOiAjZjNlNWY0O1xyXG59XHJcblxyXG4uVl9nYW1lcy1Pbl9haXIoKSB7YmFja2dyb3VuZC1jb2xvcjogI2U5N2QzMTt9XHJcbi5WX2dhbWVzLU9mZl9haXIoKSB7YmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNjUsODQsMjUsMC42MCl9XHJcbi5WX2dhbWVzLUF1dG93aGVlbCgpIHtiYWNrZ3JvdW5kLWNvbG9yOiAjYTU1NDE5O31cclxuXHJcblxyXG4vKiAgSGVybyBCYW5uZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4vKiAgSGVybyBCYW5uZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uVl9oZXJvLWJhbm5lcl9idF9jdGEge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQ6ICM4MmRiNzA7XHJcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCM4MmRiNzApLCB0bygjMTc5ZTRmKSk7XHJcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoIzgyZGI3MCwgIzE3OWU0Zik7XHJcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjODJkYjcwLCAjMTc5ZTRmKTtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzgyZGI3MCwgIzE3OWU0Zik7XHJcbiAgdGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxufVxyXG4uVl9oZXJvLWJhbm5lcl90eHRfdGVybXMge2NvbG9yOiAjZmZmOyB0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO31cclxuLlZfaGVyby1iYW5uZXJfdGNfYmcoKSB7IGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjUpO31cclxuLlZfaGVyby1iYW5uZXItYnVsbGV0YmcoKSB7XHJcbiAgYmFja2dyb3VuZDogI2VlZTtcclxuXHJcbiAgJi5mbGV4LWFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjNzk3OTc5O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcntcclxuICAgIGJhY2tncm91bmQ6ICMxNzllNGY7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyogIEphY2twb3RzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLlZfamFja3BvdHNfdHh0KCkge2NvbG9yOiAjRkZGO31cclxuLlZfamFja3BvdHNfdGl0bGUoKSB7Y29sb3I6ICNGRkY7fVxyXG4uVl9qYWNrcG90c19zZXBhcmF0aW9uX2xpbmUoKSB7Ym9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRjsgfVxyXG4uVl9qYWNrcG90c19iZygpIHtiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ2ODg0O31cclxuXHJcbi8qICBXaW5uZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLlZfd2lubmVyc19saW5rX2dhbWUoKSB7Y29sb3I6ICNlZWU7fVxyXG4uVl93aW5uZXJzX3RpdGxlKCkge2NvbG9yOiAjYWY4NjM2O31cclxuLlZfd2lubmVyc19zZXBhcmF0aW9uX2xpbmUoKSB7Ym9yZGVyLXRvcC1jb2xvcjogIzQxM2Q1MTt9XHJcbi5WX3dpbm5lcnNfYmdfd2lubmVycygpIHtiYWNrZ3JvdW5kOiMyYzYyNzMgO31cclxuLlZfd2lubmVyc190eHRfd2luKCkge2NvbG9yOiAjZWVlO31cclxuLlZfd2lubmVyc19uYW1lKCkge2NvbG9yOiAjZDRiMTVlO31cclxuXHJcbi8qICBHYW1lIEluZm9cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uVl9nYW1lLWluZm9fbGluZV9zZXBhcmF0aW9uKCkge2JvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7fVxyXG4uVl9nYW1lLWluZm9fZGV2aWNlX3RleHQoKSB7Y29sb3I6ICNlZWU7fVxyXG4uVl9nYW1lLWluZm9fYmcoKSB7YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjM1KTt9XHJcbi5WX2dhbWUtaW5mb19vbl9haXIoKSB7YmFja2dyb3VuZC1jb2xvcjogI2JiMjAxNDt9XHJcbi5WX2dhbWUtaW5mb19vZmZfYWlyKCkge2JhY2tncm91bmQtY29sb3I6ICM0MTQxNDE7fVxyXG4uVl9nYW1lLWluZm9fYnRfcGxheV9yZWFsKCkge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQ6ICNhY2Q1MTc7XHJcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsMCwwLC40KTtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjRkZGO1xyXG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YS1zb2Z0XCIsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIFxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICM3ZDlmMDI7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyogIFByZXNlbnRlcnMgV2Vic2l0ZSAmIERldGFpbHMgJiBNb2JpbGUgKHVuaWZpZWQpXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi5WX3ByZXNlbnRlcnNfdHh0X21haW4oKSB7Y29sb3I6ICNlZWU7fVxyXG4uVl9wcmVzZW50ZXJzX2xpbmsoKSB7Y29sb3I6ICNlZWU7fVxyXG4uVl9wcmVzZW50ZXJzX2JnKCkge2JhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTt9XHJcblxyXG4vKiAgUHJvbW90aW9ucyBXZWJzaXRlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi5WX3Byb21vdGlvbnNfdGl0bGUoKSB7Y29sb3I6ICNGRkY7fVxyXG5cclxuLlZfcHJvbW90aW9uc19idF9qb2luX25vdygpIHtcclxuICAuVl9oZWFkZXJzX2J0X2pvaW5fbm93KCk7XHJcbn1cclxuXHJcbi5WX3Byb21vdGlvbnNfYnRfbW9yZV9pbmZvKCkge1xyXG4gIGNvbG9yOiAjZmZmOyAgXHJcbiAgYmFja2dyb3VuZDogcmdiYSgxODEsIDE3NSwgMTgxLCAxKTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDk4LCA5NywgOTgsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4vKiAgUHJvbW90aW9ucyBXZWJzaXRlIERldGFpbHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLlZfcHJvbW90aW9uc19kZXRhaWxzX2J0X2pvaW5fbm93KCkge1xyXG4gIC5WX2hlYWRlcnNfYnRfam9pbl9ub3coKTtcclxufVxyXG5cclxuXHJcbi8qICBHYW1lIFBvcC1VcCBNb2JpbGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uVl9nYW1lLXBvcHVwX21vYmlsZV90aXRsZSgpIHtjb2xvcjogI2ZmZjt9XHJcbi5WX2dhbWUtcG9wdXBfbW9iaWxlX21vcmVfaW5mb19saW5rKCkge2NvbG9yOiAjZWVlO31cclxuLlZfZ2FtZS1wb3B1cF9tb2JpbGVfYmdfb3ZlcmxheSgpIHtiYWNrZ3JvdW5kOiM0YjBhNGE7Ym9yZGVyOnNvbGlkIDJweCAjZmZmOyB9XHJcbi5WX2dhbWUtcG9wdXBfbW9iaWxlX2JnKCkge2JhY2tncm91bmQ6ICMyYjUxNWI7IG9wYWNpdHk6IDAuNzU7IGZpbHRlcjogYWxwaGEob3BhY2l0eT03NSk7fVxyXG4uVl9nYW1lLXBvcHVwX21vYmlsZV9idF9qb2luX25vdygpIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kOiAjODJkYjcwO1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjODJkYjcwKSwgdG8oIzE3OWU0ZikpO1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCM4MmRiNzAsICMxNzllNGYpO1xyXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzgyZGI3MCwgIzE3OWU0Zik7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCM4MmRiNzAsICMxNzllNGYpO1xyXG4gIHRleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCM5NGZhODApLCB0bygjMjRiNjViKSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjOTRmYTgwLCAjMjRiNjViKTtcclxuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzk0ZmE4MCwgIzI0YjY1Yik7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzk0ZmE4MCwgIzI0YjY1Yik7XHJcbiAgfVxyXG59XHJcblxyXG4uVl9nYW1lLXBvcHVwX21vYmlsZV9idF9kZW1vKCkge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQ6ICNiNWFmYjU7XHJcbiAgYm9yZGVyOiBzb2xpZCAycHggI2ZmZjtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjY2ZjOGNmO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qICBSZWdpc3RyYXRpb24gUGFnZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi5WX3JlZ2lzdHJhdGlvbi1wYWdlX3R4dF9lcnJvcigpIHtjb2xvcjogI2ZmZjt9XHJcbi5WX3JlZ2lzdHJhdGlvbi1wYWdlX2JnX2Vycm9yKCkge2JhY2tncm91bmQ6ICNkNzE3MTY7fVxyXG4uVl9yZWdpc3RyYXRpb24tcGFnZV9pbnB1dF9lcnJvcigpIHtib3JkZXI6IDJweCBzb2xpZCAjZDcxNzE2O31cclxuLlZfcmVnaXN0cmF0aW9uLXBhZ2VfdHh0X2NhdGVnb3J5KCkge2NvbG9yOiAjZWVlO31cclxuLlZfcmVnaXN0cmF0aW9uLXBhZ2VfdHh0X2luZm8oKSB7YmFja2dyb3VuZDogI2VlZTt9XHJcbi5WX3JlZ2lzdHJhdGlvbi1wYWdlX3R4dF9maWVsZCgpIHtiYWNrZ3JvdW5kOiAjMzIzMjMyO31cclxuLlZfcmVnaXN0cmF0aW9uLXBhZ2VfYmcoKSB7YmFja2dyb3VuZDogIzAwMDsgb3BhY2l0eTogMC43NTsgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTc1KTt9XHJcblxyXG4vKiAgV2VsY29tZSBQYWdlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLlZfd2VsY29tZS1wYWdlX3RpdGxlKCkge2NvbG9yOiAjZmZmO31cclxuXHJcbi5WX3dlbGNvbWUtcGFnZV9idF9jdGEoKSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZDogIzgyZGI3MDtcclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oIzgyZGI3MCksIHRvKCMxNzllNGYpKTtcclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjODJkYjcwLCAjMTc5ZTRmKTtcclxuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM4MmRiNzAsICMxNzllNGYpO1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjODJkYjcwLCAjMTc5ZTRmKTtcclxuICB0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjOTRmYTgwKSwgdG8oIzI0YjY1YikpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoIzk0ZmE4MCwgIzI0YjY1Yik7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM5NGZhODAsICMyNGI2NWIpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCM5NGZhODAsICMyNGI2NWIpO1xyXG4gIH1cclxufVxyXG5cclxuLyogIFZJUCBQYWdlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi5WX3ZpcC1wYWdlX2JnX3JlZF9vZGQoKSB7YmFja2dyb3VuZDogIzMwNTU1ZTt9IC8vIGFkZCBieSBESVBcclxuLlZfdmlwLXBhZ2VfYmdfcmVkX2V2ZW4oKSB7YmFja2dyb3VuZDogIzNlNWU2OTt9XHJcblxyXG4uVl92aXAtcGFnZV9iZ19icm9uemVfb2RkKCkge2JhY2tncm91bmQ6ICM0MTYzNmQ7fVxyXG4uVl92aXAtcGFnZV9iZ19icm9uemVfZXZlbigpIHtiYWNrZ3JvdW5kOiAjMzM1OTYyO31cclxuXHJcbi5WX3ZpcC1wYWdlX2JnX3NpbHZlcl9vZGQoKSB7YmFja2dyb3VuZDogIzQ1NmE3Mzt9XHJcbi5WX3ZpcC1wYWdlX2JnX3NpbHZlcl9ldmVuKCkge2JhY2tncm91bmQ6ICMzOTYxNmI7fVxyXG5cclxuLlZfdmlwLXBhZ2VfYmdfZ29sZF9vZGQoKSB7YmFja2dyb3VuZDogIzQwNjg3Mjt9XHJcbi5WX3ZpcC1wYWdlX2JnX2dvbGRfZXZlbigpIHtiYWNrZ3JvdW5kOiAjNGE3MDdiO31cclxuXHJcbi5WX3ZpcC1wYWdlX2JnX3BsYXRpbnVtX29kZCgpIHtiYWNrZ3JvdW5kOiAjNDY3MDdjO31cclxuLlZfdmlwLXBhZ2VfYmdfcGxhdGludW1fZXZlbigpIHtiYWNrZ3JvdW5kOiAjNTA3ODgyO31cclxuXHJcbi5WX3ZpcC1wYWdlX2JnX3BhZ2UoKSB7ICB9XHJcbi5WX3ZpcC1wYWdlX2JnX2ltZygpICB7ICB9XHJcbi5WX3ZpcC1sb2dvX2ltZygpICAgICB7ICB9XHJcbi5WX3ZpcC1sb2dvX21vYmlsZSgpICB7ICB9XHJcblxyXG5cclxuLy8gU0MgT25seSBWSVAgQ29sb3VycyAoTUJTLTI0MTkpXHJcbi5WX1NDX3ZpcC1ib3JkZXItYmlnZ2VyLXRoYW4tbW9iaWxlKCkgeyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNmI1YjNmOyB9XHJcbi5WX1NDX3ZpcC1ib3JkZXItbW9iaWxlKCkgeyBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzZiNWIzZjsgfVxyXG4uVl92aXBfYmFkZ2VzKCkge31cclxuLlZfdmlwX21vYmlsZV9iYWRnZXMoKSB7fVxyXG5cclxuLyogIFZpcCBUYWJsZSBmb3IgTW9iaWxlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLlZfdmlwLXBhZ2VfbWJfdGFiMSgpIHtiYWNrZ3JvdW5kLWNvbG9yOiAjMzA1NTVlO31cclxuLlZfdmlwLXBhZ2VfbWJfdGFiMigpIHtiYWNrZ3JvdW5kLWNvbG9yOiAjNDE2MzZkO31cclxuLlZfdmlwLXBhZ2VfbWJfdGFiMygpIHtiYWNrZ3JvdW5kLWNvbG9yOiAjNDU2YTczO31cclxuLlZfdmlwLXBhZ2VfbWJfdGFiNCgpIHtiYWNrZ3JvdW5kLWNvbG9yOiAjNDA2ODcyO31cclxuLlZfdmlwLXBhZ2VfbWJfdGFiNSgpIHtiYWNrZ3JvdW5kLWNvbG9yOiAjNDY3MDdjO31cclxuXHJcbi5WaXBfdmlwX21iX3NlcGFyYXRvcigpIHtiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzApO31cclxuXHJcblxyXG4vKiAgVmlwIFN1YiBNZW51XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLlZfdmlwLXBhZ2Vfc2JtZW51X2JnKCl7IGJhY2tncm91bmQtY29sb3I6I2U5N2QzMTt9XHJcblxyXG5cclxuLyogIFByb21vdGlvbnMgU3ViIE1lbnVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uVl9wcm9tby1wYWdlX3NibWVudV9iZygpeyBiYWNrZ3JvdW5kLWNvbG9yOiNlOTdkMzE7fVxyXG5cclxuXHJcbi8qICBHZXR0aW5nIHN0YXJ0ZWQgU3ViIE1lbnVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uVl9nZXR0aW5nX3N0YXJ0ZWRfc2JtZW51X2JnKCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiNlOTdkMzE7fVxyXG5cclxuXHJcbi8qICBCdXR0b25TXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi5WX3ByaW1hcnlfYnV0dG9uKCkge1xyXG4gIC5WX2hlYWRlcnNfYnRfam9pbl9ub3c7XHJcbn1cclxuXHJcbi5WX3NlY29uZGFyeV9idXR0b24oKSB7XHJcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsMCwwLC40KTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kOiAjYjVhZmI1O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2NmYzhjZjtcclxuICB9XHJcbi8vICAuVl9oZWFkZXJzX2J0X21vcmVfaW5mbygpO1xyXG59XHJcblxyXG5cclxuLyogIFBhZ2UgVGl0bGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uVl9jb250ZW50X2JhY2tncm91bmQoKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0MywgMjI5LCAyNDQsIDEpOyBcclxufVxyXG5cclxuLlZfcGFnZV90aXRsZSgpIHtjb2xvcjogI2VkMDI4Yjt9XHJcblxyXG5cclxuLyogIEJvb3RzdGFycCBNb2RhbFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4uVl9tb2RhbF9oZWFkZXJfYmFja2dyb3VuZCgpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiM0YjBhNGE7XHJcbn1cclxuXHJcbi5WX21vZGFsX2NvbnRlbnRfYmFja2dyb3VuZCgpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiM0YjBhNGE7XHJcbn1cclxuXHJcbi5WX21vZGFsX2Zvb3Rlcl9iYWNrZ3JvdW5kKCkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IzRiMGE0YTtcclxufVxyXG5cclxuLlZfbW9kYWxfYnRfc2lnbl9pbigpIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kOiAjZWMwMThjO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNhZjAyNjg7XHJcbiAgfVxyXG59XHJcblxyXG4uVl9tb2RhbF9jbG9zZV9idXR0b24oKSB7XHJcbiAgY29sb3I6ICNhYWI5YmQ7XHJcbn1cclxuXHJcbi8qICBFcnJvciBNc2dcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uVl9lcnJvcl9tc2coKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlMDAwMDtcclxufVxyXG5cclxuXHJcbi8qICBQYWdlIENvbnRlbnQgQmFja2dvcnVuZFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi5WX2NvbnRlbnRfYmFja2dvcnVuZCgpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMjI5LCAyNDQsIDEpO1xyXG59XHJcblxyXG4vLyBTZWFyY2ggQmFyIE1peGluc1xyXG4uVl9zZWFyY2hfZmllbGRfYmdfc2hvdygpIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIC5ib3JkZXItcmFkaXVzKDNweCk7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDRweCByZ2JhKDAsMCwwLC41KTtcclxuICBjb2xvcjogI2VkMDI4YjtcclxufTtcclxuLlZfc2VhcmNoX2ljb25fYmcoKXsgfTtcclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cblxuICAvLyBDaHJvbWUgZml4IHRvIHNwZWVkIHVwIGFuZCBhdm9pZCBkb3VibGUgdG91Y2ggaXNzdWVzIChodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS93ZWIvdXBkYXRlcy8yMDEzLzEyLzMwMG1zLXRhcC1kZWxheS1nb25lLWF3YXkpXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICAmOmV4dGVuZCgub3ZlcmZsb3dIaWRkZW4pO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG5cblxuXG5cbi8qXG5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFxuICAgRFJVUEFMIFJFU0VUUyAgLSAgVE8gRE86ICByZW1vdmUgRHJ1cGFsIFN0eWxlcyBhdCBvcmlnaW4gdGhlbiByZW1vdmUgdGhlc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICovXG5cblxuLmZvcm0taXRlbSwgLmZvcm0tYWN0aW9ucyB7XG4gIG1hcmdpbjogMDtcbn1cbi5lbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gIGNsaXA6IHJlY3QoMXB4LDFweCwxcHgsMXB4KTtcbiAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcbiAgaGVpZ2h0OiAxcHg7XG59IiwiLy8gRGVmYXVsdCBTdHlsZXNcclxuLmJsb2NrRGlzcGxheSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLmJvcmRlclJhZGl1cyB7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG4uY3Vyc29yUG9pbnRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5kaXNwbGF5Tm9uZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uZmxvYXRMZWZ0IHtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG4uaGVpZ2h0MTAwIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuLmlubGluZUJsb2NrIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuLnBvc2l0aW9uQWJzb2x1dGUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG4ucG9zaXRpb25SZWxhdGl2ZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi50ZXh0U2hhZG93IHtcclxuICB0ZXh0LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsMCwwLDAuOCksIDAgMCAxMHB4IHJnYmEoMCwwLDAsMC44KVxyXG59XHJcbi50ZXh0UmlnaHQge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbi5vdmVyZmxvd0hpZGRlbiB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4ud2lkdGgxMDAge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi53aWR0aDcwIHtcclxuICB3aWR0aDogNzAlO1xyXG59XHJcbi53aWR0aDMwIHtcclxuICB3aWR0aDogMzAlO1xyXG59XHJcblxyXG4vLyBTdHlsZXNcclxuLmZvb3Rub3RlU3R5bGUge1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBjb2xvcjogI2ZmZjtcclxuXHJcbn1cclxuLnRpdGxlU3R5bGUge1xyXG4gIG1hcmdpbjogNXB4IDA7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGNvbG9yOiBAdGl0bGVDb2xvcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbn07XHJcbi5sYXJnZVRleHRTdHlsZSB7XHJcbiAgZm9udC1zaXplOiAzMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgcGFkZGluZzogMTBweCAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4udWxSZXNldCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5hbmNob3JTdHlsZSB7XHJcbiAgJjpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59IiwiLypcclxuTG9naW4ubGVzc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5BdXRob3I6ICBKZXJvbWUgRCBOZWxzb25cclxuQ29udHJpYnV0b3JzOiAgLVxyXG5EZXNjcmlwdGlvbjogIExheW91dCBmb3IgbmV3IGxvZ2luIGZvcm1cclxuQ29weXJpZ2h0IDIwMTUgTmV0cGxheVRWIHBsYy5cclxuXHJcbiovXHJcblxyXG4ubm90LWxvZ2dlZC1pbiB7XHJcblxyXG4gIC8qKlxyXG4gICogTGVnYWN5IENvZGVcclxuICAqIFVzZWQgaW4gcHJldmlvdXMgdmVyc2lvbiBvZiBjb2RlXHJcbiAgKiBUT0RPOiBTdHJpcCBvdXQgaW4gbmV4dCBpdGVyYXRpb25cclxuICAqKi9cclxuLy8gIC5zdXBwb3J0LWJ1dHRvbnMge1xyXG4vLyAgICB3aWR0aDogMTYwcHg7XHJcbi8vICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuLy8gICAgdG9wOiAyMXB4O1xyXG4vLyAgICBib3JkZXItbGVmdDogbm9uZTsgLy9SZW1vdmVzIHRoZSBkZWZhdWx0IGJvcmRlciBvbiBKUDI0NyBhbmQgU0NcclxuLy8gICAgcmlnaHQ6IDA7XHJcbi8vXHJcbi8vICAgIC5oZWxwX2J1dHRvbiwgLmNoYXRfYnV0dG9uIHtcclxuLy8gICAgICBoZWlnaHQ6IDMwcHg7XHJcbi8vICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4vLyAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4vLyAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL3N1cHBvcnQvaGVscF9pY29uX3doaXRlLnBuZykgbm8tcmVwZWF0IDAgY2VudGVyO1xyXG4vLyAgICAgIGN1cnNvcjogcG9pbnRlcjsgLyoqIFVzZWQgZm9yIENoYXQgQnV0dG9uICoqL1xyXG4vLyAgICAgIHRleHQtaW5kZW50OiAzMnB4O1xyXG4vLyAgICAgIC5mb250LXNldHVwKHVwcGVyY2FzZSk7XHJcbi8vXHJcbi8vICAgICAgJjpob3ZlciB7XHJcbi8vICAgICAgICAuVl9sb2dpbi1zdXBwb3J0LWxpbmstaG92ZXI7XHJcbi8vICAgICAgfVxyXG4vLyAgICB9XHJcblxyXG4gIC8vIENsYXNzIHVzZWQgdG8gaXNvbGF0ZSBzcGVjaWZpYyBmb3JtIChmb3JtLm1vZHVsZSB1c2VzIHRoZSBzYW1lIG1hcmt1cCBmb3IgdHdvIGRpZmZlcmVudCBsb2NhdGlvbnMpXHJcbiAgLmxvZ2luLW1vZGFsLC5yZWdpb24taGVhZGVyIHtcclxuICAgIC5yZWdpc3RyYXRpb24tc3R5bGUge1xyXG4gICAgICAuZm9ybS1pdGVtIHtcclxuICAgICAgICBpbnB1dCB7XHJcblxyXG4gICAgICAgICAgLy8gTmVlZCB0byBlaXRoZXIgZGVjbGFyZSBzaXplIGluIHZhcmlhYmxlIG9yIGZpbmQgd2F5IHRvIGNyZWF0ZSBiYXNlIGZvbnQgc2l6ZVxyXG4gICAgICAgICAgLy8gQmFzZSBmb250IG1peGluIHRoZW4gdXNlZCB0byBjYWxjIGFsbCBvdGhlciBmb250IHNpemVzXHJcbiAgICAgICAgICAuVl9sb2dpbi1pbnB1dC1mb250cygpO1xyXG4gICAgICAgICAgLlZfbG9naW4taW5wdXQtYmFja2dyb3VuZCgpO1xyXG4gICAgICAgICAgLlYtbG9naW4tYm9yZGVyLXJhZGl1cygpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogMC41cyBlYXNlO1xyXG4gICAgICAgICAgJlt0eXBlPVwicGFzc3dvcmRcIl0ge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6Zm9jdXMgeyAgLlZfbG9naW4taW5wdXQtZm9jdXMoKTsgIH1cclxuICAgICAgICAgICY6YWN0aXZlIHsgIC5WX2xvZ2luLWlucHV0LWFjdGl2ZSgpOyAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAqIEJ1dHRvbiBpbWFnZSBzd2Fwc1xyXG4gICAgKiovXHJcbiAgICAvL1RPRE86IENvbnZlcnQgdG8gc3ByaXRlXHJcbiAgICAuaGVscF9idXR0b246aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9zdXBwb3J0L2hlbHBfaWNvbl9nb2xkLnBuZyk7XHJcbiAgICB9XHJcbiAgICAuY2hhdF9idXR0b24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9zdXBwb3J0L2NoYXRfaWNvbl93aGl0ZS5wbmcpO1xyXG5cclxuICAgICAgLy9UT0RPOiBJZiBubyBqcyBidXR0b24gaXNuJ3QgYXZhaWxhYmxlLiBXcml0ZSBzZWxlY3RvciB0byBjb21wZW5zYXRlXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL3N1cHBvcnQvY2hhdF9pY29uX2dvbGQucG5nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBUZW1wb3JhcnkgUG9zaXRpb25pbmcgY2hhbmdlIENTU1xyXG4gICAgLSBHaXZlbiBmcm9tIGZlZWRiYWNrIG9mIEdEIFRlYW0gKi9cclxuICAgIC50bXBfaGVscF9maXhlcyB7XHJcbiAgICAgIHdpZHRoOiA0MCUgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDglICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuICAgICAgdGV4dC1pbmRlbnQ6IDMwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zdXBwb3J0LWJ1dHRvbnMge1xyXG4gICAgICAuanMtcGxheXRlY2gtY2hhdCwgLmJldHNzb25DaGF0TGluay5jaGF0X2J1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDglO1xyXG4gICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgIH1cclxuICAgICAgLmpzLXBsYXl0ZWNoLWNoYXQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIEZvcm0gbG9naW4gc3R5bGluZ1xyXG4gICpcclxuICAqIENsYXNzIHVzZWQgdG8gaXNvbGF0ZSBzcGVjaWZpYyBmb3JtIChmb3JtLm1vZHVsZSB1c2VzIHRoZSBzYW1lIG1hcmt1cCBmb3IgdHdvIGRpZmZlcmVudCBsb2NhdGlvbnMpXHJcbiAgKiBPdGhlciBvbmUgaXMgYm9vdHN0cmFwIG1vZGFsXHJcbiAgKiovXHJcbiAgLnJlZ2lvbi1oZWFkZXIgLnBsYXl0ZWNoLWxvZ2luLWJsb2NrIHtcclxuXHJcbiAgICAvL05lZWRlZCB0byBhbGxvdyBmb3IgcGFkZGluZyBhbmQgbWFyZ2lucyB3aXRob3V0IGJyZWFraW5nIGxheW91dFxyXG4gICAgLnJlZ2lzdHJhdGlvbi1zdHlsZSwgLnJlZ2lzdHJhdGlvbi1zdHlsZSAqIHtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAgKiBMZWdhY3kgQ29kZVxyXG4gICAgICAqIFVzZWQgaW4gcHJldmlvdXMgdmVyc2lvbiBvZiBjb2RlXHJcbiAgICAgICogVE9ETzogU3RyaXAgb3V0IGluIG5leHQgaXRlcmF0aW9uXHJcbiAgICAgKiovXHJcbiAgICAucmVnaXN0cmF0aW9uLXN0eWxlIHtcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgICB0b3A6IDIxcHg7XHJcblxyXG4gICAgICAvL0V4dHJhIDEwcHggaXMgcGFkZGluZ1xyXG4gICAgICByaWdodDogMTYwcHgrMTBweDtcclxuICAgICAgd2lkdGg6IDI0MHB4O1xyXG5cclxuICAgICAgLy9UaGlzIGlzIHVzZWQgdG8gcHJvdmlkZSBwYXJlbnQgd2lkdGggZm9yIGFsbCBlbGVtZW50c1xyXG4gICAgICAvL2luc2lkZSAod2hpY2ggdXNlICUgY29sdW1uIHdpZHRocylcclxuICAgICAgJiA+IGRpdiB7XHJcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgICY6ZXh0ZW5kKC5ibG9ja0Rpc3BsYXkpO1xyXG4gICAgICAgIC5mbF9sZWZ0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL0luc3RlYWQgb2YgdXNpbmcgb3BhY2l0eSBvbiB0ZXh0LiBTaW11bGF0ZWQgY29sb3VyXHJcbiAgICAgIC5mb3Jnb3R0ZW4tZGV0YWlscy1saW5rIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAuVl9sb2dpbi1mb3Jnb3QtbGluaztcclxuICAgICAgICAuZm9udC1zZXR1cCgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL1VzZWQgYXMgY29sdW1uNi02IGNhbm5vdCBiZSB1c2VkXHJcbiAgICAgIC5mb3JtLWl0ZW0saW5wdXQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vVXNlZCB0byByZW1vdmUgZGVmYXVsdCBib3JkZXIgKGJyb3dzZXIgc3R5bGUpXHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZm9ybS1pdGVtIHtcclxuICAgICAgICAmOmV4dGVuZCguYmxvY2tEaXNwbGF5KTtcclxuICAgICAgICAvL1RPRE86IEZpbmQgZm9ybS1pdGVtIHNlbGVjdG9yIGFuZCBwdXQgZmxfbGVmdCBpbnRvIGNsYXNzIGluc3RlYWRcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4LzI7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwIDMwcHgvMjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmZvcm0tdGV4dCArIC5idXR0b24uc3VibWl0IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfSAvL0VuZCBvZiAucmVnaW9uLWhlYWRlciAucGxheXRlY2gtbG9naW4tYmxvY2tcclxuLy99XHJcblxyXG5cclxuXHJcbi8vVXNlZCB0byBwcmV2ZW50IHVuZGVybGluZXMgb24gYnV0dG9uc1xyXG4vL1RPRE86IExvb2sgYXQgYWxsIHN0eWxlcyBhbmQgc2VlIGlmIGJldHRlciB3YXkgdG8gY29uY2F0IGFsbCB0LWRlY29yYXRpb25zXHJcbi5idXR0b24sLmhlbHBfYnV0dG9uLC5jaGF0X2J1dHRvbiB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLnJlZ2lzdHJhdGlvbi1zdHlsZSwgLmZvcm0taGVscGVycyB7XHJcblxyXG4gIC5idXR0b24ge1xyXG4gICAgLmJ1dHRvbi1zdHlsZXMoMXB4KTtcclxuICAgIC5WX2xvZ2luLXR4dC1zaGFkb3ctY29sb3I7XHJcblxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgLlZfbG9naW4tYnV0dG9uLXN1Y2Nlc3M7XHJcbiAgICB9XHJcbiAgICAmLmluZm8ge1xyXG4gICAgICAuVl9sb2dpbi1idXR0b24taW5mbztcclxuXHJcbiAgICAgICYuZm9ybS1zdWJtaXQge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoMzBweCkgLSA1cHg7IC8vRml4IHBvc2l0aW9uaW5nIGZvciBzdWJtaXQgdGV4dFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5mb3JtLWhlbHBlcnMge1xyXG4gICAgLnB1c2gtY2hpbGQge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8vQ1NTIEFuY2hvciBJc3N1ZSAoVE9ETykgLSBGaW5kIGlzc3VlXHJcbiAgLy8gTWFyZ2luLXRvcDogMnB4IGlzbid0IGFmZmVjdGVkIHBvc2l0aW9uIG9mIHRoaXMgZWxlbVxyXG4gIGEuYnV0dG9uIHtcclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaDYsIGxhYmVsIHtcclxuICAgIC5kaXNwbGF5KG5vbmUpO1xyXG4gIH1cclxuICAucHVzaC1jaGlsZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHgvNjtcclxuICB9XHJcbn1cclxuXHJcbi5yZWdpb24taGVhZGVyIHtcclxuICAvL1RPRE86IFJlbW92ZSBmdW5jdGlvbmFsaXR5IGZyb20gbW9kYWxcclxuICBkaXYubmV3bGluZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4LzY7XHJcbiAgfVxyXG4gIGRpdi5uZXdsaW5lOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vRml4ZXMgKGFsbG93cyB0byBzaG93IG1vZGFsIGxvZ2luIGNvcnJlY3RseSlcclxuLy9UT0RPOiBDcmVhdGUgc2VwZXJhdGUgbG9naW4gZm9ybSBvYmplY3QgZm9yIG1vZGFsXHJcbi8vVE9ETzogQ29uY2F0IGFsbCBjb2x1bW4gY2xhc3Nlc1xyXG4ubG9naW4tbW9kYWwge1xyXG4gIC5yb3cge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgY2xlYXI6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5uZXdsaW5lIHtcclxuICAgIC8vVXNlZCB0byByZW1vdmUgdGhlIGNvbHVtbjYtNiBmdW5jIGZyb20gbW9kYWwgcGFzc3dvcmRcclxuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICB9XHJcbiAgLmZvcm0tc3VibWl0IHtcclxuICAgIC5WX2xvZ2luLWNvbG9yO1xyXG4gICAgLlZfbG9naW4tdHh0LXNoYWRvdy1jb2xvcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTVweDtcclxuICB9XHJcbiAgLmNvbHVtbjItNi5wdXNoLWNoaWxkIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIC5kaXNwbGF5KGlubGluZS1ibG9jaykgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTdweDtcclxuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5tZWRpdW0oe2hlaWdodDogYXV0b30pO1xyXG4gIH1cclxuICAuY29sdW1uNi02IHtcclxuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy9UT0RPOiBDT25jYXQgaW50byBtYWluIHN0eWxlc1xyXG4vLyBDUkVBVEUgU3ByaXRlIHdpdGggYWxsIGljb25zXHJcbi8vIFVzZSBzdmcgZm9udC1pY29uc1xyXG4ucmVnaXN0ZXItYnV0dG9ucyAge1xyXG4gIC54bGFyZ2Uoe1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9KTtcclxufVxyXG4ucmVnaXN0ZXItYnV0dG9ucyB7XHJcblxyXG4gIC5oZWxwX2J1dHRvbiwuY2hhdF9idXR0b24ge1xyXG4gICAgLlZfaGVhZGVyc190eHRfaGVscF9jaGF0KCk7XHJcbiAgfVxyXG5cclxuICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgdG9wOiAyNXB4O1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHdpZHRoOiA4MHB4O1xyXG4gIGhlaWdodDogNjVweDtcclxuXHJcbiAgLmhlbHBfYnV0dG9uIHtcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9zdXBwb3J0L2hlbHBfaWNvbl93aGl0ZS5wbmcpIG5vLXJlcGVhdCAxMHB4IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LWluZGVudDogMzBweDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvc3VwcG9ydC9oZWxwX2ljb25fZ29sZC5wbmcpO1xyXG4gICAgfVxyXG4gIH1cclxuICAuY2hhdF9idXR0b24ge1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDM1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9zdXBwb3J0L2NoYXRfaWNvbl93aGl0ZS5wbmcpIG5vLXJlcGVhdCAxMHB4IGNlbnRlcjtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtaW5kZW50OiAzMHB4O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9zdXBwb3J0L2NoYXRfaWNvbl9nb2xkLnBuZyk7XHJcbiAgICAgIC8vLlZfbG9naW4tc3VwcG9ydC1saW5rLWhvdmVyKCk7IC0gTm90IG5lZWRlZFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9TdGFsa2VyIFBvc2l0aW9uaW5nIEZpeGVzXHJcbi5mbG9hdGluZ192ZXJ0aWNhbHNfbWVudSB7XHJcbiAgLmhlbHAtcGFnZS1saW5rIGEsLmpzLXBsYXl0ZWNoLWNoYXQge1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtaW5kZW50OiAyNXB4Oy8vb3ZlcnJpZGUgSlAyNDcgY2hhbmdlXHJcbiAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLmpzLXBsYXl0ZWNoLWNoYXQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9zdXBwb3J0L2NoYXRfaWNvbl93aGl0ZS5wbmcnKSBuby1yZXBlYXQgMTBweCBjZW50ZXI7XHJcbiAgfVxyXG4gIC5oZWxwLXBhZ2UtbGluayB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvc3VwcG9ydC9oZWxwX2ljb25fd2hpdGUucG5nKSBuby1yZXBlYXQgMTBweCAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5sb2dpbi1tb2RhbCB7XHJcbiAgcGFkZGluZy10b3A6IDI1JTtcclxuICAuc21hcnRwaG9uZSAmIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gZml4IGZvciBhbiBpc3N1ZSBvbiBpcGhvbmVzIHNob3dpbmcgY3Vyc29yIGluY29ycmVjdGx5IGJlY2F1c2Ugb2Yga2V5Ym9hcmQgYW5kIHNjcm9sbFxyXG4gIH1cclxuICAubW9kYWwtY29udGVudCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjUlO1xyXG5cclxuICAgIC8vIEZpeCB1c2VkIHRvIHBvc2l0aW9uIGxvZ2luIG1vZGFsIG9uIGxhbmRzY2FwZSB0YWJsZXRzIChub3Qgc2hvd2luZyBjb3JyZWN0bHkgb24gR2FsYXh5IFRhYmxldCA0IDEwLjFcclxuICAgIC50YWJsZXQgJiB7ICAubGFuZHNjYXBlKHsgbWFyZ2luLXRvcDogLTQ1JTsgfSk7IH0gICAgXHJcbiAgfVxyXG4gIFxyXG4gIC5sb2dpbi1vdmVybGF5LWNvbnRlbnQgLmVycm9yX21lc3NhZ2Uge1xyXG4gICAgLy9QQVMgRklYRVMgKGRpZmZlcmVudCBsb2dpbiBtb2RhbCBub3cgdXNlZClcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbiAgJiAubG9naW4tZXJyb3IsICYgLnRlY2huaWNhbC1lcnJvciwgJiAuc2Vzc2lvbi1leHBpcmVkLCAmIC5mcm96ZW4tYWNjb3VudCwgJiAub3RoZXItZXJyb3Ige1xyXG4gICAgLmxvZ2luLW92ZXJsYXktY29udGVudCAuZXJyb3JfbWVzc2FnZSB7XHJcbiAgICAgIHBhZGRpbmc6IDdweCAwO1xyXG4gICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICAmIC50ZWNobmljYWwtZXJyb3IsICYgLnNlc3Npb24tZXhwaXJlZCwgJiAuZnJvemVuLWFjY291bnQsICYgLm90aGVyLWVycm9yIHtcclxuICAgIC5sb2dpbi1vdmVybGF5LWNvbnRlbnQgLmVycm9yX21lc3NhZ2Uge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5tZXNzYWdlcy5zdGF0dXMge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG4gIH1cclxufSIsIi8qICBHYW1lcyBOYXZpZ2F0aW9uIHwgUlRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uZ2FtZXNfbWVudSB7XHJcbiAgcGFkZGluZzogMDtcclxuICBmb250LXNpemU6IDA7XHJcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIGJsYWNrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi5nYW1lc19tZW51X3NwYWNpbmdfbWl4aW4ge1xyXG4gIC5ub3NlbGVjdCgpO1xyXG5cclxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICAmOmV4dGVuZCgub3ZlcmZsb3dIaWRkZW4pO1xyXG59XHJcblxyXG4uZ2FtZXNfY2F0ZWdvcnkge1xyXG4gIC5nYW1lc19tZW51X3NwYWNpbmdfbWl4aW47XHJcblxyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblxyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuXHJcbiAgJi5zZWxlY3RlZCB7XHJcbiAgICBhIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZ2FtZXNfbWVudSAuc3BhY2VyIHtcclxuICAuZ2FtZXNfbWVudV9zcGFjaW5nX21peGluO1xyXG5cclxuICB3aWR0aDogNTAlO1xyXG4gIHRyYW5zaXRpb246IDAuM3M7XHJcblxyXG4gICYubGFzdCB7XHJcbiAgICB3aWR0aDogMzAlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4udmlldy1pZC1nYW1lc19uYXZ7XHJcbiAgY2xlYXI6bGVmdDtcclxuICAmOmV4dGVuZCgub3ZlcmZsb3dIaWRkZW4pO1xyXG59XHJcblxyXG5cclxuLy9WZXJ0aWNhbCBtYW5hZ2VtZW50XHJcbi5jYXNpbm8tdmVydGljYWx7XHJcbiAgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMsIC5nYW1lc19tZW51IHtcclxuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZDtcclxuICAgIC5WX2dhbWVzLW5hdl9ib3JkZXJfdG9wX2Nhc2lubygpO1xyXG5cclxuXHJcbiAgICAuc21hcnRwaG9uZSZ7XHJcbiAgICAgIC5sYXJnZSh7IC5WX2dhbWVzLW5hdl9iZ19jYXNpbm8oKTsgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNwYWNlciB7XHJcbiAgICAgIC5WX2dhbWVzLW5hdl9iZ19jYXNpbm8oKTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2FtZXNfY2F0ZWdvcnl7XHJcbiAgICAgLlZfZ2FtZXMtbmF2X2JnX2Nhc2lubygpO1xyXG5cclxuICAgICAgLy8gTUJTLTI0MzggLSBPdGhlcndpc2Ugd2hlbiByZW1vdmluZyBzcGFjZXIubGFzdCB0aGVyZSBpcyBhIGdhcCBpbnRvIGJnXHJcbiAgICAgIC5zbWFydHBob25lJiB7XHJcbiAgICAgICAgLmxhcmdlKHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhe1xyXG4gICAgICAgIC5WX2dhbWVzLW5hdl9saW5rX25vcm1hbCgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc21hcnRwaG9uZSYge1xyXG4gICAgICAgICYuc2VsZWN0ZWQsICY6aG92ZXIge1xyXG4gICAgICAgICAgLlZfZ2FtZXMtbmF2X2xpbmtfaG92ZXJfc2VsZWN0ZWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5saXZlLXZlcnRpY2Fse1xyXG4gIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLCAuZ2FtZXNfbWVudSB7XHJcblxyXG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIEBzdXBlcl9nb2xkO1xyXG5cclxuICAgIC5zbWFydHBob25lJntcclxuXHJcbiAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgYmFja2dyb3VuZDogQHN1cGVyX2dvbGQ7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuICAgIC5zcGFjZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBAc3VwZXJfZ29sZDtcclxuICAgIH1cclxuXHJcbiAgICAuZ2FtZXNfY2F0ZWdvcnl7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzdXBlcl9nb2xkO1xyXG5cclxuICAgICAgLy8gTUJTLTI0MzggLSBPdGhlcndpc2Ugd2hlbiByZW1vdmluZyBzcGFjZXIubGFzdCB0aGVyZSBpcyBhIGdhcCBpbnRvIGJnXHJcbiAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgJi5zZWxlY3RlZCwmOmhvdmVyIHtcclxuICAgICAgICAuVl9nYW1lcy1uYXZfbGlua19ob3Zlcl9zZWxlY3RlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4udmVnYXMtdmVydGljYWx7XHJcbiAgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMsIC5nYW1lc19tZW51XHJcbiAge1xyXG5cclxuICAgIC5WX2dhbWVzLW5hdl9ib3JkZXJfdG9wX3ZlZ2FzKCk7XHJcblxyXG4gICAgLmxhcmdlKHtcclxuICAgICAgLlZfZ2FtZXMtbmF2X2JnX3ZlZ2FzKCk7XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgLnNwYWNlciB7XHJcbiAgICAgIC5WX2dhbWVzLW5hdl9iZ192ZWdhcygpO1xyXG4gICAgfVxyXG5cclxuICAgIC5nYW1lc19jYXRlZ29yeXtcclxuICAgICAgLlZfZ2FtZXMtbmF2X2JnX3ZlZ2FzKCk7XHJcblxyXG4gICAgICAvLyBNQlMtMjQzOCAtIE90aGVyd2lzZSB3aGVuIHJlbW92aW5nIHNwYWNlci5sYXN0IHRoZXJlIGlzIGEgZ2FwIGludG8gYmdcclxuICAgICAgLmxhcmdlKHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAmLnNlbGVjdGVkLCY6aG92ZXIge1xyXG4gICAgICAgIC5WX2dhbWVzLW5hdl9saW5rX2hvdmVyX3NlbGVjdGVkKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBnYW1lQ2F0ZWdvcmllcyB3aXRob3V0IGFueSBzY3JvbGwgYXQgYWxsICggZG9tIGlzIHRoZSBzYW1lIClcclxuLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMsIC5nYW1lc19tZW51XHJcbntcclxuICBoZWlnaHQ6IDQwcHg7IC8qICszIGJvcmRlciB0b3AgKi9cclxuXHJcbiAgLy8uc21hbGwoe1xyXG4gIC8vICBoZWlnaHQ6IDQ1cHg7IC8qICszIGJvcmRlciB0b3AgKi9cclxuICAvL30pO1xyXG5cclxuLy8gIC5nYW1lQ2F0ZWdvcmllc1JpZ2h0UGFydHtcclxuLy8gICAgYmFja2dyb3VuZDpAc3VwZXJfcmVkO1xyXG4vLyAgfVxyXG4gIC5zcGFjZXIuZmlyc3RcclxuICB7XHJcbiAgICB3aWR0aDogMzklO1xyXG4gICAgdHJhbnNpdGlvbjowLjNzO1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGg7XHJcblxyXG4gICAgLmxhcmdlKHtcclxuLy8gICAgICB3aWR0aDogMCU7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLnNwYWNlci5sYXN0XHJcbiAge1xyXG4gICAgd2lkdGg6IDM1JTtcclxuICAgIHRyYW5zaXRpb246MC4zcztcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoO1xyXG4gIH1cclxuXHJcbiAgLmdhbWVzX2NhdGVnb3J5IHtcclxuXHJcbiAgICAvLyBBbGlnbnMgdGhlIFRleHQgb2YgZWFjaCB0YWJsZS1jZWxsXHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuXHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xyXG4gICAgdHJhbnNpdGlvbiA6IDAuM3M7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG5cclxuICAgIC5zbWFsbCh7XHJcbiAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIH0pO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1vdXQ7XHJcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBAb2ZmX3doaXRlO1xyXG4gICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcclxuICAgICAgdGV4dC1zaGFkb3c6IDFweCAwIDJweCByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgICAgIHBhZGRpbmc6IDVweCA1dncgNnB4IDV2dztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgLmxhcmdlKHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDMycHggNnB4IDMycHg7XHJcblxyXG4gICAgICAgIC8vIFNtYXJ0cGhvbmVcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgLm1lZGl1bSh7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6MXB4IDE3cHggMHB4IDE3cHg7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgLnNtYWxsKHtcclxuXHJcbiAgICAgICAgLy8gTGluZSBoZWlnaHQgaXMgY2hhbmdlZCBiZWNhdXNlIHRoYXQgaXMgdXNlZCBjb25qdW5jdGlvbiB3aXRoXHJcbiAgICAgICAgLy8gdmVydGljYWwtYWxpZ24gdG8gY2VudGVyIHRleHQuIElzIHN1cHBvc2VkIHRvIG9ubHkgYmUgdXNlZCBmb3Igc2luZ2xlLWxpbmVcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIHBhZGRpbmc6MXB4IDEwcHggMHB4IDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogI0ZGRjtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmRlc2t0b3AgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMsIC5kZXNrdG9wIC5nYW1lc19tZW51XHJcbntcclxuICBoZWlnaHQ6IDU0cHg7IC8qICszIGJvcmRlciB0b3AgKi9cclxuXHJcbiAgLmdhbWVzX2NhdGVnb3J5IHtcclxuXHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4vLyAgICB0cmFuc2l0aW9uOiAwLjNzO1xyXG5cclxuICAgIC5zbWFsbCh7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7IH0pO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDI2cHggMTdweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiAwLjNzO1xyXG5cclxuICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgcGFkZGluZzogMTdweCAyMHB4IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDE3cHggMS43dncgMjBweCAxLjd2dztcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAubWVkaXVtKHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgcGFkZGluZzogMTdweCAxLjV2dyAyMHB4IDEuNXZ3O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC5zbWFsbCh7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIHBhZGRpbmc6MTdweCAxdncgMjBweCAxdnc7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBOT1QgVVNFRCBBVCBUSElTIE1PTUVOVFxyXG4vLyBnYW1lQ2F0ZWdvcmllcyB3aXRoICdub3Njcm9sbCcgc3RhdGUgKCBkZXNrdG9wICkgKCBkb20gaXMgbW9kaWZpZWQgYnkgdGhlIHdpZGdldCApXHJcbi5kZXNrdG9wIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLm5vc2Nyb2xsXHJcbntcclxuICAuc3BhY2VyLmZpcnN0XHJcbiAge1xyXG4gICAgd2lkdGg6IDM5JTtcclxuICAgIHRyYW5zaXRpb246MC4zcztcclxuICB9XHJcbiAgLnNwYWNlci5sYXN0XHJcbiAge1xyXG4gICAgd2lkdGg6IDM1JTtcclxuICAgIHRyYW5zaXRpb246MC4zcztcclxuICB9XHJcblxyXG4gIC5nYW1lc19jYXRlZ29yeSB7XHJcblxyXG4gICAgaGVpZ2h0OiAxN3B4O1xyXG5cclxuICAgIGEge1xyXG4gICAgICBwYWRkaW5nOiAxM3B4IDI2cHggMTVweCAyNnB4O1xyXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xyXG4gICAgICBoZWlnaHQ6MTdweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwRDBEMTU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIGdhbWVDYXRlZ29yaWVzIHdpdGggJ3Njcm9sbCcgc3RhdGUgKCBkZXNrdG9wICkgKCBkb20gaXMgbW9kaWZpZWQgYnkgdGhlIHdpZGdldCApXHJcbi5kZXNrdG9wIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLnNjcm9sbFxyXG57XHJcblxyXG4gIC5zcGFjZXIuZmlyc3RcclxuICB7XHJcbiAgICB3aWR0aDogOC42dnc7XHJcbiAgICB0cmFuc2l0aW9uOjAuM3M7XHJcbiAgfVxyXG4gIC5zcGFjZXIubGFzdFxyXG4gIHtcclxuICAgIHdpZHRoOiA2dnc7XHJcbiAgICB0cmFuc2l0aW9uOjAuM3M7XHJcbiAgfVxyXG5cclxuICAuZ2FtZXNfY2F0ZWdvcnkge1xyXG5cclxuICAgIGhlaWdodDogMTdweDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgcGFkZGluZzogMTNweCAyLjZ2dyAxNXB4IDIuNnZ3O1xyXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xyXG4gICAgICBoZWlnaHQ6MTdweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5cclxuXHJcbi8qICBHYW1lcyBMaXN0XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLnZpZXctZ2FtZXMsIC5nYW1lLWxpc3Qge1xyXG4gIG1pbi1oZWlnaHQ6IDE0MHB4O1xyXG4gIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAmLmxvYWRpbmdfYWxsX2dhbWVzIHtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcblxyXG4gICAgLnNtYWxsZXItdGhhbi1pcGhvbmU2KHtcclxuICAgICAgaGVpZ2h0OiAxNDBweDtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuLnZpZXctZ2FtZXMubG9hZGluZ19hbGxfZ2FtZXMsIC5nYW1lLWxpc3QubG9hZGluZ19hbGxfZ2FtZXMge1xyXG4gIGJhY2tncm91bmQ6IHVybCgnQHtzaXRlX2xvYWRpbmd9Jykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4vKiBCaW5nbyBHYW1lIExpc3RcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5iaW5nby1nYW1lcyB7XHJcbiAgbWluLWhlaWdodDogMTQwcHg7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgJi5sb2FkaW5nX2FsbF9nYW1lcyB7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG5cclxuICAgIC5zbWFsbGVyLXRoYW4taXBob25lNih7XHJcbiAgICAgIGhlaWdodDogMTQwcHg7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbi5iaW5nby1nYW1lcy5sb2FkaW5nX2FsbF9nYW1lcyB7XHJcbiAgYmFja2dyb3VuZDogdXJsKCdAe3NpdGVfbG9hZGluZ30nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxufVxyXG5cclxuYm9keS52bi1iaW5nbyB7XHJcbiAgLmxvYWRpbmdfYWxsX2dhbWVzIHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogNyU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyogR2FtZXMgV3JhcHBlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5nYW1lX3dyYXBwZXIge1xyXG4gIC5pbmxpbmUtYmxvY2soKTtcclxuXHJcbiAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gIG1hcmdpbjogMiUgMiU7XHJcblxyXG4gIHdpZHRoOiAxODBweDtcclxuICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuXHJcbiAgLmJvcmRlci1yYWRpdXMoM3B4KTtcclxuICAuamFja3BvdF9zcGlubmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGhlaWdodDogMjAlO1xyXG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gIC54bGFyZ2Uoe1xyXG4gICAgd2lkdGg6IDE1M3B4O1xyXG4gICAgbWFyZ2luOiAyLjM5JTtcclxuXHJcbiAgICAuc2V0LXR5cG9ncmFwaHktcHJvcHMobmV0cGxheV9nYW1lX2RldGFpbHMgc3BhbiwgMTEuNXB4LCAgMjBweCk7XHJcbiAgICAuc2V0LXR5cG9ncmFwaHktcHJvcHMoamFja3BvdF9zcGlubmVyLCAxM3B4LCAgMjBweCk7XHJcbiAgfSk7XHJcblxyXG4gIC5sYXJnZSh7XHJcbiAgICB3aWR0aDogMTQwcHg7XHJcbiAgICBtYXJnaW46IDEuNSU7XHJcblxyXG4gICAgLnNldC10eXBvZ3JhcGh5LXByb3BzKG5ldHBsYXlfZ2FtZV9kZXRhaWxzIHNwYW4sIDExcHgsICAyMHB4KTtcclxuICAgIC5zZXQtdHlwb2dyYXBoeS1wcm9wcyhqYWNrcG90X3NwaW5uZXIsIDEycHgsICAxOHB4KTtcclxuICB9KTtcclxuXHJcbiAgLm1lZGl1bSh7XHJcbiAgICB3aWR0aDogMTQwcHg7XHJcbiAgICBtYXJnaW46IDEuNSU7XHJcblxyXG4gICAgLnNldC10eXBvZ3JhcGh5LXByb3BzKG5ldHBsYXlfZ2FtZV9kZXRhaWxzIHNwYW4sIDExcHgsICAyMHB4KTtcclxuICAgIC5zZXQtdHlwb2dyYXBoeS1wcm9wcyhqYWNrcG90X3NwaW5uZXIsIDEycHgsICAxOHB4KTtcclxuICB9KTtcclxuXHJcbiAgLmdhbWV3cmFwcGVyLXNtYWxsLWlwNi1wbHVzKHtcclxuICAgICB3aWR0aDogMTcwcHg7XHJcbiAgICAgbWFyZ2luOiAyJTtcclxuXHJcbiAgICAuc2V0LXR5cG9ncmFwaHktcHJvcHMobmV0cGxheV9nYW1lX2RldGFpbHMgc3BhbiwgMTJweCwgIDI0cHgpO1xyXG4gICAgLnNldC10eXBvZ3JhcGh5LXByb3BzKGphY2twb3Rfc3Bpbm5lciwgMTNweCwgIDIwcHgpO1xyXG4gIH0pO1xyXG5cclxuICAuZ2FtZXdyYXBwZXItc21hbGwtaXA2KHtcclxuICAgIHdpZHRoOiAxNThweDtcclxuICAgIG1hcmdpbjogMiU7XHJcblxyXG4gICAgLnNldC10eXBvZ3JhcGh5LXByb3BzKG5ldHBsYXlfZ2FtZV9kZXRhaWxzIHNwYW4sIDExLjVweCwgIDIwcHgpO1xyXG4gICAgLnNldC10eXBvZ3JhcGh5LXByb3BzKGphY2twb3Rfc3Bpbm5lciwgMTNweCwgIDIwcHgpO1xyXG4gIH0pO1xyXG5cclxuICAuZ2FtZXdyYXBwZXItc21hbGwoe1xyXG4gICAgd2lkdGg6IDEzMHB4O1xyXG4gICAgbWFyZ2luOiAyJTtcclxuXHJcbiAgICAuc2V0LXR5cG9ncmFwaHktcHJvcHMobmV0cGxheV9nYW1lX2RldGFpbHMgc3BhbiwgMTBweCwgIDE2cHgpO1xyXG4gICAgLnNldC10eXBvZ3JhcGh5LXByb3BzKGphY2twb3Rfc3Bpbm5lciwgMTFweCwgIDE3cHgpO1xyXG4gIH0pO1xyXG5cclxuICBpbWcge1xyXG4gICAgdHJhbnNpdGlvbjogMC4xcyBsaW5lYXI7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgaGVpZ2h0OmF1dG87XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuZ2FtZS1vdmVybGF5KCk7XHJcblxyXG4gICYubmV0cGxheS1nYW1lcyxcclxuICAmLmNhdGVnb3J5XzIyMyB7XHJcbiAgICAuYm9yZGVyLXJhZGl1cygwKTtcclxuXHJcbiAgICAuZ2FtZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHRvcDogMTIzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmdhbWVfdGl0bGUge1xyXG4gICAgICAuYm9yZGVyLXJhZGl1cygwKTtcclxuXHJcbiAgICAgIGJhY2tncm91bmQ6ICMxMTE7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDRweCAwIDAgMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uZXctZ2FtZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgIHRvcDogMDsgcmlnaHQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9HQi9nYW1lcy9uZXctZ2FtZS5wbmcpIDAgMCBuby1yZXBlYXQ7XHJcbiAgICB3aWR0aDogNjRweDsgaGVpZ2h0OiA2NHB4O1xyXG4gICAgdGV4dC1pbmRlbnQ6IC0xMDAwMHB4O1xyXG4gIH1cclxuXHJcbiAgJi5nYW1lLXN0YXR1cy1vZmYtYWlyIC5wbGF5X2Zvcl9yZWFsLFxyXG4gICYuZ2FtZS1zdGF0dXMtb2ZmLWFpciAucGxheV9mb3JfZnVuLFxyXG4gICYucGxheXRlY2gtZ2FtZXMgLm5ldHBsYXlfZ2FtZV9kZXRhaWxzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gICYuZ2FtZS1zdGF0dXMtb2ZmLWFpci5uZXRwbGF5LWdhbWVzIC5nYW1lX2Rlc2NyaXB0aW9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLmN1cnJlbmN5LXN5bWJvbCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICB9XHJcblxyXG4gIC5qYWNrcG90X3NwaW5uZXIuamFja3BvdC1tcmotNCB7XHJcbiAgICBsaW5lLWhlaWdodDogMTRweDtcclxuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiAgICBwYWRkaW5nOiA2cHggMjVweCAxMHB4IDA7XHJcblxyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL0dCL2dhbWVzL3VsdGltYXRlLXBvd2VyX2ZsYXQucG5nKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxM3B4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTNweDtcclxuICAgIH0pO1xyXG4gICAgLmxhcmdlKHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIH0pO1xyXG4gICAgLm1lZGl1bSh7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLndyYXBwZXJfb3ZlcmxheXtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIHdpZHRoOjEwMHZ3O1xyXG4gICAgYmFja2dyb3VuZDojRkZGMDAwO1xyXG4gIH1cclxufVxyXG5cclxuLm5ldHBsYXlfZ2FtZV9kZXRhaWxzIHtcclxuICBib3R0b206IDA7XHJcbiAgaGVpZ2h0OiAyMCU7XHJcbiAgbGVmdDogMDtcclxuICBsaW5lLWhlaWdodDogMjRweDtcclxuICAmOmV4dGVuZCgub3ZlcmZsb3dIaWRkZW4pO1xyXG4gICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgc3BhbiB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IC8vIEZpeGVzIGFudGlhbGlhc2luZyBpbiBGRiBhbmQgT3BlcmFcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgJi5nYW1lX3N0YXR1c19tZXNzYWdlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjgpO1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgd2lkdGg6IDQwJTtcclxuXHJcbiAgICAgICYub25fYWlyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3NCwgMjQsIDI3LCAwLjgpO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5zcGlubmVyX3R5cGUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XHJcbiAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZ2FtZXMtbGl2ZS1nYW1lcyAuZ2FtZV93cmFwcGVyIHtcclxuICAuYm9yZGVyLXJhZGl1cygwKTtcclxuICBtYXJnaW46IDEycHg7XHJcbiAgd2lkdGg6IDMwMHB4O1xyXG4gIGhlaWdodDogMTY3cHg7XHJcblxyXG4gIC5uZXRwbGF5X2dhbWVfZGV0YWlscyB7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZ2FtZV9vdmVybGF5IC5nYW1lX3RpdGxlIHtcclxuICAgIGJhY2tncm91bmQ6ICMxMTE7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiA2cHggMCAycHg7XHJcbiAgICB0b3A6IDA7XHJcbiAgfVxyXG5cclxuICAuZ2FtZV9vdmVybGF5IC5wbGF5X2Zvcl9yZWFsIHtcclxuICAgIG1hcmdpbi10b3A6IDYycHg7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgfVxyXG5cclxuICAuZ2FtZV9vdmVybGF5IC5nYW1lX2Rlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbi10b3A6IDU1cHg7XHJcbiAgfVxyXG5cclxuICAueGxhcmdlKHtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICB9KTtcclxuICAubGFyZ2Uoe1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gIH0pO1xyXG4gIC5tZWRpdW0oe1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gIH0pO1xyXG4gIC5zbWFsbCh7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgfSk7XHJcbn1cclxuXHJcblxyXG4uZG91YmxlLWxhdW5jaC1jb250ZW50IHtcclxuXHJcbiAgYmFja2dyb3VuZDogIzNlMzE0ZjtcclxuXHJcbiAgLnZpZXctY29udGVudHtcclxuICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgfVxyXG4gIC52aWV3LWdhbWVzLCAuZ2FtZS1saXN0IHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgLmRvdWJsZS1sYXVuY2gtbGluay13cmFwcGVye1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG5cclxuICAuZ2FtZS13cmFwcGVyIHtcclxuICAgIC5nYW1lX3dyYXBwZXIoKTtcclxuXHJcbiAgICBtYXJnaW46IDIwcHggMTJweDtcclxuXHJcbiAgICAuZ2FtZV9vdmVybGF5IHtcclxuICAgICAgJi5kb3VibGUtbGF1bmNoLXNlbGVjdGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMClcIjtcclxuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcclxuICAgICAgICAta2h0bWwtb3BhY2l0eTogMTtcclxuICAgICAgICAtbW96LW9wYWNpdHk6IDE7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kYmwtbnVtYmVycyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLTUwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTQwcHg7XHJcblxyXG4gICAgICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44Nyk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjg3KTtcclxuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuODcpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICAubGFyZ2Uoe1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgLnNtYWxsKHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjczKTtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzMpO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC43Myk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5nYW1lLTEgLmRibC1udW1iZXJzIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2dlbmVyYWwvZGJsLW51bWJlcnMucG5nKSAwIDAgbm8tcmVwZWF0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmdhbWUtMiAuZGJsLW51bWJlcnMge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvZ2VuZXJhbC9kYmwtbnVtYmVycy5wbmcpIDAgLTEyM3B4IG5vLXJlcGVhdDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5pbmFjdGl2ZS1vcHRpb24ge1xyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICBtYXJnaW46IDQ2cHggYXV0byAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0MnB4O1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAubGFyZ2Uoe1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMzZweDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLnNtYWxsKHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgLmRibC1udW1iZXJzIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAtMTAwMDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRvdWJsZS1sYXVuY2gtbGluay13cmFwcGVyIHtcclxuICAgICYuaGlkZGVuIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgLmJ1dHRvbi1zdHlsZSgpO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5qcy1kb3VibGUtbGF1bmNoLWxpbmsge1xyXG4gICAgICAucHJpbWFyeS1idXR0b24oKTtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnQtYWdhaW4ge1xyXG4gICAgICAuc2Vjb25kYXJ5LWJ1dHRvbigpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbmJvZHkubGl2ZS12ZXJ0aWNhbHtcclxuICAuZ2FtZXMtbGl2ZS1nYW1lcyAuZ2FtZS13cmFwcGVyIC5nYW1lX292ZXJsYXkge1xyXG4gICAgLmdhbWVfdGl0bGUge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbiAgICAuZ2FtZV9kZXNjcmlwdGlvbntcclxuICAgICAgbWFyZ2luLXRvcDogNTVweDtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIH1cclxuICAgIC5wbGF5X2Zvcl9yZWFsIHtcclxuICAgICAgbWFyZ2luLXRvcDogNjJweDtcclxuICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogIEdhbWVzIE92ZXJsYXlcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uZ2FtZS1vdmVybGF5KCkge1xyXG4gIC5nYW1lX292ZXJsYXkge1xyXG4gICAgLmJvcmRlci1yYWRpdXMoM3B4KTtcclxuXHJcbiAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgYmFja2dyb3VuZDogcmdiYSgxMiwgMCwgMCwgMC40KTtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGxpbmVhcjtcclxuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcclxuICAgIC1raHRtbC1vcGFjaXR5OiAwO1xyXG4gICAgLW1vei1vcGFjaXR5OiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgICYgKiB7XHJcbiAgICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIiAhaW1wb3J0YW50O1xyXG4gICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuZ2FtZV90aXRsZSB7XHJcbiAgICAgIC5ub3NlbGVjdCgpO1xyXG5cclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgbWFyZ2luOiAxcHggYXV0bztcclxuXHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG4gICAgICBwYWRkaW5nOiA0cHggMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgei1pbmRleDogMjA7XHJcblxyXG4gICAgICAueGxhcmdlKHtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgLmxhcmdlKHtcclxuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgLmJ1dHRvbi1zdHlsZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5wbGF5X2Zvcl9yZWFsIHtcclxuICAgICAgLnByaW1hcnktYnV0dG9uO1xyXG5cclxuICAgICAgbWFyZ2luOiAyNnB4IGF1dG8gMDtcclxuICAgICAgd2lkdGg6IDExMnB4O1xyXG5cclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuXHJcbiAgICAgIC54bGFyZ2Uoe1xyXG4gICAgICAgIG1hcmdpbjoyM3B4IGF1dG8gMDtcclxuICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgLmxhcmdlKHtcclxuICAgICAgICBtYXJnaW46MjBweCBhdXRvIDA7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC5wbGF5X2Zvcl9mdW4ge1xyXG4gICAgICAuVl9zZWNvbmRhcnlfYnV0dG9uKCk7XHJcbiAgICAgIG1hcmdpbjogOHB4IGF1dG87XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIHdpZHRoOiA4MHB4O1xyXG5cclxuICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG5cclxuICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggYXV0bztcclxuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAubGFyZ2Uoe1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcclxuICAgICAgfSk7XHJcblxyXG5cclxuICAgIH1cclxuXHJcbiAgICAubW9yZV9pbmZvIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgcmlnaHQ6IDhweDtcclxuICAgICAgYm90dG9tOiA1cHg7XHJcblxyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICB0ZXh0LWluZGVudDogLTEwMDAwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9pY29ucy9pbmZvX2ljb24ucG5nJykgY2VudGVyIHRvcCBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogODAlO1xyXG5cclxuICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgcmlnaHQ6IDNweDtcclxuICAgICAgICBib3R0b206IDFweDtcclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAuZ2FtZV9kZXNjcmlwdGlvbiB7XHJcbiAgICAgIC5ub3NlbGVjdCgpO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBtYXJnaW46IDI1cHggYXV0byAwO1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XHJcbiAgICAgIHBhZGRpbmc6IDVweDtcclxuXHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgc3Ryb25nIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjZTBDNTZhO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICNjMmMyYzI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjFweDtcclxuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS43cmVtO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICAuZ2FtZV9vdmVybGF5IHtcclxuICAgICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApXCI7XHJcbiAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xyXG4gICAgICAta2h0bWwtb3BhY2l0eTogMTtcclxuICAgICAgLW1vei1vcGFjaXR5OiAxO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAmICoge1xyXG4gICAgICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKVwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCkgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW1nLCAubmV0cGxheV9nYW1lX2RldGFpbHMsIC5qYWNrcG90X3NwaW5uZXIge1xyXG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig1cHgpIHNhdHVyYXRlKDgwJSk7XHJcbiAgICAgIGZpbHRlcjogYmx1cig1cHgpIHNhdHVyYXRlKDgwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5LnRhYmxldCwgYm9keS5zbWFydHBob25le1xyXG4gIC5nYW1lX3dyYXBwZXJ7XHJcbiAgICAuZ2FtZV9vdmVybGF5IHtcclxuICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAuZ2FtZV9vdmVybGF5IHtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgaW1nLCAubmV0cGxheV9nYW1lX2RldGFpbHMsIC5qYWNrcG90X3NwaW5uZXIge1xyXG4gICAgICAgICAgLXdlYmtpdC1maWx0ZXI6bm9uZTtcclxuICAgICAgICAgIGZpbHRlcjpub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiAgR2FtZSBJbmZvIFBvcHVwXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLnBhZ2UtZ2FtZXN7XHJcbiAgI3NiLXdyYXBwZXItaW5uZXJ7XHJcbiAgICBib3gtc2hhZG93Om5vbmU7XHJcbiAgICBib3JkZXI6MDtcclxuICB9XHJcbiAgI3NiLXdyYXBwZXJ7XHJcbiAgICB3aWR0aDoyMjBweDtcclxuICB9XHJcbiAgI3NiLWJvZHl7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxufVxyXG5cclxuLndyYXBwZXJfb3ZlcmxheXtcclxuICB3aWR0aDogMTgwcHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcclxuICB0b3A6IDUwJTtcclxuICBwYWRkaW5nOjUwcHggNTBweDtcclxuICAuVl9nYW1lLXBvcHVwX21vYmlsZV9iZ19vdmVybGF5KCk7XHJcblxyXG4gIC5sYXJnZSh7XHJcbiAgICBwYWRkaW5nOjUwcHggNTBweDtcclxuICB9KTtcclxuICAubWVkaXVtKHtcclxuICAgIHBhZGRpbmc6MjBweDtcclxuICB9KTtcclxuICAuc21hbGwtaGVpZ2h0KHtcclxuICAgIHBhZGRpbmc6MjBweCAzMHB4O1xyXG4gIH0pO1xyXG5cclxuICAuZ2FtZV90aXRsZXtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xyXG5cclxuICAgIC5zbWFsbC1oZWlnaHQoe1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLnBsYXlfZm9yX3JlYWwge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbWFyZ2luOiAyNnB4IGF1dG8gMDtcclxuICAgIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gICAgcGFkZGluZy10b3A6IDExcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxODBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAuVl9nYW1lLXBvcHVwX21vYmlsZV9idF9qb2luX25vdygpO1xyXG5cclxuICAgIC5zbWFsbC1oZWlnaHQoe1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDo1cHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOjVweFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gICAgLnBsYXlfZm9yX2Z1biB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW46IDEwcHggYXV0byAwcHg7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICAgIHBhZGRpbmctdG9wOiAxMXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDExcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTA1cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgLlZfZ2FtZS1wb3B1cF9tb2JpbGVfYnRfZGVtbygpO1xyXG5cclxuICAgIC5zbWFsbC1oZWlnaHQoe1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAgIHBhZGRpbmctdG9wOjVweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206NXB4XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAubW9yZV9pbmZvX2NvbnRhaW5lcntcclxuICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICY6aG92ZXJ7XHJcbiAgICAgIC5pbmZvLCAubW9yZV9pbmZve1xyXG4gICAgICAgIGNvbG9yOiAjZDRiMTVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmluZm97XHJcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgLlZfZ2FtZS1wb3B1cF9tb2JpbGVfbW9yZV9pbmZvX2xpbmsoKTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBibGluaztcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLm1vcmVfaW5mb3tcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAuVl9nYW1lLXBvcHVwX21vYmlsZV9tb3JlX2luZm9fbGluaygpO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGJsaW5rO1xyXG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB0b3A6LTZweDtcclxuICAgICAgbGVmdDogMTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jbG9zZXtcclxuICAgIGZvbnQtc2l6ZTogMjBwdDtcclxuICAgIGNvbG9yOiAjQTdBN0E3O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBibGluaztcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogLTQ3cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC00NXB4O1xyXG5cclxuICAgICY6aG92ZXJ7XHJcbiAgICAgIGNvbG9yOiAjZDRiMTVlO1xyXG4gICAgfVxyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIG1hcmdpbi10b3A6IC00N3B4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC00NXB4O1xyXG4gICAgfSk7XHJcbiAgICAubWVkaXVtKHtcclxuICAgICAgbWFyZ2luLXRvcDogLTE5cHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XHJcbiAgICB9KTtcclxuXHJcbiAgICAuc21hbGwtaGVpZ2h0KHtcclxuICAgICAgbWFyZ2luLXRvcDogLTIycHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTQ1cHg7XHJcblxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuXHJcbi8vdGhpcyBhZmZlY3RzIHRoZSBmcm9udCBwYWdlICggcG9wdXAgaW5jbHVkZWQgKSArIGdhbWUtaW5mbyBwYWdlIGJ1dHRvbnMub2ZmLWFpclxyXG4qW2RhdGEtZ2FtZS1jb2RlXS5nYW1lLXN0YXR1cy1vZmYtYWlye1xyXG4gICAgZmlsdGVyOmdyYXlzY2FsZSg1MCUpO1xyXG4gICAgLXdlYmtpdC1maWx0ZXI6Z3JheXNjYWxlKDUwJSk7XHJcbiAgICAtbXMtZmlsdGVyOiBncmF5c2NhbGUoNTAlKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLy8gZGlzYWJsaW5nIGRlbW8gZm9yIG5ldHBsYXkgZ2FtZXNcclxuLmdhbWUtc3RhdHVzIHtcclxuICAgICYucmUgLnBsYXktZm9yLWZ1bi5idXR0b24sXHJcbiAgICAmLnJlcCAucGxheS1mb3ItZnVuLmJ1dHRvbixcclxuICAgICYuZHVhbCAucGxheS1mb3ItZnVuLmJ1dHRvbixcclxuICAgICYubHIgLnBsYXktZm9yLWZ1bi5idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIE1haW50ZW5hbmNlIE1vZGUgKi9cclxuXHJcbi8qIGdhbWVfd3JhcHBlciBmb3IgXCJmbGV4IGdhbWUgbGlzdFwiLCBnYW1lLXdyYXBwZXIgZm9yIHRoZSBcImZsZXggbGFyZ2UgZ3JpZFwiIFZpZXcgLSBOYW1pbmcgY29udmVudGlvbiBuZWVkZWQqL1xyXG4ubWFpbnRlbmFuY2UtbW9kZShAYmc6dHJhbnNwYXJlbnQsQHJlc3Q6IG5vbmUpIHtcclxuICAuZGlzYWJsZS1uZXRwbGF5LWdhbWVzIC5uZXRwbGF5LWdhbWVzLmdhbWVfd3JhcHBlciwgLmRpc2FibGUtcGxheXRlY2gtZ2FtZXMgLnBsYXl0ZWNoLWdhbWVzLmdhbWVfd3JhcHBlciwgLnZlcnRpY2FsLWdhbWVzLWRpc2FibGVkIC5nYW1lX3dyYXBwZXIsIC5nYW1lX3dyYXBwZXIubWFpbnRlbmFuY2UtbW9kZSB7XHJcblxyXG5cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLy8gUHJldmVudHMgYmx1ciBhbmQgc2F0dXJhdGlvblxyXG4gICAgICAubmV0cGxheV9nYW1lX2RldGFpbHMsLmphY2twb3Rfc3Bpbm5lcixpbWcgeyBmaWx0ZXI6IG5vbmU7LXdlYmtpdC1maWx0ZXI6IG5vbmU7IH1cclxuICAgIH1cclxuICAgIC5nYW1lX3RpdGxlLCAubmV0cGxheV9nYW1lX2RldGFpbHMsIC5qYWNrcG90X3NwaW5uZXIsIC5nYW1lX292ZXJsYXkgLmJ1dHRvbiwucGxheV9mb3JfZnVuLCAuZ2FtZV9vdmVybGF5IC5tb3JlX2luZm8sLmdhbWVfZGVzY3JpcHRpb24geyAgLmRpc3BsYXkobm8pOyAgfVxyXG5cclxuICAgIC8vVE9ETzogUmVtb3ZlIHRoaXMgZGVwZW5kZW5jeSAodG9vLXNwZWNpZmljLCBjYW4gYmUgdXNlZCBpbiBtaXhpbiBtb3JlIGdlbmVyaWMgaW5zdGVhZClcclxuICAgIC5nYW1lX3dyYXBwZXIuZ2FtZS1zdGF0dXMtb2ZmLWFpci5uZXRwbGF5LWdhbWVzIC5nYW1lX2Rlc2NyaXB0aW9uLC5nYW1lX3dyYXBwZXIgLmdhbWVfb3ZlcmxheSAubW9yZV9pbmZvIHsgLmRpc3BsYXkobm8pOyB9XHJcblxyXG4gIC5nYW1lX292ZXJsYXkge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIFxyXG4gICAgICAvLyBVc2VkIHRvIHByZXZlbnQgZml4ZWQgaGVpZ2h0ICgxMDdweClcclxuICAgICAgLmxpdmUtdmVydGljYWwmIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6OmJlZm9yZSwmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgJjpleHRlbmQoLmJsb2NrRGlzcGxheSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5nYW1lX292ZXJsYXkge1xyXG4gICAgICAmIHdoZW4gKEBiZyA9IGRlZmF1bHQpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy9hc3NldHMvZ2VuZXJhbC9nYW1lcy1tYWludGVuYW5jZS1tZXNzYWdlLTE4MHgxMDAucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgfVxyXG4gICAgICAmIHdoZW4gbm90IChAYmcgPSBkZWZhdWx0KSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogQGJnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmIHdoZW4gbm90IChAcmVzdCA9IG5vbmUpIHtcclxuICAgICAgQHJlc3QoKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLy8gVXNlZCB0byBvdmVycmlkZSBzbWFydHBob25lIGFuZCB0YWJsZXQgZ2FtZV9vdmVybGF5XHJcbiAgLmRpc2FibGUtbmV0cGxheS1nYW1lcyAubmV0cGxheS1nYW1lcy5nYW1lX3dyYXBwZXIsIC5kaXNhYmxlLXBsYXl0ZWNoLWdhbWVzIC5wbGF5dGVjaC1nYW1lcy5nYW1lX3dyYXBwZXIsIC52ZXJ0aWNhbC1nYW1lcy1kaXNhYmxlZCAuZ2FtZV93cmFwcGVyIHtcclxuICAgIGJvZHkudGFibGV0JiwgYm9keS5zbWFydHBob25lJiB7IC5nYW1lX292ZXJsYXkgeyAmOmV4dGVuZCguYmxvY2tEaXNwbGF5KTsgfX1cclxuICB9XHJcbiAgYm9keS50YWJsZXQgLmdhbWVfd3JhcHBlci5tYWludGVuYW5jZS1tb2RlLCBib2R5LnNtYXJ0cGhvbmUgLmdhbWVfd3JhcHBlci5tYWludGVuYW5jZS1tb2RlIHtcclxuICAgLmdhbWVfb3ZlcmxheSB7ICY6ZXh0ZW5kKC5ibG9ja0Rpc3BsYXkpOyB9XHJcbiAgfVxyXG59XHJcblxyXG4iLCIvKlxubGF5b3V0Lmxlc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BdXRob3I6ICBNYWthbiBKIEhvdXN0b25cbkNvbnRyaWJ1dG9yczogIC1cbkRlc2NyaXB0aW9uOiAgTGF5b3V0IGZvciBGTEVYIHRoZW1lIC0gaW5jbHVkaW5nIHBhZ2Ugc3RydWN0dXJlLCBjb21wb25lbnQgcG9zaXRpb25pbmcgYW5kIGdlbmVyaWMgc3R5bGluZ1xuQ29weXJpZ2h0IDIwMTUgTmV0cGxheVRWIHBsYy5cblxuLyogIFBhZ2UgTGF5b3V0XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ucm93OjphZnRlcntcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xufVxuXG4uY29sdW1uMS02IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHdpZHRoOjE2LjY2NjY2NjY2NjclO1xufVxuXG4uY29sdW1uMi02IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHdpZHRoOjMzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sdW1uMy02IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHdpZHRoOjUwLjAlO1xufVxuXG4uY29sdW1uNC02IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHdpZHRoOjY2LjY2NjY2NjY2NjclO1xufVxuXG4uY29sdW1uNS02IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHdpZHRoOjgzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sdW1uNi02IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHdpZHRoOjEwMCU7XG59XG5cbi54bGFyZ2UgKHtcbiAgICAuY29sdW1uMS02LCAuY29sdW1uMi02LCAuY29sdW1uMy02LCAuY29sdW1uNC02LCAuY29sdW1uNS02LCAuY29sdW1uNi02e1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB9XG59KTtcblxuLmxhcmdlICh7XG4gICAgLmNvbHVtbjEtNiwgLmNvbHVtbjItNiwgLmNvbHVtbjMtNiwgLmNvbHVtbjQtNiwgLmNvbHVtbjUtNiwgLmNvbHVtbjYtNntcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgfVxufSk7XG5cbi5zaWRlYmFyLXJlc3BvbnNpdmV7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAueGxhcmdlICh7IFxuICAgIHdpZHRoOiA1MCU7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgZmxvYXQ6bGVmdDtcbiAgfSk7XG5cbiAgLm1lZGl1bSAoeyBcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgfSk7XG59XG5cblxuYm9keXtcbiAgYmFja2dyb3VuZDogIzFBMDExRTtcblxuICAmLm5vc2Nyb2xse1xuICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucGFnZSB7XG4gICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5ib2R5LmRlc2t0b3AgLnBhZ2V7XG4gIG1heC13aWR0aDogMTAwMHB4O1xufVxuXG5ib2R5LnN0YW5kYWxvbmV7XG4gIC5wYWdle1xuXG4gIH1cbn1cblxuLmNsZWFyIHsgY2xlYXI6IGJvdGg7IH1cblxuYm9keS5saXZlLXZlcnRpY2FsIC5wYWdlLWNvbnRlbnQgLmNvbHVtbjItNntcbiAgLnNpZGViYXItcmVzcG9uc2l2ZXtcbiAgICAueGxhcmdlKHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfSk7XG5cbiAgICAjbW9iaWxlX2FwcF9zdG9yZV9iYWRnZXMgYXtcbiAgICAgIC54bGFyZ2Uoe1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjowIDVweDtcbiAgICAgIH0pO1xuICAgIH0gICAgICAgXG4gIH1cbn1cblxuXG5cbmJvZHl7XG4gICYubG9nZ2VkLWlue1xuICAgIC5nYW1lX3dyYXBwZXJ7XG4gICAgICAmLm5ldHBsYXktZ2FtZXN7XG4gICAgICAgICYubHIsICYucmUsICYucmVwIHtcbiAgICAgICAgICAucGxheV9mb3JfZnVue1xuICAgICAgICAgIC8vZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgXG4gICAgICAgICAgfVxuICAgICAgICB9IFxuICAgICAgfVxuICAgIH1cbiAgICAud3JhcHBlcl9vdmVybGF5e1xuICAgICAgJi5sciwgJi5yZSwgJi5yZXAge1xuICAgICAgICAucGxheV9mb3JfZnVue1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyogIEhlYWRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnJlZ2lvbi1oZWFkZXIge1xuICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XG4gIHotaW5kZXg6IDIwMDtcbiAgaGVpZ2h0OiAxODNweDtcbiAgICAueGxhcmdlKHtcbiAgICAgIC5WX2hlYWRlcnNfbW9iaWxlX2JnX3RvcCgpO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvLyBUaGlzIHotaW5kZXggbXVzdCBhbHdheXMgYmUgdGhlIGhpZ2hlc3Qgb24gd2Vic2l0ZSAoYmVjYXVzZSBvZiBtb2JpbGUvdGFibGV0IG1lbnUpXG4gICAgICB6LWluZGV4OiAyMDAwOyAvLyBVc2VkIHRvIGFsbG93IG1vYmlsZSBtZW51IHRvIG92ZXJsYXAgcG9wdWxhciBnYW1lc1xuICAgIH0pO1xuICAgIC5tZWRpdW0oe1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH0pO1xuICAgIC5zbWFsbCh7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfSk7XG59XG5cbmJvZHkudGFibGV0LCBib2R5LnNtYXJ0cGhvbmV7XG4gIC5yZWdpb24taGVhZGVye1xuICAgIC50YWJsZXQteHhsYXJnZSh7XG4gICAgICAuVl9oZWFkZXJzX21vYmlsZV9iZ190b3AoKTtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH0pO1xuICB9XG59XG5cblxuLy9iZWNhdXNlIG9mIHRoZSBzdGF0dXNiYXIgaW4gc21hcnRwaG9uZVxuYm9keS5zdGFuZGFsb25le1xuICAucmVnaW9uLWhlYWRlcntcbiAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICMyZDJkMmQ7XG4gIH1cbn1cblxuLyogIENvbnRlbnQgSGVhZGVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi5jb250ZW50LWhlYWRlciBoMSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDI0cHggNDBweCAyMHB4O1xuXG4gICAgLmxhcmdlKHtcbiAgICAgICBwYWRkaW5nOiAyNHB4IDIwcHggMjBweDtcbiAgICB9KTtcblxuICAgIC5zbWFsbCh7XG4gICAgICAgcGFkZGluZzogMjBweCAxMHB4IDEwcHg7XG4gICAgfSk7XG59XG5cblxuLyogIFJlZ2lvbiBCYW5uZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5yZWdpb24tYmFubmVye1xuICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XG5cbiAgLy8gVG8gcHJldmVudCBiaW5nbyBWZXJub25zIGZyb20gdXNpbmcgdGhlc2UgdmFsdWVzXG4gIC5zYy1jYXNpbm8gJiwgLnNjLXZlZ2FzICYsIC5zYy1saXZlICYsIC5qYS1jYXNpbm8gJiB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gICAgbWF4LWhlaWdodDogMjU1cHg7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyAvLyB0byBoaWRlIHRoZSB3aW5uZXJzIGxpc3RcbiAgfVxuXG4gIC8vIFRvIHB1c2ggaGlnaGVyIHVwIHN0YWNraW5nIG9yZGVyIChNQlMtMjUyMSlcbiAgei1pbmRleDogMTAwMDtcblxuICAmOmFmdGVye1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGhlaWdodDogMDtcbiAgfVxufVxuXG4vKiAgQ29udGVudCBCb2R5XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi5wYWdlLWNvbnRlbnQge1xuICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cblxuLnJlZ2lvbi1jb250ZW50IHtcbiAgICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7ICAgLyogICBmb3IgcXVpY2t0YWJzIGdhbWVzIHNlYXJjaCAgICovXG5cbiAgICAubm9kZS1wYWdlLFxuICAgIC5ub2RlLXRlcm1ze1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW46IC0xcHggMjBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMXB4IDIwcHggMDtcblxuXG4gICAgICAgICAgICAubGFyZ2Uoe1xuICAgICAgICAgICAgICBtYXJnaW46IC0xcHggMTBweCAwO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxcHggMTBweCAwO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC5zbWFsbCh7XG4gICAgICAgICAgICAgIG1hcmdpbjogLTFweCA1cHggMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMXB4IDVweCAwO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiAgU2lkZWJhclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5ib2R5LnNpZGViYXItZmlyc3Qge1xuICAgIC5yZWdpb24tY29udGVudCB7XG5cbiAgICAgICAgLm5vZGUtcGFnZSxcbiAgICAgICAgLm5vZGUtdGVybXN7XG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2VzIHtcbiAgICAgICAgd2lkdGg6IDY0MHB4OyAvLyBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIC8vbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuXG5ib2R5LnNpZGViYXItZmlyc3QgLnBhZ2UgLnJlZ2lvbi1zaWRlYmFyLWZpcnN0IHtcbiAgICAvLyY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcbiAgICAvL3RvcDogLTIwcHg7XG4gICAgLy9yaWdodDogMTBweDtcbiAgICAvL3dpZHRoOiAzMDBweDtcblxuICAgID4gLmJsb2NrIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgfVxufVxuXG4vKiAgRm9vdGVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi5yZWdpb24tZm9vdGVyIHtcbiAgICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBjbGVhcjogYm90aDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZy10b3A6IDZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLmRlc2t0b3AgLnJlZ2lvbi1mb290ZXJ7XG4gIG1heC13aWR0aDogMTAwMHB4O1xufVxuXG4ucmVnaW9uLWZvb3RlciAubWVudSB7XG4gICAgcGFkZGluZzogMTJweCAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLm9ubHktZGVza3RvcCgpO1xuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICAuaW5saW5lLWJsb2NrKCk7XG4gICAgICAgIHBhZGRpbmc6IDBweCAyMHB4O1xuXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgJi5sYXN0IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgLlZfZm9vdGVyX21lbnVfbGlua3MoKTtcbiAgICB9XG59XG5cbi5yZWdpb24tZm9vdGVyIC52aWV3LXBheW1lbnQtbWV0aG9kcyB7XG4gICAgbWFyZ2luOiAzcHggMDtcblxuICAgIGRpdiB7XG4gICAgICAgIC5pbmxpbmUtYmxvY2soKTtcbiAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICAub3BhY2l0eSgwLjcpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxufVxuXG4uc29jaWFsX2xpbmtzIHtcbiAgICAuaW5saW5lLWJsb2NrKCk7XG5cbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIFxuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5zb2NpYWwtaWNvbiB7XG4gICAgLmlubGluZS1ibG9jaygpO1xuXG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2xvZ29zL3NvY2lhbF9pY29ucy5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC5vcGFjaXR5KDAuNyk7XG4gICAgdGV4dC1pbmRlbnQ6IC0xMDAwMHB4O1xuXG4gICAgJi5mYWNlYm9vayB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgICY6aG92ZXIgeyAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzZweDsgfVxuICAgIH1cblxuICAgICYudHdpdHRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICAmOmhvdmVyIHsgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMzZweDsgfVxuICAgIH1cbn0gXG5cblxuLyogaGFjayBmb3IgZmlyZWZveCAqL1xuXG5ib2R5Om5vdCg6LW1vei1oYW5kbGVyLWJsb2NrZWQpIC5zb2NpYWwtaWNvbi5mYWNlYm9vayB7XG4gICBtYXJnaW4tdG9wOiAtOHB4O1xufVxuXG5ib2R5Om5vdCg6LW1vei1oYW5kbGVyLWJsb2NrZWQpIC5zb2NpYWwtaWNvbi50d2l0dGVyIHtcbiAgIG1hcmdpbi10b3A6IC04cHg7XG59XG5cblxuXG4uY29ycG9yYXRlX2ljb25zIHtcbiAgICAuaW5saW5lLWJsb2NrKCk7XG5cbiAgICBkaXYge1xuICAgICAgICAuaW5saW5lLWJsb2NrKCk7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAub3BhY2l0eSgwLjcpO1xuICAgIH1cbn1cblxuXG5cbi8qICAtLS0gcGF5bWVudCBtZXRob2QgaW4gZm9vdGVyIGZvciByZXNwb25zaXZlIC0tLSAgKi9cblxuLnJlZ2lvbi1mb290ZXJ7XG5cbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkO1xuICAuVl9mb290ZXJfc2VwYXJhdGlvbl9saW5lKCk7XG5cbiAgLnhsYXJnZSh7XG4gICAgICBwYWRkaW5nOjAgMjBweDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH0pO1xuXG4gIC52aWV3LXBheW1lbnQtbWV0aG9kc3tcbiAgICAuc21hbGwoe1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgfSk7XG5cbiAgICAudmlld3Mtcm93LnZpZXdzLXJvdy00e1xuICAgICAgLm9ubHktZGVza3RvcCgpO1xuICAgIH1cblxuICAgIC52aWV3cy1yb3cudmlld3Mtcm93LTd7XG4gICAgICAub25seS1kZXNrdG9wKCk7XG4gICAgfVxuXG4gICAgLnZpZXdzLXJvdy52aWV3cy1yb3ctMTF7XG4gICAgICAuc21hbGwoe1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGltZ3tcblxuICAgICAgLnNtYWxsKHtcbiAgICAgICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6MTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZGl2e1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIC5zbWFsbCh7XG4gICAgICAgICAgd2lkdGg6MTklO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH0pO1xuXG4gICAgICAmLnZpZXctY29udGVudHtcbiAgICAgICAgLnhsYXJnZSAoe1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgICAgICAuVl9mb290ZXJfbW9iaWxlX3NlcGFyYXRpb25fdG9wKCk7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgICAgICAgIC5WX2Zvb3Rlcl9tb2JpbGVfc2VwYXJhdGlvbl9ib3R0b20oKTtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMCAwIDA7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC5zbWFsbCh7XG4gICAgICAgICAgIHdpZHRoOjk1JTtcbiAgICAgICAgICAgcGFkZGluZy1sZWZ0OjUlO1xuICAgICAgICB9KTtcbiAgICAgICAgXG4gICAgICB9ICBcbiAgICB9XG4gIH1cblxuICAuZm9vdGVyLWFwcC1idXR0b25ze1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAueGxhcmdlKHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgfSk7XG5cbiAgICB1bCBsaXtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgfVxuXG4gIC5mb290ZXItbW9iaWxlLW1lbnV7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC54bGFyZ2Uoe1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOjE1cHg7XG4gICAgfSk7XG5cbiAgICB1bCBsaXtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMHB4IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIGF7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIC5WX2Zvb3Rlcl9tb2JpbGVfbWVudV9saW5rKCk7XG5cbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnJ3ZC1pbmxpbmV7XG4gICAgICAgIC5sYXJnZSh7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lOyAgICBcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLnNtYWxsKHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuXG4uZm9vdGVyLXNvY2lhbC1jb3Jwb3JhdGV7XG4gIG1hcmdpbi10b3A6IDBweDtcblxuICB1bCB7IFxuICAgIGxpIHtcbiAgICAgIC5pbmxpbmUtYmxvY2soKTtcbiAgICAgIG1hcmdpbjogMTBweCAxMnB4O1xuICAgICAgb3BhY2l0eTogMC43OyAgXG5cbiAgICAgIGEge1xuICAgICAgICBoZWlnaHQ6MzZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cblxuICAgICAgLnhsYXJnZSh7XG4gICAgICAgIG1hcmdpbjogMTBweCA3cHg7XG4gICAgICB9KTtcblxuICAgICAgLm1lZGl1bSh7XG4gICAgICAgIG1hcmdpbjogMTBweCA0cHggO1xuICAgICAgfSk7IFxuXG4gICAgICAuc21hbGwoe1xuICAgICAgICBtYXJnaW46IDEwcHggN3B4O1xuICAgICAgfSk7ICBcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlcl9sZWdhbF90ZXh0IHtcbiAgXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgdWx7XG4gICAgbGl7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgLlZfZm9vdGVyX3R4dCgpO1xuXG4gICAgICAueGxhcmdlKHtcbiAgICAgICAgLm9wYWNpdHkoMSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgIH0pO1xuXG4gICAgICAubGFyZ2Uoe1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICB9KTtcblxuICAgICAgLnNtYWxsKHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgfSk7XG4gICAgfVxuXG4gIH1cblxufVxuXG51bC5mb290ZXJfbGVnYWxfdGV4dCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cblxuXG4vKiAgUG9wLXVwc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4ucmVnaW9uLXBvcHVwcyB7XG4gICAgLmJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5jYXNoaWVyLW92ZXJsYXktY2xhc3MsXG4udmlkZW8tb3ZlcmxheS1jbGFzcyxcbi53YWl0aW5nX21lc3NhZ2VzIHtcbiAgI3NiLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNzYi1pbmZvIHtcbiAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XG4gICAgdG9wOiAxcHg7XG4gICAgcmlnaHQ6IDZweDtcbiAgfVxufVxuXG4vKiAgV2FpdGluZyBNZXNzYWdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53YWl0aW5nX21lc3NhZ2VzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5vaywgLmFjY2VwdCwgLmRlY2xpbmUsIC5uZXh0LCAucHJldmlvdXMge1xuICAgIC5idXR0b24tc3R5bGUoKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDEwcHg7XG5cbiAgICB3aWR0aDogNjVweDtcbiAgfVxufVxuXG4vKiAgU2Nyb2xsQmFyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi5zY3JvbGwtd3JhcHBlciB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XG59XG5cbi5zY3JvbGwtd3JhcHBlciA+IC5zY3JvbGwtY29udGVudCB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uc2Nyb2xsLXdyYXBwZXIgPiAuc2Nyb2xsLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbn1cblxuLnNjcm9sbC1lbGVtZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNjcm9sbC1lbGVtZW50LCAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseF92aXNpYmxlLFxuLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyLFxuLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYXJyb3cge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5zY3JvbGwtdGV4dGFyZWEge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBib3JkZXItdG9wLWNvbG9yOiAjOTk5OTk5O1xufVxuXG4uc2Nyb2xsLXRleHRhcmVhID4gLnNjcm9sbC1jb250ZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uc2Nyb2xsLXRleHRhcmVhID4gLnNjcm9sbC1jb250ZW50ID4gdGV4dGFyZWEge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG4gIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uc2Nyb2xsLXRleHRhcmVhID4gLnNjcm9sbC1jb250ZW50ID4gdGV4dGFyZWE6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbn1cblxuLyogZm9yZ290dGVuIGRldGFpbHMgZXJyb3IgbXNnICovXG5cbi5tZXNzYWdlc3tcblxuICAmLmVycm9yIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjozMHB4IGF1dG8gMDtcbiAgICB3aWR0aDo3MiU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgI3Bhcy1ibG9jayAmIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICB9XG5cbiAgJi5zdGF0dXMge1xuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuXG59XG5cbi8vIFJlZGlyZWN0IENvdW50ZXIgU3R5bGVzXG4ucGFzLWxvZ2luIC5vdmVybGF5LWJvZHkge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5wYXMtbG9naW4gLmxvZ2luLW92ZXJsYXktY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLmNvdW50ZXItc3R5bGVzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gIC5yZWRpcmVjdC1jb3VudGVyIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuLyogIFF1aWNrdGFic1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnF1aWNrdGFicy13cmFwcGVyIC5xdWlja3RhYnMtdGFicyB7XG4gIGhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGZvbnQtc2l6ZTogMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5xdWlja3RhYnMtd3JhcHBlciAucXVpY2t0YWJzLXRhYnMgbGkge1xuICAuaW5saW5lLWJsb2NrKCk7XG5cbiAgcGFkZGluZzogMCAyOHB4O1xuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4ucGFnZS1iZW5lZml0cyAucXVpY2t0YWJzLXdyYXBwZXIgLnF1aWNrdGFicy10YWJzIGxpe1xuXG5cbn1cblxuXG4vKiAgR2VuZXJhbCBQb3B1cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiNzYi13cmFwcGVyLWlubmVyXG57XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93Om5vbmU7XG4gIGJvcmRlcjowO1xufVxuI3NiLWJvZHl7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuI3NiLWJvZHktaW5uZXJ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuI3NiLXBsYXllcntcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qICBCYXNpYyBwYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmJhc2ljLXBhZ2Uge1xuXG4gIC8vbm9ybWFsIGNhc2VcbiAgLnhsYXJnZSh7XG4gICAgcGFkZGluZy10b3A6OTlweDtcbiAgfSk7XG4gIC5sYXJnZSh7XG4gICAgcGFkZGluZy10b3A6IDk0cHg7XG4gIH0pO1xuICAubWVkaXVtKHtcbiAgICBwYWRkaW5nLXRvcDogOTRweDtcbiAgfSk7XG4gIC5zbWFsbCh7XG4gICAgcGFkZGluZy10b3A6IDc5cHg7XG4gIH0pO1xuXG4gIC5zbWFsbGVyLXRoYW4taXBob25lNi1tZWRpdW0oe1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9KTtcbiAgLnNtYWxsZXItdGhhbi1pcGhvbmU2LXNtYWxsKHtcbiAgICBwYWRkaW5nLXRvcDogNzlweDtcbiAgfSk7XG5cbiAgLy9AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NHB4KSBhbmQgKG1heC1oZWlnaHQ6IDY2NnB4KSAsIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NjZweCkgYW5kIChtYXgtaGVpZ2h0OiAzNzRweCkge1xuICAvLyAgcGFkZGluZy10b3A6IDUwcHg7XG4gIC8vfTtcbiAgLy9AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NHB4KSBhbmQgKG1heC1oZWlnaHQ6IDY2NnB4KSBhbmQgKG1heC13aWR0aDogNDE0cHgpLCBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjY2cHgpIGFuZCAobWF4LWhlaWdodDogMzc0cHgpIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAvLyAgcGFkZGluZy10b3A6IDc5cHg7XG4gIC8vfTtcbiAgXG4gICYuc2VhcmNoLWJhci1lbmFibGVke1xuXG4gICAgLy9zZWFyY2ggZW5hYmxlZCBjYXNlICggbGFuZHNjYXBlKVxuICAgIC5sYW5kc2NhcGUoe1xuICAgICAgcGFkZGluZy10b3A6NDhweDtcblxuICAgICAgLnZlcnRpY2Fscy1jb250ZW50IC5tZW51LXZlcnRpY2Fscy1jb250ZW50e1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5tZW51LXZlcnRpY2Fsc3tcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgfVxuXG4gICAgfSk7XG5cbiAgICAucmVnaW9uLWJhbm5lcntcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gIH1cbn1cblxuYm9keS50YWJsZXQsIGJvZHkuc21hcnRwaG9uZXtcbiAgLmJhc2ljLXBhZ2V7XG4gICAgLnRhYmxldC14eGxhcmdlKHtcbiAgICAgIHBhZGRpbmctdG9wOjk5cHg7XG4gICAgfSk7XG4gIH1cbn1cbmJvZHkudGFibGV0e1xuICAueGxhcmdlKHtcbiAgICAubWVudS12ZXJ0aWNhbHN7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfSk7XG59XG5cbi8vaW5jcmVtZW50IGFsbCBwYWRkaW5nLXRvcCBvZiAyMHB4IGJlY2F1c2Ugb2YgdGhlIGRldmljZSBzdGF0dXNCYXJcbmJvZHkuc3RhbmRhbG9uZXtcbiAgLmJhc2ljLXBhZ2Uge1xuXG4gICAgLy9ub3JtYWwgY2FzZVxuICAgIC54bGFyZ2Uoe1xuICAgICAgcGFkZGluZy10b3A6IDExOXB4O1xuICAgIH0pO1xuICAgIC5sYXJnZSh7XG4gICAgICBwYWRkaW5nLXRvcDogMTE0cHg7XG4gICAgfSk7XG4gICAgLm1lZGl1bSh7XG4gICAgICBwYWRkaW5nLXRvcDogMTE0cHg7XG4gICAgfSk7XG4gICAgLnNtYWxsKHtcbiAgICAgIHBhZGRpbmctdG9wOiA5OXB4O1xuICAgIH0pO1xuXG4gICAgLnNtYWxsZXItdGhhbi1pcGhvbmU2LW1lZGl1bSh7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICB9KTtcbiAgICAuc21hbGxlci10aGFuLWlwaG9uZTYtc21hbGwoe1xuICAgICAgcGFkZGluZy10b3A6IDk5cHg7XG4gICAgfSk7XG5cbiAgICAvL0BtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzc0cHgpIGFuZCAobWF4LWhlaWdodDogNjY2cHgpICwgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY2NnB4KSBhbmQgKG1heC1oZWlnaHQ6IDM3NHB4KSB7XG4gICAgLy8gIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIC8vfTtcbiAgICAvL0BtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY2NnB4KSBhbmQgKG1heC13aWR0aDogNDE0cHgpLCBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjY2cHgpIGFuZCAobWF4LWhlaWdodDogMzc0cHgpIHtcbiAgICAvLyAgcGFkZGluZy10b3A6IDk5cHg7XG4gICAgLy99O1xuXG4gICAgJi5zZWFyY2gtYmFyLWVuYWJsZWR7XG5cbiAgICAgIC8vc2VhcmNoIGVuYWJsZWQgY2FzZSAoIGxhbmRzY2FwZSlcbiAgICAgIC5sYW5kc2NhcGUoe1xuICAgICAgICBwYWRkaW5nLXRvcDo2OHB4O1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWNvbnRlbnQge1xuICAubGFyZ2Uoe1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9KTtcbn1cblxuLyogIEJvb3RzdHJhcCBNb2RhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gTUJTLTI1MjE6IFRoaXMgc2hvdWxkIGJlIHRoZSBtb3N0IHByb21pbmVudCB6LWluZGV4IG9uIHdlYnNpdGVcbi5tb2RhbCB7IHotaW5kZXg6IDQwMDA7fVxuLm1vZGFsLWJhY2tkcm9wIHsgei1pbmRleDogMzAwMDsgfVxuLmRlZmF1bHQtbW9kYWx7XG4gIGRpc3BsYXk6bm9uZTtcblxuICAgIC5tb2RhbC1oZWFkZXJ7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIC8vICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWNvbnRlbnR7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICAgIC5jbG9zZXtcbiAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgcmlnaHQ6IDdweDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZle1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbn1cbi5tb2RhbC1vcGVuIC5tb2RhbHtcbiAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcbn1cblxuLyoqIFBpZXJyZSA+IEJvb3RzdHJhcCBmaXggLSAgd2UgdXNlIGJvb3RzdHJhcCBvbmx5IGZvciB0aGUgbW9kYWwgYW5kIG5vdCB0aGUgbGF5b3V0IGdyaWQgc3lzdGVtLlxuU28sIEkgcmVwbGFjZSBhbGwgdGhlIGJveC1zaXppbmc6IGJvcmRlci1ib3ggdG8gY29udGVudC1ib3hcblRha2UgYSBsb29rIG9uIHRoaXMgdG8gdW5kZXJzdGFuZDogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODg1NDI1OS93aHktZGlkLWJvb3RzdHJhcC0zLXN3aXRjaC10by1ib3gtc2l6aW5nLWJvcmRlci1ib3gvMTg4NTg3NzFcblxuISEgSW1wb3J0YW50IC0gaWYgb25lIGRheSB3ZSB1c2UgQm9vdHN0cmFwIGNvbXBsZXRlbHkgZm9yIHRoZSByZXNwb25zaXZlIChncmlkIHN5c3RlbSksIHdlIGhhdmUgdG8gcmVtb3ZlIHRoZXNlIGxpbmVzICEhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbioge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKiogaVNjcm9sbCBTY3JvbGxiYXIgU3R5bGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uaVNjcm9sbFZlcnRpY2FsU2Nyb2xsYmFyIHtcblxuICAuaVNjcm9sbEluZGljYXRvcntcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwbXM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA1OXB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSB0cmFuc2xhdGVaKDBweCk7XG4gIH1cbn1cbi8vZGVmaW5lIGlTY3JvbGwgc2Nyb2xsYmFyIHN0eWxlIGZvciBpT1NcbmJvZHkuaW9ze1xuICAuaVNjcm9sbEluZGljYXRvcntcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAuNTcsIDAuMSwgMSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpO1xuICAgIHdpZHRoOiA0cHg7XG4gIH1cbn1cblxuYm9keS5hbmRyb2lke1xuICAuaVNjcm9sbEluZGljYXRvcntcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAuNTcsIDAuMSwgMSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjMpO1xuICAgIHdpZHRoOiA0cHg7XG4gIH1cbn1cblxuLy9GaXggdG8gcHJldmVudCB0aGUgZm9vdGVyIHRvIGJlIGludmlzaWJsZS5cbi8vQXBwbGllZCBvbmx5IG9uIGlvcyBhcHAuXG4vL2h0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvOTgwNzYyMC9pcGFkLXNhZmFyaS1zY3JvbGxpbmctY2F1c2VzLWh0bWwtZWxlbWVudHMtdG8tZGlzYXBwZWFyLWFuZC1yZWFwcGVhci13aXRoLWEtZGVsYVxuYm9keS5pb3Muc3RhbmRhbG9uZSB7XG4gICAgLnJlZ2lvbi1mb290ZXJ7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cblxuYm9keS5kZXNrdG9we1xuICAgIC5pU2Nyb2xsSW5kaWNhdG9ye1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjU3LCAwLjEsIDEpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gICAgICAgIHdpZHRoOiA0cHg7XG4gICAgfVxufVxuXG4vKiAgQ2xlYXJmaXggKCBjaGFuZ2UgdGhlIGNsZWFyZml4IHN0eWxlIHRvIHByZXZlbnQgcHJvYmxlbSBvbiB0aGUgbGF5b3V0IClcbiAgICBUaGlzIGZpeCB3YXMgb3JpZ2luYWxseSBkb25lIGZvciBJRTYgYW5kIElFNyBhbmQgd2UgZG9uJ3Qgc3VwcG9ydCB0aGlzIGJyb3dzZXIgYW55bW9yZS5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uY2xlYXJmaXg6YWZ0ZXJ7XG4gIGNvbnRlbnQ6Jyc7XG4gIGRpc3BsYXk6dGFibGU7XG4gIGNsZWFyOmJvdGg7XG4gIGhlaWdodDowO1xufVxuXG5cbi5yZWdpb24ucmVnaW9uLWhlYWQtc2NyaXB0c3tcbmhlaWdodDowO1xufVxuXG5ib2R5LnBhZ2UtZ2FtZS1pbmZve1xuICAuYmxvY2stc3lzdGVte1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgLy8gdG8ga2VlcCBhIHNwYWNlXG4gIH1cblxufVxuXG4vKiBJbmxpbmUgTGlzdCAtIEJvcnJvd2VkIGZyb20gRm91bmRhdGlvbiA1IFNDU1MqL1xuLmlubGluZS1saXN0IHtcbiAgJiwgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvL1RPRE86IER1cGxpY2F0ZSBjb250ZW50IC0gaXMgdGhpcyBhIGZhbGxiYWNrP1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICA+ICogeyBkaXNwbGF5OiBibG9jazsgfVxuICB9XG59XG5cblxuLyogUG9wVXAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi9cbi5pZU92ZXJsYXkge1xuICB6LWluZGV4OiAxMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOmZpeGVkO1xufVxuLmJyb3dzZXJTZWxlY3Qge1xuICB3aWR0aDogNzAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBoZWlnaHQ6IDU5MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzUwcHg7XG4gIG1hcmdpbi10b3A6IC0zMDBweDtcbiAgYmFja2dyb3VuZDogIzM0MzI0YjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgYm9yZGVyOiAzcHggc29saWQgIzFiMWEyNztcbiAgei1pbmRleDogOTk5O1xufVxuLmJyb3dzZXJTZWxlY3QgaDIge1xuICBtYXJnaW46IDIwcHggMjBweCAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmJyb3dzZXJTZWxlY3QgaDMge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZTJiYTcxO1xuICBsaW5lLWhlaWdodDowLjU7XG59XG4uYnJvd3NlclNlbGVjdCAuYnJvd3NlclRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIwcHg7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG59XG4uYnJvd3NlclNlbGVjdCAuY29sdW1uIHtcbiAgd2lkdGg6IDIwNHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAyMHB4IDAgMCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjNGM0YTY4O1xuICBoZWlnaHQ6IDMzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNWY1YzgxO1xufVxuXG4uYnJvd3NlclNlbGVjdCAuY29sdW1uLnJlYyB7XG4gIGJvcmRlci1jb2xvcjojYjZmMzU2O1xuICBtYXJnaW4tYm90dG9tOjE1cHg7XG59XG5cbi5icm93c2VyU2VsZWN0IC5jb2x1bW4gaW1nIHtcbiAgbWFyZ2luLWxlZnQ6IDI3cHg7XG59XG4uYnJvd3NlclNlbGVjdCAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW46IDE1cHg7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzQzMjRiO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4uYnJvd3NlclNlbGVjdCAuYm9keWNvcHkge1xuICBwYWRkaW5nOiAwIDIwcHggMjBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi5icm93c2VyU2VsZWN0IC5idG4ge1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICMyMzlkNTA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzJkYjM1ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogODBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmJyb3dzZXJTZWxlY3QgLmJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyYmJjNjA7XG59XG4uYnJvd3NlclNlbGVjdENsb3NlIHtcbiAgcGFkZGluZzogMHB4IDRweDtcbiAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgZm9udC1zaXplOiAyN3B4O1xuICBjb2xvcjogI2E0OWZkODtcbiAgYm9yZGVyOiAxcHggc29saWQgI2E0OWZkODtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMjBweCAyMHB4IDBweDtcbn1cbi5icm93c2VyU2VsZWN0Q2xvc2U6aG92ZXIge1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogd2hpdGU7XG59XG5cbi5yZWNvbW1lbmR7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGNvbG9yOiNiNmYzNTY7XG4gIG1hcmdpbjowIDAgMC4zZW07XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG59XG5cbi8qIENhdGVnb3J5IFNlbyBUZXh0IChJbmRpdmlkdWFsIEdhbWUgUGFnZXMpICovXG4uY2F0ZWdvcnktaXRlbXMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKiogQmFja2dyb3VuZCBJbWFnZSAqKi9cbi5iYWNrZ3JvdW5kX2ltYWdlIHtcbiAgLlZfaGVhZGVyc19zaXRlX2JhY2tncm91bmQoKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBDaHJvbWUgZmxpY2tlciBmaXggKi9cbn1cblxuIiwiLypcclxucGFnZXMubGVzc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5BdXRob3I6ICBNYWthbiBKIEhvdXN0b25cclxuQ29udHJpYnV0b3JzOiAgLVxyXG5EZXNjcmlwdGlvbjogIFN0eWxlcyBzcGVjaWZpYyB0byBwYXJ0aWN1bGFyIHBhZ2VzXHJcbkNvcHlyaWdodCAyMDE1IE5ldHBsYXlUViBwbGMuXHJcbiovXHJcblxyXG5cclxuXHJcbi8qICBibG9nIHBhZ2VzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi5ub2RlLm5vZGUtYmxvZ3tcclxuICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXJnaW46IDAgMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qICBnZXR0aW5nIHN0YXJ0ZWRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLnBhZ2UtZ2V0dGluZy1zdGFydGVke1xyXG4gIC5yZWdpb24tY29udGVudHtcclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuYm9keS5wYWdlLWdldHRpbmctc3RhcnRlZCAuY29udGVudC1oZWFkZXJ7ICBcclxuICAueGxhcmdlKHsgXHJcbiAgICBkaXNwbGF5OiBibG9jazsgXHJcbiAgfSk7XHJcbn1cclxuXHJcblxyXG5ib2R5LnBhZ2UtZ2V0dGluZy1zdGFydGVkIC5yZWdpb24tY29udGVudHtcclxuICAueGxhcmdlKHsgXHJcbiAgICBwYWRkaW5nLXRvcDogMHB4OyBcclxuICB9KTtcclxufVxyXG5cclxuLyogIENvbnRhY3QgVXMgcGFnZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi5wYWdlLWNvbnRhY3QtdXMgLnJlZ2lvbi1jb250ZW50IGEge1xyXG4gICAgY29sb3I6IEBzdXBlcl9icmFzcztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxufVxyXG5cclxuc3Bhbi5jcy1udW1iZXJ7XHJcbiAgcHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKiAgRmFxIHBhZ2VzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxub2wuZmFxcyB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG59XHJcblxyXG4vKiAgQmVuZWZpdHMgcGFnZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi5wYWdlLXZpcHtcclxuICBcclxuICB1bC5xdWlja3RhYnMtdGFic3tcclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsaXtcclxuICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgcGFkZGluZzowIDE3cHg7XHJcbiAgICAgIH0pO1xyXG4gICAgICAgIC5sYXJnZS1taW4td2lkdGgoe1xyXG4gICAgICAgICAgICBwYWRkaW5nOjAgMTFweDtcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnZpZXctZGlzcGxheS1pZC12aXBfcXVpY2t0YWJzX2NvbnRlbnQgeyBcclxuICAgIHB7XHJcbiAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJlbmVmaXQtdGFibGV7XHJcbiAgICBtYXJnaW46MCBhdXRvIDUwcHggYXV0bztcclxuICAgIGNvbG9yOiNGRkY7XHJcbiAgICBmb250LXNpemU6IDA7XHJcblxyXG4gICAgdWx7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIGxpe1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgIFxyXG4gICAgfSk7XHJcblxyXG4gICAgLmxhcmdlKHtcclxuICAgICAgICBkaXNwbGF5OiBub25lOyAgICBcclxuICAgIH0pO1xyXG4gIFxyXG59XHJcblxyXG51bC5kZXNjcmlwdGlvbiBsaXtcclxuICAgIHdpZHRoOiAyMzBweDtcclxuICAgIGhlaWdodDogMzJweDtcclxuXHJcbiAgICBoMntcclxuICAgICAgICBmb250LXNpemU6MThweDtcclxuICAgICAgICBmb250LXdlaWdodDpib2xkOyAgIFxyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAuYmFja2dyb3VuZC1hbHBoYSgjNTQ0ZjYwLCAwLjIpOyAgXHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgLmJhY2tncm91bmQtYWxwaGEoIzFkMWEyNiwgMC4zKTsgXHJcbiAgICB9XHJcblxyXG4gICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICBoZWlnaHQ6IDE4NXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIC52aXAtdGFibGUteGxhcmdlKHtcclxuICAgICAgICAgIGhlaWdodDogMTYzcHg7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnZpcC10YWJsZS14bGFyZ2Uoe1xyXG4gICAgICAgIHdpZHRoOjIyMHB4OyAgICBcclxuICAgIH0pO1xyXG4gICAgXHJcbn1cclxuc3Bhbi55ZXMtaWNvIHtcclxuICAuVl92aXBfYmFkZ2VzKCk7XHJcbn1cclxudWwucmVkLXRhYmxlLCB1bC5icm9uemUtdGFibGUsIHVsLnNpbHZlci10YWJsZSwgdWwuZ29sZC10YWJsZSwgdWwucGxhdGludW0tdGFibGUge1xyXG4gIGxpLmJhZGdlIHNwYW4ge1xyXG4gICAgLlZfdmlwX2JhZGdlcygpO1xyXG4gIH1cclxufVxyXG5cclxudWwucmVkLXRhYmxle1xyXG4gICAgbWFyZ2luLXRvcDogNjhweDtcclxuICAgIC5ib3JkZXItcmFkaXVzKCk7XHJcbiAgICAmOmV4dGVuZCgub3ZlcmZsb3dIaWRkZW4pO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuXHJcbiAgICBsaXtcclxuICAgICAgICAuYmVuZWZpdC1jb2x1bW4oKTsgICAgICAgIFxyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgLlZfdmlwLXBhZ2VfYmdfcmVkX29kZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAuVl92aXAtcGFnZV9iZ19yZWRfZXZlbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGR7IFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5iYWRnZXtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMzJweDtcclxuXHJcbiAgICAgICAgICAgIC52aXAtdGFibGUteGxhcmdlKHtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDExMHB4O1xyXG4gICAgICAgICAgICB9KTsgIFxyXG5cclxuICAgICAgICAgICAgaDN7XHJcbiAgICAgICAgICAgICAgLmJhZGdlLWgzKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW57ICBcclxuICAgICAgICAgICAgICAuYmFkZ2Utc3BhbigpO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6LTEzcHg7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IDA7XHJcblxyXG4gICAgICAgICAgICAgIC52aXAtdGFibGUteGxhcmdlKHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MDAlO1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbnVsLmJyb256ZS10YWJsZXtcclxuICAgIG1hcmdpbi10b3A6IDQ2cHg7XHJcbiAgICAuYm9yZGVyLXJhZGl1cygpO1xyXG4gICAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgLnZpcC10YWJsZS14bGFyZ2Uoe1xyXG4gICAgICBtYXJnaW4tdG9wOiA1N3B4O1xyXG4gICAgfSk7XHJcblxyXG4gICAgbGl7XHJcbiAgICAgICAgLmJlbmVmaXQtY29sdW1uKCk7XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgLlZfdmlwLXBhZ2VfYmdfYnJvbnplX29kZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAuVl92aXAtcGFnZV9iZ19icm9uemVfZXZlbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmOmZpcnN0LWNoaWxke2hlaWdodDowcHg7fVxyXG4gICAgICAgICYuYmFkZ2V7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTU0cHg7XHJcblxyXG4gICAgICAgICAgICAudmlwLXRhYmxlLXhsYXJnZSh7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMjFweDtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBoM3tcclxuICAgICAgICAgICAgICAgIC5iYWRnZS1oMygpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFueyAgXHJcbiAgICAgICAgICAgICAgICAuYmFkZ2Utc3BhbigpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDotNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyMHB4IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLnZpcC10YWJsZS14bGFyZ2Uoe1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTczcHggMDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MDAlO1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbnVsLnNpbHZlci10YWJsZXtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAuYm9yZGVyLXJhZGl1cygpO1xyXG4gICAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgLnZpcC10YWJsZS14bGFyZ2Uoe1xyXG4gICAgICBtYXJnaW4tdG9wOiA0NXB4O1xyXG4gICAgfSk7XHJcblxyXG4gICAgbGl7XHJcbiAgICAgICAgLmJlbmVmaXQtY29sdW1uKCk7XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGR7aGVpZ2h0OjBweDt9XHJcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAuVl92aXAtcGFnZV9iZ19zaWx2ZXJfb2RkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgIC5WX3ZpcC1wYWdlX2JnX3NpbHZlcl9ldmVuKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYuYmFkZ2V7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTcwcHg7XHJcblxyXG4gICAgICAgICAgICAudmlwLXRhYmxlLXhsYXJnZSh7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMzNweDtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBoM3tcclxuICAgICAgICAgICAgICAgIC5iYWRnZS1oMygpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFueyAgXHJcbiAgICAgICAgICAgICAgLmJhZGdlLXNwYW4oKTtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQwcHggMDtcclxuXHJcbiAgICAgICAgICAgICAgLnZpcC10YWJsZS14bGFyZ2Uoe1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2N3B4IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG51bC5nb2xkLXRhYmxle1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIC5ib3JkZXItcmFkaXVzKCk7XHJcbiAgICAmOmV4dGVuZCgub3ZlcmZsb3dIaWRkZW4pO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAudmlwLXRhYmxlLXhsYXJnZSh7XHJcbiAgICAgIG1hcmdpbi10b3A6IDMzcHg7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsaXtcclxuICAgICAgICAuYmVuZWZpdC1jb2x1bW4oKTtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZHtoZWlnaHQ6MHB4O31cclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAuVl92aXAtcGFnZV9iZ19nb2xkX29kZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgIC5WX3ZpcC1wYWdlX2JnX2dvbGRfZXZlbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJhZGdle1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE4NXB4O1xyXG5cclxuICAgICAgICAgICAudmlwLXRhYmxlLXhsYXJnZSh7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxNDVweDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBoM3tcclxuICAgICAgICAgICAgICAgIC5iYWRnZS1oMygpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFueyAgXHJcbiAgICAgICAgICAgICAgLmJhZGdlLXNwYW4oKTtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDYwcHggMDtcclxuXHJcbiAgICAgICAgICAgICAgLnZpcC10YWJsZS14bGFyZ2Uoe1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2M3B4IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxudWwucGxhdGludW0tdGFibGV7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAuYm9yZGVyLXJhZGl1cygpO1xyXG4gICAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgLnZpcC10YWJsZS14bGFyZ2Uoe1xyXG4gICAgICBtYXJnaW4tdG9wOiAyMXB4O1xyXG4gICAgfSk7XHJcblxyXG4gICAgbGl7XHJcbiAgICAgICAgLmJlbmVmaXQtY29sdW1uKCk7XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGR7aGVpZ2h0OjBweDt9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgLlZfdmlwLXBhZ2VfYmdfcGxhdGludW1fb2RkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkgeyAgICAgIFxyXG4gICAgICAgICAgLlZfdmlwLXBhZ2VfYmdfcGxhdGludW1fZXZlbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJhZGdle1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG5cclxuICAgICAgICAgICAgLnZpcC10YWJsZS14bGFyZ2Uoe1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTU4cHg7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgaDN7XHJcbiAgICAgICAgICAgICAgICAuYmFkZ2UtaDMoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3BhbnsgIFxyXG4gICAgICAgICAgICAgICAgLmJhZGdlLXNwYW4oKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICAtNTgwcHggMDtcclxuXHJcbiAgICAgICAgICAgICAgLnZpcC10YWJsZS14bGFyZ2Uoe1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1NXB4IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbnVsLnJlZC10YWJsZTpob3ZlciwgdWwuYnJvbnplLXRhYmxlOmhvdmVyLCB1bC5zaWx2ZXItdGFibGU6aG92ZXIsIHVsLmdvbGQtdGFibGU6aG92ZXIsIHVsLnBsYXRpbnVtLXRhYmxlOmhvdmVyeyAgICAgIFxyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyBcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IFxyXG4gICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyBcclxufVxyXG5cclxuXHJcbnNwYW4ueWVzLWljb3tcclxuICAgIGhlaWdodDogMjNweDtcclxuICAgIHdpZHRoOjMycHg7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzRweCAtNnB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDozNSU7XHJcbn1cclxuXHJcblxyXG4uYmVuZWZpdC1jb2x1bW57XHJcbiAgICB3aWR0aDogMTQycHg7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuXHJcbiAgICAudmlwLXRhYmxlLXhsYXJnZSh7XHJcbiAgICAgICAgd2lkdGg6IDk3cHg7ICAgIFxyXG4gICAgfSk7XHJcbn1cclxuXHJcbi5iYWRnZS1oM3tcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDVweCAwO1xyXG5cclxuICAgIC52aXAtdGFibGUteGxhcmdlKHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDAgMDtcclxuICAgIH0pO1xyXG5cclxufVxyXG5cclxuLmJhZGdlLXNwYW57XHJcbiAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICB3aWR0aDoxMTBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6MTdweDtcclxuXHJcbiAgICAudmlwLXRhYmxlLXhsYXJnZSh7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7ICAgIFxyXG4gICAgfSk7XHJcbn1cclxuXHJcblxyXG4vKiB0b29sVGlwcyAqL1xyXG5cclxuYS5iZW5lZml0cy10b29sdGlwcyB7XHJcbiAgICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBcclxuICAgIHNwYW57XHJcbiAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICAgIHdpZHRoOjI1MHB4O1xyXG4gICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6MTBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbmE6aG92ZXIuYmVuZWZpdHMtdG9vbHRpcHMgc3BhbiB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgYm90dG9tOiAzMHB4O1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC03NnB4O1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XHJcbiAgICAgICAgd2lkdGg6IDA7IGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXItdG9wOiA4cHggc29saWQgI0ZGRjtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qIEJlbmVmaXQgVGFibGUgUmVzcG9uc2l2ZSB3aXRoIGFjY29yZGlvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4udmlwLWFjY29yZGlvbiB7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC44KTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG4gIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG4gIG1hcmdpbjogMHB4IGF1dG8gMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBub25lO1xyXG5cclxuIC5sYXJnZSh7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgICAgXHJcbiAgfSk7XHJcblxyXG5cclxuICAudGFiIHtcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcclxuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKDAsMCwwLDAuMyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLnRhYi1jb250cm9sLXJhZGlvIHtcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XHJcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gICAgbWFyZ2luOiAtMXB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcblxyXG5cclxuICAudGFiLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG5cclxuICAgIGgye1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgbGVmdDo4M3B4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGgze1xyXG4gICAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICAgIHRvcDoxM3B4O1xyXG4gICAgICBsZWZ0OjcwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgcGFkZGluZy1ib3R0b206NXB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6MTJweDtcclxuXHJcbiAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgICB3aWR0aDogODUlO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC5tZWRpdW0oe1xyXG4gICAgICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAuc21hbGwoe1xyXG4gICAgICAgICAgd2lkdGg6IDY1JTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuICAudGFiLWNvbnRyb2wtcmFkaW86Y2hlY2tlZCB+IC50YWItY29udHJvbC1sYWJlbCB7XHJcbiAgICBzcGFuIHtcclxuICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgIHRvcDogMjVweDtcclxuICAgICAgd2lkdGg6MTZweDtcclxuICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtNDkzcHg7XHJcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLnJlZC1iYWRnZSwgLmJyb256ZS1iYWRnZSwgLnNpbHZlci1iYWRnZSwgLmdvbGQtYmFkZ2UsIC5wbGF0aW51bS1iYWRnZSB7XHJcbiAgICBoNCB7XHJcbiAgICAgIC5WX3ZpcF9tb2JpbGVfYmFkZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5yZWQtYmFkZ2UgaDR7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICAuYmFkZ2Utc3R5bGUoKVxyXG4gIH1cclxuXHJcbiAgLmJyb256ZS1iYWRnZSBoNHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwcHg7XHJcbiAgICAuYmFkZ2Utc3R5bGUoKVxyXG4gIH1cclxuXHJcbiAgLnNpbHZlci1iYWRnZSBoNHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExOHB4O1xyXG4gICAgLmJhZGdlLXN0eWxlKClcclxuICB9XHJcblxyXG4gIC5nb2xkLWJhZGdlIGg0e1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTc2cHg7XHJcbiAgICAuYmFkZ2Utc3R5bGUoKVxyXG4gIH1cclxuXHJcbiAgLnBsYXRpbnVtLWJhZGdlIGg0e1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjMzcHg7XHJcbiAgICAuYmFkZ2Utc3R5bGUoKVxyXG4gIH1cclxuXHJcbiAgLmJhZGdlLXN0eWxle1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICB3aWR0aDogNTVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICB0b3A6M3B4O1xyXG4gICAgbGVmdDoxMHB4O1xyXG4gICAgbWFyZ2luOjA7XHJcbiAgfVxyXG5cclxuXHJcbiAgLnRhYi1vbmV7XHJcbiAgICAuVl92aXAtcGFnZV9tYl90YWIxKCk7XHJcbiAgfVxyXG5cclxuICAudGFiLXR3b3tcclxuICAgIC5WX3ZpcC1wYWdlX21iX3RhYjIoKTtcclxuICAgfVxyXG5cclxuICAudGFiLXRocmVle1xyXG4gICAgLlZfdmlwLXBhZ2VfbWJfdGFiMygpO1xyXG4gIH1cclxuXHJcbiAgLnRhYi1mb3Vye1xyXG4gICAgLlZfdmlwLXBhZ2VfbWJfdGFiNCgpO1xyXG4gIH1cclxuXHJcbiAgLnRhYi1maXZle1xyXG4gICAgLlZfdmlwLXBhZ2VfbWJfdGFiNSgpO1xyXG4gIH1cclxuXHJcbiAgLnRhYi1jb250cm9sLXJhZGlvIH4gLnRhYi1jb250ZW50IHtcclxuICAgICY6YmVmb3Jle1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICBoZWlnaHQ6MXB4O1xyXG4gICAgICAuVmlwX3ZpcF9tYl9zZXBhcmF0b3IoKTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcclxuICAgICAgdG9wOjA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50YWItY29udGVudCB7XHJcbiAgICB1bCB7XHJcbiAgICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGxpe1xyXG4gICAgICBsaXN0LXN0eWxlOm5vbmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgICAgICB3aWR0aDogNHB4O1xyXG4gICAgICAgIGhlaWdodDogNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luOiA4cHggN3B4IDAgMzBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucndkLWlubGluZXtcclxuICAgICAgLmxhcmdlKHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7ICAgIFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC5zbWFsbCh7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OjQzcHg7ICAgIFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gICBcclxuXHJcblxyXG59IC8qIGNsb3NlIHZpcCBhY2NvcmRpb24gKi9cclxuXHJcblxyXG5cclxuXHJcbi8qIEFsdGVybmF0aXZlIGdhbWVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLnBhZ2UtYWx0ZXJuYXRpdmVzIC5yZWdpb24tY29udGVudCB7XHJcbiAgcGFkZGluZzogMCAyMHB4IDIwcHg7XHJcbn1cclxuXHJcbi8qKlNJTVBMRSBJTk5FUiBTQ1JPTExCQVIgKioqKioqKioqKioqKioqL1xyXG5cclxuLmdhbWVfaW5mb19jb250ZW50LnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgPiBwe1xyXG4gIG1hcmdpbi1yaWdodDogMTVweDtcclxufVxyXG5cclxuLmdhbWVfaW5mb19jb250ZW50ID4gLnNjcm9sbC1lbGVtZW50LFxyXG4uZ2FtZV9pbmZvX2NvbnRlbnQgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gIHotaW5kZXg6IDU1NTtcclxufVxyXG5cclxuLmdhbWVfaW5mb19jb250ZW50ID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZ2FtZV9pbmZvX2NvbnRlbnQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXgge1xyXG4gIGJvdHRvbTogMnB4O1xyXG4gIGhlaWdodDogOHB4O1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5nYW1lX2luZm9fY29udGVudCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHJpZ2h0OiAycHg7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiA4cHg7XHJcbn1cclxuXHJcbi5nYW1lX2luZm9fY29udGVudCA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xyXG4gICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XHJcbn1cclxuXHJcbi5nYW1lX2luZm9fY29udGVudCA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsXHJcbi5nYW1lX2luZm9fY29udGVudCA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2ssXHJcbi5nYW1lX2luZm9fY29udGVudCA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhciB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG59XHJcblxyXG4uZ2FtZV9pbmZvX2NvbnRlbnQgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3RyYWNrLFxyXG4uZ2FtZV9pbmZvX2NvbnRlbnQgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xyXG4gIC1tcy1maWx0ZXI6XCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT05OSlcIjtcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9OTApO1xyXG4gIG9wYWNpdHk6IDAuOTtcclxufVxyXG5cclxuXHJcbi5nYW1lX2luZm9fY29udGVudCA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9nZW5lcmFsL3Njcm9sbF90cmFjay5wbmcpIHJlcGVhdC15IDJweCAwIHRyYW5zcGFyZW50OyB9XHJcbi8qLmdhbWVfaW5mb19jb250ZW50ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7IH0qL1xyXG4uZ2FtZV9pbmZvX2NvbnRlbnQgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNTc0QjcxOyB9XHJcbi5nYW1lX2luZm9fY29udGVudCA+IC5zY3JvbGwtZWxlbWVudDpob3ZlciAuc2Nyb2xsLWJhciB7IGJhY2tncm91bmQtY29sb3I6ICM2YzVkOTM7IH1cclxuLmdhbWVfaW5mb19jb250ZW50ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM1ZDkzOyB9XHJcblxyXG5cclxuLyogdXBkYXRlIHNjcm9sbGJhciBvZmZzZXQgaWYgYm90aCBzY3JvbGxzIGFyZSB2aXNpYmxlICovXHJcblxyXG4uZ2FtZV9pbmZvX2NvbnRlbnQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyBsZWZ0OiAtMTJweDsgfVxyXG4uZ2FtZV9pbmZvX2NvbnRlbnQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyB0b3A6IC0xMnB4OyB9XHJcblxyXG5cclxuLmdhbWVfaW5mb19jb250ZW50ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyBsZWZ0OiAtMTJweDsgfVxyXG4uZ2FtZV9pbmZvX2NvbnRlbnQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTEycHg7IH1cclxuXHJcbi8qIHRlcm1zIGFuZCBjb25kaXRpb25zIGFjY2VwdCBwYWdlICAqL1xyXG5cclxuI3Rlcm1zLWFjY2VwdC13cmFwcGVyID4gbGl7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAyMHB4IDUwcHggMjBweCAwO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLyogV2VsY29tZSBQYWdlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi5wYWdlLXdlbGNvbWUge1xyXG5cclxuICAjY29udGVudC1oZWFkZXIge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gIH1cclxuXHJcbiAgaDEudGl0bGUge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gIH1cclxuXHJcbiAgI2Jsb2NrLXN5c3RlbS1tYWluIC5jYXNoaWVyIHtcclxuICAgIHdpZHRoOiAxNDBweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgfSBcclxuXHJcbiAgLndlbGNvbWUtcGF5bWVudC1tZXRob2RzIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG5cclxuICAud2VsY29tZV9oZWFkZXIge1xyXG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweDtcclxuICAgIC5WX3dlbGNvbWUtcGFnZV90aXRsZSgpO1xyXG4gICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgfSk7XHJcblxyXG4gICAgLmxhcmdlKHtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfSk7XHJcblxyXG4gICAgLm1lZGl1bSh7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIC53ZWxjb21lX3BhbmVscyB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gIH1cclxuXHJcbiAgLndlbGNvbWVfcGFuZWxzIGxpIHtcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcclxuICAgIHdpZHRoOiAzMCU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAqZGlzcGxheTogaW5saW5lO1xyXG4gICAgKnpvb206IDE7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgbWFyZ2luOiAyMHB4IDE1cHggMCAxNXB4O1xyXG5cclxuICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBpbWd7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICB3aWR0aDozMSU7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OjVweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OjVweDtcclxuICAgIH0pO1xyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzZjM5NTI7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHggYXV0bztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9KTtcclxuXHJcbiAgICAubWVkaXVtKHtcclxuICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzZjM5NTI7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDcwcHggYXV0bztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9KTtcclxuXHJcbiAgICAuc21hbGwoe1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNmMzk1MjtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweCBhdXRvO1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDAgMjBweCAwO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAud2VsY29tZV9wYW5lbHMgbGkgLmJ1dHRvbi1zdHlsZSB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjb2xvcjojRkZGO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAvLyBtYXJnaW4tdG9wOiAtNDBweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgfVxyXG5cclxuICAucGFnZS13ZWxjb21lICNibG9jay1zeXN0ZW0tbWFpbiAuY2FzaGllciB7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gIH1cclxuXHJcbiAgLndlbGNvbWVfcGFuZWxzIGEudGVybXNfbGluayB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICB9XHJcbiAgXHJcbiAgLndlbGNvbWVfcGFuZWxzIGxpLk1hdGNoRGVwb3NpdEJvbnVzIGEudGVybXNfbGluayAge1xyXG4gICAgYm90dG9tOiA1cHg7XHJcbiAgfVxyXG4gICAgXHJcbiAgLmJvbnVzX3dhcm5pbmdfbWVzc2FnZSB7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH0pO1xyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICB9KTsgICBcclxuICB9XHJcblxyXG4gIC5ib251c193YXJuaW5nX21lc3NhZ2UgYSB7XHJcbiAgICAubGFyZ2Uoe1xyXG4gICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7ICAgICAgIFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAubGl2ZS12ZXJ0aWNhbCAuYm9udXNfd2FybmluZ19tZXNzYWdlLFxyXG4gIC5saXZlLXZlcnRpY2FsIC5ib251c193YXJuaW5nX21lc3NhZ2UgYSB7XHJcbiAgICBjb2xvcjogcmdiKDEzNywgMTEwLCA3MSk7XHJcbiAgfVxyXG5cclxuICAudmVnYXMtdmVydGljYWwgLmJvbnVzX3dhcm5pbmdfbWVzc2FnZSxcclxuICAudmVnYXMtdmVydGljYWwgLmJvbnVzX3dhcm5pbmdfbWVzc2FnZSBhIHtcclxuICAgIGNvbG9yOiByZ2IoMTM3LCA3MSwxMTApO1xyXG4gIH1cclxuXHJcbiAgLnNlY29uZGFyeV9wYW5lbHMge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDA7XHJcblxyXG4gICAgLmpzLXBsYXl0ZWNoLWNoYXR7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2Vjb25kYXJ5X3BhbmVscyBsaSB7XHJcbiAgICB3aWR0aDogNDYwcHg7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgKmRpc3BsYXk6IGlubGluZTtcclxuICAgICp6b29tOiAxO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH0pO1xyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9KTtcclxuICAgXHJcbiAgfVxyXG5cclxuICAubW9iaWxlX2N0YSBhIHtcclxuICAgIHBhZGRpbmc6IDZweCAyMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgLmxhcmdlKHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiA2cHggNXB4O1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgLnN1cHBvcnRfb3B0aW9ucyAudGVsZXBob25lX3N1cHBvcnQge1xyXG4gICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcclxuXHJcbiAgICAubGFyZ2Uoe1xyXG4gICAgICB3aWR0aDo3MCU7XHJcbiAgICB9KTtcclxuXHJcbiAgICAubWVkaXVtKHtcclxuICAgICAgd2lkdGg6OTAlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAuc3VwcG9ydF9vcHRpb25zIC50ZWxlcGhvbmVfc3VwcG9ydCBzcGFuIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICB9XHJcblxyXG4gIC5zdXBwb3J0X29wdGlvbnMgLmVtYWlsX3N1cHBvcnQge1xyXG4gICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgfVxyXG4gIC5zZWNvbmRhcnlfcGFuZWxzIGgyIHtcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgLmxhcmdlKHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAuaXNjcm9sbC1wYWdlIC53ZWxjb21lX3BhbmVscyBsaSB7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuaXNjcm9sbC1wYWdlIC5zZWNvbmRhcnlfcGFuZWxzIGxpIHtcclxuICAgIHdpZHRoOiA0OSU7XHJcbiAgfVxyXG5cclxuICAuaXNjcm9sbC1wYWdlIC5zdXBwb3J0X29wdGlvbnMgLmpzLXBsYXl0ZWNoLWNoYXQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5pc2Nyb2xsLXBhZ2UgLnN1cHBvcnRfb3B0aW9ucyAudGVsZXBob25lX3N1cHBvcnQsXHJcbiAgLmlzY3JvbGwtcGFnZSAuc3VwcG9ydF9vcHRpb25zIC5lbWFpbF9zdXBwb3J0IHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLmlvcyAuYW5kcm9pZF9saW5rLFxyXG4gIC5hbmRyb2lkIC5hcHBfc3RvcmVfbGluayB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLnByaW1hcnktYnV0dG9uIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgdGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICAgIC8vLlZfd2VsY29tZS1wYWdlX2J0X2N0YSgpOyBcclxuIH1cclxuIFxyXG59IC8vIGNsb3NlIC5wYWdlLXdlbGNvbWVcclxuXHJcblxyXG4vKiBQZXJzb25hbCBEZXRhaWxzIHVwZGF0ZWQgcGFnZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG5ib2R5LnBhZ2UtcGVyc29uYWwtZGV0YWlscy11cGRhdGVke1xyXG4gIC5wYWdlLWNvbnRlbnR7XHJcbiAgICBtaW4taGVpZ2h0OiAzNTBweDtcclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgfSk7XHJcbiAgICAubWVkaXVtKHtcclxuICAgICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICB9KTtcclxuICAgIC5zbWFsbCh7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgfSk7XHJcbiAgICBoMXtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBcclxuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICB9XHJcbiAgICBwe1xyXG4gICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG4vLyBWSVAgUGFnZSBVcGRhdGVzIC0gaHR0cHM6Ly9zeW5lcmd5Lm5ldHBsYXl0di5jb20vYnJvd3NlL01CUy0yNDE5XHJcbi5wYWdlLXZpcCAuY29udGVudC1oZWFkZXIgeyAgLmRpc3BsYXkobm8pOyAgfVxyXG4ucGFnZS12aXAgLnJlZ2lvbi1jb250ZW50IC5ub2RlLXBhZ2UgLmNvbnRlbnQgeyBwYWRkaW5nOiAwOyB9XHJcbi5wYWdlLXZpcCAucGFnZS1jb250ZW50IHsgIC5WX3ZpcC1wYWdlX2JnX3BhZ2UoKTsgIH1cclxuLnBhZ2UtdmlwIC5yZWdpb24tY29udGVudCAubm9kZS1pbm5lciB7XHJcbiAgLlZfdmlwLXBhZ2VfYmdfaW1nKCk7XHJcbn1cclxuLnZpcC1sb2dvIHtcclxuXHJcbiAgLlZfdmlwLWxvZ29faW1nKCk7XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzAwcHg7XHJcbiAgICAubGFyZ2Uoe1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjEwcHg7XHJcbiAgICB9KTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4udmlwLXNlcGFyYXRpb24ge1xyXG4gIG1hcmdpbi10b3A6IDIlO1xyXG4gIC5sYXJnZS1taW4td2lkdGgoe1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDUlO1xyXG4gICAgLlZfU0NfdmlwLWJvcmRlci1iaWdnZXItdGhhbi1tb2JpbGUoKTtcclxuXHJcbiAgICAmOm50aC1jaGlsZCgybikge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDIlO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgLlZfU0NfdmlwLWJvcmRlci1tb2JpbGUoKTtcclxuICAgICogPiAmOmxhc3QtY2hpbGQgeyAgYm9yZGVyLWJvdHRvbTogbm9uZTsgIH1cclxuICB9KTtcclxuXHJcbiAgaDMge1xyXG4gICAgLmxhcmdlLW1pbi13aWR0aCh7IG1hcmdpbi10b3A6IDA7IH0pO1xyXG4gIH1cclxuXHJcbn0iLCIvKiAgU2lkZWJhciBCbG9ja3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLyogTGl2ZSBIZWxwIENoYXQgYmxvY2tcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5ib2R5LnNpZGViYXItZmlyc3QgLnBhZ2UgLnJlZ2lvbi1zaWRlYmFyLWZpcnN0IC5ibG9jay1wbGF5dGVjaC1jaGF0IHtcclxuXHRtYXJnaW4tdG9wOiA2MHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0aDMge1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cclxuXHQubGl2ZS1oZWxwLWNoYXQgcCB7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxuXHJcblx0LmxpdmUtaGVscC1waG9uZSBwIHtcclxuXHQuaW5saW5lLWJsb2NrKCk7XHJcblx0d2lkdGg6IDM2JTtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0fVxyXG5cclxuXHQubGl2ZS1oZWxwLWVtYWlsIHAge1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHR9XHJcblxyXG5cdC5qcy1wbGF5dGVjaC1jaGF0IGltZyB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbmJvZHkuc2lkZWJhci1maXJzdCAucGFnZSAucmVnaW9uLXNpZGViYXItZmlyc3QgLmJsb2NrIHtcclxuICAuc21hbGwoe1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICB9KTtcclxufVxyXG5cclxuYm9keS5zbWFydHBob25lLCBib2R5LnRhYmxldHtcclxuICAuanMtcGxheXRlY2gtY2hhdHsgICAgXHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vKiAgQ2hhbm5lbCA1IEJsb2NrXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnBsYXktbGl2ZS1vbi1maXZlIHtcclxuXHQmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcblx0bGVmdDogMjY2cHg7XHJcblx0dG9wOiAzMnB4O1xyXG59XHJcblxyXG5cclxuLyogIFJFU1BPTlNJVkUgU1RZTEVTXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5zaXRlLWxvZ28ge1xyXG5cclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgIC54bGFyZ2Uoe1xyXG5cdFx0JjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHQmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XHJcblx0XHRoZWlnaHQ6MzVweDtcclxuICAgIH0pO1xyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIFx0aGVpZ2h0OiAzN3B4O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH0pO1xyXG5cclxuICAgIC5tZWRpdW0oe1xyXG4gICAgICBoZWlnaHQ6MzNweDtcclxuICAgICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgfSk7XHJcbiAgICAuc21hbGwoe1xyXG4gICAgICBoZWlnaHQ6IDMxcHg7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpbWcsIG9iamVjdHtcclxuXHJcbiAgICAgIFx0LnhsYXJnZSh7XHJcbiAgICAgICAgXHR3aWR0aDoxNzNweDtcclxuICAgICAgXHR9KTtcclxuXHJcbiAgICAgIFx0LmxhcmdlKHtcclxuXHRcdFx0d2lkdGg6MTYwcHg7XHJcblx0XHR9KTtcclxuXHJcblx0XHQubWVkaXVtKHtcclxuXHRcdFx0d2lkdGg6MTQ4cHg7XHJcblx0XHR9KTtcclxuICAgICAgXHQuc21hbGwoe1xyXG5cdFx0XHR3aWR0aDoxMzRweDtcclxuICAgICAgXHR9KTtcclxuICAgIH1cclxufVxyXG5cclxuLnNpdGUtbG9nbzphZnRlciB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHQmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcblx0dG9wOiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdGhlaWdodDogNzNweDtcclxuXHJcblx0LnhsYXJnZSh7XHJcblx0XHRoZWlnaHQ6MzVweDtcclxuXHR9KTtcclxuXHJcblx0LmxhcmdlKHtcclxuXHRcdGhlaWdodDozN3B4O1xyXG5cdH0pO1xyXG5cclxuXHQubWVkaXVtKHtcclxuXHRcdGhlaWdodDozM3B4O1xyXG5cdH0pO1xyXG5cdC5zbWFsbCh7XHJcblx0XHRoZWlnaHQ6IDMxcHg7XHJcblx0fSk7XHJcbn1cclxuXHJcbmJvZHkudGFibGV0LCBib2R5LnNtYXJ0cGhvbmV7XHJcbiAgLnNpdGUtbG9nb3tcclxuXHQudGFibGV0LXh4bGFyZ2Uoe1xyXG5cdCAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuXHQgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdCAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdCAgbWFyZ2luOiAwIGF1dG87XHJcblx0ICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XHJcblx0ICBoZWlnaHQ6MzVweDtcclxuXHJcblx0ICBpbWcsIG9iamVjdHtcclxuXHRcdCB3aWR0aDoxNzNweDtcclxuXHQgICB9XHJcblxyXG5cdCAgJi5hdXRoLWxvZ297XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdCAgfVxyXG4gIFx0fSk7XHJcbiAgfVxyXG59XHJcblxyXG4uYXV0aC1sb2dve1xyXG5cdC54bGFyZ2Uoe1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgXHR9KTtcclxufSBcclxuXHJcbi5ibG9jay1sb2JieS1jb21wb25lbnRzLmxvZ28ge1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgdG9wOiAyNXB4O1xyXG4gICAgbGVmdDogMjBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDE5N3B4O1xyXG4gICAgaGVpZ2h0OiAzNHB4O1xyXG5cclxuICAgIC54bGFyZ2Uoe1xyXG5cdFx0dG9wOiA5cHg7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDQycHg7IC8qIGNvbnRhaW5lciBoYXMgOHB4IHBhZGRpbmcgKi9cclxuICAgIHotaW5kZXg6IDk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAubWVkaXVtKHtcclxuICAgICAgdG9wOiA1cHg7XHJcbiAgICB9KTtcclxuICBcclxuXHQuc21hbGwoe1xyXG5cdFx0dG9wOiAzcHg7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdH0pO1xyXG59XHJcblxyXG5ib2R5LnRhYmxldCwgYm9keS5zbWFydHBob25lIHtcclxuICAuYmxvY2stbG9iYnktY29tcG9uZW50cy5sb2dvXHJcbiAge1xyXG5cdC50YWJsZXQteHhsYXJnZSh7XHJcblx0ICB0b3A6IDlweDtcclxuXHQgIGxlZnQ6IDA7XHJcblx0ICB3aWR0aDogMTAwJTtcclxuXHQgIGhlaWdodDogNDJweDsgLyogY29udGFpbmVyIGhhcyA4cHggcGFkZGluZyAqL1xyXG5cdH0pO1xyXG4gIH1cclxufVxyXG5cclxuLyogcmVzcG9uc2l2ZSBoZWFkZXIgYnV0dG9ucyAqL1xyXG5cclxuXHJcbi5yZXNwb25zaXZlLWhlYWRlci1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgLnJlZ2lzdGVyLWJ1dHRvbixcclxuICAgIC5hY3Rpb24tYnV0dG9uIHtcclxuICAgICAgLmJ1dHRvbi1zdHlsZSgpO1xyXG4gICAgICAuVl9oZWFkZXJzX21vYmlsZV9zaWduX2luKCk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDlweDtcclxuICAgICAgbWFyZ2luLXRvcDogOXB4O1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gICAgICB6LWluZGV4OiA5OTk7XHJcblxyXG4gICAgICAubWVkaXVtKHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAuc21hbGwoe1xyXG4gICAgICAgIG1hcmdpbjo0cHg7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuXHQvLyBOZXh0IGl0ZXJhdGlvbjogcmVmYWN0b3IgYnV0dG9uLXN0eWxlKCkgdG8gcmVtb3ZlIGVsZW1lbnQgc2l6aW5nXHJcblx0LmFjdGlvbi1idXR0b24ge1xyXG5cdFx0cGFkZGluZzogMXB4IDA7XHJcblxyXG5cdFx0LmFjdGlvbi1idXR0b24taW5uZXIge1xyXG5cdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdHBhZGRpbmc6IDAuNmVtIDFlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG4gICAgLmFjY291bnQtYnV0dG9uIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgIC54bGFyZ2Uoe1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0NXB4O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC5tZWRpdW0oe1xyXG4gICAgICAgIG1heC13aWR0aDogMzdweDtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDhweDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAuc21hbGwoe1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgICB9KTtcclxuXHJcbiAgXHR9XHJcblxyXG4gIFx0LnJlZ2lzdGVyLWJ1dHRvbntcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgIC54bGFyZ2UgKHtcclxuXHRcdFx0IGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0ICB9KTtcclxuXHJcbiAgXHRcdC5sYXJnZSAoe1xyXG4gIFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG4gIFx0XHRcdHBhZGRpbmc6IDhweCAxMHB4O1xyXG4gIFx0XHR9KTtcclxuXHJcbiAgXHRcdC5tZWRpdW0gKHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuICBcdFx0XHRwYWRkaW5nOiA4cHggNXB4O1xyXG4gIFx0XHR9KTtcclxuXHJcbiAgICAgIC5kaXNwbGF5LWpvaW51cy1idXR0b24oe1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH0pO1xyXG5cdFx0XHJcbiAgICAgIC5WX2hlYWRlcnNfYWNjb3VudF9qb2luX25vdygpO1xyXG5cdH1cclxuXHJcblx0LnhsYXJnZSh7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHotaW5kZXg6IDk5O1xyXG5cdFx0JjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG5cdFx0LmNvbHVtbjItNigpO1xyXG5cdH0pO1xyXG5cclxufVxyXG5cclxuXHJcbmJvZHkudGFibGV0LCBib2R5LnNtYXJ0cGhvbmV7XHJcbiAgLnJlc3BvbnNpdmUtaGVhZGVyLWJ1dHRvbnN7XHJcblxyXG4gIFx0LnRhYmxldC14eGxhcmdlKHtcclxuICBcdCAgZGlzcGxheTogYmxvY2s7XHJcbiAgXHQgIHotaW5kZXg6IDk5O1xyXG4gIFx0ICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XHJcbiAgXHQgIC5jb2x1bW4yLTYoKTtcclxuXHJcbiAgXHQgIC5hY2NvdW50LWJ1dHRvbiB7XHJcbiAgXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG4gIFx0ICB9XHJcbiAgICAgIC5yZWdpc3Rlci1idXR0b257XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICBcdH0pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiAgRGVwb3NpdC9Mb2dpbiBCdXR0b24gYW5kIHRoZSAgQmFjayBCdXR0b25cclxuICovXHJcblxyXG4vL2dlb21ldHJ5IG1hbmFnZW1lbnRcclxuLmRlcG9zaXQtYnV0dG9ue1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgLnhsYXJnZSh7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgdG9wOiA5cHg7XHJcbiAgICBsZWZ0OjVweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gIH0pO1xyXG5cclxuICAubWVkaXVtKHtcclxuICAgIHRvcDogNHB4O1xyXG4gICAgbGVmdDo0cHg7XHJcbiAgfSk7XHJcblxyXG4gIC5jYXNoaWVye1xyXG4gICAgLmJ1dHRvbi1zdHlsZSgpO1xyXG4gICAgLlZfaGVhZGVyc19hY2NvdW50X2pvaW5fbm93KCk7XHJcbiAgXHR0ZXh0LXNoYWRvdzogMCAycHggMXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgIC5tZWRpdW0oe1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIHBhZGRpbmc6IDdweCAxNXB4O1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxufVxyXG5cclxuYm9keS50YWJsZXQsIGJvZHkuc21hcnRwaG9uZXtcclxuXHJcbiAgLmRlcG9zaXQtYnV0dG9ue1xyXG5cdC50YWJsZXQteHhsYXJnZSh7XHJcblx0ICBkaXNwbGF5OiBibG9jaztcclxuXHQgIHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdCAgdG9wOiA5cHg7XHJcblx0ICBsZWZ0OjVweDtcclxuXHQgIGZvbnQtc2l6ZTogMTNweDtcclxuXHQgIHotaW5kZXg6IDk5O1xyXG5cdH0pO1xyXG4gIH1cclxufVxyXG4vL2FjdGl2YXRlIHRoZSBidXR0b24gZm9yIGRlc2t0b3BcclxuYm9keS5kZXNrdG9we1xyXG5cclxuICAuZGVwb3NpdC1idXR0b24sIC5yZXNwb25zaXZlLWhlYWRlci1idXR0b25ze1xyXG4gICAgZGlzcGxheTpub25lO1xyXG5cclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG4vL2RlYWN0aXZhdGUgdGhlIGJ1dHRvbiBmb3Igc21hcnRwaG9uZSBhbmQgdGFibGV0IGluIHNldmVyYWwgcGFnZXMgYW5kIGFjdGl2YXRlIHRoZSBiYWNrIGJ1dHRvblxyXG5ib2R5LnRhYmxldCwgYm9keS5zbWFydHBob25lXHJcbntcclxuICAmLnBhZ2UtdGVybXMtYW5kLWNvbmRpdGlvbnMsXHJcbiAgJi5wYWdlLXByaXZhY3ktcG9saWN5LFxyXG4gICYucGFnZS1lbmpveS1yZXNwb25zaWJseSxcclxuICAmLnBhZ2UtcmVzcG9uc2libGUtZ2FtYmxpbmcsXHJcbiAgJi5wYWdlLWdhbWUtaW5mbyxcclxuICAmLm5vZGUtdHlwZS1wcm9tb3Rpb25zLnBhZ2UtcHJvbW90aW9ucywgLy8gaW5kaXZpZHVhbCBwcm9tb3Rpb25zXHJcbiAgJi5wYWdlLWNvbnRhY3QtdXMsXHJcbiAgJi5ub2RlLXR5cGUtcHJlc2VudGVyLnBhZ2UtcHJlc2VudGVycywgLy8gaW5kaXZpZHVhbCBwcmVzZW50ZXJzXHJcbiAgJi5wYWdlLWdldHRpbmctc3RhcnRlZCAvL2dldHRpbmctc3RhcnRlZCBhbmQgYWxsIGl0cyBjaGlsZHJlblxyXG4gIHtcclxuICAgIC5kZXBvc2l0LWJ1dHRvbiwgLnJlc3BvbnNpdmUtaGVhZGVyLWJ1dHRvbnN7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLnJlc3BvbnNpdmUtaGVhZGVyLWJhbGFuY2Uge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAuZGVwb3NpdC1idXR0b24ge1xyXG4gICAgICAuYnV0dG9uLXN0eWxlKCk7XHJcbiAgICAgIC5WX2hlYWRlcnNfbW9iaWxlX2J0X2RlcG9zaXQoKTtcclxuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIH1cclxuXHJcbiAgICAuYmFsYW5jZXtcclxuXHRcdCAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG5cdFx0ICB6LWluZGV4OiA5OTk7XHJcblx0XHQgIG1hcmdpbjogMCBhdXRvOyAgXHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDozMy4zMzMzMzMzMzMzJTtcclxuICAgICAgbWluLXdpZHRoOiAxNTBweDtcclxuXHJcbiAgXHRcdC54bGFyZ2Uoe1xyXG4gIFx0XHQgICAgdG9wOiAwcHg7XHJcbiAgXHRcdH0pO1xyXG5cclxuICBcdFx0LmxhcmdlKHtcclxuICBcdFx0ICB0b3A6IDBweDtcclxuICBcdFx0fSk7XHJcblxyXG4gIFx0XHQuc21hbGwoe1xyXG4gIFx0XHR0b3A6MHB4O1xyXG4gIFx0XHR9KTtcclxuXHJcblx0XHQgIC51c2VybmFtZXtcclxuICAgICAgIC5WX2hlYWRlcnNfbW9iaWxlX25hbWUoKTtcclxuXHRcdFx0IGRpc3BsYXk6IGJsb2NrO1xyXG4gIFx0XHRcdC54bGFyZ2Uoe1xyXG4gIFx0XHRcdCAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgXHRcdFx0fSk7XHJcblxyXG4gIFx0XHRcdC5sYXJnZSh7XHJcbiAgXHRcdFx0ICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICBcdFx0XHR9KTtcclxuXHJcbiAgXHRcdFx0LnNtYWxsKHtcclxuICBcdFx0XHQgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIFx0XHRcdH0pO1xyXG5cclxuICBcdFx0XHRhe1xyXG4gIFx0XHRcdCAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIFx0XHRcdH1cclxuXHRcdCAgfVxyXG5cclxuXHRcdCAgLmpzLXRvdGFsLWJhbGFuY2V7XHJcbiAgXHRcdFx0LlZfaGVhZGVyc19tb2JpbGVfYmFsYW5jZSgpO1xyXG4gIFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHRcdFx0ICAueGxhcmdlKHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XHJcblx0XHRcdCAgfSk7XHJcblxyXG4gIFx0XHRcdC5sYXJnZSh7XHJcbiAgXHRcdFx0ICBmb250LXNpemU6IDE2cHg7XHJcbiAgXHRcdFx0fSk7XHJcblxyXG4gIFx0XHRcdC5zbWFsbCh7XHJcbiAgXHRcdFx0ICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIFx0XHRcdH0pO1xyXG5cdFx0ICB9XHJcblxyXG5cdFx0YXtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0fVxyXG4gIH1cclxuXHJcblx0LnhsYXJnZSh7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9KTtcclxufVxyXG5cclxuYm9keS50YWJsZXQsIGJvZHkuc21hcnRwaG9uZXtcclxuICAucmVzcG9uc2l2ZS1oZWFkZXItYmFsYW5jZSB7XHJcbiAgXHQudGFibGV0LXh4bGFyZ2Uoe1xyXG4gIFx0ICBkaXNwbGF5OiBibG9jaztcclxuICBcdCAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBcdCAgLmJhbGFuY2Uge1xyXG4gIFx0XHQmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XHJcbiAgXHRcdHotaW5kZXg6IDk5OTtcclxuICBcdFx0bWFyZ2luOiAwIGF1dG87XHJcbiAgXHRcdC5jb2x1bW4yLTYoKTtcclxuICBcdFx0dG9wOiAwcHg7XHJcbiAgICBcdFx0LnVzZXJuYW1lIHtcclxuICAgIFx0XHQgIC5WX2hlYWRlcnNfbW9iaWxlX25hbWUoKTtcclxuICAgIFx0XHQgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgXHRcdCAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgXHRcdH1cclxuXHJcbiAgICBcdFx0LmpzLXRvdGFsLWJhbGFuY2V7XHJcbiAgICBcdFx0ICAuVl9oZWFkZXJzX21vYmlsZV9iYWxhbmNlKCk7XHJcbiAgICBcdFx0ICBkaXNwbGF5OiBibG9jaztcclxuICAgIFx0XHQgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIFx0XHQgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgXHRcdH1cclxuICBcdCAgfVxyXG4gIFx0fSk7XHJcbiAgfVxyXG59XHJcblxyXG4ucGxheS1saXZlLW9uLWZpdmV7XHJcblx0LnhsYXJnZSh7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH0pO1xyXG59XHJcbmJvZHkudGFibGV0LCBib2R5LnNtYXJ0cGhvbmV7XHJcbiAgLnBsYXktbGl2ZS1vbi1maXZlIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLnBsYXl0ZWNoLWxvZ2luLWJsb2NrIHtcclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH0pO1xyXG59XHJcbmJvZHkudGFibGV0LCBib2R5LnNtYXJ0cGhvbmV7XHJcbiAgLnBsYXl0ZWNoLWxvZ2luLWJsb2NrIHtcclxuXHQgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uc3VwcG9ydC1idXR0b25ze1xyXG5cdC54bGFyZ2Uoe1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9KTtcclxufVxyXG5cclxuYm9keS50YWJsZXQsIGJvZHkuc21hcnRwaG9uZXtcclxuICAuc3VwcG9ydC1idXR0b25ze1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uRkxFWC1hY2NvdW50LWJsb2Nre1xyXG4gIC54bGFyZ2Uoe1xyXG4gICAgICB6LWluZGV4OiA5O1xyXG4gICAgfSk7IFxyXG5cclxuXHQjYWNjb3VudF9ib3h7XHJcblx0XHQueGxhcmdlKHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgXHR9KTtcclxuXHR9XHJcblxyXG4gIC5sYXJnZSh7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH0pO1xyXG59XHJcblxyXG5ib2R5LnRhYmxldCwgYm9keS5zbWFydHBob25le1xyXG4gIC5GTEVYLWFjY291bnQtYmxvY2t7XHJcblx0ZGlzcGxheTpub25lO1xyXG4gIH1cclxufVxyXG5cclxuLyogLS0tLS0gIHJlc3BvbnNpdmUgbW9iaWxlLXRhYmxldCBtZW51IGJ1dHRvbiBpbiBpY29uIC0tLS0tICAqL1xyXG5cclxuLnJlc3BvbnNpdmUtbWVudS1idXR0b257XHJcblx0ZGlzcGxheTogbm9uZTtcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuXHJcblx0LnhsYXJnZSh7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHRcdHotaW5kZXg6IDk5OTtcclxuXHRcdHRvcDogMHB4O1xyXG5cdFx0cmlnaHQ6IDBweDtcclxuICAgIGNvbG9yOiNGRkY7XHJcblx0XHRcclxuXHRcdGEge1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBjb2xvcjojRkZGO1xyXG4gICAgfVxyXG5cclxuXHRcdGE6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjojRkZGO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pY29uLW1lbnV7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzJweDtcclxuXHRcdFx0cGFkZGluZzogOXB4IDEwcHg7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cclxuICB9KTtcclxuXHJcbiAgLmxhcmdlKHtcclxuXHRcdC5pY29uLW1lbnV7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzZweDtcclxuXHRcdFx0cGFkZGluZzogN3B4IDEycHg7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG4gIH0pO1xyXG5cclxuICAubWVkaXVtKHtcclxuICAgIC5pY29uLW1lbnV7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzRweDtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLnNtYWxsKHtcclxuICAgIC5pY29uLW1lbnV7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbn1cclxuXHJcbmJvZHkudGFibGV0LCBib2R5LnNtYXJ0cGhvbmV7XHJcbiAgLnJlc3BvbnNpdmUtbWVudS1idXR0b257XHJcblx0LnRhYmxldC14eGxhcmdlKHtcclxuXHQgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdCAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG5cdCAgei1pbmRleDogOTk5O1xyXG5cdCAgdG9wOiAwcHg7XHJcblx0ICByaWdodDogMHB4O1xyXG5cclxuXHQgIGEge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdCAgfVxyXG5cclxuXHQgIGE6aG92ZXIge1xyXG5cdFx0Y29sb3I6I2JlYjRkNztcclxuXHQgIH1cclxuXHJcblx0ICAuaWNvbi1tZW51e1xyXG5cdFx0Zm9udC1zaXplOiAzMnB4O1xyXG5cdFx0cGFkZGluZzogOXB4IDEwcHg7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHQgIH1cclxuXHR9KTtcclxuICB9XHJcbn1cclxuXHJcbmEuaGVhZGVyLWJ1dHRvbi5tZW51LXN3aXBlLm9wZW57XHJcbiAgLlZfc2lkZS1tZW51X21vYmlsZV9iZ19idXJnZXIoKTtcclxufVxyXG5cclxuI292ZXJsYXl7XHJcblx0b3BhY2l0eTowLjY7XHJcblx0cG9zaXRpb246Zml4ZWQ7XHJcblx0dG9wOjBweDtcclxuXHRyaWdodDowcHg7XHJcblx0ZGlzcGxheTpub25lO1xyXG4gIC5WX3NpZGUtbWVudV9tb2JpbGVfYmdfbWFzaygpO1xyXG5cdHdpZHRoOjEwMHZ3O1xyXG5cclxuXHQvLyBTaG91bGQgYmUgaW5iZXR3ZWVuIHotaW5kZXggb2YgLnJlZ2lvbi1oZWFkZXIgYW5kIC5yZWdpb24tYmFubmVyXHJcblx0ei1pbmRleDogMTUwMDtcclxuXHJcblx0dHJhbnNpdGlvbjpBbGwgMC4zcyBsaW5lYXI7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOkFsbCAwLjNzIGxpbmVhcjtcclxuXHQtbW96LXRyYW5zaXRpb246QWxsIDAuM3MgbGluZWFyO1xyXG5cdC1vLXRyYW5zaXRpb246QWxsIDAuM3MgbGluZWFyO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyAvKiBTYWZhcmkgKi9cclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XHJcblxyXG5cdC54bGFyZ2Uoe1xyXG5cdFx0dG9wOjUwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblx0fSk7XHJcblxyXG5cdC5tZWRpdW0oe1xyXG5cdFx0dG9wOjQ4cHg7XHJcblx0fSk7XHJcblxyXG5cdC5zbWFsbCh7XHJcblx0XHR0b3A6NDBweDtcclxuXHR9KTtcclxufVxyXG5cclxuYm9keS5zdGFuZGFsb25le1xyXG4gICNvdmVybGF5e1xyXG5cdC54bGFyZ2Uoe1xyXG5cdCAgdG9wOjcwcHg7XHJcblx0fSk7XHJcblxyXG5cdC5tZWRpdW0oe1xyXG5cdCAgdG9wOjY4cHg7XHJcblx0fSk7XHJcblxyXG5cdC5zbWFsbCh7XHJcblx0ICB0b3A6NjBweDtcclxuXHR9KTtcclxuICB9XHJcbn1cclxuXHJcbi5yZWdpb24tcmVzcG9uc2l2ZS1sYXRlcmFsLW1lbnUge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRsZWZ0OjEwMCU7XHJcblxyXG5cdC8vIFNob3VsZCBiZSB0aGUgc2FtZSB6LWluZGV4IGFzIHJlZ2lvbi1oZWFkZXIgLnhsYXJnZSgpOyBpZiBub3QgZ3JlYXRlclxyXG5cdHotaW5kZXg6IDIwMDA7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cclxuICAueGxhcmdlKHtcclxuICAgIHdpZHRoOiAyODBweDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHRvcDogNTBweDtcclxuICB9KTtcclxuXHJcbiAgLm1lZGl1bSh7XHJcbiAgICB3aWR0aDogMjY1cHg7XHJcbiAgICB0b3A6IDQ4cHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfSk7XHJcblxyXG4gIC5zbWFsbCh7XHJcbiAgICB3aWR0aDogMjY1cHg7XHJcbiAgICB0b3A6IDQwcHg7XHJcbiAgfSk7XHJcblxyXG4gICYudHJhbnNpdGlvbi1vbiB7XHJcbiAgICB0cmFuc2l0aW9uOiBBbGwgMC4zcyBsaW5lYXI7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IEFsbCAwLjNzIGxpbmVhcjtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogQWxsIDAuM3MgbGluZWFyO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogQWxsIDAuM3MgbGluZWFyO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlKTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSk7XHJcbiAgfVxyXG5cclxuICAmLnRyYW5zaXRpb24tb2ZmIHtcclxuICAgIHRyYW5zaXRpb246IEFsbCAwLjNzIGxpbmVhcjtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogQWxsIDAuM3MgbGluZWFyO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBBbGwgMC4zcyBsaW5lYXI7XHJcbiAgICAtby10cmFuc2l0aW9uOiBBbGwgMC4zcyBsaW5lYXI7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAlKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLyogIC0tLSBtZW51IGFub255bW91c2UgLS0tICovXHJcblxyXG4gIC5tZW51LXJlc3BvbnNpdmUtZmxleC1tZW51IHtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAmIHVsLm1lbnUge1xyXG4gICAgICByaWdodDogYXV0bztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMCA7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAuVl9zaWRlLW1lbnVfbW9iaWxlX21lbnVfbGluaygpO1xyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgIHBhZGRpbmc6IDEzcHggMHB4IDEzcHggMzBweDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgLlZfc2lkZS1tZW51X21vYmlsZV9iZ19tZW51KCk7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XHJcbiAgICAgICAgICAuVl9zaWRlLW1lbnVfbW9iaWxlX2xpbmVfc2VwYXJhdGlvbigpO1xyXG5cclxuICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlNjA0XCI7XHJcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICAgIHRvcDogMzBweDtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICMzYjMxNTM7XHJcbiAgICAgICAgICAgICAgLlZfc2lkZS1tZW51X21vYmlsZV9iZ19vcGVuKCk7XHJcbiAgICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMxMjc0OSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIC5WX3NpZGUtbWVudV9tb2JpbGVfbGluZV9zZXBhcmF0aW9uKCk7XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIC5WX3NpZGUtbWVudV9tb2JpbGVfbWVudV9saW5rKCk7XHJcbiAgICAgICAgICAgICAgLy9jb2xvcjogI2I3YWVkMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gIFxyXG5cclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH0pO1xyXG5cclxuICAgIC5qcy1zdWJtZW51LWdldHRpbmcge1xyXG4gICAgICAvL2JhY2tncm91bmQtY29sb3I6ICMzYjMxNTM7XHJcbiAgICAgIC5WX3NpZGUtbWVudV9tb2JpbGVfYmdfb3BlbigpO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7XHJcbiAgICAgIC5WX3NpZGUtbWVudV9tb2JpbGVfbGluZV9zZXBhcmF0aW9uX29wZW4oKTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGNvbG9yOiAjRkZGO1xyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcXGU2MDhcIjtcclxuICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlNjA4XCI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcclxuICAgICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSgwcHgpOyBcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMHB4KTsgXHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSgwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gICAgLyogLS0tIG1lbnUgcmVzcG9uc2l2ZSBhdXRoZW50aWNhdGVkIC0tLSAgKi9cclxuXHJcbiAgICAubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudS1hdXRoZW4ge1xyXG4gICAgICB6LWluZGV4OiA5OTtcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgJiB1bC5tZW51IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwge1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5qcy1zdWJtZW51LWxpbmsge1xyXG4gICAgICAgICAgLlZfc2lkZS1tZW51X21vYmlsZV9iZ19vcGVuKCk7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7XHJcbiAgICAgICAgICAuVl9zaWRlLW1lbnVfbW9iaWxlX2xpbmVfc2VwYXJhdGlvbigpO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcclxuXHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU2MDhcIjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgICAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTYwOFwiO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlKDBweCk7IFxyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMHB4KTsgXHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuanMtc3VibWVudS1nZXR0aW5nIHtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xyXG4gICAgICAgICAgLlZfc2lkZS1tZW51X21vYmlsZV9saW5lX3NlcGFyYXRpb25fb3BlbigpO1xyXG4gICAgICAgICAgLlZfc2lkZS1tZW51X21vYmlsZV9tZW51X2xpbmsoKTtcclxuICAgICAgICAgIC5WX3NpZGUtbWVudV9tb2JpbGVfYmdfb3BlbigpO1xyXG5cclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTYwOFwiO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlNjA4XCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMHB4KTsgXHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSgwcHgpOyBcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSgwcHgpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgLlZfc2lkZS1tZW51X21vYmlsZV9tZW51X2xpbmsoKTtcclxuICAgICAgICAgIC5WX3NpZGUtbWVudV9tb2JpbGVfYmdfbWVudSgpO1xyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgIHBhZGRpbmc6IDEzcHggMHB4IDEzcHggMjVweDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xyXG4gICAgICAgICAgLlZfc2lkZS1tZW51X21vYmlsZV9saW5lX3NlcGFyYXRpb24oKTtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuVl9zaWRlLW1lbnVfbW9iaWxlX2xpbmtfaGlnaGxpZ2h0KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICB0b3A6IDMwcHg7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgLlZfc2lkZS1tZW51X21vYmlsZV9iZ19vcGVuKCk7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xyXG4gICAgICAgICAgICAgIC5WX3NpZGUtbWVudV9tb2JpbGVfbGluZV9zZXBhcmF0aW9uX29wZW4oKTtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgLlZfc2lkZS1tZW51X21vYmlsZV9tZW51X2xpbmsoKTtcclxuXHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRlcG9zaXQgYSB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcblxyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTYwNVwiO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgICAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDI1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlNjA0XCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7IC8qIElFIDkgKi9cclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7IC8qIFNhZmFyaSAqL1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudHJhbnNhY3Rpb25zIGEge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG5cclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU2MDJcIjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICAgICAgICBsZWZ0OiAyNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU2MDRcIjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTsgLyogSUUgOSAqL1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsgLyogU2FmYXJpICovXHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC53aXRoZHJhdyBhIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuXHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlNjAxXCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgICAgICAgbGVmdDogMjVweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlNjA0XCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2hhbmdlLXBhc3N3b3JkIGEge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG5cclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU2MGJcIjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICAgICAgICBsZWZ0OiAyNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU2MDRcIjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBhOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTYwNFwiO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuYWNjb3VudC1vcGVuIHtcclxuICAgICAgICBcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlNjA4XCI7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xyXG4gICAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IC8qIElFIDkgKi9cclxuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyAvKiBTYWZhcmkgKi9cclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC54bGFyZ2UoeyBkaXNwbGF5OiBibG9jazsgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyogLS0tIGFub255bW91cyBidXR0b24gYmxvY2sgLS0tICovXHJcblxyXG4gIC5yZXNwb25zaXZlLWFjY291bnRzLWxhdGVyYWwtbWVudSB7XHJcblxyXG4gICAgLlZfc2lkZS1tZW51X21vYmlsZV9iZ19tZW51KCk7XHJcbiAgICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XHJcbiAgICB6LWluZGV4OiA5OTtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZDtcclxuICAgIC5WX3NpZGUtbWVudV9tb2JpbGVfbGluZV9zZXBhcmF0aW9uKCk7IFxyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgLnJlZ2lzdGVyLWJ1dHRvbiB7XHJcbiAgICAgIC5idXR0b24tc3R5bGUoKTtcclxuICAgICAgLlZfaGVhZGVyc19idF9qb2luX25vdygpO1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gICAgICB3aWR0aDogODRweDtcclxuICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgfVxyXG4gICAgLmxvZ2luLWJ1dHRvbiB7XHJcbiAgICAgIC5idXR0b24tc3R5bGUoKTtcclxuICAgICAgLlZfaGVhZGVyc19idF9zaWduX2luKCk7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gICAgICB3aWR0aDogNzBweDtcclxuICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgfVxyXG5cclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gICYuc2Nyb2xsYWJsZXtcclxuXHJcbiAgICAubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudSB7XHJcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4vLyAgICAgIGhlaWdodDogflwiY2FsYygxMDB2aCAtIDEyNHB4KVwiO1xyXG4gICAgfVxyXG4gICAgLm1lbnUtcmVzcG9uc2l2ZS1mbGV4LW1lbnUtYXV0aGVuIHtcclxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbi8vICAgICAgaGVpZ2h0OiB+XCJjYWxjKDEwMHZoIC0gNTBweClcIjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmJvZHkuc3RhbmRhbG9uZXtcclxuICAucmVnaW9uLXJlc3BvbnNpdmUtbGF0ZXJhbC1tZW51IHtcclxuXHQueGxhcmdlKHtcclxuXHQgIHRvcDogNzBweDtcclxuXHR9KTtcclxuXHJcblx0Lm1lZGl1bSh7XHJcblx0ICB0b3A6IDY4cHg7XHJcblx0fSk7XHJcblxyXG5cdC5zbWFsbCh7XHJcblx0ICB0b3A6IDYwcHg7XHJcblx0fSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbmJvZHkudGFibGV0LCBib2R5LnNtYXJ0cGhvbmV7XHJcbiAgLnJlZ2lvbi1yZXNwb25zaXZlLWxhdGVyYWwtbWVudVxyXG4gIHtcclxuXHQudGFibGV0LXh4bGFyZ2Uoe1xyXG5cdCAgd2lkdGg6IDI4MHB4O1xyXG5cdCAgZm9udC1zaXplOiAxOHB4O1xyXG5cdCAgdG9wOiA1MHB4O1xyXG5cclxuXHQgIC5tZW51LXJlc3BvbnNpdmUtZmxleC1tZW51e1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0ICB9XHJcblx0ICAubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudS1hdXRoZW57XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHQgIH1cclxuXHQgIC5yZXNwb25zaXZlLWFjY291bnRzLWxhdGVyYWwtbWVudXtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdCAgfVxyXG5cdH0pO1xyXG4gIH1cclxufVxyXG5cclxuLy9leHBhbmQgdGhlIFwiZ2V0dGluZyBzdGFydGVkXCIgbWVudSBvbmx5IGlmIHRoZSBjdXJyZW50IHBhZ2UgaXMgXCJnZXR0aW5nIHN0YXJ0ZWRcIlxyXG5ib2R5LnBhZ2UtZ2V0dGluZy1zdGFydGVke1xyXG4gIGxpLmdldHRpbmctc3RhcnRlZHtcclxuICAgIHVsLm1lbnV7XHJcbiAgICAgIC8vZGlzcGxheTpibG9jaztcclxuICAgICAgbGl7XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjMxNTM7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlNjA4XCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpob3ZlcjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYS5hY3RpdmUtc3VibWVudXtcclxuICAgIGNvbG9yOiNmZmY7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlxcZTYwOFwiO1xyXG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xyXG4gICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4jbWVudS1ncmFkaWVudHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzFiMTgyNyswLDFiMTgyNysxMDAmYW1wOzArMCwxKzEwMCAqL1xyXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjcsMjQsMzksMCkgMCUsIHJnYmEoMjcsMjQsMzksMSkgMTAwJSk7IC8qIEZGMy42KyAqL1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUscmdiYSgyNywyNCwzOSwwKSksIGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDI3LDI0LDM5LDEpKSk7IC8qIENocm9tZSxTYWZhcmk0KyAqL1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjcsMjQsMzksMCkgMCUscmdiYSgyNywyNCwzOSwxKSAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cclxuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSgyNywyNCwzOSwwKSAwJSxyZ2JhKDI3LDI0LDM5LDEpIDEwMCUpOyAvKiBPcGVyYSAxMS4xMCsgKi9cclxuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjcsMjQsMzksMCkgMCUscmdiYSgyNywyNCwzOSwxKSAxMDAlKTsgLyogSUUxMCsgKi9cclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgcmdiYSgyNywyNCwzOSwwKSAwJSxyZ2JhKDI3LDI0LDM5LDEpIDEwMCUpOyAvKiBXM0MgKi9cclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMWIxODI3JywgZW5kQ29sb3JzdHI9JyMxYjE4MjcnLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXHJcblxyXG4gIHdpZHRoOiAxMDBweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgei1pbmRleDogMTAwMDsgLy8gdGhhbmtzIERpcFxyXG4gIGJvdHRvbTowO1xyXG4gIGhlaWdodDogMTI1cHg7XHJcbiAgbGVmdDogMTAwJTtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgJi50cmFuc2l0aW9uLW9ue1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlKTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSk7XHJcbiAgfVxyXG4gICYudHJhbnNpdGlvbi1vZmZ7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAlKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4vKiBjbG9zZSByZWdpb24tcmVzcG9uc2l2ZS1sYXRlcmFsLW1lbnUgKi9cclxuXHJcbi8qIEFwcCBTdG9yZSBCdXR0b25cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5hcHBfc3RvcmVfYmFkZ2Vze1xyXG4gICNtb2JpbGVfYXBwX3N0b3JlX2JhZGdlcyBhIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogNXB4O1xyXG4gIH1cclxufVxyXG5cclxuI21vYmlsZV9hcHBfc3RvcmVfYmFkZ2VzIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbiNtb2JpbGVfYXBwX3N0b3JlX2JhZGdlcyBhIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG4gIC5tZWRpdW0oe1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiA1cHg7XHJcbiAgfSk7XHJcblxyXG4gIC5tZWRpdW0oe1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiA1cHg7XHJcbiAgfSk7XHJcblxyXG59XHJcblxyXG5cclxuYm9keS5wYWdlLWNvbnRhY3QtdXN7XHJcblxyXG4gICNtb2JpbGVfYXBwX3N0b3JlX2JhZGdlc3tcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLm1lZGl1bSh7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luOiA1cHggYXV0bztcclxuICAgICAgd2lkdGg6OTglO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG4uZGVmYXVsdC1tb2RhbC5jYXNoaWVyLW1vZGFse1xyXG5cclxuICAuY2FzaGllci1sYXJnZSh7XHJcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XHJcbiAgfSk7XHJcbiAgXHJcbiAgLm1vZGFsLWRpYWxvZ3tcclxuICAgIG1heC13aWR0aDogODI3cHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA2MjBweDtcclxuICAgICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAuY2FzaGllci1sYXJnZSh7XHJcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgIH0pO1xyXG5cclxuICAgIC5tb2RhbC1jb250ZW50e1xyXG4gICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgLm1vZGFsLWhlYWRlcntcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgLm1vZGFsLWJvZHl7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG5cclxuICAgICAgICBpZnJhbWV7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogNjIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2xvc2V7XHJcbiAgICAgIHRvcDogN3B4O1xyXG4gICAgICByaWdodDogMTdweDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubW9kYWwuZmFkZS5hbmRyb2lkLW1vZGFse1xyXG5cclxuICAubW9kYWwtZGlhbG9ne1xyXG4gICAgbWF4LXdpZHRoOjU1MHB4O1xyXG5cclxuICAgIC5tb2RhbC1jb250ZW50e1xyXG4gICAgICAvL2JhY2tncm91bmQtY29sb3I6ICMyYjIxM2E7XHJcbiAgICAgIC5WX21vZGFsX2NvbnRlbnRfYmFja2dyb3VuZCgpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgfVxyXG4gICAgLmFuZHJvaWQtaW5zdGFsbHtcclxuICAgICAgaDJ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBjb2xvcjogI0VFRTtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG4gICAgICAgIC5zbWFsbCh7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOjE1cHg7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIGgze1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgfVxyXG4gICAgICBhe1xyXG4gICAgICAgIGNvbG9yOiBAc3VwZXJfYnJhc3M7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhLmNsb3Nle1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICY6aG92ZXIsICY6Zm9jdXN7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpOjpiZWZvcmV7XHJcblx0XHQgIC5WX21vZGFsX2Nsb3NlX2J1dHRvbigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbi5tb2RhbC5mYWRlLnBhcy10ZXJtcy1tb2RhbCB7XHJcblxyXG5cdC5tb2RhbC1kaWFsb2cge1xyXG5cdFx0bWF4LXdpZHRoOiA1NTBweDtcclxuXHJcblx0XHQudGVybXMtaG9sZGVyIHtcclxuXHRcdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2ggIWltcG9ydGFudDtcclxuXHRcdFx0aGVpZ2h0OiA3MHZoO1xyXG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAjNGIwYTRhO1xyXG5cclxuXHRcdFx0Ym9keS5zbWFydHBob25lICYgLCBib2R5LnRhYmxldCAmIHtcclxuXHRcdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZnJhbWUge1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHR3aWR0aDogMXB4O1xyXG5cdFx0XHRcdG1pbi13aWR0aDogMTAwJTtcclxuXHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRhLmNsb3NlIHtcclxuXHRcdFx0ZGlzcGxheSA6bm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRhLmFjY2VwdCB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNjMWYwMTg7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBcIlByb3hpbWEgTm92YSBTb2Z0XCIsIFwicHJveGltYS1ub3ZhLXNvZnRcIiwgc2Fucy1zZXJpZjtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRcdFx0cGFkZGluZzogM3B4IDEwcHg7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA4MDA7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubW9kYWwuZmFkZS5yZWdpc3RyYXRpb24tbW9kYWx7XHJcblxyXG4gIC5tb2RhbC1kaWFsb2d7XHJcblx0bWF4LXdpZHRoOiA4NSU7XHJcblx0aGVpZ2h0OiA5MnZoO1xyXG5cclxuICAgIC5tb2RhbC1jb250ZW50e1xyXG4gICAgICAvL2JhY2tncm91bmQtY29sb3I6IzJiMjEzYTtcclxuICAgICAgLlZfbW9kYWxfY29udGVudF9iYWNrZ3JvdW5kKCk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6MDtcclxuXHRcdCAgaGVpZ2h0OjEwMCU7XHJcblxyXG4gIFx0XHQubW9kYWwtYm9keXtcclxuICBcdFx0ICBoZWlnaHQ6IH5cImNhbGMoMTAwJSAtIDQ1cHgpXCI7XHJcbiAgXHRcdCAgdG9wOiAzMHB4O1xyXG4gIFx0XHQgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICBcdFx0ICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgXHRcdCAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIFx0XHQgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgXHRcdCAgcGFkZGluZzogMCAyNHB4IDAgMTVweDtcclxuICAgICAgICB3b3JkLXdyYXA6YnJlYWstd29yZDtcclxuXHJcbiAgXHRcdCAgaDJ7XHJcbiAgXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuICBcdFx0ICB9XHJcbiAgXHRcdH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmFuZHJvaWQtaW5zdGFsbHtcclxuICAgICAgLy8gICAgICBjb2xvcjogI0ZGRjtcclxuXHJcbiAgICAgIGgye1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgY29sb3I6ICNFRUU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICB9XHJcbiAgICAgIGgze1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgfVxyXG4gICAgICBhe1xyXG4gICAgICAgIGNvbG9yOiBAc3VwZXJfYnJhc3M7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhLmNsb3Nle1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICY6aG92ZXIsICY6Zm9jdXN7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpOjpiZWZvcmV7XHJcbiAgICAgICAvL1JlbW92ZSBjb2xvdXIgdG8gZ2V0IFggaWNvbiBzYW1lIGNvbG91ciBhcyBsb2dpbiBYXHJcbiAgICAgICAvLyBjb2xvcjogIzU1NTQ3MztcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vbGltaXRhdGlvbiBpbiBkZXNrdG9wXHJcbmJvZHkuZGVza3RvcFxyXG57XHJcbiAgLm1vZGFsLmZhZGUucmVnaXN0cmF0aW9uLW1vZGFsIHtcclxuICAgIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm1vZGFsLmZhZGUuZ2FtZUluZm8tbW9kYWwge1xyXG4gIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgXHR3aWR0aDoyOTNweDtcclxuXHJcblx0ICBcdC5zbWFsbC1oZWlnaHQoe1xyXG5cdFx0XHR3aWR0aDogMjUzcHg7XHJcblx0XHR9KTtcclxuXHJcbiAgICAuY2xvc2V7XHJcbiAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgZm9udC1zaXplOiAyMHB0O1xyXG4gICAgICAgLm1lZGl1bSh7XHJcbiAgICAgICAgICByaWdodDoxMyU7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgOmhvdmVye1xyXG4gICAgICAgIGNvbG9yOiNkNGIxNWU7XHJcbiAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLm1vZGFsLWNvbnRlbnR7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAud3JhcHBlcl9vdmVybGF5e1xyXG4gICAgICAgIC5nYW1lX3RpdGxle1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgICAuVl9nYW1lLXBvcHVwX21vYmlsZV90aXRsZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubW9kYWwtYm9keXtcclxuICAgICAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmllbGQtaXRlbXMgLmV2ZW4gcHtcclxuICBcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxufVxyXG5cclxuXHJcbi8qIGJ1ZyBmaXggZm9yIElPUyAtIEJvb3RzdHJhcCBjcmVhdGUgbW9kYWwtb3BlbiBjbGFzcyAqL1xyXG5cclxuYm9keS5tb2RhbC1vcGVue1xyXG4vKiY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7Ki9cclxuXHJcbn1cclxuIiwiLlZfbG9hZGluZ19iZygpIHtcclxuICBiYWNrZ3JvdW5kOiAjNmJiMTVlO1xyXG59XHJcbi5WX2xvYWRpbmdfYW5pbV9iZygpIHtcclxuICAvLyBTZXQgdG8gcmdiYSBvcGFjaXR5IGluc3RlYWRcclxuICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMCwwLDAsMCksIHJnYmEoMCwwLDAsMCkgMjUlLCByZ2JhKDAsMCwwLDAuNCkgMjUlLCByZ2JhKDAsMCwwLDAuNCkgNTAlICk7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBAaGVpZ2h0IEBoZWlnaHQ7IC8vIFZlcmlmeSBpZiBiYWNrZ3JvdW5kLXNpemUgaXMgb2sgdG8gbGVhdmUgYXMgaXMgb3IgaWYgdGhpcyBuZWVkcyB0byBiZSBwZXJjZW50YWdlIG9yIGF1dG8uXHJcbn1cclxuXHJcbkBpY29uLXNpemluZzogMTVweDtcclxuQGZvbnQtc2l6aW5nOiAxMnB4O1xyXG5AaGVpZ2h0OiAyZW07XHJcblxyXG4vLyBQcmVzcyBFZmZlY3RcclxuLmFjdGlvbi1idXR0b24ge1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMXMgbGluZWFyO1xyXG5cclxuICAvLyBQcmVzcyBFZmZlY3RcclxuICAmOmFjdGl2ZSwmOmZvY3VzIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYWN0aW9uLWJ1dHRvbiB7XHJcbiAgLy8gUG9zaXRpb25pbmcgRGVmYXVsdHNcclxuICAuYWN0aW9uLWJ1dHRvbi1pbm5lciB7IGN1cnNvcjogaGFuZDsgfVxyXG5cclxuICAvLyBEaXNwbGF5IERlZmF1bHRzXHJcbiAgLmxvYWRpbmcsIC5hY3Rpb24tYnV0dG9uLWlubmVyLCAmLCAmIC5idXR0b24tc3R5bGVzIHsgIGRpc3BsYXk6IGJsb2NrOyAgfVxyXG4gIC5zdWNjZXNzIC5sb2FkaW5nLC5lcnJvciAubG9hZGluZyB7IG9wYWNpdHk6IDE7IH1cclxuICAvLy8gRU5EIG9mIERlZmF1bHRzXHJcblxyXG5cclxuICAvLyBSZXNldHNcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgem9vbTogMTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgLy8gUHJldmVudHMgbmF0aXZlIEJyb3dzZXIgU3R5bGVzIChpbiBDaHJvbWUpXHJcbiAgJjpmb2N1cywmOmFjdGl2ZSB7IG91dGxpbmU6IDA7IH1cclxuXHJcbiAgLy8gT3ZlcnJpZGVzXHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXNpemU6IEBmb250LXNpemluZztcclxuXHJcbiAgLy8gU3BlY2lmaWMgcGFkZGluZyByZW1vdmFsXHJcbiAgLy8gTk9URTogVGhpcyBpcyBwdXQgaGVyZSBiZWNhdXNlIG9mIGN1cnJlbnQgYXJjaGl0ZWN0dXJlLiBTaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IGFuZCByZW1vdmVkIGluIGZ1dHVyZSBpdGVyYXRpb25zXHJcbiAgJixmb3JtW25hbWU9XCJmb3Jtcy1jaGFuZ2UtcGFzc3dvcmQtZm9ybVwiXS5mb3JtLXN0eWxlIGJ1dHRvbiYucmVnaXN0ZXIsIGZvcm1bbmFtZT1cImZvcm1zLWZvcmdvdHRlbi1kZXRhaWxzLWZvcm1cIl0uZm9ybS1zdHlsZSBidXR0b24mLnJlZ2lzdGVyLC5oZWFkZXItYnV0dG9uLmFjY291bnQtYnV0dG9uJi5zaWduLWluLCAud3JhcHBlcl9vdmVybGF5IC5wbGF5X2Zvcl9mdW4mLC5wYWdlLXJlZ2lzdGVyIC5mb3JtLXN1Ym1pdC5yZWdpc3RlciYsIC53cmFwcGVyX292ZXJsYXkgJi5wbGF5X2Zvcl9yZWFsLCAud3JhcHBlcl9vdmVybGF5ICYucGxheV9mb3JfZnVuLCAgIC5nYW1lX3dyYXBwZXIgLmdhbWVfb3ZlcmxheSAmLmJ1dHRvbiwgLmdhbWVfd3JhcHBlciAuZ2FtZV9vdmVybGF5IC5wbGF5X2Zvcl9yZWFsLCAuZ2FtZV93cmFwcGVyIC5nYW1lX292ZXJsYXkgLnBsYXlfZm9yX2Z1biwgLnBhZ2UtZ2FtZS1pbmZvIC5nYW1lX2xhdW5jaF9idXR0b25zICYuYnV0dG9ueyAgcGFkZGluZzogMDsgIH1cclxuICAuZ2FtZV93cmFwcGVyIC5nYW1lX292ZXJsYXkgJi5idXR0b24sIC5nYW1lX3dyYXBwZXIgLmdhbWVfb3ZlcmxheSAucGxheV9mb3JfcmVhbCwgLmdhbWVfd3JhcHBlciAuZ2FtZV9vdmVybGF5IC5wbGF5X2Zvcl9mdW4geyAueGxhcmdlKHsgcGFkZGluZzogMDsgfSk7IH1cclxuXHJcbiAgLy8gQnV0dG9uIERlZmF1bHRzXHJcbiAgLmJ1dHRvbi1zdHlsZXMge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgLy8gTmVlZGVkIHRvIHByZXZlbnQgYW5jaG9yIHVuZGVybGluZVxyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gTG9hZGluZyBTdHJpcGVzIChoaWRkZW4gc3RhdGUpXHJcbiAgLmxvYWRpbmcge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIExvYWRpbmcgc3RyaXBlcyBzcGVjaWZpYyBjb2RlIChhY3RpdmUgc3RhdGUpXHJcbiAgJi5pbnByb2dyZXNzIC5idXR0b24tc3R5bGVzIC5sb2FkaW5nICB7XHJcbiAgICBvcGFjaXR5OiAwLjM7XHJcblxyXG4gICAgLy8gQ2FuIHVzZWQgdG8gY2hhbmdlIHRoZSBjb2xvdXIgb2YgdGhlIGdyYWRpZW50IHN0cmlwZXNcclxuICAgIC5WX2xvYWRpbmdfYW5pbV9iZygpO1xyXG5cclxuICAgIC8vIEJhY2tncm91bmQgc2l6ZSBpcyBrZXkgc2hvd2luZyB0aGUgcmlnaHQgcmF0aW9cclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBtb3ZlR3JhZGllbnQgM3MgbGluZWFyIHJldmVyc2UgYmFja3dhcmRzIGluZmluaXRlOyAvKiBTYWZhcmkgNCsgKi9cclxuICAgIC1tb3otYW5pbWF0aW9uOiAgIG1vdmVHcmFkaWVudCAzcyBsaW5lYXIgcmV2ZXJzZSBiYWNrd2FyZHMgaW5maW5pdGU7IC8qIEZ4IDUrICovXHJcbiAgICAtby1hbmltYXRpb246ICAgICBtb3ZlR3JhZGllbnQgM3MgbGluZWFyIHJldmVyc2UgYmFja3dhcmRzIGluZmluaXRlOyAvKiBPcGVyYSAxMisgKi9cclxuICAgIGFuaW1hdGlvbjogbW92ZUdyYWRpZW50IDNzIGxpbmVhciByZXZlcnNlIGJhY2t3YXJkcyBpbmZpbml0ZTtcclxuICB9XHJcblxyXG5cclxuICAvLyBCdXR0b24gU3BlY2lmaWMgQ29kZVxyXG4gIC5hY3Rpb24tYnV0dG9uLWlubmVyIHtcclxuICAgIHotaW5kZXg6IDEwMDsgLy8gU2V0IHNvIHRoaXMgb3ZlcmxhcHMgdGhlIC5sb2FkaW5nXHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIERpZmZlcmVudCBCdXR0b25zXHJcbiAgJi5yZWdpc3RlciB7XHJcblxyXG4gICAgLy8gVGFrZXMgbmF0aXZlIGJ1dHRvbiBtaXhpbiAocGVyIGJyYW5kKVxyXG4gICAgLmJ1dHRvbi1zdHlsZXMgeyAgLlZfcHJpbWFyeV9idXR0b24oKTsgIH1cclxuICB9XHJcblxyXG4gICYuc2lnbi1pbiB7XHJcbiAgICAuYnV0dG9uLXN0eWxlcyB7XHJcblxyXG4gICAgICAvLyBUYWtlcyBuYXRpdmUgYnV0dG9uIG1peGluIChwZXIgYnJhbmQpXHJcbiAgICAgIC5WX2hlYWRlcnNfYnRfc2lnbl9pbigpO1xyXG5cclxuICAgICAgLy8gVG9kbyByZW1vdmUgdGhlc2Ugc3R5bGVzIChzaG91bGQgYWxyZWFkeSBiZSBwcmVzZW50IGluIGJyYW5kIExFU1MpXHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcclxuICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgICAgem9vbTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE92ZXJyaWRlcyBGTEVYL2dhbWVzLmxlc3NcclxuXHJcbiAgLy8gT3ZlcnJpZGVzIE1vYmlsZS9UYWJsZXQgR2FtZSBNb2RhbCBPdmVybGF5IENUQVxyXG5cclxuICAvLyBNb2JpbGUgTG9naW4gSGVhZGVyIEJ1dHRvblxyXG4gIC5oZWFkZXItYnV0dG9uLmFjY291bnQtYnV0dG9uJi5zaWduLWluICB7XHJcbiAgICAvLyBTcGVjaWZpYyBGaXhcclxuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6aW5nKzFweDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFJlIENvbmZpZyBmb3IgR2FtZSBJbmZvIEJ1dHRvbnNcclxuLnBhZ2UtZ2FtZS1pbmZvIC5nYW1lX2xhdW5jaF9idXR0b25zIC5hY3Rpb24tYnV0dG9uLmJ1dHRvbiB7XHJcbiAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gICYucGxheV9mb3JfZnVuIC5idXR0b24tc3R5bGVzIHsgIC5WX3NlY29uZGFyeV9idXR0b24oKTsgIH1cclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gT3ZlcnJpZGVzIGJ1dHRvbi1zdHlsZSgpXHJcbiAgLnRleHQtc3R1ZmYgeyBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cclxufVxyXG5idXR0b24uYWN0aW9uLWJ1dHRvbi5yZWdpc3RlciB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAvLyBUT0RPOiBWZXJpZnkgd2hlcmUgcHJldmlvdXMgOTAlIHNldHRpbmcgZm9yIHJlZ2lzdGVyIGlucHV0IGlzIChjYW5ub3QgZmluZCBpdClcclxuICAgIC8vIENoYW5nZSBoZWlnaHQgdG8gbWltaWMgcHJldmlvdXMgc3R5bGVzXHJcbiAgICAvLyBNaW1pYyBQcmV2aW91cyBTZXR0aW5ncyBmb3IgaW5wdXRzXHJcbiAgICBmb3JtW25hbWU9XCJmb3Jtcy1jaGFuZ2UtcGFzc3dvcmQtZm9ybVwiXS5mb3JtLXN0eWxlICYsIGZvcm1bbmFtZT1cImZvcm1zLWZvcmdvdHRlbi1kZXRhaWxzLWZvcm1cIl0uZm9ybS1zdHlsZSAmIHtcclxuICAgICAgbWFyZ2luOiAwIDAgMCAxNi4xNTNlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4vLyBMb2FkaW5nIFN0cmlwZSBBbmltYXRpb25zXHJcbkAtd2Via2l0LWtleWZyYW1lcyBtb3ZlR3JhZGllbnQge1xyXG4gIDAlIHsgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgIH1cclxuICAxMDAlIHsgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDBweCAwOyAgfVxyXG59XHJcbkBrZXlmcmFtZXMgbW92ZUdyYWRpZW50IHtcclxuICAwJSB7ICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7ICB9XHJcbiAgMTAwJSB7ICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwcHggMDsgIH1cclxufVxyXG5cclxuXHJcbi5hY3Rpb24tYnV0dG9uIHtcclxuICAuYnV0dG9uLXN0eWxlcyB7ICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7ICB9XHJcbiAgLmxvYWRpbmcge1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG4gIC5sb2FkaW5nIHsgIHdpZHRoOiAxMDAlOyAgfVxyXG59XHJcblxyXG4ucmVnaW9uLWhlYWRlciB7XHJcbiAgLnBsYXl0ZWNoLWxvZ2luLWJsb2NrIGZvcm1bbmFtZT1wbGF5dGVjaC1sb2dpbi1mb3JtXSAuc2lnbi1pbiB7XHJcblxyXG4gICAgLy8gUG9zaXRpb25pbmcgRml4XHJcbiAgICBtYXJnaW4tdG9wOiAwLjNlbTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgLmFjdGlvbi1idXR0b24taW5uZXIgeyAgcGFkZGluZzogMC41ZW0gIDA7ICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuXHJcbiIsIi5tb2RhbENvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZy1yaWdodDogMTdweDtcclxuICB3aWR0aDogMTAwJTtcclxuICAtd2Via2l0LXVzZXItZHJhZzogZWxlbWVudDtcclxuXHJcbiAgLm1vZGFsLWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcbiAgLm1vZGFsLWJvZHkge1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbiAgLm1vZGFsLWRpYWxvZyB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gIH1cclxufVxyXG4ubm9GcmFtZSB7XHJcbiAgYmFja2dyb3VuZDogZ3JleTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5jaGF0TW9kYWxDbG9zZSB7XHJcbi8vICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgJjpleHRlbmQoLmJhY2stYnV0dG9uIGEpO1xyXG4gIGkge1xyXG4gICAgJjpleHRlbmQoLmJhY2stYnV0dG9uIGEgaSk7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbn1cclxuLmNoYXQtb3BlbiB7XHJcbiAgLy8gUHJldmVudHMgd2Vic2l0ZSBmcm9tIHNjcm9sbGluZ1xyXG4gICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XHJcbiAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XHJcbiAgLW1zLWNvbnRlbnQtem9vbWluZzogbm9uZTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcblxyXG4gIC5tb2RhbC1iYWNrZHJvcCB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZGVwb3NpdC1idXR0b24ge1xyXG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbi5zY3JvbGxDb250YWluZXIge1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG5cclxuLnNwaW5uZXIge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbjogMCAxMHB4O1xyXG4gIHdpZHRoOiA1MHB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG5cclxuICAucGFnZS1yZWdpc3RlciAmLC5sb2dnZWQtaW4gLnN1cHBvcnQtYnV0dG9ucyAmIHtcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgIHRvcDogMzVweDtcclxuICB9XHJcbiAgLmZsb2F0aW5nX3ZlcnRpY2Fsc19tZW51ICYge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLnNwaW5uZXIgPiBkaXYge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAzcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAtd2Via2l0LWFuaW1hdGlvbjogc2stc3RyZXRjaGRlbGF5IDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XHJcbiAgYW5pbWF0aW9uOiBzay1zdHJldGNoZGVsYXkgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLnNwaW5uZXIgLnJlY3QyIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTEuMXM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMS4xcztcclxufVxyXG5cclxuLnNwaW5uZXIgLnJlY3QzIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTEuMHM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcclxufVxyXG5cclxuLnNwaW5uZXIgLnJlY3Q0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuOXM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC45cztcclxufVxyXG5cclxuLnNwaW5uZXIgLnJlY3Q1IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuOHM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC44cztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLXN0cmV0Y2hkZWxheSB7XHJcbiAgMCUsIDQwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMC40KSB9XHJcbiAgMjAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxLjApIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzay1zdHJldGNoZGVsYXkge1xyXG4gIDAlLCA0MCUsIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMC40KTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMC40KTtcclxuICB9ICAyMCUge1xyXG4gICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMS4wKTtcclxuICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMS4wKTtcclxuICAgICB9XHJcbn0iLCIvKiAgQWNjb3VudCBCbG9ja1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLkZMRVgtYWNjb3VudC1ibG9jayB7XHJcbiAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gIHRvcDogMjVweDtcclxuICByaWdodDogMTAwcHg7XHJcblxyXG4gIHdpZHRoOiAzMTRweDtcclxuICBoZWlnaHQ6IDY1cHg7XHJcblxyXG4gIHotaW5kZXg6IDEwMDA7XHJcblxyXG4gICNhY2NvdW50X2JveCB7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgfVxyXG5cclxuXHJcbiAgYSwgLnVzZXJuYW1lIHtcclxuICAgIC5pbmxpbmUtYmxvY2s7XHJcbiAgICAubm9zZWxlY3Q7XHJcblxyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG5cclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIGhlaWdodDogMzNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtaW5kZW50OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnVzZXJuYW1lIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIG1hcmdpbjogMCAycHggMnB4IDA7XHJcbiAgfVxyXG5cclxuICAuZGVwb3NpdCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAuVl9oZWFkZXJzX2FjY291bnRfam9pbl9ub3coKTtcclxuICB9XHJcblxyXG4gIC5hY2NvdW50X21lbnUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XHJcbiAgfVxyXG5cclxuICAuYWNjb3VudF9tZW51LCAuYmFsYW5jZV9tZW51IHtcclxuICAgIC5pbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgbWF4LWhlaWdodDogMzNweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNXMgZWFzZS1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2Utb3V0O1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciAgbGkuYWNjb3VudDphZnRlciwgJjpob3ZlciBsaS50b3RhbF9iYWxhbmNlOmFmdGVyIHtcclxuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcclxuXHJcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgbGluZWFyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFjY291bnRfbWVudSBsaSBhIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ljb25zL2Fycm93X2FjY291bnRfbWVudV9sZWZ0LnBuZyk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLThweCBjZW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOHB4IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxpLmFjY291bnQsXHJcbiAgbGkudG90YWxfYmFsYW5jZSB7XHJcbiAgICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XHJcblxyXG4gICAgYSB7XHJcblxyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIGJvcmRlci10b3A6IDBweCBub25lO1xyXG5cclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBoZWlnaHQ6IDMzcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgdG9wOiAxNHB4O1xyXG4gICAgICByaWdodDogOHB4O1xyXG5cclxuICAgICAgd2lkdGg6IDlweDtcclxuICAgICAgaGVpZ2h0OiA2cHg7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pY29ucy9hcnJvd19hY2NvdW50X21lbnVfZG93bi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG5cclxuICAgICAgdHJhbnNpdGlvbjogMC4ycyBsaW5lYXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC5iYWxhbmNlX3dyYXBwZXIge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIH1cclxuXHJcblxyXG4gICAgYSwgLnVzZXJuYW1lIHtcclxuICAgICAgLlZfaGVhZGVyc19zdWItbWVudV9jYXRlZ29yeSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC51c2VybmFtZSB7XHJcbiAgICAgIC5WX2hlYWRlcnNfbmFtZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXBvc2l0IHtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAycHggMXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY2NvdW50X21lbnUsIC5iYWxhbmNlX21lbnUge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgLlZfaGVhZGVyc19zdWItbWVudSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIC5WX2hlYWRlcnNfc3ViLW1lbnUoKTtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpLmFjY291bnQgYSxcclxuICAgICAgICBsaS50b3RhbF9iYWxhbmNlIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsImZvcm0uZm9ybS1zdHlsZSB7XHJcbiAgLmZvcm0taXRlbS1kZXBvc2l0LWxpbWl0cyAuZGVzY3JpcHRpb24sZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0tZGVwb3NpdC1hbW91bnQgLmRlc2NyaXB0aW9uIHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMjEwcHg7XHJcbiAgfVxyXG4gIC5mb3JtLWl0ZW0tZGVwb3NpdC1hbW91bnQgLmRlc2NyaXB0aW9uIHtcclxuICAgIGxlZnQ6IDEwMHB4O1xyXG4gIH1cclxufVxyXG5cclxuZm9ybS5mb3JtLXN0eWxlIC5kZXNjcmlwdGlvbiB7IC8vb3ZlcnJpZGluZyBmb3JtcyBtb2R1bGUgY3NzXHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxufVxyXG5cclxuc2VsZWN0LnNlbGVjdF9hZGRyZXNzIHtcclxuICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XHJcbiAgd2lkdGg6IDYxMHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG5kaXYjaW50LXBob25lLXdyYXBwZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuaW5wdXQjaW50X2RpYWxpbmdfY29kZSB7XHJcbiAgZmxvYXQ6IG5vbmU7XHJcbn1cclxuXHJcbi8qIERlcG9zaXQgTGltaXQgU3R5bGVzICovXHJcbiNlZGl0LWRlcG9zaXQtbGltaXQgZmllbGRzZXQuZm9ybS13cmFwcGVyLC5mb3JtX25vX2xhYmVsIHtcclxuICBwYWRkaW5nLWxlZnQ6IDIwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC50YWJsZXQteHhsYXJnZSh7IHBhZGRpbmctbGVmdDogMDttYXJnaW4tbGVmdDogMjEwcHg7IH0pO1xyXG4gIC5zbWFsbCh7IG1hcmdpbi1sZWZ0OiA1JTtwYWRkaW5nLWxlZnQ6IDA7IH0pO1xyXG59XHJcbmZvcm0uZm9ybS1zdHlsZSAuZm9ybV9ub19sYWJlbCB7XHJcbiAgLmRpc3BsYXkoIGlubGluZS1ibG9jayk7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgLmpzICYge1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcbn1cclxuXHJcbmZvcm0uZm9ybS1zdHlsZSAuZm9ybS1pdGVtLmZvcm0tdHlwZS1zZWxlY3QuZm9ybS1pdGVtLWRlcG9zaXQtbGltaXRzIHtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgLmxhcmdlKHsgbWFyZ2luLXJpZ2h0OiAxMCU7IH0pO1xyXG59XHJcblxyXG5mb3JtLmZvcm0tc3R5bGUgLmZvcm0taXRlbS5mb3JtLXR5cGUtc2VsZWN0LmZvcm0taXRlbS1kZXBvc2l0LWxpbWl0cyxmb3JtLmZvcm0tc3R5bGUgLmZvcm0taXRlbS5mb3JtLXR5cGUtc2VsZWN0LmZvcm0taXRlbS1kZXBvc2l0LWFtb3VudCB7XHJcbiAgLmRpc3BsYXkoaW5saW5lLWJsb2NrKTtcclxuICB3aWR0aDogMTEwcHg7XHJcblxyXG4gIC8vIERlcC4gTGltaXRzIEhhY2t5IENvZGUgKHNwZWVkIGZvciBRQSlcclxuICAuaW9zLnRhYmxldCAmIHtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuXHJcbiAgLmxhcmdlKHsgd2lkdGg6IDQwJTsgfSk7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuZm9ybS5mb3JtLXN0eWxlIHNlbGVjdFtuYW1lPVwiZGVwb3NpdF9saW1pdHNcIl0sIGZvcm0uZm9ybS1zdHlsZSBzZWxlY3RbbmFtZT1cImRlcG9zaXRfYW1vdW50XCJdIHtcclxuICB3aWR0aDogMTAwJTtcclxuICAudGFibGV0LXh4bGFyZ2Uoe1xyXG4gICAgICB3aWR0aDogMTA1cHg7XHJcbiAgfSk7XHJcbiAgLmpzICYge1xyXG4gICAgLy92aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAuZGlzcGxheShubyk7XHJcbiAgfVxyXG59XHJcblxyXG5mb3JtLmZvcm0tc3R5bGUge1xyXG4gIC5vZmYgLmNsb3NlLWJ1dHRvbiwgLm9mZi5vbiAuY2xpY2stYnV0dG9uIHtcclxuICAgIC5kaXNwbGF5KG5vKTtcclxuICB9XHJcbiAgLm9mZi5vbiAuY2xvc2UtYnV0dG9uLC5vZmYgLmNsaWNrLWJ1dHRvbiB7XHJcbiAgICAuZGlzcGxheShpbmxpbmUpO1xyXG4gIH1cclxufVxyXG5cclxuLyogIExvZ2luIEZvcm0gUmVzcG9uc2l2ZVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5sb2dpbi1tb2RhbCAubG9naW4tb3ZlcmxheS1jb250ZW50IHtcclxuICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbn1cclxuLmxvZ2luLW1vZGFsIC5zYi10aXRsZXtcclxuICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuLmxvZ2luLW1vZGFse1xyXG5cclxuICAjc2ItdGl0bGV7XHJcbiAgICBoZWlnaHQ6MHB4O1xyXG4gIH1cclxuICAubG9naW4tb3ZlcmxheS1oZWFkZXIgaDJ7XHJcbiAgICAuc21hbGwtaGVpZ2h0KHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9ybVtuYW1lPVwicGxheXRlY2gtbG9naW4tZm9ybVwiXSwgLmxvZ2luLW1vZGFsIC5sb2dpbi1vdmVybGF5LWNvbnRlbnQubG9naW4tZXJyb3Ige1xyXG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgbGFiZWwsXHJcbiAgICAucmVnaXN0ZXIuYnV0dG9uIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS10eXBlLXRleHRmaWVsZCxcclxuICAgIC5mb3JtLXR5cGUtcGFzc3dvcmQge1xyXG4gICAgICAuaW5saW5lLWJsb2NrKCk7XHJcblxyXG4gICAgICAubWVkaXVtKHsgd2lkdGg6IDEwMCU7IG1hcmdpbi10b3A6IDVweDsgbWFyZ2luLWJvdHRvbTogNXB4OyB9KTtcclxuXHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAgICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tdHlwZS1wYXNzd29yZHtcclxuICAgICAgaW5wdXR7XHJcbiAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tc3VibWl0IHtcclxuICAgICAgLlZfbW9kYWxfYnRfc2lnbl9pbigpO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xyXG4gICAgICBwYWRkaW5nOiA4cHggMTZweDtcclxuICAgICAgYm9yZGVyOiAwcHggbm9uZTtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgLm1lZGl1bSh7IG1hcmdpbi1sZWZ0OiAwcHg7IG1hcmdpbi10b3A6IDIwcHg7IH0pXHJcbiAgICB9XHJcblxyXG4gICAgI2ZvcmdvdHRlbi1kZXRhaWxzLWxpbmsge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMCBhdXRvO1xyXG4gICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1lZGl1bSh7IHRvcDogLTY1cHg7IGRpc3BsYXk6IGJsb2NrOyAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7IGxlZnQ6IDUwJTsgfSk7XHJcblxyXG4gICAgICAuc21hbGwtaGVpZ2h0KHtcclxuICAgICAgICB0b3A6IDE1NXB4O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4ubG9naW4tbW9kYWwgLmxvZ2luLW92ZXJsYXktZm9vdGVyIHtcclxuICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA3MHB4O1xyXG4gIC8vYmFja2dyb3VuZDogIzNlMzE0ZjtcclxuICAuVl9tb2RhbF9mb290ZXJfYmFja2dyb3VuZCgpO1xyXG4gIGJvdHRvbTogMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIGEge1xyXG4gICAgLmlubGluZS1ibG9jaygpO1xyXG4gICAgbWFyZ2luLXRvcDogMTRweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAmLmJ1dHRvbi0zIHtcclxuICAgICAgLnByaW1hcnktYnV0dG9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiAgTG9naW4gRXJyb3IgRm9ybVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmxvZ2luLW1vZGFsIC5sb2dpbi1vdmVybGF5LWNvbnRlbnQubG9naW4tZXJyb3Ige1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgLlZfbW9kYWxfY29udGVudF9iYWNrZ3JvdW5kKCk7XHJcbiAgLy9iYWNrZ3JvdW5kOiAjMmIyMTNhO1xyXG5cclxuICAuc21hbGwtaGVpZ2h0KHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XHJcbiAgfSk7XHJcblxyXG4gIC5lcnJvcl9tZXNzYWdlIHtcclxuICAgIG1hcmdpbjogMHB4IDAgMTVweDtcclxuICAgIHBhZGRpbmc6IDdweDtcclxuICAgIC5WX2Vycm9yX21zZygpO1xyXG4gICAgLmJvcmRlci1yYWRpdXMoMnB4KTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAuc21hbGwtaGVpZ2h0KHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAjZm9yZ290dGVuLWRldGFpbHMtbGlua3tcclxuICAgIHRvcDotNjVweDtcclxuXHJcbiAgICAuc21hbGwtaGVpZ2h0KHtcclxuICAgICAgdG9wOiAxODZweDtcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbi8qICBMb2dpbiBGb3JtXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmxvZ2luLW1vZGFsIC5sb2dpbi1vdmVybGF5LWZvb3Rlci5vdmVybGF5LWZvb3RlcntcclxuICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG5cclxuLmxvZ2luLW1vZGFsIC5wbGF5dGVjaC1sb2dpbi10by1wbGF5e1xyXG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XHJcbiAgLlZfbW9kYWxfY29udGVudF9iYWNrZ3JvdW5kKCk7XHJcblxyXG4gIC5mb3JtLXN1Ym1pdHtcclxuICAgIC5tZWRpdW0oe1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbi5wbGF5dGVjaC1sb2dpbi1ibG9jayB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBoZWlnaHQ6IDI4cHg7XHJcbn1cclxuXHJcbi5tb2RhbC1kaWFsb2d7XHJcbiAgICAubW9kYWwuZmFkZS5sb2dpbi1tb2RhbCAmIHtcclxuICAgICAgbWF4LXdpZHRoOiA1NTBweDtcclxuICAgIH1cclxuICAgIC5tb2RhbC5mYWRlLmxvZ2luLW1vZGFsLmRvdWJsZS1tb2RhbCAmIHtcclxuICAgICAgbWF4LXdpZHRoOiA2NjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm1vZGFsLmZhZGUubG9naW4tbW9kYWx7XHJcblxyXG4gIC5tb2RhbC1kaWFsb2d7XHJcbiAgICAubW9kYWwtY29udGVudHtcclxuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjMmIyMTNhO1xyXG4gICAgICAuVl9tb2RhbF9jb250ZW50X2JhY2tncm91bmQoKTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuXHJcbiAgICAgIC5tb2RhbC1ib2R5e1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLm1vZGFsLWJvZHl7XHJcblxyXG4gIC5vdmVybGF5LWhlYWRlciB7XHJcbiAgICAvL2JhY2tncm91bmQ6ICMyYjIxM2E7XHJcbiAgICAuVl9tb2RhbF9oZWFkZXJfYmFja2dyb3VuZCgpO1xyXG4gICAgaDIge1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XHJcbiAgICAgIHRleHQtaW5kZW50OiAtMTAwMHB4O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIsOXXCI7XHJcbiAgICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgIHJpZ2h0OiA0cHg7XHJcbiAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiAjNTU1NDczO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4ucGxheXRlY2gtbG9naW4tYmxvY2sgZm9ybVtuYW1lPVwicGxheXRlY2gtbG9naW4tZm9ybVwiXSB7XHJcbiAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gIHRvcDogMjFweDtcclxuICByaWdodDogMTAwcHg7XHJcblxyXG4gIHdpZHRoOiAzMzBweDtcclxuICBoZWlnaHQ6IDkwcHg7XHJcblxyXG4gIGxhYmVsLCAuYWpheC1sb2FkZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XHJcbiAgICBtYXJnaW46IDNweCAwO1xyXG4gICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgIHRvcDogMzVweDtcclxuICB9XHJcblxyXG4gIC5idXR0b24ge1xyXG4gICAgLmJ1dHRvbi1zdHlsZSgpO1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBtYXJnaW46IDRweDtcclxuXHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAuYnV0dG9uKCk7XHJcbiAgICB0b3A6IDM1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzFweDtcclxuICB9XHJcblxyXG4gICNmb3Jnb3R0ZW4tZGV0YWlscy1saW5rIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgdG9wOiA2NXB4O1xyXG4gICAgbGVmdDogNXB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgfVxyXG59XHJcblxyXG4vKiAgUmVnaXN0ZXIgUGFnZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi8qICBGb3Jtc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG5cclxuLyogIFJlZ3NpdGVyIGFuZCBGb3Jnb3R0ZW4gUGFzc3dvcmQgUGFnZVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZm9ybS1zdHlsZSB7XHJcbiAgd2lkdGg6IDYwMHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAuZm9ybS1yZXF1aXJlZCB7XHJcbiAgICBjb2xvcjogcmVkO1xyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuICBpbnB1dFt0eXBlPVwidGVsXCJdIHtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiBAb2ZmX3doaXRlO1xyXG4gICAgYm9yZGVyOiAwcHggbm9uZTtcclxuICAgIGNvbG9yOiBAc3VwZXJfcHVycGxlO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDNweDtcclxuXHJcbiAgICAuYm9yZGVyLXJhZGl1cygxcHgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0IHtcclxuICAgIGJhY2tncm91bmQ6IEBvZmZfd2hpdGU7XHJcbiAgICBjb2xvcjogQHN1cGVyX3B1cnBsZTtcclxuICB9XHJcblxyXG4gIC5maWVsZC1pbmZvIC5maWVsZC1pbmZvLXRleHQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgY29sb3I6IEBzdXBlcl9wdXJwbGU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICB9XHJcblxyXG4gIGlucHV0LmVycm9yLFxyXG4gIHNlbGVjdC5lcnJvciB7XHJcbiAgIC8vIGJvcmRlcjogMnB4IHNvbGlkO1xyXG4gICAgLlZfcmVnaXN0cmF0aW9uLXBhZ2VfaW5wdXRfZXJyb3IoKTtcclxuICB9XHJcblxyXG4gIHNwYW4udmFsaWRhdGlvbi10aWNrIHtcclxuICAgIHJpZ2h0OiAxNjBweDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBkaXYuZm9ybS1pdGVtIHNwYW4uZXJyb3Ige1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA3cHggIWltcG9ydGFudDtcclxuICAgIC5WX3JlZ2lzdHJhdGlvbi1wYWdlX2JnX2Vycm9yKCk7XHJcbiAgICBjb2xvcjogQG9mZl93aGl0ZTtcclxuXHJcbiAgICAuYm9yZGVyLXJhZGl1cygxcHgpO1xyXG4gIH1cclxuXHJcbiAgI2RvYiBzcGFuLmVycm9yIHtcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgIHRvcDogMzBweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3R0b206IGF1dG87XHJcbiAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgI3Bvc3Rjb2RlX3NlYXJjaGJ1dHRvbiB7XHJcbiAgICAuYnV0dG9uLXN0eWxlKCk7XHJcbiAgICAuVl9wcmltYXJ5X2J1dHRvbigpO1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDE5MHB4O1xyXG4gICAgd2lkdGg6IDExMnB4O1xyXG4gICAgcGFkZGluZzogNXB4IDA7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1pdGVtLW5vYm9udXMsXHJcbiAgLmZvcm0taXRlbS1hZ3JlZS10ZXJtcyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuXHJcbiAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMzBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDIuNGVtO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG5cclxuICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5mb3JtLXN1Ym1pdCB7XHJcbiAgICAuYnV0dG9uLXN0eWxlKCk7XHJcbiAgICAucHJpbWFyeS1idXR0b24oKTtcclxuICAgIHdpZHRoOiAxNzBweDtcclxuICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMTBweDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICB9XHJcblxyXG4gIGltZy5hamF4X2xvYWRlciB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHJpZ2h0OiAxNjBweDtcclxuICAgIG1hcmdpbi10b3A6IC0xM3B4O1xyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogQHN1cGVyX2JyYXNzO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zZXRfbWFyZ2lucyhAd2lkdGgpIHtcclxuICBAcGFnZV9tYXJnaW46IEB3aWR0aDtcclxuICBAZnVsbF93aWR0aDogKDEwMCUgLSAoMiAqIEB3aWR0aCkpO1xyXG4gIEBzcGFuX3RpdGxlX2xlZnQ6ICgoQHBhZ2VfbWFyZ2luIC80KSAqIDMpOy8qKEB3aWR0aC8zLjc1KTsqL1xyXG5cclxuICBAcGFnZV9wYWRkaW5nOiAxLjUlO1xyXG59XHJcblxyXG4ucGFnZS1yZXNldC1wYXNzd29yZCxcclxuLnBhZ2UtY2hhbmdlLXBhc3N3b3JkLFxyXG4ucGFnZS1yZWdpc3RlcixcclxuLnBhZ2UtZm9yZ290dGVuLWRldGFpbHMsXHJcbi5wYWdlLXJlZ2lzdGVyLXZhcmlhdGlvbjEsXHJcbi5wYWdlLWZvcmdvdHRlbi1wYXNzd29yZCxcclxuLnBhZ2UtY29kZS12ZXJpZmljYXRpb24sXHJcbi5wYWdlLXVwZGF0ZS1wYXNzd29yZCB7XHJcblxyXG4gIC5yZWdpb24taGVhZGVyIHtcclxuICAgIGhlaWdodDogMTM3cHg7XHJcblxyXG4gICAgLnN1cHBvcnQtYnV0dG9ucyB7XHJcbiAgICAgIGJvcmRlcjogMHB4IG5vbmU7XHJcbiAgICB9XHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC5tZW51LXZlcnRpY2FscyAubWVudSwgLm1lbnUtdmVydGljYWxzLWNvbnRlbnQgLm1lbnUge1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuICB9XHJcbiAgLmZsb2F0aW5nX3ZlcnRpY2Fsc19tZW51IHtcclxuICAgIC52ZXJ0aWNhbF9saW5rcyxcclxuICAgIC5yZWdpc3Rlci5idXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAucmVnaXN0cmF0aW9uLWZvcm0tbGVnYWwtZm9vdGVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogODdweDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuXHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0LnNlbGVjdF9hZGRyZXNzIHtcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcclxuICAgIHdpZHRoOiA2MTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnhsYXJnZSh7XHJcbiAgICAvKiAuc2V0X21hcmdpbnM6IG5lZWRzIHRvIGJlIHRyaWdnZXJlZCBiZWZvcmUgdGhlIGVsZW1lbnRzIHVzZSBwYWdlX21hcmdpbiBhbmQgZnVsbF93aWR0aCAqL1xyXG4gICAgLnNldF9tYXJnaW5zKDIwJSk7XHJcblxyXG4gICAgaW1nLmFqYXhfbG9hZGVyIHtcclxuICAgICAgbWFyZ2luLXRvcDogLTI1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZ2lvbi1zaWRlYmFyLWZpcnN0IHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5iYXNpYy1wYWdlIHtcclxuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICB9XHJcbiAgICAuY29sdW1uNC02IHtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmZvcm0tc3R5bGUge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1pdGVtIGxhYmVsIHtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IEBwYWdlX21hcmdpbjtcclxuICAgIH1cclxuICAgIC5tZXNzYWdlcy5lcnJvciB7XHJcbiAgICAgIHdpZHRoOiBAZnVsbF93aWR0aDtcclxuICAgICAgLlZfcmVnaXN0cmF0aW9uLXBhZ2VfYmdfZXJyb3IoKTtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dC5mb3JtLWNoZWNrYm94IHtcclxuICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgIGhlaWdodDogMjBweDtcclxuICAgIH1cclxuICAgIGlucHV0LmZvcm0tY2hlY2tib3g6Y2hlY2tlZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICM3NTc1NzU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogdmFsaWRhdGlvbiB0aWNrcyAqL1xyXG4gICAgZm9ybS5mb3JtLXN0eWxlIC52YWxpZGF0aW9uLXRpY2sge1xyXG4gICAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICAgIHRvcDogMjVweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICAucmVnaXN0cmF0aW9uLWZvcm0tbGVnYWwtZm9vdGVyLFxyXG4gICAgc2VsZWN0LnNlbGVjdF9hZGRyZXNzLFxyXG4gICAgaW5wdXQjYWNjb3VudF91c2VybmFtZSxcclxuICAgIGlucHV0I2FjY291bnRfcGFzc3dvcmQsXHJcbiAgICBpbnB1dCNhY2NvdW50X3Bhc3N3b3JkX2NvbmZpcm0sXHJcbiAgICBpbnB1dCNzY3JlZW5fbmFtZSxcclxuICAgIGlucHV0I2VtYWlsLFxyXG4gICAgaW5wdXQjdGl0bGUsXHJcbiAgICBpbnB1dCNmbmFtZSxcclxuICAgIGlucHV0I3N1cm5hbWUsXHJcbiAgICAjZG9iLFxyXG4gICAgaW5wdXQjbnVtYmVyLFxyXG4gICAgaW5wdXQjYWRkcmVzcyxcclxuICAgIGlucHV0I2NpdHksXHJcbiAgICBpbnB1dCNjb3VudHksXHJcbiAgICAjcG9zdGNvZGUsXHJcbiAgICAjcG9zdGNvZGVfc2VhcmNoYnV0dG9uLFxyXG4gICAgI2VudGVyX21hbnVhbGx5LFxyXG4gICAgI21vYmlsZV9waG9uZSxcclxuICAgICNwcm9tb19jb2RlLFxyXG4gICAgaW5wdXQjcmVnaXN0cmF0aW9uX3N1Ym1pdCxcclxuICAgIGlucHV0I2ZvcmdvdHRlbl91c2VybmFtZSxcclxuICAgIGlucHV0I2VtYWlsLFxyXG4gICAgaW5wdXQjZm9yZ290dGVuX2RldGFpbHNfc3VibWl0LFxyXG4gICAgZGl2I2ZvcmdvdHRlbl90ZXh0X2JvdHRvbSxcclxuICAgIHNlbGVjdCNjb3VudHJ5LFxyXG4gICAgaW5wdXQjaW50X2RpYWxpbmdfY29kZSxcclxuICAgICNmdWxsX2FkZHJlc3MsXHJcbiAgICAjY2hhbmdlX2FkZHJlc3MsXHJcbiAgICAjYWRkcmVzc19yZXN1bHQsXHJcbiAgICBpbnB1dCNvbGRfcGFzc3dvcmQsXHJcbiAgICBpbnB1dCNuZXdfcGFzc3dvcmQsXHJcbiAgICBpbnB1dCNwYXNzd29yZF9jb25maXJtLFxyXG4gICAgaW5wdXQjY2hhbmdlX3Bhc3N3b3JkX3N1Ym1pdCxcclxuICAgIGlucHV0I3BlcnNvbmFsX2RldGFpbHNfcGFzc3dvcmRfc3VibWl0LFxyXG4gICAgaW5wdXQjZWRpdC1pbnB1dC1hbW91bnQsXHJcbiAgICBpbnB1dCNpZGVudGlmaWVyLFxyXG4gICAgaW5wdXQjdG9rZW4sXHJcbiAgICBzcGFuLmVycm9yIHtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogTWFrZSBsaWZlIGVhc2llciB3aGVuIGNhY2wgd2l0ZGhzIGFuZCBwZXJjZW50YWdlIGluIGNzcyAqL1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgLyogaW1wb3J0YW50IG5lZWRlZCB0byBvdmVycmlkZSBpbmxpbmUgcnVsZXMgYmFzZSBhbmQgcnVsZXMgYmFzZWQgb24gaWQgKHByb21vX2NvZGUpXHJcbiAgICAgICAgKHNwZWNpZmljaXR5IGlzIGhpZ2hlcjpodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL0NSLWNzczMtc2VsZWN0b3JzLTIwMDExMTEzLyNzcGVjaWZpY2l0eSlcclxuICAgICAgKi9cclxuICAgICAgbWFyZ2luOiAwIEBwYWdlX21hcmdpbjtcclxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICB3aWR0aDogNjAlO1xyXG4gICAgfVxyXG4gICAgI2Z1bGxfYWRkcmVzcyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICAjY2hhbmdlX2FkZHJlc3Mge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICAgICNwb3N0Y29kZVdyYXBwZXIgLnZhbGlkYXRpb24tdGljayB7XHJcbiAgICAgIHRvcDogLTU4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgI2RvYiBkaXYge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIH1cclxuICAgICNkb2IgZGl2OmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuICAgICNkb2IgZGl2Omxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgLmRlc2NyaXB0aW9uIHsgLy9vdmVycmlkaW5nIGZvcm1zIG1vZHVsZSBjc3NcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgbGVmdDogQHNwYW5fdGl0bGVfbGVmdCArIEBwYWdlX3BhZGRpbmc7XHJcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgLmZvcm0taXRlbS1ub2JvbnVzIC5kZXNjcmlwdGlvbixcclxuICAgIGZvcm0uZm9ybS1zdHlsZSAuZm9ybS1pdGVtLWFncmVlLXRlcm1zIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgIHRvcDogLTIwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyogc29tZSBpdGVtcyBuZWVkIHRvIGNsZWFyIGJvdGggc2lkZXMgLSBiZSBvbiBhIG5ldyBsaW5lIGFkZCBoZXJlICovXHJcbiAgICAjZG9iLFxyXG4gICAgI3Byb21vX2NvZGUge1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgLmZvcm0taXRlbS1ub2JvbnVzLFxyXG4gICAgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0tYWdyZWUtdGVybXMge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBAcGFnZV9tYXJnaW47XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgd2lkdGg6IEBmdWxsX3dpZHRoO1xyXG4gICAgfVxyXG4gICAgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0gc3Bhbi5lcnJvciB7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBAcGFnZV9tYXJnaW47XHJcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgd2lkdGg6IEBmdWxsX3dpZHRoO1xyXG4gICAgfVxyXG4gICAgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0gc3Bhbltmb3I9XCJhZ3JlZV90ZXJtc1wiXSB7XHJcbiAgICAgIGNsZWFyOnJpZ2h0O1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAvKmJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsqL1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgbWFyZ2luLWxlZnQ6IDIuNGVtO1xyXG5cclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgLyp3aWR0aDogY2FsYyhAZnVsbF93aWR0aCB+Jy0gMi40ZW0nKTsqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICBpbnB1dCNyZWdpc3RyYXRpb25fc3VibWl0IHtcclxuICAgICAgd2lkdGg6IEBmdWxsX3dpZHRoO1xyXG4gICAgfVxyXG4gICAgKi9cclxuICAgICNib251cy1kZXNjcmlwdGlvbixcclxuICAgICN0ZXJtcy1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIG1hcmdpbjogaW5oZXJpdDtcclxuXHJcbiAgICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZm9ybS5mb3JtLXN0eWxlIGZpZWxkc2V0IHNwYW4udGl0bGUge1xyXG4gICAgICBsZWZ0OiBAc3Bhbl90aXRsZV9sZWZ0O1xyXG4gICAgfVxyXG4gICAgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0I3RpdGxlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IEBwYWdlX21hcmdpbjtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1zdHlsZSAuZm9ybS1pdGVtIGxhYmVsLFxyXG4gICAgI2VudGVyX21hbnVhbGx5IHtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1pdGVtLmZvcm0taXRlbS1kYXRlLXNlbGVjdC1kYXkge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgICNkb2Ige1xyXG4gICAgICBtYXJnaW4tbGVmdDogQHBhZ2VfbWFyZ2luO1xyXG4gICAgfVxyXG4gIC8qXHJcbiAgICAuZm9ybS1pdGVtLW5vYm9udXMsXHJcbiAgICAuZm9ybS1pdGVtLWFncmVlLXRlcm1zIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IEBwYWdlX21hcmdpbjtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9Ki9cclxuICAgIC5mb3JtLWl0ZW0tbm9ib251cyAuZGVzY3JpcHRpb24sXHJcbiAgICAuZm9ybS1pdGVtLWFncmVlLXRlcm1zIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICBpbnB1dCNyZWdpc3RyYXRpb25fc3VibWl0IHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIHdpZHRoOiBAZnVsbF93aWR0aDtcclxuICAgIH1cclxuICAgIGlucHV0I3Bvc3Rjb2RlIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICAgIGZvcm0uZm9ybS1zdHlsZSAuZm9ybS1pdGVtLWFncmVlLXRlcm1zIHtcclxuICAgICAgd2lkdGg6IEBmdWxsX3dpZHRoO1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgI2VkaXQtY29uZGl0aW9uc29mdXNlICNib251cy1kZXNjcmlwdGlvbixcclxuICAgICNlZGl0LWNvbmRpdGlvbnNvZnVzZSAjdGVybXMtZGVzY3JpcHRpb24ge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgI2VkaXQtY29uZGl0aW9uc29mdXNlIC5mb3JtLWl0ZW0tbm9ib251cyB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0taXRlbS1wcm9tby1jb2RlID4gbGFiZWwge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcm0uZm9ybS1zdHlsZSAuZm9ybS1pdGVtLWFncmVlLXRlcm1zIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgLmZvcm0taXRlbS1hZ3JlZS10ZXJtcyBzcGFuLmVycm9yIHtcclxuICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHRvcDogLTIwcHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxODBweDtcclxuICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICAuc21hbGwoeyAuc2V0X21hcmdpbnMoNSUpO1xyXG4gICAgLmZvcm0taXRlbSB7IC8qIGRhcm9uIC0gc2hvdWxkIGhhdmUgYmVlbiB0aGlzIHdheSBpbiB0aGUgYmVnaW5uaWcuLi4gY29uc2lkZXIgcmVtb3ZpbmcgaWYgbm90IHVzZWQgKi9cclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfSAjZG9iIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9ICNkb2IgZGl2LmZvcm0taXRlbSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHJcbiAgICAgIH0gLy9NQlMtMjA0NCAtIFNwYWNpbmcgU2VsZWN0cyBvbiBpT1MgbW9iaWxlIChsYW5kc2NhcGUgb25seSlcclxuICAgIC5pb3MmICNkb2Ige1xyXG4gICAgICBkaXYuZm9ybS1pdGVtIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgfVxyXG4gICAgICBkaXYuZm9ybS1pdGVtOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2RvYiBkaXYuZm9ybS1pdGVtIHNlbGVjdCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAjZG9iIGRpdi5mb3JtLWl0ZW0gbGFiZWwge1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgIH1cclxuXHJcbiAgICAucmVnaXN0cmF0aW9uLWZvcm0tbGVnYWwtZm9vdGVyLFxyXG4gICAgc2VsZWN0LnNlbGVjdF9hZGRyZXNzLFxyXG4gICAgaW5wdXQjYWNjb3VudF91c2VybmFtZSxcclxuICAgIGlucHV0I2FjY291bnRfcGFzc3dvcmQsXHJcbiAgICBpbnB1dCNhY2NvdW50X3Bhc3N3b3JkX2NvbmZpcm0sXHJcbiAgICBpbnB1dCNzY3JlZW5fbmFtZSxcclxuICAgIGlucHV0I2VtYWlsLFxyXG4gICAgaW5wdXQjdGl0bGUsXHJcbiAgICBpbnB1dCNmbmFtZSxcclxuICAgIGlucHV0I3N1cm5hbWUsXHJcbiAgICBpbnB1dCNudW1iZXIsXHJcbiAgICBpbnB1dCNhZGRyZXNzLFxyXG4gICAgaW5wdXQjY2l0eSxcclxuICAgIGlucHV0I2NvdW50eSxcclxuICAgICNwb3N0Y29kZSxcclxuICAgICNwb3N0Y29kZV9zZWFyY2hidXR0b24sXHJcbiAgICAjZW50ZXJfbWFudWFsbHksXHJcbiAgICAjbW9iaWxlX3Bob25lLFxyXG4gICAgI3Byb21vX2NvZGUsXHJcbiAgICBpbnB1dCNyZWdpc3RyYXRpb25fc3VibWl0LFxyXG4gICAgaW5wdXQjZm9yZ290dGVuX3VzZXJuYW1lLFxyXG4gICAgaW5wdXQjZW1haWwsXHJcbiAgICBpbnB1dCNmb3Jnb3R0ZW5fZGV0YWlsc19zdWJtaXQsXHJcbiAgICBkaXYjZm9yZ290dGVuX3RleHRfYm90dG9tLFxyXG4gICAgc2VsZWN0I2NvdW50cnksXHJcbiAgICBpbnB1dCNpbnRfZGlhbGluZ19jb2RlLFxyXG4gICAgI2FkZHJlc3NfcmVzdWx0LFxyXG4gICAgaW5wdXQjb2xkX3Bhc3N3b3JkLFxyXG4gICAgaW5wdXQjbmV3X3Bhc3N3b3JkLFxyXG4gICAgaW5wdXQjcGFzc3dvcmRfY29uZmlybSxcclxuICAgIGlucHV0I2NoYW5nZV9wYXNzd29yZF9zdWJtaXQsXHJcbiAgICBpbnB1dCNwZXJzb25hbF9kZXRhaWxzX3Bhc3N3b3JkX3N1Ym1pdCxcclxuICAgIGlucHV0I2VkaXQtb3RoZXItYW1vdW50LFxyXG4gICAgaW5wdXQjaWRlbnRpZmllcixcclxuICAgIGlucHV0I3Rva2VuLFxyXG4gICAgc3Bhbi5lcnJvciB7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIE1ha2UgbGlmZSBlYXNpZXIgd2hlbiBjYWNsIHdpdGRocyBhbmQgcGVyY2VudGFnZSBpbiBjc3MgKi9cclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgIC8qIGltcG9ydGFudCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW5saW5lIHJ1bGVzIGJhc2UgYW5kIHJ1bGVzIGJhc2VkIG9uIGlkIChwcm9tb19jb2RlKVxyXG4gICAgICAgIChzcGVjaWZpY2l0eSBpcyBoaWdoZXI6aHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9DUi1jc3MzLXNlbGVjdG9ycy0yMDAxMTExMy8jc3BlY2lmaWNpdHkpXHJcbiAgICAgICovXHJcbiAgICAgIG1hcmdpbjogMCBAcGFnZV9tYXJnaW47XHJcbiAgICAgIHdpZHRoOiBAZnVsbF93aWR0aDtcclxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgfVxyXG4gICAgI2Z1bGxfYWRkcmVzcyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICAjY2hhbmdlX2FkZHJlc3Mge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgLmZvcm0taXRlbSBzcGFuLmVycm9yIHtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IEBwYWdlX21hcmdpbjtcclxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICB3aWR0aDogQGZ1bGxfd2lkdGg7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1zdHlsZSAjcG9zdGNvZGVfc2VhcmNoYnV0dG9uLFxyXG4gICAgLmZvcm0tc3R5bGUgLmZvcm0taXRlbSBsYWJlbCxcclxuICAgICNlbnRlcl9tYW51YWxseSxcclxuICAgICNib251cy1kZXNjcmlwdGlvbixcclxuICAgICN0ZXJtcy1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIC8qd2lkdGg6IEBmdWxsX3dpZHRoIC0gKDIgKiBAcGFnZV9wYWRkaW5nKTsqL1xyXG4gICAgICBtYXJnaW46IDAgQHBhZ2VfbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgLmZvcm0tc3R5bGUgZGl2LmZvcm0taXRlbSBzcGFuLmVycm9yIHtcclxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0gbGFiZWwge1xyXG4gICAgICBtYXJnaW4tbGVmdDogQHBhZ2VfbWFyZ2luO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgZm9ybS5mb3JtLXN0eWxlIGZpZWxkc2V0IHNwYW4udGl0bGUge1xyXG4gICAgICBsZWZ0OiBAcGFnZV9tYXJnaW47XHJcbiAgICB9XHJcbiAgICBzZWxlY3QjdGl0bGUge1xyXG4gICAgICBtYXJnaW4tbGVmdDogQHBhZ2VfbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgI2RvYiB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBAcGFnZV9tYXJnaW47XHJcbiAgICB9XHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgLmZvcm0taXRlbSBzcGFuW2Zvcj1cImFncmVlX3Rlcm1zXCJdIHtcclxuICAgICAgLyp3aWR0aDogY2FsYyhAZnVsbF93aWR0aCB+Jy0gMi40ZW0nKTsqL1xyXG4gICAgfVxyXG4gICAgLmZvcm0taXRlbS1ub2JvbnVzLFxyXG4gICAgLmZvcm0taXRlbS1hZ3JlZS10ZXJtcyxcclxuICAgIC5mb3JtLWl0ZW0tbm9ib251cyAuZGVzY3JpcHRpb24sXHJcbiAgICAuZm9ybS1pdGVtLWFncmVlLXRlcm1zIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogQHBhZ2VfbWFyZ2luOyAvKiB1c2Ugc2FtZSBkaXN0YW5jZSBpbiBwYWRkaW5nICovXHJcbiAgICAgIHdpZHRoOiBAZnVsbF93aWR0aDtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgLmZpZWxkLWluZm8sXHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgLmZpZWxkLWluZm8tdGV4dCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0tbm9ib251cyxcclxuICAgIGZvcm0uZm9ybS1zdHlsZSAuZm9ybS1pdGVtLmZvcm0taXRlbS1hZ3JlZS10ZXJtcyB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBAcGFnZV9tYXJnaW47XHJcbiAgICAgIHdpZHRoOiBAZnVsbF93aWR0aDtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgLmZvcm0taXRlbS1hZ3JlZS10ZXJtcyB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0tYWdyZWUtdGVybXMgc3Bhbi5lcnJvciB7XHJcbiAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gICAgICBsZWZ0OiAwO1xyXG5cclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnZhbGlkYXRpb24tdGljayB7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcblxyXG4gIC5kaXNwbGF5LWlucHV0eXBlLW1lZGl1bSh7XHJcbiAgICBmb3JtLmZvcm0tc3R5bGV7XHJcbiAgICAgIHdpZHRoOjk1JTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybS5mb3JtLXN0eWxlICNkb2IgLmZvcm0taXRlbSBzZWxlY3R7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0gc3Bhbi5lcnJvciwgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0gc3Bhbi5lcnJvcntcclxuICAgICAgd2lkdGg6NjAlO1xyXG4gICAgICBtYXJnaW46IDVweCBhdXRvO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBmb3JtLmZvcm0tc3R5bGUgZGl2I2FkZHJlc3NfcmVzdWx0IHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG4gIGZvcm0uZm9ybS1zdHlsZSBkaXYjYWRkcmVzc19yZXN1bHQgbGFiZWwge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcblxyXG4gIGZvcm0uZm9ybS1zdHlsZSBmaWVsZHNldCBsZWdlbmQge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIGZvcm0uZm9ybS1zdHlsZSBmaWVsZHNldCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gIH1cclxuICBmb3JtLmZvcm0tc3R5bGUgZmllbGRzZXQ6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuYm9keS5zdGFuZGFsb25le1xyXG5cclxuICAmLnBhZ2UtcmVzZXQtcGFzc3dvcmQsXHJcbiAgJi5wYWdlLWNoYW5nZS1wYXNzd29yZCxcclxuICAmLnBhZ2UtcmVnaXN0ZXIsXHJcbiAgJi5wYWdlLWZvcmdvdHRlbi1kZXRhaWxzLFxyXG4gICYucGFnZS1mb3Jnb3R0ZW4tcGFzc3dvcmQsXHJcbiAgJi5wYWdlLWNvZGUtdmVyaWZpY2F0aW9uLFxyXG4gICYucGFnZS11cGRhdGUtcGFzc3dvcmQge1xyXG4gICAgLmJhc2ljLXBhZ2V7XHJcbiAgICAgIC54bGFyZ2Uoe1xyXG4gICAgICAgIHBhZGRpbmctdG9wOjcwcHg7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnJlZ2lzdGVyLTEtMi0zIHtcclxuICBsaW5lLWhlaWdodDogMS41ZW07XHJcblxyXG4gIHVsIHtcclxuICAgIHBhZGRpbmctbGVmdDogNThweDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBsaSB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnJlZ2lzdGVyLW51bWJlciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogQG9mZl93aGl0ZTtcclxuICAgIGNvbG9yOiBAc3VwZXJfcHVycGxlO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgLmJvcmRlci1yYWRpdXMoMjBweCk7XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5LnNpZGViYXItZmlyc3QgLm1lc3NhZ2Vze1xyXG4uVl9yZWdpc3RyYXRpb24tcGFnZV90eHRfZXJyb3IoKTtcclxuLnhsYXJnZSh7XHJcbiAgICBmbG9hdDpub25lO1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxuICB9KTtcclxufVxyXG5cclxuYm9keS50YWJsZXQgLm1lc3NhZ2VzLCBib2R5LnNtYXJ0cGhvbmUgLm1lc3NhZ2VzIHtcclxuICAueGxhcmdlKHtcclxuICAgIGZsb2F0Om5vbmU7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG4gIH0pO1xyXG59XHJcblxyXG5cclxuLyogIFVzZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnBhZ2UtdXNlciAjdXNlci1sb2dpbiB7XHJcbiAgJjpleHRlbmQoLmZvcm0tc3R5bGUpO1xyXG5cclxuICAuZm9ybS1pdGVtIHtcclxuICAgIG1hcmdpbjogMTBweCAwO1xyXG4gIH1cclxuXHJcbiAgLmRlc2NyaXB0aW9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBpbnB1dCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBjb2xvcjogQHN1cGVyX3B1cnBsZTtcclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgLmJ1dHRvbi1zdHlsZSgpO1xyXG4gICAgLnByaW1hcnktYnV0dG9uKCk7XHJcblxyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuLyogZm9yZ290dGVuIGRldGFpbHMgZXJyb3IgbXNnICovXHJcblxyXG4ubWVzc2FnZXN7XHJcbiAgJi5lcnJvciB7XHJcbiAgICAuVl9yZWdpc3RyYXRpb24tcGFnZV9iZ19lcnJvcigpO1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIH1cclxuICB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIH1cclxuICAmLnN0YXR1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3VwZXJfYmx1ZTtcclxuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICBmb250LXNpemU6MTRweDtcclxuICB9XHJcblxyXG59XHJcblxyXG4ucGxheXRlY2gtbG9naW4tYmxvY2sgZm9ybVtuYW1lPVwicGxheXRlY2gtbG9naW4tZm9ybVwiXSwgLmxvZ2luLW1vZGFsIGZvcm1bbmFtZT1cInBsYXl0ZWNoLWxvZ2luLWZvcm1cIl0ge1xyXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XHJcbiAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ucGxheXRlY2gtbG9naW4tYmxvY2sgZm9ybVtuYW1lPVwicGxheXRlY2gtbG9naW4tZm9ybVwiXSB7XHJcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XHJcbiAgICAgICAgLlZfaGVhZGVyc19maWVsZF91c2VyX3Bhc3MoKTtcclxuICAgICAgICBib3JkZXI6IDBweCBub25lO1xyXG4gICAgICAgIC5ib3JkZXItcmFkaXVzKDFweCk7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgICAgICAgICAgcGFkZGluZzogOXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogI2NjYzsgfVxyXG4gICAgOi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjogI2NjYzsgfVxyXG4gICAgOjotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6ICNjY2M7IH1cclxuICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAgIGNvbG9yOiAjY2NjOyB9XHJcblxyXG4gICAgLnJlZ2lzdGVyIHtcclxuICAgICAgICAuVl9oZWFkZXJzX2J0X2pvaW5fbm93KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAgICAgLlZfaGVhZGVyc19idF9zaWduX2luKCk7XHJcblxyXG4gICAgICAgICYuaGlnaGxpZ2h0ZWQge1xyXG4gICAgICAgICAgICAuYmFja2dyb3VuZC1hbHBoYSgjZTVlNWU1LCAwLjYpO1xyXG4gICAgICAgICAgICAvL2JveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjI4LCAyMjgsIDIyOCwgMC41OSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICNmb3Jnb3R0ZW4tZGV0YWlscy1saW5rIHtcclxuICAgICAgICAuVl9oZWFkZXJzX2ZvcmdvdHRlbigpO1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLlZfaGVhZGVyc19mb3Jnb3R0ZW4oKTtcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyogIFJlbGF0ZWQgZ2FtZXMgY29udGVudFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4ucmVsYXRlZC1jb250ZW50IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgd2lkdGg6IDMyLjI1JTtcclxuICBoZWlnaHQ6IDE3N3B4O1xyXG4gIHBhZGRpbmc6IDVweCAwLjU0JSAxN3B4O1xyXG4gIC8vYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjMpO1xyXG4gIC5WX2dhbWUtaW5mb19iZygpO1xyXG5cclxuICAmOmV4dGVuZCgub3ZlcmZsb3dIaWRkZW4pO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgei1pbmRleDogMDtcclxuICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gIC5zbWFsbCh7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9KVxyXG59XHJcblxyXG4ucmVsYXRlZC1jb250ZW50LXRpdGxle1xyXG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gIGZsb2F0OmxlZnQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIC5yZWxhdGVkX2NvbnRlbnRfdGl0bGV7XHJcbiAgICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XHJcbiAgICBmb250LXNpemU6IDE0cHQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6ICNkNGIxNWU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLnJlbGF0ZWQtY29udGVudCAudmlldy1jb250ZW50IHtcclxuXHJcbiAgLmZpZWxkLWNvbnRlbnQge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGltZ3tcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC52aWV3cy1maWVsZC10aXRsZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxuXHJcbiAgLnZpZXdzLWZpZWxkLWZpZWxkLXJlbGF0ZWQtY29udGVudC1pbWFnZSBpbWcge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgbWFyZ2luOiA1cHggMCAwIDVweDtcclxuICAgIHRyYW5zaXRpb246IDAuMnM7XHJcbiAgfVxyXG5cclxuICAuZmllbGQtY29udGVudCA+IGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi0zIHtcclxuICAgIC5idXR0b24tc3R5bGUoKTtcclxuICAgIC5wcmltYXJ5LWJ1dHRvbigpO1xyXG4gICAgLm9wYWNpdHkoMSk7XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogLTUwcHg7XHJcblxyXG4gICAgYm90dG9tOiAxMHB4O1xyXG4gICAgei1pbmRleDogOTtcclxuICAgIHRyYW5zaXRpb246IDAuM3M7XHJcbiAgfVxyXG5cclxuICAudmlld3MtZmllbGQtZmllbGQtcmVsYXRlZC1jb250ZW50LXRleHQge1xyXG4gICAgLm9wYWNpdHkoMCk7XHJcbiAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBwYWRkaW5nOiAzNnB4IDE1cHggMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgIHRyYW5zaXRpb246IDAuNHM7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLnJlbGF0ZWQtY29udGVudDpob3ZlciAudmlldy1jb250ZW50IHtcclxuICAudmlld3MtZmllbGQtZmllbGQtcmVsYXRlZC1jb250ZW50LXRleHQge1xyXG4gICAgLm9wYWNpdHkoMSk7XHJcbiAgfVxyXG5cclxuICAudmlld3MtZmllbGQtdGl0bGUge1xyXG4gICAgei1pbmRleDogOTtcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcclxuICB9XHJcblxyXG4gIC52aWV3cy1maWVsZC1maWVsZC1yZWxhdGVkLWNvbnRlbnQtaW1hZ2UgaW1nIHtcclxuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDVweCkgc2F0dXJhdGUoODAlKTtcclxuICAgIGZpbHRlcjogYmx1cig1cHgpIHNhdHVyYXRlKDgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyogIFZJUFxyXG5cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuI3BhZ2UtdmlwIHtcclxuICBwIHsgY29sb3I6IEBvZmZfd2hpdGU7IH1cclxuICAvKiBXaW5uZXIgKi9cclxuICB1bCB7IGNvbG9yOiBAb2ZmX3doaXRlOyB9XHJcbiAgI2Jsb2NrLWxvYmJ5X2NvbXBvbmVudHMtdmlwX3F1aWNrdGFicyB1bCBhIHsgbGluZS1oZWlnaHQ6IDIycHg7IH1cclxufVxyXG4vKiBFdmVudHMgKi9cclxuLnZpcC1ib3gtd3JhcHBlcnsgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTsgfVxyXG4udmlwLWJveC13cmFwcGVyIGRpdiB7XHJcbiAgZGlzcGxheTogaW5saW5lO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG5cclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICB0b3A6IDBweDtcclxuICAgICAgbGVmdDogMHB4O1xyXG4gICAgICB3aWR0aDogMTU2cHg7XHJcbiAgICAgIGhlaWdodDogMTEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciBzcGFuIHtcclxuICAgICAgLy9iYWNrZ3JvdW5kOiAjMWExYzIwIHVybCgnL2Fzc2V0cy9idXR0b25zL3BsYXlfaWNvbnYyLnBuZycpIG5vLXJlcGVhdCAzMXB4IDdweCAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvYnV0dG9ucy9wbGF5X2ljb252My5wbmcnKSBuby1yZXBlYXQgcmdiYSgwLDAsMCwwLjcpIDUwJSA1MCUgIWltcG9ydGFudDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogIFZJUCBQYWdlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG5cclxuLnBhZ2UtdmlwIHtcclxuXHJcbiAgLmNvbnRlbnQtaGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMzBweCAwO1xyXG5cclxuICAgIGgxIHtcclxuICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucmVnaW9uLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMCAwIDIwcHg7XHJcblxyXG4gICAgLnhsYXJnZSh7XHJcbiAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgIH0pO1xyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgIH0pO1xyXG5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgcGFkZGluZzogMCAxMHB4IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudmlwLXRhYmxlLXN0eWxlIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgIHRoIHtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICB0ZCB7XHJcbiAgICAgIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudmlwX3JlZCxcclxuICAudmlwX2Jyb256ZSxcclxuICAudmlwX3NpbHZlcixcclxuICAudmlwX2dvbGQsXHJcbiAgLnZpcF9wbGF0aW51bSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAudmlwX3JlZCB7IGJhY2tncm91bmQ6ICM4QjBGMDQ7IH1cclxuICAudmlwX2Jyb256ZSB7IGJhY2tncm91bmQ6ICM4Qzc4NTM7IH1cclxuICAudmlwX3NpbHZlciB7IGJhY2tncm91bmQ6ICNDMEMwQzA7IH1cclxuICAudmlwX2dvbGQgeyBiYWNrZ3JvdW5kOiAjZjJhZjMyOyB9XHJcbiAgLnZpcF9wbGF0aW51bSB7IGJhY2tncm91bmQ6ICNGQ0ZERjI7IGNvbG9yOiAjOTk5OyB9XHJcblxyXG4gIC52aXAtbWFuYWdlci1pbWcge1xyXG5cclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBhZGRpbmc6IDAgMjBweCAwIDQwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKiAgSG93IFRvIERlcG9zaXRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnZpZXctcGF5bWVudC1tZXRob2RzLmhvdy10by1kZXBvc2l0LXdyYXBwZXIge1xyXG4gIG1hcmdpbjogNDBweCAwO1xyXG5cclxuICAudmlldy1oZWFkZXIge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuXHJcbiAgICAuc21hbGwoeyBcclxuICAgICAgcGFkZGluZzowO1xyXG4gICAgfSk7IFxyXG5cclxuICAgIC5iYW5rSGVhZCB7XHJcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICBkaXYge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAgICAgLnNtYWxsKHsgXHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmhlYWRDZWxsIHsgXHJcbiAgICAgICAgd2lkdGg6IDM1JTsgXHJcbiAgICAgICAgLnNtYWxsKHsgXHJcbiAgICAgICAgICB3aWR0aDowJTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmhlYWRDZWxsT25lIHsgXHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAuc21hbGwoeyBcclxuICAgICAgICAgIHdpZHRoOjQyJTtcclxuICAgICAgICB9KTsgXHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICAuaGVhZENlbGxUd28geyBcclxuICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICAgLnNtYWxsKHsgXHJcbiAgICAgICAgICB3aWR0aDo0MCU7XHJcbiAgICAgICAgfSk7ICBcclxuICAgICAgfVxyXG5cclxuICAgICAgLmhlYWRDZWxsVGhyZWUsIC5oZWFkQ2VsbEZvdXIgeyB3aWR0aDogMTAlOyB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC52aWV3cy1yb3d7XHJcbiAgICBmbG9hdDpub25lO1xyXG4gICAgbWFyZ2luOjBweDtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxuXHJcbiAgLnZpZXdzLXJvdy1ldmVuIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICB9XHJcblxyXG4gIC5ob3ctdG8tZGVwb3NpdC1yb3cge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuXHJcbiAgICAudmlld3MtZmllbGQtZmllbGQtcGF5bWVudC1pbWFnZSxcclxuICAgIC52aWV3cy1maWVsZC10aXRsZSxcclxuICAgIC52aWV3cy1maWVsZC1maWVsZC1kZXBvc2l0LXRpbWUsXHJcbiAgICAudmlld3MtZmllbGQtZmllbGQtcGF5bWVudC1mZWVzLFxyXG4gICAgLnZpZXdzLWZpZWxkLW5vdGhpbmcge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgLmZpZWxkLWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAudmlld3MtZmllbGQtZmllbGQtcGF5bWVudC1pbWFnZSwgLmJhbmtIZWFkIGRpdi5oZWFkQ2VsbCB7IHdpZHRoOiAzNSU7IH1cclxuXHJcbiAgICAudmlld3MtZmllbGQtdGl0bGUsIC5iYW5rSGVhZCBkaXYuaGVhZENlbGxPbmUgeyB3aWR0aDogMjUlOyB9XHJcblxyXG4gICAgLnZpZXdzLWZpZWxkLWZpZWxkLWRlcG9zaXQtdGltZSwgLmJhbmtIZWFkIGRpdi5oZWFkQ2VsbFR3byB7IHdpZHRoOiAyMCU7IH1cclxuXHJcbiAgICAudmlld3MtZmllbGQtZmllbGQtcGF5bWVudC1mZWVzLCAudmlld3MtZmllbGQtbm90aGluZywgLmJhbmtIZWFkIGRpdi5oZWFkQ2VsbFRocmVlLCAuYmFua0hlYWQgZGl2LmhlYWRDZWxsRm91ciB7IHdpZHRoOiAxMCU7IH1cclxuXHJcbiAgICAudmlld3MtZmllbGQtYm9keSAuZmllbGQtY29udGVudCB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnRvZ2dsZS1idXR0b24gLnRvZ2dsZS1pbWcge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvYnV0dG9ucy9kaXJlY3Rpb25hbEFycm93c1Nwcml0ZS5wbmcnKSBuby1yZXBlYXQgLTI3cHggMHB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAyN3B4O1xyXG4gICAgICB3aWR0aDoyOHB4O1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogIEhvdyB0byBkZXBvc2l0IHJlc3BvbnNpdmUgKi9cclxuXHJcbi52aWV3LXBheW1lbnQtbWV0aG9kcy5ob3ctdG8tZGVwb3NpdC13cmFwcGVyIC5ob3ctdG8tZGVwb3NpdC1yb3cge1xyXG5cclxuICAudmlld3MtZmllbGQtZmllbGQtcGF5bWVudC1pbWFnZSB7XHJcbiAgICAuc21hbGwoeyBcclxuICAgICAgICB3aWR0aDoyMCU7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpbWd7XHJcbiAgICAgIC5sYXJnZSh7IFxyXG4gICAgICAgIG1heC13aWR0aDo2NXB4O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC5zbWFsbCh7IFxyXG4gICAgICAgIG1heC13aWR0aDo0NXB4O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC52aWV3cy1maWVsZC10aXRsZXtcclxuICAgIC5zbWFsbCh7IFxyXG4gICAgICAgIHdpZHRoOjI1JTtcclxuICAgIH0pO1xyXG5cclxuICAgIC5maWVsZC1jb250ZW50e1xyXG5cclxuICAgICAgLnNtYWxsKHsgXHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC52aWV3cy1maWVsZC1maWVsZC1kZXBvc2l0LXRpbWV7XHJcbiAgICAuc21hbGwoeyBcclxuICAgICAgICB3aWR0aDoyOCU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC52aWV3cy1maWVsZC1maWVsZC1wYXltZW50LWZlZXN7XHJcbiAgICAuc21hbGwoeyBcclxuICAgICAgICB3aWR0aDoxNyU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcblxyXG4uc2xpZGUtZWZmZWN0LXRvZ2dsZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmJhbmtIZWFkIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBkaXYge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBzcGFuIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogIFN1cHBvcnQgRmVhdHVyZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4gIC5zdXBwb3J0LWJ1dHRvbnMge1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgdG9wOiAyNXB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogNjVweDtcclxuXHJcbiAgICAuaGVscF9idXR0b24sXHJcbiAgICAuY2hhdF9idXR0b24ge1xyXG4gICAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcblxyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL3N1cHBvcnQvaGVscF9pY29uX3doaXRlLnBuZykgbm8tcmVwZWF0IDEwcHggY2VudGVyO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIC5WX2hlYWRlcnNfdHh0X2hlbHBfY2hhdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jaGF0X2J1dHRvbiB7XHJcbiAgICAgIHRvcDogMzVweDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvc3VwcG9ydC9jaGF0X2ljb25fd2hpdGUucG5nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4vKiBCYWNrIEJ1dHRvblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmJhY2stYnV0dG9uIHtcclxuICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgdG9wOiAwcHg7XHJcbiAgbGVmdDogMHB4O1xyXG4gIHBhZGRpbmc6NXB4O1xyXG4gIHdpZHRoOiA1MHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxuICBwYWRkaW5nLXRvcDogNHB4O1xyXG4gIGRpc3BsYXk6bm9uZTsgLy91bmRpc3BsYXllZCBiZWNhdXNlIGlmICcxMDI0cHggd2lkdGgnIHRhYmxldFxyXG4gIHotaW5kZXg6MTA7IFxyXG4gIGEge1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgY29sb3I6ICNlZWVlZWU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJjpob3ZlcntcclxuICAgICAgY29sb3I6I2Q0YjE1ZTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGl7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjNweDtcclxuICAgICAgcGFkZGluZzogOXB4IDEycHg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgLmRlc2t0b3AgJiB7XHJcbiAgICAgICAgLnRhYmxldC14eGxhcmdlKHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA6bm90KC5kZXNrdG9wKSAmIHtcclxuICAgIC50YWJsZXQteHhsYXJnZSh7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLnNtYWxsKHtcclxuICAgIHBhZGRpbmctdG9wOiAwcHg7XHJcbiAgfSk7XHJcblxyXG59XHJcblxyXG4iLCIvKiAgVmVydGljYWxzIE1lbnVcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLm1lbnUtdmVydGljYWxzIHtcclxuICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgdG9wOiAxMjBweDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDEwMDtcclxuXHJcbiAgLnNtYWxsZXItdGhhbi1pcGhvbmU2KHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuICB9KTtcclxuICB1bC5tZW51IHtcclxuICAgIC8qYnJlYWsgbWVudSBkZWNsYXJhdGlvbiBpbnRvIGxvbmdlciBleHByZXNzaW9uIGFsbG93cyB5b3UgdG8gb3ZlcnJpZGUgc3BlY2lmaWMgbWVudSBhdHRyaWJ1dGVzIGxhdGVyKi9cclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiA2cHg7XHJcbiAgICAvLy5WX2hlYWRlcnNfc2VwYXJhdGlvbl9saW5lX3Byb21vdGlvbnMoKTtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDQ3cHg7IC8qIDUwcHggLSAzcHggKi9cclxuICAgIGxpbmUtaGVpZ2h0OiA0N3B4OyAvKiA1MHB4IC0gM3B4ICovXHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXNpemU6IDBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAuVl9oZWFkZXJzX2JnX3ZlcnRpY2FscygpO1xyXG4gIH1cclxuXHJcbiAgLm1lbnUgbGkge1xyXG4gICAgd2lkdGg6IDE5JTtcclxuICAgIC8qbWFyZ2luLWxlZnQ6IDFweDsqL1xyXG5cclxuICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xyXG4gICAgdHJhbnNpdGlvbjogMC4ycztcclxuICAgIC5vcGFjaXR5KDAuNik7XHJcblxyXG4gICAgJjpob3ZlciwgJi5zZWxlY3RlZCB7XHJcbiAgICAgIC5vcGFjaXR5KDEpO1xyXG4gICAgICAmLmNhc2lubyB7XHJcbiAgICAgICAgLlZfaGVhZGVyc19jYXNpbm9fdGFiKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYudmVnYXMge1xyXG4gICAgICAgIC5WX2hlYWRlcnNfdmVnYXNfdGFiKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGl2ZSB7XHJcbiAgICAgICAgLlZfaGVhZGVyc19saXZlX3RhYigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnByb21vdGlvbnMge1xyXG4gICAgICAgIC5WX2hlYWRlcnNfcHJvbW90aW9uc190YWIoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBhIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICB0ZXh0LXNoYWRvdzogMXB4IDAgMnB4IHJnYmEoMCwwLDAsMC41KTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gICAgLypcclxuICAgICAgU2VsZWN0IGFsbCBtZW51cyBhbmQgZ2l2ZSB0aGVtIGEgbGVmdCBib3JkZXIuIEJ1dCBub3QgdGhlIGZpcnN0IG9uZSxcclxuICAgICAgb3IgdGhlIG9uZSB0aGF0J3Mgc2VsZWN0ZWQnXHJcbiAgICAqL1xyXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgIC8qYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7Ki8vKiB0aGlzIGZhaWxzIGF0IHJlLXNpemluZyBiZWNhdXNlIGJvcmRlciB0YWtlcyB1cCBzb21lIG9mIGJveCBtb2RlbCAqL1xyXG4gICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IC8qIFRoaXMgaGFzIG92ZXIgOTAlIHN1cHBvcnQgYW5kIGRvZXNuJ3QgZGVzdHJveSB0aGUgZWZmZWN0ICovXHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5vcGFjaXR5KDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbmxpbmUtYmxvY2soKTtcclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnhsYXJnZSh7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDUwcHg7XHJcbiAgICB1bC5tZW51IHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNDdweDsgLyo1MHB4IC0gM3B4IGJvcmRlciovXHJcbiAgICAgIGhlaWdodDogNDdweDtcclxuICAgIH1cclxuICAgIC5tZW51IGxpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgfSk7XHJcblxyXG4gIC5tZWRpdW0oe1xyXG4gICAgdG9wOiA0OHB4O1xyXG4gICAgLm1lbnUgbGkge1xyXG4gICAgICBsaW5lLWhlaWdodDogNDVweDsgLyogNDBweCAtIDJweCBib3JkZXIgKi9cclxuICAgICAgaGVpZ2h0OiA0NXB4OyAvKiA0MHB4IC0gMnB4IGJvcmRlciAqL1xyXG4gICAgfVxyXG4gICAgdWwubWVudSB7XHJcbiAgICAgIGhlaWdodDogNDVweDtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLnNtYWxsKHtcclxuICAgIHRvcDogNDBweDtcclxuICAgIC5tZW51IGxpIHtcclxuICAgICAgaGVpZ2h0OiAzOHB4OyAvKiA0MHB4IC0gMnB4IGJvcmRlciAqL1xyXG4gICAgfVxyXG4gICAgdWwubWVudSB7XHJcbiAgICAgIGhlaWdodDogMzhweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xyXG4gICAgfVxyXG4gICAgLm1lbnUgbGkgYSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuYm9keS5zdGFuZGFsb25le1xyXG4gIC5tZW51LXZlcnRpY2FscyB7XHJcbiAgICB0b3A6IDcwcHg7XHJcblxyXG4gICAgLnhsYXJnZSh7XHJcbiAgICAgIHRvcDogNzBweDtcclxuICAgIH0pO1xyXG4gICAgLm1lZGl1bSh7XHJcbiAgICAgIHRvcDogNjhweDtcclxuICAgIH0pO1xyXG4gICAgLnNtYWxsKHtcclxuICAgICAgdG9wOiA2MHB4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5LnNtYXJ0cGhvbmUsIGJvZHkudGFibGV0IHtcclxuICAubWVudS12ZXJ0aWNhbHN7XHJcblxyXG4gICAgLnRhYmxldC14eGxhcmdlKHtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB0b3A6IDUwcHg7XHJcbiAgICAgIHVsLm1lbnUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0N3B4OyAvKjUwcHggLSAzcHggYm9yZGVyKi9cclxuICAgICAgICBoZWlnaHQ6IDQ3cHg7XHJcbiAgICAgIH1cclxuICAgICAgLm1lbnUgbGkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbmJvZHkuc21hcnRwaG9uZSwgYm9keS50YWJsZXR7XHJcbiAgLm1lbnUtdmVydGljYWxzIHtcclxuICAgIC5tZW51IGxpIHtcclxuICAgICAgd2lkdGg6IDI1JTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEFkZGl0aW9uIG9mIGZpeCBmb3Igc2xpZGVyIG9uIG1vYmlsZSBsYW5kc2NhcGVcclxuLmJsb2NrLWxvYmJ5LWNvbXBvbmVudHMudmVydGljYWxzLWNvbnRlbnQge1xyXG4gIC5zbWFsbC1oZWlnaHQoeyAgd2lkdGg6IDEwMCU7IH0pO1xyXG59XHJcblxyXG4ubWVudS12ZXJ0aWNhbHMtY29udGVudHtcclxuICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICBmbG9hdDpsZWZ0O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6bm9uZTtcclxuXHJcbiAgLnNtYWxsZXItdGhhbi1pcGhvbmU2KHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH0pO1xyXG5cclxuICB1bC5tZW51OmV4dGVuZCgubWVudS12ZXJ0aWNhbHMgdWwubWVudSBhbGwpXHJcbiAge1xyXG5cclxuICB9XHJcblxyXG4gIC5tZW51IGxpOmV4dGVuZCgubWVudS12ZXJ0aWNhbHMgLm1lbnUgbGkgYWxsKVxyXG4gIHtcclxuXHJcbiAgfVxyXG59XHJcbi8vdmVnYXMgYnV0dG9uICggdG8gcmVtb3ZlIHdoZW4gdGhlcmUgd2lsbCBiZSBnYW1lcyBpbiB2ZWdhcyApXHJcbmJvZHkudGFibGV0LCBib2R5LnNtYXJ0cGhvbmV7XHJcbiAgLm1lbnUtdmVydGljYWxzIC5tZW51IGxpLnZlZ2Fze1xyXG4gICAgLy9kaXNwbGF5Om5vbmU7XHJcbiAgfVxyXG59XHJcbi8qICBTdWJtZW51XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5tZW51LWdldHRpbmctc3RhcnRlZCB7XHJcbiAgLnhsYXJnZSh7IGRpc3BsYXk6IG5vbmU7IH0pO1xyXG59XHJcbi5tZW51LWdldHRpbmctc3RhcnRlZCxcclxuLm1lbnUtcHJvbW90aW9ucy1zdWJtZW51IHtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgcGFkZGluZzogMDtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgdWwubWVudSB7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIG1hcmdpbjogMCBhdXRvOyAvKm1hcmdpbjogMTBweCBhdXRvIDA7Ki9cclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogNDQlO1xyXG4gIH1cclxuICAubWVudSBsaSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDMzJTtcclxuICB9XHJcbiAgLypcclxuICAgIFdoZXJlIGEgbGlzdCBpdGVtIGZvbGxvd3MgYW5vdGhlciBvbmUgZ2l2ZSBpdCBhIGJvcmRlciBvbiB0aGUgbGVmdCBzaWRlLlxyXG4gICAgVGhpcyBlbGltaW5hdGVzIHRoZSBmaXJzdCBvbmUgYnkgZGVmYXVsdC5cclxuICAgIFdlIGFsc28gIGRvbid0IHdhbnQgYSBib3JkZXIgd2hlcmUgdGhlIGxpc3QgaXRlbSBmb2xsb3dzIHRoZSBhY3RpdmUgbGlzdCBpdGVtXHJcbiAgICBvciBpZiB0aGUgZm9sbG93aW5nIGl0ZW0gaXMgdGhlIGFjdGl2ZSBsaXN0IGl0ZW0uXHJcbiAgKi9cclxuICAueGxhcmdlKHtcclxuICAgICAmIC5tZW51IGxpOm5vdCguYWN0aXZlLXRyYWlsKSArIGxpOm5vdCguYWN0aXZlLXRyYWlsKSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC5tZW51IGxpIGEge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbiAgLnhsYXJnZSh7XHJcbiAgICB0b3A6IDk0cHg7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICB1bC5tZW51IHtcclxuICAgICAgd2lkdGg6IDcwJTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLmxhcmdlKHtcclxuICAgIHRvcDogODBweDtcclxuICAgIHVsLm1lbnUge1xyXG4gICAgICB3aWR0aDogODUlO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICAubWVkaXVtKHtcclxuICAgIGhlaWdodDogNDhweDtcclxuICB9KTtcclxuXHJcbiAgLnNtYWxsKHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIC5tZW51IGxpIGEge1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB9XHJcbiAgICB1bC5tZW51IHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcblxyXG4vKi5wYWdlLWdldHRpbmctc3RhcnRlZCxcclxuLnByb21vdGlvbnMtdmVydGljYWwubm9kZS10eXBlLXBhZ2UsKi9cclxuXHJcbi5tZW51LWdldHRpbmctc3RhcnRlZCB7XHJcbiAgdG9wOiAxNzZweDtcclxuICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcblxyXG4gIHVsLm1lbnUge1xyXG4gICAgd2lkdGg6IDg1JTtcclxuICB9XHJcbiAgLm1lbnUgbGkge1xyXG4gICAgd2lkdGg6IDE5JTtcclxuICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLnBhZ2UtZ2V0dGluZy1zdGFydGVke1xyXG4gIC5yZWdpb24tY29udGVudCxcclxuICAucmVnaW9uLXNpZGViYXItZmlyc3Qge1xyXG4gICAgcGFkZGluZy10b3A6IDYwcHg7XHJcblxyXG4gICAgLnhsYXJnZSh7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwcHg7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICAubWVzc2FnZXMge1xyXG4gICAgbWFyZ2luOiA2MHB4IGF1dG8gMDtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICAuYm9yZGVyLXJhZGl1cygxcHgpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qIEdldHRpbmcgc3RhcnRlZCBNb2JpbGUgU3VibWVudSAqL1xyXG5cclxuYm9keS5wYWdlLWdldHRpbmctc3RhcnRlZCAubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudXtcclxuXHJcbiAgLmFjdGl2ZS1zdWJtZW51e1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjojRkZGO1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlxcZTYwOFwiO1xyXG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xyXG4gICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5LnRhYmxldCAubWVudS1nZXR0aW5nLXN0YXJ0ZWQsIGJvZHkuc21hcnRwaG9uZSAubWVudS1nZXR0aW5nLXN0YXJ0ZWR7XHJcbiAgLnRhYmxldC14eGxhcmdlKHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfSk7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qICBWZXJ0aWNhbHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLnZlcnRpY2FsX2lzX3NlbGVjdGVkIHtcclxuICAgIC5vcGFjaXR5KDEpO1xyXG59XHJcblxyXG4uY2FzaW5vLXZlcnRpY2FsIHtcclxuICAucmVnaW9uLWhlYWRlciAubWVudS12ZXJ0aWNhbHMgdWwge1xyXG4gICAgICAuY2FzaW5vIHtcclxuICAgICAgICAgIC52ZXJ0aWNhbF9pc19zZWxlY3RlZCgpO1xyXG4gICAgICAgICAgLlZfaGVhZGVyc19jYXNpbm9fdGFiKCk7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgLm1lbnUtdmVydGljYWxzLWNvbnRlbnQgdWwge1xyXG4gICAgLmNhc2lubyB7XHJcbiAgICAgIC52ZXJ0aWNhbF9pc19zZWxlY3RlZCgpO1xyXG4gICAgICAuVl9oZWFkZXJzX2Nhc2lub190YWIoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi52ZWdhcy12ZXJ0aWNhbCB7XHJcbiAgICAucmVnaW9uLWhlYWRlciAubWVudS12ZXJ0aWNhbHMgdWwge1xyXG4gICAgICAgIC52ZWdhcyB7XHJcbiAgICAgICAgICAgIC52ZXJ0aWNhbF9pc19zZWxlY3RlZCgpO1xyXG4gICAgICAgICAgICAuVl9oZWFkZXJzX3ZlZ2FzX3RhYigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmxvY2stZ2FtZXMgLml0ZW0tbGlzdCB1bCB7XHJcbiAgICAgICAgbGkgYSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBzdXBlcl9waW5rO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBmYWRlKEBzdXBlcl9waW5rLCAzMCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubGl2ZS12ZXJ0aWNhbCB7XHJcbiAgICAucmVnaW9uLWhlYWRlciAubWVudS12ZXJ0aWNhbHMgdWwge1xyXG4gICAgICAgIC5saXZlIHtcclxuICAgICAgICAgICAgLnZlcnRpY2FsX2lzX3NlbGVjdGVkKCk7XHJcbiAgICAgICAgICAgIC5WX2hlYWRlcnNfbGl2ZV90YWIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudS12ZXJ0aWNhbHMtY29udGVudCB1bFxyXG4gICAge1xyXG4gICAgICAubGl2ZSB7XHJcbiAgICAgICAgLnZlcnRpY2FsX2lzX3NlbGVjdGVkKCk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogQHN1cGVyX2dvbGQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5ibG9jay1nYW1lcyAuaXRlbS1saXN0IHVsIHtcclxuICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogQHN1cGVyX2dvbGQ7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGZhZGUoQHN1cGVyX2dvbGQsIDMwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9tb3Rpb25zLXZlcnRpY2FsIHtcclxuICAucmVnaW9uLWhlYWRlciAubWVudS12ZXJ0aWNhbHMgdWwge1xyXG4gICAgICAucHJvbW90aW9ucyB7XHJcbiAgICAgICAgICAudmVydGljYWxfaXNfc2VsZWN0ZWQoKTtcclxuICAgICAgICAgIC5WX2hlYWRlcnNfcHJvbW90aW9uc190YWIoKTtcclxuICAgICAgfVxyXG4gIH1cclxuICAubWVudS12ZXJ0aWNhbHMtY29udGVudCB1bCB7XHJcbiAgICAucHJvbW90aW9ucyB7XHJcbiAgICAgIC52ZXJ0aWNhbF9pc19zZWxlY3RlZCgpO1xyXG4gICAgICAuVl9oZWFkZXJzX3NlcGFyYXRpb25fbGluZV9wcm9tb3Rpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5LmNhc2luby12ZXJ0aWNhbCAubWVudS12ZXJ0aWNhbHMgdWwubWVudSB7XHJcbiAgLlZfaGVhZGVyc19zZXBhcmF0aW9uX2xpbmVfY2FzaW5vKCk7XHJcbn1cclxuXHJcbmJvZHkudmVnYXMtdmVydGljYWwgLm1lbnUtdmVydGljYWxzIHVsLm1lbnUge1xyXG4gIC5WX2hlYWRlcnNfc2VwYXJhdGlvbl9saW5lX3ZlZ2FzKCk7XHJcbn1cclxuXHJcbmJvZHkubGl2ZS12ZXJ0aWNhbCAubWVudS12ZXJ0aWNhbHMgdWwubWVudSB7XHJcbiAgLlZfaGVhZGVyc19zZXBhcmF0aW9uX2xpbmVfbGl2ZSgpO1xyXG59XHJcblxyXG5ib2R5LnByb21vdGlvbnMtdmVydGljYWwgLm1lbnUtdmVydGljYWxzIHVsLm1lbnUge1xyXG4gIC5WX2hlYWRlcnNfc2VwYXJhdGlvbl9saW5lX3Byb21vdGlvbnMoKTtcclxufVxyXG5cclxuXHJcbi8qICBQcm9tb3Rpb25zIHN1Ym1lbnVcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ucHJvbW90aW9ucy12ZXJ0aWNhbCAubWVudS1wcm9tb3Rpb25zLXN1Ym1lbnUgbGkuYWN0aXZlLXRyYWlsIHtcclxuICAuVl9oZWFkZXJzX3Byb21vdGlvbnNfdGFiX3N1Ym1lbnUoKTtcclxufVxyXG5cclxuLyogIFZlZ2FzIFJlbW92YWwgU3VibWVudVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLnNtYXJ0cGhvbmUsLnRhYmxldCB7XHJcbiAgLm1lbnUtdmVydGljYWxzIHtcclxuICAgIC5tZW51IHtcclxuICAgIC5sZWFmLnZlZ2FzIHtcclxuICAgICAgLy9kaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qICBTdGFsa2VyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi5mbG9hdGluZ192ZXJ0aWNhbHNfbWVudSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogLTQwcHg7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDI4cHg7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XHJcbiAgei1pbmRleDogMjAwMDtcclxuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICB0cmFuc2l0aW9uOiAwLjNzO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzgzNDRiO1xyXG4gIC5WX3N0YWxrZXJfYmcoKTtcclxuXHJcbiAgJi5zdGFsayB7XHJcblxyXG4gICAgdG9wOiAwO1xyXG5cclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9KTtcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgLmZsb2F0aW5nX3ZlcnRpY2Fsc19tZW51X2lubmVyIHtcclxuICAgIHdpZHRoOiAxMDAwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcclxuXHJcbiAgICAuYmV0c3NvbkNoYXRMaW5rIHtcclxuICAgICAgdGV4dC1pbmRlbnQ6IDQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc21hbGxfc2l0ZV9sb2dvIHtcclxuICAgIC5pbmxpbmUtYmxvY2soKTtcclxuXHJcbiAgICB3aWR0aDogMTIwcHg7XHJcbiAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnQHtzaXRlX2xvZ29fc21hbGx9Jykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcblxyXG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xyXG4gICAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAudmVydGljYWxfbGlua3Mge1xyXG4gICAgLmlubGluZS1ibG9jaygpO1xyXG4gICAgLlZfc3RhbGtlcl90YWJfZGVhY3RpdmF0ZWQoKTtcclxuICAgIGJvcmRlci1sZWZ0OjFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIC5WX3N0YWxrZXJfYnRfZGl2aWRlcnMoKTtcclxuICAgIHBhZGRpbmc6IDlweCAxNnB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogMC4zcztcclxuICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC5iZXRzc29uQ2hhdExpbmsge1xyXG5cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICY6ZXh0ZW5kKC5vdmVyZmxvd0hpZGRlbik7XHJcbiAgICAmOmV4dGVuZCguc3VwcG9ydC1idXR0b25zIC5jaGF0X2J1dHRvbik7XHJcblxyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICAmOmV4dGVuZCgucG9zaXRpb25BYnNvbHV0ZSk7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICB9XHJcblxyXG4gIC5oZWxwLXBhZ2UtbGluayB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tbGVmdDotM3B4O1xyXG5cclxuICAgIGEge1xyXG4gICAgICAmOmV4dGVuZCguc3VwcG9ydC1idXR0b25zIC5oZWxwX2J1dHRvbik7XHJcblxyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gICAgICAmOmV4dGVuZCgub3ZlcmZsb3dIaWRkZW4pO1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzRlNGE0OTtcclxuICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgLmFjY291bnRfb3B0aW9ucyB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cclxuICAgIC5idXR0b24ge1xyXG4gICAgICAuYnV0dG9uLXN0eWxlKCk7XHJcbiAgICAgIC5WX3N0YWxrZXJfYnRfam9pbl9ub3coKTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIHBhZGRpbmc6IDVweCAxM3B4O1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luX2Zvcm0ge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XHJcbiAgICAgIC5pbmxpbmUtYmxvY2soKTtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgICAgLmJ1dHRvbi1zdHlsZSgpO1xyXG4gICAgICAuVl9zdGFsa2VyX2J0X3NpZ25faW4oKTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAxM3B4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFjY291bnRfaW5mbyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogNXB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIC5pbmxpbmUtYmxvY2soKTtcclxuICAgICAgbWFyZ2luOiAwIDZweCAwIDNweDtcclxuXHJcbiAgICAgICYudXNlcm5hbWV7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjNGY0OTQ5O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE3cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5ib2R5LnRhYmxldCwgYm9keS5zbWFydHBob25le1xyXG4gIC5mbG9hdGluZ192ZXJ0aWNhbHNfbWVudXtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4ubG9nZ2VkLWluIC5mbG9hdGluZ192ZXJ0aWNhbHNfbWVudSAuaGVscC1wYWdlLWxpbmsgYSB7XHJcbiAgd2lkdGg6IDQwcHg7XHJcbiAgdGV4dC1pbmRlbnQ6IC05OTlweDtcclxuICBtYXJnaW4tcmlnaHQ6NDBweDtcclxufVxyXG5cclxuLmxvZ2dlZC1pbiAuZmxvYXRpbmdfdmVydGljYWxzX21lbnUgLmpzLXBsYXl0ZWNoLWNoYXQge1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIHRleHQtaW5kZW50OiAtOTk5cHg7XHJcbn1cclxuXHJcblxyXG4uZmxvYXRpbmdfdmVydGljYWxzX21lbnUgLnZlcnRpY2FsX2xpbmtzIHtcclxuICAmLmFjdGl2ZSwgJjpob3ZlciB7XHJcbiAgICAmW3RpdGxlPVwiQ2FzaW5vXCJdIHtcclxuICAgICAgLlZfc3RhbGtlcl9idF9jYXNpbm8oKTtcclxuICAgIH1cclxuICAgICZbdGl0bGU9XCJWZWdhc1wiXSB7XHJcbiAgICAgIC5WX3N0YWxrZXJfYnRfdmVnYXMoKTtcclxuICAgIH1cclxuICAgICZbdGl0bGU9XCJMaXZlXCJdIHtcclxuICAgICAgLlZfc3RhbGtlcl9idF9saXZlKCk7XHJcbiAgICB9XHJcbiAgICAmW3RpdGxlPVwiUHJvbW90aW9uc1wiXSB7XHJcbiAgICAgIC5WX3N0YWxrZXJfYnRfcHJvbW90aW9uc1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiAgVmlkZW8gUGFnZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuXHJcbi8qICBWaWRlb3MgTGlzdFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5cclxuLnZpZGVvcy1xdWlja3RhYnMgLnF1aWNrdGFicy13cmFwcGVyIHtcclxuICAjcXVpY2t0YWJzLWNvbnRhaW5lci12aWRlb3Mge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIC52aWV3cy1yb3cge1xyXG4gICAgLmlubGluZS1ibG9jaygpO1xyXG4gICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuXHJcbiAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xyXG5cclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC52aWV3cy1maWVsZC1maWVsZC12aWRlby11cmwgYSxcclxuICAgICAgLnZpZXdzLWZpZWxkLWZpZWxkLXlvdXR1YmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAudmlld3MtZmllbGQtZmllbGQtdmlkZW8taW1hZ2UgaW1nIHtcclxuICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig1cHgpIHNhdHVyYXRlKDgwJSk7XHJcbiAgICAgICAgZmlsdGVyOiBibHVyKDVweCkgc2F0dXJhdGUoODAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC52aWV3cy1maWVsZC1maWVsZC12aWRlby1pbWFnZSB7XHJcbiAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgaW1nIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIC5ib3JkZXItcmFkaXVzKDRweCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC52aWV3cy1maWVsZC10aXRsZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAudmlld3MtZmllbGQtZmllbGQtdmlkZW8tdXJsIGEsXHJcbiAgICAudmlld3MtZmllbGQtZmllbGQteW91dHViZSB7XHJcbiAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNykgdXJsKC9hc3NldHMvYnV0dG9ucy9wbGF5X2ljb252My5wbmcpIDUwJSA1MCUgbm8tcmVwZWF0O1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB0ZXh0LWluZGVudDogLTEwMDAwcHg7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuICAgICAgLmJvcmRlci1yYWRpdXMoM3B4KTtcclxuICAgIH1cclxuXHJcbiAgICAudmlld3MtZmllbGQtZmllbGQteW91dHViZSB7XHJcbiAgICAgIC52aWRlby1wbGF5ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvbkFic29sdXRlKTtcclxuICAgICAgICB0b3A6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IGxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudmlkZW8tbW9yZS1pbmZvIHtcclxuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uQWJzb2x1dGUpO1xyXG4gICAgICBib3R0b206IDVweDtcclxuICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgd2lkdGg6MjBweDtcclxuICAgICAgaGVpZ2h0OjIwcHg7XHJcbiAgICAgIHRleHQtaW5kZW50OiAtMTAwMDBweDtcclxuICAgICAgYmFja2dyb3VuZDp1cmwoJy9hc3NldHMvaWNvbnMvaW5mb1Nwcml0ZS5wbmcnKSBjZW50ZXIgdG9wIG5vLXJlcGVhdDtcclxuICAgIH1cclxuXHJcbiAgICAudmlkZW8tbW9yZS1pbmZvOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0yMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qICBWaWRlbyBQb3AgdXBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnBhZ2UtdmlkZW8tcGxheWVyLFxyXG4ucGFnZS12aWRlby1wbGF5ZXIgKiB7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG59XHJcblxyXG5cclxuLyogIFZpZGVvIEluZm8gUGFnZVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udmlldy1kaXNwbGF5LWlkLXZpZGVvX3BhZ2Uge1xyXG4gIC52aWRlby1pbmZvLXRpdGxlIHtcclxuICAgIGNvbG9yOiAjZTExZDM1O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICB9XHJcblxyXG4gIC52aWRlby1pbnRybyxcclxuICAudmlkZW8taW50cm8gcHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgZm9udC1zaXplOjE0cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbToxMHB4O1xyXG4gICAgY29sb3I6ICNkZGQ7XHJcbiAgfVxyXG5cclxuICAudmlkZW8tY29udGVudC1wcmltYXJ5IHB7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICBwYWRkaW5nLXRvcDoxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnZpZXdzLWZpZWxkLWZpZWxkLXlvdXR1YmUge1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcclxuICB9XHJcblxyXG4gIC5zb2NpYWwtc2hhcmUtaWNvbnMge1xyXG4gICAgd2lkdGg6IDU2MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgfVxyXG4gIC5nYW1lLXNvY2lhbC1pY29uIHtcclxuICAgIG1hcmdpbjogMjBweCAxMnB4O1xyXG4gIH1cclxuICAudmlkZW8tY29udGVudC1zZWNvbmRhcnkge1xyXG4gICAgY29sb3I6ICNiYmI7XHJcbiAgICBwIHtcclxuICAgICAgY29sb3I6ICNiYmI7XHJcbiAgICB9XHJcbiAgICBiIHtcclxuICAgICAgY29sb3I6ICNkZGQ7XHJcbiAgICB9XHJcbiAgICAuZmllbGQtaXRlbSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGEuYnV0dG9uLTMge1xyXG4gICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG59XHJcblxyXG4uZGVmYXVsdC1tb2RhbC52aWRlby1tb2RhbHtcclxuXHJcbiAgLm1vZGFsLWRpYWxvZ3tcclxuXHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgbWFyZ2luLXRvcDogNTB2aDtcclxuICAgIH0pO1xyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIG1hcmdpbi10b3A6IDQwJTtcclxuICAgIH0pO1xyXG5cclxuICAgIC5zbWFsbCh7XHJcbiAgICAgIG1hcmdpbi10b3A6IDUwJTtcclxuICAgIH0pOyAgXHJcbiAgICBcclxuICAgIC5sYXJnZS1taW4td2lkdGgoe1xyXG4gICAgICAgIG1heC13aWR0aDogNzIycHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDgxcHg7XHJcbiAgICB9KTtcclxuXHJcbiAgICAubW9kYWwtY29udGVudHtcclxuICAgICAgYmFja2dyb3VuZDpub25lO1xyXG5cclxuICAgICAgLm1vZGFsLWhlYWRlcntcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tb2RhbC1ib2R5e1xyXG4gICAgICAgIHBhZGRpbmc6NXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBcclxuICAgICAgICBpZnJhbWV7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8jbXlNb2RhbHtcclxuLy8gIHdpZHRoIDo0MDBweDtcclxuLy8gIGhlaWdodDozMDBweDtcclxuLy99IiwiLnBhZ2UtZ2FtZS1pbmZve1xuICAuY29udGVudC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMjk1cHggMCAzMHB4O1xuXG4gICAgLnhsYXJnZSh7XG4gICAgICAvL3BhZGRpbmc6IDIwcHggMjg4cHggMCAzMHB4O1xuICAgIH0pO1xuXG4gICAgLmxhcmdlKHtcbiAgICAgIHBhZGRpbmc6IDIwcHggNTElIDAgMzBweDtcbiAgICB9KTtcblxuICAgIC5sYXJnZSh7XG4gICAgICBwYWRkaW5nOiAxMHB4IDUyJSAwIDEwcHg7XG4gICAgfSk7XG5cbiAgICAuc21hbGwoe1xuICAgICAgcGFkZGluZzoxMHB4IDAlIDAgMTBweDtcbiAgICB9KTtcblxuICAgIGgxIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgICAgLlZfZ2FtZS1pbmZvX2xpbmVfc2VwYXJhdGlvbigpO1xuXG4gICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgIC5sYXJnZSh7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgICAgIH0pO1xuXG4gICAgICAubWVkaXVtKHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAucmVnaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMzBweCAyMHB4O1xuXG4gICAgLm1lZGl1bSh7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMjBweDtcbiAgICB9KTtcbiAgfVxuXG4gIC52aWV3LWlkLW5vZGVfZGlzcGxheSB7XG4gICAgLy8gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICB3aWR0aDoxMDAlO1xuICB9XG5cbiAgLmdhbWUtaW5mby1pbWFnZSB7XG4gICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB3aWR0aDogMjMwcHg7XG5cbiAgICAueGxhcmdlKHtcbiAgICAgIC8vd2lkdGg6MzIlO1xuICAgIH0pO1xuXG4gICAgLmxhcmdlKHtcbiAgICAgIC8vd2lkdGg6IDQyJTtcbiAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgIH0pO1xuXG4gICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luOmF1dG87XG4gICAgICBmbG9hdDpub25lO1xuICAgIH0pO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOmF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5nYW1lLWluZm8tZGV0YWlscyB7XG4gICAgd2lkdGg6IDM0JTtcbiAgICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDAuN2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4JTtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuXG4gICAgLmxhcmdlKHtcbiAgICAgIHdpZHRoOiA0MSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAlO1xuICAgIH0pO1xuXG4gICAgLm1lZGl1bSh7XG4gICAgICB3aWR0aDogNDElO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwJTtcbiAgICB9KTtcblxuICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIGZsb2F0Om5vbmU7XG4gICAgICBtYXJnaW46YXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfSk7XG5cbiAgICB1bCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMHB4IDBweCA1cHggMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAueGxhcmdlKHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9KTtcblxuICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdhbWUtaW5mby1kZXRhaWxzIHtcblxuICAgIC5pdGVtLWxpc3Qge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgJi5sYXN0IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMHB4IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1uYW1lLWZpZWxkLWdhbWUtZGV0YWlscy1sYWJlbCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtbmFtZS1maWVsZC1nYW1lLWRldGFpbHMtY29udGVudCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGV2aWNlLWF2YWlsYWJsZS1jb250YWluZXJ7XG5cbiAgICAmOmV4dGVuZCgucG9zaXRpb25SZWxhdGl2ZSk7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgLy9oZWlnaHQ6IDQ3cHg7XG4gICAgLy9tYXJnaW4tcmlnaHQ6IDI1cHg7XG5cbiAgICAubGFyZ2Uoe1xuICAgICAgd2lkdGg6IH5cImNhbGMoMTAwJSAtIDI0MHB4KVwiO1xuICAgIH0pO1xuICAgIC5tZWRpdW0oe1xuICAgICAgd2lkdGg6IH5cImNhbGMoMTAwJSAtIDI0MHB4KVwiO1xuICAgIH0pO1xuXG4gICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7XG4gICAgICB3aWR0aDo4MCU7XG4gICAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgfSk7XG4gICAgLmRldmljZS1hdmFpbGFibGUge1xuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDQ3cHg7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9nZW5lcmFsL2RldmljZV9kZXNrdG9wLnBuZycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcbiAgICAgIC8vbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgLy8ueGxhcmdlKHtcbiAgICAgIC8vICAvL21hcmdpbi1sZWZ0OiAzMnB4O1xuICAgICAgLy8gIC8vbWFyZ2luLXJpZ2h0OiA5NXB4O1xuICAgICAgLy99KTtcbiAgICAgIC5sYXJnZSh7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfSk7XG5cbiAgICAgIC5tZWRpdW0oe1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB9KTtcblxuICAgICAgLnNtYWxsKHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICB9KTtcblxuICAgICAgcDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIkF2YWlsYWJsZSBvbiBkZXNrdG9wIG9ubHlcIjtcbiAgICAgIH1cblxuICAgICAgLmRlc2t0b3Bfbm90X2F2YWlsYWJsZV9tZXNzYWdlLFxuICAgICAgLm1vYmlsZV9ub3RfYXZhaWxhYmxlX21lc3NhZ2Uge1xuICAgICAgICBjb2xvcjogQHN1cGVyX2JyYXNzO1xuICAgICAgICB3aWR0aDogMjYwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgLmJ1dHRvbi1zdHlsZSgpO1xuICAgICAgICAgIC5wcmltYXJ5LWJ1dHRvbigpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuU21hcnRwaG9uZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9nZW5lcmFsL2RldmljZV9zbWFydHBob25lLnBuZycpO1xuXG4gICAgICAgIHA6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIkF2YWlsYWJsZSBvbiBtb2JpbGUgb25seVwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLkRlc2t0b3AuU21hcnRwaG9uZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9nZW5lcmFsL2RldmljZV9kZXNrdG9wX3NtYXJ0cGhvbmUucG5nJyk7XG5cbiAgICAgICAgcDo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiQXZhaWxhYmxlIG9uIGFsbCBkZXZpY2VzXCI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIC8vZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbjogMTdweCAwcHggMjFweCA2NXB4O1xuICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgLy93aWR0aDogMjE1cHg7XG5cbiAgICAgICAgLm1lZGl1bSh7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmRldmljZS1hdmFpbGFibGUtdGV4dHtcbiAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcbiAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgLlZfZ2FtZS1pbmZvX2RldmljZV90ZXh0KCk7XG5cbiAgICAgIC5zbWFsbCh7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgfSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJBdmFpbGFibGUgb24gZGVza3RvcCBvbmx5XCI7XG4gICAgICB9XG5cbiAgICAgICYuU21hcnRwaG9uZSB7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiQXZhaWxhYmxlIG9uIG1vYmlsZSBvbmx5XCI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5EZXNrdG9wLlNtYXJ0cGhvbmUge1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIkF2YWlsYWJsZSBvbiBhbGwgZGV2aWNlc1wiO1xuICAgICAgICB9XG4gICAgICB9XG5cblxuXG5cblxuXG4gICAgfVxuICB9XG5cblxuICAuZ2FtZV9pbmZvX2NvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDEwcHg7XG5cbiAgICAubGFyZ2Uoe1xuICAgICAgd2lkdGg6YXV0bztcbiAgICB9KVxuXG4gIH1cblxuICAuZ2FtZV9sYXVuY2hfYnV0dG9ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY2xlYXI6IGxlZnQ7XG5cbiAgICAubGFyZ2Uoe1xuICAgIC8vICB3aWR0aDoxMjBweDtcbiAgICAgIC8vbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgfSk7XG5cbiAgICAuc21hbGwoe1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIH0pO1xuXG4gICAgLmhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5nYW1lX2xhdW5jaF9idXR0b25zIC5idXR0b24ge1xuICAgIC5idXR0b24tc3R5bGUoKTtcbiAgICAuaW5saW5lLWJsb2NrKCk7XG4gICAvLyAuVl9zZWNvbmRhcnlfYnV0dG9uKCk7XG4gICAgbWFyZ2luOiAwcHggMTBweCAwcHggMHB4O1xuICAgIC8vd2lkdGg6IDUwcHg7XG5cbiAgICAubGFyZ2Uoe1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIGNsZWFyOmxlZnQ7XG4gICAgICBtYXJnaW46IDEwcHggMHB4IDBweCAwcHg7XG4gICAgICAvL2xlZnQ6IDUwJTtcbiAgICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcbiAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgLy8td2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9KTtcblxuICAgIC5zbWFsbCh7XG4gICAgICBjbGVhcjpub25lO1xuICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICBsZWZ0OjBweDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0IDogMHB4O1xuICAgIH0pO1xuXG4gICAgJi5wbGF5LWZvci1yZWFse1xuICAgLy8gICAuVl9nYW1lLWluZm9fYnRfcGxheV9yZWFsKCk7XG4gICAgIC8vIHdpZHRoOiAxMjBweDtcbiAgICAgIG1hcmdpbi10b3A6MHB4O1xuXG5cbiAgICAgIC5zbWFsbCh7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICB9KTtcbiAgICB9XG4gICAgJi5wbGF5LWZvci1mdW57XG5cbiAgICAgIC5sYXJnZSh7XG4gICAgICAgIG1hcmdpbjogNXB4IDBweCAwcHggMHB4O1xuICAgICAgfSk7XG4gICAgICAuc21hbGwoe1xuICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICBtYXJnaW4tdG9wOjBweDtcbiAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyZbZGF0YS1nYW1lLWxhdW5jaC10eXBlID0gJyddXG4gICAgLy97XG4gICAgLy8gIGZpbHRlcjpncmF5c2NhbGUoNTAlKTtcbiAgICAvLyAgLXdlYmtpdC1maWx0ZXI6Z3JheXNjYWxlKDUxJSk7XG4gICAgLy8gIC1tcy1maWx0ZXI6IGdyYXlzY2FsZSg1MCUpO1xuICAgIC8vICBvcGFjaXR5OiAwO1xuICAgIC8vICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIC8vfVxuICB9XG5cbiAgLmphY2twb3RzLXNsaWRlclxuICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0OSU7XG4gICAgaGVpZ2h0OiAxNDVweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZy10b3A6MTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbToxMHB4O1xuICAgICY6ZXh0ZW5kKC5wb3NpdGlvblJlbGF0aXZlKTtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGNsZWFyOmxlZnQ7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAuVl9nYW1lLWluZm9fYmcoKTtcblxuICAgIC5sYXJnZSh7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9KTtcblxuICAgIHVse1xuICAgICAgdG9wOiAxNXB4O1xuICAgIH1cblxuICAgIC5qYWNrcG90X3NsaWRlcntcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgJjpleHRlbmQoLm92ZXJmbG93SGlkZGVuKTtcbiAgICAgIGhlaWdodDogMTQ1cHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLm9mZi1haXJ7XG4gICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xuICAgIGZsb2F0OmxlZnQ7XG4gICAgY2xlYXI6bGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIC5WX2dhbWUtaW5mb19vZmZfYWlyKCk7XG5cbiAgICAubGFyZ2Uoe1xuICAgICAgJjpleHRlbmQoLnBvc2l0aW9uUmVsYXRpdmUpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9KTtcblxuICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9KTtcbiAgfVxuXG4gIC5vbi1haXI6ZXh0ZW5kKC5wYWdlLWdhbWUtaW5mbyAub2ZmLWFpciBhbGwpIHtcbiAgICAuVl9nYW1lLWluZm9fb25fYWlyKCk7XG4gIH1cblxuICAud2lubmVycy1zY3JvbGxlci0zLFxuICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIHdpZHRoOiA0OSU7XG4gICAgaGVpZ2h0OiAxNDVweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgLlZfd2lubmVyc19iZ193aW5uZXJzKCk7XG4gICAgcGFkZGluZy10b3A6MTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbToxMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAubGFyZ2Uoe1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfSk7XG5cbiAgfVxuXG4gIC53aW5uZXJzLXNjcm9sbGVyLTMgLnNjcm9sbGVyX2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA3OHB4O1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuXG4vLyBTaG93IGFuZCBoaWRlIG1lc3NhZ2VzIGJhc2VkIG9uIGRldmljZVxuYm9keS5kZXNrdG9wIHtcbiAgLkRlc2t0b3AgLmRlc2t0b3Bfbm90X2F2YWlsYWJsZV9tZXNzYWdlLFxuICAubW9iaWxlX25vdF9hdmFpbGFibGVfbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuYm9keS5tb2JpbGUge1xuICAuU21hcnRwaG9uZSAubW9iaWxlX25vdF9hdmFpbGFibGVfbWVzc2FnZSxcbiAgLmRlc2t0b3Bfbm90X2F2YWlsYWJsZV9tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEZpeCBmb3IgR2FtZSBJbmZvIFBhZ2UgKHJlbW92ZXMgYnV0dG9ucyB3aGVuIG1haW50ZW5hbmNlIG1vZGUgaXMgZW5hYmxlZClcbi5kaXNhYmxlLXBsYXl0ZWNoLWdhbWVzIC5idXR0b25bZGF0YS1nYW1lLXR5cGU9XCJwbGF5dGVjaC1nYW1lc1wiXSwuZGlzYWJsZS1uZXRwbGF5LWdhbWVzIC5idXR0b25bZGF0YS1nYW1lLXR5cGU9XCJuZXRwbGF5LWdhbWVzXCJdIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufSIsIi8vXHJcbi8vIGZlYXR1cmVzLmxlc3NcclxuLy8gVmVybm9ucyBCaW5nbyBUaGVtZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBBdXRob3I6ICBKZXJvbWUgRCBOZWxzb24gJiBEaXAgU2hhcm1hXHJcbi8vIENvbnRyaWJ1dG9yczogIC1cclxuLy8gRGVzY3JpcHRpb246ICBGZWF0dXJlIHN0eWxpbmcgZm9yIEJpbmdvIFZlcm5vbnNcclxuLy8gQ29weXJpZ2h0IDIwMTUgTmV0cGxheVRWIHBsYy5cclxuLy9cclxuXHJcblxyXG4vLyBIZWFkZXIgQ1NTICgucmVnaW9uLWhlYWRlcilcclxuLnJlZ2lvbi1oZWFkZXIge1xyXG5cclxuICAvL1Jlc2V0c1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDExMHB4O1xyXG5cclxuICAvL0hlYWRlciBtZW51IHBvc2l0aW9uaW5nIGZpeCAtb3ZlcnJpZGVzIEZMRVhcclxuICAvL1RPRE86IFJlbW92ZSB0aGlzIGlzc3VlXHJcbiAgYm9keS50YWJsZXQgJiB7XHJcbiAgICAudGFibGV0LXh4bGFyZ2Uoe1xyXG4gICAgICBoZWlnaHQ6IDY1cHg7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC54bGFyZ2UoeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgd2lkdGg6IDEwMCU7IC5WX2hlYWRlcnNfYmc7IH0pO1xyXG4gIC5tZWRpdW0oeyBoZWlnaHQ6IDUwcHg7IH0pO1xyXG4gIC5zbWFsbCh7IGhlaWdodDogNTBweDsgfSk7XHJcblxyXG4gIC5zaXRlLWxvZ28ge1xyXG4gICAgLnNtYWxsKHtcclxuICAgICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgICBpbWcgeyAgbWFyZ2luLWxlZnQ6IDMwcHg7ICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC50YWJsZXQgJiwgLnNtYXJ0cGhvbmUgJiB7ICAudGFibGV0LXh4bGFyZ2UoeyBoZWlnaHQ6IDY1cHg7IHRvcDogMDsgd2lkdGg6IDEwMCU7fSk7ICB9XHJcbiAgLnRhYmxldCAmIHsgIC50YWJsZXQteHhsYXJnZSh7IC5WX2hlYWRlcnNfYmc7IC5WX2hlYWRlcnNfYm9yZGVyOyB9KTsgIH1cclxuXHJcbiAgLy8gU3BlY2lmaWMgUGFnZXNcclxuICAucGFnZS1yZWdpc3RlciAmIHsgIC54bGFyZ2UoeyB6LWluZGV4OiA1OyB9KTsgIH1cclxuICAucGFnZS1yZXNldC1wYXNzd29yZCAmLCAucGFnZS1jaGFuZ2UtcGFzc3dvcmQgJiwgLnBhZ2UtcmVnaXN0ZXIgJiwgLnBhZ2UtZm9yZ290dGVuLWRldGFpbHMgJiwgLnBhZ2UtcmVnaXN0ZXItdmFyaWF0aW9uMSAmIHtcclxuXHJcbiAgICBoZWlnaHQ6IDExMHB4O1xyXG4gICAgLnJlc3BvbnNpdmUtaGVhZGVyLWJ1dHRvbnMgLmFjY291bnQtYnV0dG9ueyAgLmRpc3BsYXkobm8pOyAgfVxyXG4gICAgLnNpdGUtbG9nbyBpbWd7ICAuc21hbGwoeyBtYXJnaW4tbGVmdDogMDsgfSk7ICB9XHJcblxyXG4gIH1cclxuICAucGFnZS1yZXNldC1wYXNzd29yZCAmLCAucGFnZS1jaGFuZ2UtcGFzc3dvcmQgJiwgLnBhZ2UtcmVnaXN0ZXIgJiwgLnBhZ2UtZm9yZ290dGVuLWRldGFpbHMgJiwgLnBhZ2UtcmVnaXN0ZXItdmFyaWF0aW9uMSAmLCAmIHtcclxuICAgIC54bGFyZ2UoeyBoZWlnaHQ6IDUwcHg7IH0pO1xyXG4gIH1cclxufVxyXG5cclxuLy9DbGFzcyB1c2VkIG9uIGRlc2t0b3AgdG8gZ2l2ZSBiYWNrZ3JvdW5kIHRvIDEwMCUgd2lkdGggaGVhZGVyXHJcbi5oZWFkZXItYmcge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy9OZWVkZWQgdG8gb3ZlcnJpZGUgYmcgcG9zaXRpb246IGZpeGVkXHJcbiAgLlZfaGVhZGVyc19iZygpO1xyXG4gIC5WX2hlYWRlcnNfYm9yZGVyKCk7XHJcbiAgLy8gVXNlZCB0byBwcmV2ZW50IEhlYWRlciBmcm9tIGhpZGluZyBiZWhpbmQgdGhlIHJlc3Qgb2Ygd2Vic2l0ZVxyXG4gIHotaW5kZXg6IDQwMDA7XHJcbn1cclxuXHJcbi8vVGFibGV0L01vYmlsZSBNZW51XHJcbi5yZXNwb25zaXZlLWhlYWRlci1idXR0b25zIHtcclxuICAubGFyZ2UoeyB3aWR0aDogYXV0bzsgfSk7XHJcblxyXG4gIC5hY2NvdW50LWJ1dHRvbiB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIC5WX2hlYWRlcnNfYnRfc2lnbl9pbjtcclxuXHJcbiAgICAudGFibGV0ICYsIC5zbWFydHBob25lICZ7XHJcbiAgICAgIC50YWJsZXQteHhsYXJnZSh7IHBhZGRpbmc6IDZweCAxMnB4OyB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvL0FjdHVhbCB3aWR0aCB1c2VkIGlzIDk3cHhcclxuICAgIC54bGFyZ2UoeyBwYWRkaW5nOiA1cHggNnB4OyBmb250LXNpemU6IDEzcHg7IG1heC13aWR0aDogMTAwcHg7IH0pO1xyXG4gICAgLnNtYWxsKHsgbWFyZ2luLXRvcDogOHB4OyBtYXJnaW4tbGVmdDogOHB4OyBwYWRkaW5nOiA1cHggNnB4OyB9KTtcclxuICB9XHJcbn1cclxuXHJcbi5iYWNrLWJ1dHRvbiB7XHJcbiAgYSB7XHJcbiAgICAvL1Jlc2V0XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGkge1xyXG4gICAgICAudGFibGV0ICYgLC5zbWFydHBob25lJntcclxuICAgICAgICAudGFibGV0LXh4bGFyZ2UoeyBmb250LXNpemU6IDMwcHg7IH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgIC54bGFyZ2UoeyBmb250LXNpemU6IDMwcHg7IHBhZGRpbmc6IDZweCAxMnB4OyB9KTtcclxuICAgICAgLnNtYWxsZXItdGhhbi1pcGhvbmU2KHsgZm9udC1zaXplOiAzNnB4OyBwYWRkaW5nOiA2cHggMTJweDsgfSk7XHJcbiAgICAgIC5tZWRpdW0oeyBmb250LXNpemU6IDMwcHg7ICAgICBwYWRkaW5nOiA2cHggMTJweDt9KTtcclxuICAgICAgLnNtYWxsKHsgZm9udC1zaXplOiAzMHB4OyAgICAgcGFkZGluZzogOXB4IDEycHg7fSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5yZXNwb25zaXZlLW1lbnUtYnV0dG9uIHtcclxuICBhLmhlYWRlci1idXR0b24ubWVudS1zd2lwZS5vcGVuIHtcclxuICAgIC5WX2hlYWRlcnNfcmVzcG9uc2l2ZV9tZW51c3dpcGVfb3BlbjtcclxuICB9XHJcbiAgLmljb24tbWVudSB7XHJcbiAgICAvL1BhZGRpbmctdG9wK3BhZGRpbmctYm90dG9tICsgZm9udC1zaXplIHNob3VsZCBlcXVhbCB0b3RhbCBtZW51IGhlaWdodFxyXG4gICAgLnRhYmxldC14eGxhcmdlKHsgZm9udC1zaXplOiA0NXB4OyAgcGFkZGluZzogMTBweDsgfSk7XHJcbiAgICAubGFyZ2UoeyBmb250LXNpemU6IDI4cHg7IH0pO1xyXG4gICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7IGZvbnQtc2l6ZTogMjVweDsgfSk7XHJcbiAgICAuc21hbGwoeyBwYWRkaW5nOiA3cHggOHB4OyAgfSk7XHJcblxyXG4gICAgLy9TYW1zdW5nIEZpeFxyXG4gICAgYm9keS50YWJsZXQgJiB7XHJcbiAgICAgIC50YWJsZXQteHhsYXJnZSh7IHBhZGRpbmc6IDlweCAxMHB4OyB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgLmhlYWRlci1idXR0b24ge1xyXG4gICAgLy9TYW1zdW5nIEZpeFxyXG4gICAgYm9keS50YWJsZXQgJiB7XHJcbiAgICAgIC50YWJsZXQteHhsYXJnZSh7IHBhZGRpbmc6IDA7IH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vL0ljb24gW2ZvbnQgaWNvbiBpcyBhY3R1YWxseSBzZXQgYXQgdG9wIG9mIGRvY3VtZW50XVxyXG4vL1RPRE86IFJlbW92ZSByZWR1bmRhbmNpZXMgKGlmIGFueSlcclxuLnJlc3BvbnNpdmUtbWVudS1idXR0b24ge1xyXG4gIGEge1xyXG4gICAgLm1lZGl1bSh7IHBhZGRpbmc6IDRweCAwOyB9KTtcclxuICAgIC5sYW5kc2NhcGUoeyBwYWRkaW5nOiA4cHggMTBweDsgfSk7XHJcbiAgICAubGFyZ2UtbWluLXdpZHRoKHsgcGFkZGluZzogOXB4IDEwcHg7IH0pO1xyXG4gICAgLmxhcmdlKHsgcGFkZGluZzogOXB4IDRweDsgfSk7XHJcbiAgfVxyXG5cclxuICAvL0ljb24gaXMgc2V0IGJlbG93LiBGb3JtYXR0aW5nIGhlcmUgb25seVxyXG4gIC5pY29uLW1lbnUge1xyXG4gICAgLnhsYXJnZSh7IGZvbnQtc2l6ZTogMjVweDsgcGFkZGluZzogNHB4IDZweDsgfSk7XHJcbiAgIC8vIC5tZWRpdW0oeyBmb250LXNpemU6IDIwcHg7IH0pO1xyXG4gICAgLnNtYWxsKHsgZm9udC1zaXplOiAyOHB4OyB9KTtcclxuICB9XHJcbn1cclxuXHJcbi5yZWdpb24tcmVzcG9uc2l2ZS1sYXRlcmFsLW1lbnUge1xyXG4gIC54bGFyZ2UoeyB3aWR0aDogMzIwcHg7IH0pO1xyXG5cclxuICA+IHVsLm1lbnUge1xyXG4gICAgbGkuZXhwYW5kZWQgLm1lbnUgbGkgYSB7ICAuVl9oZWFkZXJzX2Ryb3Bkb3duX2JnX2FsdDsgIH1cclxuICB9XHJcblxyXG4gIC5yZXNwb25zaXZlLWFjY291bnRzLWxhdGVyYWwtbWVudSB7XHJcblxyXG4gICAgLy9SZXNldHMgKHVzZWQgdG8gZXhwYW5kIFJlZ2lzdGVyIEJ1dHRvbiB0byBmdWxsIHdpZHRoIG9mIHBhcmVudCAtIGV4Y2x1ZGluZyBwYWRkaW5nKVxyXG4gICAgLnJlZ2lzdGVyLWJ1dHRvbiB7XHJcbiAgICAgIC5wcm94aW1hLWZvbnQoKTtcclxuXHJcbiAgICAgIC50YWJsZXQteHhsYXJnZSh7XHJcbiAgICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucmVzcG9uc2l2ZS1hY2NvdW50cy1sYXRlcmFsLW1lbnUge1xyXG4gICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XHJcbiAgfVxyXG4gIC5tZW51LXJlc3BvbnNpdmUtZmxleC1tZW51LCAubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudS1hdXRoZW4sLm1lbnUtcmVzcG9uc2l2ZS1mbGV4LW1lbnUgLmpzLXN1Ym1lbnUtZ2V0dGluZywubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudS1hdXRoZW4gdWwgLmpzLXN1Ym1lbnUtbGluaywubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudS1hdXRoZW4gdWwgLmpzLXN1Ym1lbnUtZ2V0dGluZyB7XHJcbiAgICAuVl9oZWFkZXJzX2Ryb3Bkb3duX2JnO1xyXG5cclxuICAgIHVsIHVsIHtcclxuICAgICAgLlZfaGVhZGVyc19kcm9wZG93bl9iZ19hbHQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5yZXNwb25zaXZlLWhlYWRlci1idXR0b25zIHtcclxuICAgIC5sYXJnZSh7IHdpZHRoOiBhdXRvOyB9KTtcclxuXHJcbiAgICAuYWNjb3VudC1idXR0b24ge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgLlZfaGVhZGVyc19idF9zaWduX2luO1xyXG5cclxuICAgICAgLnRhYmxldCAmLCAuc21hcnRwaG9uZSAme1xyXG4gICAgICAgIC50YWJsZXQteHhsYXJnZSh7IGZvbnQtc2l6ZTogMjBweDsgcGFkZGluZzogNnB4IDEycHg7IH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL0FjdHVhbCB3aWR0aCB1c2VkIGlzIDk3cHhcclxuICAgICAgLnhsYXJnZSh7IHBhZGRpbmc6IDVweCA2cHg7IGZvbnQtc2l6ZTogMTNweDsgbWF4LXdpZHRoOiAxMDBweDsgfSk7XHJcbiAgICAgIC5zbWFsbCh7IG1hcmdpbi10b3A6IDhweDsgbWFyZ2luLWxlZnQ6IDhweDsgcGFkZGluZzogNXB4IDZweDsgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudSAuanMtc3VibWVudS1nZXR0aW5nOmhvdmVyOjphZnRlciwgdWwgbGkgYTpob3ZlcjphZnRlciwubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudS1hdXRoZW4gdWwgLmpzLXN1Ym1lbnUtbGluazpob3ZlcjphZnRlciwgLm1lbnUtcmVzcG9uc2l2ZS1mbGV4LW1lbnUtYXV0aGVuIHVsIC5qcy1zdWJtZW51LWxpbms6aG92ZXI6YWZ0ZXIge1xyXG4gICAgLy9SRVNFVCAtIFJlbW92ZXMgdGhlIGFycm93IHJvdGF0ZSBvbiBob3ZlciBpbiBtb2JpbGUgbWVudVxyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZSgwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlKDApO1xyXG4gIH1cclxuICAubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudSBsaSwgLm1lbnUtcmVzcG9uc2l2ZS1mbGV4LW1lbnUtYXV0aGVuIGxpIHtcclxuXHJcbiAgICAvL1VzZSB0aGlzIHNlbGVjdG9yIHNvIGxpIGFuZCBhbmNob3IgdGFrZSB1cCAxMDAlIG9mIG1lbnVcclxuICAgIC8vIChubyBnYXBzIG9uIGFuY2hvciB1c2UpXHJcbiAgICBhLCB1bCBsaSBhIHtcclxuICAgICAgLnRhYmxldC14eGxhcmdlKHsgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgZm9udC1zaXplOiAyMHB4OyB9KTtcclxuICAgIH1cclxuICAgICYuZXhwYW5kZWQgKyBsaSB7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6OmJlZm9yZSwmLmV4cGFuZGVkOjphZnRlciB7XHJcbiAgICAgIC8vLlZfaGVhZGVyX3Jlc3BvbnNpdmVfbWVudV9saW5rX3VuZGVybGluZTtcclxuICAgICAgLy9NYXJnaW4tTGVmdC9SaWdodCBiZWxvdzogVGV4dC1JbmRlbnQgb24gYW5jaG9yIHRvcCBsZXZlbCBpcyB0aGlzICsgMXB4XHJcbiAgICAgIC50YWJsZXQteHhsYXJnZSh7IGNvbnRlbnQ6IFwiIFwiOyAuZGlzcGxheSgpOyBtYXJnaW46IDAgMTVweDsgd2lkdGg6IGF1dG87IGhlaWdodDogMXB4OyAuVl9oZWFkZXJfcmVzcG9uc2l2ZV9tZW51X2xpbmtfY29sb3I7IH0pO1xyXG4gICAgfVxyXG5cclxuICAgICYuZmlyc3Q6OmJlZm9yZSB7XHJcbiAgICAgIC50YWJsZXQteHhsYXJnZSh7IGRpc3BsYXk6IG5vbmU7fSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYSwgPiAuanMtc3VibWVudS1nZXR0aW5nLCA+IC5qcy1zdWJtZW51LWxpbmsge1xyXG4gICAgYSB7XHJcblxyXG4gICAgICAudGFibGV0LXh4bGFyZ2Uoe1xyXG4gICAgICAgIC8vVE9ETzogVGVzdCBlZmZlY3Qgb24gdGFibGV0IGFuZCBtb2JpbGVcclxuXHJcbiAgICAgICAgLy8vIFJlc2V0cyAodXNlZCB0byBhbGxvdyBsaSB0byB0YWtlIGNvbG91cilcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLy9PdmVycmlkZXMgYmFja2dyb3VuZCBhdHRyXHJcbiAgICAgICAgYm9yZGVyOiBub25lOy8vVXNlZCB0byBvdmVycmlkZSB0aGUgdHJhbnNwYXJlbnQgYm9yZGVyXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgPiBhIHtcclxuICAgICAgLnRhYmxldC14eGxhcmdlKHsgdGV4dC1pbmRlbnQ6IDE2cHg7IH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vVE9ETyAtIHVzZSB0YWItbG9vcCBtaXhpblxyXG4ucmVnaW9uLXJlc3BvbnNpdmUtbGF0ZXJhbC1tZW51IC5tZW51LXJlc3BvbnNpdmUtZmxleC1tZW51IC5qcy1zdWJtZW51LWdldHRpbmc6YWZ0ZXIge1xyXG4gIC1tcy10cmFuc2Zvcm06IG5vbmU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgdHJhbnNmb3JtOiBub25lO1xyXG59XHJcbi8vRW5kIG9mIEhlYWRlciAoLnJlZ2lvbi1oZWFkZXIpIENTU1xyXG5cclxuXHJcbi8vIE1lbnUgQmFzZSBDU1MgKEJpbmdvIE5hdi4sIENhdGVnb3J5IERyb3Bkb3ducylcclxuLm1lbnUtdmVydGljYWxzIHtcclxuICAudGFibGV0ICYsIC5zbWFydHBob25lICYge1xyXG4gICAgLy9SZXNldHNcclxuICAgIC50YWJsZXQteHhsYXJnZSh7IHBvc2l0aW9uOiBzdGF0aWM7IH0pO1xyXG4gIH1cclxuICAvL1NwZWNpZmljIGZpeCB0byBhcHBseSB0byBCaW5nbyBWZXJ0aWNhbFxyXG4gIC8vVE9ETzogRml4IG1lbnUgaXNzdWUgbWFraW5nIG1lbnUgbGlrZSB0aGlzIChpbiBGTEVYKVxyXG4gIGJvZHkudGFibGV0ICYge1xyXG4gICAgLnRhYmxldC14eGxhcmdlKHsgdG9wOiA1MnB4OyB9KTtcclxuICB9XHJcbiAgLm1lbnUge1xyXG4gICAgbGkucHJvbW90aW9ucyB7XHJcbiAgICAgICY6aG92ZXIsJi5zZWxlY3RlZCB7XHJcbiAgICAgICAgLlZfaGVhZGVyX3N1Ym1lbnVfYV9ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ubWVudS12ZXJ0aWNhbHMsLm1lbnUtaXRlbXMge1xyXG5cclxuICAvLyBSZXNldHNcclxuICBwb3NpdGlvbjogc3RhdGljOyAvL092ZXJyaWRlcyBGTEVYIGFic29sdXRlIHBvc2l0aW9uaW5nXHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAucHJveGltYS1mb250KCk7XHJcblxyXG4gICYucG9zLWZpcnN0IHtcclxuICAgIHotaW5kZXg6IDEwMDsgLy9Qb3NpdGlvbnMgbWVudSBvdmVyIGNvbnRlbnQgYW5kIGJhbm5lclxyXG4gIH1cclxuXHJcbiAgPiB1bC5tZW51LCB1bC5tZW51IHtcclxuICAgID4gbGk6bm90KC5zZWFyY2hfYm94KSB7XHJcblxyXG4gICAgICAvL1Jlc2V0c1xyXG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHJcbiAgICAgICYsID4gYSB7XHJcblxyXG4gICAgICAgIC8vUmVzZXRzXHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vTWluaSBCb3JkZXIgKFJpZ2h0KVxyXG4gICAgICA+IGEsICY6OmFmdGVyICB7XHJcblxyXG4gICAgICAgIC8vVE9ETzogUHV0IGZsX2xlZnQgaW50byBtaXhpblxyXG4gICAgICAgIC5mbF9sZWZ0O1xyXG4gICAgICB9XHJcbiAgICAgID4gYSB7XHJcblxyXG4gICAgICAgIC8vUmVzZXRzXHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweCAxOXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuXHJcbiAgICAgICAgLy9TdG9wcyB0YWJzIGZyb20gcHVzaGluZyBiZWxvdyBmb2xkXHJcbiAgICAgICAgLmNhc2hpZXItbGFyZ2UoeyBmb250LXNpemU6IDEzcHg7IH0pO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgLy9TdWJtZW51XHJcbiAgICAgICYsICYgPiBsaSAubWVudSB7XHJcblxyXG4gICAgICAgIC8vUmVzZXRzXHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vTWVudSBJdGVtc1xyXG4ubWVudS1pdGVtcyB7XHJcbiAgLlZfaGVhZGVyc19jYXRlZ29yeV9iZztcclxuXHJcbiAgPnVsLm1lbnUsdWwubWVudSB7XHJcblxyXG4gICAgLy9UT0RPOiBCcm9hZGVuIHNlbGVjdG9yIHdoaWxzdCBzdGlsbCBvdmVycmlkaW5nIEZMRVhcclxuICAgIGxpLD5saSxsaStsaSxsaSB7XHJcbiAgICAgIGEsICYge1xyXG4gICAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwubWVudSB7XHJcbiAgICAvL1Jlc2V0cyAtIFJlZ3VsYXIgbWVudSBoYXMgbWFyZ2lucy9wYWRkaW5nXHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgICBsaSBhLmRpc2FibGVkIHtcclxuICAgICAgLy9QdXQgaW50byBtaXhpblxyXG4gICAgICBiYWNrZ3JvdW5kOiAjYjZhZmI2O1xyXG4gICAgICBjb2xvcjogI2RjZGNkZTtcclxuICAgIH1cclxuXHJcbiAgICAvL1Jlc2V0XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICA+IGxpOm5vdCguc2VhcmNoX2JveCkge1xyXG4gICAgICBhIHtcclxuICAgICAgICAuVl9oZWFkZXJzX2NhdGVnb3J5X2FfY29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgPiAgYTpob3Zlciw+YTpmb2N1cyB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgID4gIGE6aG92ZXIsPmEuYWN0aXZlLCAmLnNlbGVjdGVkIGEge1xyXG4gICAgICAgIC5WX2hlYWRlcnNfY2F0ZWdvcnlfYV9ob3ZlcjtcclxuICAgICAgICAubGFyZ2Uoe1xyXG4gICAgICAgICAgLlYtaGVhZGVyc19jYXRlZ29yeV9tb2JpbGVfYV9hY3RpdmU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vT3duIFJlc2V0IC0gcmVtb3ZlcyB0aGUgcHNldWRvc1xyXG4gICAgICAmOmJlZm9yZSwmOmFmdGVyLCY6aG92ZXI6YWZ0ZXIsICY6YmVmb3JlOmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubGFyZ2Uoe1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgYTo6YWZ0ZXIge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJywgc2FuIHNlcmlmO1xyXG4gICAgICAgICAgY29udGVudDogJ1xcZTYwOCc7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbiBhbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcblxyXG4gICAgfVxyXG4gICAgPmxpLGxpIHtcclxuICAgICAgLmRpc3BsYXkoaW5saW5lLWJsb2NrKTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgLy9CZWNhdXNlIGlubGluZS1ibG9jaywgd2hpdGUtc3BhY2UgaXMgYWRkZWQgYmV0d2VlbiBwYXJlbnQsIGNoaWxkXHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xyXG4gICAgICAucHJvbW90aW9ucy12ZXJ0aWNhbCAmIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTJweDtcclxuICAgICAgICAubGFyZ2Uoe1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgICYuZXhwYW5kZWQge1xyXG4gICAgICAmID4gbGk6Zmlyc3QtY2hpbGQgYTo6YWZ0ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICAmLmxvbmctdGFicyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLnNlYXJjaF9ib3gge1xyXG4gICAgICAuZGlzcGxheShubyk7XHJcblxyXG4gICAgICBib2R5LnZuLWJpbmdvLnBhZ2UtZ2FtZXMgJiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGFyZ2Uoe1xyXG4gICAgICAuVl9oZWFkZXJzX2Ryb3Bkb3duX2JnX2FsdDtcclxuICAgIH0pO1xyXG4gICAgLnhsYXJnZSh7XHJcbiAgICAgIC8vZGlzcGxheTogdGFibGU7XHJcbiAgICAgIC8vIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICAgIHVsLm1lbnUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxZW0gMmVtOyAvL1VzZXMgbGkgZm9udC1zaXplICgxZW0gPSAxN3B4KVxyXG5cclxuXHJcbiAgICAgICAgICAgIC8vTUJTLTE4NjggU2VhcmNoIEljb24gTWlzc2luZyBvbiBHYW1lIFBhZ2UgZml4XHJcbiAgICAgICAgICAgIC8vIFJlbW92ZXMgZXh0cmEgcGFkZGluZ1xyXG4gICAgICAgICAgICAmLm9wZW5fc2VhcmNoIHtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVlbTtcclxuICAgICAgICAgICAgICByaWdodDogMSU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdWwubWVudXtcclxuICAgICAgICAvLyAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgLy8gICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC55bGFyZ2Uoe1xyXG4gICAgICB1bC5tZW51IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMWVtIDFlbTsgLy9Vc2VzIGxpIGZvbnQtc2l6ZSAoMWVtID0gMTdweClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLmxhcmdlKHtcclxuXHJcbiAgICAgIHVsLm1lbnUgbGksdWwubWVudSB7XHJcbiAgICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgfVxyXG4gICAgICA+IHVsLm1lbnUgPiBsaSwgdWwubWVudSBsaSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL01vYmlsZSwgVGFibGV0IFZlcnNpb25cclxuICAubGFyZ2Uoe1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICB1bC5tZW51LCB1bC5tZW51IGxpLCB1bC5tZW51IGxpIGEge1xyXG4gICAgICAuZGlzcGxheSgpO1xyXG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgdWwubWVudS5nYW1lc19tZW51IHtcclxuICAgICAgLy9SZXNldFxyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgPiB1bC5tZW51LCB1bC5tZW51LmdhbWVzX21lbnUge1xyXG4gICAgICBsaSB7XHJcblxyXG4gICAgICAgIC8vUmVzZXRcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ly9Vc2VkIHRvIGFsbG93IG1lbnUgdG8gY2VudGVyXHJcbiAgICAgICAgICAuVi1oZWFkZXJzX2NhdGVnb3J5X21vYmlsZV9hO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5zZWxlY3RlZCBhLGE6aG92ZXIge1xyXG4gICAgICAgICAgLlZfaGVhZGVyc19jYXRlZ29yeV9iZztcclxuICAgICAgICAgIC5WX2hlYWRlcnNfY2F0ZWdvcnlfYV9jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8vUmVtb3ZlIFNlYXJjaCBCb3ggc3R5bGUgaXNzdWUgb24gQmluZ28gUGFnZVxyXG4gIC52bi1iaW5nbyAmLmxvbmctdGFicyAuc2VhcmNoX2JveCB7XHJcbiAgICAubGFyZ2UoeyAuZGlzcGxheShubyk7IH0pO1xyXG4gIH1cclxuICAuanMgJi5sb25nLXRhYnMgdWwubWVudSBsaSB7XHJcbiAgICAubGFyZ2Uoe1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IC05OTk5OTlweDtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuLy9NZW51IFZlcnRpY2FsIEJBU0Ugc3R5bGVzXHJcbi8vVE9ETzogTWVyZ2UgYmFzZSBzdHlsZXMgd2l0aCBvdmVycmlkZXMgKHNpbWlsYXIgZmFzaGlvbiB0byBDb250ZW50IEhlYWRlcilcclxuLm1lbnUtdmVydGljYWxzIHtcclxuXHJcbiAgLy9PdmVycmlkZXMgIEZMRVgvbWVudS5sZXNzICAubWVudS12ZXJ0aWNhbHMgLm1lbnUgbGk6bm90KDpmaXJzdC1jaGlsZClcclxuICAubWVudSBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gIGJvZHkuc21hcnRwaG9uZSAmLCBib2R5LnRhYmxldCAmIHtcclxuICAgIC5tZW51IGxpIHtcclxuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgLy9DYW5ub3QgdW5kbyBhcyBWZWdhcyBSZW1vdmFsIFN1Ym1lbnUgaW4gbWVudS5sZXNzIGlzIHNldCB0byAyNSUgIWltcG9ydGFudFxyXG4gICAgICAmLmV4cGFuZGVkIHVsLm1lbnUge1xyXG4gICAgICAgIC5kaXNwbGF5KG5vKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9FbmQgU3BlY2lmaWNhbGx5IGZvciBTYW1zdW5nIEdhbGF4eSBOb3RlIFRhYmxldCAob24gRGlwJ3MgRGVzaykuIE15IEN1cnJlbnQgQ1NTIGlzbid0IG92ZXJyaWRpbmcgaXQuXHJcbiAgJiB7XHJcbiAgICAubGFyZ2UoeyAuZGlzcGxheShubyk7IH0pO1xyXG4gICAgLlZfaGVhZGVyc19zdWJtZW51X3ZlcnRpY2FsO1xyXG5cclxuICAgID4gdWwubWVudSx1bC5tZW51IHtcclxuICAgICAgPiBsaSwgPiBsaSArIGxpIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgcGFkZGluZzogMTRweCAyMHB4IDE0cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRmlyc3QgTGV2ZWxcclxuICAgID4gdWwubWVudSB7XHJcblxyXG4gICAgICAvL1Jlc2V0c1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgLlZfaGVhZGVyc19zdWJtZW51X2JvcmRlcjtcclxuICAgICAgLlZfaGVhZGVyc19zZXBhcmF0aW9uX2xpbmVfY2FzaW5vO1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIC8vQWRkcyBiYWNrZ3JvdW5kIGNvbG9yIHRvIGFjdGl2ZSB0YWIgd2hlbiBub3QgaG92ZXJpbmdcclxuICAgICAgICAmLmFjdGl2ZS10cmFpbCB7XHJcbiAgICAgICAgICAmLCA+IGEge1xyXG4gICAgICAgICAgICAuVl9oZWFkZXJfc3VibWVudV9hX2hvdmVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgPiBsaSB7XHJcblxyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyAgLy9Vc2VkIHRvIG92ZXJsYXAgdGhlIGJvcmRlciBvbiBwcmV2IGVsZW1lbnRcclxuICAgICAgICA+IGEuYWN0aXZlIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTFweDsgLy9TYW1lIGFzIDxsaT4gZXhjZXB0IG9wcG9zaXRlIGRpcmVjdGlvblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy9NaW5pIGJvcmRlciBTdHlsaW5nXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcclxuICAgICAgICAgIC5WX2hlYWRlcnNfc3VibWVudV9hX21pbmktYm9yZGVyO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC8vU3VibWVudVxyXG4gICAgICAgICYuZXhwYW5kZWQge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICY6aG92ZXIgPiB1bC5tZW51IHtcclxuICAgICAgICAgICAgLnhsYXJnZSh7IGRpc3BsYXk6IG5vbmU7IH0pO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgLy9yZWFjdCBpbW1lZGlhdGVseSBvbiBob3ZlclxyXG4gICAgICAgICAgICAuVl9oZWFkZXJfc3VibWVudV9zaGFkb3c7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vRW5kIG9mID4gbGlcclxuXHJcbiAgICAgIC8vU3VibWVudVxyXG4gICAgICAmLCAmID4gbGkgLm1lbnUge1xyXG4gICAgICAgIC8vUmVzZXRzXHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gbGkuZXhwYW5kZWQge1xyXG5cclxuICAgICAgICAvL1N1Ym1lbnUgRHJvcGRvd25cclxuICAgICAgICA+IHVsLm1lbnUge1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgd2lkdGg6IDE4NXB4OyAvL21ha2UgY29udGFpbmVyIDYwcHggYmlnZ2VyIHRoYW4gY29udGVudCAoMzArMzApIChVSSBvdmVyZmxvdyB0ZWNoKVxyXG4gICAgICAgICAgbGVmdDogMDsgLy9TZXQgdG8gdGhpcyBiZWNhdXNlIG9mIDMwcHggLSBwb3NpdGlvbiBpcyByZXNldCB0byBjb3JyZWN0IGFsaWdubWVudFxyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgdG9wOiA0NHB4OyAvL1NhbWUgaGVpZ2h0IGFzIGxpIHRhYiAoLW1pbnVzIDFweCBvZiBib3JkZXIgLSB0aGVyZSBpcyBib3JkZXIgb2YgcGFyZW50IG1lbnUgaS5lIDQ1KzFweCA9IDQ2IHNvIDQ2cHggLSAycHggYm9yZGVyLXRvcCA9IDQ0cHgpXHJcbiAgICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICAgICAuVl9oZWFkZXJfc3VibWVudV9iZztcclxuXHJcbiAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIC8vUmVzZXRzXHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICAgLy9BZGQgYmFja2dyb3VuZCBjb2xvciB0byBhY3RpdmUgdGFiXHJcbiAgICAgICAgICAgICYuYWN0aXZlLXRyYWlsIHtcclxuICAgICAgICAgICAgICAmLCA+IGEge1xyXG4gICAgICAgICAgICAgICAgLlZfaGVhZGVyX3N1Ym1lbnVfYV9ob3ZlcjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgLmRpc3BsYXkobm8pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgID4gbGkge1xyXG5cclxuICAgICAgICAgICAgLy9SZXNldHNcclxuICAgICAgICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxODVweDsgLy9UcnVlIHdpZHRoIG9mIG1lbnUgKGV4dCAxMHB4IGlzIHNldCBvbiBwYXJlbnQpXHJcblxyXG4gICAgICAgICAgICAmLmV4cGFuZGVkIHVsLm1lbnUge1xyXG4gICAgICAgICAgICAgIC5WX2hlYWRlcnNfZHJvcGRvd25fYmdfYWx0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmZpcnN0IHtcclxuICAgICAgICAgICAgICAuVl9oZWFkZXJfc3VibWVudV9saV9maXJzdF9ib3JkZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubGFzdCB7XHJcbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBoYW5kO1xyXG4gICAgICAgICAgICAgICAgLlZfaGVhZGVyX3N1Ym1lbnVfYmc7XHJcbiAgICAgICAgICAgICAgICAuZGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgICAgIC8vUmVzZXRzXHJcbiAgICAgICAgICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICAgIHRleHQtaW5kZW50OiAyMHB4O1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgICAgICAgICAgIHRleHQtc2hhZG93OiAgMCAwIDAgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgIC5WX2hlYWRlcl9zdWJtZW51X2JnX2E7XHJcbiAgICAgICAgICAgICAgLlZfaGVhZGVyX3N1Ym1lbnVfYV9jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuVl9oZWFkZXJfc3VibWVudV9hX2hvdmVyO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgPiBsaSA+IGEge1xyXG4gICAgICAgIC5WX21vZGFsX2NvbnRlbnRfbGlua19jb2xvdXI7XHJcbiAgICAgICAgJjpob3ZlciwmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAuVl9oZWFkZXJzX3N1Ym1lbnVfbGlfYmc7XHJcbiAgICAgICAgICAuVl9oZWFkZXJzX2NhdGVnb3J5X2FfY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgID4gbGk6aG92ZXIge1xyXG4gICAgICAgIC5WX2hlYWRlcnNfc3VibWVudV9saV9iZztcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgLlZfaGVhZGVyc19jYXRlZ29yeV9hX2NvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICA+IGxpOmhvdmVyIHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAuVl9oZWFkZXJzX3N1Ym1lbnVfbGlfbWluaS1ib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgPiBsaS5sYXN0IHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAuVl9oZWFkZXJzX3N1Ym1lbnVfbGlfbWluaS1sYXN0Y2hpbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGxpLmxhc3QuYWN0aXZlLXRyYWlsOjphZnRlciB7XHJcbiAgICAgICAgLlZfaGVhZGVyc19zdWJtZW51X2xpX21pbmktYm9yZGVyO1xyXG4gICAgICB9XHJcbiAgICAgIC8vVEhpcyBtdXN0IGJlIGxlZnQgaGVyZSAoYXMgbGFzdCBtaW5pLWJvcmRlciBjb25kaXRpb24gZWxzZSB3aWxsIG5vdCBvdmVycmlkZSBwcmV2aW91cylcclxuICAgICAgLy9NaW5pIEJvcmRlciBSZW1vdmFsIChvbiBIb3ZlcilcclxuICAgICAgPiBsaTpob3Zlcjo6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNlYzAxOGM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gbGkgPiBhIHtcclxuXHJcbiAgICAgICAgLy9SZXNldHNcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgLlZfaGVhZGVyX3N1Ym1lbnVfYV9jb2xvcjtcclxuICAgICAgICBwYWRkaW5nOiAxNHB4IDIwcHggMTRweDtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcblxyXG4gICAgICAgICY6aG92ZXIsJi5hY3RpdmUge1xyXG4gICAgICAgICAgLlZfaGVhZGVyc19zdWJtZW51X2xpX2JnO1xyXG4gICAgICAgICAgLlZfaGVhZGVyc19jYXRlZ29yeV9hX2NvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLy9FTkQgb2YgTWVudSBWZXJ0aWNhbCBCYXNlXHJcblxyXG4vL0FkZGVkIHRvIHJlZmFjdG9yIHZlcnRpY2FsIG1lbnVcclxuLm1lbnUtdmVydGljYWxzLCAubWVudS12ZXJ0aWNhbHMgPiB1bC5tZW51LCAubWVudS12ZXJ0aWNhbHMgPiB1bC5tZW51ICB7XHJcblxyXG4gIC8vTWVudSBIZWlnaHQgZm9yIEJpbmdvIHZlcnRpY2FsIGhlcmVcclxuICA+IGxpOm5vdCguc2VhcmNoX2JveCkge1xyXG4gICAgaGVpZ2h0OiA0N3B4O1xyXG4gIH1cclxuXHJcblxyXG4gIC8vU3BlY2lmaWMgc2VsZWN0b3IgdXNlZCB0byByZW1vdmUgIWltcG9ydGFudCBmcm9tIGNvZGVcclxuICA+IGxpLmljb246bm90KC5zZWFyY2hfYm94KSB7XHJcbiAgICAvL1Bvc2l0aW9uIHRvIHJpZ2h0IG9mIG1lbnUgbm8gbWF0dGVyIHdoYXRcclxuICAgIC5mbF9yaWdodCgpO1xyXG4gICAgcGFkZGluZzogNXB4IDVweCAwIDVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLy9PdmVycmlkZSAubWVudS1pdGVtIGNvbG91clxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuXHJcbiAgICAgIC8vUmVzZXRzXHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMDsgLy9BbGxvd3MgaWNvbiB0byBzaG93IHdoaWxzdCBzdGlsbCBrZWVwaW5nIGZvbnRcclxuICAgICAgLmRpc3BsYXkoKTtcclxuXHJcbiAgICAgIC8vSWNvbiBDU1NcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgd2lkdGg6IDM1cHg7XHJcbiAgICAgIGhlaWdodDogMzVweDtcclxuXHJcblxyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgLmRpc3BsYXkobm8pO1xyXG4gICAgfVxyXG4gIH1cclxuICAgICA+IGxpLmZiIGEge1xyXG4gICAgICAgYmFja2dyb3VuZDogdXJsKCcvYXNzZXRzL2J1dHRvbnMvc29jaWFsLXNwcml0ZXMucG5nJykgdG9wIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICAgICAmOmhvdmVyIHsgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtNDBweDsgIH1cclxuICAgICB9XHJcbiAgICAgPiBsaS5pZyBhIHtcclxuICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9idXR0b25zL3NvY2lhbC1zcHJpdGVzLnBuZycpIGNlbnRlciAtODBweCBuby1yZXBlYXQ7XHJcbiAgICAgICAmOmhvdmVyIHsgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMTIwcHg7ICB9XHJcbiAgICAgfVxyXG4gICAgID4gbGkudHdpdCBhIHtcclxuICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9idXR0b25zL3NvY2lhbC1zcHJpdGVzLnBuZycpIGNlbnRlciAtMTYwcHggbm8tcmVwZWF0O1xyXG4gICAgICAgJjpob3ZlciB7ICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTIwMHB4OyAgfVxyXG4gICAgIH1cclxufVxyXG4ubWVudS12ZXJ0aWNhbHMgPiB1bC5tZW51IHtcclxuICA+IGxpOm5vdCguc2VhcmNoX2JveCkgPiBhIHtcclxuICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xyXG4gICAgcGFkZGluZzogMCAyMHB4O1xyXG4gIH1cclxuICA+IGxpLmljb24gPiBhIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG59XHJcbi8vRU5EIG9mIE1lbnUgVmVydGljYWwgcmVmYWN0b3JcclxuLy8gRU5EIG9mIGFsbCBNZW51IENTU1xyXG5cclxuXHJcblxyXG4vLyBQYWdlIENvbnRhaW5lciBDU1NcclxuLmJhc2ljLXBhZ2V7XHJcbiAgLnhsYXJnZSh7IHBhZGRpbmctdG9wOiA1MHB4O30pO1xyXG5cclxuICAudGFibGV0ICYsIC5zbWFydHBob25lICYge1xyXG4gICAgLnRhYmxldC14eGxhcmdlKHsgcGFkZGluZy10b3A6IDY1cHg7fSk7XHJcbiAgfVxyXG5cclxuICAvL1RPRE86IFZlcmlmeSB3aGF0IHRoaXMgaXMgZm9yXHJcbiAgLnN0YW5kYWxvbmUgJiB7XHJcbiAgICAvL0JJbmdvIEJhc2ljIFBhZ2UgaU9TIHBhZGRpbmcgYnVnIGZpeFxyXG4gICAgLnNtYWxsZXItdGhhbi1pcGhvbmU2LXNtYWxsKHsgcGFkZGluZy10b3A6IDYwcHggIWltcG9ydGFudDt9KTtcclxuICB9XHJcbn1cclxuLy8gRW5kIG9mIFBhZ2UgQ29udGFpbmVyIENTU1xyXG5cclxuLy8gTG9naW4gRm9ybSBDU1NcclxuLy9UT0RPIChDT05TSURFUik6IE1ha2luZyBmb3JtIHNlbGVjdG9yIGxlc3MgZGVwZW5kZW50IG9uIG5hbWVcclxuLnBsYXl0ZWNoLWxvZ2luLWJsb2NrIGZvcm1bbmFtZT1cInBsYXl0ZWNoLWxvZ2luLWZvcm1cIl0ge1xyXG5cclxuICAgIC8vUmVzZXRzXHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICByaWdodDogMTA1cHg7XHJcblxyXG4gICAgLy9Kb2luIE5vdyBhbmQgU3VibWl0IEJ1dHRvblxyXG4gICAgLnJlZ2lzdGVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgICAgaGVpZ2h0OiAyNHB4OyAvL3VzZWQgdG8gYWxsb3cgYnV0dG9uIHRvIHN0YXkgc2FtZSBoZWlnaHQgYXMgaW5wdXRcclxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7IC8vdXNlZCB0byBhbGxvdyBidXR0b24gdGV4dCB0byBjZW50ZXJcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy9Vc2VybmFtZSBhbmQgUGFzc3dvcmQgSW5wdXRzXHJcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcclxuICAgICAgd2lkdGg6IDIxNnB4O1xyXG5cclxuICAgICAgLy9Vc2VkIGJlY2F1c2UgcGxhY2Vob2xkZXIgQ1NTIGNvbG9yc2V0dGluZyByZXF1aXJlcyBkaWZmZXJlbnQgc2VsZWN0b3JcclxuICAgICAgJiwgKjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgKjotbW96LXBsYWNlaG9sZGVyLCAqOjotbW96LXBsYWNlaG9sZGVyLCAqOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgLlZfaGVhZGVyc19maWVsZF91c2VyX2NvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjZm9yZ290dGVuLWRldGFpbHMtbGluayB7XHJcblxyXG4gICAgICB0b3A6IDcwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgIC5WX2hlYWRlcnNfZm9yZ290dGVuO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgLlZfaGVhZGVyc19mb3Jnb3R0ZW5faG92ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIsJjphY3RpdmUge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcclxuICAgICAgYm9yZGVyOiAwIG5vbmU7XHJcbiAgICAgIC5ib3JkZXItcmFkaXVzKDFweCk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuXHJcbiAgICAgIC8vRkxFWCBmb3Jtcy5sZXNzOiBMaW5lIDEwNzEgKGNvbG9yOiAjZmZmKSBvdmVycmlkaW5nLiBNdXN0IHJlbW92ZSBpbiBmdXR1cmUgdmVyc2lvblxyXG4gICAgICBib2R5LnZuLWJpbmdvICYge1xyXG4gICAgICAgICYgeyAgLlZfaGVhZGVyc19maWVsZF91c2VyX3Bhc3M7ICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIC5WX2hlYWRlcnNfZm9ybV9pbnB1dF9mb2N1cztcclxuICAgICAgICBwYWRkaW5nOiA5cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucmVnaXN0ZXIge1xyXG4gICAgICAucHJpbWFyeS1idXR0b247XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAuVl9oZWFkZXJzX2J0X3NpZ25faW4oKTtcclxuICAgIH1cclxuXHJcbiAgICAudm4tYmluZ28gJiB7XHJcbiAgICAgIC8vVE9ETzogUGxhY2UgaW50byB0YWItbG9vcCBtaXhpbiBhcyBsaXN0IGluc3RlYWRcclxuICAgICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCA6LW1vei1wbGFjZWhvbGRlciwgOjotbW96LXBsYWNlaG9sZGVyLCA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAuVl9oZWFkZXJzX2Zvcm1faW5wdXRfcGxhY2Vob2xkZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL1RPRE86IFBsYWNlIGludG8gdGFiLWxvb3AgbWl4aW4gYXMgbGlzdCBpbnN0ZWFkXHJcbiAgICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAuVl9oZWFkZXJzX2Zvcm1faW5wdXRfcGxhY2Vob2xkZXI7IH1cclxuICAgIDotbW96LXBsYWNlaG9sZGVyIHsgLlZfaGVhZGVyc19mb3JtX2lucHV0X3BsYWNlaG9sZGVyOyB9XHJcbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIgeyAuVl9oZWFkZXJzX2Zvcm1faW5wdXRfcGxhY2Vob2xkZXI7IH1cclxuICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAuVl9oZWFkZXJzX2Zvcm1faW5wdXRfcGxhY2Vob2xkZXI7IH1cclxufVxyXG4vLyBFbmQgb2YgTG9naW4gRm9ybSBDU1NcclxuXHJcbi8vUmVzcG9uc2l2ZSBGTEVYIE1lbnU6IE1vYmlsZSBEcm9wZG93biBNZW51IENTU1xyXG4vL0pTIENvZGUgaXMgaW4gRkxFWC9jb21tb24uanMgaW4gaW5pdFN1Ym1lbnUoKVxyXG4ucmVnaW9uLXJlc3BvbnNpdmUtbGF0ZXJhbC1tZW51IHtcclxuICAubWVudS1yZXNwb25zaXZlLWZsZXgtbWVudSB7XHJcbiAgICB1bCBsaSBhOmhvdmVyOjphZnRlciB7XHJcbiAgICAgIC8vUmVzZXRcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgIH1cclxuICAgID51bC5tZW51IHtcclxuICAgICAgLy9GTEVYIE92ZXJyaWRlXHJcbiAgICAgICYgPiBsaS5leHBhbmRlZCA+IGE6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XHJcblxyXG4gICAgICAgIC8vVXNlZCBhcyBGTEVYIG9ubHkgYWRkcyB0aGlzIHRvIGhvdmVyOmFmdGVyXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5tZW51LXJlc3BvbnNpdmUtZmxleC1tZW51LC5tZW51LXJlc3BvbnNpdmUtZmxleC1tZW51LWF1dGhlbiB7XHJcbiAgICA+IHVsLm1lbnUgPiAuZXhwYW5kZWQge1xyXG4gICAgICA+IGE6YWZ0ZXIge1xyXG4gICAgICAgIC8vUmVzZXRcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTYwNFwiO1xyXG4gICAgICB9XHJcbiAgICAgICYucGFyZW50LW9wZW4gPiBhOmFmdGVyLD4gYTphZnRlciB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnBhcmVudC1vcGVuID4gYTphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcXGU5MDVcIjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vQXBwbGllcyB0byBhbGwgTWVudSBMZXZlbHNcclxuICAgIHVsIGxpIHtcclxuICAgICAgYSB7XHJcbiAgICAgICAgLnByb3hpbWEtZm9udCgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL0J1bGxldHMgb24gaG92ZXJcclxuICAgICAgPiBhOmhvdmVyLCA+IGEge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgLy9UT0RPOiBBZGQgdG8gZm9udCBtaXhpblxyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJywgc2FuIHNlcmlmO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICA+IGE6aG92ZXIge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAuVl9oZWFkZXJzX3Jlc3BvbnNpdmVfYmVmb3JlX2NvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICA+IGEge1xyXG4gICAgICAgIHBhZGRpbmc6IDEzcHggMCAxM3B4IDEwcHg7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIC8vSXMgdXNlZCB0byBoaWRlIGJ1bGxldCB3aGVuIG5vdCBob3ZlciBidXQga2VlcCBkaW1lbnNpb25zXHJcbiAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICAuVl9oZWFkZXJzX2Ryb3Bkb3duX2JnO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vRHJvcGRvd24gTGlua3NcclxuICAgICAgdWwgYSB7XHJcbiAgICAgICAgLlZfaGVhZGVyc19kcm9wZG93bl9iZ19hbHQ7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vVG9wIEJsb2NrIG9mIFJlc3BvbnNpdmUgRmxleCBNZW51IChDb250YWlucyBSZWdpc3RlciBDVEEpXHJcbiAgLnJlc3BvbnNpdmUtYWNjb3VudHMtbGF0ZXJhbC1tZW51IHtcclxuICAgIC5WX2hlYWRlcnNfZHJvcGRvd25fYmc7XHJcblxyXG4gICAgLnJlZ2lzdGVyLWJ1dHRvbiB7XHJcblxyXG4gICAgICAvL1Jlc2V0c1xyXG4gICAgICAucmVzZXQoKTtcclxuICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcblxyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDNweCAxMHB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgLy9UT0RPOiBQbGFjZSBpbnRvIG1peGluXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhY2Q1MTc7XHJcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9Vc2VkIHRvIHBsYWNlIGJsYWNrIG92ZXJsYXkgd2hlbiBSZXNwb25zaXZlIE1lbnUgaXMgdHJpZ2dlcmVkXHJcbi8vVE9ETzogVmVyaWZ5IHBvc2l0aW9uaW5nIGlzIGNvcnJlY3RcclxuLnJlZ2lvbi1yZXNwb25zaXZlLWxhdGVyYWwtbWVudSwgI292ZXJsYXkge1xyXG5cclxuICAvLyBNaXJyb3JzIGhlaWdodCBvZiAucmVnaW9uLWhlYWRlciAoVGFibGV0L01vYmlsZSBPbmx5KVxyXG4gIC50YWJsZXQteHhsYXJnZSh7IHRvcDogNjVweDsgfSk7XHJcblxyXG4gIGJvZHkudGFibGV0ICYge1xyXG4gICAgLnRhYmxldC14eGxhcmdlKHsgdG9wOiA1MHB4OyB9KTtcclxuICB9XHJcblxyXG4gIC5tZWRpdW0oeyB0b3A6IDUwcHg7IH0pO1xyXG5cclxufVxyXG5cclxuXHJcbi8vTWVudSBJY29uc1xyXG4vL1RPRE86IFVzZSB0YWItbG9vcCBtaXhpblxyXG4uaWNvbi0ge1xyXG4gICZtZW51OjpiZWZvcmUgeyAgY29udGVudDogXCJcXGU5MDBcIjsgIH0gLy9DaGFuZ2VzIGRlZmF1bHQgaWNvbi1tZW51IHRvIG5ld2VyIGFzc2V0XHJcbiAgJmJhY2s6OmJlZm9yZSB7ICBjb250ZW50OiBcIlxcZTkwOFwiOyAgfVxyXG4gICZiaW5nbzo6YmVmb3JlIHsgIGNvbnRlbnQ6IFwiXFw5MGFcIjsgIH1cclxufVxyXG4vLyBFbmQgb2YgTWVudSBJY29uIENTU1xyXG5cclxuLy9HYW1lIFRhYnMgKFNsb3QgR2FtZXMsIEphY2twb3QgR2FtZXMgZXRjLi4pXHJcbi5nYW1lX3dyYXBwZXIge1xyXG5cclxuICAvL05ldyBHYW1lL1BvcHVsYXIgR2FtZSBJbmRpY2F0b3JzXHJcbiAgLm5ldy1nYW1lIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL0dCL2dhbWVzL25ldy1nYW1lLXZuYi5wbmcpO1xyXG4gICAgcmlnaHQ6IC0zcHg7XHJcblxyXG4gICAgLy9TaG91bGQgb3ZlcnJpZGUgTmV3IEdhbWVcclxuICAgICYucG9wLWltYWdlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvR0IvZ2FtZXMvcG9wLWdhbWUtdm5iLnBuZyk7XHJcbiAgICAgIHdpZHRoOiAxMDRweDtcclxuICAgICAgaGVpZ2h0OiAyOXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRml4IGZvciBnYW1lcyBpbiBtYWludGVuYW5jZSBtb2RlXHJcbiAgLy8gVE9ETzogVmVyaWZ5IHRoZSBlZmZlY3QgJiB2ZXJpZnkgaXQncyB3b3JraW5nXHJcbiAgLmRpc2FibGUtbmV0cGxheS1nYW1lcyAmLm5ldHBsYXktZ2FtZXMgLmdhbWVfb3ZlcmxheSwgLmRpc2FibGUtbmV0cGxheS1nYW1lcyAmLm5ldHBsYXktZ2FtZXMgLmdhbWVfb3ZlcmxheSB7XHJcbiAgICBoZWlnaHQ6IDEwN3B4O1xyXG4gICAgLnhsYXJnZSh7IGhlaWdodDogMTAwJTsgfSk7XHJcbiAgfVxyXG5cclxuICAucGFnZS1nYW1lcyAmIHtcclxuICAgIHdpZHRoOiAyNCU7XHJcbiAgICBtYXJnaW46IDJweCAycHggMC40ZW0gMnB4O1xyXG5cclxuICAgIC8vVE9ETzogQ2hlY2sgaWYgd2lkdGggaXMgcmVkdW5kYW50XHJcbiAgICAueGxhcmdlKHsgd2lkdGg6IDI0JTsgbWFyZ2luOiAwIDAgMC40ZW0gMDsgfSk7XHJcbiAgICAuZ2FtZXdyYXBwZXItc21hbGwtaXA2LXBsdXMoeyB3aWR0aDogNDklOyBtYXJnaW46IDAgMCAwLjRlbSAwOyB9KTtcclxuICB9XHJcblxyXG4gIC8vS2VlcHMgQ1RBIGJ1dHRvbnMgZGltZW5zaW9ucyBvbiBnYW1lIG92ZXJsYXlcclxuICAucGFnZS1nYW1lcyAudmlldy1nYW1lcyAudmlldy1jb250ZW50ICYsIC5wYWdlLWdhbWVzIC5nYW1lLWxpc3QgLnZpZXctY29udGVudCAmLCAuZm91ci1tb3N0LXBvcHVsYXItZ2FtZXMgLnZpZXctY29udGVudCAmIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICB9XHJcblxyXG4gIC8vR2FtZSBUYWIgU3R5bGVzXHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAwIHRyYW5zcGFyZW50O1xyXG5cclxuICAvL092ZXJyaWRlIFN1cGVyQyBzdHlsZXNcclxuICAmLCBpbWcsIC5nYW1lX292ZXJsYXkge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBpbWcge1xyXG4gICAgICAvL1RPRE86IFBsYWNlIGludG8gbWl4aW4gdG8gYXZvaWQgZXJyb3JcclxuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMCkgc2F0dXJhdGUoMTAwJSk7XHJcbiAgICAgIGZpbHRlcjogYmx1cigwKSBzYXR1cmF0ZSgxMDAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEdhbWUgVGFiIE92ZXJsYXkgKG9uIG1vdXNlb3ZlcilcclxuICAuZ2FtZV9vdmVybGF5IHtcclxuICAgIC8vVE9ETzogRmluZCBvdXQgY29sb3VyIGFuZCBwbGFjZSBpbnRvIG1peGluXHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuNyk7XHJcblxyXG4gICAgLmdhbWVfdGl0bGUsIC5wbGF5X2Zvcl9mdW4ge1xyXG4gICAgICAuZGlzcGxheShubyk7XHJcbiAgICB9XHJcbiAgICAucGxheV9mb3JfcmVhbCwgLnBsYXlfZm9yX2Z1biB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgIC5wbGF5X2Zvcl9yZWFsIHtcclxuXHJcbiAgICAgIC8vUmVzZXRzXHJcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudDsgLy9UT0RPOiBDaGVjayB3aHkgIWltcG9ydGFudCB3YXMgb24gdGhpc1xyXG5cclxuICAgICAgLy9Vc2VzIEZMRVggLnByaW1hcnlfYnV0dG9uIHRvIHJlbmRlciBzdHlsZXNcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICB3aWR0aDogOTVweDtcclxuICAgICAgcGFkZGluZzogM3B4IDhweDtcclxuICAgICAgbWFyZ2luOiA1MnB4IGF1dG8gMDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgLy9ORUVEIFRPIFJlZmFjdG9yIG1peGluIHRvIGFjY291bnQgZm9yIHRoaXNcclxuICAgIH1cclxuICAgIC5tb3JlX2luZm8ge1xyXG5cclxuICAgICAgLy9SZXNldHNcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBib3R0b206IDBweDtcclxuICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgdGV4dC1pbmRlbnQ6IDA7XHJcblxyXG4gICAgICAuVl9oZWFkZXJzX2J0X21vcmVfaW5mbygpO1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyBFTkQgb2YgR2FtZSBUYWJzIChhbmQgT3ZlcmxheSlcclxuXHJcblxyXG4vL0N1cnJlbnQgRkxFWCBpcyB1c2luZyB0aGlzIGFuZCBpdCBpcyBvYnN0cnVjdGluZyBkcm9wZG93biBpbiByZWdpb24tYmFubmVyXHJcbi8vVE9ETzogVmVyaWZ5IHdoYXQgdGhpcyBpcyBmaXhpbmdcclxuLnJlZ2lvbi1iYW5uZXIge1xyXG4gIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDsgLy9vdmVycmlkZXMgRkxFWCBpc3N1ZVxyXG59XHJcbi5yZXNwb25zaXZlLWhlYWRlci1iYWxhbmNlIC5iYWxhbmNlIHtcclxuICAubGFyZ2UoeyBtYXJnaW4tdG9wOiA1cHg7IH0pO1xyXG59XHJcbi5kZXBvc2l0LWJ1dHRvbiAuY2FzaGllciB7XHJcbiAgLnhsYXJnZSh7IGZvbnQtc2l6ZTogMTJweDsgfSk7XHJcbiAgLm1lZGl1bSh7IG1hcmdpbi10b3A6IDVweDsgfSk7XHJcbn1cclxuXHJcblxyXG4vL1RhYmxldCBTcGVjaWZpYyBGaXhlcyAoVE9ETzogUmVtb3ZlIGRlcGVuZGVuY3kgb24gdGhpcyAtIHJlcXVpcmVzIHJldmlldyBvZiBNZWRpYSBRdWVyaWVzKVxyXG5cclxuXHJcbi8vQ2FzaW5vIFZlcnRpY2FsIFNwZWNpZmljIEZpeGVzXHJcbi8vRm9yIENhdGVnb3J5IERyb3Bkb3duIG9ubHlcclxuLy9SZW1vdmUgQ1NTIGZyb20gLmdhbWVfbWVudVxyXG4uY2FzaW5vLXZlcnRpY2FsIHtcclxuICAubmV0cGxheS1nYW1lQ2F0ZWdvcmllcywgLmdhbWVzX21lbnUgIHtcclxuICAgIGJvcmRlci10b3A6IG5vbmU7XHJcblxyXG4gICAgLmdhbWVzX2NhdGVnb3J5IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXNrdG9wJiB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuICAvL1RPRE86IFRoaXMgZG9lc24ndCBhY3R1YWxseSB1c2UgYW55ICYgcGFyZW50LiBWZXJpZnkgaXQgaXMgbmVlZGVkIGFuZCBpZiBpdCB3b3Jrc1xyXG4gICYudGFibGV0IHtcclxuICAgIC5yZWdpb24tbGF0ZXJhbC1tZW51IHtcclxuICAgICAgLnRhYmxldC14eGxhcmdlKHsgdG9wOiA2NXB4OyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuLm1vZGFsIHtcclxuICAubW9kYWwtZGlhbG9nIHtcclxuICAgIC5jbG9zZSB7XHJcbiAgICAgIC8vUmVzZXRcclxuICAgICAgdG9wOiA0cHg7XHJcbiAgICAgIHJpZ2h0OiAyJTtcclxuICAgICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7IHRvcDogMDsgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubG9naW4tbW9kYWwge1xyXG4gICAgLmxvZ2luLW92ZXJsYXktZm9vdGVye1xyXG5cclxuICAgICAgLy9UT0RPOiBQbGFjZSBpbiBtaXhpblxyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VjMDE4YztcclxuICAgICAgYSB7ICBwYWRkaW5nOiAzcHggOHB4OyAgfVxyXG5cclxuICAgICAgLy9UT0RPOiBSZW5hbWUgdG8gbW9yZSBpbmZvcm1hdGl2ZSBjbGFzc1xyXG4gICAgICBhLmJ1dHRvbi0ze1xyXG4gICAgICAgIC5WX2hlYWRlcnNfYnRfam9pbl9ub3coKTtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgfVxyXG4gICAgICAubmV3LXVzZXItbGluayB7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgIC8vVE9ETzogUHV0IGludG8gbWl4aW5cclxuICAgICAgICAgIGNvbG9yOiAjZWMwMThjO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vVE9ETzogVmVyaWZ5IHRoYXQgLmxvZ2luLW1vZGFsIC5sb2dpbi1tb2RhbCBleGlzdHNcclxuICAgIGZvcm1bbmFtZT1cInBsYXl0ZWNoLWxvZ2luLWZvcm1cIl0gLmZvcm0tc3VibWl0LCAubG9naW4tbW9kYWwgLmxvZ2luLW92ZXJsYXktY29udGVudC5sb2dpbi1lcnJvciAuZm9ybS1zdWJtaXQge1xyXG4gICAgICAucHJveGltYS1mb250KCk7XHJcbiAgICAgIC5ib3JkZXItcmFkaXVzKDNweCk7XHJcblxyXG4gICAgICAvL1RPRE86IFBsYWNlIGluIG1peGluXHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICAvL1RPRE86IFRlc3QgaWYgc2hvcnRlbmVkIHNlbGVjdG9yIHdvcmtzXHJcbiAgICAvL0Fsc28gcmVuYW1lIGluIG1vZHVsZSBhbmQgYm9vdHN0cmFwL0xlc3MgdG8gY2xhc3MgZm9ybSBhcyBNdWx0aXBsZSBzYW1lIElEIHZpb2xhdGlvbiBpcyBoYXBwZW5pbmdcclxuICAgIC8vIC5sb2dpbi1tb2RhbCBmb3JtW25hbWU9XCJwbGF5dGVjaC1sb2dpbi1mb3JtXCJdICNmb3Jnb3R0ZW4tZGV0YWlscy1saW5rLFxyXG4gICAgLy8gLmxvZ2luLW1vZGFsIC5sb2dpbi1tb2RhbCAubG9naW4tb3ZlcmxheS1jb250ZW50LmxvZ2luLWVycm9yICNmb3Jnb3R0ZW4tZGV0YWlscy1saW5re1xyXG4gICAgI2ZvcmdvdHRlbi1kZXRhaWxzLWxpbmt7XHJcbiAgICAgIHdpZHRoOiAxMjBweDtcclxuXHJcbiAgICAgIC8vVE9ETzogUGxhY2UgaW4gbWl4aW5cclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIC5tZWRpdW0oe1xyXG4gICAgICAgIHRvcDogMTc2cHg7XHJcbiAgICAgICAgbGVmdDogNDUlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvL1RPRE8gU2hvcnRlbiBzZWxlY3RvcnMgKGFuZCB0ZXN0IG9idi4pXHJcbiAgICBmb3JtW25hbWU9XCJwbGF5dGVjaC1sb2dpbi1mb3JtXCJdIC5mb3JtLXR5cGUtdGV4dGZpZWxkIGlucHV0LFxyXG4gICAgLmxvZ2luLW1vZGFsIC5sb2dpbi1vdmVybGF5LWNvbnRlbnQubG9naW4tZXJyb3IgLmZvcm0tdHlwZS10ZXh0ZmllbGQgaW5wdXQsXHJcbiAgICBmb3JtW25hbWU9XCJwbGF5dGVjaC1sb2dpbi1mb3JtXCJdIC5mb3JtLXR5cGUtcGFzc3dvcmQgaW5wdXQsXHJcbiAgICAubG9naW4tbW9kYWwgLmxvZ2luLW92ZXJsYXktY29udGVudC5sb2dpbi1lcnJvciAuZm9ybS10eXBlLXBhc3N3b3JkIGlucHV0e1xyXG4gICAgICAvL1RPRE86IFB1dCBpbnRvIG1peGluXHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IC8vQ2hhbmdlZCBmcm9tIHJnYmEoLDEpIChubyByZWFzb24gdG8gdXNlKVxyXG4gICAgfVxyXG5cclxuICAgIC8vVE9ETyBDT21iaW5lIHdpdGggcHJldmlvdXMgc2VsZWN0b3JcclxuICAgIC5sb2dpbi1vdmVybGF5LWNvbnRlbnQubG9naW4tZXJyb3IgLmVycm9yX21lc3NhZ2V7XHJcbiAgICAgIC8vVE9ETzogUGxhY2UgaW50byBtaXhpblxyXG4gICAgICBjb2xvcjojRkZGO1xyXG5cclxuICAgICAgLy9QQVMgRklYRVMgKGRpZmZlcmVudCBsb2dpbiBtb2RhbCBub3cgdXNlZClcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IDdweCAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5mYWRlIHtcclxuICAgICYuZ2FtZUluZm8tbW9kYWwubW9kYWwtZGlhbG9nIHtcclxuICAgICAgLmNsb3NlIHsubWVkaXVtKHtyaWdodDozJTt9KTt9XHJcbiAgICB9XHJcbiAgICAvL1RPRE86IENoZWNrIHNlbGVjdG9yXHJcbiAgICAvLyAgJi5mYWRlLnJlZ2lzdHJhdGlvbi1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1jb250ZW50IC5tb2RhbC1ib2R5XHJcbiAgICAmLnJlZ2lzdHJhdGlvbi1tb2RhbCAubW9kYWwtYm9keSB7XHJcbiAgICAgIGgyLGgzLCBwLCBsaSB7ICAuVl9tb2RhbF9jb250ZW50X2NvbG91cjsgIH1cclxuICAgICAgYSB7ICAuVl9tb2RhbF9jb250ZW50X2xpbmtfY29sb3VyOyAgfVxyXG4gICAgfVxyXG4gICAgJi5sb2dpbi1tb2RhbCB7XHJcbiAgICAgICYuc21sLXNpemUgLm1vZGFsLWRpYWxvZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcclxuICAgICAgfVxyXG4gICAgICAubW9kYWwtY29udGVudCB7XHJcbiAgICAgICAgLmJvcmRlci1yYWRpdXMoNXB4KTtcclxuICAgICAgICAvL1RPRE86IFBsYWNlIGluIG1peGluXHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICAgICAgfVxyXG4gICAgICBhLmNsb3NlIHtcclxuICAgICAgICAvL1RPRE86IFB1dCBpbnRvIG1peGluXHJcbiAgICAgICAgJjpob3ZlcnsgY29sb3I6I2VjMDc4YTsgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9Gb3Jnb3R0ZW4gUGFzc3dvcmQgUG9wdXAgU3R5bGVzXHJcbiAgLmZvcmdvdHRlbi1wYXNzd29yZC1wb3B1cCB7XHJcblxyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW4gc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcblxyXG4gICAgLy9UT0RPOiBQbGFjZSBpbiBtaXhpblxyXG4gICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgLm92ZXJsYXktY29udGVudCwgLmZvcm0tc3VibWl0IHsgIG1hcmdpbjogMCBhdXRvOyAgfVxyXG5cclxuICAgIC5vdmVybGF5LWNvbnRlbnQsLmhlbHAtdHh0IHtcclxuICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgIC8vUmVzZXRzXHJcbiAgICAgICY6OmFmdGVyIHtjbGVhcjpib3RoO2NvbnRlbnQ6IFwiIFwiO31cclxuICAgIH1cclxuICAgIGhyIHtcclxuICAgICAgLy9SZXNldHNcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgIC5kaXNwbGF5KCk7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgLy9UT0RPOiBQdXQgaW50byBtaXhpblxyXG4gICAgICBiYWNrZ3JvdW5kOiAjZWMwMThjO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHsgIG1hcmdpbi1ib3R0b206IDVweDsgfVxyXG5cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xyXG5cclxuICAgICAgICAvL1Jlc2V0c1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcblxyXG4gICAgICAgIC5ib3JkZXItcmFkaXVzKDNweCk7XHJcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICBwYWRkaW5nOiAwLjVlbSAwO1xyXG5cclxuICAgICAgICAvL1RoaXMgaXMgc2V0IGJlY2F1c2UgcGFkZGluZy1sZWZ0L3JpZ2h0IHdpbGwgZXh0ZW5kIGlucHV0IGJveFxyXG4gICAgICAgIHRleHQtaW5kZW50OiAwLjVlbTtcclxuXHJcbiAgICAgICAgLy9UT0RPOiBQdXQgaW50byBtaXhpblxyXG4gICAgICAgIGNvbG9yOiAjNGIwYjRhO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggM3B4IHJnYmEoMCwwLDAsMC4xKTtcclxuXHJcbiAgICAgICAgLy9UT0RPOiB1c2UgbG9vcCBtaXhpblxyXG4gICAgICAgIC8vVXNlZCBiZWNhdXNlIHBsYWNlaG9sZGVyIENTUyBjb2xvcnNldHRpbmcgcmVxdWlyZXMgZGlmZmVyZW50IHNlbGVjdG9yXHJcbiAgICAgICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgJjotbW96LXBsYWNlaG9sZGVyLCAmOjotbW96LXBsYWNlaG9sZGVyLCAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAuVl9oZWFkZXJzX2ZpZWxkX3VzZXJfY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC52bmItZHJvcGRvd24ge1xyXG4gICAgICBtYXJnaW4tdG9wOiA3cHg7XHJcblxyXG4gICAgICAmID4gZGl2IHtcclxuICAgICAgICAuZmxfbGVmdDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICBjbGVhcjpib3RoO1xyXG4gICAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICA+IC5mb3JtLWl0ZW0gPiBsYWJlbCB7XHJcbiAgICAgICAgLmZsX2xlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgfVxyXG4gICAgICBsYWJlbC5lbGVtZW50LWludmlzaWJsZSB7ICAuZGlzcGxheShubyk7ICB9XHJcblxyXG4gICAgICAvL1dpbGwgb3ZlcnJpZGUgRHJ1cGFsIG5hdGl2ZSAuY29udGFpbmVyLWlubGluZSAoY2Fubm90IGJlIHJlbW92ZWQgZnJvbSBGb3JtIG1hcmt1cClcclxuICAgICAgI2RvYiB7XHJcbiAgICAgICAgLmZsX3JpZ2h0O1xyXG5cclxuICAgICAgICAucGFnZS1mb3Jnb3R0ZW4tZGV0YWlscyAmIHtcclxuICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgICBjbGVhcjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhZ2UtZm9yZ290dGVuLWRldGFpbHMgJiwgLnBhZ2UtZm9yZ290dGVuLWRldGFpbHMgJiBkaXYge1xyXG4gICAgICAgICAgLnJlc2V0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZm9ybS10eXBlLXNlbGVjdCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcblxyXG4gICAgICAgICAgLnNlbGVjdHJpYyB7XHJcbiAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICB0b3A6IDAuMWVtO1xyXG4gICAgICAgICAgICAgIHJpZ2h0OiAwLjFlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvcm0taXRlbS1kYXRlLXNlbGVjdC15ZWFyIHtcclxuICAgICAgICAgIC5zZWxlY3RyaWMgeyAgd2lkdGg6IDEwMHB4OyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgID4gbGFiZWwge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIG1hcmdpbjogMC41ZW0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oZWxwLXR4dCB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmJpZy1kZXRhaWwge1xyXG4gICAgICAuZGlzcGxheSgpO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vVE9ETzogVGVtcCBGaXggKEZpbmQgaWRlYWwgc29sdXRpb24gdG8gY29udGFpbiBsb2dvKVxyXG4gICAgaGdyb3VwIHtcclxuICAgICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgbWFyZ2luOiAxN3B4IDA7IC8vQ29udmVydCB0byBlbXM/XHJcbiAgICAgIH1cclxuICAgICAgLnRpdGxlIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweCAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgICB9XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybS1zdWJtaXQge1xyXG4gICAgICAucHJveGltYS1mb250KGJvbGQpO1xyXG4gICAgICAuZGlzcGxheSgpO1xyXG4gICAgICAuVl9oZWFkZXJzX2J0X3NpZ25faW47XHJcblxyXG4gICAgICBwYWRkaW5nOiAwLjRlbSAwO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB3aWR0aDogODAlO1xyXG4gICAgfVxyXG4gICAgLy9QYWdlIFNwZWNpZmljXHJcbiAgICAucGFnZS1mb3Jnb3R0ZW4tZGV0YWlscyAmIHtcclxuICAgICAgaW5wdXQjZm9yZ290dGVuX3VzZXJuYW1lLCBpbnB1dCNlbWFpbCB7ICAueGxhcmdlKHsgbWFyZ2luOiAwOyB3aWR0aDogMTAwJTt9KTsgIH1cclxuICAgICAgaW5wdXQjZm9yZ290dGVuX3VzZXJuYW1lIHsgIC54bGFyZ2UoeyBtYXJnaW4tYm90dG9tOiA1cHg7IH0pOyAgfVxyXG4gICAgICAuZm9ybS1pdGVtIGxhYmVsIHsgIG1hcmdpbi1sZWZ0OiAwOyAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRU5EIG9mIEZvcmdvdHRlbiBQb3B1cCBDU1NcclxufVxyXG5cclxuLy9SZWdpb24gSGVhZGVyIENTU1xyXG4uc3VwcG9ydC1idXR0b25zIHtcclxuICAvL1RPRE86IFJlbW92ZSBpbXBvcnRhbnQgZnJvbSB0aGlzXHJcbiAgLlZfaGVhZGVyc19zdXBwb3J0X2JvcmRlciAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAxNXB4O1xyXG4gICAgLmhlbHBfYnV0dG9uLCAuY2hhdF9idXR0b24ge1xyXG4gICAgICBoZWlnaHQ6IDI4cHg7IC8vdXNlZCB0byBhbGxvdyBidXR0b24gdG8gc3RheSBzYW1lIGhlaWdodCBhcyBpbnB1dFxyXG4gICAgICBsaW5lLWhlaWdodDogMjhweDsgLy91c2VkIHRvIGFsbG93IGJ1dHRvbiB0ZXh0IHRvIGNlbnRlclxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLkZMRVgtYWNjb3VudC1ibG9jayB7XHJcbiAgICB0b3A6IDEycHg7IC8vUG9zaXRpb25lZCB0byB2ZXJ0aWNhbGx5IGFsaWduIHRoZSBibG9ja1xyXG5cclxuICAgIC8vXHJcbiAgICBsaS5hY2NvdW50OmFmdGVyLCBsaS50b3RhbF9iYWxhbmNlOmFmdGVyIHtcclxuICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJywgc2FuLXNlcmlmO1xyXG4gICAgICBjb250ZW50OiAnXFxlNjA4JztcclxuICAgICAgZm9udC1zaXplOiA3cHg7XHJcbiAgICAgIHRvcDogMTBweDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgcmlnaHQ6IDVweDtcclxuXHJcbiAgICAgIC8vVE9ETzogVXNlIGxvb3AgbWl4aW5cclxuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgIH1cclxuICAgIC5hY2NvdW50X21lbnU6aG92ZXIgbGkuYWNjb3VudDphZnRlciwgLkZMRVgtYWNjb3VudC1ibG9jayAuYmFsYW5jZV9tZW51OmhvdmVyIGxpLmFjY291bnQ6YWZ0ZXIsIC5GTEVYLWFjY291bnQtYmxvY2sgLmFjY291bnRfbWVudTpob3ZlciBsaS50b3RhbF9iYWxhbmNlOmFmdGVyLCAuRkxFWC1hY2NvdW50LWJsb2NrIC5iYWxhbmNlX21lbnU6aG92ZXIgbGkudG90YWxfYmFsYW5jZTphZnRlciB7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qICBDaGFubmVsIDUgQmxvY2tcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuICAucGxheS1saXZlLW9uLWZpdmUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMjY2cHg7XHJcbiAgICB0b3A6IDMycHg7XHJcbiAgfVxyXG5cclxuXHJcbi8vIFRPRE86IFZlcmlmeSB3aGljaCBjaGF0IENTUyBpcyBuZWVkZWQgYW5kIHdoaWNoIHNlbGVjdG9ycyBhcmUgdW51c2VkICh3YXN0ZSBvZiBzcGFjZSlcclxuLyogIFN1cHBvcnQgRmVhdHVyZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbiAgLnJlZ2lzdGVyLWJ1dHRvbnMge1xyXG4gICAgLnhsYXJnZSh7IGRpc3BsYXk6IG5vbmU7IH0pO1xyXG4gIH1cclxuLmhlbHBfYnV0dG9uLC5jaGF0X2J1dHRvbiB7XHJcbiAgY29sb3I6ICNlZWU7XHJcbn1cclxuXHJcbiAgLnN1cHBvcnQtYnV0dG9ucyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuXHJcblxyXG4gICAgLmhlbHBfYnV0dG9uLFxyXG4gICAgLmNoYXRfYnV0dG9uIHtcclxuICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgLmxvZ2dlZC1pbiAmIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL3N1cHBvcnQvaGVscF9pY29uX3BpbmsucG5nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jaGF0X2J1dHRvbjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL3N1cHBvcnQvY2hhdF9pY29uX3BpbmsucG5nKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgLmZsb2F0aW5nX3ZlcnRpY2Fsc19tZW51IHtcclxuICAgIC5oZWxwLXBhZ2UtbGluayBhOmhvdmVye1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9zdXBwb3J0L2hlbHBfaWNvbl9waW5rLnBuZykgMTBweCAwcHggbm8tcmVwZWF0IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogI2VjNGJhYztcclxuICAgIH1cclxuICAgIC5qcy1wbGF5dGVjaC1jaGF0OmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvc3VwcG9ydC9jaGF0X2ljb25fcGluay5wbmcpIDEwcHggNnB4IG5vLXJlcGVhdCB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6ICNlYzRiYWM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiAgUHJvbW8gQXJlYVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4gIC5qYWNrcG90cy1zbGlkZXIsXHJcbiAgLndpbm5lcnMtc2Nyb2xsZXItMyxcclxuICAud2lubmVycy1zY3JvbGxlci0zLXNpZGViYXIsXHJcbiAgLndpbm5lcnMtc2Nyb2xsZXItNiB7XHJcbiAgICBoMiBhIHtcclxuICAgICAgLlZfamFja3BvdHNfdGl0bGUoKTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogIFByb21vIFNsaWRlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbiAgLnByb21vLXNsaWRlciB7XHJcbiAgICAucHJpbWFyeS1idXR0b24ge1xyXG5cclxuICAgICAgLy9FeHRyYSBzdHlsZXMgYWxzbyBpbmhlcml0ZWQgZnJvbSBGTEVYXHJcbiAgICAgIC5WX2hlYWRlcnNfYnRfam9pbl9ub3coKTtcclxuICAgICAgLlZfaGVhZGVyc19idF9qb2luX25vd19ncmFkaWVudCgpO1xyXG5cclxuICAgICAgLy9SZXNldHNcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud2lkZ2V0X3BhZ2VyIC52aWV3cy1zbGlkZXNob3ctcGFnZXItZmllbGQtaXRlbSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VjYWNiO1xyXG4gIH1cclxuXHJcbiAgLndpZGdldF9wYWdlciAudmlld3Mtc2xpZGVzaG93LXBhZ2VyLWZpZWxkLWl0ZW0uYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWNhY2I7XHJcbiAgfVxyXG5cclxuLnByb21vLXNsaWRlcntcclxuICB3aWR0aDoxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggM3B4IDVweCAwcHggcmdiYSgwLDAsMCwwLjUpO1xyXG4gIC1tb3otYm94LXNoYWRvdzogMHB4IDNweCA1cHggMHB4IHJnYmEoMCwwLDAsMC41KTtcclxuICBib3gtc2hhZG93OiAwcHggM3B4IDVweCAwcHggcmdiYSgwLDAsMCwwLjUpO1xyXG5cclxuICAueGxhcmdlKHtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICB9KTtcclxufVxyXG5cclxuLnByb21vLXNsaWRlciAucHJpbWFyeS1idXR0b257XHJcblxyXG4gIC5wcm94aW1hLWZvbnQoKTtcclxuXHJcbiAgdGV4dC1zaGFkb3c6IDJweCAwIDAgIzU2NmIxMCwgLTJweCAwIDAgIzU2NmIxMCwgMCAycHggMCAjNTY2YjEwLCAwIC0ycHggMCAjNTY2YjEwLCAycHggMnB4ICM1NjZiMTAsIC0ycHggLTJweCAwICM1NjZiMTAsIDJweCAtMnB4IDAgIzU2NmIxMCwgLTJweCAycHggMCAjNTY2YjEwO1xyXG4gIGJvcmRlcjozcHggc29saWQgIzU2NmIxMDtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDA7XHJcblxyXG4gICY6aG92ZXJ7XHJcbiAgICBjb2xvcjojZmZmO1xyXG4gIH1cclxufVxyXG5cclxuLmZsZXhzbGlkZXIgLnByaW1hcnktYnV0dG9ue1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICByaWdodDogMTRweDsgLy9Ib3Jpem9udGFsbHkgYWxpZ25lZCB3aXRoIHJpZ2h0IGVkZ2Ugb2YgYnVsbGV0IGJ1dHRvbnNcclxuICBwYWRkaW5nOiA1cHggMTVweDtcclxuICBib3R0b206IDc1cHg7XHJcblxyXG4gIC8vRml4IHRvIGFsbG93IFNhbXN1bmcgdGFibGV0IHRvIHZlcnRpY2FsbHkgYWxpZ24gYnV0dG9uIHdpdGhvdXQgYWZmZWN0aW5nIERlc2t0b3BcclxuICAvL2JvZHkudGFibGV0ICYge1xyXG4gIC8vICAubGFyZ2UtbWluLXdpZHRoKHtcclxuICAvLyAgICBib3R0b206IDIuNmVtO1xyXG4gIC8vICB9KTtcclxuICAvL31cclxuXHJcbiAgLmhlcm8tYmFubmVyLXN0YXRlMih7XHJcbiAgICBib3R0b206IDY1cHg7XHJcbiAgfSk7XHJcblxyXG4gIC5sYXJnZSh7XHJcbiAgICBib3R0b206IDY1cHg7XHJcbiAgfSk7XHJcblxyXG4gIC5tZWRpdW0oe1xyXG4gICAgYm90dG9tOiA2MHB4O1xyXG4gICAgcmlnaHQ6IC02MHB4O1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgfSk7XHJcblxyXG4gIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgYm90dG9tOiA2MHB4O1xyXG4gICAgcmlnaHQ6IC02MHB4O1xyXG4gIH0pO1xyXG5cclxuICAuZGlzcGxheS1qb2ludXMtYnV0dG9uKHtcclxuICAgIHJpZ2h0OiAtNTVweDtcclxuICAgIGJvdHRvbTogNTVweDtcclxuICB9KTtcclxufVxyXG5cclxuLmZsZXhzbGlkZXIgLnRjLW1haW4tcGFnZS1zbGlkZXJ7XHJcblxyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICBtYXJnaW4tbGVmdDogN3B4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICByaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgYm90dG9tOiA3cHggIWltcG9ydGFudDtcclxuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG5cclxuICAuZGlzcGxheS1qb2ludXMtYnV0dG9uKHtcclxuICAgIGJvdHRvbTowO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk0NGVhNjtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHBhZGRpbmctdG9wOjNweDtcclxuICB9KTtcclxufVxyXG5cclxuLmZsZXhzbGlkZXIgLnRjLW1haW4tcGFnZS1zbGlkZXIgYXtcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgcGFkZGluZy10b3A6IDVweDtcclxufVxyXG5cclxub2wuZmxleC1jb250cm9sLXBhZ2luZ3tcclxuICAuZGlzcGxheSgpO1xyXG4gIHJpZ2h0OiAzcHg7XHJcbiAgYm90dG9tOiAtMXB4O1xyXG4gIGxlZnQ6IGF1dG87XHJcblxyXG4gIC5oZXJvLWJhbm5lci1zdGF0ZTEoe1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgfSk7XHJcblxyXG4gIC54bGFyZ2Uoe1xyXG4gICAgYm90dG9tOiAzcHg7XHJcbiAgfSk7XHJcblxyXG4gIC5tZWRpdW0oe1xyXG4gICAgcmlnaHQ6IC01cHg7XHJcbiAgfSk7XHJcbiAgLnNtYWxsKHtcclxuICAgIGJvdHRvbTogLTVweDtcclxuICB9KTtcclxufVxyXG5cclxub2wuZmxleC1jb250cm9sLXBhZ2luZyBhe1xyXG4gIGhlaWdodDogMTFweDsgd2lkdGg6IDExcHg7XHJcbiAgLmRpc3BsYXktam9pbnVzLWJ1dHRvbih7IGhlaWdodDogN3B4OyB3aWR0aDogN3B4OyB9KTtcclxuICAubGFyZ2Uoe3dpZHRoOiA3cHg7aGVpZ2h0OiA3cHg7IH0pO1xyXG5cclxufVxyXG4uZmxleC1jb250cm9sLW5hdiBsaXtcclxuICBtYXJnaW46IDAgLTVweDtcclxufVxyXG5cclxub2wuZmxleC1jb250cm9sLXBhZ2luZyBhLmZsZXgtYWN0aXZle1xyXG4gIGJhY2tncm91bmQ6ICNlYzAxOGM7XHJcbn1cclxuXHJcbm9sLmZsZXgtY29udHJvbC1wYWdpbmcgYXtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG5vbC5mbGV4LWNvbnRyb2wtcGFnaW5nIGE6aG92ZXJ7XHJcbiAgYmFja2dyb3VuZDogI2VjMDE4YztcclxufVxyXG5cclxuICAvKiAgV2lubmVycyBTY3JvbGxlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4gIC53aW5uZXIge1xyXG4gICAgYm9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xyXG4gICAgLndpbm5lcl9uYW1lIHtcclxuICAgICAgLlZfd2lubmVyc190eHRfd2luKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8qICBHYW1lc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4gIC5zaG93X3NlYXJjaF9maWVsZCAuc2VhcmNoX2ZpZWxkIHtcclxuICAgIC8vICAuYmFja2dyb3VuZC1hbHBoYSgjZmZmLCAwLjkpO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGNvbG9yOiAjZWQwMjhiO1xyXG5cclxuICB9XHJcblxyXG5cclxuICAvKiAgR2FtZXMgU2VhcmNoXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4gIC5zZWFyY2hfZmllbGQge1xyXG4gICAgLy8gYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIH1cclxuXHJcbiAgLnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfZmllbGQge1xyXG4gICAgLy8gYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBjb2xvcjogI2VkMDI4YjtcclxuICAgIC5ib3JkZXItcmFkaXVzKDNweCk7XHJcbiAgICAvL2JveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8qICBMYXJnZSBHYW1lcyBHcmlkXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4gIC8vVE9ETzogTG9vayBmb3IgbGlrZSB2YWx1ZXMgaW4gTEVTUyBmaWxlcyBhbmQgcmVwbGFjZSB3aXRoIHZhcmlhYmxlc1xyXG4gIC5sYXJnZS1nYW1lLXRodW1ibmFpbC1ncmlkIHtcclxuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xyXG4gICAgLy8gICBib3JkZXItdG9wOiA0cHggc29saWQgQHN1cGVyX3JlZDtcclxuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjZjI3MTMwO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qICBMaXZlIEdhbWVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4gIC5saXZlLXZlcnRpY2FsIHtcclxuICAgIC5sYXJnZS1nYW1lLXRodW1ibmFpbC1ncmlkIHtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQHN1cGVyX2dvbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgLyogIFBvcCB1cHNcclxuXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbiAgLyogIFNoYWRvd2JveFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbiAgLy8jc2Itd3JhcHBlci1pbm5lciB7XHJcbiAgLy8gICAgYm9yZGVyOiBub25lO1xyXG4gIC8vICAgIGJvcmRlcjogMXB4IHNvbGlkICMyYjIxM2E7XHJcbiAgLy8gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcclxuICAvL31cclxuXHJcbiAgI3NiLXdyYXBwZXIgLm92ZXJsYXktaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICMyYjUxNWI7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgdGV4dC1pbmRlbnQ6IC0xMDAwcHg7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiw5dcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICByaWdodDogNHB4O1xyXG4gICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgIGhlaWdodDogMjZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuXHJcbiAgICAgICAgY29sb3I6ICM1NTU0NzM7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWluZGVudDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gICNzYi1ib2R5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjUxNWI7XHJcblxyXG4gICAgJi5sb2FkaW5nIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2dlbmVyYWwvU0MtTG9hZGVyLXB1cnBsZS5naWYnKTtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKiBmb3Jnb3R0ZW4gZGV0YWlscyBlcnJvciBtc2dcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4gIC5tZXNzYWdlc3tcclxuICAgICYuZXJyb3Ige1xyXG4gICAgICAuVl9lcnJvcl9tc2coKTtcclxuICAgIH1cclxuXHJcbiAgICAmLnN0YXR1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzdXBlcl9ibHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogIFdhaXRpbmcgTWVzc2FnZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbiAgLndhaXRpbmdfbWVzc2FnZXMge1xyXG4gICAgLm9rLCAuYWNjZXB0LCAuZGVjbGluZSwgLm5leHQsIC5wcmV2aW91cyB7XHJcbiAgICAgIC5wcmltYXJ5LWJ1dHRvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qIEZJWCBmb3IgT25seSBKYWNrcG90MjQ3IEdldHRpbmcgc3RhcnRlZCBtZW51IGZvciBKUDI0N1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbiAgYm9keS5wYWdlLWhlbHB7XHJcbiAgICAucGFnZS1jb250ZW50e1xyXG4gICAgICBwYWRkaW5nLXRvcDo0MHB4O1xyXG5cclxuICAgICAgLmxhcmdlKHtcclxuICAgICAgICBwYWRkaW5nLXRvcDowcHg7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGJvZHkucGFnZS10dntcclxuICAgICNtb2JpbGVfYXBwX3N0b3JlX2JhZGdlcyBhIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG4gICAgICAubWVkaXVtKHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJvZHkucGFnZS1oZWxwe1xyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAuYmFja2dyb3VuZC1hbHBoYSgjMDAwLDAuMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBib2R5LnBhZ2UtZ2FtZS1pbmZve1xyXG5cclxuICAgIC5yZWxhdGVkLWNvbnRlbnR7XHJcblxyXG4gICAgICAvL3Jlc2V0XHJcbiAgICAgIGhlaWdodDogMjIwcHg7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xyXG5cclxuICAgICAgLnZpZXctY29udGVudCAudmlld3MtZmllbGQtZmllbGQtcmVsYXRlZC1jb250ZW50LWltYWdlIGltZyB7XHJcblxyXG4gICAgICAgIC8vUmVzZXRzXHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgLy9SZW1vdmVzIGJvcmRlcnMgZnJvbSBGTEVYIHJlbGF0ZWQgY29udGVudFxyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgLy9URVNUIFZBUlNcclxuICAgICAgICB3aWR0aDogMjQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNzBweDtcclxuICAgICAgfVxyXG4gICAgICAudmlldy1jb250ZW50IC52aWV3cy1maWVsZC1maWVsZC1yZWxhdGVkLWNvbnRlbnQtdGV4dCB7XHJcblxyXG4gICAgICAgIC8vUmVzZXRzXHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgfVxyXG4gICAgICAudmlldy1jb250ZW50IC5maWVsZC1jb250ZW50IHtcclxuXHJcbiAgICAgICAgLy9SZXNldHNcclxuICAgICAgICAvLyAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC52aWV3LWNvbnRlbnQgLnZpZXdzLWZpZWxkLWZpZWxkLXJlbGF0ZWQtY29udGVudC10ZXh0IHtcclxuICAgICAgICB3aWR0aDoxMDAlOyAvLzEwMCUgd2lkdGggb2Ygd3JhcHBlciAoZWxzZSBib3gganVzdCBzdHJldGNoZXMgdG8gZml0IHRleHQpXHJcbiAgICAgIH1cclxuICAgICAgLnZpZXdzLWZpZWxkLXRpdGxlIHtcclxuICAgICAgICAuZGlzcGxheShubyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5idXR0b24tMyB7XHJcblxyXG4gICAgICAgIC8vUmVzZXRzXHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC02MHB4O1xyXG4gICAgICAgIGJvdHRvbTogMHB4O1xyXG5cclxuICAgICAgICAucHJveGltYS1mb250KGJvbGQpO1xyXG4gICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuXHJcbiAgICAgICAgLy9Ub2RvIEludGVncmF0ZSB3aXRoIFNsaWRlciBUYWJcclxuICAgICAgICBjb2xvcjogIzU2NmIxMDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDNweCAjNTY2YjEwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jYTllODEzKzAsZDRmNDg3KzEwMCAqL1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNhOWU4MTM7IC8qIE9sZCBicm93c2VycyAqL1xyXG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICNhOWU4MTMgMCUsICNkNGY0ODcgMTAwJSk7IC8qIEZGMy42LTE1ICovXHJcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgI2E5ZTgxMyAwJSwjZDRmNDg3IDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICAjYTllODEzIDAlLCNkNGY0ODcgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjYTllODEzJywgZW5kQ29sb3JzdHI9JyNkNGY0ODcnLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmphY2twb3RzLXNsaWRlcntcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGJvZHkucGFnZS1wcm9tb3Rpb25zLWNhdGVnb3J5e1xyXG4gICAgLnByb21vdGlvbi1kZXNjcmlwdGlvbiBwe1xyXG4gICAgICBtYXJnaW46IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAvL01ha2UgcHJvbW90aW9ucyBjb250YWluZXIgMTAwJVxyXG4gICAgLnBhZ2UtY29udGVudCAuY29sdW1uNC02IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAucGFnZS1jb250ZW50IC5jb2x1bW4yLTYge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYm9keS5wYWdlLXByb21vdGlvbnMge1xyXG4gICAgLnZpZXctZGlzcGxheS1pZC1mbGV4X3Byb21vX3BhZ2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjRjNFNUY1O1xyXG5cclxuICAgICAgLnZpZXdzLWZpZWxkLXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAuZmllbGQtY29udGVudCB7XHJcbiAgICAgICAgICBjb2xvcjogI2VjMDE4YztcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgLnByb21vLXRlcm1zIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC52aWV3LXR2LXByb2ZpbGVzIC5maWVsZC1jb250ZW50IHNwYW57XHJcbiAgICBwYWRkaW5nLWxlZnQ6MTBweDtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4vKiAgR2FtZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfZmllbGQge1xyXG4vLyAgLmJhY2tncm91bmQtYWxwaGEoI2ZmZiwgMC45KTtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGNvbG9yOiAjZWQwMjhiO1xyXG5cclxufVxyXG5cclxuXHJcbi8qICBHYW1lcyBTZWFyY2hcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5zZWFyY2hfZmllbGQge1xyXG4gLy8gYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICBvdXRsaW5lOiAwO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbi5zaG93X3NlYXJjaF9maWVsZCAuc2VhcmNoX2ZpZWxkIHtcclxuIC8vIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBjb2xvcjogI2VkMDI4YjtcclxuICAuYm9yZGVyLXJhZGl1cygzcHgpO1xyXG4gIC8vYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbn1cclxuXHJcblxyXG5cclxuICAucGFnZS1nYW1lLWluZm8gLmdhbWVfbGF1bmNoX2J1dHRvbnN7XHJcbiAgICAuZGlzcGxheS1pbnB1dHlwZS1tZWRpdW0oe1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC5wYWdlLWdhbWUtaW5mbyAuZ2FtZV9sYXVuY2hfYnV0dG9ucyAuYnV0dG9uLnBsYXktZm9yLXJlYWx7XHJcbiAgICAuZGlzcGxheS1pbnB1dHlwZS1tZWRpdW0oe1xyXG4gICAgICB3aWR0aDogNTglO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIC5wYWdlLWdhbWUtaW5mbyAuZ2FtZV9sYXVuY2hfYnV0dG9ucyAuYnV0dG9uLnBsYXktZm9yLWZ1bntcclxuICAgIC5kaXNwbGF5LWlucHV0eXBlLW1lZGl1bSh7XHJcbiAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNSU7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLnBhZ2UtZ2FtZS1pbmZvIC5nYW1lX2xhdW5jaF9idXR0b25zIC5idXR0b257XHJcbiAgICAuZGlzcGxheS1pbnB1dHlwZS1tZWRpdW0oe1xyXG4gICAgICBjbGVhcjogbm9uZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMHB4XHJcbiAgICB9KTtcclxuICAgIC5idXR0b24tc3RhdGVzKCk7XHJcbiAgICAmOmhvdmVyIHtjb2xvcjogI2ZmZjt9XHJcbiAgfVxyXG5cclxuXHJcbiAgaW1nLnRlcm1zLWltYWdle1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICB9XHJcblxyXG4gIC5hcHBfc3RvcmVfYmFkZ2VzICNtb2JpbGVfYXBwX3N0b3JlX2JhZGdlcyBhe1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiA1cHg7XHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuICAvKiAgU3RhbGtlciBhY3RpdmUgc3R5bGVzIGZvciBKYWNrcG90MjQ3XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vL1RPRE86IFZlcmlmeSBpZiB0aGVzZSBzdHlsZXMgYXJlIG5lZWRlZFxyXG5cclxuICBib2R5LnBhZ2UtZ2FtZS1pbmZvIC53aW5uZXJzLXNjcm9sbGVyLTN7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG5cclxuICBib2R5LnNpZGViYXItZmlyc3QgLm1lc3NhZ2Vze1xyXG4gICAgd2lkdGg6IDYyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcblxyXG4gIGJvZHkuc2lkZWJhci1maXJzdCAucGFnZSAucmVnaW9uLXNpZGViYXItZmlyc3Qge1xyXG4gICAgPiAuYmxvY2sge1xyXG4gICAgICAucmVzZXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAuZG91YmxlLWxhdW5jaC1jb250ZW50e1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5Njk3NjtcclxuICB9XHJcblxyXG5cclxuICAjc2Itd3JhcHBlciAub3ZlcmxheS1oZWFkZXIgYXtcclxuICAgIGNvbG9yOiNGRkY7XHJcblxyXG4gICAgJjphZnRlcntcclxuICAgICAgY29sb3I6I0ZGRjtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIC8qKiAtLS0tLS0tIEZvb3RlciBzdHlsZXMgZml4ZXMgZm9yIEJpbmdvIC0tLS0tLS0gKiovXHJcblxyXG4gIC5wYWdlLWNvbnRlbnR7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCAtMXB4IHJnYmEoMCwwLDAsMC43NSk7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCAtMXB4IHJnYmEoMCwwLDAsMC43NSk7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggLTFweCByZ2JhKDAsMCwwLDAuNzUpO1xyXG4gIH1cclxuXHJcblxyXG4gIC5yZWdpb24tZm9vdGVyIC5tZW51IGxpe1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICB9XHJcblxyXG4gIC5yZWdpb24tZm9vdGVyIC52aWV3LXBheW1lbnQtbWV0aG9kc3tcclxuICAgIG1hcmdpbjogM3B4IDAgMjBweCAwO1xyXG4gIH1cclxuXHJcbiAgLnJlZ2lvbi1mb290ZXIgLnZpZXctcGF5bWVudC1tZXRob2RzIGltZ3tcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLnNtYWxsKHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC5mb290ZXJfbGVnYWxfdGV4dCB1bCBsaSBhe1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG5cclxuICB9XHJcblxyXG5cclxuICAucmVnaW9uLWZvb3RlciAudmlldy1wYXltZW50LW1ldGhvZHMgLnZpZXdzLXJvdy52aWV3cy1yb3ctN3tcclxuICAgIC5zbWFsbCh7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC5mb290ZXItc29jaWFsLWNvcnBvcmF0ZSB1bCBsaXtcclxuICAgIC5zbWFsbCh7XHJcbiAgICAgIG1hcmdpbjowO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAucmVnaW9uLWZvb3RlcntcclxuICAgIGJvcmRlci10b3A6bm9uZTtcclxuICB9XHJcblxyXG5cclxuICAuZm9vdGVyLW1vYmlsZS1idXR0b25ze1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAuc21hbGwoe1xyXG4gICAgICAuZGlzcGxheSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgYXtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5sb2dpbi1idXR0b24ge1xyXG4gICAgICAvL1ZfSGVhZGVyc19idF9qb2luX25vdyBhbHJlYWR5IGhhcyB0aGlzIHNvIC5yZWdpc3Rlci1idXR0b24gZG9lc24ndCBuZWVkIGl0LlxyXG4gICAgICAucHJveGltYS1mb250KCk7XHJcbiAgICB9XHJcbiAgICAucmVnaXN0ZXItYnV0dG9ue1xyXG4gICAgICBwYWRkaW5nOiAzcHggMTBweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAubG9naW4tYnV0dG9ue1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWMwMThjO1xyXG4gICAgICBwYWRkaW5nOiAzcHggMjNweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgJjpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMwMjcwO1xyXG4gICAgICB9XHJcbiAgICAgIC5idXR0b24tc3RhdGVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucmVnaW9uLWZvb3RlciAuZm9vdGVyLW1vYmlsZS1tZW51IGF7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcblxyXG4gIGJvZHkuc21hcnRwaG9uZSwgYm9keS50YWJsZXR7XHJcbiAgICAuZm9vdGVyLWluZm9ybWF0aW9uLW1lbnV7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLyogTW9kYWwgQm94ICovXHJcblxyXG4gIC5tb2RhbC5mYWRlLmxvZ2luLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWNvbnRlbnR7XHJcbiAgICBib3JkZXI6MnB4IHNvbGlkICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgfVxyXG5cclxuICAubG9naW4tbW9kYWwgLmxvZ2luLW92ZXJsYXktZm9vdGVye1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYzAxOGM7XHJcbiAgfVxyXG5cclxuICAubG9naW4tbW9kYWwgZm9ybVtuYW1lPVwicGxheXRlY2gtbG9naW4tZm9ybVwiXSAuZm9ybS1zdWJtaXQsXHJcbiAgLmxvZ2luLW1vZGFsIC5sb2dpbi1tb2RhbCAubG9naW4tb3ZlcmxheS1jb250ZW50LmxvZ2luLWVycm9yIC5mb3JtLXN1Ym1pdHtcclxuXHJcbiAgICAucHJveGltYS1mb250KCk7XHJcblxyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgfVxyXG5cclxuXHJcbiAgLmxvZ2luLW1vZGFsIC5sb2dpbi1vdmVybGF5LWZvb3RlciBhLmJ1dHRvbi0ze1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIC5WX2hlYWRlcnNfYnRfam9pbl9ub3c7XHJcbiAgfVxyXG5cclxuICAubG9naW4tbW9kYWwgZm9ybVtuYW1lPVwicGxheXRlY2gtbG9naW4tZm9ybVwiXSAjZm9yZ290dGVuLWRldGFpbHMtbGluayxcclxuICAubG9naW4tbW9kYWwgLmxvZ2luLW1vZGFsIC5sb2dpbi1vdmVybGF5LWNvbnRlbnQubG9naW4tZXJyb3IgI2ZvcmdvdHRlbi1kZXRhaWxzLWxpbmt7XHJcbiAgICB3aWR0aDogMTIwcHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIC5tZWRpdW0oe1xyXG4gICAgICB0b3A6IDE3NnB4O1xyXG4gICAgICBsZWZ0OiA0NSU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC5sb2dpbi1tb2RhbCBmb3JtW25hbWU9XCJwbGF5dGVjaC1sb2dpbi1mb3JtXCJdIC5mb3JtLXR5cGUtdGV4dGZpZWxkIGlucHV0LFxyXG4gIC5sb2dpbi1tb2RhbCAubG9naW4tbW9kYWwgLmxvZ2luLW92ZXJsYXktY29udGVudC5sb2dpbi1lcnJvciAuZm9ybS10eXBlLXRleHRmaWVsZCBpbnB1dCxcclxuICAubG9naW4tbW9kYWwgZm9ybVtuYW1lPVwicGxheXRlY2gtbG9naW4tZm9ybVwiXSAuZm9ybS10eXBlLXBhc3N3b3JkIGlucHV0LFxyXG4gIC5sb2dpbi1tb2RhbCAubG9naW4tbW9kYWwgLmxvZ2luLW92ZXJsYXktY29udGVudC5sb2dpbi1lcnJvciAuZm9ybS10eXBlLXBhc3N3b3JkIGlucHV0e1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuICB9XHJcblxyXG4gIC5sb2dpbi1tb2RhbCAubG9naW4tb3ZlcmxheS1mb290ZXIgYXtcclxuICAgIHBhZGRpbmc6IDNweCA4cHg7XHJcbiAgfVxyXG5cclxuICAubG9naW4tbW9kYWwgLmxvZ2luLW92ZXJsYXktZm9vdGVyIC5uZXctdXNlci1saW5rIHtcclxuXHJcbiAgICAmOmhvdmVye1xyXG4gICAgICBjb2xvcjogI2VjMDE4YztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sb2dpbi1tb2RhbCAubG9naW4tb3ZlcmxheS1jb250ZW50LmxvZ2luLWVycm9yIC5lcnJvcl9tZXNzYWdle1xyXG4gICAgY29sb3I6I0ZGRjtcclxuICB9XHJcblxyXG4gIC5tb2RhbC1kaWFsb2cgYS5jbG9zZXtcclxuICAgICY6aG92ZXJ7XHJcbiAgICAgIGNvbG9yOiNlYzA3OGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBQcm9tbyBTbGlkZXIgKi9cclxuICAucHJvbW8tc2xpZGVye1xyXG5cclxuICAgIC8vIFVzZWQgdG8gYWxsb3cgcG9wdWxhciBnYW1lcyBvbiBob21lcGFnZSB0byBvdmVybGF5IHRoZSBzbGlkZXJcclxuICAgIC54bGFyZ2UoeyB6LWluZGV4OjEwMDsgfSk7XHJcblxyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAzcHggNXB4IDBweCByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAzcHggNXB4IDBweCByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDVweCAwcHggcmdiYSgwLDAsMCwwLjUpO1xyXG5cclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICAuZmxleHNsaWRlciAuc2xpZGVzID4gbGl7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLnZpZXdzLWZpZWxke1xyXG4gICAgICAmLnZpZXdzLWZpZWxkLXBocHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnByb21vLXNsaWRlciAucHJpbWFyeS1idXR0b257XHJcblxyXG4gICAgLnByb3hpbWEtZm9udCgpO1xyXG5cclxuICAgIHRleHQtc2hhZG93OiAycHggMCAwICM1NjZiMTAsIC0ycHggMCAwICM1NjZiMTAsIDAgMnB4IDAgIzU2NmIxMCwgMCAtMnB4IDAgIzU2NmIxMCwgMnB4IDJweCAjNTY2YjEwLCAtMnB4IC0ycHggMCAjNTY2YjEwLCAycHggLTJweCAwICM1NjZiMTAsIC0ycHggMnB4IDAgIzU2NmIxMDtcclxuICAgIGJvcmRlcjozcHggc29saWQgIzU2NmIxMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuICAgICY6aG92ZXJ7XHJcbiAgICAgIGNvbG9yOiNmZmY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZmxleHNsaWRlciAucHJpbWFyeS1idXR0b257XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICByaWdodDogMTRweDsgLy9Ib3Jpem9udGFsbHkgYWxpZ25lZCB3aXRoIHJpZ2h0IGVkZ2Ugb2YgYnVsbGV0IGJ1dHRvbnNcclxuICAgIHBhZGRpbmc6IDVweCAxNXB4O1xyXG4gICAgYm90dG9tOiA3NXB4O1xyXG5cclxuICAgIC8vRml4IHRvIGFsbG93IFNhbXN1bmcgdGFibGV0IHRvIHZlcnRpY2FsbHkgYWxpZ24gYnV0dG9uIHdpdGhvdXQgYWZmZWN0aW5nIERlc2t0b3BcclxuICAgIC8vYm9keS50YWJsZXQgJiB7XHJcbiAgICAvLyAgLmxhcmdlLW1pbi13aWR0aCh7XHJcbiAgICAvLyAgICBib3R0b206IDIuNmVtO1xyXG4gICAgLy8gIH0pO1xyXG4gICAgLy99XHJcblxyXG4gICAgLmhlcm8tYmFubmVyLXN0YXRlMih7XHJcbiAgICAgIGJvdHRvbTogNjVweDtcclxuICAgIH0pO1xyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIGJvdHRvbTogNjVweDtcclxuICAgIH0pO1xyXG5cclxuICAgIC5tZWRpdW0oe1xyXG4gICAgICBib3R0b206IDYwcHg7XHJcbiAgICAgIHJpZ2h0OiAtNjBweDtcclxuICAgICAgZm9udC1zaXplOiAxZW07XHJcbiAgICB9KTtcclxuXHJcbiAgICAuZ2FtZS1pbmZvLXBhZ2Utc3RhdGUxKHtcclxuICAgICAgYm90dG9tOiA2MHB4O1xyXG4gICAgICByaWdodDogLTYwcHg7XHJcbiAgICB9KTtcclxuXHJcbiAgICAuZGlzcGxheS1qb2ludXMtYnV0dG9uKHtcclxuICAgICAgcmlnaHQ6IC01NXB4O1xyXG4gICAgICBib3R0b206IDU1cHg7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICAuYmxvY2suYmxvY2stc3lzdGVtLm1haW4uYmxvY2stb2RkLmZpcnN0LmNsZWFyZml4e1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICB9XHJcblxyXG4gIC8qLS0tLS0vLy8vIHJlZ2lzdHJhdGlvbiBwYWdlIC8vLy8tLS0tLSovXHJcbiAgLm1vZGFsLmZhZGUucmVnaXN0cmF0aW9uLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWJvZHkge1xyXG4gICAgaDIsaDMsIHAsIGxpIHtcclxuICAgICAgLlZfbW9kYWxfY29udGVudF9jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgLlZfbW9kYWxfY29udGVudF9saW5rX2NvbG91cjtcclxuICAgIH1cclxuICB9XHJcbiAgLmZvcm0tc3R5bGUgaW5wdXRbdHlwZT1cInRleHRcIl0sIC5mb3JtLXN0eWxlIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgLmZvcm0tc3R5bGUgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCAuZm9ybS1zdHlsZSBpbnB1dFt0eXBlPVwidGVsXCJde1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICNkOGQ3ZDg7XHJcbiAgfVxyXG5cclxuXHJcbiAgYm9keS5wYWdlLXJlZ2lzdGVye1xyXG5cclxuICAgIC5mb3JtLXN0eWxlIHNlbGVjdHtcclxuICAgICAgYmFja2dyb3VuZDogI2Q4ZDdkODtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgZmllbGRzZXQgc3Bhbi50aXRsZSwgLmZvcm0tc3R5bGUgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5mb3JtLXN1Ym1pdCB7XHJcbiAgICAgIC5wcm94aW1hLWZvbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtLmZvcm0tc3R5bGUgZmllbGRzZXQgc3Bhbi50aXRsZXtcclxuICAgICAgY29sb3I6ICNlYzAxOGM7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tc3R5bGUgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5mb3JtLXN1Ym1pdHtcclxuXHJcbiAgICAgIC8vUmVzZXRcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICBwYWRkaW5nOiA0cHggMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAubWVzc2FnZXMuZXJyb3J7XHJcbiAgICAgIGNvbG9yOiNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tc3R5bGUgYXtcclxuICAgICAgY29sb3I6I2VjMDE4YztcclxuICAgIH1cclxuXHJcbiAgICAucmVnaXN0cmF0aW9uLWZvcm0tbGVnYWwtZm9vdGVyIGF7XHJcbiAgICAgIGNvbG9yOiMyNDI0MjQ7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIGRpdiNzZWxlY3RlZC1jdXJyZW5jeXtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnBhZ2UtcmVnaXN0ZXIgLnJlZ2lzdHJhdGlvbi1mb3JtLWxlZ2FsLWZvb3RlcntcclxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0JpbmdvIEdhbWVzIFBhZ2UgYW5kIFRpbWV0YWJsZSBQYWdlXHJcbiAgYm9keS5wYWdlLWJpbmdvLWZyb250LGJvZHkucGFnZS10aW1ldGFibGUsYm9keS5wYWdlLWJpbmdvIHtcclxuICAgIC5wYWdlLWNvbnRlbnR7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC5iaW5nby10aW1ldGFibGUtZmlsdGVye1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy9tYXJnaW46MjVweCAwO1xyXG5cclxuICAgIGZvcm0ge1xyXG4gICAgICBtYXJnaW46IDI1cHggMDtcclxuICAgIH1cclxuXHJcbiAgICBkaXYge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbi8vIENvbnRlbnQgSGVhZGVyIFN0eWxlc1xyXG4uY29udGVudC1oZWFkZXIge1xyXG5cclxuICAudGl0bGUgIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gIH1cclxuXHJcbiAgLy9SZW1vdmUgUGFnZSBUaXRsZSBmcm9tIFBhZ2VzXHJcbiAgLnRpdGxlIHtcclxuICAgIC5wYWdlLWJpbmdvICYsIC5wYWdlLXRpbWV0YWJsZSAmLCAucHJvbW90aW9ucy12ZXJ0aWNhbCAmLCAucGFnZS1wcm9tb3Rpb25zICYsIC5wYWdlLWJpbmdvLWZyb250ICYsLm5vZGUtdHlwZS1wcm9tb3Rpb25zICYgIHtcclxuICAgICAgLmRpc3BsYXkobm8pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaDEge1xyXG5cclxuICAgIC5wYWdlLWdhbWUtaW5mbyAmIHtcclxuICAgICAgLy9SZXNldFxyXG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG5cclxuICAgICAgLy9NQlMtMTk1OVxyXG4gICAgICAuZGlzcGxheS1pbnB1dHlwZS1tZWRpdW0oeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0pO1xyXG4gICAgICAuZ2FtZS1pbmZvLXBhZ2Utc3RhdGUxKHsgdGV4dC1hbGlnbjogbGVmdDsgfSk7XHJcbiAgICAgIHBhZGRpbmc6IDVweCA5OHB4O1xyXG4gICAgICAueGxhcmdlKHsgcGFkZGluZzogMDsgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2Utd2VsY29tZSAmIHtcclxuXHJcbiAgICAgIC8vUmVzZXRcclxuICAgICAgLnJlc2V0KCk7XHJcblxyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG5cclxuICAgICAgLm1lZGl1bSh7IGZvbnQtc2l6ZTogMjBweDsgcGFkZGluZzogMTBweCAwOyB9KTtcclxuXHJcbiAgICAgIC8vVE9ETzogQ29sb3VyIE1peGluXHJcbiAgICAgIGNvbG9yOiAjZjNlNWY0O1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLy9FTkQgb2YgQ29udGVudCBIZWFkZXIgSDFcclxuXHJcbiAgLnBhZ2UtZ2V0dGluZy1zdGFydGVkICYge1xyXG4gICAgLmRpc3BsYXkoKTtcclxuICB9XHJcbn1cclxuLy9FTkQgb2YgQ29udGVudCBIZWFkZXJcclxuXHJcblxyXG4gIC5iaW5nby10aW1ldGFibGUtZmlsdGVyLWdhbWV0eXBlIHtcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICB3aWR0aDogMjgwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgYm9yZGVyOm5vbmU7XHJcbiAgICAgIGhlaWdodDogMzRweDtcclxuICAgICAgcGFkZGluZzogMHB4IDI4cHggMHB4IDEwcHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIHRleHQtaW5kZW50OiAxcHg7XHJcbiAgICAgIHRleHQtb3ZlcmZsb3c6ICcnO1xyXG5cclxuICAgICAgJjpmb2N1c3tcclxuICAgICAgICBib3JkZXI6MHB4O1xyXG4gICAgICAgIG91dGxpbmU6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBhdXRvIDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFNldCB0byBnZXQgSUUgdG8gcmVtb3ZlIGRlZmF1bHQgZHJvcGRvd24gYXJyb3cgKGJ5IGhpZGluZyBpdClcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIGhlaWdodDogMzRweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9idXR0b25zL3NlbGVjdC1idXR0b24ucG5nKSA5OCUgNTAlIG5vLXJlcGVhdCAjZjJlNmY0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cclxuICAgIC5zbWFsbCh7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG5cclxuICAuYmluZ28tdGltZXRhYmxlLWZpbHRlci1kYXlze1xyXG5cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgIHBhZGRpbmc6IDBweCAyOHB4IDBweCAxMHB4O1xyXG5cclxuICAgICAgJjpmb2N1c3tcclxuICAgICAgICBib3JkZXI6MHB4O1xyXG4gICAgICAgIG91dGxpbmU6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBhdXRvIDBweDtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvYnV0dG9ucy9zZWxlY3QtYnV0dG9uLnBuZykgOTUlIDUwJSBuby1yZXBlYXQgI2YyZTZmNDtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuXHJcbiAgICAuc21hbGwoe1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgIHdpZHRoOiAxNThweDtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgLmJpbmdvLXRpbWV0YWJsZS1zdWJtaXQge1xyXG5cclxuICAgIGhlaWdodDogMzRweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblxyXG4gICAgaW5wdXR7XHJcbiAgICAgIC5wcm94aW1hLWZvbnQoKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhMGE4ZTtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgcGFkZGluZzogNnB4IDMwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIC5kaXNwbGF5KCk7XHJcblxyXG4gICAgICAmOmhvdmVye1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjUzYjk7XHJcbiAgICAgICAgY29sb3I6ICM0YzBhNGE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICB9XHJcblxyXG4gIC5iaW5nby10aW1ldGFibGUsIC5iaW5nby1nYW1lc3tcclxuXHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgIHVsLnRpdGxle1xyXG4gICAgICAvL3BhZGRpbmc6IDAgMTBweCAwIDEwcHg7XHJcbiAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgLy90ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgICAgJi5uby1tb2JpbGV7XHJcbiAgICAgICAgbWFyZ2luOiA0cHggMDtcclxuICAgICAgICAuZGlzcGxheSgpO1xyXG4gICAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgICAuZGlzcGxheShubyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxpe1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiA5LjMlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBjb2xvcjogI2VjMDE4YztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAubGFyZ2UtbWluLXdpZHRoKHtcclxuICAgICAgICAgIHdpZHRoOiA5LjglO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxke1xyXG4gICAgICAgICAgd2lkdGg6IDMyJTtcclxuICAgICAgICAgIHRleHQtaW5kZW50OiAxNnB4O1xyXG5cclxuICAgICAgICAgIC5wYWdlLWJpbmdvLWZyb250ICYge1xyXG4gICAgICAgICAgICB3aWR0aDogMzAlO1xyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgIHdpZHRoOiAyNSU7XHJcblxyXG4gICAgICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMy41JTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmluZ28tZ2FtZXMgdWwudGl0bGUgbGkge1xyXG4gICAgICB0ZXh0LWluZGVudDogMTZweDtcclxuICAgIH1cclxuICAgIHVsLmJpbmdvLXBsYXl0ZWNoLWdhbWVze1xyXG5cclxuICAgICAgcGFkZGluZzogMCAxMHB4IDA7XHJcbiAgICAgIG1hcmdpbjogMHB4O1xyXG5cclxuICAgICAgLm1lZGl1bSh7XHJcbiAgICAgICAgcGFkZGluZzogMCA1cHggMCAxMHB4O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMTBweDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAubGFyZ2Uoe1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDEwcHg7XHJcbiAgICAgIH0pO1xyXG4gICAgICAuc21hbGwoe1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgbGl7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMCU7XHJcblxyXG4gICAgICAgIC5iaW5nby10aW1ldGFibGUgJiB7XHJcbiAgICAgICAgICB3aWR0aDogMTIlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgICAuYmluZ28tdGltZXRhYmxlICYge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBwYWRkaW5nOiA4cHggMDtcclxuICAgICAgICAvL21hcmdpbi1yaWdodDo1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgICAgLmxhcmdlKHtcclxuICAgICAgICAgIHdpZHRoOiAyMSU7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwcHg7XHJcblxyXG4gICAgICAgICAgLmJpbmdvLXRpbWV0YWJsZSAmIHtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgd2lkdGg6IDI4JTtcclxuXHJcbiAgICAgICAgICAgICYgLmJpbmdvLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC5tZWRpdW0oe1xyXG4gICAgICAgICAgd2lkdGg6IDIwJTtcclxuXHJcbiAgICAgICAgICAuYmluZ28tdGltZXRhYmxlICYge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG5cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7XHJcbiAgICAgICAgICB3aWR0aDogMTklOyAvL0JpbmdvIEdhbWVzIE9ubHlcclxuICAgICAgICAgIC5iaW5nby10aW1ldGFibGUgJiB7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICB0b3A6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC8vICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAuc21hbGwoe1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgLy8gICAgIHdpZHRoOjE3JTtcclxuICAgICAgICB9KTtcclxuXHJcblxyXG4gICAgICAgICYubm8tbW9iaWxle1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgLmxhcmdlKHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICB3aWR0aDozMiU7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgY29sb3I6ICNlYzAxOGM7XHJcblxyXG4gICAgICAgICAgLnBhZ2UtYmluZ28tZnJvbnQgJiB7XHJcbiAgICAgICAgICAgIC5sYXJnZS1taW4td2lkdGgoe1xyXG4gICAgICAgICAgICAgIC8vIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOjNweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcclxuXHJcbiAgICAgICAgICAgIC5iaW5nby10aW1ldGFibGUgJiB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9KTtcclxuXHJcblxyXG4gICAgICAgICAgLmhlcm8tYmFubmVyLXN0YXRlMyh7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6MTNweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xyXG5cclxuICAgICAgICAgICAgLmJpbmdvLXRpbWV0YWJsZSAmIHtcclxuICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIC5tZWRpdW0oe1xyXG5cclxuICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IDEzcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG5cclxuICAgICAgICAgICAgLmJpbmdvLXRpbWV0YWJsZSAmIHtcclxuICAgICAgICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICAgICAgICBtYXJnaW46IDVweCAwIDEwcHggMDtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgICAgICAgICAuYmluZ28tdGltZXRhYmxlICYge1xyXG4gICAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgLnNtYWxsKHtcclxuXHJcbiAgICAgICAgICAgIC5iaW5nby10aW1ldGFibGUgJiB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAvLyAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAvLyAgdG9wOjE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICB9KTtcclxuXHJcblxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgIHdpZHRoOjEyJTtcclxuXHJcbiAgICAgICAgICAueGxhcmdlKHtcclxuICAgICAgICAgICAgd2lkdGg6MTElO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgLmxhcmdlKHtcclxuICAgICAgICAgICAgd2lkdGg6MTElO1xyXG5cclxuICAgICAgICAgICAgLmJpbmdvLXRpbWV0YWJsZSAmIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIC5tZWRpdW0oe1xyXG4gICAgICAgICAgICB3aWR0aDoxNiU7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgICAgICAgICAucGFnZS1iaW5nby1mcm9udCAmIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTclO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5iaW5nby1idXR0b257XHJcbiAgICAgICAgICAuVl9oZWFkZXJzX2J0X2pvaW5fbm93O1xyXG4gICAgICAgICAgLnByb3hpbWEtZm9udChib2xkKTtcclxuICAgICAgICAgIC5kaXNwbGF5KCk7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG5cclxuICAgICAgICAgIC54bGFyZ2UoeyByaWdodDogLTEwcHg7IHBhZGRpbmc6IDAuMWVtIDAuNmVtOyB9KTtcclxuICAgICAgICAgIC5oZXJvLWJhbm5lci1zdGF0ZTEoeyByaWdodDogLTE1cHg7IH0pO1xyXG4gICAgICAgICAgLmxhcmdlLW1pbi13aWR0aCh7IHJpZ2h0OiAtMjBweDsgfSk7XHJcbiAgICAgICAgICAudGFibGV0LXh4bGFyZ2UoeyByaWdodDogLTEwcHg7IH0pO1xyXG4gICAgICAgICAgLmhlcm8tYmFubmVyLXN0YXRlMih7IHJpZ2h0OiAtMTBweDsgfSk7XHJcbiAgICAgICAgICAubGFyZ2UoeyB0b3A6LTEwcHg7IHJpZ2h0OiAtNXB4OyBmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHBhZGRpbmc6IDAuNWVtIDA7IH0pO1xyXG4gICAgICAgICAgLm1lZGl1bSh7IHJpZ2h0OiAtNXB4OyB9KTtcclxuICAgICAgICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoeyByaWdodDogLTEwcHg7IH0pO1xyXG4gICAgICAgICAgLnNtYWxsKHsgZm9udC1zaXplOiAxNXB4OyByaWdodDogLTVweDsgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL1RPRE86IE9wdGltaXplXHJcbiAgLmJpbmdvLXRpbWV0YWJsZSB1bC5iaW5nby1wbGF5dGVjaC1nYW1lcyBsaSB7XHJcbiAgICAubGFyZ2UoeyB3aWR0aDogMjUlOyB9KTtcclxuICB9XHJcbiAgLmJpbmdvLXRpbWV0YWJsZSB1bC5iaW5nby1wbGF5dGVjaC1nYW1lcyBsaSAuYmluZ28tYnV0dG9uIHtcclxuICAgIC8vICAudGFibGV0LXh4bGFyZ2UoeyByaWdodDogLTgwcHg7IH0pO1xyXG4gICAgLy8gIC5oZXJvLWJhbm5lci1zdGF0ZTEoeyByaWdodDogLTcwcHg7IH0pO1xyXG4gICAgLy8gIC5oZXJvLWJhbm5lci1zdGF0ZTIoeyByaWdodDogLTQwcHg7IH0pO1xyXG4gICAgLy8gIC5sYXJnZS1taW4td2lkdGgoeyByaWdodDogLTcwcHg7IH0pO1xyXG4gICAgLy8gIC5jYXNoaWVyLWxhcmdlKHsgcmlnaHQ6IC04MHB4OyB9KTtcclxuICAgIC8vICAubGFyZ2UoeyByaWdodDogLTEwNSU7IH0pO1xyXG4gICAgLy8gIC5tZWRpdW0oeyByaWdodDogLTI1cHg7Zm9udC1zaXplOiAyMHB4O30pO1xyXG4gICAgLy8gIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoeyBmb250LXNpemU6IDE2cHg7cmlnaHQ6IC0xNXB4OyB9KTtcclxuICAgIC8vICAuc21hbGwoe3JpZ2h0OiAtMTBweDt9KTtcclxuXHJcbiAgICAueGxhcmdlKHsgcmlnaHQ6IC0xMHB4OyBwYWRkaW5nOiAwLjFlbSAwLjZlbTsgfSk7XHJcbiAgICAuaGVyby1iYW5uZXItc3RhdGUxKHsgcmlnaHQ6IC0xNXB4OyB9KTtcclxuICAgIC5sYXJnZS1taW4td2lkdGgoeyByaWdodDogLTcwcHg7IH0pO1xyXG4gICAgLnRhYmxldC14eGxhcmdlKHsgcmlnaHQ6IC03MHB4OyB9KTtcclxuICAgIC5oZXJvLWJhbm5lci1zdGF0ZTIoeyByaWdodDogLTQwcHg7IH0pO1xyXG4gICAgLmxhcmdlKHsgdG9wOi0xMHB4OyByaWdodDogLTEwMCU7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgcGFkZGluZzogMC41ZW0gMDsgfSk7XHJcbiAgICAubWVkaXVtKHsgcmlnaHQ6IC0yNXB4O2ZvbnQtc2l6ZTogMjBweDsgfSk7XHJcbiAgICAuZ2FtZS1pbmZvLXBhZ2Utc3RhdGUxKHsgcmlnaHQ6IC0xNXB4OyB9KTtcclxuICAgIC5zbWFsbCh7IGZvbnQtc2l6ZTogMTZweDtyaWdodDogLTEwcHg7IH0pO1xyXG4gIH1cclxuICAvL0VuZCBvZiBUT0RPOiBPcHRpbWl6ZVxyXG5cclxuICB1bC5vbmx5LW1vYmlsZXtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAubGFyZ2Uoe1xyXG4gICAgICAuZGlzcGxheSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL3VsLmJpbmdvLXBsYXl0ZWNoLWdhbWVzW3N0eWxlPVwiZGlzcGxheTogYmxvY2s7XCJdOm50aC1jaGlsZChvZGQpIHtcclxuICAuYmluZ28tdGltZXRhYmxlLCAuYmluZ28tZ2FtZXMge1xyXG4gICAgdWwuYmluZ28tcGxheXRlY2gtZ2FtZXM6bnRoLW9mLXR5cGUob2RkKSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLy90aGlzIGNsYXNzIGlzIHRoZSBtb3JlIGltcG9ydGFudCB0byBkZWZpbmUgdGhlIHJvdyBjb2xvclxyXG4gICAgLmJpbmdvLXBsYXl0ZWNoLWdhbWVzLm9kZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgLmJpbmdvLXRpbWV0YWJsZSwgLmJpbmdvLWdhbWVzIHtcclxuICAgIHVsLmJpbmdvLXBsYXl0ZWNoLWdhbWVzOm50aC1vZi10eXBlKGV2ZW4pLCAmLmV2ZW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZjNlNWY0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vdGhpcyBjbGFzcyBpcyB0aGUgbW9yZSBpbXBvcnRhbnQgdG8gZGVmaW5lIHRoZSByb3cgY29sb3JcclxuICAgIC5iaW5nby1wbGF5dGVjaC1nYW1lcy5ldmVuIHtcclxuICAgICAgYmFja2dyb3VuZDogI2YzZTVmNCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHVsLmJpbmdvLXRpbWV0YWJsZS1wYWdpbmF0aW9ue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZTVmNDtcclxuICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgIGxpe1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCAzcHg7XHJcbiAgICAgIGF7XHJcbiAgICAgICAgLnByb3hpbWEtZm9udCgpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzAxOGM7XHJcbiAgICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XHJcblxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1M2I5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZvY3Vze1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTNiOTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmN1cnJlbnRQYWdle1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjUzYjk7XHJcbiAgICAgICAgY29sb3I6ICM3ZDAzNGE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wcmV2UGFnZXtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlNWY0O1xyXG4gICAgICAgIGNvbG9yOiNkNjAyN2Y7XHJcbiAgICAgICAgYm9yZGVyOm5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG5cclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZTVmNDtcclxuICAgICAgICAgIGNvbG9yOiAjM2YwMTI2O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm5leHRQYWdle1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2U1ZjQ7XHJcbiAgICAgICAgY29sb3I6I2Q2MDI3ZjtcclxuICAgICAgICBib3JkZXI6bm9uZTtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcblxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlNWY0O1xyXG4gICAgICAgICAgY29sb3I6ICMzZjAxMjY7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzcGFuLnRpdGxlLW1vYmlsZXtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAubGFyZ2Uoe1xyXG4gICAgICAuZGlzcGxheSgpO1xyXG4gICAgfSk7XHJcbiAgICAubWVkaXVtKHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAuaWNvLWJpbmdvLXJvb20ge1xyXG4gICAgaGVpZ2h0OjI2cHg7XHJcbiAgICB3aWR0aDogMjZweDtcclxuICAgIC5kaXNwbGF5KCk7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDoxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcvYXNzZXRzL2ljb25zL2JpbmdvLWJhbGxzLnBuZycpIGNlbnRlciAtM3B4IG5vLXJlcGVhdDtcclxuXHJcbiAgICAudHlwZS1tdWx0aXZhcmlhbnQgJiB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnL2Fzc2V0cy9pY29ucy9iaW5nby1iYWxscy5wbmcnKSBjZW50ZXIgLTNweCBuby1yZXBlYXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnR5cGUtNzUtYmFsbCAmIHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xMDZweDtcclxuICAgIH1cclxuICAgIC50eXBlLTgwLWJhbGwgJiB7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMTM5cHg7XHJcbiAgICB9XHJcbiAgICAudHlwZS05MC1iYWxsICYge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTcxcHg7XHJcbiAgICB9XHJcbiAgICAudHlwZS1wYXR0ZXJuLWJpbmdvICYge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTE3M3B4O1xyXG4gICAgfVxyXG4gICAgLnR5cGUtam9rZXItamFja3BvdCAmIHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0zOHB4O1xyXG4gICAgfVxyXG4gICAgLnR5cGUtZGVhbC1vci1uby1kZWFsLTc1ICYge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTMxMnB4O1xyXG4gICAgfVxyXG4gICAgLnR5cGUtNzUtYmFsbC1wYXR0ZXJuICYge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTIwNnB4O1xyXG4gICAgfVxyXG4gICAgLnR5cGUtbHVja3ktbnVtYmVycyAmIHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0yNDFweDtcclxuICAgIH1cclxuICAgIC50eXBlLWRlYWwtb3Itbm8tZGVhbCAmIHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0yNzRweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5iaW5nby1yb29tLW1vYmlsZXtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIC5wcm94aW1hLWZvbnQoKTtcclxuICAgIC8vVE9ETzogQ2hlY2sgZWZmZWN0IG9mIHRoaXNcclxuICAgIC8vbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgfVxyXG5cclxuICBzcGFuLnRpdGxlLW1vYmlsZXtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogIzkwMDM1ZTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xyXG4gIH1cclxuXHJcbiAgYm9keS50YWJsZXR7XHJcbiAgICB1bC5iaW5nby1wbGF5dGVjaC1nYW1lc3tcclxuICAgICAgcGFkZGluZzowIDVweCAwIDVweDtcclxuXHJcbiAgICAgIGxpe1xyXG4gICAgICAgIC5iaW5nby1idXR0b257XHJcbiAgICAgICAgICAvL2ZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL0NTUyBPdmVycmlkZXMgZm9yIEJpbmdvIFBhZ2UgVGltZXRhYmxlIFRhYlxyXG4gIC5iaW5nby10aW1ldGFibGUge1xyXG4gICAgdWwudGl0bGUge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgLmxhcmdlLW1pbi13aWR0aCh7XHJcbiAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHVsLmJpbmdvLXBsYXl0ZWNoLWdhbWVzIGxpIHtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgLmxhcmdlLW1pbi13aWR0aCh7IHBhZGRpbmctbGVmdDogMTBweDsgfSk7XHJcbiAgICAgIH1cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAubGFyZ2UtbWluLXdpZHRoKHsgd2lkdGg6IDE1JTsgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLyogLS0tLSBCaW5nbyB0ZW1wbGF0ZSBzdHJ1Y3R1cmUgLS0tLSAqL1xyXG5cclxuICBib2R5LnZuLWJpbmdvIC5jb2x1bW40LTZ7XHJcbiAgICAvL0FmZmVjdHMgQmluZ28gTWFpbiBCb2R5IFdpZHRoIC0gRGlwIGhhcyB1c2VkIHRvIGV4dGVuZCBzbyBqYWNrcG90cyBmaXQgcHJvcGVybHlcclxuICAgIHdpZHRoOiA3ODVweDtcclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0ZJeCAtIG90aGVyd2lzZSBTYW1zdW5nIHRhYmxldCBzaG93cyBkZXNrdG9wIGxheW91dFxyXG4gIGJvZHkudm4tYmluZ28udGFibGV0IC5jb2x1bW40LTYge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAvL0xvZ2luIEZvcm0gQ1NTIChuZWVkcyB0byBiZSByZXNldCBiZWNhdXNlIG9mIGFib3ZlIGNvZGUpXHJcbiAgLnJlZ2lvbi1wb3B1cHMgLmNvbHVtbjYtNiB7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG5cclxuICB9XHJcbiAgLmxvZ2luLW1vZGFsIGZvcm1bbmFtZT1cInBsYXl0ZWNoLWxvZ2luLWZvcm1cIl0gI2ZvcmdvdHRlbi1kZXRhaWxzLWxpbmsge1xyXG4gICAgdG9wOiAtNDVweDtcclxuICAgIGxlZnQ6IDQ0JTtcclxuICB9XHJcbiAgLnJlZ2lvbi1oZWFkZXIgLnJlZ2lzdHJhdGlvbi1zdHlsZSAuY29sdW1uNi02IHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLmJveC1zdHlsZSsuc3VwcG9ydC1idXR0b25ze1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgdG9wOiAxMHB4O1xyXG5cclxuICAgIC5uZXdsaW5lIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweFxyXG4gICAgfVxyXG4gICAgLmhlbHBfYnV0dG9uLCAuY2hhdF9idXR0b24ge1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcbiAgYm9keS52bi1iaW5nbyAubm90LWxvZ2dlZC1pbiAudG1wX2NoYXRfZml4ZXMge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDYlO1xyXG4gIH1cclxuICBib2R5LnZuLWJpbmdvICAucmVnaXN0cmF0aW9uLXN0eWxlIC5jb2x1bW40LTYge1xyXG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xyXG4gIH1cclxuICBib2R5LnZuLWJpbmdvICAucGxheXRlY2gtbG9naW4tYmxvY2sgZm9ybVtuYW1lPVwicGxheXRlY2gtbG9naW4tZm9ybVwiXS5yZWdpc3RyYXRpb24tc3R5bGUgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICBib2R5LnZuLWJpbmdvICAucGxheXRlY2gtbG9naW4tYmxvY2sgZm9ybVtuYW1lPVwicGxheXRlY2gtbG9naW4tZm9ybVwiXS5yZWdpc3RyYXRpb24tc3R5bGUgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5mb3JtLXN1Ym1pdCAge1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgLnByb3hpbWEtZm9udCgpO1xyXG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vUmVtb3ZlcyBncmFkaWVudFxyXG4gICAgfVxyXG4gIH1cclxuICBib2R5LnZuLWJpbmdvIHtcclxuICAgIC5yZWdpc3RyYXRpb24tc3R5bGUgLmJ1dHRvbi5zdWNjZXNzLCAuZm9ybS1oZWxwZXJzIC5idXR0b24uc3VjY2VzcyB7XHJcbiAgICAgIC5WX2hlYWRlcnNfYnRfam9pbl9ub3c7XHJcbiAgICAgIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcbiAgICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBib2R5LnZuLWJpbmdvICAucGxheXRlY2gtbG9naW4tYmxvY2sgZm9ybVtuYW1lPVwicGxheXRlY2gtbG9naW4tZm9ybVwiXS5yZWdpc3RyYXRpb24tc3R5bGUgLmZvcm0tdHlwZS1wYXNzd29yZC5mb3JtLWl0ZW0tcGFzc3dvcmQge1xyXG4gICAgd2lkdGg6IDk1JTtcclxuICB9XHJcbiAgYm9keS52bi1iaW5nbyAucmVnaW9uLWhlYWRlciAucGxheXRlY2gtbG9naW4tYmxvY2sgLnJlZ2lzdHJhdGlvbi1zdHlsZSB7XHJcbiAgICB0b3A6IDExcHg7XHJcbiAgfVxyXG4gIGJvZHkudm4tYmluZ28gLmNvbHVtbjItNntcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYm9keS5wYWdlLWJpbmdvLWZyb250LCBib2R5Lm5vZGUtdHlwZS1wcm9tb3Rpb25zIHtcclxuICAgIC5wYWdlLWNvbnRlbnR7XHJcblxyXG4gICAgICAvL1Jlc2V0c1xyXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAubm9kZS1wYWdlIC5jb250ZW50e1xyXG4gICAgICAucmVzZXQodHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9BZGRpbmcgc2l6ZSBmb3IgYm90aCBqYWNrcG90cyBvbiBQYWdlc1xyXG4gICAgLy8gSmFja3BvdHMgRGlzcGxheWVkIGluIHNpZGViYXIgb24gcmlnaHRcclxuICAgIC5iaW5nby1qYWNrcG90MXtcclxuICAgICAgaGVpZ2h0OiAyNzBweDtcclxuICAgIH1cclxuICAgIC5iaW5nby1qYWNrcG90MntcclxuICAgICAgaGVpZ2h0OiAyMzNweDsgLy9BbGlnbnMgamFja3BvdHMgd2l0aCBCaW5nbyBHYW1lcyBvbiBmcm9udCBwYWdlXHJcblxyXG4gICAgICAmLmphY2twb3RzLXNsaWRlciB1bHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL0phY2twb3QgU2xpZGVyIFN0eWxlc1xyXG4gICAgLmphY2twb3RzLXNsaWRlcntcclxuXHJcbiAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCAtMXB4IHJnYmEoMCwwLDAsMC43NSk7XHJcbiAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IC0xcHggcmdiYSgwLDAsMCwwLjc1KTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IC0xcHggcmdiYSgwLDAsMCwwLjc1KTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZTVmNDtcclxuXHJcbiAgICAgIGgye1xyXG4gICAgICAgIC5wcm94aW1hLWZvbnQoKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWMwMThjO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgbGl7XHJcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG5cclxuICAgICAgICBhOjpiZWZvcmV7XHJcbiAgICAgICAgICAuVl9oZWFkZXJzX2J0X2pvaW5fbm93O1xyXG4gICAgICAgICAgY29udGVudDogJ1BsYXkgTm93JztcclxuICAgICAgICAgIHBhZGRpbmc6IDNweCAxNXB4O1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgIC5kaXNwbGF5KCk7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDE5MHB4O1xyXG4gICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC02M3B4O1xyXG4gICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgd2lkdGg6IDkzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWd7XHJcbiAgICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVye1xyXG4gICAgICAgIGE6OmJlZm9yZSB7XHJcbiAgICAgICAgICAvLy5WX2hlYWRlcnNfYnRfam9pbl9ub3c7XHJcbiAgICAgICAgICAvLyBDYW5ub3QgYmUgdXNlZCBiZWNhdXNlIGhvdmVyIGlzIG5vdCBhcHBsaWVkIHRvIHBzZXVkb2VsZW1lbnQgYnV0IHBhcmVudC5cclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNjMWYwMTg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZ3tcclxuICAgICAgICAgIC13ZWJraXQtZmlsdGVyOm5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuamFja3BvdEFtb3VudHtcclxuICAgICAgICBjb2xvcjojZWMwMThjO1xyXG4gICAgICAgIC5wcm94aW1hLWZvbnQoKTtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTQwcHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuLy9Gcm9udCBQYWdlIGFuZCBJbmRpdmlkdWFsIFByb21vLiBQYWdlc1xyXG5ib2R5LmRpc2FibGUtcGxheXRlY2gtZ2FtZXMge1xyXG4gIC8vSmFja3BvdCBTbGlkZXIgU3R5bGVzXHJcbiAgLmphY2twb3RzLXNsaWRlciBsaSBhOjpiZWZvcmUsLmphY2twb3RzLXNsaWRlciBsaSBhOmhvdmVyOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJ01vcmUgSW5mbyc7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAuVl9oZWFkZXJzX2J0X21vcmVfaW5mbygpO1xyXG4gICAgLy8gQWRkZWQgdG8gYWxsb3cgdXMgdG8gdXNlIG5vcm1hbCBidXR0b24gc3R5bGVzIGFuZCBjaGFuZ2UgdGhlIGJhY2tncm91bmQgYXMgbmVlZGVkXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzljMWM5ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4gIGJvZHkubm9kZS10eXBlLXByb21vdGlvbnMge1xyXG5cclxuICAgIC5wYWdlLWNvbnRlbnQge1xyXG5cclxuICAgICAgLm1lZGl1bSh7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNGM0U1RjU7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIC0tLS0tLS0gR2FtZSBTZWFyY2ggQm94IC0tLS0tLS0gKi9cclxuXHJcbiAgLnBhZ2UtYmluZ28tZnJvbnQuY2FzaW5vLXZlcnRpY2FsLCAucGFnZS1nYW1lcyB7XHJcbiAgICAubmV0cGxheS1nYW1lQ2F0ZWdvcmllc3tcclxuICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAubGFyZ2Uoe1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdWx7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuc2hvd19zZWFyY2hfZmllbGQgLnNlYXJjaF9ib3h7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgLmxhcmdlKHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAub3Blbl9zZWFyY2h7XHJcbiAgICAgICAgICBsZWZ0OjhweDtcclxuXHJcbiAgICAgICAgICAuc21hbGwoe1xyXG4gICAgICAgICAgICB0b3A6MTlweDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNsb3NlX3NlYXJjaHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgLnNtYWxsKHtcclxuICAgICAgICAgICAgdG9wOjVweDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnNlYXJjaF9ib3h7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIC5zZWFyY2hfZmllbGRfY29udGFpbmVye1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNlYXJjaF9pY29ue1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICBjb2xvcjogI2VjMDE4YztcclxuXHJcbiAgICAgICAgICAueGxhcmdlKHtcclxuICAgICAgICAgICAgY29sb3I6ICNmM2U1ZjQ7XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3Blbl9zZWFyY2h7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6MjBweDtcclxuICAgICAgICAubWVkaXVtKHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2xvc2Vfc2VhcmNoIHtcclxuXHJcbiAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgLmljb24tY2xvc2V7XHJcbiAgICAgICAgICBjb2xvcjogI2VjMDE4YztcclxuXHJcbiAgICAgICAgICAueGxhcmdlKHtcclxuICAgICAgICAgICAgY29sb3I6ICNmM2U1ZjQ7XHJcbiAgICAgICAgICB9KTtcclxuXHJcblxyXG4gICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qIE1CUy0xOTQ4IC0gQ29sb3VyIGZpeCBmb3IgVGFibGV0cyBhYm92ZSAxMDI0cHggaW4gc2NyZWVuIHdpZHRoICovXHJcbiAgICAmLnRhYmxldCB7XHJcbiAgICAgIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzIC5jbG9zZV9zZWFyY2ggLmljb24tY2xvc2UsIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzIC5vcGVuX3NlYXJjaCBpLCAucGFnZS1iaW5nby1mcm9udC5jYXNpbm8tdmVydGljYWwgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMuc2hvd19zZWFyY2hfZmllbGQgLmNsb3NlX3NlYXJjaCAuaWNvbi1jbG9zZSB7XHJcbiAgICAgICAgY29sb3I6ICNmM2U1ZjQ7XHJcbiAgICAgIH1cclxuICAgICAgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMuc2hvd19zZWFyY2hfZmllbGQgLm9wZW5fc2VhcmNoIGkge1xyXG4gICAgICAgIGNvbG9yOiAjZWMwMThjO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3dfc2VhcmNoX2ZpZWxke1xyXG5cclxuICAgICAgLnRpdGxlLW1vYntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubGFyZ2Uoe1xyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXN7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuLy9NQlMtMTg2OCBQb3NpdGlvbmluZyBHYW1lIFBhZ2UgU2VhcmNoIEljb24gQ29ycmVjdGx5XHJcbmJvZHkucGFnZS1nYW1lcyB7XHJcblxyXG4gICAgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMgLnNlYXJjaF9ib3ggLm9wZW5fc2VhcmNoLCAuZ2FtZXNfbWVudSAuc2VhcmNoX2JveCAub3Blbl9zZWFyY2gge1xyXG4gICAgIC8vIHJpZ2h0OiAxJTtcclxuICAgIH1cclxuXHJcbiAgICAubmV0cGxheS1nYW1lQ2F0ZWdvcmllc3tcclxuXHJcbiAgICAgICYuc2hvd19zZWFyY2hfZmllbGQge1xyXG5cclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IDAuMnM7XHJcblxyXG4gICAgICAgIC5zZWFyY2hfYm94IHtcclxuXHJcbiAgICAgICAgICAuY2xvc2Vfc2VhcmNoIHtcclxuXHJcbiAgICAgICAgICAgIHRvcDogMTVweDtcclxuXHJcbiAgICAgICAgICAgIC5zbWFsbCh7IHRvcDogMTBweDsgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2VhcmNoX2JveHtcclxuXHJcbiAgICAgICAgLy9kZWFjdGl2YXRlIHNlYXJjaGJveCBpbiBkZXNrdG9wIDwxMDI0XHJcbiAgICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgLy8gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLnNlYXJjaF9maWVsZCB7XHJcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zZWFyY2hfaWNvbntcclxuICAgICAgICAgIC8vY29sb3I6ICNGRkZGRkY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2xvc2Vfc2VhcmNoIHtcclxuICAgICAgICAgIHRvcDogMTZweDtcclxuXHJcbiAgICAgICAgICAuaWNvbi1jbG9zZXtcclxuICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIGJvZHkucGFnZS1iaW5nby1mcm9udHtcclxuICAgIC5iaW5nby1nYW1lcy1zZWFyY2gge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZTtcclxuXHJcbiAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgLnByb3hpbWEtZm9udCgpO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAubGFyZ2Uoe1xyXG4gICAgICAgICAgY29sb3I6ICNmM2U1ZjQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29sb3I6ICNlYzAxOGM7XHJcblxyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgICAgICAuZ2FtZS1pbmZvLXBhZ2Utc3RhdGUxKHtcclxuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgIG1hcmdpbjogMTBweCAxNXB4IDEwcHggMDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLm1lZGl1bSh7XHJcbiAgICAgICAgICBjb2xvcjogI2YzZTVmNDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgc3Bhbi5kZXNrdG9we1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zbWFsbCh7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgLnRpdGxlLW1vYntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogI2VjMDE4YztcclxuICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmEtc29mdFwiLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAvLyAgIHRleHQtaW5kZW50OiA1MHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgICAgIC5tZWRpdW0oeyBjb2xvcjogI2YzZTVmNDsgfSk7XHJcbiAgICAgICAgLnNtYWxsKHsgZGlzcGxheTogdGFibGUtY2VsbDsgfSk7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2VhcmNoX2JveCB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICpbZGF0YS1zZWFyY2hdIHtcclxuICAgICAgLnNlYXJjaF9maWVsZF9jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jbG9zZV9zZWFyY2gge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICAvKiBHYW1lcyBUaXRsZSAqL1xyXG5cclxuICAuYmxvY2stYmluZ297XHJcbiAgICAuY29udGFpbmVye1xyXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCAtMXB4IHJnYmEoMCwwLDAsMC43NSk7XHJcbiAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IC0xcHggcmdiYSgwLDAsMCwwLjc1KTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IC0xcHggcmdiYSgwLDAsMCwwLjc1KTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XHJcbiAgICAgIHVsLm1lbnV7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZTVmNDtcclxuICAgICAgICBtYXJnaW46IDEycHggMCA2cHggMDtcclxuXHJcbiAgICAgICAgLmxhcmdlKHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzAxOGM7XHJcbiAgICAgICAgICBjb2xvcjogI2YzZTVmNDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRpdntcclxuICAgICAgICBtYXJnaW46IDAgMCAwIDBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDBweDtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgYm9keS5zbWFydHBob25lLCBib2R5LnRhYmxldCB7XHJcbiAgICAuYmxvY2stYmluZ28ge1xyXG4gICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICB1bC5tZW51IHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNlYzAxOGM7XHJcblxyXG4gICAgICAgICAgbGkudGl0bGUtbW9iLCBsaS50aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5zZWFyY2hfaWNvbiwgLmljb24tY2xvc2UsIC5zZWFyY2hfZmllbGQge1xyXG4gICAgICAgICAgICAvLyBjb2xvcjogI0ZGRjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJvZHkuc21hcnRwaG9uZSwgYm9keS50YWJsZXQge1xyXG4gICAgLmJpbmdvLWdhbWVzIHtcclxuICAgICAgLmZyb250LWdhbWVzLXRpdGxlIGgyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWMwMThjO1xyXG4gICAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgYm9keS5wYWdlLWdhbWVze1xyXG5cclxuICAgIC52aWV3LWdhbWVzLCAuZ2FtZS1saXN0e1xyXG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG5cclxuICAgICAgLnZpZXctY29udGVudCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLWNvbnRlbnR7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy9UT0RPOiBSZWZpbmUgc2VsZWN0b3JcclxuXHJcbiAgLmJsb2NrLWJpbmdvLmJpbmdvLWdhbWVze1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuXHJcbiAgICAucGFnZS1iaW5nby1mcm9udCAmIHtcclxuICAgICAgdWwudGl0bGUgbGkge1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAxNnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9QYWRkaW5nIEZpeCAtIHRvIGFsaWduIEphY2twb3RzIHdpdGggZ2FtZSBwYW5lbFxyXG4gICAgdWwuYmluZ28tcGxheXRlY2gtZ2FtZXMgbGkge1xyXG4gICAgICBwYWRkaW5nOiAzcHggMDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy9UaXRsZSBGaXggLSBJbmRlbnRpbmcgPGxpPlxyXG4gICAgLnBhZ2UtYmluZ28tZnJvbnQgJiB1bC50aXRsZSBsaSB7XHJcbiAgICAgIHRleHQtaW5kZW50OiAxNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYm9keS5wYWdlLWJpbmdvLWZyb250IHtcclxuXHJcbiAgICAuZnJvbnQtZ2FtZXMtdGl0bGUge1xyXG4gICAgICAucHJveGltYS1mb250KCk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAubGF1bmNoLWJpbmdvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWMwMThjO1xyXG4gICAgICAgIGNvbG9yOiAjZjNlNWY0O1xyXG5cclxuICAgICAgICAubGFyZ2Uoe1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZTVmNDtcclxuICAgICAgICAgIGNvbG9yOiAjZWMwMThjO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC5tZWRpdW0oeyAuZGlzcGxheShubyk7IH0pO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjUzYjk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZyb250LWdhbWVzLXRpdGxlIGgyIHtcclxuICAgICAgY29sb3I6ICNlYzAxOGM7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2U1ZjQ7XHJcblxyXG4gICAgICAubGFyZ2Uoe1xyXG4gICAgICAgIGNvbG9yOiAjZjNlNWY0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICAjZWMwMThjO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgYm9keS5wYWdlLWJpbmdvLWZyb250e1xyXG5cclxuICAgIHVsLmJpbmdvLXBsYXl0ZWNoLWdhbWVze1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgIHdpZHRoOjEyJTtcclxuXHJcbiAgICAgICAgICAueGxhcmdlKHtcclxuICAgICAgICAgICAgd2lkdGg6MTElO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgLmxhcmdlKHtcclxuICAgICAgICAgICAgd2lkdGg6MTIlO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgLm1lZGl1bSh7XHJcbiAgICAgICAgICAgIHdpZHRoOjE1JTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8uYmluZ28tYnV0dG9ue1xyXG4gICAgICAgIC8vICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgLy99XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAucGFnZS1jb250YWN0LXVzIC5yZWdpb24tY29udGVudCBhLFxyXG4gIC5wYWdlLWVuam95LXJlc3BvbnNpYmx5IC5yZWdpb24tY29udGVudCBhLFxyXG4gIC5wYWdlLXRlcm1zLWFuZC1jb25kaXRpb25zIC5yZWdpb24tY29udGVudCBhe1xyXG4gICAgY29sb3I6ICMyNDI0MjQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICB9XHJcblxyXG5cclxuICAvKiBHYW1lIGluZm8gUGFnZSAqL1xyXG5cclxuXHJcbiAgLnBhZ2UtZ2FtZS1pbmZvIC5yZWdpb24tY29udGVudHtcclxuICAgIHBhZGRpbmc6IDAgMTI1cHg7XHJcblxyXG4gICAgLnhsYXJnZSh7XHJcbiAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgIH0pO1xyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICAmOmJlZm9yZXtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICB3aWR0aDogNjUlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDowO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQwMjhiO1xyXG4gICAgICAuZGlzcGxheSgpO1xyXG5cclxuICAgICAgLmRpc3BsYXktaW5wdXR5cGUtbWVkaXVtKHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucGFnZS1nYW1lLWluZm8gLmdhbWUtaW5mby1pbWFnZXtcclxuXHJcbiAgICAuZGlzcGxheS1pbnB1dHlwZS1tZWRpdW0oe1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICAucGFnZS1nYW1lLWluZm8gLmdhbWUtaW5mby1kZXRhaWxze1xyXG4gICAgd2lkdGg6IDI0JTtcclxuXHJcbiAgICAubGFyZ2Uoe1xyXG4gICAgICB3aWR0aDogNDUlO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLm1lZGl1bSh7XHJcbiAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICB9KTtcclxuXHJcbiAgICAuc21hbGwoe1xyXG4gICAgICB3aWR0aDogODAlO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgLnBhZ2UtZ2FtZS1pbmZvIC5nYW1lLWluZm8tZGV0YWlsc3tcclxuXHJcbiAgICBsaXtcclxuICAgICAgY29sb3I6ICNlZDAyOGI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VkMDI4YjtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAucGFnZS1nYW1lLWluZm8gLmRldmljZS1hdmFpbGFibGUtY29udGFpbmVyIC5kZXZpY2UtYXZhaWxhYmxlLXRleHR7XHJcbiAgICBjb2xvcjogI2VkMDI4YjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuXHJcblxyXG4gIC5wYWdlLWdhbWUtaW5mbyAuZ2FtZV9sYXVuY2hfYnV0dG9ucyB7XHJcbiAgICAuYnV0dG9uLnBsYXktZm9yLWZ1biwuYnV0dG9uLnBsYXktZm9yLXJlYWwge1xyXG4gICAgICAmLCYgLmFjdGlvbi1idXR0b24taW5uZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi5wbGF5LWZvci1mdW4ge1xyXG4gICAgICAucHJveGltYS1mb250KGJvbGQpO1xyXG4gICAgfVxyXG4gIH1cclxuICAucGFnZS1nYW1lLWluZm8gLmdhbWVfaW5mb19jb250ZW50e1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZDAyOGI7XHJcbiAgfVxyXG5cclxuICAvKiBQcmUgYnV5IHRpY2tldHMgKi9cclxuXHJcbiAgLnByZWJ1eS10aWNrZXRzIHtcclxuICAgIC5wcm94aW1hLWZvbnQoKTtcclxuICAgIC5kaXNwbGF5KCk7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjNlNWY0O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIC8vICB3aWR0aDogMTc2cHg7XHJcblxyXG4gICAgLy8gaGVpZ2h0OiAyOHB4O1xyXG5cclxuXHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB3aWR0aDogMTklO1xyXG4gICAgICBtYXJnaW46IDEwcHggYXV0bztcclxuICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgYmFja2dyb3VuZDogI0VDMTc4QztcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGRjtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiA4cHggMDtcclxuXHJcbiAgICAgIC5tZWRpdW0oe1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggYXV0bztcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICNGRkY7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBib2R5LnNtYXJ0cGhvbmUsIGJvZHkudGFibGV0IHtcclxuICAgIC5wcmVidXktdGlja2V0cyB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgYXtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBib2R5LnBhZ2UtdGltZXRhYmxlIHtcclxuICAgIC5wcmVidXktdGlja2V0cyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLyogUm90YXRpb24gKi9cclxuXHJcbiAgQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0aW5nIC8qIFNhZmFyaSBhbmQgQ2hyb21lICovIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAa2V5ZnJhbWVzIHJvdGF0aW5nIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgfVxyXG4gIH1cclxuICAucm90YXRpbmcge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0aW5nIDFzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgIC1tb3otYW5pbWF0aW9uOiByb3RhdGluZyAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAtbXMtYW5pbWF0aW9uOiByb3RhdGluZyAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAtby1hbmltYXRpb246IHJvdGF0aW5nIDFzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRpbmcgMXMgbGluZWFyIGluZmluaXRlO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vVGFibGUgUGFnZSBOb2RlIEdlbmVyYWwgU3R5bGVcclxuICAucGFnZS1ub2RlIHtcclxuICAgIHRhYmxlIHtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgJix0aCx0ZCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aCB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2VjMDE4YztcclxuICAgICAgICBjb2xvcjogI2YzZTVmNDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJiwgdGQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICB9XHJcbiAgICAgICYge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4yNXM7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjI1cztcclxuICAgICAgICAtby10cmFuc2l0aW9uOiAwLjI1cztcclxuICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cztcclxuICAgICAgfVxyXG4gICAgICB0cjpob3ZlciB0ZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCNlYzAxOGMsIDUlKTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB0cmFuc2Zvcm06c2NhbGUoMS4xKTtcclxuICAgICAgfVxyXG4gICAgICB0cjpob3ZlciBhIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgfVxyXG4gICAgICB0ciB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWMwMThjO1xyXG4gICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGgsIHRkLCBwe1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgIC5tZWRpdW0oe1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfVxyXG4gICAgICB0aCB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC8vQ1NTIEhlYWRlclxyXG4gICAgICB0cjpmaXJzdC1jaGlsZCB0ZCB7XHJcbiAgICAgICAgLnByb3hpbWEtZm9udCgpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICNlZWU7XHJcbiAgICAgICAgcGFkZGluZzogMC41ZW07XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLndyYXBwZXItZHJvcGRvd24tMiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAwLjVlbTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgY29sb3I6ICM0YjBiNGE7XHJcbiAgICBvdXRsaW5lOm5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFlbTsgLy8xNHB4XHJcblxyXG5cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgYmFja2dyb3VuZDogI2VjMDE4YztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW4tc2VyaWY7XHJcbiAgICAgIGNvbnRlbnQ6ICdcXGU5MDYnOyAvLyBOZWVkIHRvIGFkZCBkb3duIGFycm93IHRvIHRoaXMgKHJvdGF0ZSB3aWxsIG1lc3MgYXJvdW5kIHdpdGggdGhlIGJveCBtb2RlbClcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAwIDAuNWVtO1xyXG4gICAgfVxyXG4gICAgJiwmOjphZnRlciB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIH1cclxuICAgIC5kcm9wZG93biB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgei1pbmRleDogMTAwO1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIGxpOmZpcnN0LWNoaWxke1xyXG4gICAgICAgICYsYSxhOjphZnRlciB7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDNweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGxpOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICYsYSxhOjphZnRlciB7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGEge1xyXG5cclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICNlYzAxOGM7XHJcbiAgICAgICAgY29sb3I6ICM0YjBiNGE7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICB3aWR0aDogMC41ZW07XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNlYzAxOGM7XHJcbiAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWMwMThjO1xyXG4gICAgICAgICAgY29sb3I6ICM0YjBiNGE7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNGIwYjRhO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9GTEVYIFJlc2V0IC0gRDcgbWFuZGF0b3J5IGFkZGl0aW9uIHRvIGNvZGVcclxuICAuY29udGFpbmVyLWlubGluZSBkaXYsIC5jb250YWluZXItaW5saW5lIGxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcblxyXG4gIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICBTZWxlY3RyaWMgdjEuOS4zXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuICAuY29udGFpbmVyLWlubGluZSAuc2VsZWN0cmljLWhpZGUtc2VsZWN0IHtcclxuICAgIC5kaXNwbGF5KG5vKTtcclxuICB9XHJcbiAgLnNlbGVjdHJpYy13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gIC5zZWxlY3RyaWMtcmVzcG9uc2l2ZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5zZWxlY3RyaWMge1xyXG4gICAgcGFkZGluZzogMC4yZW07XHJcblxyXG4gICAgLy9NQlMtMjA0NCBQYWdlIEZvcmdvdHRlbiBTZWxlY3QgTWVudVxyXG4gICAgLnBhZ2UtZm9yZ290dGVuLWRldGFpbHMgJiB7XHJcbiAgICAgIC54bGFyZ2Uoe1xyXG4gICAgICAgIHBhZGRpbmc6IDAuM2VtO1xyXG4gICAgICAgIHdpZHRoOiA1ZW07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiAzLjVlbTtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgY29sb3I6ICM0YjBiNGE7XHJcbiAgICBvdXRsaW5lOm5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFlbTsgLy8xNHB4XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMmVtO1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZWMwMThjO1xyXG4gICAgICBwYWRkaW5nOiAwIDAuMmVtIDAuMWVtIDA7XHJcblxyXG4gICAgICAvL01CUy0yMDQ0IFBhZ2UgRm9yZ290dGVuIFNlbGVjdCBNZW51XHJcbiAgICAgIC5wYWdlLWZvcmdvdHRlbi1kZXRhaWxzICYge1xyXG4gICAgICAgIC5tZWRpdW0oe1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgY2xlYXI6IGxlZnQ7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW4tc2VyaWY7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbiBhbGw7XHJcbiAgICAgICAgY29udGVudDogJ1xcZTkwOSc7IC8vIE5lZWQgdG8gYWRkIGRvd24gYXJyb3cgdG8gdGhpcyAocm90YXRlIHdpbGwgbWVzcyBhcm91bmQgd2l0aCB0aGUgYm94IG1vZGVsKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLC5idXR0b24ge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdHJpYy1vcGVuICYge1xyXG4gICAgICBib3JkZXItY29sb3I6ICNDNEM0QzQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0cmljLWhvdmVyIHtcclxuICAgIC5zZWxlY3RyaWMge1xyXG4gICAgICBib3JkZXItY29sb3I6ICNDNEM0QzQ7XHJcblxyXG4gICAgICAuYnV0dG9uIHtcclxuICAgICAgICBjb2xvcjogI0EyQTJBMjtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjQTJBMkEyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNlbGVjdHJpYy1vcGVuIHtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0cmljLWRpc2FibGVkIHtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLnNlbGVjdHJpYy1oaWRlLXNlbGVjdCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcblxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAtMTAwJTtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWxlY3RyaWMtaW5wdXQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgKmZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0cmljLXRlbXAtc2hvdyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8qIEl0ZW1zIGJveCAqL1xyXG4gIC5zZWxlY3RyaWMtaXRlbXMge1xyXG5cclxuICAgIC5zZWxlY3RyaWMtb3BlbiAmLCAuY29udGFpbmVyLWlubGluZSAuc2VsZWN0cmljLW9wZW4gJiB7XHJcbiAgICAgIC5kaXNwbGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgJiwgLmNvbnRhaW5lci1pbmxpbmUgJiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0O1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAtNnB4O1xyXG5cclxuICAgIC5zZWxlY3RyaWMtc2Nyb2xsIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgLmRpc3BsYXkoKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0cmljLWFib3ZlICYge1xyXG4gICAgICB0b3A6IGF1dG87XHJcbiAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICB1bCwgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgIC5kaXNwbGF5KCk7XHJcbiAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGRkY7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFO1xyXG4gICAgICBjb2xvcjogIzY2NjtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI0VGRUZFRjtcclxuICAgICAgICBjb2xvcjogIzQ0NDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI0YwRjBGMDtcclxuICAgICAgICBjb2xvcjogIzQ0NDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRpc2FibGVkIHtcclxuICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcclxuICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogIzY2NiAhaW1wb3J0YW50O1xyXG4gICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgfVxyXG4gICAgLnNlbGVjdHJpYy1ncm91cCB7XHJcbiAgICAgIC5zZWxlY3RyaWMtZ3JvdXAtbGFiZWwge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjNDQ0O1xyXG4gICAgICB9XHJcbiAgICAgICYuZGlzYWJsZWQgbGkge1xyXG4gICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAvL01CUy0yMDQ0IFBhZ2UgRm9yZ290dGVuIFNlbGVjdCBNZW51XHJcbiAgLnBhZ2UtZm9yZ290dGVuLWRldGFpbHMgI2RvYiBkaXYge1xyXG4gICAgLnhsYXJnZSh7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfSk7XHJcbiAgICAuZ2FtZS1pbmZvLXBhZ2Utc3RhdGUxKHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLnBhZ2UtZm9yZ290dGVuLWRldGFpbHMgI2RvYiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAueGxhcmdlKHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9KTtcclxuICAgIC5zbWFsbCh7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLmZvcmdvdHRlbi1kZXRhaWxzIC5mb3JtLXN0eWxlICNkb2Ige1xyXG4gICAgLm1lZGl1bSh7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0Zvcm0gQ1NTXHJcbiAgLm1lc3NhZ2VzIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHJcbiAgICAmLmVycm9yIHtcclxuICAgICAgYmFja2dyb3VuZDogI2Q3MTcxNjtcclxuICAgICAgY29sb3I6ICNmZmZlZmY7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5mb3Jnb3R0ZW4tZGV0YWlscyB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgLnhsYXJnZSh7IHdpZHRoOiBhdXRvOyB9KTtcclxuICAgIC5kaXNwbGF5KCk7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcbiAgLnBhZ2UtZm9yZ290dGVuLWRldGFpbHMgI2RvYiBkaXYge1xyXG4gICAgLm1lZGl1bSh7IG1hcmdpbi1yaWdodDogMTBweDsgfSk7XHJcbiAgfVxyXG4gIC5mb3Jnb3R0ZW4tZGV0YWlscyAuZm9ybS1zdHlsZSB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAjZG9iIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgIGNsZWFyOiBub25lO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgLnhsYXJnZSh7XHJcbiAgICAgICAgbWFyZ2luOiAwIDUlO1xyXG4gICAgICAgIC5kaXNwbGF5KCk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE4LjglO1xyXG5cclxuICAgICAgICAuc2VsZWN0cmljIHtcclxuICAgICAgICAgIC5kaXNwbGF5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgLm1lZGl1bSh7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQlO1xyXG4gICAgICB9KTtcclxuICAgICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYlO1xyXG4gICAgICB9KTtcclxuICAgICAgLnNtYWxsKHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0taXRlbS5mb3JtLXR5cGUtc2VsZWN0LmZvcm0taXRlbS1kYXRlLXNlbGVjdC1kYXksLmZvcm0taXRlbS5mb3JtLXR5cGUtc2VsZWN0LmZvcm0taXRlbS1kYXRlLXNlbGVjdC1tb250aCB7XHJcbiAgICAgICYgLnNlbGVjdHJpYy1mb3JtLXNlbGVjdCB7XHJcbiAgICAgICAgLm1lZGl1bSh7XHJcbiAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxlZ2VuZCB7XHJcbiAgICAgIC5wcm94aW1hLWZvbnQoKTtcclxuICAgICAgY29sb3I6ICNlYzAxOGM7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuICAgIC5mb3JtLWl0ZW0gbGFiZWwge1xyXG4gICAgICAuZGlzcGxheSgpO1xyXG4gICAgICAvL3BhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIC54bGFyZ2Uoe1xyXG4gICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgICAgfSk7XHJcbiAgICAgIC5tZWRpdW0oe1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgfSk7XHJcbiAgICAgIC5zbWFsbCh7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgZGl2LmZvcm0taXRlbSBzcGFuLmVycm9yLCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgZm9ybS5mb3JtLXN0eWxlIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcclxuICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgZGl2LmZvcm0taXRlbSBzcGFuLmVycm9yIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAueGxhcmdlKHtcclxuICAgICAgICAuZGlzcGxheSgpO1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggYXV0bztcclxuICAgICAgfSk7XHJcbiAgICAgIC5tZWRpdW0oe1xyXG4gICAgICAgIC5kaXNwbGF5KCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICBtYXJnaW46IDVweCBhdXRvO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBmb3JtLmZvcm0tc3R5bGUgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJ1cmxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmZvcm0tc3VibWl0IHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0taXRlbS1kYXRlLXNlbGVjdC15ZWFyIC5zZWxlY3RyaWMtZm9ybS1zZWxlY3R7XHJcbiAgICAgICYge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgLnNlbGVjdHJpYyB7XHJcbiAgICAgICAgd2lkdGg6IDkwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnBhZ2UtcmVzZXQtcGFzc3dvcmQgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0gbGFiZWwsIC5wYWdlLWNoYW5nZS1wYXNzd29yZCBmb3JtLmZvcm0tc3R5bGUgLmZvcm0taXRlbSBsYWJlbCwgLnBhZ2UtcmVnaXN0ZXIgZm9ybS5mb3JtLXN0eWxlIC5mb3JtLWl0ZW0gbGFiZWwsIC5wYWdlLWZvcmdvdHRlbi1kZXRhaWxzIGZvcm0uZm9ybS1zdHlsZSAuZm9ybS1pdGVtIGxhYmVsLCAucGFnZS1yZWdpc3Rlci12YXJpYXRpb24xIGZvcm0uZm9ybS1zdHlsZSAuZm9ybS1pdGVtIGxhYmVsIHtcclxuICAgIC5tZWRpdW0oe1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC5wYWdlLWZvcmdvdHRlbi1kZXRhaWxzIGlucHV0I2ZvcmdvdHRlbl91c2VybmFtZSwgLnBhZ2UtZm9yZ290dGVuLWRldGFpbHMgaW5wdXQjZW1haWwge1xyXG4gICAgLy8gIC5tZWRpdW0oeyB3aWR0aDogOTAlO21hcmdpbjogMDt9KTtcclxuICAgIC5sYXJnZSh7IG1hcmdpbjogMCBhdXRvOyB3aWR0aDogNjAlO30pO1xyXG4gICAgLm1lZGl1bSh7d2lkdGg6IDkwJTt9KTtcclxuICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoeyB3aWR0aDogODclOyB9KTtcclxuICAgIC5zbWFsbCh7IHdpZHRoOiA5MSU7IH0pO1xyXG4gIH1cclxuICAuZGV0YWlscy11cGRhdGVkLW1lc3NhZ2Uge1xyXG4gICAgYSB7Y29sb3I6ICMwMDA7fVxyXG4gIH1cclxuXHJcbiAgLy9URU1QIEZpeFxyXG4gIC5wYWdlLWZvcmdvdHRlbi1kZXRhaWxzIC5ibG9jay1mb3Jtcy5mb3Jnb3R0ZW4tZGV0YWlscyB7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuLy9tYnMtMTk1NCAtIEZpeCAoZnVydGhlciBpbnZlc3RpZ2F0aW9uIG5lZWRlZClcclxuLnZuLWJpbmdvLnByb21vdGlvbnMtdmVydGljYWwgLml0ZW0tbGlzdCB1bC5wYWdlcntcclxuICAuZGlzcGxheShubyk7XHJcbn1cclxuXHJcbiAgLy9HYW1lcyBQb3B1cFxyXG4gIC53cmFwcGVyX292ZXJsYXkge1xyXG5cclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xyXG5cclxuXHJcbiAgICAucGxheV9mb3JfcmVhbCwucGxheV9mb3JfZnVuLC5nYW1lX3RpdGxlIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAucHJveGltYS1mb250KGJvbGQpO1xyXG5cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC5nYW1lX3RpdGxlIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYzAxOGM7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAvL0J1dHRvblxyXG4gICAgLnBsYXlfZm9yX3JlYWwge1xyXG4gICAgIC8vIC5WX2dhbWUtaW5mb19idF9wbGF5X3JlYWwgIWltcG9ydGFudDtcclxuICAgICAgLmJ1dHRvbi1zdGF0ZXMoKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnBsYXlfZm9yX2Z1biB7XHJcbiAgICAgIC8vUmVzZXRcclxuICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIH1cclxuICAgIC5tb3JlX2luZm8ge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZVxyXG4gICAgfVxyXG4gICAgLm1vcmVfaW5mb19jb250YWluZXIgYS5tb3JlX2luZm8ge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICAvL1JlbW92ZXMgYEluZm9gIGljb25cclxuICAgIC5pbmZvIHtcclxuICAgICAgLmRpc3BsYXkobm8pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9DbG9zZSBCdXR0b25cclxuICAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIC5jbG9zZSB7XHJcblxyXG4gICAgLmljb24tY2xvc2U6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAvL1Jlc2V0XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMyVcclxuICB9XHJcblxyXG4gIC5tb2RhbC5mYWRlLmxvZ2luLW1vZGFsIHtcclxuICAgIC5tb2RhbC1kaWFsb2cgLmNsb3NlIHtcclxuICAgICAgLy9SZXNldFxyXG4gICAgICB0b3A6IDRweDtcclxuICAgICAgcmlnaHQ6IDIlO1xyXG5cclxuICAgICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAmLmZwYXNzLXZlciB7XHJcbiAgICAgIC5tb2RhbC1kaWFsb2cgLmNsb3NlIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvL21icy0xOTU0IC0gRml4IChmdXJ0aGVyIGludmVzdGlnYXRpb24gbmVlZGVkKVxyXG4gIC52bi1iaW5nby5wcm9tb3Rpb25zLXZlcnRpY2FsIC5pdGVtLWxpc3QgdWwucGFnZXJ7XHJcbiAgICAuZGlzcGxheShubyk7XHJcbiAgfVxyXG5cclxuICAvL1BhZ2Ugbm90IGZvdW5kIGFkZGVkIHN0eWxlIHRvIGxpbmtzXHJcbiAgLnBhZ2UtcGFnZS1ub3QtZm91bmQge1xyXG4gICAgLm5vZGUtcGFnZSBhIHtcclxuICAgICAgY29sb3I6ICNlZDAyOGI7XHJcbiAgICAgIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL1JlbW92ZSBzaWRlYmFyIGZvciBldmVyeXRoaW5nIGV4Y2VwdCBEZXNrdG9wIChGaXggdXNlZCB0byByZW1vdmUgZnJvbSBTYW1zdW5nIFRhYmxldClcclxuICBib2R5LnRhYmxldCAuY29sdW1uMi02IHtcclxuICAgIC5kaXNwbGF5KG5vKTtcclxuICB9XHJcblxyXG4gIC54bGFyZ2Uoe1xyXG4gICAgLy9NQlMtMTk5OFxyXG4gICAgLy9SZWcuIFBhZ2UgU3R5bGUgZml4ZXMgLSB0byBjb21wbHkgd2l0aCBtb2NrdXBzXHJcbiAgICAvL05lZWRzIHRvIG92ZXJyaWRlIEZMRVggY3VycmVudGx5XHJcbiAgICAuYmxvY2stZm9ybXMucmVnaXN0ZXIge1xyXG4gICAgICB3aWR0aDogOTAlO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuXHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlucHV0LC5mb3JtLWl0ZW0gc3Bhbi5lcnJvcixzZWxlY3QjdGl0bGUsICNkb2Ige1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIGlucHV0LC5mb3JtLWl0ZW0gc3Bhbi5lcnJvciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICAuZm9ybS1pdGVtIHNwYW4uZXJyb3Ige1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcbiAgICAgIH1cclxuICAgICAgZm9ybS5mb3JtLXN0eWxlIGZpZWxkc2V0IHNwYW4udGl0bGUsIHtcclxuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZpZWxkc2V0LmZvcm0td3JhcHBlciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMzZTNhNTE7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuXHJcbiAgICAgICAgLy9SZW1vdmUgcHJvbW8gYm9yZGVyLWJvdHRvbSBhbmQgbGFzdC1jaGlsZFxyXG4gICAgICAgICY6bGFzdC1jaGlsZCwmI2VkaXQtcHJvbW9jb2RlIHtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICNwb3N0Y29kZV9zZWFyY2hidXR0b24ge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5mb3JtLWNoZWNrYm94IHtcclxuICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9NQlMtMTk5OFxyXG4gICAgLnBhZ2UtcmVnaXN0ZXIgLmZvcm0uZm9ybS1zdHlsZSAuZGVzY3JpcHRpb24ge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAucGFnZS1yZWdpc3RlciB7XHJcbiAgICAgIC5mb3JtLWl0ZW0gbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIE1CUy0yMDAwIC0gemluZGV4IGZpeCBmb3IgZm9ybSBpdGVtcyBvdmVybGFwcGluZyBsb2dvXHJcbiAgICAucGFnZS1yZWdpc3RlciAuZm9ybS1pdGVtIHtcclxuICAgICAgei1pbmRleDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuXHJcblxyXG4gIC5sYXJnZS1taW4td2lkdGgoe1xyXG4gICAgLy9NQlMtMTk3NlxyXG4gICAgLnBhZ2UtZ2FtZS1pbmZvIC5yZWxhdGVkLWNvbnRlbnQge1xyXG4gICAgICAvL1Jlc2V0XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgd2lkdGg6IDMzJTtcclxuXHJcbiAgICAgIC52aWV3LWNvbnRlbnQgLnZpZXdzLWZpZWxkLWZpZWxkLXJlbGF0ZWQtY29udGVudC1pbWFnZSAuZmllbGQtY29udGVudCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgfVxyXG4gICAgfSAucGFnZS1nYW1lLWluZm8gLnJlbGF0ZWQtY29udGVudDpudGgtY2hpbGQoMm4rMSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAwLjUlO1xyXG5cclxuICAgICAgICAudmlldy1jb250ZW50IC52aWV3cy1maWVsZC1maWVsZC1yZWxhdGVkLWNvbnRlbnQtaW1hZ2UgLmZpZWxkLWNvbnRlbnQge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfSAucGFnZS1nYW1lLWluZm8gLnJlbGF0ZWQtY29udGVudDpudGgtY2hpbGQoM24rMSkge1xyXG4gICAgICAgICAgLnZpZXctY29udGVudCAudmlld3MtZmllbGQtZmllbGQtcmVsYXRlZC1jb250ZW50LWltYWdlIC5maWVsZC1jb250ZW50IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSAucGFnZS1nYW1lLWluZm8gLnJlbGF0ZWQtY29udGVudCAuYnV0dG9uLTMge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTcwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC5wYWdlLWdhbWUtaW5mbyAucmVsYXRlZC1jb250ZW50IC5idXR0b24tMyB7XHJcbiAgICBib3R0b206IDEwcHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnBhZ2UtZ2FtZS1pbmZvIC5yZWxhdGVkLWNvbnRlbnQge1xyXG4gICAgLnZpZXctY29udGVudCAudmlld3MtZmllbGQtZmllbGQtcmVsYXRlZC1jb250ZW50LXRleHQgLmZpZWxkLWNvbnRlbnQge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxuICAubWVkaXVtKHtcclxuICAgIC5wYWdlLWdhbWUtaW5mbyAucmVsYXRlZC1jb250ZW50IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG5cclxuICBmaWd1cmUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICBmaWdjYXB0aW9uIHtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgYmFja2dyb3VuZDogI2VkMDI4YjtcclxuICAgIGNvbG9yOiAjZjNlNWY0O1xyXG4gIH1cclxuXHJcbiAgZmlnY2FwdGlvbjo6YmVmb3JlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbnRlbnQ6IFwiIVwiO1xyXG4gICAgLmRpc3BsYXkoKTtcclxuICAgIC5wcm94aW1hLWZvbnQoNzAwKTtcclxuICAgIHRvcDogLTVweDtcclxuICAgIGxlZnQ6IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWQwMjhiO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTI1cHggLTI1cHggNDBweCByZ2JhKDAsMCwwLC41KTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyNTUsMjU1LDIyMCwuMykgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjIwLC4zKSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjIwLC4zKSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyNTUsMjU1LDIyMCwuMykgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDVweDsgLy9Gb250LXNpemUgKyBUb3AgQW1vdW50XHJcbiAgfVxyXG4gIGZpZ2NhcHRpb24ubm8tYmFsbHtcclxuICAgIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgLmRpc3BsYXkobm8pO1xyXG4gICAgfVxyXG4gIH1cclxuICBmaWdjYXB0aW9uLmNlbnRlcmVkIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLmluZm8tcGFuZWwge1xyXG4gICAgLnByb3hpbWEtZm9udChib2xkKTtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIC5kaXNwbGF5KCk7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWQwMjhiO1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgY29sb3I6ICNmM2U1ZjQ7XHJcbiAgfVxyXG4gIC8vQ3VycmVudGx5IDItNiBjb2x1bW5zIGlzIHNldCB0byAyMDBweCAoZm9yIEphY2twb3RzPylcclxuICBib2R5LnZuLWJpbmdvLnBhZ2Utd2VsY29tZS1iaW5nbyB7XHJcbiAgICAuY29sdW1uMi02IHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcclxuICAgIH1cclxuICB9XHJcbiAgLmNlbnRlci1ibG9jayB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIGEud2VsY29tZS1vZmZlciB7XHJcbiAgICAuZGlzcGxheSgpO1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcblxyXG4gICAgYm9keS50YWJsZXQgJiB7XHJcbiAgICAgIC50YWJsZXQteHhsYXJnZSh7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIH0pO1xyXG4gICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgIH0pO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAmLnZjZW50ZXIge1xyXG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcclxuXHJcblxyXG5cclxuICAgICAgLmNhc2hpZXItbGFyZ2Uoe1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgIH0pO1xyXG4gICAgICAueWxhcmdlKHtcclxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICB9KTtcclxuICAgICAgLmxhcmdlKHtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcclxuICAgICAgfSk7XHJcbiAgICAgIC5zbWFsbCh7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAucGFnZS13ZWxjb21lIC53ZWxjb21lX3BhbmVscyBsaSAuYnV0dG9uLXN0eWxlIHtcclxuICAgIG1hcmdpbjogMTBweCBhdXRvIDVweCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiA3NSU7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgfVxyXG4gIC5wYWdlLXdlbGNvbWUgLnRpdGxlIHtcclxuICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gIH1cclxuICBib2R5LnBhZ2Utd2VsY29tZS5wYWdlLWJpbmdvIC5wYWdlLWNvbnRlbnQgLGJvZHkucGFnZS13ZWxjb21lIC5ub2RlLXBhZ2UgLmNvbnRlbnQsIGJvZHkucGFnZS13ZWxjb21lIC5ub2RlLXRlcm1zIC5jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG4gIC5wYWdlLXdlbGNvbWUge1xyXG4gICAgLnBhZ2UtY29udGVudCB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWdpb24tY29udGVudCAubm9kZS1wYWdlIC5jb250ZW50LCAucmVnaW9uLWNvbnRlbnQgLm5vZGUtdGVybXMgLmNvbnRlbnQge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICBociB7XHJcbiAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZjNlNWY0O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAud2VsY29tZV9wYW5lbHMgbGkge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgLndlbGNvbWVfcGFuZWxzIGxpICwgLndlbGNvbWUtdGV4dCB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC53ZWxjb21lX3BhbmVscyBsaSB7XHJcbiAgICAgIC5tZWRpdW0oeyBwYWRkaW5nOiAxMHB4IDAgMjBweCAwOyB9KTtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICBjb2xvcjogI2YzZTVmNDtcclxuICAgIH1cclxuICAgIGEubW9yZS1pbmZvIHtcclxuICAgICAgLnBhZ2UtY29udGVudCAubm9kZSAuY29udGVudCAmLC5wYWdlLWNvbnRlbnQgLm5vZGUgLmNvbnRlbnQgJjpob3ZlciwucGFnZS1jb250ZW50IC5ub2RlIC5jb250ZW50ICY6dmlzaXRlZCB7XHJcbiAgICAgICAgY29sb3I6I2YzZTVmNDtcclxuICAgICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICB9XHJcbiAgICAuc2Vjb25kYXJ5X3BhbmVscyB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgICAgIGgyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgLnByb3hpbWEtZm9udCgxMDApO1xyXG4gICAgICB9XHJcbiAgICAgIC50ZWxlcGhvbmVfc3VwcG9ydCxoMiB7XHJcbiAgICAgICAgY29sb3I6ICNmM2U1ZjQ7XHJcbiAgICAgIH1cclxuICAgICAgLmpzLXBsYXl0ZWNoLWNoYXQge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgIH1cclxuICAgICAgLnN1cHBvcnRfb3B0aW9ucyB7XHJcbiAgICAgICAgLm1lZGl1bSh7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL01CUy0xOTk4XHJcbiAgLnBhZ2UtcmVnaXN0ZXIge1xyXG4gICAgLmJsb2NrLWZvcm1zLnJlZ2lzdGVyIGZvcm0uZm9ybS1zdHlsZSBmaWVsZHNldCBzcGFuLnRpdGxlIHtcclxuICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuZm9ybS1zdHlsZSAjcG9zdGNvZGVfc2VhcmNoYnV0dG9uIHtcclxuICAgIHBhZGRpbmc6IDNweCAwO1xyXG4gIH1cclxuXHJcblxyXG4gIC5mb3VyLW1vc3QtcG9wdWxhci1nYW1lcyB7XHJcbiAgICAudmlldy1jb250ZW50IHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucGFnZS1jb250ZW50IC5ub2RlIC5jb250ZW50LCAucGFnZS1jb250ZW50IC52aWV3ICB7XHJcbiAgICBhIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBjb2xvcjogI0Y0MDE5MTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG5cclxuICAgICAgLmNvbnRlbnQgJiB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICNERDBBMUQ7XHJcbiAgICAgIH1cclxuICAgICAgJjp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogI0REMEExRDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvL0ZvciBUYWJsZVxyXG4gIC5wYWdlLWNvbnRlbnQgLm5vZGUgLmNvbnRlbnQgdHI6aG92ZXIgYSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxuXHJcbiAgLy9NQlMtMTk1OVxyXG4gIGJvZHkucGFnZS1nYW1lLWluZm8gLmJsb2NrLXN5c3RlbSB7XHJcbiAgICAuc21hbGwoe1xyXG4gICAgICAuZGlzcGxheShubyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vV2Ugc2hvdWxkIG5vdCBoYXZlIHRoaXMga2luZCBvZiBvdmVycmlkZSBiZWNhdXNlIHRoZSBkZXNpZ24gaGFzIHRvIGJlIHRoZSBzYW1lLlxyXG4gIC5tb2RhbC5mYWRlLmdhbWVJbmZvLW1vZGFsIC5tb2RhbC1kaWFsb2cgLmNsb3NlIHtcclxuICAgIC5tZWRpdW0oe1xyXG4gICAgICByaWdodDozJTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcbiAgLnBhZ2UtZ2FtZS1pbmZvIC5yZWdpb24tY29udGVudDpiZWZvcmUge1xyXG5cclxuICAgIC5sYXJnZSh7XHJcbiAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICB9KTtcclxuICAgIC5tZWRpdW0oe1xyXG4gICAgICB3aWR0aDogNTUlO1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgIH0pO1xyXG4gICAgLmRpc3BsYXktam9pbnVzLWJ1dHRvbih7XHJcbiAgICAgIC5kaXNwbGF5KCk7XHJcbiAgICB9KTtcclxuICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICAvL01CUy0xOTU5XHJcbiAgLnBhZ2UtZ2FtZS1pbmZvIC5nYW1lX2xhdW5jaF9idXR0b25zID4gc3BhbiwucGFnZS1nYW1lLWluZm8gLmdhbWVfbGF1bmNoX2J1dHRvbnMge1xyXG4gICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH0pO1xyXG4gIH1cclxuICAucGFnZS1nYW1lLWluZm8gLmdhbWVfbGF1bmNoX2J1dHRvbnMge1xyXG4gICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC5wYWdlLWdhbWUtaW5mbyAuZ2FtZV9sYXVuY2hfYnV0dG9ucyAuYnV0dG9uIHtcclxuICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAucGFnZS1nYW1lLWluZm8gLmdhbWVfbGF1bmNoX2J1dHRvbnMgLmJ1dHRvbi5wbGF5LWZvci1yZWFsIHtcclxuICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgICBwYWRkaW5nOiA1cHggNTBweDtcclxuICAgIH0pO1xyXG4gIH1cclxuICAucGFnZS1nYW1lLWluZm8gLmdhbWUtaW5mby1pbWFnZSB7XHJcbiAgICAuZ2FtZS1pbmZvLXBhZ2Utc3RhdGUxKHtcclxuICAgICAgd2lkdGg6IDIzMHB4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC5wYWdlLWdhbWUtaW5mbyAuZGV2aWNlLWF2YWlsYWJsZS1jb250YWluZXIge1xyXG4gICAgLnRhYmxldC14eGxhcmdlKHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgfSk7XHJcbiAgICAuZ2FtZS1pbmZvLXBhZ2Utc3RhdGUxKHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDIwJTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAucGFnZS1nYW1lLWluZm8gLmRldmljZS1hdmFpbGFibGUtY29udGFpbmVyIC5kZXZpY2UtYXZhaWxhYmxlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLnBhZ2UtZ2FtZS1pbmZvIC5nYW1lX2xhdW5jaF9idXR0b25zIC5idXR0b24ucGxheS1mb3ItZnVuIHtcclxuICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgICBwYWRkaW5nLXRvcDogMnB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMzAlO1xyXG4gICAgICB3aWR0aDogMzUlO1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH0pO1xyXG4gIH1cclxuICAucGFnZS1nYW1lLWluZm8ge1xyXG4gICAgLmdhbWUtaW5mby1kZXRhaWxze1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgLml0ZW0tbGlzdCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEyMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIycHg7XHJcblxyXG4gICAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDcwcHg7XHJcbiAgICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC5zbWFsbCh7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnBhZ2UtZ2FtZS1pbmZvIC5kZXZpY2UtYXZhaWxhYmxlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuXHJcbiAgICAudGFibGV0LXh4bGFyZ2UoeyBmbG9hdDogbGVmdDsgfSk7XHJcbiAgICAubGFyZ2Uoe1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9KTtcclxuICAgIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgICBtYXJnaW4tbGVmdDogMjAlO1xyXG4gICAgfSk7XHJcbiAgICAuc21hbGwoe1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTclO1xyXG4gICAgfSlcclxuICB9XHJcbiAgLy9NQlMtMTk1OVxyXG4gIC5wYWdlLWdhbWUtaW5mbyAucmVnaW9uLWNvbnRlbnQgaDMge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICAvL01CUy0xOTU5XHJcbiAgLnBhZ2UtZ2FtZS1pbmZvIC5yZWdpb24tY29udGVudCBoMytwIHtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICB9XHJcblxyXG4gIC8vTUJTLTE4OThcclxuICBib2R5LnBhZ2UtaGVscCAucGFnZS1jb250ZW50IHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgLnBhZ2UtZ2V0dGluZy1zdGFydGVkIC5yZWdpb24tY29udGVudCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICB9XHJcbiAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdOmJlZm9yZSwgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7IH1cclxuICBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl06YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7IH1cclxuICAuc21hbGwtYmxvY2stZ3JpZC00IHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6IDI1JTtcclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgcGFkZGluZzogMnB4IDJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYm9keS5kZXNrdG9wIHtcclxuICAgIC5wcm9tby1wYWdlIC5idXR0b24tMyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaGNlbnRlciB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvL0ZvciBJbWFnZXNcclxuICB9XHJcblxyXG4gIC8vVXBkYXRlIG9mIENvbnRlbnQgRm9ybWF0dGluZ1xyXG4gIGZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG4gIGZpZ2NhcHRpb24ge1xyXG4gICAgLmRpc3BsYXkoKTtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA3MHB4OyAvL1dpZHRoIG9mIDo6YmVmb3JlICsgUG9zaXRpb24gTGVmdCBvZiA6OmJlZm9yZSArIGV4dHJhIDEwcHggZm9yIHBhZGRpbmdcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAjZWQwMjhiO1xyXG4gICAgY29sb3I6ICNmM2U1ZjQ7XHJcblxyXG4gICAgLmxhcmdlKHtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgIH0pO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIC8vUmVzZXRzXHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIC5kaXNwbGF5KCk7XHJcbiAgICAgIC5wcm94aW1hLWZvbnQoNzAwKTtcclxuXHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0yNXB4O1xyXG4gICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4OyAvL0ZvbnQtc2l6ZSArIFRvcCBBbW91bnRcclxuXHJcbiAgICAgIGNvbnRlbnQ6IFwiIVwiO1xyXG5cclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZWQwMjhiO1xyXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAtMjVweCAtMjVweCA0MHB4IHJnYmEoMCwwLDAsLjUpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjU1LDI1NSwyMjAsLjMpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjIwLC4zKSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjU1LDI1NSwyMjAsLjMpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjU1LDI1NSwyMjAsLjMpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcclxuXHJcbiAgICAgIC5sYXJnZSh7XHJcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAubWVkaXVtKHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7IC8vRm9udC1zaXplICsgVG9wIEFtb3VudFxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudmlld3MtZmllbGQtdGl0bGUgLmZpZWxkLWNvbnRlbnQgIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gIH1cclxuICAuZmllbGQtaXRlbXMge1xyXG4gICAgaW1nIHtcclxuICAgICAgLy9QcmV2ZW50cyBpbWFnZXMgZnJvbSBvdmVyZmxvd2luZyBvbiBNb2JpbGVcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmZpZWxkLWl0ZW0gPiBwOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgIGgyLGgzIHtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICBjb2xvcjogI2VkMDI4YjtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcblxyXG4gICAgICAmK3B7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zdWJ0aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XHJcbiAgICAmLmNlbnRlcmVkIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmltcHQtaW5mbyB7XHJcbiAgICAvL2JhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoIDQ1ZGVnLCByZWQsIHJlZCAxMHB4LCBkYXJrZW4ocmVkLDIwJSkgMTBweCwgZGFya2VuKHJlZCwyMCUpIDIwcHggKTtcclxuICAgIGJhY2tncm91bmQ6ICNmNTAxYjk7IC8qIE9sZCBicm93c2VycyAqL1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZjUwMWI5IDAlLCAjZWMwMThjIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZjUwMWI5IDAlLCNlYzAxOGMgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjUwMWI5IDAlLCNlYzAxOGMgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmNTAxYjknLCBlbmRDb2xvcnN0cj0nI2VjMDE4YycsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IC0ycHggLTFweCAxMnB4IDJweCByZ2JhKDAsMCwwLDAuMDYpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAtMnB4IC0xcHggMTJweCAycHggcmdiYSgwLDAsMCwwLjA2KTtcclxuICAgIGJveC1zaGFkb3c6IC0ycHggLTFweCAxMnB4IDJweCByZ2JhKDAsMCwwLDAuMDYpO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG4gICAgLnByb3hpbWEtZm9udChib2xkKTtcclxuICB9XHJcbiAgLmxlZnQtYWxpZ24ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBjbGVhcjogcmlnaHQ7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgaGVpZ2h0OiA1MCU7XHJcbiAgfVxyXG5cclxuICAvL0RydXBhbCBGaXggLSBQcmV2ZW50cyA8cD48L3A+XHJcbiAgcDplbXB0eSB7XHJcbiAgICAucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIG9sLnNwZWNpYWwge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBsaSB7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oI2VkMDI4YiwxMCUpO1xyXG4gICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgbGk6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL1JlbW92ZXMgTWFyZ2luIGFuZCBCb3gtc2hhZG93IHdoZW4gb24gdGFibGV0IGFuZCBtb2JpbGUgKGFzIHBlciBNb2NrdXBzKVxyXG4gIC5wYWdlLWNvbnRlbnQge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIC54bGFyZ2Uoe1xyXG5cclxuICAgICAgLy9SZXNldHNcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgLy9NYW51YWxseSBvdmVycmlkZSBwYWdlcyB0aGF0IGRvbid0IGhhdmUgY29udGVudFxyXG4gICAgLnBhZ2UtYmluZ28tZnJvbnQgJiwucGFnZS1nYW1lcyAmLCAucGFnZS1iaW5nbyAmIHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAucGFuZWwge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB3aWR0aDogMjgwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogNXB4IDEwcHg7XHJcblxyXG4gICAgKiA+ICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLnN1YmplY3QsLmxpc3R7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5zdWJqZWN0IHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAvL2JhY2tncm91bmQ6ZGFya2VuKCNlZDAyOGIsMTAlKTtcclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTYwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAubGlzdCB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMmQyZDI7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIC5kaXNwbGF5KHRhYmxlKTtcclxuICAgICAgLnJlc2V0KHRydWUpO1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2VlZTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2RkZDtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC8vV2VsY29tZSBQYWdlIFN0eWxlc1xyXG4gIC5jYXB0aW9uLmFsdGVybmF0ZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6ICNlZDAyOGI7XHJcbiAgICBjb2xvcjogI2YzZTVmNDtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIC8vTUJTLTIwMzRcclxuICAvL0FsbG93IG1vYmlsZSBzZWFyY2ggdG8gc2hvdyBpY29uIG9uIHNlYXJjaCBtZW51IG9wZW5cclxuICBib2R5LnBhZ2UtYmluZ28tZnJvbnQuY2FzaW5vLXZlcnRpY2FsIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfYm94ICwgYm9keS5wYWdlLWdhbWVzIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfYm94IHtcclxuICAgICYgLnNlYXJjaF9pY29uIHtcclxuICAgICAgLnhsYXJnZSh7IGNvbG9yOiAjZWMwMThjOyB9KTtcclxuICAgIH1cclxuICAgICYgLm9wZW5fc2VhcmNoIHtcclxuXHJcbiAgICAgIC8vTUJTLTE5NDYsMTk0OCBBZGRlZCB0byBhbGlnbiB0aGUgc2VhcmNoIGljb24gd2l0aCBpbnB1dCBib3hcclxuICAgICAgdG9wOiAxN3B4O1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcblxyXG4gICAgICAubWVkaXVtKHsgbGVmdDogMjVweDsgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLnRhYmxldC5wYWdlLWdhbWVzIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzIC5zZWFyY2hfYm94IHtcclxuICAgICYgLm9wZW5fc2VhcmNoIHtcclxuICAgICAgLnRhYmxldC14eGxhcmdlKHtyaWdodDogMSU7fSk7XHJcbiAgICB9XHJcbiAgfVxyXG4udGFibGV0LnBhZ2UtZ2FtZXMgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMuc2hvd19zZWFyY2hfZmllbGQgLnNlYXJjaF9ib3gge1xyXG4gICYgLmNsb3NlX3NlYXJjaCB7XHJcbiAgICAueGxhcmdlKHsgcmlnaHQ6IDElO30pO1xyXG4gICAgLnhsYXJnZSh7IHRvcDogLTdweDsgfSk7XHJcbiAgfVxyXG59XHJcblxyXG4gIC8vTUJTLTIwMzQgUmVzZXQgIHNlYXJjaCBpY29uIHdoZW4gY2xvc2VkXHJcbiAgYm9keS5wYWdlLWJpbmdvLWZyb250LmNhc2luby12ZXJ0aWNhbCAuc2VhcmNoX2JveCAsIGJvZHkucGFnZS1nYW1lcyAuc2VhcmNoX2JveCB7XHJcbiAgICAmIC5vcGVuX3NlYXJjaCB7XHJcbiAgICAgIC5tZWRpdW0oeyBsZWZ0OiAyMHB4OyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vTUJTLTE5NDYsTUJTLTE5NDggU2VhcmNoIEJveCBJbXByb3ZlbWVudHNcclxuICAvLyBDaGFuZ2VzIGJlbG93IHByZXZlbnQgdW5zdHlsZWQgZWxlbm1lbnRzIGZyb20gc2hvd2luZyB3aGlsc3QgcGFnZSBpcyByZW5kZXJpbmcgaW4gYnJvd3NlcnNcclxuICAuc2VhcmNoX2JveCAub3Blbl9zZWFyY2ggaSwuc2VhcmNoX2JveCAuY2xvc2Vfc2VhcmNoIGkge1xyXG4gICAgY29sb3I6ICNmM2U1ZjQ7XHJcbiAgICAueGxhcmdlKHsgY29sb3I6ICNlZDAyOGI7IH0pO1xyXG4gIH1cclxuICAmLnRhYmxldCAubmV0cGxheS1nYW1lQ2F0ZWdvcmllcyAuc2VhcmNoX2JveCAuY2xvc2Vfc2VhcmNoIGkge1xyXG4gICAgY29sb3I6ICNmM2U1ZjQ7XHJcbiAgfVxyXG4gICYudGFibGV0IC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzIC5zZWFyY2hfYm94IC5jbG9zZV9zZWFyY2ggaSB7XHJcbiAgICBjb2xvcjogI2YzZTVmNDtcclxuICB9XHJcblxyXG5cclxuICAvL01CUy0xOTQ2LE1CUy0xOTQ4IFNlYXJjaCBCb3ggSW1wcm92ZW1lbnRzXHJcbiAgYm9keS5wYWdlLWJpbmdvLWZyb250IC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLmJpbmdvLWdhbWVzLXNlYXJjaCAudGl0bGUtbW9iIHtcclxuICAgIC5tZWRpdW0oeyB0ZXh0LWluZGVudDogNTBweDsgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9NQlMtMTk0NixNQlMtMTk0OCBTZWFyY2ggQm94IEltcHJvdmVtZW50c1xyXG4gIC8vUmVtb3ZlcyBib3gtc2hhZG93IGFmdGVyIHNlYXJjaCBpcyBwZXJmb3JtZWQgKHNob3VsZG4ndCBiZSB0aGVyZSlcclxuICAuYmxvY2stYmluZ28gLmZvdXItbW9zdC1wb3B1bGFyLWdhbWVzIC5jb250YWluZXIge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAvL01CUy0xOTQ2LE1CUy0xOTQ4IFNlYXJjaCBCb3ggSW1wcm92ZW1lbnRzXHJcbiAgLy8gQ29ycmVjdHMgYWxpZ25tZW50IG9uIElFIChUZXN0ZWQgb24gMTEpXHJcbiAgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMsIC5nYW1lc19tZW51ICB7XHJcbiAgICAuc2VhcmNoX2JveCAub3Blbl9zZWFyY2gge1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02OCUpO1xyXG4gICAgfVxyXG4gICAgJi5zaG93X3NlYXJjaF9maWVsZCB7XHJcbiAgICAgIC5zZWFyY2hfYm94IC5vcGVuX3NlYXJjaCB7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTElKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4vL01CUy0xOTQ2IC0gU2hvd3MgaWNvbiBvbiBkZXNrdG9wIG9uIGdhbWUgcGFnZVxyXG4ucGFnZS1nYW1lcyAubmV0cGxheS1nYW1lQ2F0ZWdvcmllcyAuc2VhcmNoX2JveCAuc2VhcmNoX2ljb24ge1xyXG4gIGNvbG9yOiAjZjNlNWY0O1xyXG59XHJcbi5wYWdlLWdhbWVzIC5zaG93X3NlYXJjaF9maWVsZC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzIC5zZWFyY2hfYm94IC5zZWFyY2hfaWNvbixib2R5LnBhZ2UtZ2FtZXMgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMgLnNlYXJjaF9ib3ggLnNlYXJjaF9maWVsZCB7XHJcbiAgY29sb3I6ICNlYzAxOGM7XHJcbn1cclxuYm9keS5wYWdlLWdhbWVzIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfYm94IC5vcGVuX3NlYXJjaCB7XHJcblxyXG5cclxuICB0b3A6IDI1cHg7XHJcbiAgLnhsYXJnZSh7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgfSk7XHJcbn1cclxuYm9keS5wYWdlLWdhbWVzIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfYm94IC5jbG9zZV9zZWFyY2gge1xyXG4gIHRvcDogMTZweDtcclxuXHJcbiAgLnhsYXJnZSh7XHJcbiAgICB0b3A6IC0zcHg7XHJcbiAgICByaWdodDogNCU7XHJcbiAgfSk7XHJcbn1cclxuYm9keS50YWJsZXQucGFnZS1nYW1lcyAubmV0cGxheS1nYW1lQ2F0ZWdvcmllcy5zaG93X3NlYXJjaF9maWVsZCAuc2VhcmNoX2JveCAub3Blbl9zZWFyY2gge1xyXG4gIC50YWJsZXQteHhsYXJnZSh7dG9wOiAyMHB4O30pO1xyXG59XHJcbmJvZHkudGFibGV0LnBhZ2UtZ2FtZXMgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMuc2hvd19zZWFyY2hfZmllbGQgLnNlYXJjaF9ib3ggLmNsb3NlX3NlYXJjaCB7XHJcbiAgLnRhYmxldC14eGxhcmdlKHt0b3A6IDE1cHg7fSk7XHJcbiAgLnhsYXJnZSh7IHJpZ2h0OiAxMHB4O3RvcDogLTVweDsgfSk7XHJcbn1cclxuXHJcbi8vIE1CUy0xOTQ2XHJcbi8vIENoYW5nZXMgcG9zaXRpb25pbmcgdG8gYWxsb3cgcG9ydHJhaXQgdGFibGV0cyB0byBkaXNwbGF5IHNlYXJjaCB3aXRob3V0IGNhdXNpbmcgcHJvYmxlbXMuXHJcbi8vLm1lbnUtaXRlbXMubG9uZy10YWJzIC5zaG93X3NlYXJjaF9maWVsZCAuc2VhcmNoX2JveCB7XHJcbi8vICBib2R5LnZuLWJpbmdvLnBhZ2UtZ2FtZXMuZGVza3RvcCB7XHJcbi8vICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gIH1cclxuLy8gIGJvZHkudm4tYmluZ28ucGFnZS1nYW1lcyB7XHJcbi8vICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gIH1cclxuLy99XHJcblxyXG4vLyBNQlMtMTk0NlxyXG4vLyBBbGlnbnMgdGhlIHNlYXJjaCBpY29uXHJcbi5kZXNrdG9wLnBhZ2UtZ2FtZXMgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMgLm9wZW5fc2VhcmNoIHtcclxuICBtYXJnaW4tbGVmdDogNDBweDtcclxufVxyXG4vLyBSZS1hbGlnbnMgc2VhcmNoIHdoZW5cclxuLmRlc2t0b3AucGFnZS1nYW1lcyAubmV0cGxheS1nYW1lQ2F0ZWdvcmllcy5zaG93X3NlYXJjaF9maWVsZCAub3Blbl9zZWFyY2gge1xyXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4vL01CUy0xOTQ2LE1CUy0xOTQ4IFNlYXJjaCBCb3ggSW1wcm92ZW1lbnRzXHJcbi8vUmVtb3ZlcyBib3gtc2hhZG93IGFmdGVyIHNlYXJjaCBpcyBwZXJmb3JtZWQgKHNob3VsZG4ndCBiZSB0aGVyZSlcclxuLmJsb2NrLWJpbmdvIC5mb3VyLW1vc3QtcG9wdWxhci1nYW1lcyAuY29udGFpbmVyIHtcclxuICBib3gtc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuXHJcbi8vIE1CUy0xOTU3IEphY2twb3RzXHJcblxyXG4vLyBNb3Rpb25cclxuQGtleWZyYW1lcyBzbGlkZWRvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFN0eWxlc1xyXG4uZ2FtZV93cmFwcGVyIC5qYWNrcG90X3NwaW5uZXIge1xyXG5cclxuICAvL1Jlc2V0c1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgYm90dG9tOiBhdXRvO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuXHJcbiAgY29sb3I6ICNlZDAyOGI7XHJcbiAgYmFja2dyb3VuZDogI2YzZTVmNDtcclxuICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgNXB4O1xyXG5cclxuXHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcblxyXG4gIC8vUmVzZXRzIC0gT25seSBmb3IgZGVza3RvcFxyXG4gIHRleHQtc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmxhcmdlLW1pbi13aWR0aCh7XHJcbmJvZHk6bm90KC50YWJsZXQpIHtcclxuICAvLyBqcC1oZXJlIGlzIGNsYXNzIGFkZGVkIHRvIGFsbG93IHVzIHRvIGxlYXZlIG5vbi1qcCBnYW1lcyBhbG9uZVxyXG4gIC5qcC1oZXJlLmdhbWVfd3JhcHBlcjpob3ZlciB7XHJcbiAgICAuZ2FtZV9vdmVybGF5IC5wbGF5X2Zvcl9yZWFsIHtcclxuICAgICAgbWFyZ2luLXRvcDogNzJweDtcclxuICAgIH1cclxuICAgIC5qYWNrcG90X3NwaW5uZXIge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlZG93bjtcclxuICAgICAgLy9PdmVycmlkZXMgLSBVc2VkIHRvIGRpc3BsYXkgSmFja3BvdHMgd2hlbiBob3ZlcmVkIG92ZXJcclxuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMCkgc2F0dXJhdGUoMTAwJSk7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIkphY2twb3RcIjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG59KTtcclxuXHJcbi8vIFRhYmxldFxyXG4ueGxhcmdlKHtcclxuICAuZ2FtZV93cmFwcGVyIHtcclxuICAgIC5qYWNrcG90X3NwaW5uZXIge1xyXG4gICAgICAvLyBSZXNldHNcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudDtcclxuICAgICAgLmJvcmRlci1yYWRpdXMoMCAwIDAgNXB4KTtcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAuZGlzcGxheShubyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0pO1xyXG5cclxuLy8gTW9iaWxlXHJcbi5sYXJnZSh7XHJcbiAgLmdhbWVfd3JhcHBlciB7XHJcbiAgICAubmV3LWdhbWUucG9wLWltYWdlIHtcclxuICAgICAgLmRpc3BsYXkoKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIC5ib3JkZXItcmFkaXVzKDAgMCA2cHggMCk7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNlZDAyOGI7XHJcbiAgICAgIGNvbG9yOiAjZjNlNWY0O1xyXG4gICAgICAvLyAgICAgIHRleHQtc2hhZG93OiAwIDFweCAxcHggYmxhY2ssIDAgMCA1cHggI2VkMDI4YjtcclxuICAgICAgLnByb3hpbWEtZm9udChib2xkKTtcclxuICAgICAgcGFkZGluZzogMnB4IDVweDtcclxuICAgICAgLy8gICAgcGFkZGluZy10b3A6IDlweDtcclxuICAgIH1cclxuXHJcbiAgICAuamFja3BvdF9zcGlubmVyIHtcclxuXHJcbiAgICAgIC8vIFJlc2V0c1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgLmRpc3BsYXkobm8pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgbWFyZ2luOiAycHg7IC8vSWYgbmV3IGdhbWUgdGhlbiB3b3VsZCBuZWVkIG1vcmUgc3BhY2luZyBmb3IgYm9yZGVyXHJcbiAgICAgIGNvbG9yOiByZ2JhKDIzNywyLDEzOSwwLjkpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZjNlNWY0O1xyXG4gICAgICAuYm9yZGVyLXJhZGl1cygzcHgpO1xyXG5cclxuICAgICAgLmN1cnJlbmN5LXN5bWJvbCwgLm9kb21ldGVyIHtcclxuICAgICAgICAuZGlzcGxheShubyk7XHJcbiAgICAgIH1cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiSlBcIjtcclxuICAgICAgICBwYWRkaW5nOiAycHggNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSk7XHJcblxyXG5cclxuXHJcblxyXG4vL1BPUFVQIFZlcnNpb24gb2YgU3Bpbm5lclxyXG4ud3JhcHBlcl9vdmVybGF5IC5qYWNrcG90X3NwaW5uZXIge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogNXB4IDA7XHJcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCBibGFjaywgMCAwIDVweCAjZWQwMjhiO1xyXG4gIGJhY2tncm91bmQ6ICNlZDAyOGI7XHJcbiAgY29sb3I6ICNmM2U1ZjQ7XHJcbn1cclxuLmdhbWVfd3JhcHBlciAubmV3LWdhbWUsIC5nYW1lX3dyYXBwZXIgLm5ldy1nYW1lLnBvcC1pbWFnZSB7XHJcbiAgdGV4dC1pbmRlbnQ6IDA7XHJcbiAgYm90dG9tOiBhdXRvO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGhlaWdodDogYXV0bztcclxuICB0b3A6IDA7XHJcblxyXG4gIHJpZ2h0OiBhdXRvO1xyXG4gIC5kaXNwbGF5KCk7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICAuYm9yZGVyLXJhZGl1cygwIDAgNnB4IDApO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBiYWNrZ3JvdW5kOiAjZWQwMjhiO1xyXG4gIGNvbG9yOiAjZjNlNWY0O1xyXG4gIC8vICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCBibGFjaywgMCAwIDVweCAjZWQwMjhiO1xyXG4gIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcbiAgcGFkZGluZzogMnB4IDVweDtcclxuICAvLyAgICBwYWRkaW5nLXRvcDogOXB4O1xyXG59XHJcbmJvZHkudm4tYmluZ28ucGFnZS1nYW1lcyAubWVudS1pdGVtcy5sb25nLXRhYnMgLnNlYXJjaF9ib3gsLnBhZ2UtZ2FtZXMgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMgLnNlYXJjaF9ib3gge1xyXG4gYmFja2dyb3VuZDogI2VjMDE4YztcclxufVxyXG5cclxuLy9zaG91bGQgYmUgb24gQmluZ28vbGVzcy9nYW1lcy5sZXNzXHJcbi8vVGhpcyBtb2RhbCBpcyB1c2VkIG9ubHkgZm9yIGJpbmdvIGFuZCB0aGlzIGlzIGEgdGVtcG9yYXJ5IG1vZGFsXHJcbi5tb2RhbC5mYWRlLmxvYmJ5LWNob2ljZS1tb2RhbCB7XHJcblxyXG4gIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWF4LXdpZHRoOiA3MDBweDtcclxuXHJcbiAgICAuY2xvc2Uge1xyXG4gICAgICByaWdodDogMSU7XHJcbiAgICB9XHJcbiAgICAubW9kYWwtY29udGVudHtcclxuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjMmIyMTNhO1xyXG4gICAgICAuVl9tb2RhbF9jb250ZW50X2JhY2tncm91bmQoKTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjRkZGO1xyXG5cclxuICAgICAgLnRpdGxlIHtcclxuICAgICAgICBjb2xvcjogI0ZGRjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6ICNGRkY7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDQjFEODg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQjFEODg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2hvaWNlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG4gICAgICAgIC5uZXcsIC5jbGFzc2ljIHtcclxuICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMzVweDtcclxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcblxyXG4gICAgICAgICAgICAmLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgLnByb3hpbWEtZm9udChib2xkKTtcclxuICAgICAgICAgICAgICAuZGlzcGxheSgpO1xyXG5cclxuICAgICAgICAgICAgICB3aWR0aDoxMDRweDtcclxuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XHJcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkY7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNsYXNzaWMgYS5idXR0b24ge1xyXG4gICAgICAgICAgLlZfaGVhZGVyc19idF9tb3JlX2luZm8oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5ldyBhLmJ1dHRvbiB7XHJcbiAgICAgICAgICAuVl9oZWFkZXJzX2J0X2pvaW5fbm93KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5mb290ZXJfbGVnYWxfdGV4dCB7XHJcbiBjb2xvcjogI2ZmZjtcclxuIH1cclxuLnByaW1hcnktY3RhIHtcclxuICAuVl9nYW1lLWluZm9fYnRfcGxheV9yZWFsKCk7XHJcbiAgLmRpc3BsYXkoaW5saW5lLWJsb2NrKTtcclxuICBwYWRkaW5nOiA1cHg7XHJcbn1cclxuXHJcbi8vVE9ETzogRG8gd2UgbmVlZCAuZ2FtZXNfbWVudT8gaG93IGRvZXMgdGhpcyB3b3JrP1xyXG4vLyBUT0RPOiBSZS1hZGQgbG9hZGluZyBpbmRpY2F0b3IgZm9yIGNvbnRlbnQgYm9keVxyXG4vL2F0IHN0YXJ0LCB3ZSBkb24ndCB3YW50IHRvIGdldCB0aGUgc2VhcmNoIGZpZWxkIHZpc2libGVcclxuLnNlYXJjaF9ib3ggLnNlYXJjaF9maWVsZF9jb250YWluZXIgLnNlYXJjaF9maWVsZCB7IC5kaXNwbGF5KG5vKTsgIH1cclxuXHJcbi8qIElFMTAgaGFja3MgICovXHJcbl86LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAuc2VhcmNoX2ZpZWxkIHsgIG1hcmdpbi10b3A6IDEzcHg7ICB9XHJcbl86LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAuaWNvbi1jbG9zZSAgIHsgIG1hcmdpbi10b3A6IDE0cHg7ICB9XHJcbl86LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAubmV0cGxheS1nYW1lQ2F0ZWdvcmllcyAuc2VhcmNoX2JveCAub3Blbl9zZWFyY2ggeyAgdG9wOjI3cHg7ICB9XHJcblxyXG4vLyBQb3NzaWJsZSBMZWdhY3kgQ29kZSAoUGllcnJlKVxyXG4vLy8vLyBUaGlzIHdhcyB1c2VkIHRvIERpc3BsYXkgbG9hZGluZyBpbmRpY2F0aW9uIGluIHNlYXJjaCBib3ggYXMgd2UgY3JlYXRlZCBuZXcgcXVlcnkgd2hlbiBnYW1lcyB3YXMgc2VhcmNoZWRcclxuLnNlYXJjaF9sb2FkaW5nIHtcclxuICAuZ2FtZXNfbWVudSAuYWxsX2dhbWVzX2xvYWRlZCAmLCAuZ2FtZXNfbWVudSAmIHsgLmRpc3BsYXkobm8pOyB9XHJcbiAgLmdhbWVzX21lbnUubG9hZGluZ19hbGxfZ2FtZXMgJiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6MzdweDtcclxuICAgIGxlZnQ6MTBweDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxMXB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvZ2VuZXJhbC9hamF4LWxvYWRlcjQuZ2lmKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5zaG93X3NlYXJjaF9maWVsZCB7XHJcblxyXG4gIC5zcGFjZXIuZmlyc3QgeyAgd2lkdGg6IDA7ICAgfVxyXG4gIC5zcGFjZXIubGFzdCAgeyAgd2lkdGg6IDY1JTsgfVxyXG5cclxuICAuZ2FtZXNfbWVudSYsLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMmIHtcclxuXHJcbiAgICAuc3BhY2VyLmZpcnN0IHsgd2lkdGg6IDUlOyAgfVxyXG4gICAgLnNwYWNlci5sYXN0ICB7IHdpZHRoOiAwOyAgIH1cclxuXHJcblxyXG4gICAgYm9keS5kZXNrdG9wICYge1xyXG4gICAgICAuc3BhY2VyLmZpcnN0IHsgd2lkdGg6IDUlOyAgfVxyXG4gICAgICAuc3BhY2VyLmxhc3QgIHsgd2lkdGg6IDk1JTsgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbi5zZWFyY2hfZmllbGQge1xyXG5cclxuICAmLC5zaG93X3NlYXJjaF9maWVsZCAme1xyXG4gICAgLlZfc2VhcmNoX2ZpZWxkX2JnX3Nob3coKTtcclxuICB9XHJcblxyXG4gIC8vIENocm9tZSBvbmZvY3VzIGJyb3dzZXIgc3R5bGUgcmVtb3ZhbFxyXG4gIG91dGxpbmU6IDA7XHJcblxyXG4gIC5zaG93X3NlYXJjaF9maWVsZCAmIHtcclxuICAgIHdpZHRoOiAxMzhweDtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIHBhZGRpbmc6IDVweCA4cHggM3B4IDA7XHJcbiAgICB0ZXh0LWluZGVudDogMzBweDtcclxuICB9XHJcblxyXG4gIC8vIEplcm9tZTogV2h5IGFyZSB0YXJnZXRpbmcgdGhlIGhpZ2hlc3QgbGV2ZWwgcGFyZW50IGVsZW1lbnQgZm9yIHRoaXMgc2VsZWN0b3I/XHJcbiAgLy8gU29tZSBraW5kIG9mIElFIGhhY2s/XHJcbiAgOnJvb3QgJiB7XHJcbiAgICBtYXJnaW4tdG9wOiAxM3B4XFw5O1xyXG4gICAgZmlsdGVyOiBub25lXFw5ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAubmV0cGxheS1nYW1lQ2F0ZWdvcmllcyAuc2VhcmNoX2JveCAuc2VhcmNoX2ZpZWxkX2NvbnRhaW5lciAmLCAuZ2FtZXNfbWVudSAuc2VhcmNoX2JveCAuc2VhcmNoX2ZpZWxkX2NvbnRhaW5lciAmIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTE2cHg7XHJcbiAgICBwYWRkaW5nOiA0cHggMDtcclxuICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogMC4zcztcclxuICB9XHJcblxyXG4gIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfYm94ICYsIC5nYW1lc19tZW51LnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfYm94ICYge1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsZWZ0OiAxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5zZWFyY2hfYm94IHtcclxuICAubmV0cGxheS1nYW1lQ2F0ZWdvcmllcyAmLCAuZ2FtZXNfbWVudSAmIHtcclxuXHJcbiAgICAuVl9nYW1lcy1uYXZfYmdfY2FzaW5vKCk7XHJcbiAgICAuZ2FtZXNfbWVudV9zcGFjaW5nX21peGluKCk7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMjAlO1xyXG4gICAgdHJhbnNpdGlvbjogMC4zcztcclxuICAgIC52ZWdhcy12ZXJ0aWNhbCAmIHsgLlZfZ2FtZXMtbmF2X2JnX3ZlZ2FzKCk7IH1cclxuXHJcbiAgICBib2R5LmRlc2t0b3AgJiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IC01NHB4O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgLm1lZGl1bSh7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93X3NlYXJjaF9maWVsZCYge1xyXG4gICAgICB0cmFuc2l0aW9uOiAwLjNzO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIG1hcmdpbi10b3A6IC00NXB4O1xyXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgIC54bGFyZ2UoeyB3aWR0aDogMzAlOyB9KTtcclxuICAgICAgLmxhcmdlKHsgd2lkdGg6IDEwMCU7IH0pO1xyXG4gICAgICAuc21hbGwoeyBtYXJnaW4tdG9wOiAtNDBweDsgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ub3Blbl9zZWFyY2gge1xyXG4gIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzICYsIC5nYW1lc19tZW51ICYgIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRyYW5zaXRpb246IDAuM3M7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU1JSk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTUlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU1JSk7XHJcblxyXG4gICAgLmxhcmdlKHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01NiUpOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTYlKTsgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTYlKTsgfSk7XHJcbiAgICAuc21hbGwoeyBsZWZ0OiAyNXB4OyB9KTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93X3NlYXJjaF9maWVsZCYge1xyXG4gICAgICBsZWZ0OiAxOXB4O1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICY6aG92ZXIgeyAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC8vIFRPRE86IE9wdGltaXplIGNvZGVcclxuICBsaSBhJiB7XHJcbiAgICAmOmhvdmVyLCYge1xyXG4gICAgICAubmV0cGxheS1nYW1lQ2F0ZWdvcmllcyAmLCAuZ2FtZXNfbWVudSAmIHtcclxuICAgICAgICAudmVnYXMtdmVydGljYWwgJiB7IGJhY2tncm91bmQ6IG5vbmU7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMuc2hvd19zZWFyY2hfZmllbGQgLnNlYXJjaF9ib3ggJiwgLmdhbWVzX21lbnUuc2hvd19zZWFyY2hfZmllbGQgLnNlYXJjaF9ib3ggJiB7XHJcbiAgICBsZWZ0OiAyNXB4O1xyXG5cclxuICAgIC5sYXJnZSh7IGxlZnQ6IDI1cHg7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDklKTsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQ5JSk7IC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQ5JSk7IH0pO1xyXG4gICAgLnNtYWxsKHsgbGVmdDogMjlweDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00NiUpOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDYlKTsgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDYlKTsgfSk7XHJcblxyXG4gICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG4gIH1cclxuXHJcbiAgLy8gSUUgOSBoYWNrc1xyXG4gIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzIC5zZWFyY2hfYm94ICYgeyB0b3A6MjdweFxcMDsgfVxyXG5cclxufVxyXG4vLyBFbmQgb2YgVE9ET1xyXG5cclxuLmNsb3NlX3NlYXJjaCB7XHJcbiAgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMgJiwgLmdhbWVzX21lbnUgJiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogMC4zcztcclxuICAgIHRvcDogMTBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAwO1xyXG5cclxuICAgIC54bGFyZ2UoeyB0b3A6IDE1cHg7IH0pO1xyXG4gICAgLnNtYWxsKHsgdG9wOiA0cHg7IH0pO1xyXG5cclxuICAgICY6aG92ZXIgeyAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfYm94ICYsIC5nYW1lc19tZW51LnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfYm94ICYge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICByaWdodDogMzdweDtcclxuICAgIHRvcDogNXB4O1xyXG4gICAgLmxhcmdlKHsgdG9wOiA3cHg7IH0pO1xyXG4gICAgLnNtYWxsKHsgdG9wOiA0cHg7IH0pO1xyXG5cclxuICAgIC8vRGVza3RvcCBHYW1lQ2F0ZWdvcmllcyBpcyBsYXJnZXIgdGhhbiBzbWFydHBob25lL3RhYmxldFxyXG4gICAgYm9keS5kZXNrdG9wICYgeyB0b3A6IDE1cHg7IH1cclxuXHJcbiAgICAvLyBQb3B1bGFyIEdhbWUgQ2xvc2UgU2VhcmNoIGlzbid0IHNhbWUgcG9zaXRpb25pbmdcclxuICAgIC5wb3B1bGFyLWdhbWVzLWJsb2NrICYsIGJvZHkuZGVza3RvcCAucG9wdWxhci1nYW1lcy1ibG9jayAmIHtcclxuICAgICAgdG9wOiA5cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc2VhcmNoX2ljb24ge1xyXG4gIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzIC5zZWFyY2hfYm94ICYsIC5nYW1lc19tZW51IC5zZWFyY2hfYm94ICYge1xyXG4gICAgLmRpc3BsYXkoKTtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgdHJhbnNpdGlvbjogMC4zcztcclxuICB9XHJcbn1cclxuXHJcbi5zZWFyY2hfZmllbGRfY29udGFpbmVyIHtcclxuICAubmV0cGxheS1nYW1lQ2F0ZWdvcmllcyAuc2VhcmNoX2JveCAgJiwgLmdhbWVzX21lbnUgIC5zZWFyY2hfYm94ICYge1xyXG4gICAgLy8gICAgaGVpZ2h0OiA1MXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0NnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEzcHg7XHJcblxyXG4gICAgYm9keS5kZXNrdG9wICYge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNjJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzLnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfYm94ICYsIC5nYW1lc19tZW51LnNob3dfc2VhcmNoX2ZpZWxkIC5zZWFyY2hfYm94ICYge1xyXG4gICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA2MXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEzcHg7XHJcblxyXG4gICAgLmxhcmdlKHsgaGVpZ2h0OiA0OXB4OyB9KTtcclxuICAgIC5zbWFsbCh7IGhlaWdodDogNDRweDsgfSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmljb24tY2xvc2Uge1xyXG4gIC5uZXRwbGF5LWdhbWVDYXRlZ29yaWVzIC5zZWFyY2hfYm94ICYsIC5nYW1lc19tZW51IC5zZWFyY2hfYm94ICYge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IDAuM3M7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICB9XHJcbiAgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMgLmNsb3NlX3NlYXJjaCAmLCAuZ2FtZXNfbWVudSAuY2xvc2Vfc2VhcmNoICYge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgOnJvb3QgLmdhbWVzX21lbnUgJiB7XHJcbiAgICBtYXJnaW4tdG9wOiAxNHB4XFw5O1xyXG4gIH1cclxuXHJcbiAgLm5ldHBsYXktZ2FtZUNhdGVnb3JpZXMuc2hvd19zZWFyY2hfZmllbGQgJiwgLmdhbWVzX21lbnUuc2hvd19zZWFyY2hfZmllbGQgJiB7XHJcbiAgICAuc21hbGwoeyBtYXJnaW4tdG9wOiAtMTBweDsgfSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBMb2FkaW5nIFBvcHVwIEJveCBTcGVjaWZpYyBTdHlsZXNcclxuLmxvZ2luLW1vZGFsIC5sb2dpbi1vdmVybGF5LWNvbnRlbnQubG9naW4tZXJyb3IgLmVycm9yX21lc3NhZ2UgeyAgbWFyZ2luLWJvdHRvbTogMC41ZW07ICB9XHJcblxyXG4vLyBQcmV2ZW50cyAnT3BlbiBMb2JieScgQnV0dG9uIGZyb20gc2hvd2luZyBvbiBOb24tQXV0aFxyXG4ubm90LWxvZ2dlZC1pbiAuZnJvbnQtZ2FtZXMtdGl0bGUgLmxhdW5jaC1iaW5nbyB7ICAuZGlzcGxheShubyk7ICB9XHJcblxyXG4vLyBNQlMtMjUyMSAoQmVjYXVzZSBQb3B1bGFyIEdhbWVzIEJsb2NrIGlzIG1vdmVkIGludG8gUmVnaW9uIEJhbm5lciB3ZSBuZWVkIHRvIG92ZXJyaWRlIEZMRVggLSBWTkIgT25seSBDaGFuZ2UpXHJcbi5iYXNpYy1wYWdlLnNlYXJjaC1iYXItZW5hYmxlZCB7XHJcbiAgLnJlZ2lvbi1iYW5uZXIge1xyXG4gICAgLmRpc3BsYXkoKTtcclxuICAgID4gKjpub3QoLnBvcHVsYXItZ2FtZXMtYmxvY2spIHtcclxuICAgICAgLmRpc3BsYXkobm8pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIiwiLy8gX21peGluLmxlc3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBdXRob3I6ICBNYWthbiBKIEhvdXN0b24gKFlvIE5vdCBhbnltb3JlISAgLSBKZXJvbWUgRCBOZWxzb24gI3NheW15bmFtZSlcbi8vIENvbnRyaWJ1dG9yczogIC1cbi8vIERlc2NyaXB0aW9uOiAgTEVTUyBtaXhpbnNcbi8vIENvcHlyaWdodCAyMDE1IE5ldHBsYXlUViBwbGMuXG5cbi8vIFN0eWxlZCBFeHRlbmRzIExFU1NcbkBpbXBvcnQgJy4uLy4uL0ZMRVgvbGVzcy9fZGV0YWNoZWQnO1xuQGltcG9ydCAnLi4vLi4vRkxFWC9sZXNzL192YXJpYWJsZXMnO1xuXG4vLyAgQ1NTMyBNaXhpbnMgKHVzZWQgaW4gdGFicyxsb2dpbix2aXApXG4uYzMtYngtc2hhZG93KEBhcmdzOiBAZGYtYngtc2hhZG93KXtcbiAgYm94LXNoYWRvdzogQGFyZ3M7XG59XG4uYzMtcmRzKEBzaXplKSB7XG4gIGJvcmRlci1yYWRpdXM6IEBzaXplO1xufVxuLmMzLWdyZG4oQHR5cGU7IEBjb2xvcnM7IEBkaXI6IDBkZWc7IEBwcmVmaXhlczogd2Via2l0LCBtb3osIG1zLCBvOyBAaW5kZXg6IGxlbmd0aChAcHJlZml4ZXMpKSB3aGVuIChAaW5kZXggPiAwKSB7XG4gIC5jMy1ncmRuKEB0eXBlOyBAY29sb3JzOyBAZGlyOyBAcHJlZml4ZXM7IChAaW5kZXggLSAxKSk7XG5cbiAgQHByZWZpeCAgOiBleHRyYWN0KEBwcmVmaXhlcywgQGluZGV4KTtcbiAgQGRpci1vbGQgOiA5MCAtIChAZGlyKTtcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB+XCItQHtwcmVmaXh9LUB7dHlwZX0tZ3JhZGllbnQoQHtkaXItb2xkfSwgQHtjb2xvcnN9KVwiO1xuICAmIHdoZW4gKCBAaW5kZXggPSBsZW5ndGgoQHByZWZpeGVzKSApIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB+XCJAe3R5cGV9LWdyYWRpZW50KEB7ZGlyfSwgQHtjb2xvcnN9KVwiO1xuICB9XG59XG4uYzMtdHh0LXNoZHcoQGNvbG9yKSB7XG4gIHRleHQtc2hhZG93OiAwIDJweCAxcHggZmFkZShAY29sb3IsNTAlKTtcbn1cbi5jMy10cm5zKEB0cmFucykge1xuICAtd2Via2l0LXRyYW5zaXRpb246IEB0cmFucztcbiAgdHJhbnNpdGlvbjogQHRyYW5zO1xufVxuXG5cbi8vICBCdXR0b24gTWl4aW5zICh1c2VkIGluIGxvZ2luKVxuLmJ1dHRvbi1zdHlsZXMoQGN1cnZlOiAxcHgpIHtcbiAgLmRpc3BsYXkoKTtcbiAgLmJ1dHRvbi1yYWRpdXMoQGN1cnZlKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uYnV0dG9uLXJhZGl1cyhAcmFkaXVzKSB3aGVuIChAcmFkaXVzID4gMCkge1xuICAuYzMtcmRzKEByYWRpdXMpO1xufVxuLmJ1dHRvbi1ncmFkaWVudChAYmFzZWNvbG9yKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKEBiYXNlY29sb3IsMTAlKTtcbiAgYmFja2dyb3VuZDogQGJhc2Vjb2xvcjtcbiAgLmMzLWdyZG4obGluZWFyOyBkYXJrZW4oQGJhc2Vjb2xvciwzMCUpLEBiYXNlY29sb3IpO1xuXG4gICY6aG92ZXIge1xuICAgIC5jMy1ncmRuKGxpbmVhcjsgZGFya2VuKEBiYXNlY29sb3IsMjAlKSxsaWdodGVuKEBiYXNlY29sb3IsMTAlKSk7XG4gIH1cbn1cblxuXG5cblxuLyogIENvbG91cnMgKGZyb20gaWRlbnRpdHkpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBvZmZfd2hpdGU6ICNlZWU7XG5AZ3JleTogI2U2ZjBmYTtcblxuQHN1cGVyX3JlZDogICAgICAgICAgICAgI2E5MDkwNztcbkBzdXBlcl9yZWRfc2VsZWN0ZWQ6ICAgICMzMjA5MEY7XG5Ac3VwZXJfcGluazogICAgICAgICAgICAjYTAxZTliO1xuQHN1cGVyX2dvbGQ6ICAgICAgICAgICAgI2FmODYzNjtcbkBzdXBlcl9icmFzczogICAgICAgICAgICNkNGIxNWU7XG5Ac3VwZXJfYmx1ZTogICAgICAgICAgICAjMWM4Y2UyO1xuQHN1cGVyX3B1cnBsZTogICAgICAgICAgIzI3MjAzNDtcblxuXG5cblxuLyogZGV2aWNlIHdpZHRoIHZhcmlhYmxlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5cbi54bGFyZ2UoQHJ1bGVzKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpICB7XG4gICAgICAgIEBydWxlcygpO1xuICAgIH1cbn1cbi5sYXJnZShAcnVsZXMpe1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgQHJ1bGVzKCk7XG4gIH1cbn1cbi5tZWRpdW0oQHJ1bGVzKXtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2N3B4KSB7XG4gICAgICAgIEBydWxlcygpO1xuICAgIH1cbn1cbi5zbWFsbChAcnVsZXMpe1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDEzcHgpIHtcbiAgICAgICAgQHJ1bGVzKCk7XG4gICAgfVxufVxuLnNtYWxsLWhlaWdodChAcnVsZXMpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0MTNweCkge1xuICAgICAgICBAcnVsZXMoKTtcbiAgICB9XG59XG5cbi8qIHNwZWNpYWwgbWV0aG9kc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLy9CaW5nbyBWZXJub25zXG4vL0NTUyBGaXggZm9yIE1lbnUgVGV4dCBCcmVha2luZyAtIFByb21vcy4vIDgwMHB4IEJyZWFraW5nIGZvciBHYW1lcyBQYWdlXG4ueWxhcmdlKEBydWxlcykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIEBydWxlcygpO1xuICB9XG59XG4vL3RoaXMgbWV0aG9kIGlzIHVzZWQgYnkgYm9vdHN0cmFwIG1vZGFsICggb3ZlcnJpZGUgb2Ygc29tZSBjbGFzc2VzIGluIF9sYXlvdXQubGVzcylcbi5sYXJnZS1taW4td2lkdGgoQHJ1bGVzKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBAcnVsZXMoKTtcbiAgfVxufVxuLy9XaW5uZXJzIGJsb2NrIHNob3VsZCBkaXNhcHBlYXIgYmV0d2VlbiAxMDI0cHggYW5kIDc2OHB4IHdpZHRoLCBidXQgdGhlc2Ugc2l6ZXMgY29tZXMgZnJvbSB0aGUgc2FtZSBicmVha3BvaW50ICggLnhsYXJnZSApXG4vLyBTbywgSSBuZWVkIGFuIGludGVybWVkaWF0ZSBicmVha3BvaW50LlxuLy8xMDAwcHggYmVjYXVzZSB0aGF0IGlzIHRoZSB3aWR0aCB3aGVyZSB0aGUgbGF5b3V0IGJlZ2lucyB0byBzaGl0LlxuLmhlcm8tYmFubmVyLXN0YXRlMShAcnVsZXMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICBAcnVsZXMoKTtcbiAgfVxufVxuLmhlcm8tYmFubmVyLXN0YXRlMihAcnVsZXMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTVweCkge1xuICAgIEBydWxlcygpO1xuICB9XG59XG4uaGVyby1iYW5uZXItc3RhdGUzKEBydWxlcykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgQHJ1bGVzKCk7XG4gIH1cbn1cbi8vVGhlIGNhc2hpZXIgaXMgbm90IHJlc3BvbnNpdmUgYXQgYWxsLiBTbywgd2hlbiB3ZSByZXNpemUgdGhlIGRlc2t0b3AsIGEgcGFydCBvZiB0aGUgY2FzaGllciBpcyBub3QgZGlzcGxheWVkXG4vL05vdGUgdGhhdCB0aGUgY2FzaGllciBpZGVhbCBzaXplIGlzIDgyNyB4IDYyMHB4XG4uY2FzaGllci1sYXJnZShAcnVsZXMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MjdweCkge1xuICAgIEBydWxlcygpO1xuICB9XG59XG5cbi8vdGhlIHZlcnRpY2FsLW1lbnUgZnJvbSBzdGFsa2VyIHNob3VsZCBkaXNhcHBlYXIgd2hlbiB0aGUgc2VhcmNoIGJhciBpcyBlbmFibGVkLCBidXQgb25seSBpbiBsYW5kc2NhcGVcbi8vaHR0cDovL2Jsb2cuYWJvdXRoYWxmLmNvbS9kZXZlbG9wbWVudC9vcmllbnRhdGlvbi1tZWRpYS1xdWVyeS1jaGFsbGVuZ2VzLWluLWFuZHJvaWQtYnJvd3NlcnMvXG4ubGFuZHNjYXBlKEBydWxlcykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1pbi1hc3BlY3QtcmF0aW86IDEzLzkpIHtcbiAgICBAcnVsZXMoKTtcbiAgfVxufVxuXG4ubGFuZHNjYXBlLWxhcmdlKEBydWxlcykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBAcnVsZXMoKTtcbiAgfVxufVxuXG5cbi8vdGhlIHZlcnRpY2FsLW1lbnUgb2Ygc3RhbGtlciBtdXN0IG9ubHkgYXBwZWFyIGZvciBpUGhvbmU2ICggYnVsbHNoaXQgYnJlYWtwb2ludCApXG4uc21hbGxlci10aGFuLWlwaG9uZTYoQHJ1bGVzKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjY2cHgpIGFuZCAobWF4LWhlaWdodDogMzc0cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSl7XG4gICAgQHJ1bGVzKCk7XG4gIH1cbn1cbi8vdHJpZWQgdG8gdXNlIGNvbWJpbmF0aW9uIG9mIG1peGlucyBidXQgdGhhdCBjcmVhdGVzIGNzcyBlcnJvciB3aGVuIGd1bHAgZ2VuZXJhdGVzIHRoZSBjc3MuXG4vLyBtaXggb2YgLnNtYWxsZXItdGhhbi1pcGhvbmU2IGFuZCAubWVkaXVtXG4uc21hbGxlci10aGFuLWlwaG9uZTYtbWVkaXVtKEBydWxlcykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NHB4KSBhbmQgKG1heC1oZWlnaHQ6IDY2NnB4KSAsIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NjZweCkgYW5kIChtYXgtaGVpZ2h0OiAzNzRweCkge1xuICAgIEBydWxlcygpO1xuICB9O1xufVxuLnNtYWxsZXItdGhhbi1pcGhvbmU2LXNtYWxsKEBydWxlcykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NHB4KSBhbmQgKG1heC1oZWlnaHQ6IDY2NnB4KSBhbmQgKG1heC13aWR0aDogNDE0cHgpLCBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjY2cHgpIGFuZCAobWF4LWhlaWdodDogMzc0cHgpIGFuZCAobWF4LXdpZHRoOiA0MTRweCkgIHtcbiAgICBAcnVsZXMoKTtcbiAgfTtcbn1cblxuLy8gRGlzcGxheSBWaXAgdGFibGUgZm9yIHBvcnRyYWl0IHRhYmxldFxuLnZpcC10YWJsZS14bGFyZ2UoQHJ1bGVzKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgQHJ1bGVzKCk7XG4gIH1cbn1cblxuLy8gRGlzcGxheSBVb2luIHVzIGJ1dHRvbiBmb3IgaXBob25lIDYgcGx1cyBwb3J0YXJpdFxuLmRpc3BsYXktam9pbnVzLWJ1dHRvbihAcnVsZXMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIEBydWxlcygpO1xuICB9XG59XG5cbi5kaXNwbGF5LWlucHV0eXBlLW1lZGl1bShAcnVsZXMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIEBydWxlcygpO1xuICB9XG59XG4uZ2FtZS1pbmZvLXBhZ2Utc3RhdGUxKEBydWxlcyl7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDU1cHgpIHtcbiAgICBAcnVsZXMoKTtcbiAgfVxufVxuXG4vL1RoaXMgbWVkaWEtcXVlcnkgbXVzdCBiZSB1c2VkIG9ubHkgaW4gYm9keS50YWJsZXQgYW5kL29yIGJvZHkuc21hcnRwaG9uZVxuLy9UaGlzIGFsbG93cyB0byBtYW5hZ2UgdGhlIGNhc2Ugb2YgYWxsIHRoZSB0YWJsZXRzIGxhcmdlc3QgdGhhbiB0aGUgeGxhcmdlIG1lZGlhLXF1ZXJ5XG4udGFibGV0LXh4bGFyZ2UoQHJ1bGVzKVxue1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpICB7XG4gICAgQHJ1bGVzKCk7XG4gIH1cbn1cblxuLnRhYmxldC14eGxhcmdlLWxhbmRzY2FwZShAcnVsZXMpXG57XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSAge1xuICAgIEBydWxlcygpO1xuICB9XG59XG5cbi8qIGdhbWUgd3JhcHBlciBmb3IgaG9tZSBwYWdlICovXG5cbi5nYW1ld3JhcHBlci1zbWFsbC1pcDYtcGx1cyhAcnVsZXMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIEBydWxlcygpO1xuICB9O1xufVxuXG4uZ2FtZXdyYXBwZXItc21hbGwtaXA2KEBydWxlcykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NXB4KSB7XG4gICAgQHJ1bGVzKCk7XG4gIH07XG59XG5cbi5nYW1ld3JhcHBlci1zbWFsbChAcnVsZXMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzRweCkge1xuICAgIEBydWxlcygpO1xuICB9O1xufVxuXG5cblxuLyogIEZvbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovIFxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgIHNyYzp1cmwoJy9hc3NldHMvZm9udHMvaWNvbW9vbi5lb3QnKTtcbiAgICBzcmM6dXJsKCcvYXNzZXRzL2ZvbnRzL2ljb21vb24uZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy9hc3NldHMvZm9udHMvaWNvbW9vbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnL2Fzc2V0cy9mb250cy9pY29tb29uLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcvYXNzZXRzL2ZvbnRzL2ljb21vb24uc3ZnJykgZm9ybWF0KCdzdmcnKTsgXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICBzcGVhazogbm9uZTsgXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vKiBpY29ucyAtIHNob3VsZCBiZSB1cGFkYXRlZCAgICovXG5cbi5pY29uLWJhY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYwMFwiO1xufVxuLmljb24td2l0aGRyYXc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYwMVwiO1xufVxuLmljb24tdHJhbnNhY3Rpb25zOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MDJcIjtcbn1cbi5pY29uLW1lbnU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYwM1wiO1xufVxuLmljb24taXRlbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjA0XCI7XG59XG4uaWNvbi1kZXBvc2l0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MDVcIjtcbn1cbi5pY29uLWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MDZcIjtcbn1cbi5pY29uLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MDdcIjtcbn1cbi5pY29uLWFycm93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MDhcIjtcbn1cbi5pY29uLWNoYW5nZS1wYXNzd29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwYlwiO1xufVxuLmljb24tbWFnbmlmeWluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwYVwiO1xufVxuXG4uaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgKnpvb206IDE7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbn1cblxuLm9ubHktZGVza3RvcHtcbiAgICAueGxhcmdlKHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9KTtcbn1cblxuXG5cbi5ib3JkZXItcmFkaXVzKEByYWRpdXM6IDRweCkge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuXG4gICAgLyogUHJldmVudCBiYWNrZ3JvdW5kIGNvbG9yIGxlYWsgb3V0cyAqL1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogcGFkZGluZzsgXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xufVxuXG5cblxuLmJ1dHRvbi1zdHlsZSB7XG4gICAgLmJvcmRlci1yYWRpdXMoMXB4KTtcbiAgICAubm9zZWxlY3Q7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcblxuICAgIC5iYWNrZ3JvdW5kLWFscGhhKCNmZmYsIDAuNCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5iYWNrZ3JvdW5kLWFscGhhKCNmZmYsIDAuNik7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNHB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICB9XG59XG5cbi5iYWNrZ3JvdW5kLWFscGhhKEBjb2xvcixAYWxwaGEpe1xuICAgIEByZ2JhOiByZ2JhKHJlZChAY29sb3IpLGdyZWVuKEBjb2xvciksYmx1ZShAY29sb3IpLEBhbHBoYSk7XG4gICAgQGFyZ2I6IGFyZ2IoQHJnYmEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmdiYTtcbiAgICB6b29tOiAxO1xuICAgIGZpbHRlcjogflwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9QHthcmdifSwgZW5kQ29sb3JzdHI9QHthcmdifSlcIjtcbiAgICAtbXMtZmlsdGVyOiB+XCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj1Ae2FyZ2J9LCBlbmRDb2xvcnN0cj1Ae2FyZ2J9KVwiO1xufVxuXG4uYmFja2dyb3VuZC12ZXJ0LWdyYWRpZW50KEB0b3AsIEBib3R0b20pIHtcbiAgICBiYWNrZ3JvdW5kOiBAdG9wO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLDAgMCwwIDEwMCUsZnJvbShAdG9wKSwgdG8oQGJvdHRvbSkpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEB0b3AsIEBib3R0b20pO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgQHRvcCwgQGJvdHRvbSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KEB0b3AsIEBib3R0b20pO1xuICAgIEBjLXN0YXJ0OiBhcmdiKEB0b3ApO1xuICAgIEBjLWVuZDogICBhcmdiKEBib3R0b20pO1xuICAgIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSdAe2Mtc3RhcnR9JyxlbmRDb2xvcnN0cj0nQHtjLWVuZH0nLEdyYWRpZW50VHlwZT0wKTtcbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nQHtjLXN0YXJ0fScsZW5kQ29sb3JzdHI9J0B7Yy1lbmR9JyxHcmFkaWVudFR5cGU9MCk7XG59XG5cbi5iYWNrZ3JvdW5kLXZlcnQtZ3JhZGllbnRfMyhAdG9wLCBAbWlkZGxlLCBAYm90dG9tKSB7XG4gICAgYmFja2dyb3VuZDogQG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwwIDAsMCAxMDAlLGZyb20oQHRvcCksY29sb3Itc3RvcCg1MCUsQG1pZGRsZSksdG8oQGJvdHRvbSkpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEB0b3AsIEBtaWRkbGUgNTAlLCBAYm90dG9tKTtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsQHRvcCAsIEBtaWRkbGUgNTAlLCBAYm90dG9tKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoQHRvcCwgQG1pZGRsZSA1MCUsIEBib3R0b20pO1xuICAgIEBjLXN0YXJ0OiBhcmdiKEB0b3ApO1xuICAgIEBjLWVuZDogICBhcmdiKEBib3R0b20pO1xuICAgIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSdAe2Mtc3RhcnR9JyxlbmRDb2xvcnN0cj0nQHtjLWVuZH0nLEdyYWRpZW50VHlwZT0wKTtcbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nQHtjLXN0YXJ0fScsZW5kQ29sb3JzdHI9J0B7Yy1lbmR9JyxHcmFkaWVudFR5cGU9MCk7XG59XG5cbi5ub3NlbGVjdCB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBraHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm5vdHJhbnNpdGlvbiB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLW8tdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIC1tcy10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ub3BhY2l0eShAYWxwaGEpIHtcbiAgICBAb3BhY2l0eVBlcmNlbnRhZ2U6IEBhbHBoYSAqIDEwMDtcbiAgICBvcGFjaXR5OiBAYWxwaGE7XG4gICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT1Ab3BhY2l0eVBlcmNlbnRhZ2UpXCI7IC8qIElFIDggKi9cbiAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PUBvcGFjaXR5UGVyY2VudGFnZSk7IC8qIElFIDUtNyAqL1xufVxuXG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVfYW5kX2dyb3dfaW4ge1xuICAwJSAgIHsgIG9wYWNpdHk6IDA7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyAgfVxuICA5MCUgIHsgIG9wYWNpdHk6IDA7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyAgfVxuICAxMDAlIHsgIG9wYWNpdHk6IDE7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApOyAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVfYW5kX2dyb3dfaW4ge1xuICAwJSAgIHsgIG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMC44KTsgIH1cbiAgOTAlICB7ICBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7ICB9XG4gIDEwMCUgeyAgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxLjApOyAgfVxufVxuXG5cbi5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblxuXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAgIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwJSwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMCUsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwJSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZmFkZUluRG93biB7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gICAgfVxuXG59XG5cblxuXG5cblxuXG4vKiAgVGVzdCBIZWxwZXJzIChNYXkgYmUgcmVkdW5kYW50KVxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ucmVzZXQoQHBhZGRpbmc6ZmFsc2UpIHtcbiAgbWFyZ2luOiAwO1xuXG4gICYgd2hlbiAoQHBhZGRpbmcgPSB0cnVlKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuLmRpc3BsYXkoQHR5cGU6YmxvY2spIHtcblxuICAmIHdoZW4gKEB0eXBlID0gbm8pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJiB3aGVuIChAdHlwZSA9IGhpZGUpIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAmIHdoZW4gbm90IChAdHlwZSA9IG5vKSB7XG4gICAgZGlzcGxheTogQHR5cGU7XG4gIH1cbn1cblxuLnRleHQtdHJhbnMoQHR5cGUpIHtcbiAgdGV4dC10cmFuc2Zvcm06IEB0eXBlO1xufVxuLmZsX3JpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4uZmxfbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXNldHVwKEBpc3R5cGU6IG5vcm1hbCxAc2l6aW5nOjExcHgsQGZvbnQtY29sb3VyOiNlZWUpIHtcbiAgZm9udC1mYW1pbHk6IFwiZmYtZGluLXdlYlwiLGhlbHZldGljYSxhcmlhbCxzYW5zLXNlcmlmO1xuICBAY29sb3I6IEBmb250LWNvbG91cjtcbiAgLnRleHQtdHJhbnMoQGlzdHlwZSk7XG5cbiAgLy9UT0RPOiBMb29rIGludG8gcmVsYXRpdmUgc2l6aW5nIG9mIGZvbnRzXG4gIGZvbnQtc2l6ZTogQHNpemluZztcbn1cblxuLnRpdGxlKEBmb250LXNpemU6MTFweCxAdHh0LXRyYW5zOnVwcGVyY2FzZSxAdHh0LXdlaWdodDpib2xkLEBmb250LWNvbG91cjojZDRiMTVlKSB7XG4gIC5mb250LXNldHVwKEBpc3R5cGU6IEB0eHQtdHJhbnMsQHNpemluZzpAZm9udC1zaXplLEBmb250LWNvbG91cik7XG4gIGZvbnQtd2VpZ2h0OiBAdHh0LXdlaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGFicy1sb29wKEBpbnQpIHdoZW4gKEBpbnQgPiAwKSB7XG5cbiAgQHRhYnMtbGlzdDogZXh0cmFjdChAY29sb3VybGlzdCwgQGludCk7XG4gIEB0YWJzLWluaGVyaXRvcjogZXh0cmFjdChAdGFicy1saXN0LCAxKTtcbiAgQHRhYnMtYmc6IGV4dHJhY3QoQHRhYnMtbGlzdCwgMik7XG5cbiAgLkB7dGFicy1pbmhlcml0b3J9ICYge1xuICAgIGxpIHtcbiAgICAgIGEge1xuICAgICAgICAmLmFjdGl2ZSwgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRhYnMtYmc7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGRhcmtlbihAdGFicy1iZywgMTAlKTtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IGxpZ2h0ZW4oQHRhYnMtYmcsIDEwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRhYnMtbG9vcChAaW50IC0gMSk7XG59XG5cblxuLy9Gb250IE1peGluIEV4dGVuZFxuLnByb3hpbWEtZm9udChAd2VpZ2h0Om5vcm1hbCkge1xuICBmb250LWZhbWlseTogXCJQcm94aW1hIE5vdmEgU29mdFwiLCBcInByb3hpbWEtbm92YS1zb2Z0XCIsIHNhbnMtc2VyaWY7XG5cbiAgJiB3aGVuIG5vdCAoQHdlaWdodCA9IG5vcm1hbCkge1xuICAgIGZvbnQtd2VpZ2h0OiBAd2VpZ2h0O1xuICB9XG59XG5cbi5zZXQtdHlwb2dyYXBoeS1wcm9wcyhAc2VsZWN0b3IsIEBmb250LXNpemUsIEBsaW5lLWhlaWdodCkge1xuICAuQHtzZWxlY3Rvcn0ge1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbi8vIERpc2FibGUgQnV0dG9uXG4uYnV0dG9uLXN0YXRlcygpIHtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gICYuZGlzYWJsZWQge1xuICAgIC8vIFRoaXMgaXMgc2V0IHRvIGltcG9ydGFudCB0byBwcmV2ZW50IGFueSBmb3JtIG9mIG92ZXJyaWRlXG4gICAgYmFja2dyb3VuZDogI2M5YzFjOSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufSIsIi8qXHJcbmlkZW50aXR5Lmxlc3NcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQXV0aG9yOiAgTWFrYW4gSiBIb3VzdG9uXHJcbkNvbnRyaWJ1dG9yczogIC1cclxuRGVzY3JpcHRpb246ICBCcmFuZCBpZGVudGl0eSBzdHlsaW5nIGZvciBKYWNrcG90MjQ3XHJcbkNvcHlyaWdodCAyMDE1IE5ldHBsYXlUViBwbGMuXHJcbiovXHJcblxyXG5cclxuLyogIENvbG91cnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuQG9mZl93aGl0ZTogI2VlZTtcclxuQGdyZXk6ICNlNmYwZmE7XHJcblxyXG5Ac3VwZXJfcmVkOiAgICAgI2E5MDkwNztcclxuQHN1cGVyX3JlZF9zZWxlY3RlZDojMzIwOTBGO1xyXG5Ac3VwZXJfcGluazogICAgI2EwMWU5YjtcclxuQHN1cGVyX2dvbGQ6ICAgICNhZjg2MzY7XHJcbkBzdXBlcl9icmFzczogICAjZDRiMTVlO1xyXG5Ac3VwZXJfYmx1ZTogICAgIzFjOGNlMjtcclxuQHN1cGVyX3B1cnBsZTogICMyNzIwMzQ7XHJcblxyXG4vLyBPbmx5IHVzZWQgZm9yIEhlbHAsIENoYXQgTGlua3NcclxuQHByaW1hcnlfY29sb3I6ICNlYzRiYWM7XHJcblxyXG5cclxuLyogIFRhZ3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5ib2R5IHtcclxuICAgIGNvbG9yOiAjMjQyNDI0O1xyXG4gICAgXHJcblxyXG59XHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiBAb2ZmX3doaXRlO1xyXG59XHJcblxyXG4vKiAgQmFja2dyb3VuZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4ucGFnZS1jb250ZW50IHtcclxuICAgIC5WX2NvbnRlbnRfYmFja2dyb3VuZCgpO1xyXG59XHJcblxyXG5cclxuLnJlZ2lvbi1mb290ZXIge1xyXG4gICAudl9mb290ZXJfYmcoKTtcclxufVxyXG5cclxuXHJcbi8qICBUeXBvZ3JhcGh5XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi5jb250ZW50LWhlYWRlciBoMSB7XHJcblxyXG4gICAgLlZfcGFnZV90aXRsZSgpO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLnJlZ2lvbi1jb250ZW50IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogIEJ1dHRvbnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLnByaW1hcnktYnV0dG9uIHtcclxuICAgIC5WX3ByaW1hcnlfYnV0dG9uKCk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG4uc2Vjb25kYXJ5LWJ1dHRvbiB7XHJcbiAgICAuYmFja2dyb3VuZC12ZXJ0LWdyYWRpZW50KCNhM2ExYTksICM1YTU5NWQpO1xyXG4gICAgXHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwwLDAsMC4zKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuYmFja2dyb3VuZC12ZXJ0LWdyYWRpZW50KCNiMGFlYjcsICM3MDZlNzQpO1xyXG4gICAgfVxyXG59XHJcbi5nYW1lcyAucGxheV9mb3JfcmVhbCB7XHJcbiAgICAuYmFja2dyb3VuZC12ZXJ0LWdyYWRpZW50KCMzMGQxMTAsICMxNDczMGMpO1xyXG4gICAgY29sb3I6IEBvZmZfd2hpdGU7XHJcbn1cclxuXHJcblxyXG4vKiBUZXh0IGhpZ2hsaWdodCBvbiBwcm9tb3Rpb24gc2xpZGVyICovXHJcbi5wcm9tby1zbGlkZXIgLnByb21vX292ZXJsYXlfdGV4dCxcclxuLmluZHYtcHJvbW90aW9uLXBhZ2UgLnByb21vX292ZXJsYXlfdGV4dCB7XHJcbiAgcCB7XHJcbiAgICBpIHtcclxuICAgICAgY29sb3I6IEBzdXBlcl9icmFzcztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKiAgQ29udGVudFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4ubm9kZS1wYWdlLFxyXG4ubm9kZS10ZXJtcyB7XHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAvLyAuYmFja2dyb3VuZC1hbHBoYSgjMDAwLDAuMSk7XHJcbiAgICAgICAuVl9jb250ZW50X2JhY2tnb3J1bmQoKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qICBWZXJ0aWNhbHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLnZlcnRpY2FsX2lzX3NlbGVjdGVkIHtcclxuICAgIC5vcGFjaXR5KDEpO1xyXG59XHJcblxyXG4uY2FzaW5vLXZlcnRpY2FsIHtcclxuICAucmVnaW9uLWhlYWRlciAubWVudS12ZXJ0aWNhbHMgdWwge1xyXG4gICAgICAuY2FzaW5vIHtcclxuICAgICAgICAgIC52ZXJ0aWNhbF9pc19zZWxlY3RlZCgpO1xyXG4gICAgICAgICAgLlZfaGVhZGVyc19jYXNpbm9fdGFiKCk7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgLm1lbnUtdmVydGljYWxzLWNvbnRlbnQgdWwge1xyXG4gICAgLmNhc2lubyB7XHJcbiAgICAgIC52ZXJ0aWNhbF9pc19zZWxlY3RlZCgpO1xyXG4gICAgICAuVl9oZWFkZXJzX2Nhc2lub190YWIoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi52ZWdhcy12ZXJ0aWNhbCB7XHJcbiAgICAucmVnaW9uLWhlYWRlciAubWVudS12ZXJ0aWNhbHMgdWwge1xyXG4gICAgICAgIC52ZWdhcyB7XHJcbiAgICAgICAgICAgIC52ZXJ0aWNhbF9pc19zZWxlY3RlZCgpO1xyXG4gICAgICAgICAgICAuVl9oZWFkZXJzX3ZlZ2FzX3RhYigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmxvY2stZ2FtZXMgLml0ZW0tbGlzdCB1bCB7XHJcbiAgICAgICAgbGkgYSB7XHJcbiAgICAgICAgICAgIC5WX2hlYWRlcnNfdmVnYXNfdGFiKCk7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGZhZGUoQHN1cGVyX3BpbmssIDMwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saXZlLXZlcnRpY2FsIHtcclxuICAgIC5yZWdpb24taGVhZGVyIC5tZW51LXZlcnRpY2FscyB1bCB7XHJcbiAgICAgICAgLmxpdmUge1xyXG4gICAgICAgICAgICAudmVydGljYWxfaXNfc2VsZWN0ZWQoKTtcclxuICAgICAgICAgICAgLlZfaGVhZGVyc19saXZlX3RhYigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LXZlcnRpY2Fscy1jb250ZW50IHVsXHJcbiAgICB7XHJcbiAgICAgIC5saXZlIHtcclxuICAgICAgICAudmVydGljYWxfaXNfc2VsZWN0ZWQoKTtcclxuICAgICAgICAuVl9oZWFkZXJzX2xpdmVfdGFiKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5ibG9jay1nYW1lcyAuaXRlbS1saXN0IHVsIHtcclxuICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgLlZfaGVhZGVyc19saXZlX3RhYigpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBmYWRlKEBzdXBlcl9nb2xkLCAzMCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvbW90aW9ucy12ZXJ0aWNhbCB7XHJcbiAgLnJlZ2lvbi1oZWFkZXIgLm1lbnUtdmVydGljYWxzIHVsIHtcclxuICAgICAgLnByb21vdGlvbnMge1xyXG4gICAgICAgICAgLnZlcnRpY2FsX2lzX3NlbGVjdGVkKCk7XHJcbiAgICAgICAgICAuVl9oZWFkZXJzX3Byb21vdGlvbnNfdGFiKCk7XHJcblxyXG4gICAgICB9XHJcbiAgfVxyXG4gIC5tZW51LXZlcnRpY2Fscy1jb250ZW50IHVsIHtcclxuICAgIC5wcm9tb3Rpb25zIHtcclxuICAgICAgLnZlcnRpY2FsX2lzX3NlbGVjdGVkKCk7XHJcbiAgICAgIC5WX2hlYWRlcnNfcHJvbW90aW9uc190YWIoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyogIFByb21vdGlvbnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLnByb21vX292ZXJsYXlfdGV4dCB7XHJcbiAgICBjb2xvcjogQHN1cGVyX2JyYXNzO1xyXG59XHJcblxyXG5cclxuLyogIFZlcnRpY2FscyBBY3RpdmUgTWVudSBmb3IgSmFja3BvdDI0N1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4ubWVudS12ZXJ0aWNhbHN7XHJcbiAgbGl7XHJcbiAgICAmLmNhc2lubywgJi52ZWdhcywgJi5saXZlLCAmLnByb21vdGlvbnMge1xyXG4gICAgICBhe1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU1NDE5O1xyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjZTk3ZDMxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4ubWVudS12ZXJ0aWNhbHMgLm1lbnUgbGl7XHJcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4iLCIvKiAgSmFja3BvdCBTbGlkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbmJvZHkuZnJvbnQtdmVydGljYWwsIGJvZHkuZnJvbnQsIGJvZHkucGFnZS1nYW1lc3tcclxuXHJcbiAgLmphY2twb3RzLXNsaWRlci1jb250YWluZXIge1xyXG5cclxuICAgIC5WX2phY2twb3RzX2JnKCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAuaGVyby1iYW5uZXItc3RhdGUyKHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgaGVpZ2h0OiAgMTAwJTtcclxuICAgIH0pO1xyXG5cclxuICAgIC5oZXJvLWJhbm5lci1zdGF0ZTMoe1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5LnNtYXJ0cGhvbmUsIGJvZHkudGFibGV0IHtcclxuICAuamFja3BvdHMtc2xpZGVyLWNvbnRhaW5lciB7XHJcbiAgICAuc21hbGwtaGVpZ2h0KHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuLmphY2twb3RzLXNsaWRlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAzMDBweDtcclxuICBoZWlnaHQ6IDE0NXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIGgyIHtcclxuICAgICY6ZXh0ZW5kKC53aW5uZXJzLXNjcm9sbGVyLTMgaDIpO1xyXG4gICAgLlZfamFja3BvdHNfdGl0bGUoKTtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMzRweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDMwMDBweDtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIC5pbmxpbmUtYmxvY2soKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZy10b3A6IDJweDtcclxuICB9XHJcblxyXG4gIC5qYWNrcG90QW1vdW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgIHdpZHRoOiAyNjBweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgcGFkZGluZzogMTBweCAwcHg7XHJcblxyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIDtcclxuICAgIC5WX2phY2twb3RzX3NlcGFyYXRpb25fbGluZSgpO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC5jdXJyZW5jeS1zeW1ib2wge1xyXG4gICAgICAuaW5saW5lLWJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDI3cHg7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgbGkgYTo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJ1BsYXkgR2FtZSc7XHJcbiAgICAgIC5idXR0b24tc3R5bGUoKTtcclxuICAgICAgLnByaW1hcnktYnV0dG9uKCk7XHJcblxyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDYwcHg7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC01NnB4O1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDEwcHgpIHNhdHVyYXRlKDgwJSk7XHJcbiAgICAgIGZpbHRlcjogYmx1cigxMHB4KSBzYXR1cmF0ZSg4MCUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnJlZ2lvbi1zaWRlYmFyLWZpcnN0e1xyXG4gIC5qYWNrcG90cy1zbGlkZXJ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcbn1cclxuXHJcblxyXG5ib2R5LmRlc2t0b3B7XHJcblxyXG4gIC53aW5uZXJzLXNjcm9sbGVyLTMgaDJ7XHJcbiAgICBtYXJnaW46IDNweCAwO1xyXG4gIH1cclxuXHJcbiAgLndpbm5lcnMtc2Nyb2xsZXItNiBoMntcclxuICAgIG1hcmdpbjogMTVweCAwO1xyXG4gIH1cclxufVxyXG4iLCIvKiAgRm9udHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8gXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgc3JjOnVybCgnL2Fzc2V0cy9mb250cy9pY29tb29uLmVvdCcpO1xuICAgIHNyYzp1cmwoJy9hc3NldHMvZm9udHMvaWNvbW9vbi5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnL2Fzc2V0cy9mb250cy9pY29tb29uLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcvYXNzZXRzL2ZvbnRzL2ljb21vb24ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy9hc3NldHMvZm9udHMvaWNvbW9vbi5zdmcnKSBmb3JtYXQoJ3N2ZycpOyBcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgIHNwZWFrOiBub25lOyBcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8qIGljb25zIC0gc2hvdWxkIGJlIHVwYWRhdGVkICAgKi9cbi5pY29uLWJhY2stYnV0dG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG4uaWNvbi1tZWRpYS1yZWNvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cbi5pY29uLWNoZXZyb24tdXAtY29weWNvcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cbi5pY29uLWNoZXZyb24tZG93bi1jb3B5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG4uaWNvbi1tZW51X2ljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cbi5pY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuLmljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMlwiO1xufVxuLmljb24tY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cbi5pY29uLWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuLmljb24tY2hhbmdlLXBhc3N3b3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjBiXCI7XG59XG4uaWNvbi1tYWduaWZ5aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjBhXCI7XG59XG4uaWNvbi1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA5XCI7XG59XG4uaWNvbi13aXRoZHJhdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMVwiO1xufVxuLmljb24tdHJhbnNhY3Rpb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjAyXCI7XG59XG4uaWNvbi1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjAzXCI7XG59XG4uaWNvbi1pdGVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA0XCI7XG59XG4uaWNvbi1kZXBvc2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA1XCI7XG59XG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwNlwiO1xufVxuLmljb24tY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDdcIjtcbn1cbi5pY29uLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA4XCI7XG59XG5cbiIsIi5wcm9tb3Rpb25zLXZlcnRpY2FsIHtcclxuICAvLyBUTyBDSEFOR0UgUEFSRU5UIFNFTEVDVE9SXHJcbiAgLnZpZXctaWQtcHJvbW90aW9ucyB7XHJcbiAgICBwYWRkaW5nOiAxN3B4O1xyXG5cclxuICAgIC8vIFByZXZlbnRzIGltYWdlcyBmcm9tIGV4cGFuZGluZyBiZXlvbmQgY29udGFpbmVyXHJcbiAgICBpbWcge1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAucHJvbW8td3JhcHBlciB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XHJcbiAgICB9XHJcbiAgICAucHJvbW90aW9uLXRpdGxlIHtcclxuICAgICAgbWFyZ2luOiA1cHggMCAzcHg7XHJcbiAgICAgIC5wcm94aW1hLWZvbnQoYm9sZCk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAgIGEsICYsIGE6aG92ZXIsIGE6dmlzaXRlZCB7XHJcbiAgICAgICAgLlZfaGVhZGVyX3N1Ym1lbnVfYV9jb2xvcjtcclxuICAgICAgfVxyXG4gICAgICBhOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFByb21vdGlvbnMgRGVzY3JpcHRpb25cclxuICAucHJvbW90aW9uLWRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgLy8gVGV4dCBFbGxpcHNpc1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICB9XHJcblxyXG4gIC8vIENUQSBCdXR0b25zXHJcbiAgLnByb21vLWxpc3Qge1xyXG4gICAgLnByb21vLXJlZ2lzdGVyLCAucHJvbW8tbW9yZS1pbmZvIHtcclxuICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgfVxyXG4gICAgLnByb21vLXJlZ2lzdGVyIHtcclxuICAgICAgLlZfaGVhZGVyc19idF9qb2luX25vdygpO1xyXG5cclxuICAgICAgLmxvZ2dlZC1pbiYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcm9tby1tb3JlLWluZm8ge1xyXG4gICAgICAuVl9oZWFkZXJzX2J0X21vcmVfaW5mbygpO1xyXG4gICAgfVxyXG4gICAgYS5wcm9tby1tb3JlLWluZm8ge1xyXG4gICAgICAmLCAmOmhvdmVyLCAmOmFjdGl2ZSwgJjp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIERlc2t0b3AgUHJvbW8gSW1hZ2VcclxuICAucHJvbW9fd2lkZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgLmxhcmdlKHsgZGlzcGxheTogYmxvY2s7IH0pXHJcbiAgfVxyXG5cclxuICAvLyBNb2JpbGUgUHJvbW8uIEltYWdoZVxyXG4gIC5wcm9tb18zMDB4MTUwIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIC5sYXJnZSh7IGRpc3BsYXk6IG5vbmU7IH0pXHJcbiAgfVxyXG5cclxuICAvLyBGTEVYIFdJRFRIXHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjdweCkge1xyXG4gICAgLy8gQ2hhbmdlIHNlbGVjdG9yXHJcbiAgICAudmlldy1pZC1wcm9tb3Rpb25zIC52aWV3LWNvbnRlbnQge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb21vLXdyYXBwZXIge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XHJcbiAgICAvLyBDaGFuZ2Ugc2VsZWN0b3JcclxuICAgIC52aWV3LWlkLXByb21vdGlvbnMgLnZpZXctY29udGVudCB7XHJcbiAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9tb3Rpb24tZGVzY3JpcHRpb24ge1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLypcclxuICogalF1ZXJ5IEZsZXhTbGlkZXIgdjIuNS4wXHJcbiAqIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9mbGV4c2xpZGVyL1xyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxMiBXb29UaGVtZXNcclxuICogRnJlZSB0byB1c2UgdW5kZXIgdGhlIEdQTHYyIGFuZCBsYXRlciBsaWNlbnNlLlxyXG4gKiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXHJcbiAqXHJcbiAqIENvbnRyaWJ1dGluZyBhdXRob3I6IFR5bGVyIFNtaXRoIChAbWJtdWZmZmluKVxyXG4gKlxyXG4gKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICogRk9OVC1GQUNFXHJcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdmbGV4c2xpZGVyLWljb24nO1xyXG4gIHNyYzogdXJsKCcuLi8uLi8uLi9saWJyYXJpZXMvZmxleHNsaWRlci9mb250cy9mbGV4c2xpZGVyLWljb24uZW90Jyk7XHJcbiAgc3JjOiB1cmwoJy4uLy4uLy4uL2xpYnJhcmllcy9mbGV4c2xpZGVyL2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gIHVybCgnLi4vLi4vLi4vbGlicmFyaWVzL2ZsZXhzbGlkZXIvZm9udHMvZmxleHNsaWRlci1pY29uLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICB1cmwoJy4uLy4uLy4uL2xpYnJhcmllcy9mbGV4c2xpZGVyL2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgdXJsKCcuLi8uLi8uLi9saWJyYXJpZXMvZmxleHNsaWRlci9mb250cy9mbGV4c2xpZGVyLWljb24uc3ZnI2ZsZXhzbGlkZXItaWNvbicpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICogUkVTRVRTXHJcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLmZsZXgtY29udGFpbmVyIGE6aG92ZXIsXHJcbi5mbGV4LXNsaWRlciBhOmhvdmVyLFxyXG4uZmxleC1jb250YWluZXIgYTpmb2N1cyxcclxuLmZsZXgtc2xpZGVyIGE6Zm9jdXMge1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuLnNsaWRlcyxcclxuLnNsaWRlcyA+IGxpLFxyXG4uZmxleC1jb250cm9sLW5hdixcclxuLmZsZXgtZGlyZWN0aW9uLW5hdiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG4uZmxleC1wYXVzZXBsYXkgc3BhbiB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbn1cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICogQkFTRSBTVFlMRVNcclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uZmxleHNsaWRlciB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuLmZsZXhzbGlkZXIgLnNsaWRlcyA+IGxpIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi5mbGV4c2xpZGVyIC5zbGlkZXMgaW1nIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4uZmxleHNsaWRlciAuc2xpZGVzOmFmdGVyIHtcclxuICBjb250ZW50OiBcIlxcMDAyMFwiO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbn1cclxuaHRtbFt4bWxuc10gLmZsZXhzbGlkZXIgLnNsaWRlcyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuKiBodG1sIC5mbGV4c2xpZGVyIC5zbGlkZXMge1xyXG4gIGhlaWdodDogMSU7XHJcbn1cclxuLm5vLWpzIC5mbGV4c2xpZGVyIC5zbGlkZXMgPiBsaTpmaXJzdC1jaGlsZCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICogREVGQVVMVCBUSEVNRVxyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi5mbGV4c2xpZGVyIHtcclxuICBtYXJnaW46IDAgMCA2MHB4O1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgYm9yZGVyOiA0cHggc29saWQgI2ZmZmZmZjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgem9vbTogMTtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcclxuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAnJyAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gIC1tb3otYm94LXNoYWRvdzogJycgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAtby1ib3gtc2hhZG93OiAnJyAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gIGJveC1zaGFkb3c6ICcnIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuLmZsZXhzbGlkZXIgLnNsaWRlcyB7XHJcbiAgem9vbTogMTtcclxufVxyXG4uZmxleHNsaWRlciAuc2xpZGVzIGltZyB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcbi5mbGV4LXZpZXdwb3J0IHtcclxuICBtYXgtaGVpZ2h0OiAyMDAwcHg7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxufVxyXG4ubG9hZGluZyAuZmxleC12aWV3cG9ydCB7XHJcbiAgbWF4LWhlaWdodDogMzAwcHg7XHJcbn1cclxuLmNhcm91c2VsIGxpIHtcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG4uZmxleC1kaXJlY3Rpb24tbmF2IHtcclxuICAqaGVpZ2h0OiAwO1xyXG59XHJcbi5mbGV4LWRpcmVjdGlvbi1uYXYgYSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxuICBtYXJnaW46IC0yMHB4IDAgMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBvcGFjaXR5OiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLmZsZXgtZGlyZWN0aW9uLW5hdiBhOmJlZm9yZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiZmxleHNsaWRlci1pY29uXCI7XHJcbiAgZm9udC1zaXplOiA0MHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBjb250ZW50OiAnXFxmMDAxJztcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xyXG59XHJcbi5mbGV4LWRpcmVjdGlvbi1uYXYgYS5mbGV4LW5leHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiAnXFxmMDAyJztcclxufVxyXG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge1xyXG4gIGxlZnQ6IC01MHB4O1xyXG59XHJcbi5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dCB7XHJcbiAgcmlnaHQ6IC01MHB4O1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbi5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldiB7XHJcbiAgb3BhY2l0eTogMC43O1xyXG4gIGxlZnQ6IDEwcHg7XHJcbn1cclxuLmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2OmhvdmVyIHtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcbi5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dCB7XHJcbiAgb3BhY2l0eTogMC43O1xyXG4gIHJpZ2h0OiAxMHB4O1xyXG59XHJcbi5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dDpob3ZlciB7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LWRpc2FibGVkIHtcclxuICBvcGFjaXR5OiAwIWltcG9ydGFudDtcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcbi5mbGV4LXBhdXNlcGxheSBhIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMjBweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogNXB4O1xyXG4gIGxlZnQ6IDEwcHg7XHJcbiAgb3BhY2l0eTogMC44O1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcbi5mbGV4LXBhdXNlcGxheSBhOmJlZm9yZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiZmxleHNsaWRlci1pY29uXCI7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBjb250ZW50OiAnXFxmMDA0JztcclxufVxyXG4uZmxleC1wYXVzZXBsYXkgYTpob3ZlciB7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG4uZmxleC1wYXVzZXBsYXkgYS5mbGV4LXBsYXk6YmVmb3JlIHtcclxuICBjb250ZW50OiAnXFxmMDAzJztcclxufVxyXG4uZmxleC1jb250cm9sLW5hdiB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogLTQwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5mbGV4LWNvbnRyb2wtbmF2IGxpIHtcclxuICBtYXJnaW46IDAgNnB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB6b29tOiAxO1xyXG4gICpkaXNwbGF5OiBpbmxpbmU7XHJcbn1cclxuLmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYSB7XHJcbiAgd2lkdGg6IDExcHg7XHJcbiAgaGVpZ2h0OiAxMXB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6ICM2NjY7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0ZXh0LWluZGVudDogLTk5OTlweDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgLW8tYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG59XHJcbi5mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGE6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICMzMzM7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xyXG59XHJcbi5mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGEuZmxleC1hY3RpdmUge1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG4uZmxleC1jb250cm9sLXRodW1icyB7XHJcbiAgbWFyZ2luOiA1cHggMCAwO1xyXG4gIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4uZmxleC1jb250cm9sLXRodW1icyBsaSB7XHJcbiAgd2lkdGg6IDI1JTtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuLmZsZXgtY29udHJvbC10aHVtYnMgaW1nIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3BhY2l0eTogLjc7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICAtbXMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcbn1cclxuLmZsZXgtY29udHJvbC10aHVtYnMgaW1nOmhvdmVyIHtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcbi5mbGV4LWNvbnRyb2wtdGh1bWJzIC5mbGV4LWFjdGl2ZSB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICogUkVTUE9OU0lWRVxyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg2MHB4KSB7XHJcbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG4gIH1cclxuICAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAqIE1PRElGSUNBVElPTiBGT1IgSkFDS1BPVCAyNDcgKCB0byBiZSByZW1vdmVkIHdoZW4gamFja3BvdC92ZXJub25zIHdpbGwgaGF2ZSB0aGUgc2FtZSBkZXNpZ24gYXMgU3VwZXJjYXNpbm9cclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5ib2R5LmphY2twb3QyNDcgLmZsZXhzbGlkZXIge1xyXG4gIG1hcmdpbjowO1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5ib2R5LmphY2twb3QyNDcgLmZsZXgtY29udHJvbC1wYWdpbmcge1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcbmJvZHkuamFja3BvdDI0NyAuZmxleC1uYXYtY29udGFpbmVyIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbmJvZHkuamFja3BvdDI0NyAuZmxleC1jb250cm9sLXBhZ2luZyB7XHJcbiAgcGFkZGluZzogNXB4IDBweCAwIDJweCFpbXBvcnRhbnQ7XHJcbn1cclxuYm9keS5qYWNrcG90MjQ3IC5mbGV4LW5hdi1jb250YWluZXIgb2wgbGl7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuYm9keS5qYWNrcG90MjQ3IC5mbGV4LW5hdi1jb250YWluZXIgb2wgbGkgYXtcclxuICB3aWR0aDogMTJweDtcclxuICBoZWlnaHQ6IDEycHg7XHJcbn1cclxuXHJcbi5yZWdpb24tYmFubmVye1xyXG5cclxuICAvLyBUaGUgSGVybyBCYW5uZXIgcHJlc2VudCBpbiB0aGUgdGhlbWUgaGVhZGVyXHJcbiAgLmZsZXhzbGlkZXJfdmlld3Nfc2xpZGVzaG93X21haW4geyAgLlZfY29udGVudF9iYWNrZ3JvdW5kKCk7ICB9XHJcblxyXG4gIC5mbGV4c2xpZGVyIHtcclxuXHJcblxyXG5cclxuICAgICYgLnNsaWRlcyA+IGxpIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgLnZpZXdzLWZpZWxke1xyXG4gICAgICAgICYudmlld3MtZmllbGQtcGhwe1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAuZGlzcGxheSgpO1xyXG5cclxuICAgICAgICAvLyBXZSB1c2UgdGhpcyB0byBrZWVwIERPTSB3aGlsc3QgcmVuZGVyaW5nIGNvbnRlbnQgaW52aXNpYmxlXHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAgICAgICAvLyBHZW5lcmF0ZXMgYSBmaXhlZCBDU1MgaGVpZ2h0IGZvciByZWdpb24tYmFubmVyIGluIG9yZGVyIHRvIHByZXZlbnQgZW1wdHkgZWxlbWVudCBjb2xsYXBzZSB3aGlsc3QgcGFnZSBsb2FkaW5nXHJcbiAgICAgICAgLy8gbWF4LWhlaWdodCB1c2FnZSBwcmV2ZW50cyBjb250YWluZXIgZnJvbSBleHBhbmRpbmcgdG9vIGZhciAoYSBmaXhlZCBoZWlnaHQgd291bGQgcHJldmVudCByZXNwb25zaXZlIGZsZXhpLWhlaWdodClcclxuICAgICAgICBtYXgtaGVpZ2h0OiAyNTVweDtcclxuXHJcblxyXG4gICAgICAgIC50YWJsZXQgJiB7XHJcbiAgICAgICAgICAudGFibGV0LXh4bGFyZ2UoeyBtYXgtaGVpZ2h0OiAzNTdweDsgfSk7XHJcbiAgICAgICAgICAudmlwLXRhYmxlLXhsYXJnZSh7IG1heC1oZWlnaHQ6IDE4MnB4OyB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oZXJvLWJhbm5lci1zdGF0ZTEoeyBtYXgtaGVpZ2h0OiAyNDlweDsgfSk7XHJcbiAgICAgICAgLmhlcm8tYmFubmVyLXN0YXRlMih7IG1heC1oZWlnaHQ6IDIxMXB4OyB9KTtcclxuICAgICAgICAuY2FzaGllci1sYXJnZSh7IG1heC1oZWlnaHQ6IDE4NnB4OyB9KTtcclxuICAgICAgICAubGFyZ2UoeyBtYXgtaGVpZ2h0OiAxNjRweDsgfSk7XHJcbiAgICAgICAgLmhlcm8tYmFubmVyLXN0YXRlMyh7IG1heC1oZWlnaHQ6IDI2MnB4OyB9KTtcclxuICAgICAgICAuc21hbGxlci10aGFuLWlwaG9uZTYtbWVkaXVtKHsgbWF4LWhlaWdodDogMjM2cHg7IH0pO1xyXG4gICAgICAgIC5tZWRpdW0oeyBtYXgtaGVpZ2h0OiAyMDBweDsgfSk7XHJcbiAgICAgICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7IG1heC1oZWlnaHQ6IDE2MHB4OyB9KTtcclxuICAgICAgICAuc21hbGwoeyBtYXgtaGVpZ2h0OiAxNDRweDsgfSk7XHJcblxyXG4gICAgICAgIC8vIFRoaXMgY2xhc3MgaXMgYXBwbGllZCBieSBKU1xyXG4gICAgICAgICYuZmxleC1hY3RpdmUtc2xpZGUgeyAgdmlzaWJpbGl0eTogdmlzaWJsZTsgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qICBQcm9tbyBTbGlkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uZmxleHNsaWRlciB7XHJcblxyXG4gIC5yZXNldCgpO1xyXG5cclxuICAvLyBNQlMtMTA1MSAoU2hvd3Mgd2hpdGUgYmFja2dyb3VuZCBvdGhlcndpc2UpXHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG4gIC8vIE92ZXJyaWRlcyBmbGV4c2xpZGVyLmNzcyBib3JkZXIgZGVmLlxyXG4gIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gIGJveC1zaGFkb3c6IDA7XHJcblxyXG4gIC5wcmltYXJ5LWJ1dHRvbiwgLmJhbm5lci1saW5rLCAudGMtbWFpbi1wYWdlLXNsaWRlciAgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cclxuXHJcbiAgLnByaW1hcnktYnV0dG9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMzVweDtcclxuICAgIC8vICAuaGVyby1iYW5uZXItc3RhdGUyKHsgYm90dG9tOiA3cHg7IH0pO1xyXG4gICAgLy9yaWdodDogMTRweDsgLy9Ib3Jpem9udGFsbHkgYWxpZ25lZCB3aXRoIHJpZ2h0IGVkZ2Ugb2YgYnVsbGV0IGJ1dHRvbnNcclxuICAgIHJpZ2h0OiA1cHg7XHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgd2lkdGg6IDIzMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogNnB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG5cclxuICAgIC5oZXJvLWJhbm5lci1zdGF0ZTIoe1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTNweDtcclxuICAgICAgd2lkdGg6MTUwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggNHB4O1xyXG4gICAgfSk7XHJcblxyXG4gICAgLmxhcmdlKHsgZm9udC1zaXplOiAxLjhyZW07IH0pO1xyXG5cclxuICAgIC5tZWRpdW0oe1xyXG4gICAgICB3aWR0aDogMTA1cHg7XHJcbiAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xMjBweDtcclxuICAgICAgYm90dG9tOiA1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDVweCA1cHggMTVweCA1cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgIH0pO1xyXG5cclxuICAgIC5zbWFsbCh7XHJcbiAgICAgIHdpZHRoOiAxMDhweDtcclxuICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTExNXB4O1xyXG4gICAgICBib3R0b206IDVweDtcclxuICAgICAgcGFkZGluZzogMnB4IDJweCAycHggNXB4O1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9KTtcclxuICAgIC5kaXNwbGF5LWpvaW51cy1idXR0b24oe1xyXG4gICAgICByaWdodDogMTBweDtcclxuICAgICAgYm90dG9tOiAyNXB4O1xyXG4gICAgfSk7XHJcblxyXG4gICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG4gIH1cclxuXHJcbiAgLmJhbm5lci1saW5rIHtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG5cclxuICAudGMtbWFpbi1wYWdlLXNsaWRlciB7XHJcbiAgICAuVl9oZXJvLWJhbm5lcl90Y19iZygpO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHBhZGRpbmc6IDEuMiUgMDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICByaWdodDogMDtcclxuICAgIC5tZWRpdW0oe1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICBsZWZ0OiA1cHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfSk7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cclxuICAgIC5oZXJvLWJhbm5lci1zdGF0ZTIoeyBtYXJnaW4tbGVmdDogMTNweDsgfSk7XHJcbiAgICAubWVkaXVtKHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIHdpZHRoOiAyMjVweDtcclxuICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgfSk7XHJcblxyXG4gICAgLnNtYWxsKHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvdHRvbTogNHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDRweCAycHg7XHJcbiAgICB9KTtcclxuXHJcbiAgICAuZGlzcGxheS1qb2ludXMtYnV0dG9uKHtcclxuICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgYm90dG9tOjA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIHBhZGRpbmctdG9wOjNweDtcclxuICAgIH0pO1xyXG5cclxuICAgIGEge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogNHB4O1xyXG4gICAgICAubWVkaXVtKHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH0pO1xyXG4gICAgICAuVl9oZXJvLWJhbm5lcl90eHRfdGVybXMoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mbGV4c2xpZGVyX3ZpZXdzX3NsaWRlc2hvd19zbGlkZSAuZmllbGQtY29udGVudCwgLmZsZXhzbGlkZXIgLmJhbm5lci1saW5rIHsgLmRpc3BsYXkoKTsgfVxyXG5cclxuLnByb21vLXNsaWRlcntcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHdpZHRoOiB+XCJjYWxjKDEwMCUgLSAzMDBweClcIjtcclxuICBmbG9hdDogbGVmdDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIH1cclxuXHJcbiAgLnZpZXdzX3NsaWRlc2hvd19zbGlkZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjU1cHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgfVxyXG4gIC52aWV3cy1zbGlkZXNob3ctY29udHJvbHMtdG9wIHsgLmRpc3BsYXkoKTsgfVxyXG59XHJcblxyXG5ib2R5LmxpdmUtdmVydGljYWx7XHJcbiAgLnByb21vLXNsaWRlcntcclxuICAgIC5tZWRpdW0oeyB3aWR0aDoxMDAlOyB9KTtcclxuICB9XHJcbn1cclxuXHJcbmJvZHkuY2FzaW5vLXZlcnRpY2FsLCBib2R5LnZlZ2FzLXZlcnRpY2Fse1xyXG4gIC5wcm9tby1zbGlkZXJ7XHJcbiAgICAuaGVyby1iYW5uZXItc3RhdGUzKHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTsgLyogSUUgOSAqL1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpOyAvKiBTYWZhcmkgKi9cclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxub2wuZmxleC1jb250cm9sLXBhZ2luZyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDI1cHg7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHotaW5kZXg6IDIwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG5cclxuICAubWVkaXVtKHsgLmRpc3BsYXkobm8pOyB9KTtcclxuICAuZGlzcGxheS1qb2ludXMtYnV0dG9uKHsgLmRpc3BsYXkoKTsgfSk7XHJcblxyXG4gIGxpIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTNweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWluZGVudDogLTEwMDAwcHg7XHJcbiAgfVxyXG5cclxuXHJcbiAgYXtcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgLlZfaGVyby1iYW5uZXItYnVsbGV0YmcoKTtcclxuICAgIC5kaXNwbGF5LWpvaW51cy1idXR0b24oe1xyXG4gICAgICB3aWR0aDogOHB4O1xyXG4gICAgICBoZWlnaHQ6IDhweDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLmRpc3BsYXktam9pbnVzLWJ1dHRvbih7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG4gICAgYm90dG9tOiAxNXB4O1xyXG4gIH0pO1xyXG59XHJcblxyXG4ucHJvbW9fb3ZlcmxheV90ZXh0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICBoZWlnaHQ6IDEyNXB4O1xyXG5cclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgZm9udC1zaXplOiAzMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gIGxpbmUtaGVpZ2h0OiAwLjgyO1xyXG5cclxuICAubGFyZ2UoeyBmb250LXNpemU6MjBweDsgfSk7XHJcblxyXG4gIC5tZWRpdW0oe1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMC45NTtcclxuXHJcbiAgICBzbWFsbCB7ICBmb250LXNpemU6IDI0cHg7ICB9XHJcblxyXG4gICAgYmlnIHtcclxuICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLnNtYWxsKHtcclxuICAgIGxpbmUtaGVpZ2h0OiAwLjYwO1xyXG5cclxuICAgIHNtYWxsIHsgIGZvbnQtc2l6ZTogMTZweDsgIH1cclxuXHJcbiAgICBiaWcge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBiIHsgIGNvbG9yOiB3aGl0ZTsgIH1cclxuXHJcbiAgcCB7IC5yZXNldCgpOyB9XHJcbn1cclxuXHJcbmJvZHkuZnJvbnQtdmVydGljYWwsIGJvZHkuZnJvbnR7XHJcbiAgLnByb21vX292ZXJsYXlfdGV4dDpleHRlbmQoLnByb21vX292ZXJsYXlfdGV4dCBhbGwpIHtcclxuICAgIHRvcDogMTVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG4gICAgLy8gICAgbGluZS1oZWlnaHQ6IDI3cHg7XHJcblxyXG4gICAgLmhlcm8tYmFubmVyLXN0YXRlMih7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjFweDtcclxuXHJcbiAgICAgIHNtYWxsIHsgIGZvbnQtc2l6ZTogMjRweDsgIH1cclxuXHJcbiAgICAgIGJpZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAuaGVyby1iYW5uZXItc3RhdGUzKHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICBmb250LXNpemU6IDMwcHg7XHJcblxyXG4gICAgICBiaWcge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLm1lZGl1bSh7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OjEwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xyXG5cclxuICAgICAgc21hbGwgeyAgZm9udC1zaXplOiAyMHB4OyAgfVxyXG4gICAgICBiaWcgeyAgZm9udC1zaXplOiAyNnB4OyAgfVxyXG5cclxuICAgIH0pO1xyXG4gICAgLnNtYWxsKHsgdG9wOiAxMHB4OyB9KTtcclxuICB9XHJcbn1cclxuIiwiLyogIFdpbm5lcnMgU2Nyb2xsZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbmJvZHkuc21hcnRwaG9uZSwgYm9keS50YWJsZXQge1xyXG4gIC53aW5uZXJzLXNjcm9sbGVyLTMge1xyXG4gICAgLnNtYWxsLWhlaWdodCh7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmJvZHkuZnJvbnQtdmVydGljYWwsIGJvZHkuZnJvbnQsIGJvZHkucGFnZS1nYW1lc3tcclxuICAud2lubmVycy1zY3JvbGxlci0zIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAuaGVyby1iYW5uZXItc3RhdGUyKHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLndpbm5lcnMtc2Nyb2xsZXItNntcclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9KTtcclxuXHJcbiAgICAubWVkaXVtKHtcclxuICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5LnNtYXJ0cGhvbmUsIGJvZHkudGFibGV0IHtcclxuICAud2lubmVycy1zY3JvbGxlci02IHtcclxuICAgIC50YWJsZXQteHhsYXJnZSh7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH0pO1xyXG4gICAgLnNtYWxsLWhlaWdodCh7IGRpc3BsYXk6IG5vbmU7IH0pO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi53aW5uZXJzLXNjcm9sbGVyLTMsXHJcbi53aW5uZXJzLXNjcm9sbGVyLTMtc2lkZWJhcixcclxuLndpbm5lcnMtc2Nyb2xsZXItNiB7XHJcbiAgd2lkdGg6IDMwMHB4O1xyXG4gIGhlaWdodDogMTEwcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgaDIge1xyXG4gICAgbWFyZ2luOiA1cHggMCA1cHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4ud2lubmVycy1zY3JvbGxlci02IHtcclxuICBoZWlnaHQ6IDI1NXB4O1xyXG5cclxuICBoMiB7XHJcbiAgICBtYXJnaW46IDE5cHggMDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi53aW5uZXJzX3Njcm9sbGVyIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGxpc3Qtc3R5bGU6bm9uZTtcclxuICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICB0cmFuc2l0aW9uOiB0b3AgMC41cztcclxuXHJcbiAgYSB7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLnNjcm9sbGVyX2NvbnRhaW5lcntcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ud2lubmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAwIGF1dG8gMXB4O1xyXG5cclxuICB3aWR0aDogOTAlO1xyXG4gIGhlaWdodDogMzNweDtcclxuICBwYWRkaW5nOiAycHggNHB4O1xyXG5cclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICBzcGFuLCBpbWcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcblxyXG4gIGltZ3tcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3R0b206IDJweDtcclxuICB9XHJcblxyXG4gIC53aW5uZXJfYW1vdW50IHtcclxuICAgIHRvcDogMnB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIHdpZHRoOiA0MCU7XHJcbiAgICAuVl93aW5uZXJzX3R4dF93aW4oKTtcclxuICB9XHJcblxyXG4gIC53aW5uZXJfbmFtZSB7XHJcbiAgICBib3R0b206IDJweDtcclxuICAgIGxlZnQ6IDIwcHg7XHJcblxyXG4gICAgd2lkdGg6IDQ1JTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAud2lubmVyX2dhbWVfdGl0bGUge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbi10b3A6IC04cHg7XHJcbiAgICB3aWR0aDogNDAlO1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ljb25zL2Fycm93LWphY2twb3QucG5nKSA5OSUgNnB4IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDI1cHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbi14IDAuMXM7XHJcbiAgICAuVl93aW5uZXJzX2xpbmtfZ2FtZSgpO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC0xMXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5mcm9udCwubm90LWZyb250LCBib2R5LnBhZ2UtZ2FtZXMge1xyXG4gIC53aW5uZXJzLXNjcm9sbGVyLTMsXHJcbiAgLndpbm5lcnMtc2Nyb2xsZXItNiB7XHJcbiAgICAuVl93aW5uZXJzX2JnX3dpbm5lcnMoKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKiAgV2lubmVycyBQYWdlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcblxyXG4ucGFnZS13aW5uZXJzIHtcclxuICAuYmxvY2std2lubmVycy53aW5uZXJzLXBhZ2UsIC5jb250ZW50LWhlYWRlciB7XHJcbiAgICBwYWRkaW5nOiAwIDMwcHggMjBweDtcclxuICB9XHJcblxyXG4gIC5ibG9jay13aW5uZXJzIHtcclxuICAgIHRhYmxlLFxyXG4gICAgdGgsXHJcbiAgICB0ZCB7XHJcbiAgICAgIGJvcmRlcjogMHB4IG5vbmU7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGgsXHJcbiAgICB0ZCB7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG5cclxuICAgICAgLy8gTUJTLTE0MTkgKFdpbm5lcnMgUGFnZSBGb250IGZpeClcclxuICAgICAgLm1lZGl1bSh7IGZvbnQtc2l6ZTogMTFweDsgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmV2ZW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICB9XHJcblxyXG4gICAgLndpbm5lcnNQYWdlQW1vdW50IHtcclxuICAgICAgY29sb3I6IEBzdXBlcl9icmFzcztcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qXG5zaXRlLmxlc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BdXRob3I6ICBNYWthbiBKIEhvdXN0b25cbkNvbnRyaWJ1dG9yczogIC1cbkRlc2NyaXB0aW9uOiAgV2Vic2l0ZSBzdHlsaW5nIGZvciBKYWNrcG90MjQ3XG5Db3B5cmlnaHQgMjAxNSBOZXRwbGF5VFYgcGxjLlxuKi9cblxuXG5cblxuLyogIE5hdmlnYXRpb25cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuXG4vKiAgU3VibWVudXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucmVnaW9uLWhlYWRlciAubWVudS1nZXR0aW5nLXN0YXJ0ZWQgbGkgYSxcbi5yZWdpb24taGVhZGVyIC5tZW51LXByb21vdGlvbnMtc3VibWVudSBsaSBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyLCAmLmFjdGl2ZS10cmFpbCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIH1cbn1cblxuXG4vKiAgR2V0dGluZy1zdGFydGVkIHN1Ym1lbnVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY2FzaW5vLXZlcnRpY2FsIC5tZW51LWdldHRpbmctc3RhcnRlZCBsaS5hY3RpdmUtdHJhaWwsXG4uY2FzaW5vLXZlcnRpY2FsIC5xdWlja3RhYnMtdGFicyBsaS5hY3RpdmUge1xuICAgIC5WX3ZpcC1wYWdlX3NibWVudV9iZygpO1xufVxuLnZlZ2FzLXZlcnRpY2FsIC5tZW51LWdldHRpbmctc3RhcnRlZCBsaS5hY3RpdmUtdHJhaWwsXG4udmVnYXMtdmVydGljYWwgLnF1aWNrdGFicy10YWJzIGxpLmFjdGl2ZSB7XG4gICAgLlZfcHJvbW8tcGFnZV9zYm1lbnVfYmcoKTtcbn1cbi5saXZlLXZlcnRpY2FsIC5tZW51LWdldHRpbmctc3RhcnRlZCBsaS5hY3RpdmUtdHJhaWwsXG4ubGl2ZS12ZXJ0aWNhbCAucXVpY2t0YWJzLXRhYnMgbGkuYWN0aXZlIHtcbiAgICAuVl9nZXR0aW5nX3N0YXJ0ZWRfc2JtZW51X2JnKCk7XG59XG5cblxuLyogIFByb21vdGlvbnMgc3VibWVudVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wcm9tb3Rpb25zLXZlcnRpY2FsIC5tZW51LXByb21vdGlvbnMtc3VibWVudSBsaS5hY3RpdmUtdHJhaWwge1xuICAgIC5WX3Byb21vLXBhZ2Vfc2JtZW51X2JnKCk7XG59XG5cblxuXG5cbi8qICBRdWlja3RhYnMgc3VibWVudVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5xdWlja3RhYnMtaGlkZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSAvLyBkaXJ0eSBxdWlja3RhYnMgaGFja1xuXG5cblxuLyogIENvbnRlbnRcblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4vKiBDb250ZW50IGJvZHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucGFnZS1jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbn1cblxuLyogIENvbnRlbnQgaGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wYWdlLXZpcCAuY29udGVudC1oZWFkZXIsXG4ucGFnZS1nYW1lcyAuY29udGVudC1oZWFkZXIsXG4ucGFnZS1wcm9tb3Rpb25zLm5vZGUtdHlwZS1wYWdlIC5jb250ZW50LWhlYWRlcixcbi5wYWdlLXRvdXJuYW1lbnRzIC5jb250ZW50LWhlYWRlcixcbi5wYWdlLWNvbXBldGl0aW9ucyAuY29udGVudC1oZWFkZXIsXG4ucGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLmNvbnRlbnQtaGVhZGVyLFxuLnBhZ2UtdmlkZW9zIC5jb250ZW50LWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2UtdmlkZW9zIC5xdWlja3RhYnMtd3JhcHBlciAucXVpY2t0YWJzLXRhYnMgbGkge1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbn1cblxuXG5cbi8qICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnBhZ2UtZ2V0dGluZy1zdGFydGVkIC5wYWdlLWNvbnRlbnQgcCxcbi5wYWdlLWdldHRpbmctc3RhcnRlZCAucGFnZS1jb250ZW50IGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cblxuXG5cblxuXG5cblxuLyogIEZvb3RlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4ubWVudS1mb290ZXItLS1zaXRlLWxpbmtzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAtNTBweDtcbn1cblxuLyogIExvYWRpbmcgSWNvbiAoUG9zaXRpb25pbmcgQ2hhbmdlcylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5wbGF5dGVjaC1sb2dpbi10by1wbGF5IC5sb2FkaW5nLCAucGxheXRlY2gtbG9naW4tZXJyb3ItbWVzc2FnZXMgLmxvYWRpbmcge1xuICBtYXJnaW4tbGVmdDogLTUwcHg7XG59XG4iLCIvLyBNQlMtMjA2NiAoQWRkaW5nIE1haW50ZW5hbmNlIEltYWdlcylcclxuLm1haW50ZW5hbmNlLW1vZGUocmdiYSgyNTUsMjU1LDI1NSwwLjgpLHtcclxuICAuZ2FtZV9vdmVybGF5IHtcclxuICAgIGZvbnQtc2l6ZTogNzBweDtcclxuICAgIG1hcmdpbjogM3B4O1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XHJcblxyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgd2lkdGg6IDkwJTtcclxuXHJcbiAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbiBzZXJpZjtcclxuICAgICAgZm9udC1zaXplOiA5NSU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMTQlO1xyXG5cclxuICAgICAgLnNtYWxsZXItdGhhbi1pcGhvbmU2LW1lZGl1bSh7IGZvbnQtc2l6ZTogODAlOyB9KTtcclxuICAgICAgLm1lZGl1bSh7IGZvbnQtc2l6ZTogNzAlOyB9KTtcclxuICAgICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7IGZvbnQtc2l6ZTogOHZ3OyB9KTtcclxuICAgICAgLnNtYWxsKHsgZm9udC1zaXplOiAxMTAlOyB9KTtcclxuICAgICAgLmdhbWV3cmFwcGVyLXNtYWxsLWlwNih7IGZvbnQtc2l6ZTogOTAlOyB9KTtcclxuXHJcbiAgICAgIGNvbG9yOiAjNGIwYjRhO1xyXG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiYSg3NSwxMSw3NCwwLjUpO1xyXG5cclxuICAgICAgLy8gRGlmZmVyZW50IHNpemluZyBmb3IgZ2FtZXMgcGFnZVxyXG4gICAgICAucGFnZS1nYW1lcyAmLC5wYWdlLWdhbWVzJiB7ICAudGFibGV0LXh4bGFyZ2Uoe2ZvbnQtc2l6ZTogMTAwcHg7bGluZS1oZWlnaHQ6IDExMHB4OyB9KTsgIH1cclxuXHJcbiAgICAgIC5wYWdlLWdhbWVzICYsICYgLnBhZ2UtZ2FtZXMmIHtcclxuICAgICAgICAueGxhcmdlKHsgZm9udC1zaXplOiA4dnc7bGluZS1oZWlnaHQ6IDl2dzsgfSk7XHJcbiAgICAgICAgLm1lZGl1bSh7IGZvbnQtc2l6ZTogN3Z3OyBsaW5lLWhlaWdodDogOHZ3OyB9KTtcclxuICAgICAgICAuZGlzcGxheS1qb2ludXMtYnV0dG9uKHsgZm9udC1zaXplOiAxOHZ3OyBsaW5lLWhlaWdodDogMTl2dzsgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGNvbnRlbnQ6IFwiVW5kZXIgTWFpbnRlbmFuY2UgQmFjayBTb29uXCI7XHJcbiAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgLnByb3hpbWEtZm9udChib2xkKTtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG5cclxuICAgICAgY29sb3I6ICM0YjBiNGE7XHJcbiAgICAgIC8vIERpZmZlcmVudCBzaXppbmcgZm9yIGdhbWVzIHBhZ2VcclxuICAgICAgLnRhYmxldC5wYWdlLWdhbWVzICYsLnRhYmxldC5wYWdlLWdhbWVzJiB7ICAudGFibGV0LXh4bGFyZ2Uoe2ZvbnQtc2l6ZTogMzBweDtsaW5lLWhlaWdodDogNDBweDtwYWRkaW5nLXRvcDogMTBweDsgfSk7ICB9XHJcbiAgICAgIC54bGFyZ2UoeyBmb250LXNpemU6IDIuMnZ3O3BhZGRpbmctdG9wOiAxdnc7bGluZS1oZWlnaHQ6IDE7fSk7XHJcbi8vICAgICAgLm1lZGl1bSh7Zm9udC1zaXplOiA0dnc7fSk7XHJcbiAgICAgIC5kaXNwbGF5LWpvaW51cy1idXR0b24oeyBmb250LXNpemU6IDQuNXZ3OyB9KTtcclxuICAgICAgLmdhbWUtaW5mby1wYWdlLXN0YXRlMSh7IGZvbnQtc2l6ZTogMnZ3OyB9KTtcclxuICAgICAgLnNtYWxsKHsgZm9udC1zaXplOiA0dnc7IH0pO1xyXG4gICAgfVxyXG4gIH1cclxufSk7XHJcblxyXG4vLyBCaW5nbyBCdXR0b25zXHJcbiAgLnBsYXl0ZWNoLWxvZ2luLWJsb2NrIGZvcm1bbmFtZT1wbGF5dGVjaC1sb2dpbi1mb3JtXS5yZWdpc3RyYXRpb24tc3R5bGUgLmFjdGlvbi1idXR0b24uc2lnbi1pbiAuYWN0aW9uLWJ1dHRvbi1pbm5lciB7XHJcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMDtcclxuICB9XHJcbiAgLmxvZ2luLW1vZGFsIGZvcm1bbmFtZT1wbGF5dGVjaC1sb2dpbi1mb3JtXSAuYWN0aW9uLWJ1dHRvbi5zaWduLWluIHtcclxuXHJcbiAgICAvLyBGaXggdG8gYWxpZ24gYnV0dG9uIGNvcnJlY3RseVxyXG4gICAgLmJ1dHRvbi1zdHlsZXMgeyAgdG9wOiAtMC4xZW07ICB9XHJcblxyXG4gICAgLy8mLmlucHJvZ3Jlc3MgLmlubmVyVGV4dCB7IHBhZGRpbmc6IC40ZW0gMC4zNWVtOyB9XHJcbiAgICAuYWN0aW9uLWJ1dHRvbi1pbm5lciB7XHJcbiAgICAgIHBhZGRpbmc6IDAuNDVlbSAxZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5yZXNwb25zaXZlLWhlYWRlci1idXR0b25zIC5hY3Rpb24tYnV0dG9uLnNpZ24taW4ge1xyXG4gICAgbWFyZ2luOiAwLjZlbTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICYgLmFjdGlvbi1idXR0b24taW5uZXIgeyAgcGFkZGluZzogMC41ZW0gMC45MmVtOyB9XHJcbiAgfVxyXG5cclxuICAvL0dhbWUgSW5mbyBGaXhlc1xyXG4gIC8vIFRPRE86IEZpbmQgb3ZlcnJpZGUgb3JpZ2luIGFuZCByZW1vdmVcclxuICAvLy5wYWdlLWdhbWUtaW5mbyAuZ2FtZV9sYXVuY2hfYnV0dG9ucyAuYnV0dG9uLnBsYXktZm9yLXJlYWwgeyAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgIH1cclxuXHJcbiAgJi5wYWdlLWdhbWUtaW5mbyAuZ2FtZV9sYXVuY2hfYnV0dG9ucyAuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICAuYWN0aW9uLWJ1dHRvbi1pbm5lciB7ICBwYWRkaW5nOiAwLjU3ZW0gMS40M2VtOyAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTW9kYWwgUG9zaXRpb25pbmdcclxuICAubG9naW4tbW9kYWwgLmxvZ2luLW92ZXJsYXktY29udGVudC5sb2dpbi1lcnJvciAuZXJyb3JfbWVzc2FnZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuICB9XHJcbiAgLm1lZGl1bSh7XHJcbiAgICAubG9naW4tbW9kYWwgZm9ybVtuYW1lPXBsYXl0ZWNoLWxvZ2luLWZvcm1dICNmb3Jnb3R0ZW4tZGV0YWlscy1saW5rLCAubG9naW4tbW9kYWwgLmxvZ2luLW92ZXJsYXktY29udGVudC5sb2dpbi1lcnJvciAjZm9yZ290dGVuLWRldGFpbHMtbGluayB7ICB0b3A6IC01LjVlbTsgIH1cclxuICAgIC5sb2dpbi1tb2RhbCBmb3JtW25hbWU9cGxheXRlY2gtbG9naW4tZm9ybV0gLmFjdGlvbi1idXR0b24uc2lnbi1pbiB7IG1hcmdpbi10b3A6IDJlbTsgfVxyXG4gIH0pO1xyXG5cclxuICAvLyBGb3Jnb3R0ZW4gUGFzcyBNb2RhbFxyXG4gIC5tb2RhbCAuZm9yZ290dGVuLXBhc3N3b3JkLXBvcHVwIHtcclxuICAgIC8vIERlZmF1bHQgb3ZlcnJpZGVcclxuICAgIGhyIHsgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cclxuICAgIC5zaWduLWluIHtcclxuICAgICAgd2lkdGg6IDgwJTtcclxuXHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgLmJ1dHRvbi1zdHlsZXMgLmFjdGlvbi1idXR0b24taW5uZXIgeyAgZm9udC1zaXplOiAxNHB4O3BhZGRpbmc6IDAuMmVtIDA7ICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBHYW1lIEluZm9cclxuICAubGFyZ2Uoe1xyXG4gICAgJi5wYWdlLWdhbWUtaW5mbyAuZ2FtZV9sYXVuY2hfYnV0dG9ucyAuYnV0dG9uLnBsYXktZm9yLXJlYWwsICYucGFnZS1nYW1lLWluZm8gLmdhbWVfbGF1bmNoX2J1dHRvbnMgLmJ1dHRvbi5wbGF5LWZvci1mdW4ge1xyXG4gICAgICAuYWN0aW9uLWJ1dHRvbi1pbm5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMC40ZW0gMWVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC5nYW1lLWluZm8tcGFnZS1zdGF0ZTEoe1xyXG4gICAgJi5wYWdlLWdhbWUtaW5mbyAuZ2FtZV9sYXVuY2hfYnV0dG9ucyAuYnV0dG9uLnBsYXktZm9yLXJlYWwsICYucGFnZS1nYW1lLWluZm8gLmdhbWVfbGF1bmNoX2J1dHRvbnMgLmJ1dHRvbi5wbGF5LWZvci1mdW4ge1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgLmFjdGlvbi1idXR0b24taW5uZXIgeyAgcGFkZGluZzogLjJlbSAxZW07IH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gUGF0Y2hlcyAoaW4gRnV0dXJlIGl0ZXJhdGlvbiByZW1vdmUpXHJcbiAgICAmLnBhZ2UtZ2FtZS1pbmZvIC5nYW1lX2xhdW5jaF9idXR0b25zIC5idXR0b24ucGxheS1mb3ItcmVhbCB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBtYXJnaW4tbGVmdDogNyU7XHJcbiAgICAgIHdpZHRoOiA1OCU7XHJcbiAgICB9XHJcbiAgICAvLyBFTmQgb2YgUGF0Y2hlcyAoaW4gRnV0dXJlIGl0ZXJhdGlvbiByZW1vdmUpXHJcblxyXG4gICAgJi5wYWdlLWdhbWUtaW5mbyAuZ2FtZV9sYXVuY2hfYnV0dG9ucyAuYnV0dG9uLnBsYXktZm9yLWZ1biB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xyXG4gICAgICAuYWN0aW9uLWJ1dHRvbi1pbm5lciB7IGZvbnQtc2l6ZTogMTRweDsgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBmb3JtW25hbWU9Zm9ybXMtY2hhbmdlLXBhc3N3b3JkLWZvcm1dLmZvcm0tc3R5bGUgYnV0dG9uLmFjdGlvbi1idXR0b24ucmVnaXN0ZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMCAxNy41ZW07XHJcbiAgICB3aWR0aDogNDAlO1xyXG4gIH1cclxuICBmb3JtW25hbWU9Zm9ybXMtZm9yZ290dGVuLWRldGFpbHMtZm9ybV0uZm9ybS1zdHlsZSBidXR0b24uYWN0aW9uLWJ1dHRvbi5yZWdpc3RlciB7XHJcbiAgICBtYXJnaW46IDAgMCAwIDFlbTtcclxuICAgIHdpZHRoOiA0OCU7XHJcbiAgfVxyXG4gIGZvcm1bbmFtZT1mb3Jtcy1jaGFuZ2UtcGFzc3dvcmQtZm9ybV0uZm9ybS1zdHlsZSBidXR0b24uYWN0aW9uLWJ1dHRvbi5yZWdpc3RlciwgZm9ybVtuYW1lPWZvcm1zLWZvcmdvdHRlbi1kZXRhaWxzLWZvcm1dLmZvcm0tc3R5bGUgYnV0dG9uLmFjdGlvbi1idXR0b24ucmVnaXN0ZXIge1xyXG4gICAgLnhsYXJnZSh7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB3aWR0aDogNjAlO1xyXG4gICAgfSk7XHJcbiAgICAuc21hbGwoe1xyXG4gICAgICB3aWR0aDogOTAlO1xyXG4gICAgfSk7XHJcbiAgICAuYWN0aW9uLWJ1dHRvbi1pbm5lciB7XHJcbiAgICAgIHBhZGRpbmc6IDAuM2VtIDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuXHJcbiAgICAgIC54bGFyZ2UoeyBwYWRkaW5nOiAwLjNlbSAwOyB9KTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL1JFZ2lzdHJhdGlvbiBQYWdlXHJcbiAgJi5wYWdlLXJlZ2lzdGVyIC5hY3Rpb24tYnV0dG9uLnJlZ2lzdGVyIHtcclxuICAgIC54bGFyZ2Uoe1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH0pXHJcbiAgfVxyXG4gICYucGFnZS1yZWdpc3RlciAuYWN0aW9uLWJ1dHRvbi5yZWdpc3RlciAuYnV0dG9uLXN0eWxlcyB7ICBib3JkZXI6IG5vbmU7ICB9XHJcbiAgJi5wYWdlLXJlZ2lzdGVyIC5hY3Rpb24tYnV0dG9uLnJlZ2lzdGVyIC5hY3Rpb24tYnV0dG9uLWlubmVyIHtcclxuICAgIHBhZGRpbmc6IDAuNGVtIDNlbTtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgfVxyXG5cclxuLndyYXBwZXJfb3ZlcmxheSAucGxheV9mb3JfcmVhbCAuYWN0aW9uLWJ1dHRvbi1pbm5lciB7XHJcbiAgcGFkZGluZzogMC42ZW07XHJcbn0iLCJib2R5LnBhZ2UtYmluZ28ge1xuXG4gICAgLmJpbmdvLXRpbWV0YWJsZS1maWx0ZXIgZm9ybXtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJpbmdvLXRpbWV0YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5iaW5nby10aW1ldGFibGUtcGFnaW5hdG9yIHVse1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuYm9keS5wYWdlLXRpbWV0YWJsZSB7XG4gICAgLmJpbmdvLWdhbWVzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIFVzZWQgdG8gaGlkZSBsb2dpbiB3aGVuIGRpc2FibGVkIChzaG93biB1c2luZyBKUylcbi5kaXNhYmxlLWxvZ2luIHtcbiAgICAgLmhlYWRlci1idXR0b24uYWNjb3VudC1idXR0b24sI3BsYXl0ZWNoX2xvZ2luX3N1Ym1pdCwubG9naW4tYnV0dG9uLCNmb3Jnb3R0ZW4tZGV0YWlscy1saW5rIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5kaXNhYmxlLXJlZ2lzdHJhdGlvbiB7XG4gICAgLm5vdC1sb2dnZWQtaW4mIHtcblxuICAgICAgICAvLyBUSGVzZSBhcmUgYWxsIHRoZSBjbGFzc2VzIHVzZWQgdG8gYWRkIFJlZ2lzdGVyIEJ1dHRvbnMgdG8gU2l0ZSAoLmJ1dHRvbi0zLmRpc2FibGVkIGlzIHVzZWQganVzdCBpbmNhc2Ugb3RoZXIgYnV0dG9ucyBtYXkgZW5kIHVwIHdpdGggLmJ1dHRvbi0zKVxuICAgICAgICAjcmVnaXN0cmF0aW9uX3N1Ym1pdCwgI3Bvc3Rjb2RlX3NlYXJjaGJ1dHRvbiwucmVnaXN0ZXItYnV0dG9uLC5wcm9tby1yZWdpc3RlciwuYnV0dG9uLTMsLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTUJTLTI0NzAgRml4IChtb3ZpbmcgcG9wdWxhciBnYW1lcyB0byBCYW5uZXIgcmVnaW9uIHJlcXVpcmVzIHRoaXMgY2hhbmdlKVxuLnBvcHVsYXItZ2FtZXMtYmxvY2sge1xuICAgIC5yZWdpb24tYmFubmVyICYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAvLyBVc2VkIGJlY2F1c2UgZmlyZWZveCBpc24ndCBzaXppbmcgdGhpcyBibG9jayBjb3JyZWN0bHlcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC54bGFyZ2Uoe1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogNTAwO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLnBhZ2UtYmluZ28tZnJvbnQgLnJlZ2lvbi1iYW5uZXIgJiAuZ2FtZV93cmFwcGVyIHtcbiAgICAgICAgJjpudGgtY2hpbGQoNW4pIHsgLnhsYXJnZSh7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSk7IH1cbiAgICAgICAgd2lkdGg6IDE5LjUlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcblxuXG4gICAgICAgIC54bGFyZ2Uoe1xuICAgICAgICAgICAgd2lkdGg6IDI0JTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNGVtO1xuICAgICAgICB9KTtcbiAgICAgICAgLmdhbWV3cmFwcGVyLXNtYWxsLWlwNi1wbHVzKHsgd2lkdGg6IDQ5JTsgfSk7XG4gICAgfVxufVxuXG4uZnJvbnQtZ2FtZXMtdGl0bGUge1xuXG4gICAgJiwgaDIgeyAgcG9zaXRpb246IHJlbGF0aXZlOyAgfVxuXG4gICAgLmxhdW5jaC1iaW5nbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi5iaW5nby10aW1ldGFibGUsIC5iaW5nby1nYW1lcyB7XG4gICAgLmZyb250LWdhbWVzLXRpdGxlIHsgLmRpc3BsYXkobm8pOyB9XG59XG5cbmJvZHkucGFnZS1iaW5nby1mcm9udCB7XG5cbiAgICBoMnsgLnJlc2V0KHRydWUpOyB9XG5cbiAgICAuZnJvbnQtZ2FtZXMtdGl0bGUge1xuICAgICAgICAuZGlzcGxheSgpO1xuXG4gICAgICAgIC5sYXVuY2gtYmluZ28ge1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vIE1CUy0yMzQ4OiBHYW1lcyBQYWdlIEhlcm8gQmFubmVyIEJveC1zaGFkb3cgaGlkZVxuLnJlZ2lvbi1jb250ZW50IHsgIHotaW5kZXg6IDUwMDsgIH1cblxuXG4vLyBNQlMtMjU0NFxuLypcbiAqIFBhbmVsXG4gKiBDYW4gYmUgcmVmYWN0b3JlZCBmb3IgU2lkZWJhciBKYWNrcG90cy9Qb3B1bGFyIEdhbWVzIGFzIHdlbGwgYXMgUGFnZXMgdG8gcHJvdmlkZVxuICogZXF1YWwgc3BhY2luZyBmb3IgYWxsXG4gKi9cbi5yZi1wYW5lbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLypcbiAqIEhlYWRlclxuICogVXNlZCB3aXRoIHJmLXBhbmVsIG9uIHNhbWUgZWxlbWVudHNcbiAqL1xuLnJmLWhlYWRlciwucmYtYmluZ28taGVhZGVyICB7XG4gICAgLy8gQWRkZWQgdG8gY2xlYXIgY2hpbGQgZmxvYXRzXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBoMyxoNSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgLnJlc2V0KCk7XG4gICAgfVxufVxuXG4vKlxuICogTGlzdCBHcmlkXG4gKiBDdXJyZW50bHkgaXMgdmVyeSBzcGVjaWZpYyBhbmQgZm9yIGZ1dHVyZSB1c2FnZSB3aWxsIG5lZWQgZXhwYW5zaW9uIHRvIGNvdmVyIG90aGVyIHBhZ2UgZ3JpZCB0eXBlc1xuICovXG5bY2xhc3NePSdyZi1saXN0LWdyaWQtJ10ge1xuXG4gICAgLy8gT3ZlcnJpZGVzIGJyb3dzZXIgc3R5bGluZy4gSW4gZnV0dXJlIGl0ZXJhdGlvbnMgYWxsIFVMJ3Mgc2hvdWxkIGJlIGZvcm1hbGlzZWRcbiAgICAucmVzZXQoKTtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAwLjVlbTtcblxuICAgICYsID4gKiB7XG4gICAgICAgIC8vIFBhcmVudCBpcyBzZXQgdG8gaW5sb2luZS1ibG9jayB0byBjbGVhciBmbG9hdHNcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgICYgKyBbY2xhc3NePSdyZi1saXN0LWdyaWQtJ10ge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cblxuICAgID4gKiB7XG4gICAgICAgIC5mbC1sZWZ0O1xuICAgIH1cbn1cblxuLnJmLWxpc3QtZ3JpZC0zID4gKiB7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG59XG4ucmYtbGlzdC1ncmlkLTIgPiAqIHtcbiAgICB3aWR0aDogNTAlO1xufVxuXG4vKlxuICogSWNvblxuICogQWRkaW5nIG9uZSBpY29uIGNsYXNzIChzaG91bGQgYmUgYWRkZWQgdG8gRkxFWCkgY2FuIHRoZW4gYmUgYXBwbGllZCB0byBhbGwgaWNvbnNcbiAqL1xuLnJmLWljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG5cbi8qXG4gKiBCaW5nbyBHYW1lcyAoSG9tZXBhZ2UpIFNwZWNpZmljIFN0eWxlc1xuICovXG4uYmluZ28tcGxheXRlY2gtZ2FtZXMge1xuICAgIC5yZi1iaW5nby1kZXRhaWxzIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDJ2dztcbiAgICAgICAgLmxhcmdlLW1pbi13aWR0aCh7IHBhZGRpbmctdG9wOiAxLjJyZW07IH0pO1xuICAgICAgICAuc21hbGwoeyBwYWRkaW5nLXRvcDogMDsgfSk7XG4gICAgICAgIC5sYW5kc2NhcGUtbGFyZ2UoeyBwYWRkaW5nLXRvcDogM3Z3OyB9KTtcblxuICAgICAgICAvLyBTYW1zdW5nIFRhYmxldCBTcGVjaWZpYyBmaXhcbiAgICAgICAgLnRhYmxldCAmIHtcbiAgICAgICAgICAgIC50YWJsZXQteHhsYXJnZSh7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDJ2dztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJmLWN0YV9yZWFsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjNyZW07XG4gICAgICAgICAgICAubGFuZHNjYXBlLWxhcmdlKHsgcGFkZGluZzogMXJlbSAwLjZyZW07IH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwgbGkgeyAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgfVxuICAgIC5kcmF3LXRpbWUtdmFsdWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5yZi1wYW5lbCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHdpZHRoOiA5OCU7XG4gICAgICAgIC5sYXJnZS1taW4td2lkdGgoeyB3aWR0aDogNDklOyB9KTtcbiAgICAgICAgLlZfaGVhZGVyc19wcm9tb3Rpb25zX3RhYigpO1xuICAgIH1cblxuICAgIC5yZi1iaW5nby1oZWFkZXIgLmNhcmQtcHJpY2UtdmFsdWUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnJmLWJpbmdvLWltYWdlIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIC8vIFByZXZlbnRzIEltYWdlIGZyb20gb3ZlcnNwaWxsaW5nIGNvbnRhaW5lclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICB9XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIFVUSUxJVElFU1xuLmV4cGFuZGVkIHsgIGRpc3BsYXk6IGJsb2NrOyAgfVxuLmZsLWxlZnQgeyAgZmxvYXQ6IGxlZnQ7ICB9XG4uZmwtcmlnaHQgeyAgZmxvYXQ6IHJpZ2h0OyAgfVxuIiwiLmxvZ2luLW1vZGFsIHtcclxuICAuYWN0aW9uLWJ1dHRvbiAubG9hZGluZyB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcbn1cclxuLnJlZ2lvbi1oZWFkZXIgLnBsYXl0ZWNoLWxvZ2luLWJsb2NrIC5zaWduLWluIHtcclxuICB3aWR0aDogODBweDtcclxuICBtYXJnaW46IDRweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMTUycHg7XHJcbiAgdG9wOiAzNXB4O1xyXG5cclxuICAudGV4dHN0dWZmIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gIH1cclxuXHJcbn1cclxuLmhlYWRlci1idXR0b24uYWNjb3VudC1idXR0b24uYWN0aW9uLWJ1dHRvbi5zaWduLWluIHtcclxuICB3aWR0aDogNTdweDtcclxufVxyXG4ubG9naW4tbW9kYWwgZm9ybVtuYW1lPXBsYXl0ZWNoLWxvZ2luLWZvcm1dICNmb3Jnb3R0ZW4tZGV0YWlscy1saW5rIHtcclxuICB0b3A6IC01LjVlbTtcclxufVxyXG4ucmVzcG9uc2l2ZS1oZWFkZXItYnV0dG9ucyAuYWN0aW9uLWJ1dHRvbi5zaWduLWluIC5hY3Rpb24tYnV0dG9uLWlubmVyIHtcclxuICBwYWRkaW5nOiAwLjRlbSAwLjVlbTtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbn1cclxuXHJcbi5wYWdlLWdhbWUtaW5mbyAucGFnZS1jb250ZW50IC5hY3Rpb24tYnV0dG9uLnNpZ24taW4gLmJ1dHRvbi1zdHlsZXMge1xyXG4gIC5WX3NlY29uZGFyeV9idXR0b247XHJcbn0iLCIvKlxyXG4gKiBCaW5nbyBHYW1lcyAoSG9tZXBhZ2UpIFNwZWNpZmljIFN0eWxlc1xyXG4gKi9cclxuLy8gTUJTLTI1NDRcclxuLnJmLWljb24ge1xyXG5cclxuICAuYmluZ28tcGxheXRlY2gtZ2FtZXMgJiB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvaWNvbnMvYmluZ28tYmFsbHMucG5nJykgY2VudGVyIHRvcCBuby1yZXBlYXQ7XHJcbiAgfVxyXG4gIC50eXBlLTc1LWJhbGwgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTEwMHB4O1xyXG4gIH1cclxuICAudHlwZS04MC1iYWxsICYge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xMzVweDtcclxuICB9XHJcbiAgLnR5cGUtOTAtYmFsbCAmIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtNjdweDtcclxuICB9XHJcbiAgLnR5cGUtcGF0dGVybi1iaW5nbyAmIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMTY4cHg7XHJcbiAgfVxyXG4gIC50eXBlLWpva2VyLWphY2twb3QgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTMzcHg7XHJcbiAgfVxyXG4gIC50eXBlLWRlYWwtb3Itbm8tZGVhbC03NSAmIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMzA4cHg7XHJcbiAgfVxyXG4gIC50eXBlLTc1LWJhbGwtcGF0dGVybiAmIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMjAycHg7XHJcbiAgfVxyXG4gIC50eXBlLWx1Y2t5LW51bWJlcnMgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTIzNXB4O1xyXG4gIH1cclxuICAudHlwZS1kZWFsLW9yLW5vLWRlYWwgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTI3MHB4O1xyXG4gIH1cclxuXHJcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIFRZUE9HUkFQSFlcclxuXHJcbi8qXHJcbiAqIERlZmF1bHRzIChub3Qgc2V0IGFueXdoZXJlIGVsc2UgeWV0KVxyXG4gKi9cclxuaDYgeyAgLlZfaGVhZGVyX3N1Ym1lbnVfYV9jb2xvcigpOyAgfVxyXG5cclxuXHJcbi8qXHJcbiAqIEhlYWRlcnNcclxuICogVXNlZCB3aXRoIHJmLXBhbmVsIG9uIHNhbWUgZWxlbWVudHNcclxuICovXHJcbi5yZi1oZWFkZXIsLnJmLWJpbmdvLWhlYWRlciB7XHJcbiAgZm9udC1mYW1pbHk6IFByb3hpbWEgTm92YSBTb2Z0LHByb3hpbWEtbm92YS1zb2Z0LHNhbnMtc2VyaWY7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLnJmLWJpbmdvLWhlYWRlciB7XHJcbiAgLy8gVmVydGljYWwgQ2VudGVyIGFsaWdubWVudFxyXG4gIGxpbmUtaGVpZ2h0OiAyO1xyXG4gIC5WX2hlYWRlcl9zdWJtZW51X2FfaG92ZXIoKTtcclxufVxyXG5cclxuLmJpbmdvLXBsYXl0ZWNoLWdhbWVzIHtcclxuICAucmYtYmluZ28taGVhZGVyIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogM3Z3O1xyXG4gICAgLmxhcmdlLW1pbi13aWR0aCh7IGZvbnQtc2l6ZTogMS42NXJlbTsgfSk7XHJcbiAgICAuc21hbGwoeyBmb250LXNpemU6IDR2dzsgfSk7XHJcbiAgICAubGFuZHNjYXBlLWxhcmdlKHsgZm9udC1zaXplOiAycmVtOyB9KTtcclxuICB9XHJcblxyXG4gIC5yZi1iaW5nby1kZXRhaWxzIHtcclxuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgLmxhcmdlKHsgZm9udC1zaXplOiAzdnc7IH0pO1xyXG5cclxuICAgIC5yZi1oZWFkZXIge1xyXG4gICAgICAubGFyZ2UtbWluLXdpZHRoKHsgZm9udC1zaXplOiAxLjVyZW07IH0pO1xyXG4gICAgICAubGFyZ2UoeyBmb250LXNpemU6IDN2dzsgfSk7XHJcbiAgICAgIC5zbWFsbCh7IGZvbnQtc2l6ZTogNHZ3OyB9KTtcclxuICAgICAgLmxhbmRzY2FwZS1sYXJnZSh7IGZvbnQtc2l6ZTogMnJlbTsgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdWwgbGkge1xyXG4gICAgICBsaW5lLWhlaWdodDogLjk7XHJcbiAgICAgIC5sYXJnZS1taW4td2lkdGgoeyBmb250LXNpemU6IDEuM3JlbTsgfSk7XHJcbiAgICAgIC5zbWFsbCh7IGZvbnQtc2l6ZTogMy41dnc7IH0pO1xyXG4gICAgICAubGFuZHNjYXBlLWxhcmdlKHsgZm9udC1zaXplOiAycmVtOyB9KTtcclxuICAgIH1cclxuICAgIC5yZi1jdGFfcmVhbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogNC41dnc7XHJcbiAgICAgIC5sYXJnZS1taW4td2lkdGgoeyBmb250LXNpemU6IDEuOHJlbTsgfSk7XHJcbiAgICAgIC5sYW5kc2NhcGUtbGFyZ2Uoe2ZvbnQtc2l6ZTogMi41cmVtO30pO1xyXG4gICAgfVxyXG5cclxuICAgIC5kcmF3LXRpbWUtdmFsdWUge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbiAqIENUQSBgU3VjY2Vzc2AgQ29kZVxyXG4gKiBXaWxsIGJlIHVzZWQgdG8gcmVwbGFjZSBhbGwgaW5zdGFuY2VzIG9mIFBsYXkgZm9yIFJlYWwuIEFsbG93aW5nIHVzIHRvIGtlZXAgY29sb3VycywgZm9udCBzdHlsZSBhbmQgc3RhdGVzXHJcbiAqIHdoaWxzdCBrZWVwaW5nXHJcbiAqL1xyXG4ucmYtY3RhX3JlYWwge1xyXG4gIHRleHQtdHJhbnNmb3JtOiAgdXBwZXJjYXNlO1xyXG4gIC5WX2hlYWRlcnNfYnRfam9pbl9ub3coKTtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gVVRJTElUSUVTXHJcbi50eHQtY2VudGVyIHsgIHRleHQtYWxpZ246IGNlbnRlcjsgIH1cclxuIl0sImZpbGUiOiJCaW5nby9jc3MvQmluZ28uY3NzIn0= */
