/*
Also please follow this
Do your project have diferent charset languages to account with?
      - Yes -> follow https://projects.netcentric.biz/wiki/display/FRONTEND/CSS+-+Font+Normalization
      - No -> You can still use it, there are tons of advantages, but its create some extra css and layout rendering
*/
/*
  * Design spec:
  * https://www.figma.com/file/SR4rvQlNnCmPMrQ9WYaIqv/branch/TJqkFymq09wf8KwmY1WNcj/Volvo-AEM-Design-system?type=design&node-id=7-26&t=pAm916VRiqCOD2I1-0
*/
/**
 * z-indexes from lower to -> higher
 */
/* doc
---
title: Pixel to em
name: nn-px-to-em
category: functions
---

Calculate the em with a given pixel with the given base font size
If you don't set a $base the $base-font-size is used as the context

## Live Template abbreviations
---
-ptu

## Parameters
---
@parameter $value = pixel based number (without unit)
@parameter $base = pixel based number (without unit)

## Dependencies
---
nn-strip-unit

## Example
---
```html_example
nn-px-to-em(5) // Output: 0.3125em
nn-px-to-em(5, 10) // Output: 0.5em
nn-px-to-em(5, 20) // Output: 0.25em
```
*/
/* doc
---
title: Pixel to rem
name: nn-px-to-rem
category: functions
---

Calculate the rem with a given pixel with the given base font size

In:  5px
Out: 0.3125rem

## Live Template abbreviations
---
-rem

## Parameters
---
@parameter $value = pixel based number (without unit)

## Dependencies
---
nn-strip-unit

## Example
---
```html_example
nn-px-to-rem(5) // Output 0.3125rem
```

*/
/* doc
---
title: Pixel to unit
name: px-to-unit
category: mixins
---

Set a property and value (pixel based without unit)

Calculates rem / em / % from given pixel and base (default base is the
base-font-size, 16px)
If rtl is true, this mixin handles all the direction stuff:
- Switching the values, when we have exactly 4 values
- Switching left and right in properties (padding and margin)

## Live Template abbreviations
---
-ptu (for em or % to pixel - with base parameter)
-rem (for rem to pixel - without base parameter)

## Parameters
---
@parameter $property = padding | margin | font-size | width | height
@parameter $value = Pixel based number - add px to keep the px for a value
@parameter $base = px based number, Default: 16px
@parameter $unit = Set unit: px | em | rem | percent

## Dependencies
---
abstract/functions/swap-left-right
abstract/functions/strip-unit

## Example
---

```html_example
@include nn-px-to-unit(padding, 0 10px 20 0); => padding: 0 10px 1.25rem 0;
@include nn-px-to-unit(padding, 0 10 20 0); => padding: 0 0.625rem 1.25rem 0;
@include nn-px-to-unit(padding-left, 10);
@include nn-px-to-unit(padding-right, 10);
@include nn-px-to-unit(margin, 0 10 20 0);
@include nn-px-to-unit(margin-left, 10);
@include nn-px-to-unit(margin-right, 10);
@include nn-px-to-unit(font-size, 20);
@include nn-px-to-unit(width, 100);
@include nn-px-to-unit(min-width, 100);
@include nn-px-to-unit(mann-width, 100);
@include nn-px-to-unit(height, 100);
@include nn-px-to-unit(min-height, 100);
@include nn-px-to-unit(mann-height, 100);
```

## Source
---
http://css-tricks.com/snippets/css/less-mixin-for-rem-font-sizing/

*/
/* doc
---
title: Pixel to unitless
name: nn-px-to-unitless
category: functions
---

This makes the same calculation as px to em. But it don't print out the unit.

Use this for line-heights.

## Live Template abbreviations
---

## Parameters
---
@parameter $value = pixel based number (without unit)
@parameter $base = pixel based number (without unit)

## Dependencies
---

## Example
---

```html_example
line-height: nn-px-to-unitless(5) // Output: 0.3125
```

## Source
---

*/
/* doc
---
title: Strip unit
name: nn-strip-unit
category: functions
---

Strips of the unit of a number

## Parameters
---
@parameter $num = number with unit (5px, 5em, 5rem)

## Example
---

```html_example
nn-strip-unit(5px) //Output: 5
nn-strip-unit(10em) // Output: 10
nn-strip-unit(15rem) // Output: 15
```

*/
/* doc
---
title: z-index
name: nn-z-index
category: functions
---

Because z-indices can get tricky we manage them in the theme.scss globally.

Always use this mixin to set set a z-index.

Read the Best Practice to get an full documentation:
https://projects.netcentric.biz/wiki/display/FRONTEND/How+to+set+a+z-index

## Live Template abbreviations
---
-z

## Parameters
---
@parameter $element = Name of the element (normally this will be the module name for the main stack)
@parameter $list = Name of the list (default $z-indices). Must be only set for stack context
@parameter $min = Set a minimum z-index which will be added to the list.

## Dependencies
---
$z-indices variable in the theme.scss

## Example
---

```html_example

// In the SASS theme file

$z-indices: slider, modal, dialog, navigation;

// In the SASS module file

.modal {
    &__base {
        position: absolute;
        z-index: nn-z-index(modal);
    }
}
```

## Source
---
http://www.smashingmagazine.com/2014/06/12/sassy-z-index-management-for-complex-layouts/

*/
/* doc
---
title: remove every unit
name: strip-unit
category: functions
---
remove all units

## Parameters
---
@parameter $number = number with unit

## Example
---
```html_example
strip-unit(5px) // Output: 5
```
*/
/*
    This mixin converts any unitless number (for example 40) to the correct unit, according to the given axis.

    Parameters:
    - $value: unitless number to be converted. A unit in $value will correspond to a px in the browser,
        no matter if it's output as px or rem

    Returns
    - Horizontal: will convert the number to pixels (40px)
    - Vertical: will convert the number to rem (if rem === 16px, then 40 will be converted to 2.5 rem)
*/
/*
    Converts a unitless number to the corresponding unit on the horizontal axis.
    By default will convert the value to px.
*/
/*
    Converts a unitless number to the corresponding unit on the vertical axis.
    By default will convert the value to rem.
*/
/* stylelint-disable */
/* doc
---
title: Swap left right values
name: swap-left-right-values
category: functions
---

Swap the values for right and left when $rtl is set to true:

In:  0 5px 8px 12px
Out: 0 12px 8px 5px (in rtl)

## Parameters
---
@parameter $values = 4 numbers (works with all units)

## Example
---

```html_example
swap-left-right-values(0 1px 8px 12px) // 0 12px 8px 1px
swap-left-right-values(0 1em 8em 12em) // 0 12em 8em 1em
wap-left-right-values(0 1rem 8rem 12rem) // 0 12rem 8rem 1rem
```

## Source
---
http://stackoverflow.com/questions/14199323/right-to-left-rtl-support-in-sass-project

*/
/* stylelint-disable */
/* doc
---
title: Swap left right names
name: swap-left-right-names
category: functions
---

Swap the names right and left when $rtl is set to true.
If the value is not right or left it returns the original value.

In:  right
Out: left (in rtl), right (in ltr)

## Live Template abbreviations
---

## Parameters
---
@parameter $origin = right | left

## Example
---

```html_example
swap-left-right-name(left)
swap-left-right-name(right)
```

## Source
---
http://stackoverflow.com/questions/14199323/right-to-left-rtl-support-in-sass-project

*/
/*  List of CSS properties that will always be output at least as 2 different values
    in order to be able to convert each one to the correct axis unit */
/*
    Mixin for automatically handling spacings around/between elements.

    This mixin will automatically invert the lef/right directions in RTL languages.
    Also, the unitless values will be converted to the proper unit according to the axis

    Parameters:
    - $property-name: name of the CSS property that should be output. Supported properties are:
        margin, margin-top, margin-right, margin-bottom, margin-left
        padding, padding-top, padding-right, padding-bottom, padding-left
        width, height, min-width, max-width, min-height, min-height
    - $value: value that will be output as part of the given property. Supported values are:
        Unitless number (40): this should be used most of the times. It will automatically be converted
            to the correct unit depending on the axis where it's used (horizontal axis => px, vertical axis => rem).
            Each unit in $value will correspond to a px in the browser, no matter to which unit it will be converted.
        Number with unit (40px, 40%...): the number and the unit will be preserved and only the left/right inversion
            will be done for RTL languages
        List of values (40 30% 20 10): margin and padding shorthands whith multiple values are supported.
            The left/right values will be automatically swapped in RTL and the unitless numbers will be converted
            to the corresponding unit. Unitless and numbers with units can be mixed in the same call.
        Using calc() in any of the previous examples is supported, although no unit conversion will be done

 ## Example
---

```html_example
@include spacing(padding, 0 10px 20 0); => padding: 0 10px 2rem 0;
@include spacing(padding, 0 10 20 0); => padding: 0 10px 2rem 0;
@include spacing(padding-left, 10);
@include spacing(padding-right, 10);
@include spacing(margin, 0 10 20 0);
@include spacing(margin-left, 10);
@include spacing(margin-right, 10);
@include spacing(width, 100);
@include spacing(min-width, 100);
@include spacing(max-width, 100);
@include spacing(height, 100);
@include spacing(min-height, 100);
@include spacing(max-height, 100);
```
*/
/* doc
---
title: Clearfix
name: clearfix
category: mixins
---

Clears after floating element

Use this mixin only inside media queries where you can't use the
abstract/extends/utils/_clearfix version, which adds less code to css

## Live Template abbreviations
---

## Example
---

```html_example
@include clearfix;
```

## Source
---
https://css-tricks.com/snippets/css/clear-fix/
*/
/* stylelint-disable string-no-newline */
/* doc
---
title: focus color
name: focus color
category: mixins
---

Add a focus color when keyboard-focus is activated
## Parameters
---
@param $number

*/
/* doc
---
title: ignore-container
name: ignore-container
category: mixins
---

Set full page width for something inside a container

## Parameters
---
@param $container-size
@param $gutter

*/
/* Generates all the rules for the grid columns up to the given amount of column */
/* Generates all the rules for the grid column offset up to the given amount of column */
/* Generates all the rules for the grid and columns for the given break point and total of columns */
/* API function to be called to generate a grid config */
/* doc
---
type: button type
state: state button
---

Button styles

Use this mixin for button styles: color text, background, border

## Example
---

```html_example
@include button(primary);
```
*/
/* doc
---
lineLimit: This value specifies the number of lines after which the content will be clamped. It must be greater than 0.
---

Truncates text at a specific number of lines.

Use this mixin to hide long text.

## Example
---

```html_example
@include line-clamp($lineLimit: 4);
```
*/
/* typography
---
title: typography
name: Typography
category: mixins
---

Adds font CSS properties by a map provided

## Parameters
---
@param $t-style
@param $is-important: false

* $t-style is expected to be a map with 'default' and 'breakpoint[s]' submaps with a property
for every css property to be set.
* $is-important parameter allows to force typography properties to be set as !important
Try to avoid its use, but it might be needed for situations where styles for a component
are very specific and to overwrite the generic ones is too complex (if they have a lot of specificity)

*/
/* doc
---
title: hidden
name: hidden
category: mixins
---

Hide from both screenreaders and browsers: h5bp.com/u
## Parameters
---

*/
/* doc
---
title: overlay
name: overlay
category: mixins
---

Creates an overlay with the provided background color
## Parameters
---
@param $bgColor

*/
/**
 * @mixin top-bottom-border
 * @desc Creates a dynamic and customizable border at the specified position on an element.
 *
 * @param {string} $position - Optional, Default: 'bottom'. Defines the position of the border. Accepts values 'top' or 'bottom'.
 * @param {color} $color - Optional, Default: '$c-black'. Specifies the color of the border. Accepts any valid CSS color value.
 * @param {length} $width - Optional, Default: '2px'. Sets the width of the border. Accepts any valid CSS length value.
 * @param {length} $margin - Optional, Default: '0'. Adds margin to the border. Accepts any valid CSS length value.
 *
 * @example
 *   .example-element {
 *       @include top-bottom-border($position: top, $color: $c-grey-two, $width: 3px, $margin: 10px);
 *   }
 */
