/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/@xyflow/react/dist/style.css ***!
  \**********************************************************************************************************************************/
/* this gets exported as style.css and can be used for the default theming */
/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */
.react-flow {
  direction: ltr;

  --xy-edge-stroke-default: #b1b1b7;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #555;

  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;

  --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);

  --xy-minimap-background-color-default: #fff;
  --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #e2e2e2;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;

  --xy-background-color-default: transparent;
  --xy-background-pattern-dots-color-default: #91919a;
  --xy-background-pattern-lines-color-default: #eee;
  --xy-background-pattern-cross-color-default: #e2e2e2;
  background-color: var(--xy-background-color, var(--xy-background-color-default));
  --xy-node-color-default: inherit;
  --xy-node-border-default: 1px solid #1a192b;
  --xy-node-background-color-default: #fff;
  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;
  --xy-node-border-radius-default: 3px;

  --xy-handle-background-color-default: #1a192b;
  --xy-handle-border-color-default: #fff;

  --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);

  --xy-controls-button-background-color-default: #fefefe;
  --xy-controls-button-background-color-hover-default: #f4f4f4;
  --xy-controls-button-color-default: inherit;
  --xy-controls-button-color-hover-default: inherit;
  --xy-controls-button-border-color-default: #eee;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);

  --xy-edge-label-background-color-default: #ffffff;
  --xy-edge-label-color-default: inherit;
  --xy-resize-background-color-default: #3367d9;
}
.react-flow.dark {
  --xy-edge-stroke-default: #3e3e3e;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #727272;

  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;

  --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);

  --xy-minimap-background-color-default: #141414;
  --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #2b2b2b;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;

  --xy-background-color-default: #141414;
  --xy-background-pattern-dots-color-default: #777;
  --xy-background-pattern-lines-color-default: #777;
  --xy-background-pattern-cross-color-default: #777;
  --xy-node-color-default: #f8f8f8;
  --xy-node-border-default: 1px solid #3c3c3c;
  --xy-node-background-color-default: #1e1e1e;
  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;

  --xy-handle-background-color-default: #bebebe;
  --xy-handle-border-color-default: #1e1e1e;

  --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);

  --xy-controls-button-background-color-default: #2b2b2b;
  --xy-controls-button-background-color-hover-default: #3e3e3e;
  --xy-controls-button-color-default: #f8f8f8;
  --xy-controls-button-color-hover-default: #fff;
  --xy-controls-button-border-color-default: #5b5b5b;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);

  --xy-edge-label-background-color-default: #141414;
  --xy-edge-label-color-default: #f8f8f8;
}
.react-flow__background {
  background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));
  pointer-events: none;
  z-index: -1;
}
.react-flow__container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
}
.react-flow__pane.draggable {
    cursor: grab;
  }
.react-flow__pane.dragging {
    cursor: grabbing;
  }
.react-flow__pane.selection {
    cursor: pointer;
  }
.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}
.react-flow__renderer {
  z-index: 4;
}
.react-flow__selection {
  z-index: 6;
}
.react-flow__nodesselection-rect:focus,
.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}
.react-flow__edge-path {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
  stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));
  fill: none;
}
.react-flow__connection-path {
  stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));
  stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));
  fill: none;
}
.react-flow .react-flow__edges {
  position: absolute;
}
.react-flow .react-flow__edges svg {
    overflow: visible;
    position: absolute;
    pointer-events: none;
  }
.react-flow__edge {
  pointer-events: visibleStroke;
}
.react-flow__edge.selectable {
    cursor: pointer;
  }
.react-flow__edge.animated path {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.react-flow__edge.animated path.react-flow__edge-interaction {
    stroke-dasharray: none;
    animation: none;
  }
.react-flow__edge.inactive {
    pointer-events: none;
  }
.react-flow__edge.selected,
  .react-flow__edge:focus,
  .react-flow__edge:focus-visible {
    outline: none;
  }
.react-flow__edge.selected .react-flow__edge-path,
  .react-flow__edge.selectable:focus .react-flow__edge-path,
  .react-flow__edge.selectable:focus-visible .react-flow__edge-path {
    stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));
  }
.react-flow__edge-textwrapper {
    pointer-events: all;
  }
.react-flow__edge .react-flow__edge-text {
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
/* Arrowhead marker styles - use CSS custom properties as default */
.react-flow__arrowhead polyline {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
}
.react-flow__arrowhead polyline.arrowclosed {
  fill: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
}
.react-flow__connection {
  pointer-events: none;
}
.react-flow__connection .animated {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
svg.react-flow__connectionline {
  z-index: 1001;
  overflow: visible;
  position: absolute;
}
.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}
.react-flow__node {
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: default;
}
.react-flow__node.selectable {
    cursor: pointer;
  }
.react-flow__node.draggable {
    cursor: grab;
    pointer-events: all;
  }
.react-flow__node.draggable.dragging {
      cursor: grabbing;
    }
.react-flow__nodesselection {
  z-index: 3;
  transform-origin: left top;
  pointer-events: none;
}
.react-flow__nodesselection-rect {
    position: absolute;
    pointer-events: all;
    cursor: grab;
  }
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));
  border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));
  border-radius: 100%;
}
.react-flow__handle.connectingfrom {
    pointer-events: all;
  }
.react-flow__handle.connectionindicator {
    pointer-events: all;
    cursor: crosshair;
  }
.react-flow__handle-bottom {
    top: auto;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
  }
.react-flow__handle-top {
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
  }
.react-flow__handle-left {
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
  }
.react-flow__handle-right {
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
  }
.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}
.react-flow__pane.selection .react-flow__panel {
  pointer-events: none;
}
.react-flow__panel {
  position: absolute;
  z-index: 5;
  margin: 15px;
}
.react-flow__panel.top {
    top: 0;
  }
.react-flow__panel.bottom {
    bottom: 0;
  }
.react-flow__panel.top.center, .react-flow__panel.bottom.center {
      left: 50%;
      transform: translateX(-15px) translateX(-50%);
    }
.react-flow__panel.left {
    left: 0;
  }
.react-flow__panel.right {
    right: 0;
  }
.react-flow__panel.left.center, .react-flow__panel.right.center {
      top: 50%;
      transform: translateY(-15px) translateY(-50%);
    }
.react-flow__attribution {
  font-size: 10px;
  background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
    text-decoration: none;
    color: #999;
  }
@keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
.react-flow__edgelabel-renderer {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  left: 0;
  top: 0;
}
.react-flow__viewport-portal {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.react-flow__minimap {
  background: var(
    --xy-minimap-background-color-props,
    var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))
  );
}
.react-flow__minimap-svg {
    display: block;
  }
