/*
Base mixins and Functions ONLY in here
No CSS output!
Remember these tools/utilities will be made availabe to all your components,
any CSS you output in here will add massive bloat to your project.
If you need common css, add to main.scss
========================================================================== */
/* ============================================================================================
	Vertical Spacing
============================================================================================= */
/* ============================================================================================
	Breakpoints
============================================================================================= */
/* ============================================================================================
	Colours
============================================================================================= */
/* ============================================================================================
	Z-Index
============================================================================================= */
/* =========================================================================
  cubic-bezier curve variables
========================================================================== */
/* =========================================================================
  Font variables
========================================================================== */
/* =========================================================================
  Grid Variables (size vars must match the breakpoint vars)
========================================================================== */
@media (min-width: 320px) {
  body::after {
    content: '{"xsmall":{"value": "320px", "active": true}, "small":{"value": "768px", "active": false}, "medium":{"value": "1024px", "active": false}, "xmedium":{"value": "1200px", "active": false}, "large":{"value": "1440px", "active": false}, "xlarge":{"value": "1920px", "active": false}, "xxlarge":{"value": "2000px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

@media (min-width: 768px) {
  body::after {
    content: '{"xsmall":{"value": "320px", "active": true}, "small":{"value": "768px", "active": true}, "medium":{"value": "1024px", "active": false}, "xmedium":{"value": "1200px", "active": false}, "large":{"value": "1440px", "active": false}, "xlarge":{"value": "1920px", "active": false}, "xxlarge":{"value": "2000px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

@media (min-width: 1024px) {
  body::after {
    content: '{"xsmall":{"value": "320px", "active": true}, "small":{"value": "768px", "active": true}, "medium":{"value": "1024px", "active": true}, "xmedium":{"value": "1200px", "active": false}, "large":{"value": "1440px", "active": false}, "xlarge":{"value": "1920px", "active": false}, "xxlarge":{"value": "2000px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

@media (min-width: 1200px) {
  body::after {
    content: '{"xsmall":{"value": "320px", "active": true}, "small":{"value": "768px", "active": true}, "medium":{"value": "1024px", "active": true}, "xmedium":{"value": "1200px", "active": true}, "large":{"value": "1440px", "active": false}, "xlarge":{"value": "1920px", "active": false}, "xxlarge":{"value": "2000px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

@media (min-width: 1440px) {
  body::after {
    content: '{"xsmall":{"value": "320px", "active": true}, "small":{"value": "768px", "active": true}, "medium":{"value": "1024px", "active": true}, "xmedium":{"value": "1200px", "active": true}, "large":{"value": "1440px", "active": true}, "xlarge":{"value": "1920px", "active": false}, "xxlarge":{"value": "2000px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

@media (min-width: 1920px) {
  body::after {
    content: '{"xsmall":{"value": "320px", "active": true}, "small":{"value": "768px", "active": true}, "medium":{"value": "1024px", "active": true}, "xmedium":{"value": "1200px", "active": true}, "large":{"value": "1440px", "active": true}, "xlarge":{"value": "1920px", "active": true}, "xxlarge":{"value": "2000px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

@media (min-width: 2000px) {
  body::after {
    content: '{"xsmall":{"value": "320px", "active": true}, "small":{"value": "768px", "active": true}, "medium":{"value": "1024px", "active": true}, "xmedium":{"value": "1200px", "active": true}, "large":{"value": "1440px", "active": true}, "xlarge":{"value": "1920px", "active": true}, "xxlarge":{"value": "2000px", "active": true}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

/* ==========================================================================
	Site Transition
	Apply transitions consistently across the project
========================================================================== */
/* ==========================================================================
	Variable Spacing (v-spacing)
	Use with values set in _config.scss
========================================================================== */
/* ==========================================================================
	Tracking
	Convert XD, illustrator, indesign and
	photoshop tracking into letter spacing.
========================================================================== */
/* ============================================================================================================
	Line Height Crop (lhCrop)
	Removes the additional line height from top of text - https://codyhouse.co/blog/post/line-height-crop
	Use to make sure the top of your text lines up with other elements along side it.
	Enter a unitless line height (same as the type line hight)
============================================================================================================= */
/* ===========================================================================================
	Unitless Line Height
	Converts a pixel, percentage, rem or em value to a unitless value based on a given font size.
	Ideal for working out unitless line heights.
	Stolen from Foundation https://get.foundation/sites/docs/sass-functions.html#unitless-calc

	@param {Number} $value - Value to convert to a unitless line height
	@param {Number} $base - The font size to use to work out the line height - defaults to $global-font-size
	@return {Number} - Unitless number
=========================================================================================== */
/* ==================================================================================
	Removes the unit (e.g. px, em, rem) from a value, returning the number only.

	@param {Number} $num - Number to strip unit from.
	@returns {Number} The same number, sans unit.
=================================================================================== */
/* ==================================================================================
	used to create resonsive type

	@param {Number} $min-font-size - Number of the miniumum font size with units.
	@param {Number} $max-font-size - Number of the maximum font size with units.
	@param {Number} $line-height - Number of the lineheight with units.
	@returns font size using the v-space mixin and a unitless lineheight.
=================================================================================== */
/* ==================================================================================
	used to retreive varbailes from the $six-ccs-variables array

	$type = type is the name you set for your nested varaible array
	$size = is the nested variable you wish to get.
	@returns the value of teh specified variable
=================================================================================== */
/* ==================================================================================
	loops through varbailes from the $six-ccs-variables array & out put css var

	$value = used to get the correct value
=================================================================================== */
/* ==================================================================================
	used to retreive css var based on the breakpoint passed

	$breakpoint = used to specify media query
=================================================================================== */
/* ==================================================================================
	sibling fade: fade out siblings around a hovered item
=================================================================================== */
/*
Fix for 100vh elements being covered by iOS Safari toolbar
This is a bit hacky. More info: https://allthingssmitty.com/2020/05/11/css-fix-for-100vh-in-mobile-webkit/
The height doesn't adjust when the address bar is hidden.
*/
/* ==========================================================================================================
	Character Style Mixins
=========================================================================================================== */
.u-uppercase {
  text-transform: uppercase; }

/* ==============================================================================================
	WYSIWYG Mixin and class
	Apply to content that is using a WYSIWYG editor field.
	Redefines all the typographic HTML elements that TinyMce outputs. (h1,img,p,ul etc.)
=============================================================================================== */
/*
Form Mixins
Create mixins first so they can be reused on Woo forms or other places where you can't add your own classes
========================================================================== */
/* ==========================================================================================================
	Grid Mixins
=========================================================================================================== */
/* ==========================================================================
	Burger Menu Component
========================================================================== */
.c-BurgerMenu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100vw;
  height: 100%;
  background-color: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  opacity: 0;
  pointer-events: none; }

.c-BurgerMenu__inner {
  width: 100%;
  height: 100%;
  min-height: 600px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-end;
  align-items: flex-end;
  padding-right: var(--six-margin);
  padding-left: var(--six-margin);
  padding-top: calc(0.00298 * 100vw + 26.04762px);
  padding-bottom: calc(0.00298 * 100vw + 26.04762px); }
  @media (min-width: 1921px) {
    .c-BurgerMenu__inner {
      padding-top: 32px; } }
  @media (max-width: 499px) {
    .c-BurgerMenu__inner {
      padding-top: 27px; } }
  @media (min-width: 1921px) {
    .c-BurgerMenu__inner {
      padding-bottom: 32px; } }
  @media (max-width: 499px) {
    .c-BurgerMenu__inner {
      padding-bottom: 27px; } }

.c-BurgerMenu__nav {
  position: absolute;
  width: calc(100% - (var(--six-margin) * 2));
  top: 45%;
  opacity: 1;
  transform: translateY(-50%); }
  .c-BurgerMenu__nav li {
    position: relative;
    overflow: hidden; }
  .c-BurgerMenu__nav li > a {
    position: relative;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    opacity: 0;
    display: inline-block;
    font-family: "Lausanne-300", sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: calc(0.01488 * 100vw + 25.2381px);
    line-height: 1; }
    .c-BurgerMenu__nav li > a em {
      font-family: "Lausanne-300-italic", sans-serif;
      font-style: normal;
      font-weight: 300; }
      .c-BurgerMenu__nav li > a em em {
        font-style: normal;
        font-weight: 300; }
      .c-BurgerMenu__nav li > a em strong {
        font-family: "Lausanne-450-italic", sans-serif;
        font-style: normal;
        font-weight: 450; }
        .c-BurgerMenu__nav li > a em strong em {
          font-style: normal;
          font-weight: 450; }
    .c-BurgerMenu__nav li > a strong {
      font-family: "Lausanne-450", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-BurgerMenu__nav li > a strong em {
        font-family: "Lausanne-450-italic", sans-serif;
        font-style: normal;
        font-weight: 450; }
        .c-BurgerMenu__nav li > a strong em em {
          font-style: normal;
          font-weight: 450; }
      .c-BurgerMenu__nav li > a strong strong {
        font-weight: 450; }
    @media (min-width: 1921px) {
      .c-BurgerMenu__nav li > a {
        font-size: 55px; } }
    @media (max-width: 499px) {
      .c-BurgerMenu__nav li > a {
        font-size: 30px; } }
    .c-BurgerMenu__nav li > a strong,
    .c-BurgerMenu__nav li > a b {
      font-family: "Lausanne-450", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-BurgerMenu__nav li > a strong em,
      .c-BurgerMenu__nav li > a b em {
        font-family: "Lausanne-450-italic", sans-serif;
        font-style: normal;
        font-weight: 450; }
        .c-BurgerMenu__nav li > a strong em em,
        .c-BurgerMenu__nav li > a b em em {
          font-style: normal;
          font-weight: 450; }
      .c-BurgerMenu__nav li > a strong strong,
      .c-BurgerMenu__nav li > a b strong {
        font-weight: 450; }
    @media (hover: hover) {
      .c-BurgerMenu__nav li > a:hover {
        color: #606060; } }
    .c-BurgerMenu__nav li > a > p {
      display: inline-block;
      margin-left: 8px;
      font-family: "Lausanne-300", sans-serif;
      font-style: normal;
      font-weight: 300;
      font-size: calc(0.00595 * 100vw + 18.09524px);
      line-height: 1; }
      .c-BurgerMenu__nav li > a > p em {
        font-family: "Lausanne-300-italic", sans-serif;
        font-style: normal;
        font-weight: 300; }
        .c-BurgerMenu__nav li > a > p em em {
          font-style: normal;
          font-weight: 300; }
        .c-BurgerMenu__nav li > a > p em strong {
          font-family: "Lausanne-450-italic", sans-serif;
          font-style: normal;
          font-weight: 450; }
          .c-BurgerMenu__nav li > a > p em strong em {
            font-style: normal;
            font-weight: 450; }
      .c-BurgerMenu__nav li > a > p strong {
        font-family: "Lausanne-450", sans-serif;
        font-style: normal;
        font-weight: 450; }
        .c-BurgerMenu__nav li > a > p strong em {
          font-family: "Lausanne-450-italic", sans-serif;
          font-style: normal;
          font-weight: 450; }
          .c-BurgerMenu__nav li > a > p strong em em {
            font-style: normal;
            font-weight: 450; }
        .c-BurgerMenu__nav li > a > p strong strong {
          font-weight: 450; }
      @media (min-width: 1921px) {
        .c-BurgerMenu__nav li > a > p {
          font-size: 30px; } }
      @media (max-width: 499px) {
        .c-BurgerMenu__nav li > a > p {
          font-size: 20px; } }
      .c-BurgerMenu__nav li > a > p em {
        font-family: "Lausanne-300-italic", sans-serif;
        font-style: normal;
        font-weight: 300; }
        .c-BurgerMenu__nav li > a > p em em {
          font-style: normal;
          font-weight: 300; }
        .c-BurgerMenu__nav li > a > p em strong {
          font-family: "Lausanne-450-italic", sans-serif;
          font-style: normal;
          font-weight: 450; }
          .c-BurgerMenu__nav li > a > p em strong em {
            font-style: normal;
            font-weight: 450; }
      .c-BurgerMenu__nav li > a > p strong,
      .c-BurgerMenu__nav li > a > p b {
        font-family: "Lausanne-450", sans-serif;
        font-style: normal;
        font-weight: 450; }
        .c-BurgerMenu__nav li > a > p strong em,
        .c-BurgerMenu__nav li > a > p b em {
          font-family: "Lausanne-450-italic", sans-serif;
          font-style: normal;
          font-weight: 450; }
          .c-BurgerMenu__nav li > a > p strong em em,
          .c-BurgerMenu__nav li > a > p b em em {
            font-style: normal;
            font-weight: 450; }
        .c-BurgerMenu__nav li > a > p strong strong,
        .c-BurgerMenu__nav li > a > p b strong {
          font-weight: 450; }
  .c-BurgerMenu__nav .c-BurgerMenu__private-login {
    text-transform: uppercase;
    color: #000;
    text-decoration: none;
    display: inline-flex;
    font-size: calc(0.00119 * 100vw + 15.61905px);
    line-height: 1.61111;
    letter-spacing: 0.02em;
    font-family: "Lausanne-350", sans-serif;
    font-style: normal;
    font-weight: 350;
    transition: color 500ms cubic-bezier(0.25, 1, 0.5, 1);
    margin-top: calc(0.0119 * 100vw + 26.19048px); }
    @media (min-width: 1921px) {
      .c-BurgerMenu__nav .c-BurgerMenu__private-login {
        font-size: 18px; } }
    @media (max-width: 499px) {
      .c-BurgerMenu__nav .c-BurgerMenu__private-login {
        font-size: 16px; } }
    .c-BurgerMenu__nav .c-BurgerMenu__private-login em {
      font-family: "Lausanne-350-italic", sans-serif;
      font-style: normal;
      font-weight: 350; }
      .c-BurgerMenu__nav .c-BurgerMenu__private-login em em {
        font-style: normal;
        font-weight: 350; }
      .c-BurgerMenu__nav .c-BurgerMenu__private-login em strong {
        font-family: "Lausanne-450-italic", sans-serif;
        font-style: normal;
        font-weight: 450; }
        .c-BurgerMenu__nav .c-BurgerMenu__private-login em strong em {
          font-style: normal;
          font-weight: 450; }
    .c-BurgerMenu__nav .c-BurgerMenu__private-login strong {
      font-family: "Lausanne-450", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-BurgerMenu__nav .c-BurgerMenu__private-login strong em {
        font-family: "Lausanne-450-italic", sans-serif;
        font-style: normal;
        font-weight: 450; }
        .c-BurgerMenu__nav .c-BurgerMenu__private-login strong em em {
          font-style: normal;
          font-weight: 450; }
      .c-BurgerMenu__nav .c-BurgerMenu__private-login strong strong {
        font-weight: 450; }
    @media (min-width: 1921px) {
      .c-BurgerMenu__nav .c-BurgerMenu__private-login {
        margin-top: 50px; } }
    @media (max-width: 499px) {
      .c-BurgerMenu__nav .c-BurgerMenu__private-login {
        margin-top: 30px; } }
    @media (hover: hover) {
      .c-BurgerMenu__nav .c-BurgerMenu__private-login:hover {
        color: #606060; } }

.c-BurgerMenu__bottom-section {
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-end;
  align-content: flex-end;
  top: 5px;
  opacity: 0; }
  @media (max-width: 767px) {
    .c-BurgerMenu__bottom-section {
      flex-wrap: wrap;
      justify-content: flex-start; } }

.c-BurgerMenu__details {
  font-size: calc(0.00119 * 100vw + 15.61905px);
  line-height: 1.61111;
  letter-spacing: 0.02em;
  font-family: "Lausanne-350", sans-serif;
  font-style: normal;
  font-weight: 350; }
  @media (min-width: 1921px) {
    .c-BurgerMenu__details {
      font-size: 18px; } }
  @media (max-width: 499px) {
    .c-BurgerMenu__details {
      font-size: 16px; } }
  .c-BurgerMenu__details em {
    font-family: "Lausanne-350-italic", sans-serif;
    font-style: normal;
    font-weight: 350; }
    .c-BurgerMenu__details em em {
      font-style: normal;
      font-weight: 350; }
    .c-BurgerMenu__details em strong {
      font-family: "Lausanne-450-italic", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-BurgerMenu__details em strong em {
        font-style: normal;
        font-weight: 450; }
  .c-BurgerMenu__details strong {
    font-family: "Lausanne-450", sans-serif;
    font-style: normal;
    font-weight: 450; }
    .c-BurgerMenu__details strong em {
      font-family: "Lausanne-450-italic", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-BurgerMenu__details strong em em {
        font-style: normal;
        font-weight: 450; }
    .c-BurgerMenu__details strong strong {
      font-weight: 450; }
  @media (max-width: 767px) {
    .c-BurgerMenu__details {
      width: 100%;
      padding-bottom: 27px; } }
  .c-BurgerMenu__details .c-BurgerMenu__email,
  .c-BurgerMenu__details .c-BurgerMenu__phone {
    text-decoration: none;
    color: #000;
    float: left;
    clear: left;
    transition: color 500ms cubic-bezier(0.25, 1, 0.5, 1); }
    @media (hover: hover) {
      .c-BurgerMenu__details .c-BurgerMenu__email:hover,
      .c-BurgerMenu__details .c-BurgerMenu__phone:hover {
        color: #606060; } }

/* stylelint-disable */
.c-BurgerMenu {
  transition: 600ms opacity 700ms cubic-bezier(0.25, 1, 0.5, 1); }
  .c-BurgerMenu .c-BurgerMenu__nav li > a {
    transition: 500ms color cubic-bezier(0.25, 1, 0.5, 1), 600ms opacity cubic-bezier(0.25, 1, 0.5, 1); }
  .c-BurgerMenu .c-BurgerMenu__bottom-section {
    transition: 600ms opacity 400ms cubic-bezier(0.25, 1, 0.5, 1), 600ms top 400ms cubic-bezier(0.25, 1, 0.5, 1); }
  .c-BurgerMenu.is-active {
    pointer-events: auto;
    opacity: 1;
    transition: 600ms opacity cubic-bezier(0.25, 1, 0.5, 1); }
    .c-BurgerMenu.is-active .c-BurgerMenu__nav li > a {
      opacity: 1;
      transition: 500ms color cubic-bezier(0.25, 1, 0.5, 1), 1200ms opacity var(--animation-start) ease; }
    .c-BurgerMenu.is-active .c-BurgerMenu__bottom-section {
      top: 0;
      opacity: 1; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2Fzcy9jb21wb25lbnRzL2MtQnVyZ2VyTWVudS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsVUFBVSxpQ0FBaUMsV0FBVyxrQ0FBa0MsWUFBWSxtQ0FBbUMsYUFBYSxtQ0FBbUMsV0FBVyxtQ0FBbUMsWUFBWSxtQ0FBbUMsYUFBYSxvQ0FBb0M7QUFDcFY7QUFDQTtBQUNBO0FBQ0EsYUFBYSxFQUFFOztBQUVmO0FBQ0E7QUFDQSxlQUFlLFVBQVUsaUNBQWlDLFdBQVcsaUNBQWlDLFlBQVksbUNBQW1DLGFBQWEsbUNBQW1DLFdBQVcsbUNBQW1DLFlBQVksbUNBQW1DLGFBQWEsb0NBQW9DO0FBQ25WO0FBQ0E7QUFDQTtBQUNBLGFBQWEsRUFBRTs7QUFFZjtBQUNBO0FBQ0EsZUFBZSxVQUFVLGlDQUFpQyxXQUFXLGlDQUFpQyxZQUFZLGtDQUFrQyxhQUFhLG1DQUFtQyxXQUFXLG1DQUFtQyxZQUFZLG1DQUFtQyxhQUFhLG9DQUFvQztBQUNsVjtBQUNBO0FBQ0E7QUFDQSxhQUFhLEVBQUU7O0FBRWY7QUFDQTtBQUNBLGVBQWUsVUFBVSxpQ0FBaUMsV0FBVyxpQ0FBaUMsWUFBWSxrQ0FBa0MsYUFBYSxrQ0FBa0MsV0FBVyxtQ0FBbUMsWUFBWSxtQ0FBbUMsYUFBYSxvQ0FBb0M7QUFDalY7QUFDQTtBQUNBO0FBQ0EsYUFBYSxFQUFFOztBQUVmO0FBQ0E7QUFDQSxlQUFlLFVBQVUsaUNBQWlDLFdBQVcsaUNBQWlDLFlBQVksa0NBQWtDLGFBQWEsa0NBQWtDLFdBQVcsa0NBQWtDLFlBQVksbUNBQW1DLGFBQWEsb0NBQW9DO0FBQ2hWO0FBQ0E7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c0JBQXNCLEVBQUU7QUFDeEI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixFQUFFO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRDtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsRUFBRTs7QUFFekI7QUFDQTtBQUNBLGdFQUFnRTtBQUNoRTtBQUNBLHVHQUF1RztBQUN2RztBQUNBLGlIQUFpSDtBQUNqSDtBQUNBO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQTtBQUNBLHdHQUF3RztBQUN4RztBQUNBO0FBQ0EsaUJBQWlCIiwiZmlsZSI6ImMtQnVyZ2VyTWVudS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQmFzZSBtaXhpbnMgYW5kIEZ1bmN0aW9ucyBPTkxZIGluIGhlcmVcbk5vIENTUyBvdXRwdXQhXG5SZW1lbWJlciB0aGVzZSB0b29scy91dGlsaXRpZXMgd2lsbCBiZSBtYWRlIGF2YWlsYWJlIHRvIGFsbCB5b3VyIGNvbXBvbmVudHMsXG5hbnkgQ1NTIHlvdSBvdXRwdXQgaW4gaGVyZSB3aWxsIGFkZCBtYXNzaXZlIGJsb2F0IHRvIHlvdXIgcHJvamVjdC5cbklmIHlvdSBuZWVkIGNvbW1vbiBjc3MsIGFkZCB0byBtYWluLnNjc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRWZXJ0aWNhbCBTcGFjaW5nXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdEJyZWFrcG9pbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdENvbG91cnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Wi1JbmRleFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGN1YmljLWJlemllciBjdXJ2ZSB2YXJpYWJsZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZvbnQgdmFyaWFibGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBHcmlkIFZhcmlhYmxlcyAoc2l6ZSB2YXJzIG11c3QgbWF0Y2ggdGhlIGJyZWFrcG9pbnQgdmFycylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgYm9keTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICd7XCJ4c21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjMyMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInNtYWxsXCI6e1widmFsdWVcIjogXCI3NjhweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX0sIFwibWVkaXVtXCI6e1widmFsdWVcIjogXCIxMDI0cHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcInhtZWRpdW1cIjp7XCJ2YWx1ZVwiOiBcIjEyMDBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX0sIFwibGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjE0NDBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX0sIFwieGxhcmdlXCI6e1widmFsdWVcIjogXCIxOTIwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcInh4bGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjIwMDBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX19JztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBib2R5OjphZnRlciB7XG4gICAgY29udGVudDogJ3tcInhzbWFsbFwiOntcInZhbHVlXCI6IFwiMzIwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwic21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjc2OHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcIm1lZGl1bVwiOntcInZhbHVlXCI6IFwiMTAyNHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ4bWVkaXVtXCI6e1widmFsdWVcIjogXCIxMjAwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcImxhcmdlXCI6e1widmFsdWVcIjogXCIxNDQwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcInhsYXJnZVwiOntcInZhbHVlXCI6IFwiMTkyMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ4eGxhcmdlXCI6e1widmFsdWVcIjogXCIyMDAwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9fSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIGJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAne1wieHNtYWxsXCI6e1widmFsdWVcIjogXCIzMjBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJzbWFsbFwiOntcInZhbHVlXCI6IFwiNzY4cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwibWVkaXVtXCI6e1widmFsdWVcIjogXCIxMDI0cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwieG1lZGl1bVwiOntcInZhbHVlXCI6IFwiMTIwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJsYXJnZVwiOntcInZhbHVlXCI6IFwiMTQ0MHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ4bGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjE5MjBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX0sIFwieHhsYXJnZVwiOntcInZhbHVlXCI6IFwiMjAwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfX0nO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBib2R5OjphZnRlciB7XG4gICAgY29udGVudDogJ3tcInhzbWFsbFwiOntcInZhbHVlXCI6IFwiMzIwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwic21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjc2OHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcIm1lZGl1bVwiOntcInZhbHVlXCI6IFwiMTAyNHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInhtZWRpdW1cIjp7XCJ2YWx1ZVwiOiBcIjEyMDBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJsYXJnZVwiOntcInZhbHVlXCI6IFwiMTQ0MHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ4bGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjE5MjBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX0sIFwieHhsYXJnZVwiOntcInZhbHVlXCI6IFwiMjAwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfX0nO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICBib2R5OjphZnRlciB7XG4gICAgY29udGVudDogJ3tcInhzbWFsbFwiOntcInZhbHVlXCI6IFwiMzIwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwic21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjc2OHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcIm1lZGl1bVwiOntcInZhbHVlXCI6IFwiMTAyNHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInhtZWRpdW1cIjp7XCJ2YWx1ZVwiOiBcIjEyMDBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJsYXJnZVwiOntcInZhbHVlXCI6IFwiMTQ0MHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInhsYXJnZVwiOntcInZhbHVlXCI6IFwiMTkyMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ4eGxhcmdlXCI6e1widmFsdWVcIjogXCIyMDAwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9fSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIGJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAne1wieHNtYWxsXCI6e1widmFsdWVcIjogXCIzMjBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJzbWFsbFwiOntcInZhbHVlXCI6IFwiNzY4cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwibWVkaXVtXCI6e1widmFsdWVcIjogXCIxMDI0cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwieG1lZGl1bVwiOntcInZhbHVlXCI6IFwiMTIwMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcImxhcmdlXCI6e1widmFsdWVcIjogXCIxNDQwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwieGxhcmdlXCI6e1widmFsdWVcIjogXCIxOTIwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwieHhsYXJnZVwiOntcInZhbHVlXCI6IFwiMjAwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfX0nO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDIwMDBweCkge1xuICBib2R5OjphZnRlciB7XG4gICAgY29udGVudDogJ3tcInhzbWFsbFwiOntcInZhbHVlXCI6IFwiMzIwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwic21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjc2OHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcIm1lZGl1bVwiOntcInZhbHVlXCI6IFwiMTAyNHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInhtZWRpdW1cIjp7XCJ2YWx1ZVwiOiBcIjEyMDBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJsYXJnZVwiOntcInZhbHVlXCI6IFwiMTQ0MHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInhsYXJnZVwiOntcInZhbHVlXCI6IFwiMTkyMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInh4bGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjIwMDBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfX0nO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0U2l0ZSBUcmFuc2l0aW9uXG5cdEFwcGx5IHRyYW5zaXRpb25zIGNvbnNpc3RlbnRseSBhY3Jvc3MgdGhlIHByb2plY3Rcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRWYXJpYWJsZSBTcGFjaW5nICh2LXNwYWNpbmcpXG5cdFVzZSB3aXRoIHZhbHVlcyBzZXQgaW4gX2NvbmZpZy5zY3NzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0VHJhY2tpbmdcblx0Q29udmVydCBYRCwgaWxsdXN0cmF0b3IsIGluZGVzaWduIGFuZFxuXHRwaG90b3Nob3AgdHJhY2tpbmcgaW50byBsZXR0ZXIgc3BhY2luZy5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0TGluZSBIZWlnaHQgQ3JvcCAobGhDcm9wKVxuXHRSZW1vdmVzIHRoZSBhZGRpdGlvbmFsIGxpbmUgaGVpZ2h0IGZyb20gdG9wIG9mIHRleHQgLSBodHRwczovL2NvZHlob3VzZS5jby9ibG9nL3Bvc3QvbGluZS1oZWlnaHQtY3JvcFxuXHRVc2UgdG8gbWFrZSBzdXJlIHRoZSB0b3Agb2YgeW91ciB0ZXh0IGxpbmVzIHVwIHdpdGggb3RoZXIgZWxlbWVudHMgYWxvbmcgc2lkZSBpdC5cblx0RW50ZXIgYSB1bml0bGVzcyBsaW5lIGhlaWdodCAoc2FtZSBhcyB0aGUgdHlwZSBsaW5lIGhpZ2h0KVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRVbml0bGVzcyBMaW5lIEhlaWdodFxuXHRDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS5cblx0SWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cblx0U3RvbGVuIGZyb20gRm91bmRhdGlvbiBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3Mvc2Fzcy1mdW5jdGlvbnMuaHRtbCN1bml0bGVzcy1jYWxjXG5cblx0QHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuXHRAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuXHRAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cblxuXHRAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG5cdEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0dXNlZCB0byBjcmVhdGUgcmVzb25zaXZlIHR5cGVcblxuXHRAcGFyYW0ge051bWJlcn0gJG1pbi1mb250LXNpemUgLSBOdW1iZXIgb2YgdGhlIG1pbml1bXVtIGZvbnQgc2l6ZSB3aXRoIHVuaXRzLlxuXHRAcGFyYW0ge051bWJlcn0gJG1heC1mb250LXNpemUgLSBOdW1iZXIgb2YgdGhlIG1heGltdW0gZm9udCBzaXplIHdpdGggdW5pdHMuXG5cdEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgLSBOdW1iZXIgb2YgdGhlIGxpbmVoZWlnaHQgd2l0aCB1bml0cy5cblx0QHJldHVybnMgZm9udCBzaXplIHVzaW5nIHRoZSB2LXNwYWNlIG1peGluIGFuZCBhIHVuaXRsZXNzIGxpbmVoZWlnaHQuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHR1c2VkIHRvIHJldHJlaXZlIHZhcmJhaWxlcyBmcm9tIHRoZSAkc2l4LWNjcy12YXJpYWJsZXMgYXJyYXlcblxuXHQkdHlwZSA9IHR5cGUgaXMgdGhlIG5hbWUgeW91IHNldCBmb3IgeW91ciBuZXN0ZWQgdmFyYWlibGUgYXJyYXlcblx0JHNpemUgPSBpcyB0aGUgbmVzdGVkIHZhcmlhYmxlIHlvdSB3aXNoIHRvIGdldC5cblx0QHJldHVybnMgdGhlIHZhbHVlIG9mIHRlaCBzcGVjaWZpZWQgdmFyaWFibGVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdGxvb3BzIHRocm91Z2ggdmFyYmFpbGVzIGZyb20gdGhlICRzaXgtY2NzLXZhcmlhYmxlcyBhcnJheSAmIG91dCBwdXQgY3NzIHZhclxuXG5cdCR2YWx1ZSA9IHVzZWQgdG8gZ2V0IHRoZSBjb3JyZWN0IHZhbHVlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHR1c2VkIHRvIHJldHJlaXZlIGNzcyB2YXIgYmFzZWQgb24gdGhlIGJyZWFrcG9pbnQgcGFzc2VkXG5cblx0JGJyZWFrcG9pbnQgPSB1c2VkIHRvIHNwZWNpZnkgbWVkaWEgcXVlcnlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdHNpYmxpbmcgZmFkZTogZmFkZSBvdXQgc2libGluZ3MgYXJvdW5kIGEgaG92ZXJlZCBpdGVtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbkZpeCBmb3IgMTAwdmggZWxlbWVudHMgYmVpbmcgY292ZXJlZCBieSBpT1MgU2FmYXJpIHRvb2xiYXJcblRoaXMgaXMgYSBiaXQgaGFja3kuIE1vcmUgaW5mbzogaHR0cHM6Ly9hbGx0aGluZ3NzbWl0dHkuY29tLzIwMjAvMDUvMTEvY3NzLWZpeC1mb3ItMTAwdmgtaW4tbW9iaWxlLXdlYmtpdC9cblRoZSBoZWlnaHQgZG9lc24ndCBhZGp1c3Qgd2hlbiB0aGUgYWRkcmVzcyBiYXIgaXMgaGlkZGVuLlxuKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Q2hhcmFjdGVyIFN0eWxlIE1peGluc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRXWVNJV1lHIE1peGluIGFuZCBjbGFzc1xuXHRBcHBseSB0byBjb250ZW50IHRoYXQgaXMgdXNpbmcgYSBXWVNJV1lHIGVkaXRvciBmaWVsZC5cblx0UmVkZWZpbmVzIGFsbCB0aGUgdHlwb2dyYXBoaWMgSFRNTCBlbGVtZW50cyB0aGF0IFRpbnlNY2Ugb3V0cHV0cy4gKGgxLGltZyxwLHVsIGV0Yy4pXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbkZvcm0gTWl4aW5zXG5DcmVhdGUgbWl4aW5zIGZpcnN0IHNvIHRoZXkgY2FuIGJlIHJldXNlZCBvbiBXb28gZm9ybXMgb3Igb3RoZXIgcGxhY2VzIHdoZXJlIHlvdSBjYW4ndCBhZGQgeW91ciBvd24gY2xhc3Nlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0R3JpZCBNaXhpbnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRCdXJnZXIgTWVudSBDb21wb25lbnRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1CdXJnZXJNZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDIwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uYy1CdXJnZXJNZW51X19pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc2l4LW1hcmdpbik7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc2l4LW1hcmdpbik7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMDAyOTggKiAxMDB2dyArIDI2LjA0NzYycHgpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjAwMjk4ICogMTAwdncgKyAyNi4wNDc2MnB4KTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgLmMtQnVyZ2VyTWVudV9faW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IDMycHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAuYy1CdXJnZXJNZW51X19pbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMjdweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgICAuYy1CdXJnZXJNZW51X19pbm5lciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgIC5jLUJ1cmdlck1lbnVfX2lubmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyN3B4OyB9IH1cblxuLmMtQnVyZ2VyTWVudV9fbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gKHZhcigtLXNpeC1tYXJnaW4pICogMikpO1xuICB0b3A6IDQ1JTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5jLUJ1cmdlck1lbnVfX25hdiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTMwMFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogY2FsYygwLjAxNDg4ICogMTAwdncgKyAyNS4yMzgxcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSBlbSB7XG4gICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS0zMDAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhIGVtIGVtIHtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhIGVtIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MC1pdGFsaWNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgZW0gc3Ryb25nIGVtIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MFwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSBzdHJvbmcgZW0ge1xuICAgICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhIHN0cm9uZyBlbSBlbSB7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgc3Ryb25nIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhIHtcbiAgICAgICAgZm9udC1zaXplOiA1NXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7IH0gfVxuICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgc3Ryb25nLFxuICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgYiB7XG4gICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTBcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgc3Ryb25nIGVtLFxuICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSBiIGVtIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSBzdHJvbmcgZW0gZW0sXG4gICAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgYiBlbSBlbSB7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgc3Ryb25nIHN0cm9uZyxcbiAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgYiBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzYwNjA2MDsgfSB9XG4gICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSA+IHAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTMwMFwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygwLjAwNTk1ICogMTAwdncgKyAxOC4wOTUyNHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhID4gcCBlbSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTMwMC1pdGFsaWNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgPiBwIGVtIGVtIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhID4gcCBlbSBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MC1pdGFsaWNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgPiBwIGVtIHN0cm9uZyBlbSB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhID4gcCBzdHJvbmcge1xuICAgICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTBcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgPiBwIHN0cm9uZyBlbSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSA+IHAgc3Ryb25nIGVtIGVtIHtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSA+IHAgc3Ryb25nIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhID4gcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhID4gcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgPiBwIGVtIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtMzAwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSA+IHAgZW0gZW0ge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgPiBwIGVtIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSA+IHAgZW0gc3Ryb25nIGVtIHtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgPiBwIHN0cm9uZyxcbiAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgPiBwIGIge1xuICAgICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTBcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgPiBwIHN0cm9uZyBlbSxcbiAgICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSA+IHAgYiBlbSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSA+IHAgc3Ryb25nIGVtIGVtLFxuICAgICAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiBsaSA+IGEgPiBwIGIgZW0gZW0ge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhID4gcCBzdHJvbmcgc3Ryb25nLFxuICAgICAgICAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhID4gcCBiIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAuYy1CdXJnZXJNZW51X19uYXYgLmMtQnVyZ2VyTWVudV9fcHJpdmF0ZS1sb2dpbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZm9udC1zaXplOiBjYWxjKDAuMDAxMTkgKiAxMDB2dyArIDE1LjYxOTA1cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYxMTExO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtMzUwXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAzNTA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygwLjAxMTkgKiAxMDB2dyArIDI2LjE5MDQ4cHgpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IC5jLUJ1cmdlck1lbnVfX3ByaXZhdGUtbG9naW4ge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IC5jLUJ1cmdlck1lbnVfX3ByaXZhdGUtbG9naW4ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgIC5jLUJ1cmdlck1lbnVfX25hdiAuYy1CdXJnZXJNZW51X19wcml2YXRlLWxvZ2luIGVtIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTM1MC1pdGFsaWNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzNTA7IH1cbiAgICAgIC5jLUJ1cmdlck1lbnVfX25hdiAuYy1CdXJnZXJNZW51X19wcml2YXRlLWxvZ2luIGVtIGVtIHtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogMzUwOyB9XG4gICAgICAuYy1CdXJnZXJNZW51X19uYXYgLmMtQnVyZ2VyTWVudV9fcHJpdmF0ZS1sb2dpbiBlbSBzdHJvbmcge1xuICAgICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgICAuYy1CdXJnZXJNZW51X19uYXYgLmMtQnVyZ2VyTWVudV9fcHJpdmF0ZS1sb2dpbiBlbSBzdHJvbmcgZW0ge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgLmMtQnVyZ2VyTWVudV9fbmF2IC5jLUJ1cmdlck1lbnVfX3ByaXZhdGUtbG9naW4gc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MFwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IC5jLUJ1cmdlck1lbnVfX3ByaXZhdGUtbG9naW4gc3Ryb25nIGVtIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IC5jLUJ1cmdlck1lbnVfX3ByaXZhdGUtbG9naW4gc3Ryb25nIGVtIGVtIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IC5jLUJ1cmdlck1lbnVfX3ByaXZhdGUtbG9naW4gc3Ryb25nIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgICAuYy1CdXJnZXJNZW51X19uYXYgLmMtQnVyZ2VyTWVudV9fcHJpdmF0ZS1sb2dpbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IC5jLUJ1cmdlck1lbnVfX3ByaXZhdGUtbG9naW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmMtQnVyZ2VyTWVudV9fbmF2IC5jLUJ1cmdlck1lbnVfX3ByaXZhdGUtbG9naW46aG92ZXIge1xuICAgICAgICBjb2xvcjogIzYwNjA2MDsgfSB9XG5cbi5jLUJ1cmdlck1lbnVfX2JvdHRvbS1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcbiAgdG9wOiA1cHg7XG4gIG9wYWNpdHk6IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmMtQnVyZ2VyTWVudV9fYm90dG9tLXNlY3Rpb24ge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuLmMtQnVyZ2VyTWVudV9fZGV0YWlscyB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjAwMTE5ICogMTAwdncgKyAxNS42MTkwNXB4KTtcbiAgbGluZS1oZWlnaHQ6IDEuNjExMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTM1MFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzNTA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgIC5jLUJ1cmdlck1lbnVfX2RldGFpbHMge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgLmMtQnVyZ2VyTWVudV9fZGV0YWlscyB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAuYy1CdXJnZXJNZW51X19kZXRhaWxzIGVtIHtcbiAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS0zNTAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAzNTA7IH1cbiAgICAuYy1CdXJnZXJNZW51X19kZXRhaWxzIGVtIGVtIHtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzNTA7IH1cbiAgICAuYy1CdXJnZXJNZW51X19kZXRhaWxzIGVtIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAuYy1CdXJnZXJNZW51X19kZXRhaWxzIGVtIHN0cm9uZyBlbSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAuYy1CdXJnZXJNZW51X19kZXRhaWxzIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAuYy1CdXJnZXJNZW51X19kZXRhaWxzIHN0cm9uZyBlbSB7XG4gICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAuYy1CdXJnZXJNZW51X19kZXRhaWxzIHN0cm9uZyBlbSBlbSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgIC5jLUJ1cmdlck1lbnVfX2RldGFpbHMgc3Ryb25nIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jLUJ1cmdlck1lbnVfX2RldGFpbHMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjdweDsgfSB9XG4gIC5jLUJ1cmdlck1lbnVfX2RldGFpbHMgLmMtQnVyZ2VyTWVudV9fZW1haWwsXG4gIC5jLUJ1cmdlck1lbnVfX2RldGFpbHMgLmMtQnVyZ2VyTWVudV9fcGhvbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciA1MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKTsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuYy1CdXJnZXJNZW51X19kZXRhaWxzIC5jLUJ1cmdlck1lbnVfX2VtYWlsOmhvdmVyLFxuICAgICAgLmMtQnVyZ2VyTWVudV9fZGV0YWlscyAuYy1CdXJnZXJNZW51X19waG9uZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNjA2MDYwOyB9IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi5jLUJ1cmdlck1lbnUge1xuICB0cmFuc2l0aW9uOiA2MDBtcyBvcGFjaXR5IDcwMG1zIGN1YmljLWJlemllcigwLjI1LCAxLCAwLjUsIDEpOyB9XG4gIC5jLUJ1cmdlck1lbnUgLmMtQnVyZ2VyTWVudV9fbmF2IGxpID4gYSB7XG4gICAgdHJhbnNpdGlvbjogNTAwbXMgY29sb3IgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSksIDYwMG1zIG9wYWNpdHkgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSk7IH1cbiAgLmMtQnVyZ2VyTWVudSAuYy1CdXJnZXJNZW51X19ib3R0b20tc2VjdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogNjAwbXMgb3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKSwgNjAwbXMgdG9wIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAxLCAwLjUsIDEpOyB9XG4gIC5jLUJ1cmdlck1lbnUuaXMtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IDYwMG1zIG9wYWNpdHkgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSk7IH1cbiAgICAuYy1CdXJnZXJNZW51LmlzLWFjdGl2ZSAuYy1CdXJnZXJNZW51X19uYXYgbGkgPiBhIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiA1MDBtcyBjb2xvciBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKSwgMTIwMG1zIG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXN0YXJ0KSBlYXNlOyB9XG4gICAgLmMtQnVyZ2VyTWVudS5pcy1hY3RpdmUgLmMtQnVyZ2VyTWVudV9fYm90dG9tLXNlY3Rpb24ge1xuICAgICAgdG9wOiAwO1xuICAgICAgb3BhY2l0eTogMTsgfVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/