/* doc
---
title: reset-fullwidth-margins
name: reset-fullwidth-margins
category: mixins
---

Reset margins for full width components inside a Container or a Column Control
*/
/* doc
---
title: visually hidden
name: visually hidden
category: mixins
---

Hidden from browsers but accessible to screen readers
## Parameters
---

*/
.mediagallery {
  /* Styles for the magnifying glass icon when lightbox is active in the component */
}
.mediagallery .asset__item {
  position: relative;
}
.mediagallery .asset__image {
  max-width: 100%;
  height: auto;
}
.mediagallery .asset__video {
  aspect-ratio: 16/9;
}
.mediagallery .asset__video.overlay--open {
  z-index: 5;
}
.mediagallery .asset__title {
  font-family: var(--ff-regular);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: var(--ls-default);
  letter-spacing: 0.4px;
  display: block;
  padding-block-start: 0.375rem;
  color: #888b8d;
  font-style: italic;
}
.mediagallery .mute-controller {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: rgba(20, 20, 20, 0.3);
  display: none;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 999;
  margin-inline-start: 10px;
  position: relative;
}
@media (min-width: 768px) {
  .mediagallery .mute-controller {
    margin-inline-start: 20px;
  }
}
.mediagallery .mute-controller:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/unmute.svg#unmute-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/unmute.svg#unmute-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .mute-controller:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/unmute.svg#unmute-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/unmute.svg#unmute-icon-w16-view");
  }
}
.mediagallery .mute-controller--muted:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/mute.svg#mute-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/mute.svg#mute-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .mute-controller--muted:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/mute.svg#mute-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/mute.svg#mute-icon-w16-view");
  }
}
.mediagallery .mute-controller--shown {
  display: flex;
  visibility: visible !important;
}
.mediagallery .s7container {
  z-index: 1;
}
.mediagallery .s7container .s7controlbar {
  padding-block: 0;
  padding-inline: 20px;
  margin-block-end: 20px;
}
.mediagallery .s7videoplayer .s7iconeffect {
  background-image: none !important;
  background-color: #fff;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  inset-block-start: 50% !important;
  inset-inline-start: 50% !important;
  transform: translate(-50%, -50%);
}
.mediagallery .s7videoplayer .s7iconeffect:after {
  background-color: #53565a;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/play.svg#play-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/play.svg#play-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .s7videoplayer .s7iconeffect:after {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/play.svg#play-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/play.svg#play-icon-w16-view");
  }
}
html[dir=rtl] .mediagallery .s7videoplayer .s7iconeffect {
  transform: translate(50%, -50%);
}
.mediagallery .s7videoplayer .s7caption {
  z-index: 9999;
}
.mediagallery .s7controlbar {
  z-index: 999999999;
  width: 100% !important;
  height: 50px !important;
  opacity: 1 !important;
  background-image: none !important;
  background-color: transparent !important;
  pointer-events: auto !important;
  direction: ltr;
  /* Keep it as display block but not visible to be clickable via JS (by S7 VideoViewer) */
}
@media (min-width: 768px) {
  .mediagallery .s7controlbar {
    position: absolute;
  }
}
.mediagallery .s7controlbar .s7innercontrolbarcontainer {
  position: relative;
  display: flex;
  align-items: center;
}
.mediagallery .s7controlbar .s7knob {
  visibility: hidden !important;
}
.mediagallery .s7controlbar .s7videotime {
  visibility: hidden !important;
}
.mediagallery .s7controlbar .s7languageswitchbutton,
.mediagallery .s7controlbar .s7fullscreenbutton,
.mediagallery .s7controlbar .s7iconeffect {
  display: none !important;
}
.mediagallery .s7controlbar .s7mutablevolume {
  display: block !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none;
}
.mediagallery .s7controlbar .s7playpausebutton {
  width: 50px !important;
  height: 50px !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  inset-block-start: 0;
  z-index: 9999;
  background-image: none !important;
  background-color: rgba(20, 20, 20, 0.3);
}
.mediagallery .s7controlbar .s7playpausebutton::before {
  font-family: "VolvoIcons";
}
.mediagallery .s7controlbar .s7playpausebutton[data-component=PlayPauseButton] {
  inset: 0 !important;
  background-image: none !important;
  position: relative;
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
  flex-shrink: 0;
}
.mediagallery .s7controlbar .s7playpausebutton[data-component=PlayPauseButton][selected=true]:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/play.svg#play-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/play.svg#play-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .s7controlbar .s7playpausebutton[data-component=PlayPauseButton][selected=true]:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/play.svg#play-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/play.svg#play-icon-w16-view");
  }
}
.mediagallery .s7controlbar .s7playpausebutton[data-component=PlayPauseButton][selected=false]:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/pause.svg#pause-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/pause.svg#pause-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .s7controlbar .s7playpausebutton[data-component=PlayPauseButton][selected=false]:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/pause.svg#pause-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/pause.svg#pause-icon-w16-view");
  }
}
.mediagallery .s7controlbar .s7videoscrubber {
  height: 50px !important;
  background-color: rgba(20, 20, 20, 0.3) !important;
  border-top-right-radius: 25px;
  border-bottom-right-radius: 25px;
  display: flex;
  align-items: center;
  flex-grow: 1;
  box-sizing: content-box;
  position: relative;
  inset-block-start: 0 !important;
  inset-inline-start: 0 !important;
  visibility: visible !important;
}
.mediagallery .s7controlbar .s7videoscrubber .s7track,
.mediagallery .s7controlbar .s7videoscrubber .s7trackloaded,
.mediagallery .s7controlbar .s7videoscrubber .s7trackplayed {
  height: 4px;
  max-width: calc(100% - 20px);
  transform: translateY(23px);
  inset-block-start: 0;
  inset-inline-start: 0;
}
.mediagallery .s7controlbar .s7videoscrubber .s7track {
  width: 100% !important;
  background-color: #53565a;
}
.mediagallery .s7controlbar .s7videoscrubber .s7trackloaded {
  background-color: #d9d9d9;
  opacity: 0.15;
}
.mediagallery .s7controlbar .s7videoscrubber .s7trackplayed {
  background-color: #d9d9d9;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7innercontrolbarcontainer > .s7videotime {
  inset-inline-end: 132px !important;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7innercontrolbarcontainer > .s7videotime.no-s7caption {
  inset-inline-end: 100px !important;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7closedcaptionbutton {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: rgba(20, 20, 20, 0.3);
  background-image: none !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 9999;
  margin-inline-start: 10px;
  position: relative;
  inset-inline-end: 0 !important;
  inset-block-start: 0;
}
@media (min-width: 768px) {
  .mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7closedcaptionbutton {
    margin-inline-start: 20px;
  }
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7closedcaptionbutton[selected=true]:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/subtitles-inactive.svg#subtitles-inactive-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/subtitles-inactive.svg#subtitles-inactive-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7closedcaptionbutton[selected=true]:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/subtitles-inactive.svg#subtitles-inactive-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/subtitles-inactive.svg#subtitles-inactive-icon-w16-view");
  }
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7closedcaptionbutton[selected=false]:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/subtitles-active.svg#subtitles-active-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/subtitles-active.svg#subtitles-active-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7closedcaptionbutton[selected=false]:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/subtitles-active.svg#subtitles-active-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/subtitles-active.svg#subtitles-active-icon-w16-view");
  }
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: rgba(20, 20, 20, 0.3);
  background-image: none !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 9999;
  margin-inline-start: 10px;
  position: relative;
  inset-inline-end: 0 !important;
  inset-block-start: 0;
}
@media (min-width: 768px) {
  .mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton {
    margin-inline-start: 20px;
  }
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton:has(.s7button-disabled) {
  opacity: 0.5;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton:has(.s7button-disabled):hover {
  cursor: default;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .s7button {
  height: 100%;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .s7button:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/cog.svg#cog-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/cog.svg#cog-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .s7button:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/cog.svg#cog-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/cog.svg#cog-icon-w16-view");
  }
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .s7button:hover {
  background-color: #53565a;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .s7button::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.5));
}
html[dir=rtl] .mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .s7button::before {
  transform: translate(50%, -50%);
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .subtitleLanguage {
  display: none;
  position: absolute;
  inset-block-end: calc(100% + 8px);
  inset-inline-end: 50%;
  flex-direction: column;
  align-items: flex-start;
  background-color: rgba(20, 20, 20, 0.3);
  padding: 8px;
  border-radius: 4px;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.2), 0 1px 2px 0 rgba(0, 0, 0, 0.1);
  transform: translateX(50%);
  color: #fff;
  max-height: 208px;
  overflow-y: scroll;
  z-index: 9;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .subtitleLanguage--open {
  display: flex;
}
@media (max-width: 767px) {
  .mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .subtitleLanguage--open {
    position: fixed;
    inset-block-end: 0;
    width: 100%;
    background-color: #53565A;
  }
  .mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .subtitleLanguage--open .subtitleLanguage__item--active {
    background-color: rgba(20, 20, 20, 0.1);
  }
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .subtitleLanguage__item {
  align-self: stretch;
  text-align: start;
  padding-block: 12px;
  padding-inline: 16px;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .subtitleLanguage__item::first-letter {
  text-transform: capitalize;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .subtitleLanguage__item:hover {
  background-color: rgba(20, 20, 20, 0.1);
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .subtitleLanguage__item:focus, .mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .subtitleLanguage__item:focus-visible {
  outline: 2px solid #1F78D1;
  border-radius: 4px;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .s7languageswitchbutton .subtitleLanguage__item--active {
  background-color: rgba(20, 20, 20, 0.3);
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles video {
  z-index: 0 !important;
}
.mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .subtitle-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background-color: rgba(20, 20, 20, 0.4);
  z-index: 5;
}
@media (max-width: 767px) {
  .mediagallery .lightbox-dialog--videoItem .s7controlbar.s7controlbar--subtitles .subtitle-overlay--open {
    display: block;
  }
}
.mediagallery .zoom-container {
  width: 100%;
  height: 100%;
}
.mediagallery .zoom-container[mode=normal] {
  background-color: rgba(0, 0, 0, 0) !important;
}
.mediagallery .zoom-container[mode=normal]::backdrop {
  background-color: rgba(0, 0, 0, 0);
}
.mediagallery .zoom-container[mode=normal] .s7zoomview {
  background-color: transparent;
}
.mediagallery .zoom-container[data-namespace=s7classic] {
  background-color: transparent;
}
.mediagallery .s7fullscreenbutton {
  display: none !important;
  background-image: none !important;
}
.mediagallery [data-component=ZoomInButton].s7zoominbutton {
  display: flex;
  background-image: none !important;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 50px !important;
  height: 50px !important;
  inset: 0;
}
.mediagallery [data-component=ZoomInButton].s7zoominbutton:after {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-plus.svg#zoom-plus-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-plus.svg#zoom-plus-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery [data-component=ZoomInButton].s7zoominbutton:after {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-plus.svg#zoom-plus-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-plus.svg#zoom-plus-icon-w16-view");
  }
}
.mediagallery [data-component=ZoomInButton].s7zoominbutton::before, .mediagallery [data-component=ZoomInButton].s7zoominbutton::after {
  content: "";
  position: absolute;
}
.mediagallery [data-component=ZoomInButton].s7zoominbutton::before {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  cursor: pointer;
  inset: 0;
}
.mediagallery [data-component=ZoomInButton].s7zoominbutton[state=disabled] {
  opacity: 0.3;
}
.mediagallery [data-component=ZoomOutButton].s7zoomoutbutton {
  display: flex;
  background-image: none !important;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 50px !important;
  height: 50px !important;
  inset: 0;
}
.mediagallery [data-component=ZoomOutButton].s7zoomoutbutton:after {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-minus.svg#zoom-minus-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-minus.svg#zoom-minus-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery [data-component=ZoomOutButton].s7zoomoutbutton:after {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-minus.svg#zoom-minus-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-minus.svg#zoom-minus-icon-w16-view");
  }
}
.mediagallery [data-component=ZoomOutButton].s7zoomoutbutton::before, .mediagallery [data-component=ZoomOutButton].s7zoomoutbutton::after {
  content: "";
  position: absolute;
}
.mediagallery [data-component=ZoomOutButton].s7zoomoutbutton::before {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  cursor: pointer;
  inset: 0;
}
.mediagallery [data-component=ZoomOutButton].s7zoomoutbutton[state=disabled] {
  opacity: 0.3;
}
.mediagallery [data-component=ZoomResetButton].s7zoomresetbutton {
  display: flex;
  background-image: none !important;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 50px !important;
  height: 50px !important;
  inset: 0;
}
.mediagallery [data-component=ZoomResetButton].s7zoomresetbutton:after {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/reset.svg#reset-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/reset.svg#reset-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery [data-component=ZoomResetButton].s7zoomresetbutton:after {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/reset.svg#reset-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/reset.svg#reset-icon-w16-view");
  }
}
.mediagallery [data-component=ZoomResetButton].s7zoomresetbutton::before, .mediagallery [data-component=ZoomResetButton].s7zoomresetbutton::after {
  content: "";
  position: absolute;
}
.mediagallery [data-component=ZoomResetButton].s7zoomresetbutton::before {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  cursor: pointer;
  inset: 0;
}
.mediagallery [data-component=ZoomResetButton].s7zoomresetbutton[state=disabled] {
  opacity: 0.3;
}
.mediagallery .lightbox-asset-video {
  display: flex;
  height: 100%;
  align-items: center;
}
.mediagallery .lightbox-asset-video .s7socialshare,
.mediagallery .lightbox-asset-video .s7iconeffect,
.mediagallery .lightbox-asset-video .s7closedcaptionbutton {
  visibility: hidden;
}
.mediagallery .lightbox-asset-video .s7videoplayer {
  background-color: transparent;
}
.mediagallery .lightbox-asset-video .s7videoplayer video {
  object-fit: contain !important;
}
.mediagallery .lightbox-asset-video .s7dm-dynamic-media {
  aspect-ratio: 16/9;
  position: relative;
  max-height: 100%;
}
.mediagallery .lightbox-asset-video .lightbox__video-caption-heading {
  max-width: 255px;
}
@media (min-width: 768px) {
  .mediagallery .lightbox-asset-video .lightbox__video-caption-heading {
    max-width: 640px;
  }
}
.mediagallery .lightbox-asset-video .lightbox__video-caption-description {
  max-width: 255px;
}
@media (min-width: 768px) {
  .mediagallery .lightbox-asset-video .lightbox__video-caption-description {
    max-width: 540px;
  }
}
.mediagallery .lightbox-btn {
  width: 50px;
  height: 50px;
  position: absolute;
  cursor: pointer;
}
.mediagallery .lightbox-close {
  width: 50px;
  height: 50px;
  background-color: #fff !important;
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  border: none;
  cursor: pointer;
  inset-block-start: 20px;
  inset-inline-end: 20px;
  z-index: 3;
}
.mediagallery .lightbox-close::before, .mediagallery .lightbox-close::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
}
html[dir=rtl] .mediagallery .lightbox-close::before, html[dir=rtl] .mediagallery .lightbox-close::after {
  transform: translate(50%, -50%);
}
.mediagallery .lightbox-close:before {
  background-color: #53565a;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/service-contract-icons/close.svg#close-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/service-contract-icons/close.svg#close-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .lightbox-close:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/service-contract-icons/close.svg#close-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/service-contract-icons/close.svg#close-icon-w16-view");
  }
}
.mediagallery .lightbox-prev {
  inset-inline-start: 20px;
}
.mediagallery .lightbox-prev:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/chevron-left.svg#chevron-left-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/chevron-left.svg#chevron-left-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .lightbox-prev:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/chevron-left.svg#chevron-left-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/chevron-left.svg#chevron-left-icon-w16-view");
  }
}
.mediagallery .lightbox-next {
  inset-inline-end: 20px;
}
.mediagallery .lightbox-next:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .lightbox-next:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w16-view");
  }
}
.mediagallery .lightbox-prev, .mediagallery .lightbox-next {
  width: 50px;
  height: 50px;
  background-color: rgba(20, 20, 20, 0.3) !important;
  border-radius: 50%;
  box-shadow: none;
  border: none;
  cursor: pointer;
  inset-block-start: calc(50% - 25px);
  z-index: 2;
}
.mediagallery .lightbox-prev::before, .mediagallery .lightbox-prev::after, .mediagallery .lightbox-next::before, .mediagallery .lightbox-next::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
}
html[dir=rtl] .mediagallery .lightbox-prev::before, html[dir=rtl] .mediagallery .lightbox-prev::after, html[dir=rtl] .mediagallery .lightbox-next::before, html[dir=rtl] .mediagallery .lightbox-next::after {
  transform: translate(50%, -50%);
}
.mediagallery .lightbox-prev[state=disabled]::before, .mediagallery .lightbox-next[state=disabled]::before {
  opacity: 0.4;
}
html[dir=rtl] .mediagallery .lightbox-prev, html[dir=rtl] .mediagallery .lightbox-next {
  transform: scale(-1, 1);
}
.mediagallery .lightbox-screen {
  position: fixed;
  width: 100vw;
  height: 100%;
  inset: 0;
  z-index: 9999;
  background-color: rgba(20, 20, 20, 0.8);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}