.react-flow__minimap-mask {
    fill: var(
      --xy-minimap-mask-background-color-props,
      var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))
    );
    stroke: var(
      --xy-minimap-mask-stroke-color-props,
      var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))
    );
    stroke-width: var(
      --xy-minimap-mask-stroke-width-props,
      var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))
    );
  }
.react-flow__minimap-node {
    fill: var(
      --xy-minimap-node-background-color-props,
      var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))
    );
    stroke: var(
      --xy-minimap-node-stroke-color-props,
      var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))
    );
    stroke-width: var(
      --xy-minimap-node-stroke-width-props,
      var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))
    );
  }
.react-flow__background-pattern.dots {
    fill: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))
    );
  }
.react-flow__background-pattern.lines {
    stroke: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))
    );
  }
.react-flow__background-pattern.cross {
    stroke: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))
    );
  }
.react-flow__controls {
  display: flex;
  flex-direction: column;
  box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));
}
.react-flow__controls.horizontal {
    flex-direction: row;
  }
.react-flow__controls-button {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 26px;
    width: 26px;
    padding: 4px;
    border: none;
    background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));
    border-bottom: 1px solid
      var(
        --xy-controls-button-border-color-props,
        var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
      );
    color: var(
      --xy-controls-button-color-props,
      var(--xy-controls-button-color, var(--xy-controls-button-color-default))
    );
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.react-flow__controls-button svg {
      width: 100%;
      max-width: 12px;
      max-height: 12px;
      fill: currentColor;
    }
.react-flow__edge.updating .react-flow__edge-path {
      stroke: #777;
    }
.react-flow__edge-text {
    font-size: 10px;
  }
.react-flow__node.selectable:focus,
  .react-flow__node.selectable:focus-visible {
    outline: none;
  }
.react-flow__node-input,
.react-flow__node-default,
.react-flow__node-output,
.react-flow__node-group {
  padding: 10px;
  border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));
  width: 150px;
  font-size: 12px;
  color: var(--xy-node-color, var(--xy-node-color-default));
  text-align: center;
  border: var(--xy-node-border, var(--xy-node-border-default));
  background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));
}
.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
      box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));
    }
.react-flow__node-input.selectable.selected,
    .react-flow__node-input.selectable:focus,
    .react-flow__node-input.selectable:focus-visible,
    .react-flow__node-default.selectable.selected,
    .react-flow__node-default.selectable:focus,
    .react-flow__node-default.selectable:focus-visible,
    .react-flow__node-output.selectable.selected,
    .react-flow__node-output.selectable:focus,
    .react-flow__node-output.selectable:focus-visible,
    .react-flow__node-group.selectable.selected,
    .react-flow__node-group.selectable:focus,
    .react-flow__node-group.selectable:focus-visible {
      box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
    }
.react-flow__node-group {
  background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));
}
.react-flow__nodesselection-rect,
.react-flow__selection {
  background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));
  border: var(--xy-selection-border, var(--xy-selection-border-default));
}
.react-flow__nodesselection-rect:focus,
  .react-flow__nodesselection-rect:focus-visible,
  .react-flow__selection:focus,
  .react-flow__selection:focus-visible {
    outline: none;
  }
.react-flow__controls-button:hover {
      background: var(
        --xy-controls-button-background-color-hover-props,
        var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))
      );
      color: var(
        --xy-controls-button-color-hover-props,
        var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))
      );
    }
.react-flow__controls-button:disabled {
      pointer-events: none;
    }
.react-flow__controls-button:disabled svg {
        fill-opacity: 0.4;
      }
.react-flow__controls-button:last-child {
    border-bottom: none;
  }
.react-flow__controls.horizontal .react-flow__controls-button {
    border-bottom: none;
    border-right: 1px solid
      var(
        --xy-controls-button-border-color-props,
        var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
      );
  }
.react-flow__controls.horizontal .react-flow__controls-button:last-child {
    border-right: none;
  }
