/*
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
=========================================================================================================== */
/* ==========================================================================
	Media Item Caption Component
========================================================================== */
.c-MediaItemCaption {
  width: 100%;
  position: relative;
  padding-top: 20px; }

.c-MediaItemCaption__text,
.c-MediaItemCaption__copywrite {
  width: 100%;
  position: relative; }

.c-MediaItemCaption__text {
  font-family: "Lausanne-300", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.21429;
  letter-spacing: 0.02em; }
  .c-MediaItemCaption__text em {
    font-family: "Lausanne-300-italic", sans-serif;
    font-style: normal;
    font-weight: 300; }
    .c-MediaItemCaption__text em em {
      font-style: normal;
      font-weight: 300; }
    .c-MediaItemCaption__text em strong {
      font-family: "Lausanne-450-italic", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-MediaItemCaption__text em strong em {
        font-style: normal;
        font-weight: 450; }
  .c-MediaItemCaption__text strong {
    font-family: "Lausanne-450", sans-serif;
    font-style: normal;
    font-weight: 450; }
    .c-MediaItemCaption__text strong em {
      font-family: "Lausanne-450-italic", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-MediaItemCaption__text strong em em {
        font-style: normal;
        font-weight: 450; }
    .c-MediaItemCaption__text strong strong {
      font-weight: 450; }
  .c-MediaItemCaption__text strong,
  .c-MediaItemCaption__text b {
    font-family: "Lausanne-450", sans-serif;
    font-style: normal;
    font-weight: 450; }
    .c-MediaItemCaption__text strong em,
    .c-MediaItemCaption__text b em {
      font-family: "Lausanne-450-italic", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-MediaItemCaption__text strong em em,
      .c-MediaItemCaption__text b em em {
        font-style: normal;
        font-weight: 450; }
    .c-MediaItemCaption__text strong strong,
    .c-MediaItemCaption__text b strong {
      font-weight: 450; }
  .c-MediaItemCaption__text span {
    font-family: "Lausanne-300", sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 14px;
    line-height: 1.21429;
    letter-spacing: 0.02em;
    font-family: "Lausanne-450", sans-serif;
    font-style: normal;
    font-weight: 450; }
    .c-MediaItemCaption__text span em {
      font-family: "Lausanne-300-italic", sans-serif;
      font-style: normal;
      font-weight: 300; }
      .c-MediaItemCaption__text span em em {
        font-style: normal;
        font-weight: 300; }
      .c-MediaItemCaption__text span em strong {
        font-family: "Lausanne-450-italic", sans-serif;
        font-style: normal;
        font-weight: 450; }
        .c-MediaItemCaption__text span em strong em {
          font-style: normal;
          font-weight: 450; }
    .c-MediaItemCaption__text span strong {
      font-family: "Lausanne-450", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-MediaItemCaption__text span strong em {
        font-family: "Lausanne-450-italic", sans-serif;
        font-style: normal;
        font-weight: 450; }
        .c-MediaItemCaption__text span strong em em {
          font-style: normal;
          font-weight: 450; }
      .c-MediaItemCaption__text span strong strong {
        font-weight: 450; }
    .c-MediaItemCaption__text span em {
      font-family: "Lausanne-450-italic", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-MediaItemCaption__text span em em {
        font-style: normal;
        font-weight: 450; }
    .c-MediaItemCaption__text span strong {
      font-weight: 450; }
    .c-MediaItemCaption__text span strong,
    .c-MediaItemCaption__text span b {
      font-family: "Lausanne-450", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-MediaItemCaption__text span strong em,
      .c-MediaItemCaption__text span b em {
        font-family: "Lausanne-450-italic", sans-serif;
        font-style: normal;
        font-weight: 450; }
        .c-MediaItemCaption__text span strong em em,
        .c-MediaItemCaption__text span b em em {
          font-style: normal;
          font-weight: 450; }
      .c-MediaItemCaption__text span strong strong,
      .c-MediaItemCaption__text span b strong {
        font-weight: 450; }

.c-MediaItemCaption__copywrite {
  text-transform: uppercase;
  font-family: "Lausanne-300", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 10px;
  line-height: 3.2;
  letter-spacing: 0.05em; }
  .c-MediaItemCaption__copywrite em {
    font-family: "Lausanne-300-italic", sans-serif;
    font-style: normal;
    font-weight: 300; }
    .c-MediaItemCaption__copywrite em em {
      font-style: normal;
      font-weight: 300; }
    .c-MediaItemCaption__copywrite em strong {
      font-family: "Lausanne-450-italic", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-MediaItemCaption__copywrite em strong em {
        font-style: normal;
        font-weight: 450; }
  .c-MediaItemCaption__copywrite strong {
    font-family: "Lausanne-450", sans-serif;
    font-style: normal;
    font-weight: 450; }
    .c-MediaItemCaption__copywrite strong em {
      font-family: "Lausanne-450-italic", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-MediaItemCaption__copywrite strong em em {
        font-style: normal;
        font-weight: 450; }
    .c-MediaItemCaption__copywrite strong strong {
      font-weight: 450; }

.c-MediaItemCaption__index,
.c-MediaItemCaption__content {
  width: 100%;
  display: flex;
  flex-wrap: wrap; }

.c-MediaItemCaption__index {
  margin-bottom: 15px; }

.c-MediaItemCaption__index .c-MediaItemCaption__index-value {
  position: relative;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  margin-right: 5px;
  font-family: "Lausanne-300", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 11px;
  line-height: 1.54545;
  letter-spacing: 0.02em;
  line-height: 22px; }
  .c-MediaItemCaption__index .c-MediaItemCaption__index-value em {
    font-family: "Lausanne-300-italic", sans-serif;
    font-style: normal;
    font-weight: 300; }
    .c-MediaItemCaption__index .c-MediaItemCaption__index-value em em {
      font-style: normal;
      font-weight: 300; }
    .c-MediaItemCaption__index .c-MediaItemCaption__index-value em strong {
      font-family: "Lausanne-450-italic", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-MediaItemCaption__index .c-MediaItemCaption__index-value em strong em {
        font-style: normal;
        font-weight: 450; }
  .c-MediaItemCaption__index .c-MediaItemCaption__index-value strong {
    font-family: "Lausanne-450", sans-serif;
    font-style: normal;
    font-weight: 450; }
    .c-MediaItemCaption__index .c-MediaItemCaption__index-value strong em {
      font-family: "Lausanne-450-italic", sans-serif;
      font-style: normal;
      font-weight: 450; }
      .c-MediaItemCaption__index .c-MediaItemCaption__index-value strong em em {
        font-style: normal;
        font-weight: 450; }
    .c-MediaItemCaption__index .c-MediaItemCaption__index-value strong strong {
      font-weight: 450; }
  .c-MediaItemCaption__index .c-MediaItemCaption__index-value::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -53%);
    width: 22px;
    height: 22px;
    border: 1px solid #000;
    border-radius: 50%; }

@media (min-width: 1024px) {
  .c-MediaItemCaption--hidden-caption {
    left: 80px;
    width: calc(50% - 80px);
    position: absolute;
    bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    pointer-events: none; } }

@media (min-width: 1440px) {
  .c-MediaItemCaption--hidden-caption {
    width: calc(30% - 80px); } }

@media (min-width: 1024px) {
  .c-MediaItemCaption--hidden-caption.is-active .c-MediaItemCaption__content {
    opacity: 1;
    top: 0;
    transition: 500ms opacity 500ms cubic-bezier(0.25, 1, 0.5, 1), 500ms top 500ms cubic-bezier(0.25, 1, 0.5, 1); } }

.c-MediaItemCaption--hidden-caption.is-active .c-MediaItemCaption__index::after {
  transform: translateY(-50%) rotate(180deg); }

@media (min-width: 1024px) {
  .c-MediaItemCaption--hidden-caption .c-MediaItemCaption__content {
    position: relative;
    order: 1;
    color: #fff;
    opacity: 0;
    top: 10px;
    transition: 500ms opacity cubic-bezier(0.25, 1, 0.5, 1), 500ms top cubic-bezier(0.25, 1, 0.5, 1); } }

@media (min-width: 1024px) {
  .c-MediaItemCaption--hidden-caption .c-MediaItemCaption__index {
    width: initial;
    position: relative;
    order: 2;
    margin-bottom: 0;
    margin-top: 15px;
    color: #fff;
    pointer-events: auto;
    cursor: pointer; }
    .c-MediaItemCaption--hidden-caption .c-MediaItemCaption__index::before, .c-MediaItemCaption--hidden-caption .c-MediaItemCaption__index::after {
      content: "";
      position: absolute;
      right: -10px;
      top: 50%;
      transform: translateY(-50%);
      width: 6px;
      height: 1px;
      background-color: #fff; }
    .c-MediaItemCaption--hidden-caption .c-MediaItemCaption__index::after {
      transition: 500ms transform cubic-bezier(0.25, 1, 0.5, 1);
      transform: translateY(-50%) rotate(90deg); }
    .c-MediaItemCaption--hidden-caption .c-MediaItemCaption__index .c-MediaItemCaption__index-value::after {
      border: 1px solid #fff; } }

.c-MediaItemCaption--hidden-caption .c-MediaItemCaption__index-trigger {
  position: absolute;
  left: -15px;
  top: -15px;
  width: calc(100% + 30px);
  height: calc(100% + 30px);
  z-index: +1; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2Fzcy9jb21wb25lbnRzL2MtTWVkaWFJdGVtQ2FwdGlvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsVUFBVSxpQ0FBaUMsV0FBVyxrQ0FBa0MsWUFBWSxtQ0FBbUMsYUFBYSxtQ0FBbUMsV0FBVyxtQ0FBbUMsWUFBWSxtQ0FBbUMsYUFBYSxvQ0FBb0M7QUFDcFY7QUFDQTtBQUNBO0FBQ0EsYUFBYSxFQUFFOztBQUVmO0FBQ0E7QUFDQSxlQUFlLFVBQVUsaUNBQWlDLFdBQVcsaUNBQWlDLFlBQVksbUNBQW1DLGFBQWEsbUNBQW1DLFdBQVcsbUNBQW1DLFlBQVksbUNBQW1DLGFBQWEsb0NBQW9DO0FBQ25WO0FBQ0E7QUFDQTtBQUNBLGFBQWEsRUFBRTs7QUFFZjtBQUNBO0FBQ0EsZUFBZSxVQUFVLGlDQUFpQyxXQUFXLGlDQUFpQyxZQUFZLGtDQUFrQyxhQUFhLG1DQUFtQyxXQUFXLG1DQUFtQyxZQUFZLG1DQUFtQyxhQUFhLG9DQUFvQztBQUNsVjtBQUNBO0FBQ0E7QUFDQSxhQUFhLEVBQUU7O0FBRWY7QUFDQTtBQUNBLGVBQWUsVUFBVSxpQ0FBaUMsV0FBVyxpQ0FBaUMsWUFBWSxrQ0FBa0MsYUFBYSxrQ0FBa0MsV0FBVyxtQ0FBbUMsWUFBWSxtQ0FBbUMsYUFBYSxvQ0FBb0M7QUFDalY7QUFDQTtBQUNBO0FBQ0EsYUFBYSxFQUFFOztBQUVmO0FBQ0E7QUFDQSxlQUFlLFVBQVUsaUNBQWlDLFdBQVcsaUNBQWlDLFlBQVksa0NBQWtDLGFBQWEsa0NBQWtDLFdBQVcsa0NBQWtDLFlBQVksbUNBQW1DLGFBQWEsb0NBQW9DO0FBQ2hWO0FBQ0E7QUFDQTtBQUNBLGFBQWEsRUFBRTs7QUFFZjtBQUNBO0FBQ0EsZUFBZSxVQUFVLGlDQUFpQyxXQUFXLGlDQUFpQyxZQUFZLGtDQUFrQyxhQUFhLGtDQUFrQyxXQUFXLGtDQUFrQyxZQUFZLGtDQUFrQyxhQUFhLG9DQUFvQztBQUMvVTtBQUNBO0FBQ0E7QUFDQSxhQUFhLEVBQUU7O0FBRWY7QUFDQTtBQUNBLGVBQWUsVUFBVSxpQ0FBaUMsV0FBVyxpQ0FBaUMsWUFBWSxrQ0FBa0MsYUFBYSxrQ0FBa0MsV0FBVyxrQ0FBa0MsWUFBWSxrQ0FBa0MsYUFBYSxtQ0FBbUM7QUFDOVU7QUFDQTtBQUNBO0FBQ0EsYUFBYSxFQUFFOztBQUVmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLE9BQU87QUFDaEIsU0FBUyxPQUFPO0FBQ2hCLFVBQVUsT0FBTztBQUNqQjtBQUNBO0FBQ0E7O0FBRUEsU0FBUyxPQUFPO0FBQ2hCLFdBQVcsT0FBTztBQUNsQjtBQUNBO0FBQ0E7O0FBRUEsU0FBUyxPQUFPO0FBQ2hCLFNBQVMsT0FBTztBQUNoQixTQUFTLE9BQU87QUFDaEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEI7O0FBRTVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCOztBQUVyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7O0FBRWxCO0FBQ0Esc0JBQXNCOztBQUV0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixFQUFFOztBQUUzQjtBQUNBO0FBQ0EsNEJBQTRCLEVBQUU7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUhBQWlILEVBQUU7O0FBRW5IO0FBQ0EsNkNBQTZDOztBQUU3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFHQUFxRyxFQUFFOztBQUV2RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEO0FBQ0EsNkJBQTZCLEVBQUU7O0FBRS9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMiLCJmaWxlIjoiYy1NZWRpYUl0ZW1DYXB0aW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5CYXNlIG1peGlucyBhbmQgRnVuY3Rpb25zIE9OTFkgaW4gaGVyZVxuTm8gQ1NTIG91dHB1dCFcblJlbWVtYmVyIHRoZXNlIHRvb2xzL3V0aWxpdGllcyB3aWxsIGJlIG1hZGUgYXZhaWxhYmUgdG8gYWxsIHlvdXIgY29tcG9uZW50cyxcbmFueSBDU1MgeW91IG91dHB1dCBpbiBoZXJlIHdpbGwgYWRkIG1hc3NpdmUgYmxvYXQgdG8geW91ciBwcm9qZWN0LlxuSWYgeW91IG5lZWQgY29tbW9uIGNzcywgYWRkIHRvIG1haW4uc2Nzc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFZlcnRpY2FsIFNwYWNpbmdcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0QnJlYWtwb2ludHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Q29sb3Vyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRaLUluZGV4XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgY3ViaWMtYmV6aWVyIGN1cnZlIHZhcmlhYmxlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRm9udCB2YXJpYWJsZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEdyaWQgVmFyaWFibGVzIChzaXplIHZhcnMgbXVzdCBtYXRjaCB0aGUgYnJlYWtwb2ludCB2YXJzKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICBib2R5OjphZnRlciB7XG4gICAgY29udGVudDogJ3tcInhzbWFsbFwiOntcInZhbHVlXCI6IFwiMzIwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwic21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjc2OHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJtZWRpdW1cIjp7XCJ2YWx1ZVwiOiBcIjEwMjRweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX0sIFwieG1lZGl1bVwiOntcInZhbHVlXCI6IFwiMTIwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJsYXJnZVwiOntcInZhbHVlXCI6IFwiMTQ0MHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ4bGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjE5MjBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX0sIFwieHhsYXJnZVwiOntcInZhbHVlXCI6IFwiMjAwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfX0nO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAne1wieHNtYWxsXCI6e1widmFsdWVcIjogXCIzMjBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJzbWFsbFwiOntcInZhbHVlXCI6IFwiNzY4cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwibWVkaXVtXCI6e1widmFsdWVcIjogXCIxMDI0cHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcInhtZWRpdW1cIjp7XCJ2YWx1ZVwiOiBcIjEyMDBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX0sIFwibGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjE0NDBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX0sIFwieGxhcmdlXCI6e1widmFsdWVcIjogXCIxOTIwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcInh4bGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjIwMDBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX19JztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgYm9keTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICd7XCJ4c21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjMyMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInNtYWxsXCI6e1widmFsdWVcIjogXCI3NjhweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJtZWRpdW1cIjp7XCJ2YWx1ZVwiOiBcIjEwMjRweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJ4bWVkaXVtXCI6e1widmFsdWVcIjogXCIxMjAwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcImxhcmdlXCI6e1widmFsdWVcIjogXCIxNDQwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcInhsYXJnZVwiOntcInZhbHVlXCI6IFwiMTkyMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ4eGxhcmdlXCI6e1widmFsdWVcIjogXCIyMDAwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9fSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAne1wieHNtYWxsXCI6e1widmFsdWVcIjogXCIzMjBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJzbWFsbFwiOntcInZhbHVlXCI6IFwiNzY4cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwibWVkaXVtXCI6e1widmFsdWVcIjogXCIxMDI0cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwieG1lZGl1bVwiOntcInZhbHVlXCI6IFwiMTIwMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcImxhcmdlXCI6e1widmFsdWVcIjogXCIxNDQwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcInhsYXJnZVwiOntcInZhbHVlXCI6IFwiMTkyMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ4eGxhcmdlXCI6e1widmFsdWVcIjogXCIyMDAwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9fSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIGJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAne1wieHNtYWxsXCI6e1widmFsdWVcIjogXCIzMjBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJzbWFsbFwiOntcInZhbHVlXCI6IFwiNzY4cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwibWVkaXVtXCI6e1widmFsdWVcIjogXCIxMDI0cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwieG1lZGl1bVwiOntcInZhbHVlXCI6IFwiMTIwMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcImxhcmdlXCI6e1widmFsdWVcIjogXCIxNDQwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwieGxhcmdlXCI6e1widmFsdWVcIjogXCIxOTIwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcInh4bGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjIwMDBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX19JztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgYm9keTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICd7XCJ4c21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjMyMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInNtYWxsXCI6e1widmFsdWVcIjogXCI3NjhweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJtZWRpdW1cIjp7XCJ2YWx1ZVwiOiBcIjEwMjRweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJ4bWVkaXVtXCI6e1widmFsdWVcIjogXCIxMjAwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwibGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjE0NDBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJ4bGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjE5MjBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJ4eGxhcmdlXCI6e1widmFsdWVcIjogXCIyMDAwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9fSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMjAwMHB4KSB7XG4gIGJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAne1wieHNtYWxsXCI6e1widmFsdWVcIjogXCIzMjBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJzbWFsbFwiOntcInZhbHVlXCI6IFwiNzY4cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwibWVkaXVtXCI6e1widmFsdWVcIjogXCIxMDI0cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwieG1lZGl1bVwiOntcInZhbHVlXCI6IFwiMTIwMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcImxhcmdlXCI6e1widmFsdWVcIjogXCIxNDQwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwieGxhcmdlXCI6e1widmFsdWVcIjogXCIxOTIwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwieHhsYXJnZVwiOntcInZhbHVlXCI6IFwiMjAwMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9fSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRTaXRlIFRyYW5zaXRpb25cblx0QXBwbHkgdHJhbnNpdGlvbnMgY29uc2lzdGVudGx5IGFjcm9zcyB0aGUgcHJvamVjdFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFZhcmlhYmxlIFNwYWNpbmcgKHYtc3BhY2luZylcblx0VXNlIHdpdGggdmFsdWVzIHNldCBpbiBfY29uZmlnLnNjc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRUcmFja2luZ1xuXHRDb252ZXJ0IFhELCBpbGx1c3RyYXRvciwgaW5kZXNpZ24gYW5kXG5cdHBob3Rvc2hvcCB0cmFja2luZyBpbnRvIGxldHRlciBzcGFjaW5nLlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRMaW5lIEhlaWdodCBDcm9wIChsaENyb3ApXG5cdFJlbW92ZXMgdGhlIGFkZGl0aW9uYWwgbGluZSBoZWlnaHQgZnJvbSB0b3Agb2YgdGV4dCAtIGh0dHBzOi8vY29keWhvdXNlLmNvL2Jsb2cvcG9zdC9saW5lLWhlaWdodC1jcm9wXG5cdFVzZSB0byBtYWtlIHN1cmUgdGhlIHRvcCBvZiB5b3VyIHRleHQgbGluZXMgdXAgd2l0aCBvdGhlciBlbGVtZW50cyBhbG9uZyBzaWRlIGl0LlxuXHRFbnRlciBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0IChzYW1lIGFzIHRoZSB0eXBlIGxpbmUgaGlnaHQpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFVuaXRsZXNzIExpbmUgSGVpZ2h0XG5cdENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLlxuXHRJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuXHRTdG9sZW4gZnJvbSBGb3VuZGF0aW9uIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9zYXNzLWZ1bmN0aW9ucy5odG1sI3VuaXRsZXNzLWNhbGNcblxuXHRAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG5cdEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG5cdEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0UmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuXG5cdEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cblx0QHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHR1c2VkIHRvIGNyZWF0ZSByZXNvbnNpdmUgdHlwZVxuXG5cdEBwYXJhbSB7TnVtYmVyfSAkbWluLWZvbnQtc2l6ZSAtIE51bWJlciBvZiB0aGUgbWluaXVtdW0gZm9udCBzaXplIHdpdGggdW5pdHMuXG5cdEBwYXJhbSB7TnVtYmVyfSAkbWF4LWZvbnQtc2l6ZSAtIE51bWJlciBvZiB0aGUgbWF4aW11bSBmb250IHNpemUgd2l0aCB1bml0cy5cblx0QHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCAtIE51bWJlciBvZiB0aGUgbGluZWhlaWdodCB3aXRoIHVuaXRzLlxuXHRAcmV0dXJucyBmb250IHNpemUgdXNpbmcgdGhlIHYtc3BhY2UgbWl4aW4gYW5kIGEgdW5pdGxlc3MgbGluZWhlaWdodC5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdHVzZWQgdG8gcmV0cmVpdmUgdmFyYmFpbGVzIGZyb20gdGhlICRzaXgtY2NzLXZhcmlhYmxlcyBhcnJheVxuXG5cdCR0eXBlID0gdHlwZSBpcyB0aGUgbmFtZSB5b3Ugc2V0IGZvciB5b3VyIG5lc3RlZCB2YXJhaWJsZSBhcnJheVxuXHQkc2l6ZSA9IGlzIHRoZSBuZXN0ZWQgdmFyaWFibGUgeW91IHdpc2ggdG8gZ2V0LlxuXHRAcmV0dXJucyB0aGUgdmFsdWUgb2YgdGVoIHNwZWNpZmllZCB2YXJpYWJsZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0bG9vcHMgdGhyb3VnaCB2YXJiYWlsZXMgZnJvbSB0aGUgJHNpeC1jY3MtdmFyaWFibGVzIGFycmF5ICYgb3V0IHB1dCBjc3MgdmFyXG5cblx0JHZhbHVlID0gdXNlZCB0byBnZXQgdGhlIGNvcnJlY3QgdmFsdWVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdHVzZWQgdG8gcmV0cmVpdmUgY3NzIHZhciBiYXNlZCBvbiB0aGUgYnJlYWtwb2ludCBwYXNzZWRcblxuXHQkYnJlYWtwb2ludCA9IHVzZWQgdG8gc3BlY2lmeSBtZWRpYSBxdWVyeVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0c2libGluZyBmYWRlOiBmYWRlIG91dCBzaWJsaW5ncyBhcm91bmQgYSBob3ZlcmVkIGl0ZW1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuRml4IGZvciAxMDB2aCBlbGVtZW50cyBiZWluZyBjb3ZlcmVkIGJ5IGlPUyBTYWZhcmkgdG9vbGJhclxuVGhpcyBpcyBhIGJpdCBoYWNreS4gTW9yZSBpbmZvOiBodHRwczovL2FsbHRoaW5nc3NtaXR0eS5jb20vMjAyMC8wNS8xMS9jc3MtZml4LWZvci0xMDB2aC1pbi1tb2JpbGUtd2Via2l0L1xuVGhlIGhlaWdodCBkb2Vzbid0IGFkanVzdCB3aGVuIHRoZSBhZGRyZXNzIGJhciBpcyBoaWRkZW4uXG4qL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRDaGFyYWN0ZXIgU3R5bGUgTWl4aW5zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnUtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFdZU0lXWUcgTWl4aW4gYW5kIGNsYXNzXG5cdEFwcGx5IHRvIGNvbnRlbnQgdGhhdCBpcyB1c2luZyBhIFdZU0lXWUcgZWRpdG9yIGZpZWxkLlxuXHRSZWRlZmluZXMgYWxsIHRoZSB0eXBvZ3JhcGhpYyBIVE1MIGVsZW1lbnRzIHRoYXQgVGlueU1jZSBvdXRwdXRzLiAoaDEsaW1nLHAsdWwgZXRjLilcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuRm9ybSBNaXhpbnNcbkNyZWF0ZSBtaXhpbnMgZmlyc3Qgc28gdGhleSBjYW4gYmUgcmV1c2VkIG9uIFdvbyBmb3JtcyBvciBvdGhlciBwbGFjZXMgd2hlcmUgeW91IGNhbid0IGFkZCB5b3VyIG93biBjbGFzc2VzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRHcmlkIE1peGluc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdE1lZGlhIEl0ZW0gQ2FwdGlvbiBDb21wb25lbnRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1NZWRpYUl0ZW1DYXB0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDIwcHg7IH1cblxuLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCxcbi5jLU1lZGlhSXRlbUNhcHRpb25fX2NvcHl3cml0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTMwMFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07IH1cbiAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBlbSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtMzAwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBlbSBlbSB7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBlbSBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBlbSBzdHJvbmcgZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBzdHJvbmcgZW0ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBzdHJvbmcgZW0gZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IHN0cm9uZyBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IHN0cm9uZyxcbiAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBiIHtcbiAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTBcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgc3Ryb25nIGVtLFxuICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgYiBlbSB7XG4gICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IHN0cm9uZyBlbSBlbSxcbiAgICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgYiBlbSBlbSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgc3Ryb25nIHN0cm9uZyxcbiAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IGIgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBzcGFuIHtcbiAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS0zMDBcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjE0Mjk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTBcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgc3BhbiBlbSB7XG4gICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS0zMDAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IHNwYW4gZW0gZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgc3BhbiBlbSBzdHJvbmcge1xuICAgICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IHNwYW4gZW0gc3Ryb25nIGVtIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgc3BhbiBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IHNwYW4gc3Ryb25nIGVtIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBzcGFuIHN0cm9uZyBlbSBlbSB7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgc3BhbiBzdHJvbmcgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgc3BhbiBlbSB7XG4gICAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS00NTAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IHNwYW4gZW0gZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IHNwYW4gc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IHNwYW4gc3Ryb25nLFxuICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgc3BhbiBiIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MFwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBzcGFuIHN0cm9uZyBlbSxcbiAgICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgc3BhbiBiIGVtIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBzcGFuIHN0cm9uZyBlbSBlbSxcbiAgICAgICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fdGV4dCBzcGFuIGIgZW0gZW0ge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX190ZXh0IHNwYW4gc3Ryb25nIHN0cm9uZyxcbiAgICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX3RleHQgc3BhbiBiIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cblxuLmMtTWVkaWFJdGVtQ2FwdGlvbl9fY29weXdyaXRlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtMzAwXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMy4yO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOyB9XG4gIC5jLU1lZGlhSXRlbUNhcHRpb25fX2NvcHl3cml0ZSBlbSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtMzAwLWl0YWxpY1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fY29weXdyaXRlIGVtIGVtIHtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX19jb3B5d3JpdGUgZW0gc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MC1pdGFsaWNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX2NvcHl3cml0ZSBlbSBzdHJvbmcgZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9fY29weXdyaXRlIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF1c2FubmUtNDUwXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX19jb3B5d3JpdGUgc3Ryb25nIGVtIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MC1pdGFsaWNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX2NvcHl3cml0ZSBzdHJvbmcgZW0gZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX19jb3B5d3JpdGUgc3Ryb25nIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNDUwOyB9XG5cbi5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4LFxuLmMtTWVkaWFJdGVtQ2FwdGlvbl9fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmMtTWVkaWFJdGVtQ2FwdGlvbl9faW5kZXgge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4IC5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4LXZhbHVlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTMwMFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTQ1NDU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG4gIC5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4IC5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4LXZhbHVlIGVtIHtcbiAgICBmb250LWZhbWlseTogXCJMYXVzYW5uZS0zMDAtaXRhbGljXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uX19pbmRleCAuYy1NZWRpYUl0ZW1DYXB0aW9uX19pbmRleC12YWx1ZSBlbSBlbSB7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9faW5kZXggLmMtTWVkaWFJdGVtQ2FwdGlvbl9faW5kZXgtdmFsdWUgZW0gc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MC1pdGFsaWNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4IC5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4LXZhbHVlIGVtIHN0cm9uZyBlbSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAuYy1NZWRpYUl0ZW1DYXB0aW9uX19pbmRleCAuYy1NZWRpYUl0ZW1DYXB0aW9uX19pbmRleC12YWx1ZSBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDUwOyB9XG4gICAgLmMtTWVkaWFJdGVtQ2FwdGlvbl9faW5kZXggLmMtTWVkaWFJdGVtQ2FwdGlvbl9faW5kZXgtdmFsdWUgc3Ryb25nIGVtIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdXNhbm5lLTQ1MC1pdGFsaWNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7IH1cbiAgICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4IC5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4LXZhbHVlIHN0cm9uZyBlbSBlbSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAgIC5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4IC5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4LXZhbHVlIHN0cm9uZyBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsgfVxuICAuYy1NZWRpYUl0ZW1DYXB0aW9uX19pbmRleCAuYy1NZWRpYUl0ZW1DYXB0aW9uX19pbmRleC12YWx1ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTMlKTtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYy1NZWRpYUl0ZW1DYXB0aW9uLS1oaWRkZW4tY2FwdGlvbiB7XG4gICAgbGVmdDogODBweDtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA4MHB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuYy1NZWRpYUl0ZW1DYXB0aW9uLS1oaWRkZW4tY2FwdGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoMzAlIC0gODBweCk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jLU1lZGlhSXRlbUNhcHRpb24tLWhpZGRlbi1jYXB0aW9uLmlzLWFjdGl2ZSAuYy1NZWRpYUl0ZW1DYXB0aW9uX19jb250ZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiA1MDBtcyBvcGFjaXR5IDUwMG1zIGN1YmljLWJlemllcigwLjI1LCAxLCAwLjUsIDEpLCA1MDBtcyB0b3AgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSk7IH0gfVxuXG4uYy1NZWRpYUl0ZW1DYXB0aW9uLS1oaWRkZW4tY2FwdGlvbi5pcy1hY3RpdmUgLmMtTWVkaWFJdGVtQ2FwdGlvbl9faW5kZXg6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmMtTWVkaWFJdGVtQ2FwdGlvbi0taGlkZGVuLWNhcHRpb24gLmMtTWVkaWFJdGVtQ2FwdGlvbl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG9yZGVyOiAxO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IDUwMG1zIG9wYWNpdHkgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSksIDUwMG1zIHRvcCBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmMtTWVkaWFJdGVtQ2FwdGlvbi0taGlkZGVuLWNhcHRpb24gLmMtTWVkaWFJdGVtQ2FwdGlvbl9faW5kZXgge1xuICAgIHdpZHRoOiBpbml0aWFsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcmRlcjogMjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmMtTWVkaWFJdGVtQ2FwdGlvbi0taGlkZGVuLWNhcHRpb24gLmMtTWVkaWFJdGVtQ2FwdGlvbl9faW5kZXg6OmJlZm9yZSwgLmMtTWVkaWFJdGVtQ2FwdGlvbi0taGlkZGVuLWNhcHRpb24gLmMtTWVkaWFJdGVtQ2FwdGlvbl9faW5kZXg6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTEwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uLS1oaWRkZW4tY2FwdGlvbiAuYy1NZWRpYUl0ZW1DYXB0aW9uX19pbmRleDo6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogNTAwbXMgdHJhbnNmb3JtIGN1YmljLWJlemllcigwLjI1LCAxLCAwLjUsIDEpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZyk7IH1cbiAgICAuYy1NZWRpYUl0ZW1DYXB0aW9uLS1oaWRkZW4tY2FwdGlvbiAuYy1NZWRpYUl0ZW1DYXB0aW9uX19pbmRleCAuYy1NZWRpYUl0ZW1DYXB0aW9uX19pbmRleC12YWx1ZTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsgfSB9XG5cbi5jLU1lZGlhSXRlbUNhcHRpb24tLWhpZGRlbi1jYXB0aW9uIC5jLU1lZGlhSXRlbUNhcHRpb25fX2luZGV4LXRyaWdnZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xNXB4O1xuICB0b3A6IC0xNXB4O1xuICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gIGhlaWdodDogY2FsYygxMDAlICsgMzBweCk7XG4gIHotaW5kZXg6ICsxOyB9XG4iXSwic291cmNlUm9vdCI6IiJ9*/