.mediagallery .lightbox-screen #lightbox-zoom-image {
  padding: 0;
}
.mediagallery .lightbox-screen #lightbox-zoom-image_zoomView {
  background-color: rgba(0, 0, 0, 0);
}
.mediagallery .lightbox-screen .s7zoomviewer .s7zoominbutton,
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomoutbutton,
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomresetbutton {
  font-size: 22px;
  width: 50px;
  height: 50px;
}
.mediagallery .lightbox-screen .s7zoomviewer .s7zoominbutton[state],
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomoutbutton[state],
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomresetbutton[state] {
  background: none;
}
@media (max-width: 767px) {
  .mediagallery .lightbox-screen .s7zoomviewer .s7zoominbutton,
  .mediagallery .lightbox-screen .s7zoomviewer .s7zoomoutbutton,
  .mediagallery .lightbox-screen .s7zoomviewer .s7zoomresetbutton {
    display: none;
  }
}
.mediagallery .lightbox-screen .s7zoomviewer .s7zoominbutton,
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomoutbutton,
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomresetbutton {
  width: 50px;
  height: 50px;
  background-color: rgba(20, 20, 20, 0.3) !important;
  border-radius: 50%;
  box-shadow: none;
  border: none;
  cursor: pointer;
  position: relative;
}
.mediagallery .lightbox-screen .s7zoomviewer .s7zoominbutton::before, .mediagallery .lightbox-screen .s7zoomviewer .s7zoominbutton::after,
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomoutbutton::before,
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomoutbutton::after,
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomresetbutton::before,
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomresetbutton::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
}
html[dir=rtl] .mediagallery .lightbox-screen .s7zoomviewer .s7zoominbutton::before, html[dir=rtl] .mediagallery .lightbox-screen .s7zoomviewer .s7zoominbutton::after,
html[dir=rtl] .mediagallery .lightbox-screen .s7zoomviewer .s7zoomoutbutton::before,
html[dir=rtl] .mediagallery .lightbox-screen .s7zoomviewer .s7zoomoutbutton::after,
html[dir=rtl] .mediagallery .lightbox-screen .s7zoomviewer .s7zoomresetbutton::before,
html[dir=rtl] .mediagallery .lightbox-screen .s7zoomviewer .s7zoomresetbutton::after {
  transform: translate(50%, -50%);
}
.mediagallery .lightbox-screen .s7zoomviewer .s7zoominbutton:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-plus.svg#zoom-plus-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-plus.svg#zoom-plus-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .lightbox-screen .s7zoomviewer .s7zoominbutton:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-plus.svg#zoom-plus-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-plus.svg#zoom-plus-icon-w16-view");
  }
}
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomoutbutton:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-minus.svg#zoom-minus-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-minus.svg#zoom-minus-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .lightbox-screen .s7zoomviewer .s7zoomoutbutton:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-minus.svg#zoom-minus-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/zoom-minus.svg#zoom-minus-icon-w16-view");
  }
}
.mediagallery .lightbox-screen .s7zoomviewer .s7zoomresetbutton:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/reset.svg#reset-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/reset.svg#reset-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .lightbox-screen .s7zoomviewer .s7zoomresetbutton:before {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/reset.svg#reset-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/reset.svg#reset-icon-w16-view");
  }
}
.mediagallery .lightbox-screen .s7zoomviewer .s7fullscreenbutton {
  display: none;
}
.mediagallery .lightbox-screen .s7zoomviewer .s7button {
  text-align: center;
}
.mediagallery .lightbox-screen .s7zoomviewer .s7button:hover {
  cursor: pointer;
}
.mediagallery .lightbox-screen .s7zoomviewer .s7button[state=disabled] {
  cursor: auto;
}
.mediagallery .lightbox-screen .s7zoomviewer .s7button[state=disabled]::after, .mediagallery .lightbox-screen .s7zoomviewer .s7button[state=disabled]::before {
  opacity: 0.4;
}
.mediagallery .lightbox-screen .s7zoomviewer #lightbox-zoom-image_divcontainer {
  inset-block-start: auto !important;
  height: auto !important;
  inset-block-end: 100px;
  display: flex;
  justify-content: flex-start;
  padding: 20px;
  gap: 15px;
  /* stylelint-disable max-nesting-depth */
  /* stylelint-enable max-nesting-depth */
}
@media (min-width: 480px) {
  .mediagallery .lightbox-screen .s7zoomviewer #lightbox-zoom-image_divcontainer {
    inset-block-end: 0;
  }
}
@media (min-width: 768px) {
  .mediagallery .lightbox-screen .s7zoomviewer #lightbox-zoom-image_divcontainer {
    justify-content: flex-end;
  }
}
.mediagallery .lightbox-screen .s7zoomviewer #lightbox-zoom-image_divcontainer > * {
  position: relative;
  inset-inline-start: auto;
  inset-block-end: auto;
}
.mediagallery .lightbox-screen .s7zoomviewer #lightbox-zoom-image_divcontainer > [role=button] {
  align-self: flex-end;
}
.mediagallery .lightbox-screen .s7zoomviewer #lightbox-zoom-image_divcontainer:not(.visible) > .s7button {
  display: none;
}
.mediagallery .lightbox-screen .s7zoomviewer #lightbox-zoom-image_divcontainer .lightbox__video-caption-heading {
  max-width: 320px;
}
@media (min-width: 768px) {
  .mediagallery .lightbox-screen .s7zoomviewer #lightbox-zoom-image_divcontainer .lightbox__video-caption-heading {
    max-width: 640px;
  }
}
.mediagallery .lightbox-screen .s7zoomviewer #lightbox-zoom-image_divcontainer .lightbox__video-caption-description {
  max-width: 320px;
}
@media (min-width: 768px) {
  .mediagallery .lightbox-screen .s7zoomviewer #lightbox-zoom-image_divcontainer .lightbox__video-caption-description {
    max-width: 540px;
  }
}
.mediagallery .lightbox--hasCaption .lightbox-image #lightbox-zoom-image_divcontainer::after,
.mediagallery .lightbox--hasCaption .lightbox-asset-video .s7controlbar::after {
  content: "";
  background: linear-gradient(180deg, rgba(20, 20, 20, 0) 2.6%, rgba(20, 20, 20, 0.8) 100%);
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 50vh;
  z-index: -1;
}
.mediagallery .lightbox-single .lightbox-prev, .mediagallery .lightbox-single .lightbox-next {
  display: none;
}
.mediagallery .lightbox__video-caption-heading, .mediagallery .lightbox__video-caption-description {
  color: #fff;
  margin-block-end: 10px;
}
@media (min-width: 768px) {
  .mediagallery .lightbox__video-captions-container {
    width: calc(100% - 70px);
  }
}
.mediagallery .lightbox-image {
  height: 100%;
  position: relative;
}
.mediagallery .lightbox-image#lightbox-zoom-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 480px) {
  .mediagallery .lightbox-image {
    height: calc(100% - 120px);
  }
}
@media screen and (orientation: landscape) and (max-height: 400px) {
  .mediagallery .lightbox-image {
    height: 100%;
  }
}
.mediagallery .lightbox-image .s7container .s7controlbar,
.mediagallery .lightbox-image .playindicator {
  position: fixed;
  inset-block-end: 120px;
}
@media screen and (orientation: landscape) and (max-height: 400px) {
  .mediagallery .lightbox-image .s7container .s7controlbar,
  .mediagallery .lightbox-image .playindicator {
    inset-block-end: 0;
  }
}
.mediagallery .lightbox-image .s7container .s7controlbar {
  display: block !important;
  height: auto !important;
  margin-block-end: 0;
  padding-block-end: 15px;
}
.mediagallery .lightbox-image .figure--noDM {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
@media (min-width: 480px) {
  .mediagallery .lightbox-image .figure--noDM img {
    max-height: calc(100vh - 120px);
  }
}
.mediagallery .lightbox__asset-strip {
  text-align: center;
  background-color: #141414;
  overflow-x: scroll;
  overflow-y: hidden;
  white-space: nowrap;
  height: 120px;
  width: 100%;
  position: absolute;
  inset-block-end: 0;
  display: block;
  z-index: 1;
}
@media screen and (max-height: 400px) {
  .mediagallery .lightbox__asset-strip {
    display: none;
  }
}
.mediagallery .lightbox__asset-strip .lightbox__asset-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 120px;
  margin-block: 0;
  margin-inline: 8px;
}
.mediagallery .lightbox__asset-strip .lightbox__asset-wrapper .img__asset {
  box-sizing: border-box;
  height: 90px;
  max-height: 90px;
  max-width: none;
  vertical-align: baseline;
  position: relative;
  cursor: pointer;
  z-index: 1;
  aspect-ratio: 16/9;
  object-fit: cover;
  opacity: 0.5;
  overflow: hidden;
  object-position: unset !important;
  transform-origin: unset !important;
  transform: none !important;
  /* Disable the clicks to avoid the videos from strip are played */
}
.mediagallery .lightbox__asset-strip .lightbox__asset-wrapper .img__asset.img__asset__video {
  width: 160px;
}
.mediagallery .lightbox__asset-strip .lightbox__asset-wrapper .img__asset .s7container {
  max-height: 90px;
}
.mediagallery .lightbox__asset-strip .lightbox__asset-wrapper .img__asset .s7videoplayer,
.mediagallery .lightbox__asset-strip .lightbox__asset-wrapper .img__asset .s7smartcropvideoplayer {
  pointer-events: none;
}
.mediagallery .lightbox__asset-strip .lightbox__asset-wrapper--selected .img__asset {
  border: 1px solid #fff;
  opacity: 1;
}
.mediagallery .lightbox__asset-strip .lightbox__asset-wrapper:hover .img__asset {
  opacity: 1;
}
.mediagallery .lightbox__asset-strip .playindicator {
  display: none;
}
.mediagallery .lightbox__asset-strip .s7container {
  z-index: 0;
}
.mediagallery .lightbox__asset-strip .s7videoviewer {
  --s7-video-iconeffect-scale: scale(0.6);
}
.mediagallery .lightbox__asset-strip .s7smartcropvideoviewer {
  --s7-video-iconeffect-scale: scale(0.4);
}
.mediagallery .lightbox__asset-strip .s7controlbar {
  display: none;
}
.mediagallery .lightbox__asset-strip .s7iconeffect {
  visibility: hidden;
}
.mediagallery .lightbox-container {
  margin-block: 30px;
  margin-inline: 0;
}
.mediagallery__layout--standard {
  /* --mediagallery-grid-template-columns will be adapt by JS based on the available items. Default will be 2 (mobile) */
  --mediagallery-grid-template-columns: repeat(2, minmax(0, 1fr));
  --mediagallery-grid-template-rows: 1;
  --mediagallery-grid-gap: 15px;
}
.mediagallery__layout--standard .mediagallery__items .galleryitem {
  margin: 0;
  position: relative;
  width: 100%;
  display: block;
}
.mediagallery__layout--standard .mediagallery__items .galleryitem .img__asset {
  aspect-ratio: 16/9;
}
.mediagallery__layout--standard .mediagallery__items .galleryitem img {
  object-fit: cover;
  max-width: 100%;
  min-width: 100%;
  min-height: 100%;
  height: 100%;
  vertical-align: bottom;
}
.mediagallery__layout--standard .mediagallery__items--3 {
  --mediagallery-grid-gap: 30px;
  --mediagallery-grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mediagallery__layout--standard .mediagallery__items--2 {
  --mediagallery-grid-gap: 30px;
  --mediagallery-grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mediagallery__layout--standard .mediagallery__items--1 {
  --mediagallery-grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .mediagallery__layout--standard {
    --mediagallery-grid-gap: 30px;
    --mediagallery-grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 960px) {
  .mediagallery__layout--standard {
    --mediagallery-grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.mediagallery__layout--standard .galleryitem--gallery {
  aspect-ratio: 16/9;
}
.mediagallery__layout--quilted {
  --quilted-columns: 2;
  --mediagallery-grid-row-height: 330px;
  --mediagallery-grid-gap: 15px;
  --quilted-small-item-width: calc(42% - var(--mediagallery-grid-gap) / var(--quilted-columns));
  --quilted-large-item-width: calc(58% - var(--mediagallery-grid-gap) / var(--quilted-columns));
  /* Large Mobile */
  /* Tablet */
  /* Desktop */
}
@media (min-width: 480px) {
  .mediagallery__layout--quilted {
    --mediagallery-grid-gap: 30px;
    --mediagallery-grid-row-height: 415px;
  }
}
@media (min-width: 768px) {
  .mediagallery__layout--quilted {
    --mediagallery-grid-row-height: 560px;
  }
}
@media (min-width: 960px) {
  .mediagallery__layout--quilted {
    --mediagallery-grid-row-height: 675px;
  }
}
.mediagallery__layout--quilted .mediagallery__items {
  /* With 1 asset to display */
  /* With 2 assets to display */
  /* With 3 assets to display */
  /* With 4 assets to display */
}
.mediagallery__layout--quilted .mediagallery__items--1 {
  --mediagallery-grid-template-columns: 1;
  --mediagallery-grid-template-rows: 1;
}
.mediagallery__layout--quilted .mediagallery__items--1 .galleryitem:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quilted .mediagallery__items--1 .galleryitem:nth-child(1) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quilted .mediagallery__items--1 .galleryitem:nth-child(1) .s7container,
.mediagallery__layout--quilted .mediagallery__items--1 .galleryitem:nth-child(1) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
.mediagallery__layout--quilted .mediagallery__items--2 {
  --mediagallery-grid-template-columns: 1;
  --mediagallery-grid-template-rows: 2;
}
.mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(1) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(1) .s7container,
.mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(1) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
.mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(2) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(2) .s7container,
.mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(2) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
@media (min-width: 480px) {
  .mediagallery__layout--quilted .mediagallery__items--2 {
    --mediagallery-grid-template-columns: var(--quilted-large-item-width) var(--quilted-small-item-width);
  }
  .mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(1) {
    grid-column: 1/span 1;
    grid-row: 1;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(1) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(1) .s7container,
  .mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(1) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
  .mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(2) {
    grid-column: 2/span 1;
    grid-row: 1;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(2) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(2) .s7container,
  .mediagallery__layout--quilted .mediagallery__items--2 .galleryitem:nth-child(2) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
}
.mediagallery__layout--quilted .mediagallery__items--3 {
  --mediagallery-grid-template-columns: repeat(var(--quilted-columns), 1fr);
  --mediagallery-grid-template-rows: 2;
}
@media (min-width: 480px) {
  .mediagallery__layout--quilted .mediagallery__items--3 {
    --mediagallery-grid-template-columns: var(--quilted-small-item-width) var(--quilted-large-item-width);
  }
}
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(1) {
  grid-column: 1/span 2;
  grid-row: 1;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(1) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(1) .s7container,
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(1) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(2) {
  grid-column: 1/span 1;
  grid-row: 2;
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  /* Target the div of the media asset */
}
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(2) .galleryitem__asset {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
}
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(2) .s7container,
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(2) .s7container .s7videoelement {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
}
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(3) {
  grid-column: 2/span 1;
  grid-row: 2;
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  /* Target the div of the media asset */
}
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(3) .galleryitem__asset {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
}
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(3) .s7container,
.mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(3) .s7container .s7videoelement {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
}
@media (min-width: 480px) {
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(1) {
    grid-column: 1/span 2;
    grid-row: 1;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(1) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(1) .s7container,
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(1) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(2) {
    grid-column: 1/span 1;
    grid-row: 2;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(2) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(2) .s7container,
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(2) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(3) {
    grid-column: 2/span 1;
    grid-row: 2;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(3) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(3) .s7container,
  .mediagallery__layout--quilted .mediagallery__items--3 .galleryitem:nth-child(3) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
}
.mediagallery__layout--quilted .mediagallery__items--4 {
  --mediagallery-grid-template-columns: repeat(var(--quilted-columns), 1fr);
  --mediagallery-grid-template-rows: 3;
}
@media (min-width: 480px) {
  .mediagallery__layout--quilted .mediagallery__items--4 {
    --mediagallery-grid-template-columns: var(--quilted-large-item-width) var(--quilted-small-item-width);
  }
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(1) {
  grid-column: 1/span 2;
  grid-row: 1;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(1) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(1) .s7container,
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(1) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(2) {
  grid-column: 1/span 2;
  grid-row: 2;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(2) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(2) .s7container,
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(2) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(3) {
  grid-column: 1/span 1;
  grid-row: 3;
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  /* Target the div of the media asset */
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(3) .galleryitem__asset {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(3) .s7container,
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(3) .s7container .s7videoelement {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(4) {
  grid-column: 2/span 1;
  grid-row: 3;
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  /* Target the div of the media asset */
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(4) .galleryitem__asset {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
}
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(4) .s7container,
.mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(4) .s7container .s7videoelement {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
}
@media (min-width: 480px) {
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(2) {
    grid-column: 1/span 1;
    grid-row: 2/span 2;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(2) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(2) .s7container,
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(2) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(3) {
    grid-column: 2/span 1;
    grid-row: 2;
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(3) .galleryitem__asset {
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  }
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(3) .s7container,
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(3) .s7container .s7videoelement {
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
  }
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(4) {
    grid-column: 2/span 1;
    grid-row: 3;
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(4) .galleryitem__asset {
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  }
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(4) .s7container,
  .mediagallery__layout--quilted .mediagallery__items--4 .galleryitem:nth-child(4) .s7container .s7videoelement {
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
  }
}
.mediagallery__layout--quilted .mediagallery__items .galleryitem {
  position: relative;
  max-height: calc(var(--mediagallery-grid-row-height));
  overflow: hidden;
}
.mediagallery__layout--quilted .mediagallery__items .galleryitem .galleryitem__asset {
  height: calc(var(--mediagallery-grid-row-height));
}
.mediagallery__layout--quilted .mediagallery__items .galleryitem .galleryitem__asset img {
  height: 100%;
  min-width: 100%;
  object-position: center;
  object-fit: cover;
}
.mediagallery__layout--quiltedAlternative {
  --quilted-columns: 2;
  --mediagallery-grid-row-height: 330px;
  --mediagallery-grid-gap: 15px;
  --quilted-small-item-width: calc(42% - var(--mediagallery-grid-gap) / var(--quilted-columns));
  --quilted-large-item-width: calc(58% - var(--mediagallery-grid-gap) / var(--quilted-columns));
  /* Large Mobile */
  /* Tablet */
  /* Desktop */
}
@media (min-width: 480px) {
  .mediagallery__layout--quiltedAlternative {
    --mediagallery-grid-gap: 30px;
    --mediagallery-grid-row-height: 415px;
  }
}
@media (min-width: 768px) {
  .mediagallery__layout--quiltedAlternative {
    --mediagallery-grid-row-height: 560px;
  }
}
@media (min-width: 960px) {
  .mediagallery__layout--quiltedAlternative {
    --mediagallery-grid-row-height: 675px;
  }
}
.mediagallery__layout--quiltedAlternative .mediagallery__items {
  /* With 1 asset to display */
  /* With 2 assets to display */
  /* With 3 assets to display */
  /* With 4 assets to display */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--1 {
  --mediagallery-grid-template-columns: 1;
  --mediagallery-grid-template-rows: 1;
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--1 .galleryitem:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--1 .galleryitem:nth-child(1) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--1 .galleryitem:nth-child(1) .s7container,
.mediagallery__layout--quiltedAlternative .mediagallery__items--1 .galleryitem:nth-child(1) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--2 {
  --mediagallery-grid-template-columns: 1;
  --mediagallery-grid-template-rows: 2;
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(1) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(1) .s7container,
.mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(1) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(2) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(2) .s7container,
.mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(2) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
@media (min-width: 480px) {
  .mediagallery__layout--quiltedAlternative .mediagallery__items--2 {
    --mediagallery-grid-template-columns: var(--quilted-small-item-width) var(--quilted-large-item-width);
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(1) {
    grid-column: 1/span 1;
    grid-row: 1;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(1) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(1) .s7container,
  .mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(1) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(2) {
    grid-column: 2/span 1;
    grid-row: 1;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(2) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(2) .s7container,
  .mediagallery__layout--quiltedAlternative .mediagallery__items--2 .galleryitem:nth-child(2) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 {
  --mediagallery-grid-template-columns: repeat(var(--quilted-columns), 1fr);
  --mediagallery-grid-template-rows: 2;
}
@media (min-width: 480px) {
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 {
    --mediagallery-grid-template-columns: var(--quilted-small-item-width) var(--quilted-large-item-width);
  }
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(1) {
  grid-column: 1/span 1;
  grid-row: 1;
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  /* Target the div of the media asset */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(1) .galleryitem__asset {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(1) .s7container,
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(1) .s7container .s7videoelement {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(2) {
  grid-column: 2/span 1;
  grid-row: 1;
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  /* Target the div of the media asset */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(2) .galleryitem__asset {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(2) .s7container,
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(2) .s7container .s7videoelement {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(3) {
  grid-column: 1/span 2;
  grid-row: 2;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(3) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(3) .s7container,
.mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(3) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
@media (min-width: 480px) {
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(1) {
    grid-column: 1/span 1;
    grid-row: 1;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(1) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(1) .s7container,
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(1) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(2) {
    grid-column: 2/span 1;
    grid-row: 1;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(2) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(2) .s7container,
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(2) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(3) {
    grid-column: 1/span 2;
    grid-row: 2;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(3) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(3) .s7container,
  .mediagallery__layout--quiltedAlternative .mediagallery__items--3 .galleryitem:nth-child(3) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 {
  --mediagallery-grid-template-columns: repeat(var(--quilted-columns), 1fr);
  --mediagallery-grid-template-rows: 3;
}
@media (min-width: 480px) {
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 {
    --mediagallery-grid-template-columns: var(--quilted-large-item-width) var(--quilted-small-item-width);
  }
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(1) {
  grid-column: 1/span 2;
  grid-row: 1;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(1) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(1) .s7container,
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(1) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(2) {
  grid-column: 1/span 1;
  grid-row: 2;
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  /* Target the div of the media asset */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(2) .galleryitem__asset {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(2) .s7container,
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(2) .s7container .s7videoelement {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(3) {
  grid-column: 2/span 1;
  grid-row: 2;
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  /* Target the div of the media asset */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(3) .galleryitem__asset {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(3) .s7container,
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(3) .s7container .s7videoelement {
  height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(4) {
  grid-column: 1/span 2;
  grid-row: 3;
  height: var(--mediagallery-grid-row-height);
  /* Target the div of the media asset */
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(4) .galleryitem__asset {
  height: var(--mediagallery-grid-row-height);
}
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(4) .s7container,
.mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(4) .s7container .s7videoelement {
  height: var(--mediagallery-grid-row-height) !important;
}
@media (min-width: 480px) {
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(1) {
    grid-column: 1/span 1;
    grid-row: 1/span 2;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(1) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(1) .s7container,
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(1) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(2) {
    grid-column: 2/span 1;
    grid-row: 1;
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(2) .galleryitem__asset {
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(2) .s7container,
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(2) .s7container .s7videoelement {
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(3) {
    grid-column: 2/span 1;
    grid-row: 2;
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(3) .galleryitem__asset {
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2);
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(3) .s7container,
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(3) .s7container .s7videoelement {
    height: calc(var(--mediagallery-grid-row-height) / 2 - var(--mediagallery-grid-gap) / 2) !important;
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(4) {
    grid-column: 1/span 2;
    grid-row: 3;
    height: var(--mediagallery-grid-row-height);
    /* Target the div of the media asset */
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(4) .galleryitem__asset {
    height: var(--mediagallery-grid-row-height);
  }
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(4) .s7container,
  .mediagallery__layout--quiltedAlternative .mediagallery__items--4 .galleryitem:nth-child(4) .s7container .s7videoelement {
    height: var(--mediagallery-grid-row-height) !important;
  }
}
.mediagallery__layout--quiltedAlternative .mediagallery__items .galleryitem {
  position: relative;
  max-height: calc(var(--mediagallery-grid-row-height));
  overflow: hidden;
}
.mediagallery__layout--quiltedAlternative .mediagallery__items .galleryitem .galleryitem__asset {
  height: calc(var(--mediagallery-grid-row-height));
}
.mediagallery__layout--quiltedAlternative .mediagallery__items .galleryitem .galleryitem__asset img {
  height: 100%;
  min-width: 100%;
  object-position: center;
  object-fit: cover;
}
.mediagallery__items {
  display: grid;
  grid-gap: var(--mediagallery-grid-gap);
  grid-template-columns: var(--mediagallery-grid-template-columns);
  grid-template-rows: var(--mediagallery-grid-template-rows);
  overflow: hidden;
}
.mediagallery__items .galleryitem {
  position: relative;
}
.mediagallery__items .galleryitem .cmp-image .img__asset {
  width: 100%;
}
.mediagallery__items .galleryitem--lightbox {
  display: none;
}
.mediagallery__items .galleryitem__asset {
  overflow: hidden;
}
.mediagallery .lightbox--active .galleryitem__open {
  width: 50px;
  height: 50px;
  background-color: #fff !important;
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  border: none;
  cursor: pointer;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  display: none;
  z-index: 1;
}
.mediagallery .lightbox--active .galleryitem__open::before, .mediagallery .lightbox--active .galleryitem__open::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
}
html[dir=rtl] .mediagallery .lightbox--active .galleryitem__open::before, html[dir=rtl] .mediagallery .lightbox--active .galleryitem__open::after {
  transform: translate(50%, -50%);
}
.mediagallery .lightbox--active .galleryitem__open:after {
  background-color: #53565a;
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/search.svg#search-icon-w24-view");
          mask-image: url("../../../../../../content/dam/volvo-media/list-icons/search.svg#search-icon-w24-view");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
@media (min-width: 1200px) {
  .mediagallery .lightbox--active .galleryitem__open:after {
    -webkit-mask-image: url("../../../../../../content/dam/volvo-media/list-icons/search.svg#search-icon-w16-view");
            mask-image: url("../../../../../../content/dam/volvo-media/list-icons/search.svg#search-icon-w16-view");
  }
}
html[dir=rtl] .mediagallery .lightbox--active .galleryitem__open {
  transform: translate(50%, -50%);
}
.mediagallery .lightbox--active .galleryitem--gallery::before {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  transition: opacity 0.2s ease;
  z-index: 1;
}
.mediagallery .lightbox--active .galleryitem:hover {
  cursor: pointer;
}
.mediagallery .lightbox--active .galleryitem:hover .galleryitem__open {
  display: block;
}
.mediagallery .lightbox--active .galleryitem:hover .galleryitem--gallery::before {
  opacity: 1;
}
.mediagallery__button--showMore {
  font-family: var(--ff-regular);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: var(--ls-default);
  cursor: pointer;
  display: block;
  width: max-content;
  margin-inline-start: auto;
  margin-block-start: 30px;
  background: none;
  border: none;
  outline: inherit;
}
.mediagallery__button--showMore span {
  pointer-events: none;
}
.mediagallery__fixedHeight {
  max-height: none;
  overflow-x: visible;
}
.mediagallery__fixedHeight::after {
  content: none;
}
.mediagallery__video {
  cursor: pointer;
  /* Affect z-index to make the overlay visible when hovering DM videos */
}
.mediagallery__video .img__asset .s7container {
  z-index: 0;
}
.mediagallery__video .s7videoviewer {
  --s7-video-iconeffect-scale: scale(0.6);
}
.mediagallery__video .s7smartcropvideoviewer {
  --s7-video-iconeffect-scale: scale(0.4);
}
.mediagallery__video .s7videoviewer .s7controlbar,
.mediagallery__video .s7smartcropvideoviewer .s7controlbar {
  display: none;
}
.mediagallery__video .s7videoviewer .s7iconeffect,
.mediagallery__video .s7smartcropvideoviewer .s7iconeffect {
  visibility: hidden;
}
.mediagallery__video .s7videoplayer .s7waiticon {
  opacity: 0;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL3ZhcmlhYmxlcy9faW1wb3J0X3ZhcmlhYmxlcy5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvdmFyaWFibGVzL190eXBvZ3JhcGhpZXMuc2NzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL3ZhcmlhYmxlcy9fel9pbmRleC5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvZnVuY3Rpb25zL19ubi1weC10by1lbS5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvZnVuY3Rpb25zL19ubi1weC10by1yZW0uc2NzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL2Fic3RyYWN0L2Z1bmN0aW9ucy9fbm4tcHgtdG8tdW5pdC5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvZnVuY3Rpb25zL19ubi1weC10by11bml0bGVzcy5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvZnVuY3Rpb25zL19ubi1zdHJpcC11bml0LnNjc3MiLCJmaWxlOi8vL2J1aWxkX3Jvb3QvYnVpbGQvZ2xvYmFsLXAxMTA0OTgtdWs0MzAxMS92b2x2by1jbGllbnRsaWJzLWFwcHMvc3JjL21haW4vZnJvbnRlbmQvdm9sdm8vY29tbW9uL3N0eWxlcy9hYnN0cmFjdC9mdW5jdGlvbnMvX25uLXotaW5kZXguc2NzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL2Fic3RyYWN0L2Z1bmN0aW9ucy9fc3RyaXAtdW5pdC5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvZnVuY3Rpb25zL19weC10by1heGlzLXVuaXQuc2NzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL2Fic3RyYWN0L2Z1bmN0aW9ucy9fc3dhcC1sZWZ0LXJpZ2h0LXZhbHVlcy5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvZnVuY3Rpb25zL19zd2FwLWxlZnQtcmlnaHQtbmFtZXMuc2NzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL2Fic3RyYWN0L2Z1bmN0aW9ucy9fc3BhY2luZy5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvbWl4aW5zL19mb250LWljb24uc2NzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL2Fic3RyYWN0L21peGlucy9fZm9jdXMtY29sb3Iuc2NzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL2Fic3RyYWN0L21peGlucy9faWdub3JlLWNvbnRhaW5lci5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvbWl4aW5zL19nZW5lcmF0ZS1hZW0tZ3JpZC5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvbWl4aW5zL19idXR0b24uc2NzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL2Fic3RyYWN0L21peGlucy9fbGluZS1jbGFtcC5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvbWl4aW5zL190eXBvZ3JhcGh5LnNjc3MiLCJmaWxlOi8vL2J1aWxkX3Jvb3QvYnVpbGQvZ2xvYmFsLXAxMTA0OTgtdWs0MzAxMS92b2x2by1jbGllbnRsaWJzLWFwcHMvc3JjL21haW4vZnJvbnRlbmQvdm9sdm8vY29tbW9uL3N0eWxlcy9hYnN0cmFjdC9taXhpbnMvX2hpZGRlbi5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvYWJzdHJhY3QvbWl4aW5zL19vdmVybGF5LnNjc3MiLCJmaWxlOi8vL2J1aWxkX3Jvb3QvYnVpbGQvZ2xvYmFsLXAxMTA0OTgtdWs0MzAxMS92b2x2by1jbGllbnRsaWJzLWFwcHMvc3JjL21haW4vZnJvbnRlbmQvdm9sdm8vY29tbW9uL3N0eWxlcy9hYnN0cmFjdC9taXhpbnMvX3RvcC1ib3R0b20tYm9yZGVyLnNjc3MiLCJmaWxlOi8vL2J1aWxkX3Jvb3QvYnVpbGQvZ2xvYmFsLXAxMTA0OTgtdWs0MzAxMS92b2x2by1jbGllbnRsaWJzLWFwcHMvc3JjL21haW4vZnJvbnRlbmQvdm9sdm8vY29tbW9uL3N0eWxlcy9hYnN0cmFjdC9taXhpbnMvX3Jlc2V0LWZ1bGx3aWR0aC1tYXJnaW5zLnNjc3MiLCJmaWxlOi8vL2J1aWxkX3Jvb3QvYnVpbGQvZ2xvYmFsLXAxMTA0OTgtdWs0MzAxMS92b2x2by1jbGllbnRsaWJzLWFwcHMvc3JjL21haW4vZnJvbnRlbmQvdm9sdm8vY29tbW9uL3N0eWxlcy9hYnN0cmFjdC9taXhpbnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL3NoYXJlZC9jb21wb25lbnRzL2NvbnRlbnQvbWVkaWFnYWxsZXJ5djIvbWVkaWFnYWxsZXJ5djIuY2xpZW50bGlicy5zY3NzIiwiLi4vdGFyZ2V0L3ZhdWx0LXdvcmsvamNyX3Jvb3QvYXBwcy92b2x2by9jbGllbnRsaWJzL3NoYXJlZC9jb21wb25lbnRzL2NvbnRlbnQvbWVkaWFnYWxsZXJ5djIvbWVkaWFnYWxsZXJ5djIuYnVuZGxlLmNzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL2xpYi9tZWRpYS9fYXNzZXQuc2NzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9jb21tb24vc3R5bGVzL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCJmaWxlOi8vL2J1aWxkX3Jvb3QvYnVpbGQvZ2xvYmFsLXAxMTA0OTgtdWs0MzAxMS92b2x2by1jbGllbnRsaWJzLWFwcHMvc3JjL21haW4vZnJvbnRlbmQvdm9sdm8vY29tbW9uL3N0eWxlcy9saWIvbWVkaWEvX211dGVjb250cm9sbGVyLnNjc3MiLCJmaWxlOi8vL2J1aWxkX3Jvb3QvYnVpbGQvZ2xvYmFsLXAxMTA0OTgtdWs0MzAxMS92b2x2by1jbGllbnRsaWJzLWFwcHMvYnVpbGQvbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvbGliL3ZvbHZvaWNvbnMvX3ZhcmlhYmxlcy5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvbGliL21lZGlhL192aWRlb2NvbnRyb2xzLnNjc3MiLCJmaWxlOi8vL2J1aWxkX3Jvb3QvYnVpbGQvZ2xvYmFsLXAxMTA0OTgtdWs0MzAxMS92b2x2by1jbGllbnRsaWJzLWFwcHMvc3JjL21haW4vZnJvbnRlbmQvdm9sdm8vY29tbW9uL3N0eWxlcy9saWIvbWVkaWEvX21peGlucy5zY3NzIiwiZmlsZTovLy9idWlsZF9yb290L2J1aWxkL2dsb2JhbC1wMTEwNDk4LXVrNDMwMTEvdm9sdm8tY2xpZW50bGlicy1hcHBzL3NyYy9tYWluL2Zyb250ZW5kL3ZvbHZvL2NvbW1vbi9zdHlsZXMvbGliL21lZGlhL19pbWFnZWNvbnRyb2xzLnNjc3MiLCJmaWxlOi8vL2J1aWxkX3Jvb3QvYnVpbGQvZ2xvYmFsLXAxMTA0OTgtdWs0MzAxMS92b2x2by1jbGllbnRsaWJzLWFwcHMvc3JjL21haW4vZnJvbnRlbmQvdm9sdm8vY29tbW9uL3N0eWxlcy9saWIvbGlnaHRib3gvbGlnaHRib3guc2NzcyIsImZpbGU6Ly8vYnVpbGRfcm9vdC9idWlsZC9nbG9iYWwtcDExMDQ5OC11azQzMDExL3ZvbHZvLWNsaWVudGxpYnMtYXBwcy9zcmMvbWFpbi9mcm9udGVuZC92b2x2by9zaGFyZWQvY29tcG9uZW50cy9jb250ZW50L21lZGlhZ2FsbGVyeXYyL21lZGlhZ2FsbGVyeXYyLmxheW91dHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Q0FBQTtBQ0ZBOzs7Q0FBQTtBQ0VBOztFQUFBO0FDRkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ1dBOzs7Ozs7Ozs7O0NBQUE7QUFtQkE7OztDQUFBO0FBUUE7OztDQUFBO0FDdENBLHNCQUFBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNGQSxzQkFBQTtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDRkE7c0VBQUE7QUFJQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDSkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0NBLHdDQUFBO0FDREE7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7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QUFBO0FDNHVFWjtBRHp1RVE7RUFDSSx1Q0FBQTtBQzJ1RVo7QUR0dUVZOztFQUNJLGFBQUE7QUN5dUVoQjtBRHR1RVk7O0VBQ0ksa0JBQUE7QUN5dUVoQjtBRHJ1RVE7RUFDSSxVQUFBO0FDdXVFWiIsImZpbGUiOiIuLi90YXJnZXQvdmF1bHQtd29yay9qY3Jfcm9vdC9hcHBzL3ZvbHZvL2NsaWVudGxpYnMvc2hhcmVkL2NvbXBvbmVudHMvY29udGVudC9tZWRpYWdhbGxlcnl2Mi9tZWRpYWdhbGxlcnl2Mi5idW5kbGUuY3NzIiwic291cmNlc0NvbnRlbnQiOltudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCIvKlxuQWxzbyBwbGVhc2UgZm9sbG93IHRoaXNcbkRvIHlvdXIgcHJvamVjdCBoYXZlIGRpZmVyZW50IGNoYXJzZXQgbGFuZ3VhZ2VzIHRvIGFjY291bnQgd2l0aD9cbiAgICAgIC0gWWVzIC0+IGZvbGxvdyBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9DU1MrLStGb250K05vcm1hbGl6YXRpb25cbiAgICAgIC0gTm8gLT4gWW91IGNhbiBzdGlsbCB1c2UgaXQsIHRoZXJlIGFyZSB0b25zIG9mIGFkdmFudGFnZXMsIGJ1dCBpdHMgY3JlYXRlIHNvbWUgZXh0cmEgY3NzIGFuZCBsYXlvdXQgcmVuZGVyaW5nXG4qL1xuLypcbiAgKiBEZXNpZ24gc3BlYzpcbiAgKiBodHRwczovL3d3dy5maWdtYS5jb20vZmlsZS9TUjRydlFsTm5DbVBNclE5V1lhSXF2L2JyYW5jaC9USnFrRnltcTA5d2Y4S3dtWTFXTmNqL1ZvbHZvLUFFTS1EZXNpZ24tc3lzdGVtP3R5cGU9ZGVzaWduJm5vZGUtaWQ9Ny0yNiZ0PXBBbTkxNlZSaXFDT0QySTEtMFxuKi9cbi8qKlxuICogei1pbmRleGVzIGZyb20gbG93ZXIgdG8gLT4gaGlnaGVyXG4gKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0XG5uYW1lOiBweC10by11bml0XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGEgcHJvcGVydHkgYW5kIHZhbHVlIChwaXhlbCBiYXNlZCB3aXRob3V0IHVuaXQpXG5cbkNhbGN1bGF0ZXMgcmVtIC8gZW0gLyAlIGZyb20gZ2l2ZW4gcGl4ZWwgYW5kIGJhc2UgKGRlZmF1bHQgYmFzZSBpcyB0aGVcbmJhc2UtZm9udC1zaXplLCAxNnB4KVxuSWYgcnRsIGlzIHRydWUsIHRoaXMgbWl4aW4gaGFuZGxlcyBhbGwgdGhlIGRpcmVjdGlvbiBzdHVmZjpcbi0gU3dpdGNoaW5nIHRoZSB2YWx1ZXMsIHdoZW4gd2UgaGF2ZSBleGFjdGx5IDQgdmFsdWVzXG4tIFN3aXRjaGluZyBsZWZ0IGFuZCByaWdodCBpbiBwcm9wZXJ0aWVzIChwYWRkaW5nIGFuZCBtYXJnaW4pXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1IChmb3IgZW0gb3IgJSB0byBwaXhlbCAtIHdpdGggYmFzZSBwYXJhbWV0ZXIpXG4tcmVtIChmb3IgcmVtIHRvIHBpeGVsIC0gd2l0aG91dCBiYXNlIHBhcmFtZXRlcilcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRwcm9wZXJ0eSA9IHBhZGRpbmcgfCBtYXJnaW4gfCBmb250LXNpemUgfCB3aWR0aCB8IGhlaWdodFxuQHBhcmFtZXRlciAkdmFsdWUgPSBQaXhlbCBiYXNlZCBudW1iZXIgLSBhZGQgcHggdG8ga2VlcCB0aGUgcHggZm9yIGEgdmFsdWVcbkBwYXJhbWV0ZXIgJGJhc2UgPSBweCBiYXNlZCBudW1iZXIsIERlZmF1bHQ6IDE2cHhcbkBwYXJhbWV0ZXIgJHVuaXQgPSBTZXQgdW5pdDogcHggfCBlbSB8IHJlbSB8IHBlcmNlbnRcblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbmFic3RyYWN0L2Z1bmN0aW9ucy9zd2FwLWxlZnQtcmlnaHRcbmFic3RyYWN0L2Z1bmN0aW9ucy9zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbkBpbmNsdWRlIG5uLXB4LXRvLXVuaXQocGFkZGluZywgMCAxMHB4IDIwIDApOyA9PiBwYWRkaW5nOiAwIDEwcHggMS4yNXJlbSAwO1xuQGluY2x1ZGUgbm4tcHgtdG8tdW5pdChwYWRkaW5nLCAwIDEwIDIwIDApOyA9PiBwYWRkaW5nOiAwIDAuNjI1cmVtIDEuMjVyZW0gMDtcbkBpbmNsdWRlIG5uLXB4LXRvLXVuaXQocGFkZGluZy1sZWZ0LCAxMCk7XG5AaW5jbHVkZSBubi1weC10by11bml0KHBhZGRpbmctcmlnaHQsIDEwKTtcbkBpbmNsdWRlIG5uLXB4LXRvLXVuaXQobWFyZ2luLCAwIDEwIDIwIDApO1xuQGluY2x1ZGUgbm4tcHgtdG8tdW5pdChtYXJnaW4tbGVmdCwgMTApO1xuQGluY2x1ZGUgbm4tcHgtdG8tdW5pdChtYXJnaW4tcmlnaHQsIDEwKTtcbkBpbmNsdWRlIG5uLXB4LXRvLXVuaXQoZm9udC1zaXplLCAyMCk7XG5AaW5jbHVkZSBubi1weC10by11bml0KHdpZHRoLCAxMDApO1xuQGluY2x1ZGUgbm4tcHgtdG8tdW5pdChtaW4td2lkdGgsIDEwMCk7XG5AaW5jbHVkZSBubi1weC10by11bml0KG1hbm4td2lkdGgsIDEwMCk7XG5AaW5jbHVkZSBubi1weC10by11bml0KGhlaWdodCwgMTAwKTtcbkBpbmNsdWRlIG5uLXB4LXRvLXVuaXQobWluLWhlaWdodCwgMTAwKTtcbkBpbmNsdWRlIG5uLXB4LXRvLXVuaXQobWFubi1oZWlnaHQsIDEwMCk7XG5gYGBcblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9jc3MvbGVzcy1taXhpbi1mb3ItcmVtLWZvbnQtc2l6aW5nL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cbiMjIFNvdXJjZVxuLS0tXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLypcbiAgICBUaGlzIG1peGluIGNvbnZlcnRzIGFueSB1bml0bGVzcyBudW1iZXIgKGZvciBleGFtcGxlIDQwKSB0byB0aGUgY29ycmVjdCB1bml0LCBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIGF4aXMuXG5cbiAgICBQYXJhbWV0ZXJzOlxuICAgIC0gJHZhbHVlOiB1bml0bGVzcyBudW1iZXIgdG8gYmUgY29udmVydGVkLiBBIHVuaXQgaW4gJHZhbHVlIHdpbGwgY29ycmVzcG9uZCB0byBhIHB4IGluIHRoZSBicm93c2VyLFxuICAgICAgICBubyBtYXR0ZXIgaWYgaXQncyBvdXRwdXQgYXMgcHggb3IgcmVtXG5cbiAgICBSZXR1cm5zXG4gICAgLSBIb3Jpem9udGFsOiB3aWxsIGNvbnZlcnQgdGhlIG51bWJlciB0byBwaXhlbHMgKDQwcHgpXG4gICAgLSBWZXJ0aWNhbDogd2lsbCBjb252ZXJ0IHRoZSBudW1iZXIgdG8gcmVtIChpZiByZW0gPT09IDE2cHgsIHRoZW4gNDAgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMi41IHJlbSlcbiovXG4vKlxuICAgIENvbnZlcnRzIGEgdW5pdGxlc3MgbnVtYmVyIHRvIHRoZSBjb3JyZXNwb25kaW5nIHVuaXQgb24gdGhlIGhvcml6b250YWwgYXhpcy5cbiAgICBCeSBkZWZhdWx0IHdpbGwgY29udmVydCB0aGUgdmFsdWUgdG8gcHguXG4qL1xuLypcbiAgICBDb252ZXJ0cyBhIHVuaXRsZXNzIG51bWJlciB0byB0aGUgY29ycmVzcG9uZGluZyB1bml0IG9uIHRoZSB2ZXJ0aWNhbCBheGlzLlxuICAgIEJ5IGRlZmF1bHQgd2lsbCBjb252ZXJ0IHRoZSB2YWx1ZSB0byByZW0uXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogU3dhcCBsZWZ0IHJpZ2h0IHZhbHVlc1xubmFtZTogc3dhcC1sZWZ0LXJpZ2h0LXZhbHVlc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN3YXAgdGhlIHZhbHVlcyBmb3IgcmlnaHQgYW5kIGxlZnQgd2hlbiAkcnRsIGlzIHNldCB0byB0cnVlOlxuXG5JbjogIDAgNXB4IDhweCAxMnB4XG5PdXQ6IDAgMTJweCA4cHggNXB4IChpbiBydGwpXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWVzID0gNCBudW1iZXJzICh3b3JrcyB3aXRoIGFsbCB1bml0cylcblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuc3dhcC1sZWZ0LXJpZ2h0LXZhbHVlcygwIDFweCA4cHggMTJweCkgLy8gMCAxMnB4IDhweCAxcHhcbnN3YXAtbGVmdC1yaWdodC12YWx1ZXMoMCAxZW0gOGVtIDEyZW0pIC8vIDAgMTJlbSA4ZW0gMWVtXG53YXAtbGVmdC1yaWdodC12YWx1ZXMoMCAxcmVtIDhyZW0gMTJyZW0pIC8vIDAgMTJyZW0gOHJlbSAxcmVtXG5gYGBcblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTQxOTkzMjMvcmlnaHQtdG8tbGVmdC1ydGwtc3VwcG9ydC1pbi1zYXNzLXByb2plY3RcblxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IFN3YXAgbGVmdCByaWdodCBuYW1lc1xubmFtZTogc3dhcC1sZWZ0LXJpZ2h0LW5hbWVzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3dhcCB0aGUgbmFtZXMgcmlnaHQgYW5kIGxlZnQgd2hlbiAkcnRsIGlzIHNldCB0byB0cnVlLlxuSWYgdGhlIHZhbHVlIGlzIG5vdCByaWdodCBvciBsZWZ0IGl0IHJldHVybnMgdGhlIG9yaWdpbmFsIHZhbHVlLlxuXG5JbjogIHJpZ2h0XG5PdXQ6IGxlZnQgKGluIHJ0bCksIHJpZ2h0IChpbiBsdHIpXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkb3JpZ2luID0gcmlnaHQgfCBsZWZ0XG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbnN3YXAtbGVmdC1yaWdodC1uYW1lKGxlZnQpXG5zd2FwLWxlZnQtcmlnaHQtbmFtZShyaWdodClcbmBgYFxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNDE5OTMyMy9yaWdodC10by1sZWZ0LXJ0bC1zdXBwb3J0LWluLXNhc3MtcHJvamVjdFxuXG4qL1xuLyogIExpc3Qgb2YgQ1NTIHByb3BlcnRpZXMgdGhhdCB3aWxsIGFsd2F5cyBiZSBvdXRwdXQgYXQgbGVhc3QgYXMgMiBkaWZmZXJlbnQgdmFsdWVzXG4gICAgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBjb252ZXJ0IGVhY2ggb25lIHRvIHRoZSBjb3JyZWN0IGF4aXMgdW5pdCAqL1xuLypcbiAgICBNaXhpbiBmb3IgYXV0b21hdGljYWxseSBoYW5kbGluZyBzcGFjaW5ncyBhcm91bmQvYmV0d2VlbiBlbGVtZW50cy5cblxuICAgIFRoaXMgbWl4aW4gd2lsbCBhdXRvbWF0aWNhbGx5IGludmVydCB0aGUgbGVmL3JpZ2h0IGRpcmVjdGlvbnMgaW4gUlRMIGxhbmd1YWdlcy5cbiAgICBBbHNvLCB0aGUgdW5pdGxlc3MgdmFsdWVzIHdpbGwgYmUgY29udmVydGVkIHRvIHRoZSBwcm9wZXIgdW5pdCBhY2NvcmRpbmcgdG8gdGhlIGF4aXNcblxuICAgIFBhcmFtZXRlcnM6XG4gICAgLSAkcHJvcGVydHktbmFtZTogbmFtZSBvZiB0aGUgQ1NTIHByb3BlcnR5IHRoYXQgc2hvdWxkIGJlIG91dHB1dC4gU3VwcG9ydGVkIHByb3BlcnRpZXMgYXJlOlxuICAgICAgICBtYXJnaW4sIG1hcmdpbi10b3AsIG1hcmdpbi1yaWdodCwgbWFyZ2luLWJvdHRvbSwgbWFyZ2luLWxlZnRcbiAgICAgICAgcGFkZGluZywgcGFkZGluZy10b3AsIHBhZGRpbmctcmlnaHQsIHBhZGRpbmctYm90dG9tLCBwYWRkaW5nLWxlZnRcbiAgICAgICAgd2lkdGgsIGhlaWdodCwgbWluLXdpZHRoLCBtYXgtd2lkdGgsIG1pbi1oZWlnaHQsIG1pbi1oZWlnaHRcbiAgICAtICR2YWx1ZTogdmFsdWUgdGhhdCB3aWxsIGJlIG91dHB1dCBhcyBwYXJ0IG9mIHRoZSBnaXZlbiBwcm9wZXJ0eS4gU3VwcG9ydGVkIHZhbHVlcyBhcmU6XG4gICAgICAgIFVuaXRsZXNzIG51bWJlciAoNDApOiB0aGlzIHNob3VsZCBiZSB1c2VkIG1vc3Qgb2YgdGhlIHRpbWVzLiBJdCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29udmVydGVkXG4gICAgICAgICAgICB0byB0aGUgY29ycmVjdCB1bml0IGRlcGVuZGluZyBvbiB0aGUgYXhpcyB3aGVyZSBpdCdzIHVzZWQgKGhvcml6b250YWwgYXhpcyA9PiBweCwgdmVydGljYWwgYXhpcyA9PiByZW0pLlxuICAgICAgICAgICAgRWFjaCB1bml0IGluICR2YWx1ZSB3aWxsIGNvcnJlc3BvbmQgdG8gYSBweCBpbiB0aGUgYnJvd3Nlciwgbm8gbWF0dGVyIHRvIHdoaWNoIHVuaXQgaXQgd2lsbCBiZSBjb252ZXJ0ZWQuXG4gICAgICAgIE51bWJlciB3aXRoIHVuaXQgKDQwcHgsIDQwJS4uLik6IHRoZSBudW1iZXIgYW5kIHRoZSB1bml0IHdpbGwgYmUgcHJlc2VydmVkIGFuZCBvbmx5IHRoZSBsZWZ0L3JpZ2h0IGludmVyc2lvblxuICAgICAgICAgICAgd2lsbCBiZSBkb25lIGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgIExpc3Qgb2YgdmFsdWVzICg0MCAzMCUgMjAgMTApOiBtYXJnaW4gYW5kIHBhZGRpbmcgc2hvcnRoYW5kcyB3aGl0aCBtdWx0aXBsZSB2YWx1ZXMgYXJlIHN1cHBvcnRlZC5cbiAgICAgICAgICAgIFRoZSBsZWZ0L3JpZ2h0IHZhbHVlcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc3dhcHBlZCBpbiBSVEwgYW5kIHRoZSB1bml0bGVzcyBudW1iZXJzIHdpbGwgYmUgY29udmVydGVkXG4gICAgICAgICAgICB0byB0aGUgY29ycmVzcG9uZGluZyB1bml0LiBVbml0bGVzcyBhbmQgbnVtYmVycyB3aXRoIHVuaXRzIGNhbiBiZSBtaXhlZCBpbiB0aGUgc2FtZSBjYWxsLlxuICAgICAgICBVc2luZyBjYWxjKCkgaW4gYW55IG9mIHRoZSBwcmV2aW91cyBleGFtcGxlcyBpcyBzdXBwb3J0ZWQsIGFsdGhvdWdoIG5vIHVuaXQgY29udmVyc2lvbiB3aWxsIGJlIGRvbmVcblxuICMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbkBpbmNsdWRlIHNwYWNpbmcocGFkZGluZywgMCAxMHB4IDIwIDApOyA9PiBwYWRkaW5nOiAwIDEwcHggMnJlbSAwO1xuQGluY2x1ZGUgc3BhY2luZyhwYWRkaW5nLCAwIDEwIDIwIDApOyA9PiBwYWRkaW5nOiAwIDEwcHggMnJlbSAwO1xuQGluY2x1ZGUgc3BhY2luZyhwYWRkaW5nLWxlZnQsIDEwKTtcbkBpbmNsdWRlIHNwYWNpbmcocGFkZGluZy1yaWdodCwgMTApO1xuQGluY2x1ZGUgc3BhY2luZyhtYXJnaW4sIDAgMTAgMjAgMCk7XG5AaW5jbHVkZSBzcGFjaW5nKG1hcmdpbi1sZWZ0LCAxMCk7XG5AaW5jbHVkZSBzcGFjaW5nKG1hcmdpbi1yaWdodCwgMTApO1xuQGluY2x1ZGUgc3BhY2luZyh3aWR0aCwgMTAwKTtcbkBpbmNsdWRlIHNwYWNpbmcobWluLXdpZHRoLCAxMDApO1xuQGluY2x1ZGUgc3BhY2luZyhtYXgtd2lkdGgsIDEwMCk7XG5AaW5jbHVkZSBzcGFjaW5nKGhlaWdodCwgMTAwKTtcbkBpbmNsdWRlIHNwYWNpbmcobWluLWhlaWdodCwgMTAwKTtcbkBpbmNsdWRlIHNwYWNpbmcobWF4LWhlaWdodCwgMTAwKTtcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogQ2xlYXJmaXhcbm5hbWU6IGNsZWFyZml4XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQ2xlYXJzIGFmdGVyIGZsb2F0aW5nIGVsZW1lbnRcblxuVXNlIHRoaXMgbWl4aW4gb25seSBpbnNpZGUgbWVkaWEgcXVlcmllcyB3aGVyZSB5b3UgY2FuJ3QgdXNlIHRoZVxuYWJzdHJhY3QvZXh0ZW5kcy91dGlscy9fY2xlYXJmaXggdmVyc2lvbiwgd2hpY2ggYWRkcyBsZXNzIGNvZGUgdG8gY3NzXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbkBpbmNsdWRlIGNsZWFyZml4O1xuYGBgXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy9jbGVhci1maXgvXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc3RyaW5nLW5vLW5ld2xpbmUgKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2lkdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuLyogR2VuZXJhdGVzIGFsbCB0aGUgcnVsZXMgZm9yIHRoZSBncmlkIGNvbHVtbnMgdXAgdG8gdGhlIGdpdmVuIGFtb3VudCBvZiBjb2x1bW4gKi9cbi8qIEdlbmVyYXRlcyBhbGwgdGhlIHJ1bGVzIGZvciB0aGUgZ3JpZCBjb2x1bW4gb2Zmc2V0IHVwIHRvIHRoZSBnaXZlbiBhbW91bnQgb2YgY29sdW1uICovXG4vKiBHZW5lcmF0ZXMgYWxsIHRoZSBydWxlcyBmb3IgdGhlIGdyaWQgYW5kIGNvbHVtbnMgZm9yIHRoZSBnaXZlbiBicmVhayBwb2ludCBhbmQgdG90YWwgb2YgY29sdW1ucyAqL1xuLyogQVBJIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB0byBnZW5lcmF0ZSBhIGdyaWQgY29uZmlnICovXG4vKiBkb2Ncbi0tLVxudHlwZTogYnV0dG9uIHR5cGVcbnN0YXRlOiBzdGF0ZSBidXR0b25cbi0tLVxuXG5CdXR0b24gc3R5bGVzXG5cblVzZSB0aGlzIG1peGluIGZvciBidXR0b24gc3R5bGVzOiBjb2xvciB0ZXh0LCBiYWNrZ3JvdW5kLCBib3JkZXJcblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuQGluY2x1ZGUgYnV0dG9uKHByaW1hcnkpO1xuYGBgXG4qL1xuLyogZG9jXG4tLS1cbmxpbmVMaW1pdDogVGhpcyB2YWx1ZSBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBsaW5lcyBhZnRlciB3aGljaCB0aGUgY29udGVudCB3aWxsIGJlIGNsYW1wZWQuIEl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDAuXG4tLS1cblxuVHJ1bmNhdGVzIHRleHQgYXQgYSBzcGVjaWZpYyBudW1iZXIgb2YgbGluZXMuXG5cblVzZSB0aGlzIG1peGluIHRvIGhpZGUgbG9uZyB0ZXh0LlxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5AaW5jbHVkZSBsaW5lLWNsYW1wKCRsaW5lTGltaXQ6IDQpO1xuYGBgXG4qL1xuLyogdHlwb2dyYXBoeVxuLS0tXG50aXRsZTogdHlwb2dyYXBoeVxubmFtZTogVHlwb2dyYXBoeVxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZHMgZm9udCBDU1MgcHJvcGVydGllcyBieSBhIG1hcCBwcm92aWRlZFxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkdC1zdHlsZVxuQHBhcmFtICRpcy1pbXBvcnRhbnQ6IGZhbHNlXG5cbiogJHQtc3R5bGUgaXMgZXhwZWN0ZWQgdG8gYmUgYSBtYXAgd2l0aCAnZGVmYXVsdCcgYW5kICdicmVha3BvaW50W3NdJyBzdWJtYXBzIHdpdGggYSBwcm9wZXJ0eVxuZm9yIGV2ZXJ5IGNzcyBwcm9wZXJ0eSB0byBiZSBzZXQuXG4qICRpcy1pbXBvcnRhbnQgcGFyYW1ldGVyIGFsbG93cyB0byBmb3JjZSB0eXBvZ3JhcGh5IHByb3BlcnRpZXMgdG8gYmUgc2V0IGFzICFpbXBvcnRhbnRcblRyeSB0byBhdm9pZCBpdHMgdXNlLCBidXQgaXQgbWlnaHQgYmUgbmVlZGVkIGZvciBzaXR1YXRpb25zIHdoZXJlIHN0eWxlcyBmb3IgYSBjb21wb25lbnRcbmFyZSB2ZXJ5IHNwZWNpZmljIGFuZCB0byBvdmVyd3JpdGUgdGhlIGdlbmVyaWMgb25lcyBpcyB0b28gY29tcGxleCAoaWYgdGhleSBoYXZlIGEgbG90IG9mIHNwZWNpZmljaXR5KVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBoaWRkZW5cbm5hbWU6IGhpZGRlblxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkhpZGUgZnJvbSBib3RoIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzOiBoNWJwLmNvbS91XG4jIyBQYXJhbWV0ZXJzXG4tLS1cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogb3ZlcmxheVxubmFtZTogb3ZlcmxheVxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkNyZWF0ZXMgYW4gb3ZlcmxheSB3aXRoIHRoZSBwcm92aWRlZCBiYWNrZ3JvdW5kIGNvbG9yXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkYmdDb2xvclxuXG4qL1xuLyoqXG4gKiBAbWl4aW4gdG9wLWJvdHRvbS1ib3JkZXJcbiAqIEBkZXNjIENyZWF0ZXMgYSBkeW5hbWljIGFuZCBjdXN0b21pemFibGUgYm9yZGVyIGF0IHRoZSBzcGVjaWZpZWQgcG9zaXRpb24gb24gYW4gZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gJHBvc2l0aW9uIC0gT3B0aW9uYWwsIERlZmF1bHQ6ICdib3R0b20nLiBEZWZpbmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgYm9yZGVyLiBBY2NlcHRzIHZhbHVlcyAndG9wJyBvciAnYm90dG9tJy5cbiAqIEBwYXJhbSB7Y29sb3J9ICRjb2xvciAtIE9wdGlvbmFsLCBEZWZhdWx0OiAnJGMtYmxhY2snLiBTcGVjaWZpZXMgdGhlIGNvbG9yIG9mIHRoZSBib3JkZXIuIEFjY2VwdHMgYW55IHZhbGlkIENTUyBjb2xvciB2YWx1ZS5cbiAqIEBwYXJhbSB7bGVuZ3RofSAkd2lkdGggLSBPcHRpb25hbCwgRGVmYXVsdDogJzJweCcuIFNldHMgdGhlIHdpZHRoIG9mIHRoZSBib3JkZXIuIEFjY2VwdHMgYW55IHZhbGlkIENTUyBsZW5ndGggdmFsdWUuXG4gKiBAcGFyYW0ge2xlbmd0aH0gJG1hcmdpbiAtIE9wdGlvbmFsLCBEZWZhdWx0OiAnMCcuIEFkZHMgbWFyZ2luIHRvIHRoZSBib3JkZXIuIEFjY2VwdHMgYW55IHZhbGlkIENTUyBsZW5ndGggdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqICAgLmV4YW1wbGUtZWxlbWVudCB7XG4gKiAgICAgICBAaW5jbHVkZSB0b3AtYm90dG9tLWJvcmRlcigkcG9zaXRpb246IHRvcCwgJGNvbG9yOiAkYy1ncmV5LXR3bywgJHdpZHRoOiAzcHgsICRtYXJnaW46IDEwcHgpO1xuICogICB9XG4gKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVzZXQtZnVsbHdpZHRoLW1hcmdpbnNcbm5hbWU6IHJlc2V0LWZ1bGx3aWR0aC1tYXJnaW5zXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuUmVzZXQgbWFyZ2lucyBmb3IgZnVsbCB3aWR0aCBjb21wb25lbnRzIGluc2lkZSBhIENvbnRhaW5lciBvciBhIENvbHVtbiBDb250cm9sXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiB2aXN1YWxseSBoaWRkZW5cbm5hbWU6IHZpc3VhbGx5IGhpZGRlblxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkhpZGRlbiBmcm9tIGJyb3dzZXJzIGJ1dCBhY2Nlc3NpYmxlIHRvIHNjcmVlbiByZWFkZXJzXG4jIyBQYXJhbWV0ZXJzXG4tLS1cblxuKi9cbi5tZWRpYWdhbGxlcnkge1xuICAvKiBTdHlsZXMgZm9yIHRoZSBtYWduaWZ5aW5nIGdsYXNzIGljb24gd2hlbiBsaWdodGJveCBpcyBhY3RpdmUgaW4gdGhlIGNvbXBvbmVudCAqL1xufVxuLm1lZGlhZ2FsbGVyeSAuYXNzZXRfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubWVkaWFnYWxsZXJ5IC5hc3NldF9faW1hZ2Uge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5tZWRpYWdhbGxlcnkgLmFzc2V0X192aWRlbyB7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbn1cbi5tZWRpYWdhbGxlcnkgLmFzc2V0X192aWRlby5vdmVybGF5LS1vcGVuIHtcbiAgei1pbmRleDogNTtcbn1cbi5tZWRpYWdhbGxlcnkgLmFzc2V0X190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mZi1yZWd1bGFyKTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbHMtZGVmYXVsdCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYmxvY2stc3RhcnQ6IDAuMzc1cmVtO1xuICBjb2xvcjogIzg4OGI4ZDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLm1lZGlhZ2FsbGVyeSAubXV0ZS1jb250cm9sbGVyIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuMyk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDk5OTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLm11dGUtY29udHJvbGxlciB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogMjBweDtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubXV0ZS1jb250cm9sbGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvdW5tdXRlLnN2ZyN1bm11dGUtaWNvbi13MjQtdmlld1wiKTtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiBjb3ZlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLm11dGUtY29udHJvbGxlcjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL3VubXV0ZS5zdmcjdW5tdXRlLWljb24tdzE2LXZpZXdcIik7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLm11dGUtY29udHJvbGxlci0tbXV0ZWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9tdXRlLnN2ZyNtdXRlLWljb24tdzI0LXZpZXdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY292ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5tdXRlLWNvbnRyb2xsZXItLW11dGVkOmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvbXV0ZS5zdmcjbXV0ZS1pY29uLXcxNi12aWV3XCIpO1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5IC5tdXRlLWNvbnRyb2xsZXItLXNob3duIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuLm1lZGlhZ2FsbGVyeSAuczdjb250YWluZXIge1xuICB6LWluZGV4OiAxO1xufVxuLm1lZGlhZ2FsbGVyeSAuczdjb250YWluZXIgLnM3Y29udHJvbGJhciB7XG4gIHBhZGRpbmctYmxvY2s6IDA7XG4gIHBhZGRpbmctaW5saW5lOiAyMHB4O1xuICBtYXJnaW4tYmxvY2stZW5kOiAyMHB4O1xufVxuLm1lZGlhZ2FsbGVyeSAuczd2aWRlb3BsYXllciAuczdpY29uZWZmZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiA1MCUgIWltcG9ydGFudDtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCUgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4ubWVkaWFnYWxsZXJ5IC5zN3ZpZGVvcGxheWVyIC5zN2ljb25lZmZlY3Q6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1NjVhO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL3BsYXkuc3ZnI3BsYXktaWNvbi13MjQtdmlld1wiKTtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiBjb3ZlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLnM3dmlkZW9wbGF5ZXIgLnM3aWNvbmVmZmVjdDphZnRlciB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvcGxheS5zdmcjcGxheS1pY29uLXcxNi12aWV3XCIpO1xuICB9XG59XG5odG1sW2Rpcj1ydGxdIC5tZWRpYWdhbGxlcnkgLnM3dmlkZW9wbGF5ZXIgLnM3aWNvbmVmZmVjdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG4ubWVkaWFnYWxsZXJ5IC5zN3ZpZGVvcGxheWVyIC5zN2NhcHRpb24ge1xuICB6LWluZGV4OiA5OTk5O1xufVxuLm1lZGlhZ2FsbGVyeSAuczdjb250cm9sYmFyIHtcbiAgei1pbmRleDogOTk5OTk5OTk5O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGRpcmVjdGlvbjogbHRyO1xuICAvKiBLZWVwIGl0IGFzIGRpc3BsYXkgYmxvY2sgYnV0IG5vdCB2aXNpYmxlIHRvIGJlIGNsaWNrYWJsZSB2aWEgSlMgKGJ5IFM3IFZpZGVvVmlld2VyKSAqL1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5IC5zN2NvbnRyb2xiYXIgLnM3aW5uZXJjb250cm9sYmFyY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm1lZGlhZ2FsbGVyeSAuczdjb250cm9sYmFyIC5zN2tub2Ige1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbi5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczd2aWRlb3RpbWUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbi5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczdsYW5ndWFnZXN3aXRjaGJ1dHRvbixcbi5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczdmdWxsc2NyZWVuYnV0dG9uLFxuLm1lZGlhZ2FsbGVyeSAuczdjb250cm9sYmFyIC5zN2ljb25lZmZlY3Qge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ubWVkaWFnYWxsZXJ5IC5zN2NvbnRyb2xiYXIgLnM3bXV0YWJsZXZvbHVtZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLm1lZGlhZ2FsbGVyeSAuczdjb250cm9sYmFyIC5zN3BsYXlwYXVzZWJ1dHRvbiB7XG4gIHdpZHRoOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNTBweCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAsIDIwLCAyMCwgMC4zKTtcbn1cbi5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczdwbGF5cGF1c2VidXR0b246OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlZvbHZvSWNvbnNcIjtcbn1cbi5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczdwbGF5cGF1c2VidXR0b25bZGF0YS1jb21wb25lbnQ9UGxheVBhdXNlQnV0dG9uXSB7XG4gIGluc2V0OiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1MCU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDUwJTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ubWVkaWFnYWxsZXJ5IC5zN2NvbnRyb2xiYXIgLnM3cGxheXBhdXNlYnV0dG9uW2RhdGEtY29tcG9uZW50PVBsYXlQYXVzZUJ1dHRvbl1bc2VsZWN0ZWQ9dHJ1ZV06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9wbGF5LnN2ZyNwbGF5LWljb24tdzI0LXZpZXdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY292ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5zN2NvbnRyb2xiYXIgLnM3cGxheXBhdXNlYnV0dG9uW2RhdGEtY29tcG9uZW50PVBsYXlQYXVzZUJ1dHRvbl1bc2VsZWN0ZWQ9dHJ1ZV06YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9wbGF5LnN2ZyNwbGF5LWljb24tdzE2LXZpZXdcIik7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczdwbGF5cGF1c2VidXR0b25bZGF0YS1jb21wb25lbnQ9UGxheVBhdXNlQnV0dG9uXVtzZWxlY3RlZD1mYWxzZV06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9wYXVzZS5zdmcjcGF1c2UtaWNvbi13MjQtdmlld1wiKTtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiBjb3ZlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczdwbGF5cGF1c2VidXR0b25bZGF0YS1jb21wb25lbnQ9UGxheVBhdXNlQnV0dG9uXVtzZWxlY3RlZD1mYWxzZV06YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9wYXVzZS5zdmcjcGF1c2UtaWNvbi13MTYtdmlld1wiKTtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAuczdjb250cm9sYmFyIC5zN3ZpZGVvc2NydWJiZXIge1xuICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMjAsIDIwLCAwLjMpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyNXB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnNldC1ibG9jay1zdGFydDogMCAhaW1wb3J0YW50O1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IDAgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuLm1lZGlhZ2FsbGVyeSAuczdjb250cm9sYmFyIC5zN3ZpZGVvc2NydWJiZXIgLnM3dHJhY2ssXG4ubWVkaWFnYWxsZXJ5IC5zN2NvbnRyb2xiYXIgLnM3dmlkZW9zY3J1YmJlciAuczd0cmFja2xvYWRlZCxcbi5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczd2aWRlb3NjcnViYmVyIC5zN3RyYWNrcGxheWVkIHtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyM3B4KTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gIGluc2V0LWlubGluZS1zdGFydDogMDtcbn1cbi5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczd2aWRlb3NjcnViYmVyIC5zN3RyYWNrIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTY1YTtcbn1cbi5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczd2aWRlb3NjcnViYmVyIC5zN3RyYWNrbG9hZGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDlkOTtcbiAgb3BhY2l0eTogMC4xNTtcbn1cbi5tZWRpYWdhbGxlcnkgLnM3Y29udHJvbGJhciAuczd2aWRlb3NjcnViYmVyIC5zN3RyYWNrcGxheWVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDlkOTtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnM3aW5uZXJjb250cm9sYmFyY29udGFpbmVyID4gLnM3dmlkZW90aW1lIHtcbiAgaW5zZXQtaW5saW5lLWVuZDogMTMycHggIWltcG9ydGFudDtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnM3aW5uZXJjb250cm9sYmFyY29udGFpbmVyID4gLnM3dmlkZW90aW1lLm5vLXM3Y2FwdGlvbiB7XG4gIGluc2V0LWlubGluZS1lbmQ6IDEwMHB4ICFpbXBvcnRhbnQ7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2Nsb3NlZGNhcHRpb25idXR0b24ge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAsIDIwLCAyMCwgMC4zKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDk5OTk7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLWVuZDogMCAhaW1wb3J0YW50O1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2Nsb3NlZGNhcHRpb25idXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDIwcHg7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnM3Y2xvc2VkY2FwdGlvbmJ1dHRvbltzZWxlY3RlZD10cnVlXTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL3N1YnRpdGxlcy1pbmFjdGl2ZS5zdmcjc3VidGl0bGVzLWluYWN0aXZlLWljb24tdzI0LXZpZXdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY292ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2Nsb3NlZGNhcHRpb25idXR0b25bc2VsZWN0ZWQ9dHJ1ZV06YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9zdWJ0aXRsZXMtaW5hY3RpdmUuc3ZnI3N1YnRpdGxlcy1pbmFjdGl2ZS1pY29uLXcxNi12aWV3XCIpO1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2Nsb3NlZGNhcHRpb25idXR0b25bc2VsZWN0ZWQ9ZmFsc2VdOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvc3VidGl0bGVzLWFjdGl2ZS5zdmcjc3VidGl0bGVzLWFjdGl2ZS1pY29uLXcyNC12aWV3XCIpO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IGNvdmVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtZGlhbG9nLS12aWRlb0l0ZW0gLnM3Y29udHJvbGJhci5zN2NvbnRyb2xiYXItLXN1YnRpdGxlcyAuczdjbG9zZWRjYXB0aW9uYnV0dG9uW3NlbGVjdGVkPWZhbHNlXTpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL3N1YnRpdGxlcy1hY3RpdmUuc3ZnI3N1YnRpdGxlcy1hY3RpdmUtaWNvbi13MTYtdmlld1wiKTtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtZGlhbG9nLS12aWRlb0l0ZW0gLnM3Y29udHJvbGJhci5zN2NvbnRyb2xiYXItLXN1YnRpdGxlcyAuczdsYW5ndWFnZXN3aXRjaGJ1dHRvbiB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMjAsIDIwLCAwLjMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogOTk5OTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnNldC1pbmxpbmUtZW5kOiAwICFpbXBvcnRhbnQ7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnM3bGFuZ3VhZ2Vzd2l0Y2hidXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDIwcHg7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnM3bGFuZ3VhZ2Vzd2l0Y2hidXR0b246aGFzKC5zN2J1dHRvbi1kaXNhYmxlZCkge1xuICBvcGFjaXR5OiAwLjU7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2xhbmd1YWdlc3dpdGNoYnV0dG9uOmhhcyguczdidXR0b24tZGlzYWJsZWQpOmhvdmVyIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtZGlhbG9nLS12aWRlb0l0ZW0gLnM3Y29udHJvbGJhci5zN2NvbnRyb2xiYXItLXN1YnRpdGxlcyAuczdsYW5ndWFnZXN3aXRjaGJ1dHRvbiAuczdidXR0b24ge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2xhbmd1YWdlc3dpdGNoYnV0dG9uIC5zN2J1dHRvbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL2NvZy5zdmcjY29nLWljb24tdzI0LXZpZXdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY292ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2xhbmd1YWdlc3dpdGNoYnV0dG9uIC5zN2J1dHRvbjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL2NvZy5zdmcjY29nLWljb24tdzE2LXZpZXdcIik7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnM3bGFuZ3VhZ2Vzd2l0Y2hidXR0b24gLnM3YnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTY1YTtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnM3bGFuZ3VhZ2Vzd2l0Y2hidXR0b24gLnM3YnV0dG9uOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiA1MCU7XG4gIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNSkpO1xufVxuaHRtbFtkaXI9cnRsXSAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2xhbmd1YWdlc3dpdGNoYnV0dG9uIC5zN2J1dHRvbjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnM3bGFuZ3VhZ2Vzd2l0Y2hidXR0b24gLnN1YnRpdGxlTGFuZ3VhZ2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLWVuZDogY2FsYygxMDAlICsgOHB4KTtcbiAgaW5zZXQtaW5saW5lLWVuZDogNTAlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMjAsIDIwLCAwLjMpO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCA0cHggMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgY29sb3I6ICNmZmY7XG4gIG1heC1oZWlnaHQ6IDIwOHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHotaW5kZXg6IDk7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2xhbmd1YWdlc3dpdGNoYnV0dG9uIC5zdWJ0aXRsZUxhbmd1YWdlLS1vcGVuIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2xhbmd1YWdlc3dpdGNoYnV0dG9uIC5zdWJ0aXRsZUxhbmd1YWdlLS1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzU2NUE7XG4gIH1cbiAgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtZGlhbG9nLS12aWRlb0l0ZW0gLnM3Y29udHJvbGJhci5zN2NvbnRyb2xiYXItLXN1YnRpdGxlcyAuczdsYW5ndWFnZXN3aXRjaGJ1dHRvbiAuc3VidGl0bGVMYW5ndWFnZS0tb3BlbiAuc3VidGl0bGVMYW5ndWFnZV9faXRlbS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuMSk7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnM3bGFuZ3VhZ2Vzd2l0Y2hidXR0b24gLnN1YnRpdGxlTGFuZ3VhZ2VfX2l0ZW0ge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgcGFkZGluZy1ibG9jazogMTJweDtcbiAgcGFkZGluZy1pbmxpbmU6IDE2cHg7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2xhbmd1YWdlc3dpdGNoYnV0dG9uIC5zdWJ0aXRsZUxhbmd1YWdlX19pdGVtOjpmaXJzdC1sZXR0ZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnM3bGFuZ3VhZ2Vzd2l0Y2hidXR0b24gLnN1YnRpdGxlTGFuZ3VhZ2VfX2l0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuMSk7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2xhbmd1YWdlc3dpdGNoYnV0dG9uIC5zdWJ0aXRsZUxhbmd1YWdlX19pdGVtOmZvY3VzLCAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1kaWFsb2ctLXZpZGVvSXRlbSAuczdjb250cm9sYmFyLnM3Y29udHJvbGJhci0tc3VidGl0bGVzIC5zN2xhbmd1YWdlc3dpdGNoYnV0dG9uIC5zdWJ0aXRsZUxhbmd1YWdlX19pdGVtOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzFGNzhEMTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtZGlhbG9nLS12aWRlb0l0ZW0gLnM3Y29udHJvbGJhci5zN2NvbnRyb2xiYXItLXN1YnRpdGxlcyAuczdsYW5ndWFnZXN3aXRjaGJ1dHRvbiAuc3VidGl0bGVMYW5ndWFnZV9faXRlbS0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMjAsIDIwLCAwLjMpO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtZGlhbG9nLS12aWRlb0l0ZW0gLnM3Y29udHJvbGJhci5zN2NvbnRyb2xiYXItLXN1YnRpdGxlcyB2aWRlbyB7XG4gIHotaW5kZXg6IDAgIWltcG9ydGFudDtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWRpYWxvZy0tdmlkZW9JdGVtIC5zN2NvbnRyb2xiYXIuczdjb250cm9sYmFyLS1zdWJ0aXRsZXMgLnN1YnRpdGxlLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuNCk7XG4gIHotaW5kZXg6IDU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtZGlhbG9nLS12aWRlb0l0ZW0gLnM3Y29udHJvbGJhci5zN2NvbnRyb2xiYXItLXN1YnRpdGxlcyAuc3VidGl0bGUtb3ZlcmxheS0tb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLnpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5tZWRpYWdhbGxlcnkgLnpvb20tY29udGFpbmVyW21vZGU9bm9ybWFsXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbn1cbi5tZWRpYWdhbGxlcnkgLnpvb20tY29udGFpbmVyW21vZGU9bm9ybWFsXTo6YmFja2Ryb3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLm1lZGlhZ2FsbGVyeSAuem9vbS1jb250YWluZXJbbW9kZT1ub3JtYWxdIC5zN3pvb212aWV3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubWVkaWFnYWxsZXJ5IC56b29tLWNvbnRhaW5lcltkYXRhLW5hbWVzcGFjZT1zN2NsYXNzaWNdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubWVkaWFnYWxsZXJ5IC5zN2Z1bGxzY3JlZW5idXR0b24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5tZWRpYWdhbGxlcnkgW2RhdGEtY29tcG9uZW50PVpvb21JbkJ1dHRvbl0uczd6b29taW5idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNTBweCAhaW1wb3J0YW50O1xuICBpbnNldDogMDtcbn1cbi5tZWRpYWdhbGxlcnkgW2RhdGEtY29tcG9uZW50PVpvb21JbkJ1dHRvbl0uczd6b29taW5idXR0b246YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL3pvb20tcGx1cy5zdmcjem9vbS1wbHVzLWljb24tdzI0LXZpZXdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY292ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWVkaWFnYWxsZXJ5IFtkYXRhLWNvbXBvbmVudD1ab29tSW5CdXR0b25dLnM3em9vbWluYnV0dG9uOmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy96b29tLXBsdXMuc3ZnI3pvb20tcGx1cy1pY29uLXcxNi12aWV3XCIpO1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5IFtkYXRhLWNvbXBvbmVudD1ab29tSW5CdXR0b25dLnM3em9vbWluYnV0dG9uOjpiZWZvcmUsIC5tZWRpYWdhbGxlcnkgW2RhdGEtY29tcG9uZW50PVpvb21JbkJ1dHRvbl0uczd6b29taW5idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLm1lZGlhZ2FsbGVyeSBbZGF0YS1jb21wb25lbnQ9Wm9vbUluQnV0dG9uXS5zN3pvb21pbmJ1dHRvbjo6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGluc2V0OiAwO1xufVxuLm1lZGlhZ2FsbGVyeSBbZGF0YS1jb21wb25lbnQ9Wm9vbUluQnV0dG9uXS5zN3pvb21pbmJ1dHRvbltzdGF0ZT1kaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjM7XG59XG4ubWVkaWFnYWxsZXJ5IFtkYXRhLWNvbXBvbmVudD1ab29tT3V0QnV0dG9uXS5zN3pvb21vdXRidXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNTBweCAhaW1wb3J0YW50O1xuICBpbnNldDogMDtcbn1cbi5tZWRpYWdhbGxlcnkgW2RhdGEtY29tcG9uZW50PVpvb21PdXRCdXR0b25dLnM3em9vbW91dGJ1dHRvbjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvem9vbS1taW51cy5zdmcjem9vbS1taW51cy1pY29uLXcyNC12aWV3XCIpO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IGNvdmVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeSBbZGF0YS1jb21wb25lbnQ9Wm9vbU91dEJ1dHRvbl0uczd6b29tb3V0YnV0dG9uOmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy96b29tLW1pbnVzLnN2ZyN6b29tLW1pbnVzLWljb24tdzE2LXZpZXdcIik7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgW2RhdGEtY29tcG9uZW50PVpvb21PdXRCdXR0b25dLnM3em9vbW91dGJ1dHRvbjo6YmVmb3JlLCAubWVkaWFnYWxsZXJ5IFtkYXRhLWNvbXBvbmVudD1ab29tT3V0QnV0dG9uXS5zN3pvb21vdXRidXR0b246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLm1lZGlhZ2FsbGVyeSBbZGF0YS1jb21wb25lbnQ9Wm9vbU91dEJ1dHRvbl0uczd6b29tb3V0YnV0dG9uOjpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaW5zZXQ6IDA7XG59XG4ubWVkaWFnYWxsZXJ5IFtkYXRhLWNvbXBvbmVudD1ab29tT3V0QnV0dG9uXS5zN3pvb21vdXRidXR0b25bc3RhdGU9ZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4zO1xufVxuLm1lZGlhZ2FsbGVyeSBbZGF0YS1jb21wb25lbnQ9Wm9vbVJlc2V0QnV0dG9uXS5zN3pvb21yZXNldGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDUwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIGluc2V0OiAwO1xufVxuLm1lZGlhZ2FsbGVyeSBbZGF0YS1jb21wb25lbnQ9Wm9vbVJlc2V0QnV0dG9uXS5zN3pvb21yZXNldGJ1dHRvbjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvcmVzZXQuc3ZnI3Jlc2V0LWljb24tdzI0LXZpZXdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY292ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWVkaWFnYWxsZXJ5IFtkYXRhLWNvbXBvbmVudD1ab29tUmVzZXRCdXR0b25dLnM3em9vbXJlc2V0YnV0dG9uOmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9yZXNldC5zdmcjcmVzZXQtaWNvbi13MTYtdmlld1wiKTtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSBbZGF0YS1jb21wb25lbnQ9Wm9vbVJlc2V0QnV0dG9uXS5zN3pvb21yZXNldGJ1dHRvbjo6YmVmb3JlLCAubWVkaWFnYWxsZXJ5IFtkYXRhLWNvbXBvbmVudD1ab29tUmVzZXRCdXR0b25dLnM3em9vbXJlc2V0YnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5tZWRpYWdhbGxlcnkgW2RhdGEtY29tcG9uZW50PVpvb21SZXNldEJ1dHRvbl0uczd6b29tcmVzZXRidXR0b246OmJlZm9yZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBpbnNldDogMDtcbn1cbi5tZWRpYWdhbGxlcnkgW2RhdGEtY29tcG9uZW50PVpvb21SZXNldEJ1dHRvbl0uczd6b29tcmVzZXRidXR0b25bc3RhdGU9ZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4zO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtYXNzZXQtdmlkZW8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1hc3NldC12aWRlbyAuczdzb2NpYWxzaGFyZSxcbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWFzc2V0LXZpZGVvIC5zN2ljb25lZmZlY3QsXG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1hc3NldC12aWRlbyAuczdjbG9zZWRjYXB0aW9uYnV0dG9uIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtYXNzZXQtdmlkZW8gLnM3dmlkZW9wbGF5ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWFzc2V0LXZpZGVvIC5zN3ZpZGVvcGxheWVyIHZpZGVvIHtcbiAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtYXNzZXQtdmlkZW8gLnM3ZG0tZHluYW1pYy1tZWRpYSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtYXNzZXQtdmlkZW8gLmxpZ2h0Ym94X192aWRlby1jYXB0aW9uLWhlYWRpbmcge1xuICBtYXgtd2lkdGg6IDI1NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWFzc2V0LXZpZGVvIC5saWdodGJveF9fdmlkZW8tY2FwdGlvbi1oZWFkaW5nIHtcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1hc3NldC12aWRlbyAubGlnaHRib3hfX3ZpZGVvLWNhcHRpb24tZGVzY3JpcHRpb24ge1xuICBtYXgtd2lkdGg6IDI1NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWFzc2V0LXZpZGVvIC5saWdodGJveF9fdmlkZW8tY2FwdGlvbi1kZXNjcmlwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtYnRuIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1jbG9zZSB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAyMHB4O1xuICBpbnNldC1pbmxpbmUtZW5kOiAyMHB4O1xuICB6LWluZGV4OiAzO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtY2xvc2U6OmJlZm9yZSwgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtY2xvc2U6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1zdGFydDogNTAlO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5odG1sW2Rpcj1ydGxdIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWNsb3NlOjpiZWZvcmUsIGh0bWxbZGlyPXJ0bF0gLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtY2xvc2U6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWNsb3NlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MzU2NWE7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL3NlcnZpY2UtY29udHJhY3QtaWNvbnMvY2xvc2Uuc3ZnI2Nsb3NlLWljb24tdzI0LXZpZXdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY292ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1jbG9zZTpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9zZXJ2aWNlLWNvbnRyYWN0LWljb25zL2Nsb3NlLnN2ZyNjbG9zZS1pY29uLXcxNi12aWV3XCIpO1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1wcmV2IHtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiAyMHB4O1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtcHJldjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL2NoZXZyb24tbGVmdC5zdmcjY2hldnJvbi1sZWZ0LWljb24tdzI0LXZpZXdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY292ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1wcmV2OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvY2hldnJvbi1sZWZ0LnN2ZyNjaGV2cm9uLWxlZnQtaWNvbi13MTYtdmlld1wiKTtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtbmV4dCB7XG4gIGluc2V0LWlubGluZS1lbmQ6IDIwcHg7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1uZXh0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvY2hldnJvbi1yaWdodC5zdmcjY2hldnJvbi1yaWdodC1pY29uLXcyNC12aWV3XCIpO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IGNvdmVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtbmV4dDpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL2NoZXZyb24tcmlnaHQuc3ZnI2NoZXZyb24tcmlnaHQtaWNvbi13MTYtdmlld1wiKTtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtcHJldiwgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtbmV4dCB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAsIDIwLCAyMCwgMC4zKSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBpbnNldC1ibG9jay1zdGFydDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgei1pbmRleDogMjtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXByZXY6OmJlZm9yZSwgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtcHJldjo6YWZ0ZXIsIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LW5leHQ6OmJlZm9yZSwgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtbmV4dDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiA1MCU7XG4gIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbmh0bWxbZGlyPXJ0bF0gLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtcHJldjo6YmVmb3JlLCBodG1sW2Rpcj1ydGxdIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXByZXY6OmFmdGVyLCBodG1sW2Rpcj1ydGxdIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LW5leHQ6OmJlZm9yZSwgaHRtbFtkaXI9cnRsXSAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1uZXh0OjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1wcmV2W3N0YXRlPWRpc2FibGVkXTo6YmVmb3JlLCAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1uZXh0W3N0YXRlPWRpc2FibGVkXTo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC40O1xufVxuaHRtbFtkaXI9cnRsXSAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1wcmV2LCBodG1sW2Rpcj1ydGxdIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuOCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuICNsaWdodGJveC16b29tLWltYWdlIHtcbiAgcGFkZGluZzogMDtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAjbGlnaHRib3gtem9vbS1pbWFnZV96b29tVmlldyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29taW5idXR0b24sXG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29tb3V0YnV0dG9uLFxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3em9vbXJlc2V0YnV0dG9uIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3em9vbWluYnV0dG9uW3N0YXRlXSxcbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyIC5zN3pvb21vdXRidXR0b25bc3RhdGVdLFxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3em9vbXJlc2V0YnV0dG9uW3N0YXRlXSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3em9vbWluYnV0dG9uLFxuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29tb3V0YnV0dG9uLFxuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29tcmVzZXRidXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyIC5zN3pvb21pbmJ1dHRvbixcbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyIC5zN3pvb21vdXRidXR0b24sXG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29tcmVzZXRidXR0b24ge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuMykgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3em9vbWluYnV0dG9uOjpiZWZvcmUsIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyIC5zN3pvb21pbmJ1dHRvbjo6YWZ0ZXIsXG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29tb3V0YnV0dG9uOjpiZWZvcmUsXG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29tb3V0YnV0dG9uOjphZnRlcixcbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyIC5zN3pvb21yZXNldGJ1dHRvbjo6YmVmb3JlLFxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3em9vbXJlc2V0YnV0dG9uOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IDUwJTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuaHRtbFtkaXI9cnRsXSAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29taW5idXR0b246OmJlZm9yZSwgaHRtbFtkaXI9cnRsXSAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29taW5idXR0b246OmFmdGVyLFxuaHRtbFtkaXI9cnRsXSAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29tb3V0YnV0dG9uOjpiZWZvcmUsXG5odG1sW2Rpcj1ydGxdIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyIC5zN3pvb21vdXRidXR0b246OmFmdGVyLFxuaHRtbFtkaXI9cnRsXSAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29tcmVzZXRidXR0b246OmJlZm9yZSxcbmh0bWxbZGlyPXJ0bF0gLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3em9vbXJlc2V0YnV0dG9uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczd6b29taW5idXR0b246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy96b29tLXBsdXMuc3ZnI3pvb20tcGx1cy1pY29uLXcyNC12aWV3XCIpO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IGNvdmVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3em9vbWluYnV0dG9uOmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvem9vbS1wbHVzLnN2ZyN6b29tLXBsdXMtaWNvbi13MTYtdmlld1wiKTtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3em9vbW91dGJ1dHRvbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL3pvb20tbWludXMuc3ZnI3pvb20tbWludXMtaWNvbi13MjQtdmlld1wiKTtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiBjb3ZlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyIC5zN3pvb21vdXRidXR0b246YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy96b29tLW1pbnVzLnN2ZyN6b29tLW1pbnVzLWljb24tdzE2LXZpZXdcIik7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyIC5zN3pvb21yZXNldGJ1dHRvbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hc2staW1hZ2U6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL3Jlc2V0LnN2ZyNyZXNldC1pY29uLXcyNC12aWV3XCIpO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IGNvdmVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3em9vbXJlc2V0YnV0dG9uOmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvcmVzZXQuc3ZnI3Jlc2V0LWljb24tdzE2LXZpZXdcIik7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyIC5zN2Z1bGxzY3JlZW5idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3YnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3YnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgLnM3YnV0dG9uW3N0YXRlPWRpc2FibGVkXSB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyIC5zN2J1dHRvbltzdGF0ZT1kaXNhYmxlZF06OmFmdGVyLCAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAuczdidXR0b25bc3RhdGU9ZGlzYWJsZWRdOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjQ7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAjbGlnaHRib3gtem9vbS1pbWFnZV9kaXZjb250YWluZXIge1xuICBpbnNldC1ibG9jay1zdGFydDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgaW5zZXQtYmxvY2stZW5kOiAxMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAyMHB4O1xuICBnYXA6IDE1cHg7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIG1heC1uZXN0aW5nLWRlcHRoICovXG4gIC8qIHN0eWxlbGludC1lbmFibGUgbWF4LW5lc3RpbmctZGVwdGggKi9cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAjbGlnaHRib3gtem9vbS1pbWFnZV9kaXZjb250YWluZXIge1xuICAgIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyICNsaWdodGJveC16b29tLWltYWdlX2RpdmNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgI2xpZ2h0Ym94LXpvb20taW1hZ2VfZGl2Y29udGFpbmVyID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBhdXRvO1xuICBpbnNldC1ibG9jay1lbmQ6IGF1dG87XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAjbGlnaHRib3gtem9vbS1pbWFnZV9kaXZjb250YWluZXIgPiBbcm9sZT1idXR0b25dIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAjbGlnaHRib3gtem9vbS1pbWFnZV9kaXZjb250YWluZXI6bm90KC52aXNpYmxlKSA+IC5zN2J1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zY3JlZW4gLnM3em9vbXZpZXdlciAjbGlnaHRib3gtem9vbS1pbWFnZV9kaXZjb250YWluZXIgLmxpZ2h0Ym94X192aWRlby1jYXB0aW9uLWhlYWRpbmcge1xuICBtYXgtd2lkdGg6IDMyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNjcmVlbiAuczd6b29tdmlld2VyICNsaWdodGJveC16b29tLWltYWdlX2RpdmNvbnRhaW5lciAubGlnaHRib3hfX3ZpZGVvLWNhcHRpb24taGVhZGluZyB7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgI2xpZ2h0Ym94LXpvb20taW1hZ2VfZGl2Y29udGFpbmVyIC5saWdodGJveF9fdmlkZW8tY2FwdGlvbi1kZXNjcmlwdGlvbiB7XG4gIG1heC13aWR0aDogMzIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtc2NyZWVuIC5zN3pvb212aWV3ZXIgI2xpZ2h0Ym94LXpvb20taW1hZ2VfZGl2Y29udGFpbmVyIC5saWdodGJveF9fdmlkZW8tY2FwdGlvbi1kZXNjcmlwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtLWhhc0NhcHRpb24gLmxpZ2h0Ym94LWltYWdlICNsaWdodGJveC16b29tLWltYWdlX2RpdmNvbnRhaW5lcjo6YWZ0ZXIsXG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC0taGFzQ2FwdGlvbiAubGlnaHRib3gtYXNzZXQtdmlkZW8gLnM3Y29udHJvbGJhcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDIwLCAyMCwgMjAsIDApIDIuNiUsIHJnYmEoMjAsIDIwLCAyMCwgMC44KSAxMDAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTB2aDtcbiAgei1pbmRleDogLTE7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1zaW5nbGUgLmxpZ2h0Ym94LXByZXYsIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LXNpbmdsZSAubGlnaHRib3gtbmV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveF9fdmlkZW8tY2FwdGlvbi1oZWFkaW5nLCAubWVkaWFnYWxsZXJ5IC5saWdodGJveF9fdmlkZW8tY2FwdGlvbi1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYmxvY2stZW5kOiAxMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94X192aWRlby1jYXB0aW9ucy1jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtaW1hZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWltYWdlI2xpZ2h0Ym94LXpvb20taW1hZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1pbWFnZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1heC1oZWlnaHQ6IDQwMHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWltYWdlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWltYWdlIC5zN2NvbnRhaW5lciAuczdjb250cm9sYmFyLFxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtaW1hZ2UgLnBsYXlpbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0LWJsb2NrLWVuZDogMTIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0OiA0MDBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1pbWFnZSAuczdjb250YWluZXIgLnM3Y29udHJvbGJhcixcbiAgLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtaW1hZ2UgLnBsYXlpbmRpY2F0b3Ige1xuICAgIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtaW1hZ2UgLnM3Y29udGFpbmVyIC5zN2NvbnRyb2xiYXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IDE1cHg7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC1pbWFnZSAuZmlndXJlLS1ub0RNIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveC1pbWFnZSAuZmlndXJlLS1ub0RNIGltZyB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEyMHB4KTtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3hfX2Fzc2V0LXN0cmlwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNDE0O1xuICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0MDBweCkge1xuICAubWVkaWFnYWxsZXJ5IC5saWdodGJveF9fYXNzZXQtc3RyaXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94X19hc3NldC1zdHJpcCAubGlnaHRib3hfX2Fzc2V0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEyMHB4O1xuICBtYXJnaW4tYmxvY2s6IDA7XG4gIG1hcmdpbi1pbmxpbmU6IDhweDtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94X19hc3NldC1zdHJpcCAubGlnaHRib3hfX2Fzc2V0LXdyYXBwZXIgLmltZ19fYXNzZXQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDkwcHg7XG4gIG1heC1oZWlnaHQ6IDkwcHg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb3BhY2l0eTogMC41O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvYmplY3QtcG9zaXRpb246IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAvKiBEaXNhYmxlIHRoZSBjbGlja3MgdG8gYXZvaWQgdGhlIHZpZGVvcyBmcm9tIHN0cmlwIGFyZSBwbGF5ZWQgKi9cbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94X19hc3NldC1zdHJpcCAubGlnaHRib3hfX2Fzc2V0LXdyYXBwZXIgLmltZ19fYXNzZXQuaW1nX19hc3NldF9fdmlkZW8ge1xuICB3aWR0aDogMTYwcHg7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveF9fYXNzZXQtc3RyaXAgLmxpZ2h0Ym94X19hc3NldC13cmFwcGVyIC5pbWdfX2Fzc2V0IC5zN2NvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDkwcHg7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveF9fYXNzZXQtc3RyaXAgLmxpZ2h0Ym94X19hc3NldC13cmFwcGVyIC5pbWdfX2Fzc2V0IC5zN3ZpZGVvcGxheWVyLFxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3hfX2Fzc2V0LXN0cmlwIC5saWdodGJveF9fYXNzZXQtd3JhcHBlciAuaW1nX19hc3NldCAuczdzbWFydGNyb3B2aWRlb3BsYXllciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3hfX2Fzc2V0LXN0cmlwIC5saWdodGJveF9fYXNzZXQtd3JhcHBlci0tc2VsZWN0ZWQgLmltZ19fYXNzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBvcGFjaXR5OiAxO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3hfX2Fzc2V0LXN0cmlwIC5saWdodGJveF9fYXNzZXQtd3JhcHBlcjpob3ZlciAuaW1nX19hc3NldCB7XG4gIG9wYWNpdHk6IDE7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveF9fYXNzZXQtc3RyaXAgLnBsYXlpbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3hfX2Fzc2V0LXN0cmlwIC5zN2NvbnRhaW5lciB7XG4gIHotaW5kZXg6IDA7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveF9fYXNzZXQtc3RyaXAgLnM3dmlkZW92aWV3ZXIge1xuICAtLXM3LXZpZGVvLWljb25lZmZlY3Qtc2NhbGU6IHNjYWxlKDAuNik7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveF9fYXNzZXQtc3RyaXAgLnM3c21hcnRjcm9wdmlkZW92aWV3ZXIge1xuICAtLXM3LXZpZGVvLWljb25lZmZlY3Qtc2NhbGU6IHNjYWxlKDAuNCk7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveF9fYXNzZXQtc3RyaXAgLnM3Y29udHJvbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveF9fYXNzZXQtc3RyaXAgLnM3aWNvbmVmZmVjdCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ibG9jazogMzBweDtcbiAgbWFyZ2luLWlubGluZTogMDtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tc3RhbmRhcmQge1xuICAvKiAtLW1lZGlhZ2FsbGVyeS1ncmlkLXRlbXBsYXRlLWNvbHVtbnMgd2lsbCBiZSBhZGFwdCBieSBKUyBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIGl0ZW1zLiBEZWZhdWx0IHdpbGwgYmUgMiAobW9iaWxlKSAqL1xuICAtLW1lZGlhZ2FsbGVyeS1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIC0tbWVkaWFnYWxsZXJ5LWdyaWQtdGVtcGxhdGUtcm93czogMTtcbiAgLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXA6IDE1cHg7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXN0YW5kYXJkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zIC5nYWxsZXJ5aXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXN0YW5kYXJkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zIC5nYWxsZXJ5aXRlbSAuaW1nX19hc3NldCB7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tc3RhbmRhcmQgLm1lZGlhZ2FsbGVyeV9faXRlbXMgLmdhbGxlcnlpdGVtIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1zdGFuZGFyZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyB7XG4gIC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwOiAzMHB4O1xuICAtLW1lZGlhZ2FsbGVyeS1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXN0YW5kYXJkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0yIHtcbiAgLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXA6IDMwcHg7XG4gIC0tbWVkaWFnYWxsZXJ5LWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tc3RhbmRhcmQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTEge1xuICAtLW1lZGlhZ2FsbGVyeS1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1zdGFuZGFyZCB7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXA6IDMwcHg7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1zdGFuZGFyZCB7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXN0YW5kYXJkIC5nYWxsZXJ5aXRlbS0tZ2FsbGVyeSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCB7XG4gIC0tcXVpbHRlZC1jb2x1bW5zOiAyO1xuICAtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQ6IDMzMHB4O1xuICAtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcDogMTVweDtcbiAgLS1xdWlsdGVkLXNtYWxsLWl0ZW0td2lkdGg6IGNhbGMoNDIlIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIHZhcigtLXF1aWx0ZWQtY29sdW1ucykpO1xuICAtLXF1aWx0ZWQtbGFyZ2UtaXRlbS13aWR0aDogY2FsYyg1OCUgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gdmFyKC0tcXVpbHRlZC1jb2x1bW5zKSk7XG4gIC8qIExhcmdlIE1vYmlsZSAqL1xuICAvKiBUYWJsZXQgKi9cbiAgLyogRGVza3RvcCAqL1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCB7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXA6IDMwcHg7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0OiA0MTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCB7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0OiA1NjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCB7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0OiA2NzVweDtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zIHtcbiAgLyogV2l0aCAxIGFzc2V0IHRvIGRpc3BsYXkgKi9cbiAgLyogV2l0aCAyIGFzc2V0cyB0byBkaXNwbGF5ICovXG4gIC8qIFdpdGggMyBhc3NldHMgdG8gZGlzcGxheSAqL1xuICAvKiBXaXRoIDQgYXNzZXRzIHRvIGRpc3BsYXkgKi9cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMSB7XG4gIC0tbWVkaWFnYWxsZXJ5LWdyaWQtdGVtcGxhdGUtY29sdW1uczogMTtcbiAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0xIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMSkge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gIC8qIFRhcmdldCB0aGUgZGl2IG9mIHRoZSBtZWRpYSBhc3NldCAqL1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0xIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMSkgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTEgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuczdjb250YWluZXIsXG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTEgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuczdjb250YWluZXIgLnM3dmlkZW9lbGVtZW50IHtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAhaW1wb3J0YW50O1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0yIHtcbiAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxO1xuICAtLW1lZGlhZ2FsbGVyeS1ncmlkLXRlbXBsYXRlLXJvd3M6IDI7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lcixcbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMjtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5zN2NvbnRhaW5lcixcbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0yIHtcbiAgICAtLW1lZGlhZ2FsbGVyeS1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXF1aWx0ZWQtbGFyZ2UtaXRlbS13aWR0aCkgdmFyKC0tcXVpbHRlZC1zbWFsbC1pdGVtLXdpZHRoKTtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gICAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0yIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMSkgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuczdjb250YWluZXIsXG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gICAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0yIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuczdjb250YWluZXIsXG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgIWltcG9ydGFudDtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIHtcbiAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tcXVpbHRlZC1jb2x1bW5zKSwgMWZyKTtcbiAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyB7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1xdWlsdGVkLXNtYWxsLWl0ZW0td2lkdGgpIHZhcigtLXF1aWx0ZWQtbGFyZ2UtaXRlbS13aWR0aCk7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMTtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lcixcbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSB7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMik7XG4gIC8qIFRhcmdldCB0aGUgZGl2IG9mIHRoZSBtZWRpYSBhc3NldCAqL1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMik7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuczdjb250YWluZXIsXG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuczdjb250YWluZXIgLnM3dmlkZW9lbGVtZW50IHtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKSAhaW1wb3J0YW50O1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykge1xuICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gIGdyaWQtcm93OiAyO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xuICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykgLnM3Y29udGFpbmVyLFxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMikgIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gICAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMSkgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuczdjb250YWluZXIsXG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAyO1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gICAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuczdjb250YWluZXIsXG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAyO1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gICAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgzKSAuczdjb250YWluZXIsXG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgIWltcG9ydGFudDtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IHtcbiAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tcXVpbHRlZC1jb2x1bW5zKSwgMWZyKTtcbiAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1yb3dzOiAzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCB7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1xdWlsdGVkLWxhcmdlLWl0ZW0td2lkdGgpIHZhcigtLXF1aWx0ZWQtc21hbGwtaXRlbS13aWR0aCk7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMTtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lcixcbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSB7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC1yb3c6IDI7XG4gIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gIC8qIFRhcmdldCB0aGUgZGl2IG9mIHRoZSBtZWRpYSBhc3NldCAqL1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuczdjb250YWluZXIsXG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuczdjb250YWluZXIgLnM3dmlkZW9lbGVtZW50IHtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAhaW1wb3J0YW50O1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykge1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAzO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xuICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykgLnM3Y29udGFpbmVyLFxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMikgIWltcG9ydGFudDtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDQpIHtcbiAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICBncmlkLXJvdzogMztcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCg0KSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKTtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDQpIC5zN2NvbnRhaW5lcixcbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDQpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMi9zcGFuIDI7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5zN2NvbnRhaW5lcixcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKTtcbiAgICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgzKSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIC5zN2NvbnRhaW5lcixcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDM7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKTtcbiAgICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCg0KSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDQpIC5zN2NvbnRhaW5lcixcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoNCkgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKSAhaW1wb3J0YW50O1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMgLmdhbGxlcnlpdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZCAubWVkaWFnYWxsZXJ5X19pdGVtcyAuZ2FsbGVyeWl0ZW0gLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSk7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWQgLm1lZGlhZ2FsbGVyeV9faXRlbXMgLmdhbGxlcnlpdGVtIC5nYWxsZXJ5aXRlbV9fYXNzZXQgaW1nIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIHtcbiAgLS1xdWlsdGVkLWNvbHVtbnM6IDI7XG4gIC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodDogMzMwcHg7XG4gIC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwOiAxNXB4O1xuICAtLXF1aWx0ZWQtc21hbGwtaXRlbS13aWR0aDogY2FsYyg0MiUgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gdmFyKC0tcXVpbHRlZC1jb2x1bW5zKSk7XG4gIC0tcXVpbHRlZC1sYXJnZS1pdGVtLXdpZHRoOiBjYWxjKDU4JSAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyB2YXIoLS1xdWlsdGVkLWNvbHVtbnMpKTtcbiAgLyogTGFyZ2UgTW9iaWxlICovXG4gIC8qIFRhYmxldCAqL1xuICAvKiBEZXNrdG9wICovXG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUge1xuICAgIC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwOiAzMHB4O1xuICAgIC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodDogNDE1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSB7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0OiA1NjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIHtcbiAgICAtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQ6IDY3NXB4O1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcyB7XG4gIC8qIFdpdGggMSBhc3NldCB0byBkaXNwbGF5ICovXG4gIC8qIFdpdGggMiBhc3NldHMgdG8gZGlzcGxheSAqL1xuICAvKiBXaXRoIDMgYXNzZXRzIHRvIGRpc3BsYXkgKi9cbiAgLyogV2l0aCA0IGFzc2V0cyB0byBkaXNwbGF5ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMSB7XG4gIC0tbWVkaWFnYWxsZXJ5LWdyaWQtdGVtcGxhdGUtY29sdW1uczogMTtcbiAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTEgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMSAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTEgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuczdjb250YWluZXIsXG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMSAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiB7XG4gIC0tbWVkaWFnYWxsZXJ5LWdyaWQtdGVtcGxhdGUtY29sdW1uczogMTtcbiAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuczdjb250YWluZXIsXG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAyO1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xuICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0yIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5zN2NvbnRhaW5lcixcbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0yIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiB7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1xdWlsdGVkLXNtYWxsLWl0ZW0td2lkdGgpIHZhcigtLXF1aWx0ZWQtbGFyZ2UtaXRlbS13aWR0aCk7XG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gICAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0yIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMSkgLnM3Y29udGFpbmVyLFxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMiAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTIgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuczdjb250YWluZXIsXG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0yIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAhaW1wb3J0YW50O1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyB7XG4gIC0tbWVkaWFnYWxsZXJ5LWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLXF1aWx0ZWQtY29sdW1ucyksIDFmcik7XG4gIC0tbWVkaWFnYWxsZXJ5LWdyaWQtdGVtcGxhdGUtcm93czogMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyB7XG4gICAgLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1xdWlsdGVkLXNtYWxsLWl0ZW0td2lkdGgpIHZhcigtLXF1aWx0ZWQtbGFyZ2UtaXRlbS13aWR0aCk7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMSkge1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAxO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xuICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMSkgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMik7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lcixcbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMSkgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMikgIWltcG9ydGFudDtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikge1xuICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gIGdyaWQtcm93OiAxO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xuICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMik7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5zN2NvbnRhaW5lcixcbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMikgIWltcG9ydGFudDtcbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykge1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDI7XG4gIGdyaWQtcm93OiAyO1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xuICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIC5zN2NvbnRhaW5lcixcbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuczdjb250YWluZXIsXG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMSkgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xuICAgIC8qIFRhcmdldCB0aGUgZGl2IG9mIHRoZSBtZWRpYSBhc3NldCAqL1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5zN2NvbnRhaW5lcixcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuczdjb250YWluZXIgLnM3dmlkZW9lbGVtZW50IHtcbiAgICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICAgIGdyaWQtcm93OiAyO1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCk7XG4gICAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTMgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgzKSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS0zIC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykgLnM3Y29udGFpbmVyLFxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tMyAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICAgIGhlaWdodDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgIWltcG9ydGFudDtcbiAgfVxufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQge1xuICAtLW1lZGlhZ2FsbGVyeS1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1xdWlsdGVkLWNvbHVtbnMpLCAxZnIpO1xuICAtLW1lZGlhZ2FsbGVyeS1ncmlkLXRlbXBsYXRlLXJvd3M6IDM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQge1xuICAgIC0tbWVkaWFnYWxsZXJ5LWdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcXVpbHRlZC1sYXJnZS1pdGVtLXdpZHRoKSB2YXIoLS1xdWlsdGVkLXNtYWxsLWl0ZW0td2lkdGgpO1xuICB9XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMTtcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuczdjb250YWluZXIsXG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICBncmlkLXJvdzogMjtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuczdjb250YWluZXIsXG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpICFpbXBvcnRhbnQ7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIHtcbiAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICBncmlkLXJvdzogMjtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgzKSAuczdjb250YWluZXIsXG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpICFpbXBvcnRhbnQ7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDQpIHtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMztcbiAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDQpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xufVxuLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCg0KSAuczdjb250YWluZXIsXG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDQpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxL3NwYW4gMjtcbiAgICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xuICAgIC8qIFRhcmdldCB0aGUgZGl2IG9mIHRoZSBtZWRpYSBhc3NldCAqL1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMSkgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDEpIC5zN2NvbnRhaW5lcixcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgxKSAuczdjb250YWluZXIgLnM3dmlkZW9lbGVtZW50IHtcbiAgICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMik7XG4gICAgLyogVGFyZ2V0IHRoZSBkaXYgb2YgdGhlIG1lZGlhIGFzc2V0ICovXG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgyKSAuZ2FsbGVyeWl0ZW1fX2Fzc2V0IHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtcm93LWhlaWdodCkgLyAyIC0gdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKSAvIDIpO1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMikgLnM3Y29udGFpbmVyLFxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDIpIC5zN2NvbnRhaW5lciAuczd2aWRlb2VsZW1lbnQge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMikgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKTtcbiAgICAvKiBUYXJnZXQgdGhlIGRpdiBvZiB0aGUgbWVkaWEgYXNzZXQgKi9cbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDMpIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSAvIDIgLSB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1nYXApIC8gMik7XG4gIH1cbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCgzKSAuczdjb250YWluZXIsXG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoMykgLnM3Y29udGFpbmVyIC5zN3ZpZGVvZWxlbWVudCB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpIC8gMiAtIHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLWdhcCkgLyAyKSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoNCkge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgICBncmlkLXJvdzogMztcbiAgICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpO1xuICAgIC8qIFRhcmdldCB0aGUgZGl2IG9mIHRoZSBtZWRpYSBhc3NldCAqL1xuICB9XG4gIC5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zLS00IC5nYWxsZXJ5aXRlbTpudGgtY2hpbGQoNCkgLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KTtcbiAgfVxuICAubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcy0tNCAuZ2FsbGVyeWl0ZW06bnRoLWNoaWxkKDQpIC5zN2NvbnRhaW5lcixcbiAgLm1lZGlhZ2FsbGVyeV9fbGF5b3V0LS1xdWlsdGVkQWx0ZXJuYXRpdmUgLm1lZGlhZ2FsbGVyeV9faXRlbXMtLTQgLmdhbGxlcnlpdGVtOm50aC1jaGlsZCg0KSAuczdjb250YWluZXIgLnM3dmlkZW9lbGVtZW50IHtcbiAgICBoZWlnaHQ6IHZhcigtLW1lZGlhZ2FsbGVyeS1ncmlkLXJvdy1oZWlnaHQpICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5tZWRpYWdhbGxlcnlfX2xheW91dC0tcXVpbHRlZEFsdGVybmF0aXZlIC5tZWRpYWdhbGxlcnlfX2l0ZW1zIC5nYWxsZXJ5aXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LWhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcyAuZ2FsbGVyeWl0ZW0gLmdhbGxlcnlpdGVtX19hc3NldCB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC1yb3ctaGVpZ2h0KSk7XG59XG4ubWVkaWFnYWxsZXJ5X19sYXlvdXQtLXF1aWx0ZWRBbHRlcm5hdGl2ZSAubWVkaWFnYWxsZXJ5X19pdGVtcyAuZ2FsbGVyeWl0ZW0gLmdhbGxlcnlpdGVtX19hc3NldCBpbWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLm1lZGlhZ2FsbGVyeV9faXRlbXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tbWVkaWFnYWxsZXJ5LWdyaWQtZ2FwKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiB2YXIoLS1tZWRpYWdhbGxlcnktZ3JpZC10ZW1wbGF0ZS1yb3dzKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5tZWRpYWdhbGxlcnlfX2l0ZW1zIC5nYWxsZXJ5aXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5tZWRpYWdhbGxlcnlfX2l0ZW1zIC5nYWxsZXJ5aXRlbSAuY21wLWltYWdlIC5pbWdfX2Fzc2V0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubWVkaWFnYWxsZXJ5X19pdGVtcyAuZ2FsbGVyeWl0ZW0tLWxpZ2h0Ym94IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5tZWRpYWdhbGxlcnlfX2l0ZW1zIC5nYWxsZXJ5aXRlbV9fYXNzZXQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtLWFjdGl2ZSAuZ2FsbGVyeWl0ZW1fX29wZW4ge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiA1MCU7XG4gIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LS1hY3RpdmUgLmdhbGxlcnlpdGVtX19vcGVuOjpiZWZvcmUsIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LS1hY3RpdmUgLmdhbGxlcnlpdGVtX19vcGVuOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IDUwJTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuaHRtbFtkaXI9cnRsXSAubWVkaWFnYWxsZXJ5IC5saWdodGJveC0tYWN0aXZlIC5nYWxsZXJ5aXRlbV9fb3Blbjo6YmVmb3JlLCBodG1sW2Rpcj1ydGxdIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LS1hY3RpdmUgLmdhbGxlcnlpdGVtX19vcGVuOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC0tYWN0aXZlIC5nYWxsZXJ5aXRlbV9fb3BlbjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MzU2NWE7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFzay1pbWFnZTogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvc2VhcmNoLnN2ZyNzZWFyY2gtaWNvbi13MjQtdmlld1wiKTtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiBjb3ZlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LS1hY3RpdmUgLmdhbGxlcnlpdGVtX19vcGVuOmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9zZWFyY2guc3ZnI3NlYXJjaC1pY29uLXcxNi12aWV3XCIpO1xuICB9XG59XG5odG1sW2Rpcj1ydGxdIC5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LS1hY3RpdmUgLmdhbGxlcnlpdGVtX19vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LS1hY3RpdmUgLmdhbGxlcnlpdGVtLS1nYWxsZXJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgei1pbmRleDogMTtcbn1cbi5tZWRpYWdhbGxlcnkgLmxpZ2h0Ym94LS1hY3RpdmUgLmdhbGxlcnlpdGVtOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm1lZGlhZ2FsbGVyeSAubGlnaHRib3gtLWFjdGl2ZSAuZ2FsbGVyeWl0ZW06aG92ZXIgLmdhbGxlcnlpdGVtX19vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubWVkaWFnYWxsZXJ5IC5saWdodGJveC0tYWN0aXZlIC5nYWxsZXJ5aXRlbTpob3ZlciAuZ2FsbGVyeWl0ZW0tLWdhbGxlcnk6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4ubWVkaWFnYWxsZXJ5X19idXR0b24tLXNob3dNb3JlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZmLXJlZ3VsYXIpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1scy1kZWZhdWx0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogaW5oZXJpdDtcbn1cbi5tZWRpYWdhbGxlcnlfX2J1dHRvbi0tc2hvd01vcmUgc3BhbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLm1lZGlhZ2FsbGVyeV9fZml4ZWRIZWlnaHQge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xufVxuLm1lZGlhZ2FsbGVyeV9fZml4ZWRIZWlnaHQ6OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cbi5tZWRpYWdhbGxlcnlfX3ZpZGVvIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiBBZmZlY3Qgei1pbmRleCB0byBtYWtlIHRoZSBvdmVybGF5IHZpc2libGUgd2hlbiBob3ZlcmluZyBETSB2aWRlb3MgKi9cbn1cbi5tZWRpYWdhbGxlcnlfX3ZpZGVvIC5pbWdfX2Fzc2V0IC5zN2NvbnRhaW5lciB7XG4gIHotaW5kZXg6IDA7XG59XG4ubWVkaWFnYWxsZXJ5X192aWRlbyAuczd2aWRlb3ZpZXdlciB7XG4gIC0tczctdmlkZW8taWNvbmVmZmVjdC1zY2FsZTogc2NhbGUoMC42KTtcbn1cbi5tZWRpYWdhbGxlcnlfX3ZpZGVvIC5zN3NtYXJ0Y3JvcHZpZGVvdmlld2VyIHtcbiAgLS1zNy12aWRlby1pY29uZWZmZWN0LXNjYWxlOiBzY2FsZSgwLjQpO1xufVxuLm1lZGlhZ2FsbGVyeV9fdmlkZW8gLnM3dmlkZW92aWV3ZXIgLnM3Y29udHJvbGJhcixcbi5tZWRpYWdhbGxlcnlfX3ZpZGVvIC5zN3NtYXJ0Y3JvcHZpZGVvdmlld2VyIC5zN2NvbnRyb2xiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm1lZGlhZ2FsbGVyeV9fdmlkZW8gLnM3dmlkZW92aWV3ZXIgLnM3aWNvbmVmZmVjdCxcbi5tZWRpYWdhbGxlcnlfX3ZpZGVvIC5zN3NtYXJ0Y3JvcHZpZGVvdmlld2VyIC5zN2ljb25lZmZlY3Qge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ubWVkaWFnYWxsZXJ5X192aWRlbyAuczd2aWRlb3BsYXllciAuczd3YWl0aWNvbiB7XG4gIG9wYWNpdHk6IDA7XG59IixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsXX0= */