.react-flow__resize-control {
  position: absolute;
}
.react-flow__resize-control.left,
.react-flow__resize-control.right {
  cursor: ew-resize;
}
.react-flow__resize-control.top,
.react-flow__resize-control.bottom {
  cursor: ns-resize;
}
.react-flow__resize-control.top.left,
.react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}
.react-flow__resize-control.bottom.left,
.react-flow__resize-control.top.right {
  cursor: nesw-resize;
}
/* handle styles */
.react-flow__resize-control.handle {
  width: 5px;
  height: 5px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  translate: -50% -50%;
}
.react-flow__resize-control.handle.left {
  left: 0;
  top: 50%;
}
.react-flow__resize-control.handle.right {
  left: 100%;
  top: 50%;
}
.react-flow__resize-control.handle.top {
  left: 50%;
  top: 0;
}
.react-flow__resize-control.handle.bottom {
  left: 50%;
  top: 100%;
}
.react-flow__resize-control.handle.top.left {
  left: 0;
}
.react-flow__resize-control.handle.bottom.left {
  left: 0;
}
.react-flow__resize-control.handle.top.right {
  left: 100%;
}
.react-flow__resize-control.handle.bottom.right {
  left: 100%;
}
/* line styles */
.react-flow__resize-control.line {
  border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  border-width: 0;
  border-style: solid;
}
.react-flow__resize-control.line.left,
.react-flow__resize-control.line.right {
  width: 1px;
  transform: translate(-50%, 0);
  top: 0;
  height: 100%;
}
.react-flow__resize-control.line.left {
  left: 0;
  border-left-width: 1px;
}
.react-flow__resize-control.line.right {
  left: 100%;
  border-right-width: 1px;
}
.react-flow__resize-control.line.top,
.react-flow__resize-control.line.bottom {
  height: 1px;
  transform: translate(0, -50%);
  left: 0;
  width: 100%;
}
.react-flow__resize-control.line.top {
  top: 0;
  border-top-width: 1px;
}
.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}
.react-flow__edge-textbg {
  fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));
}
.react-flow__edge-text {
  fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9ycy1ub2RlX21vZHVsZXNfeHlmbG93X3JlYWN0X2Rpc3Rfc3R5bGVfY3NzLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSw0RUFBNEU7QUFDNUUsa0dBQWtHO0FBQ2xHO0VBQ0UsY0FBYzs7RUFFZCxpQ0FBaUM7RUFDakMsaUNBQWlDO0VBQ2pDLHVDQUF1Qzs7RUFFdkMsMkNBQTJDO0VBQzNDLDJDQUEyQzs7RUFFM0MsbUVBQW1FOztFQUVuRSwyQ0FBMkM7RUFDM0Msb0VBQW9FO0VBQ3BFLG1EQUFtRDtFQUNuRCx5Q0FBeUM7RUFDekMsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCx5Q0FBeUM7O0VBRXpDLDBDQUEwQztFQUMxQyxtREFBbUQ7RUFDbkQsaURBQWlEO0VBQ2pELG9EQUFvRDtFQUNwRCxnRkFBZ0Y7RUFDaEYsZ0NBQWdDO0VBQ2hDLDJDQUEyQztFQUMzQyx3Q0FBd0M7RUFDeEMsbUVBQW1FO0VBQ25FLG9FQUFvRTtFQUNwRSx5REFBeUQ7RUFDekQsb0NBQW9DOztFQUVwQyw2Q0FBNkM7RUFDN0Msc0NBQXNDOztFQUV0QywrREFBK0Q7RUFDL0QsK0RBQStEOztFQUUvRCxzREFBc0Q7RUFDdEQsNERBQTREO0VBQzVELDJDQUEyQztFQUMzQyxpREFBaUQ7RUFDakQsK0NBQStDO0VBQy9DLGlFQUFpRTs7RUFFakUsaURBQWlEO0VBQ2pELHNDQUFzQztFQUN0Qyw2Q0FBNkM7QUFDL0M7QUFDQTtFQUNFLGlDQUFpQztFQUNqQyxpQ0FBaUM7RUFDakMsMENBQTBDOztFQUUxQywyQ0FBMkM7RUFDM0MsMkNBQTJDOztFQUUzQyxvRUFBb0U7O0VBRXBFLDhDQUE4QztFQUM5QyxpRUFBaUU7RUFDakUsbURBQW1EO0VBQ25ELHlDQUF5QztFQUN6QyxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELHlDQUF5Qzs7RUFFekMsc0NBQXNDO0VBQ3RDLGdEQUFnRDtFQUNoRCxpREFBaUQ7RUFDakQsaURBQWlEO0VBQ2pELGdDQUFnQztFQUNoQywyQ0FBMkM7RUFDM0Ms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LFFBQVE7QUFDVjtBQUNBO0VBQ0UsU0FBUztFQUNULE1BQU07QUFDUjtBQUNBO0VBQ0UsU0FBUztFQUNULFNBQVM7QUFDWDtBQUNBO0VBQ0UsT0FBTztBQUNUO0FBQ0E7RUFDRSxPQUFPO0FBQ1Q7QUFDQTtFQUNFLFVBQVU7QUFDWjtBQUNBO0VBQ0UsVUFBVTtBQUNaO0FBQ0EsZ0JBQWdCO0FBQ2hCO0VBQ0UsMEZBQTBGO0VBQzFGLGVBQWU7RUFDZixtQkFBbUI7QUFDckI7QUFDQTs7RUFFRSxVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLE1BQU07RUFDTixZQUFZO0FBQ2Q7QUFDQTtFQUNFLE9BQU87RUFDUCxzQkFBc0I7QUFDeEI7QUFDQTtFQUNFLFVBQVU7RUFDVix1QkFBdUI7QUFDekI7QUFDQTs7RUFFRSxXQUFXO0VBQ1gsNkJBQTZCO0VBQzdCLE9BQU87RUFDUCxXQUFXO0FBQ2I7QUFDQTtFQUNFLE1BQU07RUFDTixxQkFBcUI7QUFDdkI7QUFDQTtFQUNFLHdCQUF3QjtFQUN4QixTQUFTO0FBQ1g7QUFDQTtFQUNFLDBGQUEwRjtBQUM1RjtBQUNBO0VBQ0Usb0VBQW9FO0FBQ3RFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0B4eWZsb3cvcmVhY3QvZGlzdC9zdHlsZS5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogdGhpcyBnZXRzIGV4cG9ydGVkIGFzIHN0eWxlLmNzcyBhbmQgY2FuIGJlIHVzZWQgZm9yIHRoZSBkZWZhdWx0IHRoZW1pbmcgKi9cbi8qIHRoZXNlIGFyZSB0aGUgbmVjZXNzYXJ5IHN0eWxlcyBmb3IgUmVhY3QvU3ZlbHRlIEZsb3csIHRoZXkgZ2V0IHVzZWQgYnkgYmFzZS5jc3MgYW5kIHN0eWxlLmNzcyAqL1xuLnJlYWN0LWZsb3cge1xuICBkaXJlY3Rpb246IGx0cjtcblxuICAtLXh5LWVkZ2Utc3Ryb2tlLWRlZmF1bHQ6ICNiMWIxYjc7XG4gIC0teHktZWRnZS1zdHJva2Utd2lkdGgtZGVmYXVsdDogMTtcbiAgLS14eS1lZGdlLXN0cm9rZS1zZWxlY3RlZC1kZWZhdWx0OiAjNTU1O1xuXG4gIC0teHktY29ubmVjdGlvbmxpbmUtc3Ryb2tlLWRlZmF1bHQ6ICNiMWIxYjc7XG4gIC0teHktY29ubmVjdGlvbmxpbmUtc3Ryb2tlLXdpZHRoLWRlZmF1bHQ6IDE7XG5cbiAgLS14eS1hdHRyaWJ1dGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcblxuICAtLXh5LW1pbmltYXAtYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiAjZmZmO1xuICAtLXh5LW1pbmltYXAtbWFzay1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC42KTtcbiAgLS14eS1taW5pbWFwLW1hc2stc3Ryb2tlLWNvbG9yLWRlZmF1bHQ6IHRyYW5zcGFyZW50O1xuICAtLXh5LW1pbmltYXAtbWFzay1zdHJva2Utd2lkdGgtZGVmYXVsdDogMTtcbiAgLS14eS1taW5pbWFwLW5vZGUtYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiAjZTJlMmUyO1xuICAtLXh5LW1pbmltYXAtbm9kZS1zdHJva2UtY29sb3ItZGVmYXVsdDogdHJhbnNwYXJlbnQ7XG4gIC0teHktbWluaW1hcC1ub2RlLXN0cm9rZS13aWR0aC1kZWZhdWx0OiAyO1xuXG4gIC0teHktYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiB0cmFuc3BhcmVudDtcbiAgLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tZG90cy1jb2xvci1kZWZhdWx0OiAjOTE5MTlhO1xuICAtLXh5LWJhY2tncm91bmQtcGF0dGVybi1saW5lcy1jb2xvci1kZWZhdWx0OiAjZWVlO1xuICAtLXh5LWJhY2tncm91bmQtcGF0dGVybi1jcm9zcy1jb2xvci1kZWZhdWx0OiAjZTJlMmUyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS14eS1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS14eS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKTtcbiAgLS14eS1ub2RlLWNvbG9yLWRlZmF1bHQ6IGluaGVyaXQ7XG4gIC0teHktbm9kZS1ib3JkZXItZGVmYXVsdDogMXB4IHNvbGlkICMxYTE5MmI7XG4gIC0teHktbm9kZS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICNmZmY7XG4gIC0teHktbm9kZS1ncm91cC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC4yNSk7XG4gIC0teHktbm9kZS1ib3hzaGFkb3ctaG92ZXItZGVmYXVsdDogMCAxcHggNHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAtLXh5LW5vZGUtYm94c2hhZG93LXNlbGVjdGVkLWRlZmF1bHQ6IDAgMCAwIDAuNXB4ICMxYTE5MmI7XG4gIC0teHktbm9kZS1ib3JkZXItcmFkaXVzLWRlZmF1bHQ6IDNweDtcblxuICAtLXh5LWhhbmRsZS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICMxYTE5MmI7XG4gIC0teHktaGFuZGxlLWJvcmRlci1jb2xvci1kZWZhdWx0OiAjZmZmO1xuXG4gIC0teHktc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogcmdiYSgwLCA4OSwgMjIwLCAwLjA4KTtcbiAgLS14eS1zZWxlY3Rpb24tYm9yZGVyLWRlZmF1bHQ6IDFweCBkb3R0ZWQgcmdiYSgwLCA4OSwgMjIwLCAwLjgpO1xuXG4gIC0teHktY29udHJvbHMtYnV0dG9uLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogI2ZlZmVmZTtcbiAgLS14eS1jb250cm9scy1idXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlci1kZWZhdWx0OiAjZjRmNGY0O1xuICAtLXh5LWNvbnRyb2xzLWJ1dHRvbi1jb2xvci1kZWZhdWx0OiBpbmhlcml0O1xuICAtLXh5LWNvbnRyb2xzLWJ1dHRvbi1jb2xvci1ob3Zlci1kZWZhdWx0OiBpbmhlcml0O1xuICAtLXh5LWNvbnRyb2xzLWJ1dHRvbi1ib3JkZXItY29sb3ItZGVmYXVsdDogI2VlZTtcbiAgLS14eS1jb250cm9scy1ib3gtc2hhZG93LWRlZmF1bHQ6IDAgMCAycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cbiAgLS14eS1lZGdlLWxhYmVsLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogI2ZmZmZmZjtcbiAgLS14eS1lZGdlLWxhYmVsLWNvbG9yLWRlZmF1bHQ6IGluaGVyaXQ7XG4gIC0teHktcmVzaXplLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogIzMzNjdkOTtcbn1cbi5yZWFjdC1mbG93LmRhcmsge1xuICAtLXh5LWVkZ2Utc3Ryb2tlLWRlZmF1bHQ6ICMzZTNlM2U7XG4gIC0teHktZWRnZS1zdHJva2Utd2lkdGgtZGVmYXVsdDogMTtcbiAgLS14eS1lZGdlLXN0cm9rZS1zZWxlY3RlZC1kZWZhdWx0OiAjNzI3MjcyO1xuXG4gIC0teHktY29ubmVjdGlvbmxpbmUtc3Ryb2tlLWRlZmF1bHQ6ICNiMWIxYjc7XG4gIC0teHktY29ubmVjdGlvbmxpbmUtc3Ryb2tlLXdpZHRoLWRlZmF1bHQ6IDE7XG5cbiAgLS14eS1hdHRyaWJ1dGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6IHJnYmEoMTUwLCAxNTAsIDE1MCwgMC4yNSk7XG5cbiAgLS14eS1taW5pbWFwLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogIzE0MTQxNDtcbiAgLS14eS1taW5pbWFwLW1hc2stYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiByZ2JhKDYwLCA2MCwgNjAsIDAuNik7XG4gIC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS1jb2xvci1kZWZhdWx0OiB0cmFuc3BhcmVudDtcbiAgLS14eS1taW5pbWFwLW1hc2stc3Ryb2tlLXdpZHRoLWRlZmF1bHQ6IDE7XG4gIC0teHktbWluaW1hcC1ub2RlLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogIzJiMmIyYjtcbiAgLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLWNvbG9yLWRlZmF1bHQ6IHRyYW5zcGFyZW50O1xuICAtLXh5LW1pbmltYXAtbm9kZS1zdHJva2Utd2lkdGgtZGVmYXVsdDogMjtcblxuICAtLXh5LWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogIzE0MTQxNDtcbiAgLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tZG90cy1jb2xvci1kZWZhdWx0OiAjNzc3O1xuICAtLXh5LWJhY2tncm91bmQtcGF0dGVybi1saW5lcy1jb2xvci1kZWZhdWx0OiAjNzc3O1xuICAtLXh5LWJhY2tncm91bmQtcGF0dGVybi1jcm9zcy1jb2xvci1kZWZhdWx0OiAjNzc3O1xuICAtLXh5LW5vZGUtY29sb3ItZGVmYXVsdDogI2Y4ZjhmODtcbiAgLS14eS1ub2RlLWJvcmRlci1kZWZhdWx0OiAxcHggc29saWQgIzNjM2MzYztcbiAgLS14eS1ub2RlLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogIzFlMWUxZTtcbiAgLS14eS1ub2RlLWdyb3VwLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjI1KTtcbiAgLS14eS1ub2RlLWJveHNoYWRvdy1ob3Zlci1kZWZhdWx0OiAwIDFweCA0cHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIC0teHktbm9kZS1ib3hzaGFkb3ctc2VsZWN0ZWQtZGVmYXVsdDogMCAwIDAgMC41cHggIzk5OTtcblxuICAtLXh5LWhhbmRsZS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICNiZWJlYmU7XG4gIC0teHktaGFuZGxlLWJvcmRlci1jb2xvci1kZWZhdWx0OiAjMWUxZTFlO1xuXG4gIC0teHktc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogcmdiYSgyMDAsIDIwMCwgMjIwLCAwLjA4KTtcbiAgLS14eS1zZWxlY3Rpb24tYm9yZGVyLWRlZmF1bHQ6IDFweCBkb3R0ZWQgcmdiYSgyMDAsIDIwMCwgMjIwLCAwLjgpO1xuXG4gIC0teHktY29udHJvbHMtYnV0dG9uLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogIzJiMmIyYjtcbiAgLS14eS1jb250cm9scy1idXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlci1kZWZhdWx0OiAjM2UzZTNlO1xuICAtLXh5LWNvbnRyb2xzLWJ1dHRvbi1jb2xvci1kZWZhdWx0OiAjZjhmOGY4O1xuICAtLXh5LWNvbnRyb2xzLWJ1dHRvbi1jb2xvci1ob3Zlci1kZWZhdWx0OiAjZmZmO1xuICAtLXh5LWNvbnRyb2xzLWJ1dHRvbi1ib3JkZXItY29sb3ItZGVmYXVsdDogIzViNWI1YjtcbiAgLS14eS1jb250cm9scy1ib3gtc2hhZG93LWRlZmF1bHQ6IDAgMCAycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cbiAgLS14eS1lZGdlLWxhYmVsLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogIzE0MTQxNDtcbiAgLS14eS1lZGdlLWxhYmVsLWNvbG9yLWRlZmF1bHQ6ICNmOGY4Zjg7XG59XG4ucmVhY3QtZmxvd19fYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXh5LWJhY2tncm91bmQtY29sb3ItcHJvcHMsIHZhcigtLXh5LWJhY2tncm91bmQtY29sb3IsIHZhcigtLXh5LWJhY2tncm91bmQtY29sb3ItZGVmYXVsdCkpKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IC0xO1xufVxuLnJlYWN0LWZsb3dfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuLnJlYWN0LWZsb3dfX3BhbmUge1xuICB6LWluZGV4OiAxO1xufVxuLnJlYWN0LWZsb3dfX3BhbmUuZHJhZ2dhYmxlIHtcbiAgICBjdXJzb3I6IGdyYWI7XG4gIH1cbi5yZWFjdC1mbG93X19wYW5lLmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZS5zZWxlY3Rpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuLnJlYWN0LWZsb3dfX3ZpZXdwb3J0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB6LWluZGV4OiAyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5yZWFjdC1mbG93X19yZW5kZXJlciB7XG4gIHotaW5kZXg6IDQ7XG59XG4ucmVhY3QtZmxvd19fc2VsZWN0aW9uIHtcbiAgei1pbmRleDogNjtcbn1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbi1yZWN0OmZvY3VzLFxuLnJlYWN0LWZsb3dfX25vZGVzc2VsZWN0aW9uLXJlY3Q6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucmVhY3QtZmxvd19fZWRnZS1wYXRoIHtcbiAgc3Ryb2tlOiB2YXIoLS14eS1lZGdlLXN0cm9rZSwgdmFyKC0teHktZWRnZS1zdHJva2UtZGVmYXVsdCkpO1xuICBzdHJva2Utd2lkdGg6IHZhcigtLXh5LWVkZ2Utc3Ryb2tlLXdpZHRoLCB2YXIoLS14eS1lZGdlLXN0cm9rZS13aWR0aC1kZWZhdWx0KSk7XG4gIGZpbGw6IG5vbmU7XG59XG4ucmVhY3QtZmxvd19fY29ubmVjdGlvbi1wYXRoIHtcbiAgc3Ryb2tlOiB2YXIoLS14eS1jb25uZWN0aW9ubGluZS1zdHJva2UsIHZhcigtLXh5LWNvbm5lY3Rpb25saW5lLXN0cm9rZS1kZWZhdWx0KSk7XG4gIHN0cm9rZS13aWR0aDogdmFyKC0teHktY29ubmVjdGlvbmxpbmUtc3Ryb2tlLXdpZHRoLCB2YXIoLS14eS1jb25uZWN0aW9ubGluZS1zdHJva2Utd2lkdGgtZGVmYXVsdCkpO1xuICBmaWxsOiBub25lO1xufVxuLnJlYWN0LWZsb3cgLnJlYWN0LWZsb3dfX2VkZ2VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnJlYWN0LWZsb3cgLnJlYWN0LWZsb3dfX2VkZ2VzIHN2ZyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZSB7XG4gIHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlU3Ryb2tlO1xufVxuLnJlYWN0LWZsb3dfX2VkZ2Uuc2VsZWN0YWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZS5hbmltYXRlZCBwYXRoIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiA1O1xuICAgIGFuaW1hdGlvbjogZGFzaGRyYXcgMC41cyBsaW5lYXIgaW5maW5pdGU7XG4gIH1cbi5yZWFjdC1mbG93X19lZGdlLmFuaW1hdGVkIHBhdGgucmVhY3QtZmxvd19fZWRnZS1pbnRlcmFjdGlvbiB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogbm9uZTtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19lZGdlLmluYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuLnJlYWN0LWZsb3dfX2VkZ2Uuc2VsZWN0ZWQsXG4gIC5yZWFjdC1mbG93X19lZGdlOmZvY3VzLFxuICAucmVhY3QtZmxvd19fZWRnZTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZS5zZWxlY3RlZCAucmVhY3QtZmxvd19fZWRnZS1wYXRoLFxuICAucmVhY3QtZmxvd19fZWRnZS5zZWxlY3RhYmxlOmZvY3VzIC5yZWFjdC1mbG93X19lZGdlLXBhdGgsXG4gIC5yZWFjdC1mbG93X19lZGdlLnNlbGVjdGFibGU6Zm9jdXMtdmlzaWJsZSAucmVhY3QtZmxvd19fZWRnZS1wYXRoIHtcbiAgICBzdHJva2U6IHZhcigtLXh5LWVkZ2Utc3Ryb2tlLXNlbGVjdGVkLCB2YXIoLS14eS1lZGdlLXN0cm9rZS1zZWxlY3RlZC1kZWZhdWx0KSk7XG4gIH1cbi5yZWFjdC1mbG93X19lZGdlLXRleHR3cmFwcGVyIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZSAucmVhY3QtZmxvd19fZWRnZS10ZXh0IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuLyogQXJyb3doZWFkIG1hcmtlciBzdHlsZXMgLSB1c2UgQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIGFzIGRlZmF1bHQgKi9cbi5yZWFjdC1mbG93X19hcnJvd2hlYWQgcG9seWxpbmUge1xuICBzdHJva2U6IHZhcigtLXh5LWVkZ2Utc3Ryb2tlLCB2YXIoLS14eS1lZGdlLXN0cm9rZS1kZWZhdWx0KSk7XG59XG4ucmVhY3QtZmxvd19fYXJyb3doZWFkIHBvbHlsaW5lLmFycm93Y2xvc2VkIHtcbiAgZmlsbDogdmFyKC0teHktZWRnZS1zdHJva2UsIHZhcigtLXh5LWVkZ2Utc3Ryb2tlLWRlZmF1bHQpKTtcbn1cbi5yZWFjdC1mbG93X19jb25uZWN0aW9uIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucmVhY3QtZmxvd19fY29ubmVjdGlvbiAuYW5pbWF0ZWQge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDU7XG4gICAgYW5pbWF0aW9uOiBkYXNoZHJhdyAwLjVzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxuc3ZnLnJlYWN0LWZsb3dfX2Nvbm5lY3Rpb25saW5lIHtcbiAgei1pbmRleDogMTAwMTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5yZWFjdC1mbG93X19ub2RlcyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG59XG4ucmVhY3QtZmxvd19fbm9kZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ucmVhY3QtZmxvd19fbm9kZS5zZWxlY3RhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbi5yZWFjdC1mbG93X19ub2RlLmRyYWdnYWJsZSB7XG4gICAgY3Vyc29yOiBncmFiO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbi5yZWFjdC1mbG93X19ub2RlLmRyYWdnYWJsZS5kcmFnZ2luZyB7XG4gICAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICAgIH1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbiB7XG4gIHotaW5kZXg6IDM7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbi1yZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBjdXJzb3I6IGdyYWI7XG4gIH1cbi5yZWFjdC1mbG93X19oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtaW4td2lkdGg6IDVweDtcbiAgbWluLWhlaWdodDogNXB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teHktaGFuZGxlLWJhY2tncm91bmQtY29sb3IsIHZhcigtLXh5LWhhbmRsZS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0teHktaGFuZGxlLWJvcmRlci1jb2xvciwgdmFyKC0teHktaGFuZGxlLWJvcmRlci1jb2xvci1kZWZhdWx0KSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4ucmVhY3QtZmxvd19faGFuZGxlLmNvbm5lY3Rpbmdmcm9tIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4ucmVhY3QtZmxvd19faGFuZGxlLmNvbm5lY3Rpb25pbmRpY2F0b3Ige1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgY3Vyc29yOiBjcm9zc2hhaXI7XG4gIH1cbi5yZWFjdC1mbG93X19oYW5kbGUtYm90dG9tIHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICB9XG4ucmVhY3QtZmxvd19faGFuZGxlLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuLnJlYWN0LWZsb3dfX2hhbmRsZS1sZWZ0IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4ucmVhY3QtZmxvd19faGFuZGxlLXJpZ2h0IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZXVwZGF0ZXIge1xuICBjdXJzb3I6IG1vdmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG4ucmVhY3QtZmxvd19fcGFuZS5zZWxlY3Rpb24gLnJlYWN0LWZsb3dfX3BhbmVsIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucmVhY3QtZmxvd19fcGFuZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIG1hcmdpbjogMTVweDtcbn1cbi5yZWFjdC1mbG93X19wYW5lbC50b3Age1xuICAgIHRvcDogMDtcbiAgfVxuLnJlYWN0LWZsb3dfX3BhbmVsLmJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZWwudG9wLmNlbnRlciwgLnJlYWN0LWZsb3dfX3BhbmVsLmJvdHRvbS5jZW50ZXIge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNXB4KSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbi5yZWFjdC1mbG93X19wYW5lbC5sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZWwucmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZWwubGVmdC5jZW50ZXIsIC5yZWFjdC1mbG93X19wYW5lbC5yaWdodC5jZW50ZXIge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuLnJlYWN0LWZsb3dfX2F0dHJpYnV0aW9uIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS14eS1hdHRyaWJ1dGlvbi1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS14eS1hdHRyaWJ1dGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKTtcbiAgcGFkZGluZzogMnB4IDNweDtcbiAgbWFyZ2luOiAwO1xufVxuLnJlYWN0LWZsb3dfX2F0dHJpYnV0aW9uIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzk5OTtcbiAgfVxuQGtleWZyYW1lcyBkYXNoZHJhdyB7XG4gIGZyb20ge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAxMDtcbiAgfVxufVxuLnJlYWN0LWZsb3dfX2VkZ2VsYWJlbC1yZW5kZXJlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5yZWFjdC1mbG93X192aWV3cG9ydC1wb3J0YWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5yZWFjdC1mbG93X19taW5pbWFwIHtcbiAgYmFja2dyb3VuZDogdmFyKFxuICAgIC0teHktbWluaW1hcC1iYWNrZ3JvdW5kLWNvbG9yLXByb3BzLFxuICAgIHZhcigtLXh5LW1pbmltYXAtYmFja2dyb3VuZC1jb2xvciwgdmFyKC0teHktbWluaW1hcC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKVxuICApO1xufVxuLnJlYWN0LWZsb3dfX21pbmltYXAtc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuLnJlYWN0LWZsb3dfX21pbmltYXAtbWFzayB7XG4gICAgZmlsbDogdmFyKFxuICAgICAgLS14eS1taW5pbWFwLW1hc2stYmFja2dyb3VuZC1jb2xvci1wcm9wcyxcbiAgICAgIHZhcigtLXh5LW1pbmltYXAtbWFzay1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS14eS1taW5pbWFwLW1hc2stYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0KSlcbiAgICApO1xuICAgIHN0cm9rZTogdmFyKFxuICAgICAgLS14eS1taW5pbWFwLW1hc2stc3Ryb2tlLWNvbG9yLXByb3BzLFxuICAgICAgdmFyKC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS1jb2xvciwgdmFyKC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS1jb2xvci1kZWZhdWx0KSlcbiAgICApO1xuICAgIHN0cm9rZS13aWR0aDogdmFyKFxuICAgICAgLS14eS1taW5pbWFwLW1hc2stc3Ryb2tlLXdpZHRoLXByb3BzLFxuICAgICAgdmFyKC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS13aWR0aCwgdmFyKC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS13aWR0aC1kZWZhdWx0KSlcbiAgICApO1xuICB9XG4ucmVhY3QtZmxvd19fbWluaW1hcC1ub2RlIHtcbiAgICBmaWxsOiB2YXIoXG4gICAgICAtLXh5LW1pbmltYXAtbm9kZS1iYWNrZ3JvdW5kLWNvbG9yLXByb3BzLFxuICAgICAgdmFyKC0teHktbWluaW1hcC1ub2RlLWJhY2tncm91bmQtY29sb3IsIHZhcigtLXh5LW1pbmltYXAtbm9kZS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKVxuICAgICk7XG4gICAgc3Ryb2tlOiB2YXIoXG4gICAgICAtLXh5LW1pbmltYXAtbm9kZS1zdHJva2UtY29sb3ItcHJvcHMsXG4gICAgICB2YXIoLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLWNvbG9yLCB2YXIoLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLWNvbG9yLWRlZmF1bHQpKVxuICAgICk7XG4gICAgc3Ryb2tlLXdpZHRoOiB2YXIoXG4gICAgICAtLXh5LW1pbmltYXAtbm9kZS1zdHJva2Utd2lkdGgtcHJvcHMsXG4gICAgICB2YXIoLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLXdpZHRoLCB2YXIoLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLXdpZHRoLWRlZmF1bHQpKVxuICAgICk7XG4gIH1cbi5yZWFjdC1mbG93X19iYWNrZ3JvdW5kLXBhdHRlcm4uZG90cyB7XG4gICAgZmlsbDogdmFyKFxuICAgICAgLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY29sb3ItcHJvcHMsXG4gICAgICB2YXIoLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY29sb3IsIHZhcigtLXh5LWJhY2tncm91bmQtcGF0dGVybi1kb3RzLWNvbG9yLWRlZmF1bHQpKVxuICAgICk7XG4gIH1cbi5yZWFjdC1mbG93X19iYWNrZ3JvdW5kLXBhdHRlcm4ubGluZXMge1xuICAgIHN0cm9rZTogdmFyKFxuICAgICAgLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY29sb3ItcHJvcHMsXG4gICAgICB2YXIoLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY29sb3IsIHZhcigtLXh5LWJhY2tncm91bmQtcGF0dGVybi1saW5lcy1jb2xvci1kZWZhdWx0KSlcbiAgICApO1xuICB9XG4ucmVhY3QtZmxvd19fYmFja2dyb3VuZC1wYXR0ZXJuLmNyb3NzIHtcbiAgICBzdHJva2U6IHZhcihcbiAgICAgIC0teHktYmFja2dyb3VuZC1wYXR0ZXJuLWNvbG9yLXByb3BzLFxuICAgICAgdmFyKC0teHktYmFja2dyb3VuZC1wYXR0ZXJuLWNvbG9yLCB2YXIoLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY3Jvc3MtY29sb3ItZGVmYXVsdCkpXG4gICAgKTtcbiAgfVxuLnJlYWN0LWZsb3dfX2NvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm94LXNoYWRvdzogdmFyKC0teHktY29udHJvbHMtYm94LXNoYWRvdywgdmFyKC0teHktY29udHJvbHMtYm94LXNoYWRvdy1kZWZhdWx0KSk7XG59XG4ucmVhY3QtZmxvd19fY29udHJvbHMuaG9yaXpvbnRhbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuLnJlYWN0LWZsb3dfX2NvbnRyb2xzLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMjZweDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXh5LWNvbnRyb2xzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS14eS1jb250cm9scy1idXR0b24tYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0KSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkXG4gICAgICB2YXIoXG4gICAgICAgIC0teHktY29udHJvbHMtYnV0dG9uLWJvcmRlci1jb2xvci1wcm9wcyxcbiAgICAgICAgdmFyKC0teHktY29udHJvbHMtYnV0dG9uLWJvcmRlci1jb2xvciwgdmFyKC0teHktY29udHJvbHMtYnV0dG9uLWJvcmRlci1jb2xvci1kZWZhdWx0KSlcbiAgICAgICk7XG4gICAgY29sb3I6IHZhcihcbiAgICAgIC0teHktY29udHJvbHMtYnV0dG9uLWNvbG9yLXByb3BzLFxuICAgICAgdmFyKC0teHktY29udHJvbHMtYnV0dG9uLWNvbG9yLCB2YXIoLS14eS1jb250cm9scy1idXR0b24tY29sb3ItZGVmYXVsdCkpXG4gICAgKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19jb250cm9scy1idXR0b24gc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMnB4O1xuICAgICAgbWF4LWhlaWdodDogMTJweDtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG4ucmVhY3QtZmxvd19fZWRnZS51cGRhdGluZyAucmVhY3QtZmxvd19fZWRnZS1wYXRoIHtcbiAgICAgIHN0cm9rZTogIzc3NztcbiAgICB9XG4ucmVhY3QtZmxvd19fZWRnZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cbi5yZWFjdC1mbG93X19ub2RlLnNlbGVjdGFibGU6Zm9jdXMsXG4gIC5yZWFjdC1mbG93X19ub2RlLnNlbGVjdGFibGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuLnJlYWN0LWZsb3dfX25vZGUtaW5wdXQsXG4ucmVhY3QtZmxvd19fbm9kZS1kZWZhdWx0LFxuLnJlYWN0LWZsb3dfX25vZGUtb3V0cHV0LFxuLnJlYWN0LWZsb3dfX25vZGUtZ3JvdXAge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS14eS1ub2RlLWJvcmRlci1yYWRpdXMsIHZhcigtLXh5LW5vZGUtYm9yZGVyLXJhZGl1cy1kZWZhdWx0KSk7XG4gIHdpZHRoOiAxNTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogdmFyKC0teHktbm9kZS1jb2xvciwgdmFyKC0teHktbm9kZS1jb2xvci1kZWZhdWx0KSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiB2YXIoLS14eS1ub2RlLWJvcmRlciwgdmFyKC0teHktbm9kZS1ib3JkZXItZGVmYXVsdCkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS14eS1ub2RlLWJhY2tncm91bmQtY29sb3IsIHZhcigtLXh5LW5vZGUtYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0KSk7XG59XG4ucmVhY3QtZmxvd19fbm9kZS1pbnB1dC5zZWxlY3RhYmxlOmhvdmVyLCAucmVhY3QtZmxvd19fbm9kZS1kZWZhdWx0LnNlbGVjdGFibGU6aG92ZXIsIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlOmhvdmVyLCAucmVhY3QtZmxvd19fbm9kZS1ncm91cC5zZWxlY3RhYmxlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXh5LW5vZGUtYm94c2hhZG93LWhvdmVyLCB2YXIoLS14eS1ub2RlLWJveHNoYWRvdy1ob3Zlci1kZWZhdWx0KSk7XG4gICAgfVxuLnJlYWN0LWZsb3dfX25vZGUtaW5wdXQuc2VsZWN0YWJsZS5zZWxlY3RlZCxcbiAgICAucmVhY3QtZmxvd19fbm9kZS1pbnB1dC5zZWxlY3RhYmxlOmZvY3VzLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLWlucHV0LnNlbGVjdGFibGU6Zm9jdXMtdmlzaWJsZSxcbiAgICAucmVhY3QtZmxvd19fbm9kZS1kZWZhdWx0LnNlbGVjdGFibGUuc2VsZWN0ZWQsXG4gICAgLnJlYWN0LWZsb3dfX25vZGUtZGVmYXVsdC5zZWxlY3RhYmxlOmZvY3VzLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLWRlZmF1bHQuc2VsZWN0YWJsZTpmb2N1cy12aXNpYmxlLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlLnNlbGVjdGVkLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlOmZvY3VzLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlOmZvY3VzLXZpc2libGUsXG4gICAgLnJlYWN0LWZsb3dfX25vZGUtZ3JvdXAuc2VsZWN0YWJsZS5zZWxlY3RlZCxcbiAgICAucmVhY3QtZmxvd19fbm9kZS1ncm91cC5zZWxlY3RhYmxlOmZvY3VzLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLWdyb3VwLnNlbGVjdGFibGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS14eS1ub2RlLWJveHNoYWRvdy1zZWxlY3RlZCwgdmFyKC0teHktbm9kZS1ib3hzaGFkb3ctc2VsZWN0ZWQtZGVmYXVsdCkpO1xuICAgIH1cbi5yZWFjdC1mbG93X19ub2RlLWdyb3VwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teHktbm9kZS1ncm91cC1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS14eS1ub2RlLWdyb3VwLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdCkpO1xufVxuLnJlYWN0LWZsb3dfX25vZGVzc2VsZWN0aW9uLXJlY3QsXG4ucmVhY3QtZmxvd19fc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0teHktc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3IsIHZhcigtLXh5LXNlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKTtcbiAgYm9yZGVyOiB2YXIoLS14eS1zZWxlY3Rpb24tYm9yZGVyLCB2YXIoLS14eS1zZWxlY3Rpb24tYm9yZGVyLWRlZmF1bHQpKTtcbn1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbi1yZWN0OmZvY3VzLFxuICAucmVhY3QtZmxvd19fbm9kZXNzZWxlY3Rpb24tcmVjdDpmb2N1cy12aXNpYmxlLFxuICAucmVhY3QtZmxvd19fc2VsZWN0aW9uOmZvY3VzLFxuICAucmVhY3QtZmxvd19fc2VsZWN0aW9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19jb250cm9scy1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKFxuICAgICAgICAtLXh5LWNvbnRyb2xzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyLXByb3BzLFxuICAgICAgICB2YXIoLS14eS1jb250cm9scy1idXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3ZlciwgdmFyKC0teHktY29udHJvbHMtYnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXItZGVmYXVsdCkpXG4gICAgICApO1xuICAgICAgY29sb3I6IHZhcihcbiAgICAgICAgLS14eS1jb250cm9scy1idXR0b24tY29sb3ItaG92ZXItcHJvcHMsXG4gICAgICAgIHZhcigtLXh5LWNvbnRyb2xzLWJ1dHRvbi1jb2xvci1ob3ZlciwgdmFyKC0teHktY29udHJvbHMtYnV0dG9uLWNvbG9yLWhvdmVyLWRlZmF1bHQpKVxuICAgICAgKTtcbiAgICB9XG4ucmVhY3QtZmxvd19fY29udHJvbHMtYnV0dG9uOmRpc2FibGVkIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbi5yZWFjdC1mbG93X19jb250cm9scy1idXR0b246ZGlzYWJsZWQgc3ZnIHtcbiAgICAgICAgZmlsbC1vcGFjaXR5OiAwLjQ7XG4gICAgICB9XG4ucmVhY3QtZmxvd19fY29udHJvbHMtYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19jb250cm9scy5ob3Jpem9udGFsIC5yZWFjdC1mbG93X19jb250cm9scy1idXR0b24ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWRcbiAgICAgIHZhcihcbiAgICAgICAgLS14eS1jb250cm9scy1idXR0b24tYm9yZGVyLWNvbG9yLXByb3BzLFxuICAgICAgICB2YXIoLS14eS1jb250cm9scy1idXR0b24tYm9yZGVyLWNvbG9yLCB2YXIoLS14eS1jb250cm9scy1idXR0b24tYm9yZGVyLWNvbG9yLWRlZmF1bHQpKVxuICAgICAgKTtcbiAgfVxuLnJlYWN0LWZsb3dfX2NvbnRyb2xzLmhvcml6b250YWwgLnJlYWN0LWZsb3dfX2NvbnRyb2xzLWJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5sZWZ0LFxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLnJpZ2h0IHtcbiAgY3Vyc29yOiBldy1yZXNpemU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wudG9wLFxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmJvdHRvbSB7XG4gIGN1cnNvcjogbnMtcmVzaXplO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLnRvcC5sZWZ0LFxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmJvdHRvbS5yaWdodCB7XG4gIGN1cnNvcjogbndzZS1yZXNpemU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wuYm90dG9tLmxlZnQsXG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wudG9wLnJpZ2h0IHtcbiAgY3Vyc29yOiBuZXN3LXJlc2l6ZTtcbn1cbi8qIGhhbmRsZSBzdHlsZXMgKi9cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5oYW5kbGUge1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS14eS1yZXNpemUtYmFja2dyb3VuZC1jb2xvciwgdmFyKC0teHktcmVzaXplLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdCkpO1xuICB0cmFuc2xhdGU6IC01MCUgLTUwJTtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5oYW5kbGUubGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS5yaWdodCB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogNTAlO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS50b3Age1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogMDtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5oYW5kbGUuYm90dG9tIHtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDEwMCU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wuaGFuZGxlLnRvcC5sZWZ0IHtcbiAgbGVmdDogMDtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5oYW5kbGUuYm90dG9tLmxlZnQge1xuICBsZWZ0OiAwO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS50b3AucmlnaHQge1xuICBsZWZ0OiAxMDAlO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS5ib3R0b20ucmlnaHQge1xuICBsZWZ0OiAxMDAlO1xufVxuLyogbGluZSBzdHlsZXMgKi9cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5saW5lIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS14eS1yZXNpemUtYmFja2dyb3VuZC1jb2xvciwgdmFyKC0teHktcmVzaXplLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdCkpO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS5sZWZ0LFxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmxpbmUucmlnaHQge1xuICB3aWR0aDogMXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS5sZWZ0IHtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5saW5lLnJpZ2h0IHtcbiAgbGVmdDogMTAwJTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS50b3AsXG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS5ib3R0b20ge1xuICBoZWlnaHQ6IDFweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmxpbmUudG9wIHtcbiAgdG9wOiAwO1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS5ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIHRvcDogMTAwJTtcbn1cbi5yZWFjdC1mbG93X19lZGdlLXRleHRiZyB7XG4gIGZpbGw6IHZhcigtLXh5LWVkZ2UtbGFiZWwtYmFja2dyb3VuZC1jb2xvciwgdmFyKC0teHktZWRnZS1sYWJlbC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKTtcbn1cbi5yZWFjdC1mbG93X19lZGdlLXRleHQge1xuICBmaWxsOiB2YXIoLS14eS1lZGdlLWxhYmVsLWNvbG9yLCB2YXIoLS14eS1lZGdlLWxhYmVsLWNvbG9yLWRlZmF1bHQpKTtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=*/