/*!
 * This file is part of ORY Editor.
 *
 * ORY Editor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ORY Editor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ORY Editor.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license LGPL-3.0
 * @copyright 2016-2018 Aeneas Rekkas
 * @author Aeneas Rekkas <aeneas+oss@aeneas.io>
 *
 */

/*!
 * This file is part of ORY Editor.
 *
 * ORY Editor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ORY Editor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ORY Editor.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license LGPL-3.0
 * @copyright 2016-2018 Aeneas Rekkas
 * @author Aeneas Rekkas <aeneas+oss@aeneas.io>
 *
 */

/* based on: https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css */

:root {
  --gutter-width: 0rem;
  --outer-margin: 0rem;
  --gutter-compensation: calc((0rem * 0.5) * -1);
  --gutter-compensation: calc((var(--gutter-width) * 0.5) * -1);
  --half-gutter-width: calc((0rem * 0.5));
  --half-gutter-width: calc((var(--gutter-width) * 0.5));
  --xs-min: 30;
  --sm-min: 48;
  --md-min: 64;
  --lg-min: 75;
  --screen-xs-min: 30em;
  --screen-xs-min: var(--xs-min)em;
  --screen-sm-min: 48em;
  --screen-sm-min: var(--sm-min)em;
  --screen-md-min: 64em;
  --screen-md-min: var(--md-min)em;
  --screen-lg-min: 75em;
  --screen-lg-min: var(--lg-min)em;
  --container-sm: calc(48 + 0rem);
  --container-sm: calc(var(--sm-min) + var(--gutter-width));
  --container-md: calc(64 + 0rem);
  --container-md: calc(var(--md-min) + var(--gutter-width));
  --container-lg: calc(75 + 0rem);
  --container-lg: calc(var(--lg-min) + var(--gutter-width));
}

.ory-editable {
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-right: 0rem;
  padding-right: var(--outer-margin, 2rem);
  padding-left: 2rem;
  padding-left: 0rem;
  padding-left: var(--outer-margin, 2rem);
}

.ory-row {
  box-sizing: border-box;
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  margin-right: -0.5rem;
  margin-right: calc((0rem * 0.5) * -1);
  margin-right: var(--gutter-compensation, -0.5rem);
  margin-left: -0.5rem;
  margin-left: calc((0rem * 0.5) * -1);
  margin-left: var(--gutter-compensation, -0.5rem);
  position: relative;
}

.ory-cell-xs,
.ory-cell-xs-1,
.ory-cell-xs-2,
.ory-cell-xs-3,
.ory-cell-xs-4,
.ory-cell-xs-5,
.ory-cell-xs-6,
.ory-cell-xs-7,
.ory-cell-xs-8,
.ory-cell-xs-9,
.ory-cell-xs-10,
.ory-cell-xs-11,
.ory-cell-xs-12,
.ory-cell-xs-offset-0,
.ory-cell-xs-offset-1,
.ory-cell-xs-offset-2,
.ory-cell-xs-offset-3,
.ory-cell-xs-offset-4,
.ory-cell-xs-offset-5,
.ory-cell-xs-offset-6,
.ory-cell-xs-offset-7,
.ory-cell-xs-offset-8,
.ory-cell-xs-offset-9,
.ory-cell-xs-offset-10,
.ory-cell-xs-offset-11,
.ory-cell-xs-offset-12 {
  box-sizing: border-box;
  flex: 0 0 auto;
  padding-right: 0.5rem;
  padding-right: calc((0rem * 0.5));
  padding-right: var(--half-gutter-width, 0.5rem);
  padding-left: 0.5rem;
  padding-left: calc((0rem * 0.5));
  padding-left: var(--half-gutter-width, 0.5rem);
  min-width: 0;
}

.ory-cell-xs {
  flex-grow: 1;
  flex-basis: 0;
  width: 100%;
  min-width: 100%;
}

.ory-cell-xs-1 {
  flex-basis: 8.33333333%;
  width: 8.33333333%;
}

.ory-cell-xs-2 {
  flex-basis: 16.66666667%;
  width: 16.66666667%;
}

.ory-cell-xs-3 {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
}

.ory-cell-xs-4 {
  flex-basis: 33.33333333%;
  width: 33.33333333%;
}

.ory-cell-xs-5 {
  flex-basis: 41.66666667%;
  width: 41.66666667%;
}

.ory-cell-xs-6 {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
}

.ory-cell-xs-7 {
  flex-basis: 58.33333333%;
  width: 58.33333333%;
}

.ory-cell-xs-8 {
  flex-basis: 66.66666667%;
  width: 66.66666667%;
}

.ory-cell-xs-9 {
  flex-basis: 75%;
  width: 75%;
  min-width: 75%;
}

.ory-cell-xs-10 {
  flex-basis: 83.33333333%;
  width: 83.33333333%;
}

.ory-cell-xs-11 {
  flex-basis: 91.66666667%;
  width: 91.66666667%;
}

.ory-cell-xs-12 {
  flex-basis: 100%;
  width: 100%;
  min-width: 100%;
}

.ory-cell-xs-offset-0 {
  margin-left: 0;
}

.ory-cell-xs-offset-1 {
  margin-left: 8.33333333%;
}

.ory-cell-xs-offset-2 {
  margin-left: 16.66666667%;
}

.ory-cell-xs-offset-3 {
  margin-left: 25%;
}

.ory-cell-xs-offset-4 {
  margin-left: 33.33333333%;
}

.ory-cell-xs-offset-5 {
  margin-left: 41.66666667%;
}

.ory-cell-xs-offset-6 {
  margin-left: 50%;
}

.ory-cell-xs-offset-7 {
  margin-left: 58.33333333%;
}

.ory-cell-xs-offset-8 {
  margin-left: 66.66666667%;
}

.ory-cell-xs-offset-9 {
  margin-left: 75%;
}

.ory-cell-xs-offset-10 {
  margin-left: 83.33333333%;
}

.ory-cell-xs-offset-11 {
  margin-left: 91.66666667%;
}

.start-xs {
  justify-content: flex-start;
}

[dir="ltr"] .start-xs {
  text-align: left;
}

[dir="rtl"] .start-xs {
  text-align: right;
}

.center-xs {
  justify-content: center;
  text-align: center;
}

.end-xs {
  justify-content: flex-end;
}

[dir="ltr"] .end-xs {
  text-align: right;
}

[dir="rtl"] .end-xs {
  text-align: left;
}

.top-xs {
  align-items: flex-start;
}

.middle-xs {
  align-items: center;
}

.bottom-xs {
  align-items: flex-end;
}

.around-xs {
  justify-content: space-around;
}

.between-xs {
  justify-content: space-between;
}

.first-xs {
  order: -1;
}

.last-xs {
  order: 1;
}

@media only screen and (min-width: 48em) {
  .ory-cell-sm,
  .ory-cell-sm-1,
  .ory-cell-sm-2,
  .ory-cell-sm-3,
  .ory-cell-sm-4,
  .ory-cell-sm-5,
  .ory-cell-sm-6,
  .ory-cell-sm-7,
  .ory-cell-sm-8,
  .ory-cell-sm-9,
  .ory-cell-sm-10,
  .ory-cell-sm-11,
  .ory-cell-sm-12,
  .ory-cell-sm-offset-0,
  .ory-cell-sm-offset-1,
  .ory-cell-sm-offset-2,
  .ory-cell-sm-offset-3,
  .ory-cell-sm-offset-4,
  .ory-cell-sm-offset-5,
  .ory-cell-sm-offset-6,
  .ory-cell-sm-offset-7,
  .ory-cell-sm-offset-8,
  .ory-cell-sm-offset-9,
  .ory-cell-sm-offset-10,
  .ory-cell-sm-offset-11,
  .ory-cell-sm-offset-12 {
    box-sizing: border-box;
    flex: 0 0 auto;
    padding-right: 0.5rem;
    padding-right: calc((0rem * 0.5));
    padding-right: var(--half-gutter-width, 0.5rem);
    padding-left: 0.5rem;
    padding-left: calc((0rem * 0.5));
    padding-left: var(--half-gutter-width, 0.5rem);
    min-width: 0;
  }

  .ory-cell-sm {
    flex-grow: 1;
    flex-basis: 0;
    width: 100%;
  min-width: 100%;
  }

  .ory-cell-sm-1 {
    flex-basis: 8.33333333%;
    width: 8.33333333%;
  }

  .ory-cell-sm-2 {
    flex-basis: 16.66666667%;
    width: 16.66666667%;
  }

  .ory-cell-sm-3 {
    flex-basis: 25%;
    width: 25%;
  min-width: 25%;
  }

  .ory-cell-sm-4 {
    flex-basis: 33.33333333%;
    width: 33.33333333%;
  }

  .ory-cell-sm-5 {
    flex-basis: 41.66666667%;
    width: 41.66666667%;
  }

  .ory-cell-sm-6 {
    flex-basis: 50%;
    width: 50%;
  min-width: 50%;
  }

  .ory-cell-sm-7 {
    flex-basis: 58.33333333%;
    width: 58.33333333%;
  }

  .ory-cell-sm-8 {
    flex-basis: 66.66666667%;
    width: 66.66666667%;
  }

  .ory-cell-sm-9 {
    flex-basis: 75%;
    width: 75%;
  min-width: 75%;
  }

  .ory-cell-sm-10 {
    flex-basis: 83.33333333%;
    width: 83.33333333%;
  }

  .ory-cell-sm-11 {
    flex-basis: 91.66666667%;
    width: 91.66666667%;
  }

  .ory-cell-sm-12 {
    flex-basis: 100%;
    width: 100%;
  min-width: 100%;
  }

  .ory-cell-sm-offset-0 {
    margin-left: 0;
  }

  .ory-cell-sm-offset-1 {
    margin-left: 8.33333333%;
  }

  .ory-cell-sm-offset-2 {
    margin-left: 16.66666667%;
  }

  .ory-cell-sm-offset-3 {
    margin-left: 25%;
  }

  .ory-cell-sm-offset-4 {
    margin-left: 33.33333333%;
  }

  .ory-cell-sm-offset-5 {
    margin-left: 41.66666667%;
  }

  .ory-cell-sm-offset-6 {
    margin-left: 50%;
  }

  .ory-cell-sm-offset-7 {
    margin-left: 58.33333333%;
  }

  .ory-cell-sm-offset-8 {
    margin-left: 66.66666667%;
  }

  .ory-cell-sm-offset-9 {
    margin-left: 75%;
  }

  .ory-cell-sm-offset-10 {
    margin-left: 83.33333333%;
  }

  .ory-cell-sm-offset-11 {
    margin-left: 91.66666667%;
  }

  .start-sm {
    justify-content: flex-start;
  }
    [dir="ltr"] .start-sm {
    text-align: left;
  }
    [dir="rtl"] .start-sm {
    text-align: right;
  }

  .center-sm {
    justify-content: center;
    text-align: center;
  }

  .end-sm {
    justify-content: flex-end;
  }
    [dir="ltr"] .end-sm {
    text-align: right;
  }
    [dir="rtl"] .end-sm {
    text-align: left;
  }

  .top-sm {
    align-items: flex-start;
  }

  .middle-sm {
    align-items: center;
  }

  .bottom-sm {
    align-items: flex-end;
  }

  .around-sm {
    justify-content: space-around;
  }

  .between-sm {
    justify-content: space-between;
  }

  .first-sm {
    order: -1;
  }

  .last-sm {
    order: 1;
  }
}

@media only screen and (min-width: 64em) {
  .ory-cell-md,
  .ory-cell-md-1,
  .ory-cell-md-2,
  .ory-cell-md-3,
  .ory-cell-md-4,
  .ory-cell-md-5,
  .ory-cell-md-6,
  .ory-cell-md-7,
  .ory-cell-md-8,
  .ory-cell-md-9,
  .ory-cell-md-10,
  .ory-cell-md-11,
  .ory-cell-md-12,
  .ory-cell-md-offset-0,
  .ory-cell-md-offset-1,
  .ory-cell-md-offset-2,
  .ory-cell-md-offset-3,
  .ory-cell-md-offset-4,
  .ory-cell-md-offset-5,
  .ory-cell-md-offset-6,
  .ory-cell-md-offset-7,
  .ory-cell-md-offset-8,
  .ory-cell-md-offset-9,
  .ory-cell-md-offset-10,
  .ory-cell-md-offset-11,
  .ory-cell-md-offset-12 {
    box-sizing: border-box;
    flex: 0 0 auto;
    padding-right: 0.5rem;
    padding-right: calc((0rem * 0.5));
    padding-right: var(--half-gutter-width, 0.5rem);
    padding-left: 0.5rem;
    padding-left: calc((0rem * 0.5));
    padding-left: var(--half-gutter-width, 0.5rem);
    min-width: 0;
  }

  .ory-cell-md {
    flex-grow: 1;
    flex-basis: 0;
    width: 100%;
  min-width: 100%;
  }

  .ory-cell-md-1 {
    flex-basis: 8.33333333%;
    width: 8.33333333%;
  }

  .ory-cell-md-2 {
    flex-basis: 16.66666667%;
    width: 16.66666667%;
  }

  .ory-cell-md-3 {
    flex-basis: 25%;
    width: 25%;
  min-width: 25%;
  }

  .ory-cell-md-4 {
    flex-basis: 33.33333333%;
    width: 33.33333333%;
  }

  .ory-cell-md-5 {
    flex-basis: 41.66666667%;
    width: 41.66666667%;
  }

  .ory-cell-md-6 {
    flex-basis: 50%;
    width: 50%;
  min-width: 50%;
  }

  .ory-cell-md-7 {
    flex-basis: 58.33333333%;
    width: 58.33333333%;
  }

  .ory-cell-md-8 {
    flex-basis: 66.66666667%;
    width: 66.66666667%;
  }

  .ory-cell-md-9 {
    flex-basis: 75%;
    width: 75%;
  min-width: 75%;
  }

  .ory-cell-md-10 {
    flex-basis: 83.33333333%;
    width: 83.33333333%;
  }

  .ory-cell-md-11 {
    flex-basis: 91.66666667%;
    width: 91.66666667%;
  }

  .ory-cell-md-12 {
    flex-basis: 100%;
    width: 100%;
  min-width: 100%;
  }

  .ory-cell-md-offset-0 {
    margin-left: 0;
  }

  .ory-cell-md-offset-1 {
    margin-left: 8.33333333%;
  }

  .ory-cell-md-offset-2 {
    margin-left: 16.66666667%;
  }

  .ory-cell-md-offset-3 {
    margin-left: 25%;
  }

  .ory-cell-md-offset-4 {
    margin-left: 33.33333333%;
  }

  .ory-cell-md-offset-5 {
    margin-left: 41.66666667%;
  }

  .ory-cell-md-offset-6 {
    margin-left: 50%;
  }

  .ory-cell-md-offset-7 {
    margin-left: 58.33333333%;
  }

  .ory-cell-md-offset-8 {
    margin-left: 66.66666667%;
  }

  .ory-cell-md-offset-9 {
    margin-left: 75%;
  }

  .ory-cell-md-offset-10 {
    margin-left: 83.33333333%;
  }

  .ory-cell-md-offset-11 {
    margin-left: 91.66666667%;
  }

  .start-md {
    justify-content: flex-start;
  }
    [dir="ltr"] .start-md {
    text-align: left;
  }
    [dir="rtl"] .start-md {
    text-align: right;
  }

  .center-md {
    justify-content: center;
    text-align: center;
  }

  .end-md {
    justify-content: flex-end;
  }
    [dir="ltr"] .end-md {
    text-align: right;
  }
    [dir="rtl"] .end-md {
    text-align: left;
  }

  .top-md {
    align-items: flex-start;
  }

  .middle-md {
    align-items: center;
  }

  .bottom-md {
    align-items: flex-end;
  }

  .around-md {
    justify-content: space-around;
  }

  .between-md {
    justify-content: space-between;
  }

  .first-md {
    order: -1;
  }

  .last-md {
    order: 1;
  }
}

@media only screen and (min-width: 75em) {
  .ory-cell-lg,
  .ory-cell-lg-1,
  .ory-cell-lg-2,
  .ory-cell-lg-3,
  .ory-cell-lg-4,
  .ory-cell-lg-5,
  .ory-cell-lg-6,
  .ory-cell-lg-7,
  .ory-cell-lg-8,
  .ory-cell-lg-9,
  .ory-cell-lg-10,
  .ory-cell-lg-11,
  .ory-cell-lg-12,
  .ory-cell-lg-offset-0,
  .ory-cell-lg-offset-1,
  .ory-cell-lg-offset-2,
  .ory-cell-lg-offset-3,
  .ory-cell-lg-offset-4,
  .ory-cell-lg-offset-5,
  .ory-cell-lg-offset-6,
  .ory-cell-lg-offset-7,
  .ory-cell-lg-offset-8,
  .ory-cell-lg-offset-9,
  .ory-cell-lg-offset-10,
  .ory-cell-lg-offset-11,
  .ory-cell-lg-offset-12 {
    box-sizing: border-box;
    flex: 0 0 auto;
    padding-right: 0.5rem;
    padding-right: calc((0rem * 0.5));
    padding-right: var(--half-gutter-width, 0.5rem);
    padding-left: 0.5rem;
    padding-left: calc((0rem * 0.5));
    padding-left: var(--half-gutter-width, 0.5rem);
    min-width: 0;
  }

  .ory-cell-lg {
    flex-grow: 1;
    flex-basis: 0;
    width: 100%;
  min-width: 100%;
  }

  .ory-cell-lg-1 {
    flex-basis: 8.33333333%;
    width: 8.33333333%;
  }

  .ory-cell-lg-2 {
    flex-basis: 16.66666667%;
    width: 16.66666667%;
  }

  .ory-cell-lg-3 {
    flex-basis: 25%;
    width: 25%;
  min-width: 25%;
  }

  .ory-cell-lg-4 {
    flex-basis: 33.33333333%;
    width: 33.33333333%;
  }

  .ory-cell-lg-5 {
    flex-basis: 41.66666667%;
    width: 41.66666667%;
  }

  .ory-cell-lg-6 {
    flex-basis: 50%;
    width: 50%;
  min-width: 50%;
  }

  .ory-cell-lg-7 {
    flex-basis: 58.33333333%;
    width: 58.33333333%;
  }

  .ory-cell-lg-8 {
    flex-basis: 66.66666667%;
    width: 66.66666667%;
  }

  .ory-cell-lg-9 {
    flex-basis: 75%;
    width: 75%;
  min-width: 75%;
  }

  .ory-cell-lg-10 {
    flex-basis: 83.33333333%;
    width: 83.33333333%;
  }

  .ory-cell-lg-11 {
    flex-basis: 91.66666667%;
    width: 91.66666667%;
  }

  .ory-cell-lg-12 {
    flex-basis: 100%;
    width: 100%;
  min-width: 100%;
  }

  .ory-cell-lg-offset-0 {
    margin-left: 0;
  }

  .ory-cell-lg-offset-1 {
    margin-left: 8.33333333%;
  }

  .ory-cell-lg-offset-2 {
    margin-left: 16.66666667%;
  }

  .ory-cell-lg-offset-3 {
    margin-left: 25%;
  }

  .ory-cell-lg-offset-4 {
    margin-left: 33.33333333%;
  }

  .ory-cell-lg-offset-5 {
    margin-left: 41.66666667%;
  }

  .ory-cell-lg-offset-6 {
    margin-left: 50%;
  }

  .ory-cell-lg-offset-7 {
    margin-left: 58.33333333%;
  }

  .ory-cell-lg-offset-8 {
    margin-left: 66.66666667%;
  }

  .ory-cell-lg-offset-9 {
    margin-left: 75%;
  }

  .ory-cell-lg-offset-10 {
    margin-left: 83.33333333%;
  }

  .ory-cell-lg-offset-11 {
    margin-left: 91.66666667%;
  }

  .start-lg {
    justify-content: flex-start;
  }
    [dir="ltr"] .start-lg {
    text-align: left;
  }
    [dir="rtl"] .start-lg {
    text-align: right;
  }

  .center-lg {
    justify-content: center;
    text-align: center;
  }

  .end-lg {
    justify-content: flex-end;
  }
    [dir="ltr"] .end-lg {
    text-align: right;
  }
    [dir="rtl"] .end-lg {
    text-align: left;
  }

  .top-lg {
    align-items: flex-start;
  }

  .middle-lg {
    align-items: center;
  }

  .bottom-lg {
    align-items: flex-end;
  }

  .around-lg {
    justify-content: space-around;
  }

  .between-lg {
    justify-content: space-between;
  }

  .first-lg {
    order: -1;
  }

  .last-lg {
    order: 1;
  }
}

/*!
 * This file is part of ORY Editor.
 *
 * ORY Editor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ORY Editor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ORY Editor.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license LGPL-3.0
 * @copyright 2016-2018 Aeneas Rekkas
 * @author Aeneas Rekkas <aeneas+oss@aeneas.io>
 *
 */

/*!
 * This file is part of ORY Editor.
 *
 * ORY Editor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ORY Editor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ORY Editor.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license LGPL-3.0
 * @copyright 2016-2018 Aeneas Rekkas
 * @author Aeneas Rekkas <aeneas+oss@aeneas.io>
 *
 */

.ory-row-has-floating-children {
  display: block !important;
}

.ory-row-is-hovering-this:before {
  content: " ";
  position: absolute;
  background: black;
  display: block;
  background: rgba(0, 0, 0, 0.87);
  background: var(--darkBlack);
  z-index: 2;
}

.ory-row-is-hovering-above:before {
  top: 0;
  height: 4px;
  width: 100%;
}

.ory-row-is-hovering-below:before {
  bottom: 0;
  height: 4px;
  width: 100%;
}

.ory-row-is-hovering-left-of:before {
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
}

.ory-row-is-hovering-right-of:before {
  top: 0;
  right: 0;
  bottom: 0;
  width: 4px;
}

/*!
 * This file is part of ORY Editor.
 *
 * ORY Editor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ORY Editor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ORY Editor.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license LGPL-3.0
 * @copyright 2016-2018 Aeneas Rekkas
 * @author Aeneas Rekkas <aeneas+oss@aeneas.io>
 *
 */

.ory-editable {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  align-items:stretch;
}

/*!
 * This file is part of ORY Editor.
 *
 * ORY Editor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ORY Editor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ORY Editor.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license LGPL-3.0
 * @copyright 2016-2018 Aeneas Rekkas
 * @author Aeneas Rekkas <aeneas+oss@aeneas.io>
 *
 */

/*!
 * This file is part of ORY Editor.
 *
 * ORY Editor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ORY Editor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ORY Editor.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license LGPL-3.0
 * @copyright 2016-2018 Aeneas Rekkas
 * @author Aeneas Rekkas <aeneas+oss@aeneas.io>
 *
 */

.ory-cell-draggable {
  cursor: move;
  position: relative;
  transition: opacity 200ms ease;
  /* resolves an issue with drag and drop preview in chrome, see https://github.com/ory/editor/issues/180 */
  /* will-change: transform; */
}

.ory-cell-draggable-overlay {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 3;
  cursor: move;
  border: 1px solid rgba(0, 0, 0, 0);
  transition: all ease .4s;
}

.ory-cell-draggable-overlay:hover {
  background: rgba(0, 0, 0, 0.26);
  background: var(--minBlack);
  border: 1px solid rgba(255, 255, 255, 0.54);
  border: 1px solid var(--lightWhite);
  background-blend-mode: screen;
}

.ory-cell-draggable-overlay-description {
  text-align: center;
  display: block;
  color: rgba(0, 0, 0, .97);
  max-width: 100%;
}

.ory-cell-draggable-overlay-description span {
  opacity: 0;
  text-align: center;
  color: rgba(0, 0, 0, .97);
  max-width: 90%;
  display: inline-block;
  padding: 8px 22px;
  margin: 0 auto;
  border-radius: 0 0 12px 12px;
  text-transform: uppercase;
  font-size: 75%;
  letter-spacing: 0.15em;
  background: rgba(255, 255, 255, 0);
  transition: all ease .4s;
}

.ory-cell-draggable-overlay:hover .ory-cell-draggable-overlay-description span {
  background: rgba(255, 255, 255, .95);
  opacity: 1;
}

.ory-cell-draggable-overlay.ory-cell-draggable-leaf {
  z-index: 3;
}

.ory-cell-draggable-inline-left.ory-cell-draggable-overlay,
.ory-cell-draggable-inline-right.ory-cell-draggable-overlay {
  float: left;
  z-index: 4;
}

.ory-cell-draggable-is-dragging {
  opacity: 0.4;
  outline: none;
}

/*!
 * This file is part of ORY Editor.
 *
 * ORY Editor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ORY Editor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ORY Editor.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license LGPL-3.0
 * @copyright 2016-2018 Aeneas Rekkas
 * @author Aeneas Rekkas <aeneas+oss@aeneas.io>
 *
 */

.ory-cell-droppable {
  position: relative;
}

.ory-cell-droppable-is-over-current:before {
  content: " ";
  display: block;
  position: absolute;
  z-index: 1;
  background: rgba(0, 0, 0, 0.87);
  background: var(--darkBlack);
}

.ory-cell-droppable-is-over-above:before,
.ory-cell-droppable-is-over-below:before {
  border-left: 0;
  border-right: 0;
}

.ory-cell-droppable-is-over-left-of:before,
.ory-cell-droppable-is-over-right-of:before {
  border-top: 0;
  border-bottom: 0;
}

.ory-cell-droppable-is-over-above:before {
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-left: 0;
  border-right: 0;
}

.ory-cell-droppable-leaf.ory-cell-droppable-is-over-above:before {
  height: 4px;
}

.ory-cell-droppable-is-over-below:before {
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
}

.ory-cell-droppable-leaf.ory-cell-droppable-is-over-below:before {
  height: 4px;
}

.ory-cell-droppable-is-over-left-of:before {
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
}

.ory-cell-droppable-leaf.ory-cell-droppable-is-over-left-of:before {
  width: 4px;
}

.ory-cell-droppable-is-over-right-of:before {
  top: 0;
  right: 0;
  bottom: 0;
  width: 4px;
}

.ory-cell-droppable-leaf.ory-cell-droppable-is-over-right-of:before {
  width: 4px;
}

.ory-cell-droppable-is-over-inline-right:before,
.ory-cell-droppable-is-over-inline-left:before {
  top: 0;
  width: 50%;
  height: 36%;
  max-height: 128px;
  background-color: #e0e0e0;
  background-color: var(--grey300);
  border: 1px solid rgba(0, 0, 0, 0.26);
  border: 1px solid var(--minBlack);
}

.ory-cell-droppable-is-over-inline-left:before {
  left: 0;
}

.ory-cell-droppable-is-over-inline-right:before {
  right: 0;
}

/*!
 * This file is part of ORY Editor.
 *
 * ORY Editor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ORY Editor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ORY Editor.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license LGPL-3.0
 * @copyright 2016-2018 Aeneas Rekkas
 * @author Aeneas Rekkas <aeneas+oss@aeneas.io>
 *
 */

.ory-cell-empty {
  background-color: red;
  padding: 8px;
  margin: 2px;
  overflow: hidden;
}

.ory-cell-empty strong {
  margin: 0 auto;
}

.ory-cell-empty code {
  overflow: scroll;
}

/*!
 * This file is part of ORY Editor.
 *
 * ORY Editor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ORY Editor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ORY Editor.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license LGPL-3.0
 * @copyright 2016-2018 Aeneas Rekkas
 * @author Aeneas Rekkas <aeneas+oss@aeneas.io>
 *
 */

@-webkit-keyframes oryCellResizeableAnimate {
  0% {
    background-color: rgba(255, 255, 255, 0.26);
    background-color: var(--minWhite);
    top: 45%;
    bottom: 45%;
  }
  50% {
    background-color: rgba(255, 255, 255, 0.12);
    background-color: var(--faintWhite);
    top: 0;
    bottom: 0;
  }
  100% {
    background-color: rgba(255, 255, 255, 0.87);
    background-color: var(--darkWhite);
    top: 45%;
    bottom: 45%;
  }
}

@keyframes oryCellResizeableAnimate {
  0% {
    background-color: rgba(255, 255, 255, 0.26);
    background-color: var(--minWhite);
    top: 45%;
    bottom: 45%;
  }
  50% {
    background-color: rgba(255, 255, 255, 0.12);
    background-color: var(--faintWhite);
    top: 0;
    bottom: 0;
  }
  100% {
    background-color: rgba(255, 255, 255, 0.87);
    background-color: var(--darkWhite);
    top: 45%;
    bottom: 45%;
  }
}

.ory-cell-resizable-inline-right > .react-resizable-handle {
  left: -4px;
}

.ory-cell-resizable.react-resizable > .react-resizable-handle {
  position: absolute;
  z-index: 5;
  width: 4px;
  top: 0;
  bottom: 0;
  right: -2px;
  cursor: e-resize;
  background-color: rgba(0, 0, 0, 0.54);
  background-color: var(--lightBlack);
  mix-blend-mode: difference;
  transition: all 200ms linear;
}

.ory-cell-resizable.react-resizable > .react-resizable-handle:after {
  content: " ";
  background-color: rgba(255, 255, 255, 0.87);
  background-color: var(--darkWhite);
  /* width: 30px; */
  /* height: 30px; */
  position: absolute;
  /* z-index: 1000; */
  top: 45%;
  bottom: 45%;
  left: 0;
  right: 0;
  transition: all 200ms linear;
  mix-blend-mode: normal;

  -webkit-animation-name: oryCellResizeableAnimate;

          animation-name: oryCellResizeableAnimate;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
}

.ory-cell-resizable.react-resizable > .react-resizable-handle:hover:after,
.ory-cell-resizable.react-resizable > .react-resizable-handle:active:after {
  background-color: rgba(255, 255, 255, 1);
  background-color: var(--fullWhite);
  top: 0;
  bottom: 0;
}

.ory-cell-inline-left {
  float: left;
}

.ory-cell-inline-right {
  float: right;
}

.ory-cell-has-inline-neighbour {
  float: none;
  width: 100%;
}

.ory-cell-focused {
  /* box-shadow: 0 0 5px rgb(81, 203, 238); */
  /* outline: 1px solid rgb(81, 203, 238); */
}

.ory-cell {
  position: relative;
}

.ory-cell-bring-to-front {
  z-index: 1;
}

.ory-cell-resizing-overlay:after {
  content: " ";
  z-index: 4;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

:root {
  --gutter-width: 0rem;
  --outer-margin: 0rem;
  --gutter-compensation: calc((0rem * 0.5) * -1);
  --half-gutter-width: calc((0rem * 0.5));
  --xs-min: 30;
  --sm-min: 48;
  --md-min: 64;
  --lg-min: 75;
  --screen-xs-min: 30em;
  --screen-sm-min: 48em;
  --screen-md-min: 64em;
  --screen-lg-min: 75em;
  --container-sm: calc(48 + 0rem);
  --container-md: calc(64 + 0rem);
  --container-lg: calc(75 + 0rem);
  --red50: #ffebee;
  --red100: #ffcdd2;
  --red200: #ef9a9a;
  --red300: #e57373;
  --red400: #ef5350;
  --red500: #f44336;
  --red600: #e53935;
  --red700: #d32f2f;
  --red800: #c62828;
  --red900: #b71c1c;
  --redA100: #ff8a80;
  --redA200: #ff5252;
  --redA400: #ff1744;
  --redA700: #d50000;
  --pink50: #fce4ec;
  --pink100: #f8bbd0;
  --pink200: #f48fb1;
  --pink300: #f06292;
  --pink400: #ec407a;
  --pink500: #e91e63;
  --pink600: #d81b60;
  --pink700: #c2185b;
  --pink800: #ad1457;
  --pink900: #880e4f;
  --pinkA100: #ff80ab;
  --pinkA200: #ff4081;
  --pinkA400: #f50057;
  --pinkA700: #c51162;
  --purple50: #f3e5f5;
  --purple100: #e1bee7;
  --purple200: #ce93d8;
  --purple300: #ba68c8;
  --purple400: #ab47bc;
  --purple500: #9c27b0;
  --purple600: #8e24aa;
  --purple700: #7b1fa2;
  --purple800: #6a1b9a;
  --purple900: #4a148c;
  --purpleA100: #ea80fc;
  --purpleA200: #e040fb;
  --purpleA400: #d500f9;
  --purpleA700: #aa00ff;
  --deepPurple50: #ede7f6;
  --deepPurple100: #d1c4e9;
  --deepPurple200: #b39ddb;
  --deepPurple300: #9575cd;
  --deepPurple400: #7e57c2;
  --deepPurple500: #673ab7;
  --deepPurple600: #5e35b1;
  --deepPurple700: #512da8;
  --deepPurple800: #4527a0;
  --deepPurple900: #311b92;
  --deepPurpleA100: #b388ff;
  --deepPurpleA200: #7c4dff;
  --deepPurpleA400: #651fff;
  --deepPurpleA700: #6200ea;
  --indigo50: #e8eaf6;
  --indigo100: #c5cae9;
  --indigo200: #9fa8da;
  --indigo300: #7986cb;
  --indigo400: #5c6bc0;
  --indigo500: #3f51b5;
  --indigo600: #3949ab;
  --indigo700: #303f9f;
  --indigo800: #283593;
  --indigo900: #1a237e;
  --indigoA100: #8c9eff;
  --indigoA200: #536dfe;
  --indigoA400: #3d5afe;
  --indigoA700: #304ffe;
  --blue50: #e3f2fd;
  --blue100: #bbdefb;
  --blue200: #90caf9;
  --blue300: #64b5f6;
  --blue400: #42a5f5;
  --blue500: #2196f3;
  --blue600: #1e88e5;
  --blue700: #1976d2;
  --blue800: #1565c0;
  --blue900: #0d47a1;
  --blueA100: #82b1ff;
  --blueA200: #448aff;
  --blueA400: #2979ff;
  --blueA700: #2962ff;
  --lightBlue50: #e1f5fe;
  --lightBlue100: #b3e5fc;
  --lightBlue200: #81d4fa;
  --lightBlue300: #4fc3f7;
  --lightBlue400: #29b6f6;
  --lightBlue500: #03a9f4;
  --lightBlue600: #039be5;
  --lightBlue700: #0288d1;
  --lightBlue800: #0277bd;
  --lightBlue900: #01579b;
  --lightBlueA100: #80d8ff;
  --lightBlueA200: #40c4ff;
  --lightBlueA400: #00b0ff;
  --lightBlueA700: #0091ea;
  --cyan50: #e0f7fa;
  --cyan100: #b2ebf2;
  --cyan200: #80deea;
  --cyan300: #4dd0e1;
  --cyan400: #26c6da;
  --cyan500: #00bcd4;
  --cyan600: #00acc1;
  --cyan700: #0097a7;
  --cyan800: #00838f;
  --cyan900: #006064;
  --cyanA100: #84ffff;
  --cyanA200: #18ffff;
  --cyanA400: #00e5ff;
  --cyanA700: #00b8d4;
  --teal50: #e0f2f1;
  --teal100: #b2dfdb;
  --teal200: #80cbc4;
  --teal300: #4db6ac;
  --teal400: #26a69a;
  --teal500: #009688;
  --teal600: #00897b;
  --teal700: #00796b;
  --teal800: #00695c;
  --teal900: #004d40;
  --tealA100: #a7ffeb;
  --tealA200: #64ffda;
  --tealA400: #1de9b6;
  --tealA700: #00bfa5;
  --green50: #e8f5e9;
  --green100: #c8e6c9;
  --green200: #a5d6a7;
  --green300: #81c784;
  --green400: #66bb6a;
  --green500: #4caf50;
  --green600: #43a047;
  --green700: #388e3c;
  --green800: #2e7d32;
  --green900: #1b5e20;
  --greenA100: #b9f6ca;
  --greenA200: #69f0ae;
  --greenA400: #00e676;
  --greenA700: #00c853;
  --lightGreen50: #f1f8e9;
  --lightGreen100: #dcedc8;
  --lightGreen200: #c5e1a5;
  --lightGreen300: #aed581;
  --lightGreen400: #9ccc65;
  --lightGreen500: #8bc34a;
  --lightGreen600: #7cb342;
  --lightGreen700: #689f38;
  --lightGreen800: #558b2f;
  --lightGreen900: #33691e;
  --lightGreenA100: #ccff90;
  --lightGreenA200: #b2ff59;
  --lightGreenA400: #76ff03;
  --lightGreenA700: #64dd17;
  --lime50: #f9fbe7;
  --lime100: #f0f4c3;
  --lime200: #e6ee9c;
  --lime300: #dce775;
  --lime400: #d4e157;
  --lime500: #cddc39;
  --lime600: #c0ca33;
  --lime700: #afb42b;
  --lime800: #9e9d24;
  --lime900: #827717;
  --limeA100: #f4ff81;
  --limeA200: #eeff41;
  --limeA400: #c6ff00;
  --limeA700: #aeea00;
  --yellow50: #fffde7;
  --yellow100: #fff9c4;
  --yellow200: #fff59d;
  --yellow300: #fff176;
  --yellow400: #ffee58;
  --yellow500: #ffeb3b;
  --yellow600: #fdd835;
  --yellow700: #fbc02d;
  --yellow800: #f9a825;
  --yellow900: #f57f17;
  --yellowA100: #ffff8d;
  --yellowA200: #ffff00;
  --yellowA400: #ffea00;
  --yellowA700: #ffd600;
  --amber50: #fff8e1;
  --amber100: #ffecb3;
  --amber200: #ffe082;
  --amber300: #ffd54f;
  --amber400: #ffca28;
  --amber500: #ffc107;
  --amber600: #ffb300;
  --amber700: #ffa000;
  --amber800: #ff8f00;
  --amber900: #ff6f00;
  --amberA100: #ffe57f;
  --amberA200: #ffd740;
  --amberA400: #ffc400;
  --amberA700: #ffab00;
  --orange50: #fff3e0;
  --orange100: #ffe0b2;
  --orange200: #ffcc80;
  --orange300: #ffb74d;
  --orange400: #ffa726;
  --orange500: #ff9800;
  --orange600: #fb8c00;
  --orange700: #f57c00;
  --orange800: #ef6c00;
  --orange900: #e65100;
  --orangeA100: #ffd180;
  --orangeA200: #ffab40;
  --orangeA400: #ff9100;
  --orangeA700: #ff6d00;
  --deepOrange50: #fbe9e7;
  --deepOrange100: #ffccbc;
  --deepOrange200: #ffab91;
  --deepOrange300: #ff8a65;
  --deepOrange400: #ff7043;
  --deepOrange500: #ff5722;
  --deepOrange600: #f4511e;
  --deepOrange700: #e64a19;
  --deepOrange800: #d84315;
  --deepOrange900: #bf360c;
  --deepOrangeA100: #ff9e80;
  --deepOrangeA200: #ff6e40;
  --deepOrangeA400: #ff3d00;
  --deepOrangeA700: #dd2c00;
  --brown50: #efebe9;
  --brown100: #d7ccc8;
  --brown200: #bcaaa4;
  --brown300: #a1887f;
  --brown400: #8d6e63;
  --brown500: #795548;
  --brown600: #6d4c41;
  --brown700: #5d4037;
  --brown800: #4e342e;
  --brown900: #3e2723;
  --blueGrey50: #eceff1;
  --blueGrey100: #cfd8dc;
  --blueGrey200: #b0bec5;
  --blueGrey300: #90a4ae;
  --blueGrey400: #78909c;
  --blueGrey500: #607d8b;
  --blueGrey600: #546e7a;
  --blueGrey700: #455a64;
  --blueGrey800: #37474f;
  --blueGrey900: #263238;
  --grey50: #fafafa;
  --grey100: #f5f5f5;
  --grey200: #eeeeee;
  --grey300: #e0e0e0;
  --grey400: #bdbdbd;
  --grey500: #9e9e9e;
  --grey600: #757575;
  --grey700: #616161;
  --grey800: #424242;
  --grey900: #212121;
  --black: #000000;
  --white: #ffffff;
  --transparent: rgba(0, 0, 0, 0);
  --fullBlack: rgba(0, 0, 0, 1);
  --darkBlack: rgba(0, 0, 0, 0.87);
  --lightBlack: rgba(0, 0, 0, 0.54);
  --minBlack: rgba(0, 0, 0, 0.26);
  --faintBlack: rgba(0, 0, 0, 0.12);
  --fullWhite: rgba(255, 255, 255, 1);
  --darkWhite: rgba(255, 255, 255, 0.87);
  --lightWhite: rgba(255, 255, 255, 0.54);
  --minWhite: rgba(255, 255, 255, 0.26);
  --faintWhite: rgba(255, 255, 255, 0.12);
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5jc3MiLCIuLi9zcmMvZ3JpZC5jc3MiLCIuLi9zcmMvY29tcG9uZW50cy9pbmRleC5jc3MiLCIuLi9zcmMvY29tcG9uZW50cy9Sb3cvaW5kZXguY3NzIiwiLi4vc3JjL2NvbXBvbmVudHMvRWRpdGFibGUvaW5kZXguY3NzIiwiLi4vc3JjL2NvbXBvbmVudHMvQ2VsbC9pbmRleC5jc3MiLCIuLi9zcmMvY29tcG9uZW50cy9DZWxsL0RyYWdnYWJsZS9pbmRleC5jc3MiLCIuLi9zcmMvY29tcG9uZW50cy9DZWxsL0Ryb3BwYWJsZS9pbmRleC5jc3MiLCIuLi9zcmMvY29tcG9uZW50cy9DZWxsL0VtcHR5L2luZGV4LmNzcyIsIi4uL3NyYy9jb21wb25lbnRzL0NlbGwvUmVzaXphYmxlL2luZGV4LmNzcyIsIjxubyBzb3VyY2U+Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW9CRTs7QUNwQkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBb0JFOztBQUVGLGlHQUFpRzs7QUFFakc7RUFDRSxvQkFBb0I7RUFDcEIsb0JBQW9CO0VBQ3BCLDhDQUE2RDtFQUE3RCw2REFBNkQ7RUFDN0QsdUNBQXNEO0VBQXRELHNEQUFzRDtFQUN0RCxZQUFZO0VBQ1osWUFBWTtFQUNaLFlBQVk7RUFDWixZQUFZO0VBQ1oscUJBQWdDO0VBQWhDLGdDQUFnQztFQUNoQyxxQkFBZ0M7RUFBaEMsZ0NBQWdDO0VBQ2hDLHFCQUFnQztFQUFoQyxnQ0FBZ0M7RUFDaEMscUJBQWdDO0VBQWhDLGdDQUFnQztFQUNoQywrQkFBeUQ7RUFBekQseURBQXlEO0VBQ3pELCtCQUF5RDtFQUF6RCx5REFBeUQ7RUFDekQsK0JBQXlEO0VBQXpELHlEQUF5RDtBQUMzRDs7QUFNQTtFQUNFLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsbUJBQXdDO0VBQXhDLG1CQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsa0JBQXVDO0VBQXZDLGtCQUF1QztFQUF2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QUE7RUFBQSx5QkFBQTtFQUFBLHlCQUFBO0VBQUEseUJBQUE7RUFBQSx5QkFBQTtFQUFBLDBCQUFBO0VBQUEsMEJBQUE7RUFBQSwwQkFBQTtFQUFBLDBCQUFBO0VBQUEsb0JBQUE7RUFBQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxzQkFBQTtFQUFBLHNCQUFBO0VBQUEsc0JBQUE7RUFBQSxzQkFBQTtFQUFBLGtCQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSx1QkFBQTtFQUFBLHdCQUFBO0VBQUEsd0JBQUE7RUFBQSx3QkFBQTtFQUFBLHdCQUFBO0VBQUEsd0JBQUE7RUFBQSx3QkFBQTtFQUFBLHdCQUFBO0VBQUEsd0JBQUE7RUFBQSx3QkFBQTtFQUFBLHlCQUFBO0VBQUEseUJBQUE7RUFBQSx5QkFBQTtFQUFBLHlCQUFBO0VBQUEsa0JBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGtCQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxtQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEsd0JBQUE7RUFBQSx5QkFBQTtFQUFBLHlCQUFBO0VBQUEseUJBQUE7RUFBQSx5QkFBQTtFQUFBLHlCQUFBO0VBQUEseUJBQUE7RUFBQSx5QkFBQTtFQUFBLHlCQUFBO0VBQUEseUJBQUE7RUFBQSwwQkFBQTtFQUFBLDBCQUFBO0VBQUEsMEJBQUE7RUFBQSwwQkFBQTtFQUFBLGtCQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxxQkFBQTtFQUFBLHNCQUFBO0VBQUEsc0JBQUE7RUFBQSxzQkFBQTtFQUFBLHNCQUFBO0VBQUEsbUJBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxxQkFBQTtFQUFBLG9CQUFBO0VBQUEscUJBQUE7RUFBQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEsc0JBQUE7RUFBQSxzQkFBQTtFQUFBLHNCQUFBO0VBQUEsc0JBQUE7RUFBQSx3QkFBQTtFQUFBLHlCQUFBO0VBQUEseUJBQUE7RUFBQSx5QkFBQTtFQUFBLHlCQUFBO0VBQUEseUJBQUE7RUFBQSx5QkFBQTtFQUFBLHlCQUFBO0VBQUEseUJBQUE7RUFBQSx5QkFBQTtFQUFBLDBCQUFBO0VBQUEsMEJBQUE7RUFBQSwwQkFBQTtFQUFBLDBCQUFBO0VBQUEsbUJBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxzQkFBQTtFQUFBLHVCQUFBO0VBQUEsdUJBQUE7RUFBQSx1QkFBQTtFQUFBLHVCQUFBO0VBQUEsdUJBQUE7RUFBQSx1QkFBQTtFQUFBLHVCQUFBO0VBQUEsdUJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLG1CQUFBO0VBQUEsaUJBQUE7RUFBQSxpQkFBQTtFQUFBLGdDQUFBO0VBQUEsOEJBQUE7RUFBQSxpQ0FBQTtFQUFBLGtDQUFBO0VBQUEsZ0NBQUE7RUFBQSxrQ0FBQTtFQUFBLG9DQUFBO0VBQUEsdUNBQUE7RUFBQSx3Q0FBQTtFQUFBLHNDQUFBO0VBQUEsd0NBQUE7Q0FBQSIsImZpbGUiOiJpbmRleC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcclxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgT1JZIEVkaXRvci5cclxuICpcclxuICogT1JZIEVkaXRvciBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBPUlkgRWRpdG9yIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXHJcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXHJcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcclxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxyXG4gKiBhbG9uZyB3aXRoIE9SWSBFZGl0b3IuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqXHJcbiAqIEBsaWNlbnNlIExHUEwtMy4wXHJcbiAqIEBjb3B5cmlnaHQgMjAxNi0yMDE4IEFlbmVhcyBSZWtrYXNcclxuICogQGF1dGhvciBBZW5lYXMgUmVra2FzIDxhZW5lYXMrb3NzQGFlbmVhcy5pbz5cclxuICpcclxuICovXHJcblxyXG5AaW1wb3J0IFwiLi9ncmlkLmNzc1wiO1xyXG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2luZGV4LmNzc1wiO1xyXG4iLCIvKiFcclxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgT1JZIEVkaXRvci5cclxuICpcclxuICogT1JZIEVkaXRvciBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBPUlkgRWRpdG9yIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXHJcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXHJcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcclxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxyXG4gKiBhbG9uZyB3aXRoIE9SWSBFZGl0b3IuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqXHJcbiAqIEBsaWNlbnNlIExHUEwtMy4wXHJcbiAqIEBjb3B5cmlnaHQgMjAxNi0yMDE4IEFlbmVhcyBSZWtrYXNcclxuICogQGF1dGhvciBBZW5lYXMgUmVra2FzIDxhZW5lYXMrb3NzQGFlbmVhcy5pbz5cclxuICpcclxuICovXHJcblxyXG4vKiBiYXNlZCBvbjogaHR0cHM6Ly9naXRodWIuY29tL2tyaXN0b2Zlcmpvc2VwaC9mbGV4Ym94Z3JpZC9ibG9iL21hc3Rlci9zcmMvY3NzL2ZsZXhib3hncmlkLmNzcyAqL1xyXG5cclxuOnJvb3Qge1xyXG4gIC0tZ3V0dGVyLXdpZHRoOiAwcmVtO1xyXG4gIC0tb3V0ZXItbWFyZ2luOiAwcmVtO1xyXG4gIC0tZ3V0dGVyLWNvbXBlbnNhdGlvbjogY2FsYygodmFyKC0tZ3V0dGVyLXdpZHRoKSAqIDAuNSkgKiAtMSk7XHJcbiAgLS1oYWxmLWd1dHRlci13aWR0aDogY2FsYygodmFyKC0tZ3V0dGVyLXdpZHRoKSAqIDAuNSkpO1xyXG4gIC0teHMtbWluOiAzMDtcclxuICAtLXNtLW1pbjogNDg7XHJcbiAgLS1tZC1taW46IDY0O1xyXG4gIC0tbGctbWluOiA3NTtcclxuICAtLXNjcmVlbi14cy1taW46IHZhcigtLXhzLW1pbillbTtcclxuICAtLXNjcmVlbi1zbS1taW46IHZhcigtLXNtLW1pbillbTtcclxuICAtLXNjcmVlbi1tZC1taW46IHZhcigtLW1kLW1pbillbTtcclxuICAtLXNjcmVlbi1sZy1taW46IHZhcigtLWxnLW1pbillbTtcclxuICAtLWNvbnRhaW5lci1zbTogY2FsYyh2YXIoLS1zbS1taW4pICsgdmFyKC0tZ3V0dGVyLXdpZHRoKSk7XHJcbiAgLS1jb250YWluZXItbWQ6IGNhbGModmFyKC0tbWQtbWluKSArIHZhcigtLWd1dHRlci13aWR0aCkpO1xyXG4gIC0tY29udGFpbmVyLWxnOiBjYWxjKHZhcigtLWxnLW1pbikgKyB2YXIoLS1ndXR0ZXItd2lkdGgpKTtcclxufVxyXG5cclxuQGN1c3RvbS1tZWRpYSAtLXNtLXZpZXdwb3J0IG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKTtcclxuQGN1c3RvbS1tZWRpYSAtLW1kLXZpZXdwb3J0IG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKTtcclxuQGN1c3RvbS1tZWRpYSAtLWxnLXZpZXdwb3J0IG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKTtcclxuXHJcbi5vcnktZWRpdGFibGUge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1vdXRlci1tYXJnaW4sIDJyZW0pO1xyXG4gIHBhZGRpbmctbGVmdDogdmFyKC0tb3V0ZXItbWFyZ2luLCAycmVtKTtcclxufVxyXG5cclxuLm9yeS1yb3cge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4OiAwIDEgYXV0bztcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWd1dHRlci1jb21wZW5zYXRpb24sIC0wLjVyZW0pO1xyXG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1ndXR0ZXItY29tcGVuc2F0aW9uLCAtMC41cmVtKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cyxcclxuLm9yeS1jZWxsLXhzLTEsXHJcbi5vcnktY2VsbC14cy0yLFxyXG4ub3J5LWNlbGwteHMtMyxcclxuLm9yeS1jZWxsLXhzLTQsXHJcbi5vcnktY2VsbC14cy01LFxyXG4ub3J5LWNlbGwteHMtNixcclxuLm9yeS1jZWxsLXhzLTcsXHJcbi5vcnktY2VsbC14cy04LFxyXG4ub3J5LWNlbGwteHMtOSxcclxuLm9yeS1jZWxsLXhzLTEwLFxyXG4ub3J5LWNlbGwteHMtMTEsXHJcbi5vcnktY2VsbC14cy0xMixcclxuLm9yeS1jZWxsLXhzLW9mZnNldC0wLFxyXG4ub3J5LWNlbGwteHMtb2Zmc2V0LTEsXHJcbi5vcnktY2VsbC14cy1vZmZzZXQtMixcclxuLm9yeS1jZWxsLXhzLW9mZnNldC0zLFxyXG4ub3J5LWNlbGwteHMtb2Zmc2V0LTQsXHJcbi5vcnktY2VsbC14cy1vZmZzZXQtNSxcclxuLm9yeS1jZWxsLXhzLW9mZnNldC02LFxyXG4ub3J5LWNlbGwteHMtb2Zmc2V0LTcsXHJcbi5vcnktY2VsbC14cy1vZmZzZXQtOCxcclxuLm9yeS1jZWxsLXhzLW9mZnNldC05LFxyXG4ub3J5LWNlbGwteHMtb2Zmc2V0LTEwLFxyXG4ub3J5LWNlbGwteHMtb2Zmc2V0LTExLFxyXG4ub3J5LWNlbGwteHMtb2Zmc2V0LTEyIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWhhbGYtZ3V0dGVyLXdpZHRoLCAwLjVyZW0pO1xyXG4gIHBhZGRpbmctbGVmdDogdmFyKC0taGFsZi1ndXR0ZXItd2lkdGgsIDAuNXJlbSk7XHJcbiAgbWluLXdpZHRoOiAwO1xyXG59XHJcblxyXG4ub3J5LWNlbGwteHMge1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuICBmbGV4LWJhc2lzOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm9yeS1jZWxsLXhzLTEge1xyXG4gIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMlO1xyXG4gIHdpZHRoOiA4LjMzMzMzMzMzJTtcclxufVxyXG5cclxuLm9yeS1jZWxsLXhzLTIge1xyXG4gIGZsZXgtYmFzaXM6IDE2LjY2NjY2NjY3JTtcclxuICB3aWR0aDogMTYuNjY2NjY2NjclO1xyXG59XHJcblxyXG4ub3J5LWNlbGwteHMtMyB7XHJcbiAgZmxleC1iYXNpczogMjUlO1xyXG4gIHdpZHRoOiAyNSU7XHJcbiAgbWluLXdpZHRoOiAyNSU7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cy00IHtcclxuICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMyU7XHJcbiAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcclxufVxyXG5cclxuLm9yeS1jZWxsLXhzLTUge1xyXG4gIGZsZXgtYmFzaXM6IDQxLjY2NjY2NjY3JTtcclxuICB3aWR0aDogNDEuNjY2NjY2NjclO1xyXG59XHJcblxyXG4ub3J5LWNlbGwteHMtNiB7XHJcbiAgZmxleC1iYXNpczogNTAlO1xyXG4gIHdpZHRoOiA1MCU7XHJcbiAgbWluLXdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cy03IHtcclxuICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMyU7XHJcbiAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcclxufVxyXG5cclxuLm9yeS1jZWxsLXhzLTgge1xyXG4gIGZsZXgtYmFzaXM6IDY2LjY2NjY2NjY3JTtcclxuICB3aWR0aDogNjYuNjY2NjY2NjclO1xyXG59XHJcblxyXG4ub3J5LWNlbGwteHMtOSB7XHJcbiAgZmxleC1iYXNpczogNzUlO1xyXG4gIHdpZHRoOiA3NSU7XHJcbiAgbWluLXdpZHRoOiA3NSU7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cy0xMCB7XHJcbiAgZmxleC1iYXNpczogODMuMzMzMzMzMzMlO1xyXG4gIHdpZHRoOiA4My4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cy0xMSB7XHJcbiAgZmxleC1iYXNpczogOTEuNjY2NjY2NjclO1xyXG4gIHdpZHRoOiA5MS42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cy0xMiB7XHJcbiAgZmxleC1iYXNpczogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtaW4td2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cy1vZmZzZXQtMCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cy1vZmZzZXQtMSB7XHJcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xyXG59XHJcblxyXG4ub3J5LWNlbGwteHMtb2Zmc2V0LTIge1xyXG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cy1vZmZzZXQtMyB7XHJcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcclxufVxyXG5cclxuLm9yeS1jZWxsLXhzLW9mZnNldC00IHtcclxuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xyXG59XHJcblxyXG4ub3J5LWNlbGwteHMtb2Zmc2V0LTUge1xyXG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cy1vZmZzZXQtNiB7XHJcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcclxufVxyXG5cclxuLm9yeS1jZWxsLXhzLW9mZnNldC03IHtcclxuICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xyXG59XHJcblxyXG4ub3J5LWNlbGwteHMtb2Zmc2V0LTgge1xyXG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5vcnktY2VsbC14cy1vZmZzZXQtOSB7XHJcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcclxufVxyXG5cclxuLm9yeS1jZWxsLXhzLW9mZnNldC0xMCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcclxufVxyXG5cclxuLm9yeS1jZWxsLXhzLW9mZnNldC0xMSB7XHJcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTtcclxufVxyXG5cclxuLnN0YXJ0LXhzIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbn1cclxuXHJcbi5jZW50ZXIteHMge1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmVuZC14cyB7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICB0ZXh0LWFsaWduOiBlbmQ7XHJcbn1cclxuXHJcbi50b3AteHMge1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG59XHJcblxyXG4ubWlkZGxlLXhzIHtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uYm90dG9tLXhzIHtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5hcm91bmQteHMge1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG59XHJcblxyXG4uYmV0d2Vlbi14cyB7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uZmlyc3QteHMge1xyXG4gIG9yZGVyOiAtMTtcclxufVxyXG5cclxuLmxhc3QteHMge1xyXG4gIG9yZGVyOiAxO1xyXG59XHJcblxyXG5AbWVkaWEgKC0tc20tdmlld3BvcnQpIHtcclxuICAub3J5LWNlbGwtc20sXHJcbiAgLm9yeS1jZWxsLXNtLTEsXHJcbiAgLm9yeS1jZWxsLXNtLTIsXHJcbiAgLm9yeS1jZWxsLXNtLTMsXHJcbiAgLm9yeS1jZWxsLXNtLTQsXHJcbiAgLm9yeS1jZWxsLXNtLTUsXHJcbiAgLm9yeS1jZWxsLXNtLTYsXHJcbiAgLm9yeS1jZWxsLXNtLTcsXHJcbiAgLm9yeS1jZWxsLXNtLTgsXHJcbiAgLm9yeS1jZWxsLXNtLTksXHJcbiAgLm9yeS1jZWxsLXNtLTEwLFxyXG4gIC5vcnktY2VsbC1zbS0xMSxcclxuICAub3J5LWNlbGwtc20tMTIsXHJcbiAgLm9yeS1jZWxsLXNtLW9mZnNldC0wLFxyXG4gIC5vcnktY2VsbC1zbS1vZmZzZXQtMSxcclxuICAub3J5LWNlbGwtc20tb2Zmc2V0LTIsXHJcbiAgLm9yeS1jZWxsLXNtLW9mZnNldC0zLFxyXG4gIC5vcnktY2VsbC1zbS1vZmZzZXQtNCxcclxuICAub3J5LWNlbGwtc20tb2Zmc2V0LTUsXHJcbiAgLm9yeS1jZWxsLXNtLW9mZnNldC02LFxyXG4gIC5vcnktY2VsbC1zbS1vZmZzZXQtNyxcclxuICAub3J5LWNlbGwtc20tb2Zmc2V0LTgsXHJcbiAgLm9yeS1jZWxsLXNtLW9mZnNldC05LFxyXG4gIC5vcnktY2VsbC1zbS1vZmZzZXQtMTAsXHJcbiAgLm9yeS1jZWxsLXNtLW9mZnNldC0xMSxcclxuICAub3J5LWNlbGwtc20tb2Zmc2V0LTEyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWhhbGYtZ3V0dGVyLXdpZHRoLCAwLjVyZW0pO1xyXG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1oYWxmLWd1dHRlci13aWR0aCwgMC41cmVtKTtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1zbSB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgbWluLXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLXNtLTEge1xyXG4gICAgZmxleC1iYXNpczogOC4zMzMzMzMzMyU7XHJcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtc20tMiB7XHJcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NyU7XHJcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLXNtLTMge1xyXG4gICAgZmxleC1iYXNpczogMjUlO1xyXG4gICAgd2lkdGg6IDI1JTtcclxuICBtaW4td2lkdGg6IDI1JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1zbS00IHtcclxuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzJTtcclxuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtc20tNSB7XHJcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NyU7XHJcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLXNtLTYge1xyXG4gICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICBtaW4td2lkdGg6IDUwJTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1zbS03IHtcclxuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzJTtcclxuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtc20tOCB7XHJcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NyU7XHJcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLXNtLTkge1xyXG4gICAgZmxleC1iYXNpczogNzUlO1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICBtaW4td2lkdGg6IDc1JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1zbS0xMCB7XHJcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMzMzMyU7XHJcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLXNtLTExIHtcclxuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY3JTtcclxuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtc20tMTIge1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1zbS1vZmZzZXQtMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1zbS1vZmZzZXQtMSB7XHJcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtc20tb2Zmc2V0LTIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1zbS1vZmZzZXQtMyB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLXNtLW9mZnNldC00IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtc20tb2Zmc2V0LTUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1zbS1vZmZzZXQtNiB7XHJcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLXNtLW9mZnNldC03IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtc20tb2Zmc2V0LTgge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1zbS1vZmZzZXQtOSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLXNtLW9mZnNldC0xMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLXNtLW9mZnNldC0xMSB7XHJcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLnN0YXJ0LXNtIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgLmNlbnRlci1zbSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5lbmQtc20ge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIHRleHQtYWxpZ246IGVuZDtcclxuICB9XHJcblxyXG4gIC50b3Atc20ge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG5cclxuICAubWlkZGxlLXNtIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuYm90dG9tLXNtIHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICB9XHJcblxyXG4gIC5hcm91bmQtc20ge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgfVxyXG5cclxuICAuYmV0d2Vlbi1zbSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG5cclxuICAuZmlyc3Qtc20ge1xyXG4gICAgb3JkZXI6IC0xO1xyXG4gIH1cclxuXHJcbiAgLmxhc3Qtc20ge1xyXG4gICAgb3JkZXI6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKC0tbWQtdmlld3BvcnQpIHtcclxuICAub3J5LWNlbGwtbWQsXHJcbiAgLm9yeS1jZWxsLW1kLTEsXHJcbiAgLm9yeS1jZWxsLW1kLTIsXHJcbiAgLm9yeS1jZWxsLW1kLTMsXHJcbiAgLm9yeS1jZWxsLW1kLTQsXHJcbiAgLm9yeS1jZWxsLW1kLTUsXHJcbiAgLm9yeS1jZWxsLW1kLTYsXHJcbiAgLm9yeS1jZWxsLW1kLTcsXHJcbiAgLm9yeS1jZWxsLW1kLTgsXHJcbiAgLm9yeS1jZWxsLW1kLTksXHJcbiAgLm9yeS1jZWxsLW1kLTEwLFxyXG4gIC5vcnktY2VsbC1tZC0xMSxcclxuICAub3J5LWNlbGwtbWQtMTIsXHJcbiAgLm9yeS1jZWxsLW1kLW9mZnNldC0wLFxyXG4gIC5vcnktY2VsbC1tZC1vZmZzZXQtMSxcclxuICAub3J5LWNlbGwtbWQtb2Zmc2V0LTIsXHJcbiAgLm9yeS1jZWxsLW1kLW9mZnNldC0zLFxyXG4gIC5vcnktY2VsbC1tZC1vZmZzZXQtNCxcclxuICAub3J5LWNlbGwtbWQtb2Zmc2V0LTUsXHJcbiAgLm9yeS1jZWxsLW1kLW9mZnNldC02LFxyXG4gIC5vcnktY2VsbC1tZC1vZmZzZXQtNyxcclxuICAub3J5LWNlbGwtbWQtb2Zmc2V0LTgsXHJcbiAgLm9yeS1jZWxsLW1kLW9mZnNldC05LFxyXG4gIC5vcnktY2VsbC1tZC1vZmZzZXQtMTAsXHJcbiAgLm9yeS1jZWxsLW1kLW9mZnNldC0xMSxcclxuICAub3J5LWNlbGwtbWQtb2Zmc2V0LTEyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWhhbGYtZ3V0dGVyLXdpZHRoLCAwLjVyZW0pO1xyXG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1oYWxmLWd1dHRlci13aWR0aCwgMC41cmVtKTtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1tZCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgbWluLXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLW1kLTEge1xyXG4gICAgZmxleC1iYXNpczogOC4zMzMzMzMzMyU7XHJcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbWQtMiB7XHJcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NyU7XHJcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLW1kLTMge1xyXG4gICAgZmxleC1iYXNpczogMjUlO1xyXG4gICAgd2lkdGg6IDI1JTtcclxuICBtaW4td2lkdGg6IDI1JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1tZC00IHtcclxuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzJTtcclxuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbWQtNSB7XHJcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NyU7XHJcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLW1kLTYge1xyXG4gICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICBtaW4td2lkdGg6IDUwJTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1tZC03IHtcclxuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzJTtcclxuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbWQtOCB7XHJcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NyU7XHJcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLW1kLTkge1xyXG4gICAgZmxleC1iYXNpczogNzUlO1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICBtaW4td2lkdGg6IDc1JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1tZC0xMCB7XHJcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMzMzMyU7XHJcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLW1kLTExIHtcclxuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY3JTtcclxuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbWQtMTIge1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1tZC1vZmZzZXQtMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1tZC1vZmZzZXQtMSB7XHJcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbWQtb2Zmc2V0LTIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1tZC1vZmZzZXQtMyB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLW1kLW9mZnNldC00IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbWQtb2Zmc2V0LTUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1tZC1vZmZzZXQtNiB7XHJcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLW1kLW9mZnNldC03IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbWQtb2Zmc2V0LTgge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1tZC1vZmZzZXQtOSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLW1kLW9mZnNldC0xMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLW1kLW9mZnNldC0xMSB7XHJcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLnN0YXJ0LW1kIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgLmNlbnRlci1tZCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5lbmQtbWQge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIHRleHQtYWxpZ246IGVuZDtcclxuICB9XHJcblxyXG4gIC50b3AtbWQge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG5cclxuICAubWlkZGxlLW1kIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuYm90dG9tLW1kIHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICB9XHJcblxyXG4gIC5hcm91bmQtbWQge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgfVxyXG5cclxuICAuYmV0d2Vlbi1tZCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG5cclxuICAuZmlyc3QtbWQge1xyXG4gICAgb3JkZXI6IC0xO1xyXG4gIH1cclxuXHJcbiAgLmxhc3QtbWQge1xyXG4gICAgb3JkZXI6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKC0tbGctdmlld3BvcnQpIHtcclxuICAub3J5LWNlbGwtbGcsXHJcbiAgLm9yeS1jZWxsLWxnLTEsXHJcbiAgLm9yeS1jZWxsLWxnLTIsXHJcbiAgLm9yeS1jZWxsLWxnLTMsXHJcbiAgLm9yeS1jZWxsLWxnLTQsXHJcbiAgLm9yeS1jZWxsLWxnLTUsXHJcbiAgLm9yeS1jZWxsLWxnLTYsXHJcbiAgLm9yeS1jZWxsLWxnLTcsXHJcbiAgLm9yeS1jZWxsLWxnLTgsXHJcbiAgLm9yeS1jZWxsLWxnLTksXHJcbiAgLm9yeS1jZWxsLWxnLTEwLFxyXG4gIC5vcnktY2VsbC1sZy0xMSxcclxuICAub3J5LWNlbGwtbGctMTIsXHJcbiAgLm9yeS1jZWxsLWxnLW9mZnNldC0wLFxyXG4gIC5vcnktY2VsbC1sZy1vZmZzZXQtMSxcclxuICAub3J5LWNlbGwtbGctb2Zmc2V0LTIsXHJcbiAgLm9yeS1jZWxsLWxnLW9mZnNldC0zLFxyXG4gIC5vcnktY2VsbC1sZy1vZmZzZXQtNCxcclxuICAub3J5LWNlbGwtbGctb2Zmc2V0LTUsXHJcbiAgLm9yeS1jZWxsLWxnLW9mZnNldC02LFxyXG4gIC5vcnktY2VsbC1sZy1vZmZzZXQtNyxcclxuICAub3J5LWNlbGwtbGctb2Zmc2V0LTgsXHJcbiAgLm9yeS1jZWxsLWxnLW9mZnNldC05LFxyXG4gIC5vcnktY2VsbC1sZy1vZmZzZXQtMTAsXHJcbiAgLm9yeS1jZWxsLWxnLW9mZnNldC0xMSxcclxuICAub3J5LWNlbGwtbGctb2Zmc2V0LTEyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWhhbGYtZ3V0dGVyLXdpZHRoLCAwLjVyZW0pO1xyXG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1oYWxmLWd1dHRlci13aWR0aCwgMC41cmVtKTtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1sZyB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgbWluLXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLWxnLTEge1xyXG4gICAgZmxleC1iYXNpczogOC4zMzMzMzMzMyU7XHJcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbGctMiB7XHJcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NyU7XHJcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLWxnLTMge1xyXG4gICAgZmxleC1iYXNpczogMjUlO1xyXG4gICAgd2lkdGg6IDI1JTtcclxuICBtaW4td2lkdGg6IDI1JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1sZy00IHtcclxuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzJTtcclxuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbGctNSB7XHJcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NyU7XHJcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLWxnLTYge1xyXG4gICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICBtaW4td2lkdGg6IDUwJTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1sZy03IHtcclxuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzJTtcclxuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbGctOCB7XHJcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NyU7XHJcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLWxnLTkge1xyXG4gICAgZmxleC1iYXNpczogNzUlO1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICBtaW4td2lkdGg6IDc1JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1sZy0xMCB7XHJcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMzMzMyU7XHJcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLWxnLTExIHtcclxuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY3JTtcclxuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbGctMTIge1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1sZy1vZmZzZXQtMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1sZy1vZmZzZXQtMSB7XHJcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbGctb2Zmc2V0LTIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1sZy1vZmZzZXQtMyB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLWxnLW9mZnNldC00IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbGctb2Zmc2V0LTUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1sZy1vZmZzZXQtNiB7XHJcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLWxnLW9mZnNldC03IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAub3J5LWNlbGwtbGctb2Zmc2V0LTgge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5vcnktY2VsbC1sZy1vZmZzZXQtOSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLWxnLW9mZnNldC0xMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLm9yeS1jZWxsLWxnLW9mZnNldC0xMSB7XHJcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLnN0YXJ0LWxnIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgLmNlbnRlci1sZyB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5lbmQtbGcge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIHRleHQtYWxpZ246IGVuZDtcclxuICB9XHJcblxyXG4gIC50b3AtbGcge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG5cclxuICAubWlkZGxlLWxnIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuYm90dG9tLWxnIHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICB9XHJcblxyXG4gIC5hcm91bmQtbGcge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgfVxyXG5cclxuICAuYmV0d2Vlbi1sZyB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG5cclxuICAuZmlyc3QtbGcge1xyXG4gICAgb3JkZXI6IC0xO1xyXG4gIH1cclxuXHJcbiAgLmxhc3QtbGcge1xyXG4gICAgb3JkZXI6IDE7XHJcbiAgfVxyXG59XHJcbiIsIi8qIVxyXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBPUlkgRWRpdG9yLlxyXG4gKlxyXG4gKiBPUlkgRWRpdG9yIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqXHJcbiAqIE9SWSBFZGl0b3IgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxyXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuICpcclxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggT1JZIEVkaXRvci4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cclxuICpcclxuICogQGxpY2Vuc2UgTEdQTC0zLjBcclxuICogQGNvcHlyaWdodCAyMDE2LTIwMTggQWVuZWFzIFJla2thc1xyXG4gKiBAYXV0aG9yIEFlbmVhcyBSZWtrYXMgPGFlbmVhcytvc3NAYWVuZWFzLmlvPlxyXG4gKlxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCIuL1Jvdy9pbmRleC5jc3NcIjtcclxuQGltcG9ydCBcIi4vRWRpdGFibGUvaW5kZXguY3NzXCI7XHJcbkBpbXBvcnQgXCIuL0NlbGwvaW5kZXguY3NzXCI7XHJcbiIsIi8qIVxyXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBPUlkgRWRpdG9yLlxyXG4gKlxyXG4gKiBPUlkgRWRpdG9yIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqXHJcbiAqIE9SWSBFZGl0b3IgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxyXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuICpcclxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggT1JZIEVkaXRvci4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cclxuICpcclxuICogQGxpY2Vuc2UgTEdQTC0zLjBcclxuICogQGNvcHlyaWdodCAyMDE2LTIwMTggQWVuZWFzIFJla2thc1xyXG4gKiBAYXV0aG9yIEFlbmVhcyBSZWtrYXMgPGFlbmVhcytvc3NAYWVuZWFzLmlvPlxyXG4gKlxyXG4gKi9cclxuXHJcbi5vcnktcm93LWhhcy1mbG9hdGluZy1jaGlsZHJlbiB7XHJcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9yeS1yb3ctaXMtaG92ZXJpbmctdGhpczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiIFwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBiYWNrZ3JvdW5kOiBibGFjaztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrQmxhY2spO1xyXG4gIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi5vcnktcm93LWlzLWhvdmVyaW5nLWFib3ZlOmJlZm9yZSB7XHJcbiAgdG9wOiAwO1xyXG4gIGhlaWdodDogNHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ub3J5LXJvdy1pcy1ob3ZlcmluZy1iZWxvdzpiZWZvcmUge1xyXG4gIGJvdHRvbTogMDtcclxuICBoZWlnaHQ6IDRweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm9yeS1yb3ctaXMtaG92ZXJpbmctbGVmdC1vZjpiZWZvcmUge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICB3aWR0aDogNHB4O1xyXG59XHJcblxyXG4ub3J5LXJvdy1pcy1ob3ZlcmluZy1yaWdodC1vZjpiZWZvcmUge1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgd2lkdGg6IDRweDtcclxufVxyXG5cclxuIiwiLyohXHJcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE9SWSBFZGl0b3IuXHJcbiAqXHJcbiAqIE9SWSBFZGl0b3IgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICpcclxuICogT1JZIEVkaXRvciBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxyXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxyXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXHJcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxyXG4gKlxyXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcclxuICogYWxvbmcgd2l0aCBPUlkgRWRpdG9yLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxyXG4gKlxyXG4gKiBAbGljZW5zZSBMR1BMLTMuMFxyXG4gKiBAY29weXJpZ2h0IDIwMTYtMjAxOCBBZW5lYXMgUmVra2FzXHJcbiAqIEBhdXRob3IgQWVuZWFzIFJla2thcyA8YWVuZWFzK29zc0BhZW5lYXMuaW8+XHJcbiAqXHJcbiAqL1xyXG5cclxuLm9yeS1lZGl0YWJsZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC1mbGV4OiAwIDEgYXV0bztcclxuICAtbXMtZmxleDogMCAxIGF1dG87XHJcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcclxuICBmbGV4OiAwIDEgYXV0bztcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XHJcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24taXRlbXM6c3RyZXRjaDtcclxufVxyXG4iLCIvKiFcclxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgT1JZIEVkaXRvci5cclxuICpcclxuICogT1JZIEVkaXRvciBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBPUlkgRWRpdG9yIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXHJcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXHJcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcclxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxyXG4gKiBhbG9uZyB3aXRoIE9SWSBFZGl0b3IuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqXHJcbiAqIEBsaWNlbnNlIExHUEwtMy4wXHJcbiAqIEBjb3B5cmlnaHQgMjAxNi0yMDE4IEFlbmVhcyBSZWtrYXNcclxuICogQGF1dGhvciBBZW5lYXMgUmVra2FzIDxhZW5lYXMrb3NzQGFlbmVhcy5pbz5cclxuICpcclxuICovXHJcblxyXG5AaW1wb3J0IFwiLi9EcmFnZ2FibGUvaW5kZXguY3NzXCI7XHJcbkBpbXBvcnQgXCIuL0Ryb3BwYWJsZS9pbmRleC5jc3NcIjtcclxuQGltcG9ydCBcIi4vRW1wdHkvaW5kZXguY3NzXCI7XHJcbkBpbXBvcnQgXCIuL1Jlc2l6YWJsZS9pbmRleC5jc3NcIjtcclxuXHJcbi5vcnktY2VsbC1pbmxpbmUtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5vcnktY2VsbC1pbmxpbmUtcmlnaHQge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLm9yeS1jZWxsLWhhcy1pbmxpbmUtbmVpZ2hib3VyIHtcclxuICBmbG9hdDogbm9uZTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm9yeS1jZWxsLWZvY3VzZWQge1xyXG4gIC8qIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiKDgxLCAyMDMsIDIzOCk7ICovXHJcbiAgLyogb3V0bGluZTogMXB4IHNvbGlkIHJnYig4MSwgMjAzLCAyMzgpOyAqL1xyXG59XHJcblxyXG4ub3J5LWNlbGwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLm9yeS1jZWxsLWJyaW5nLXRvLWZyb250IHtcclxuICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4ub3J5LWNlbGwtcmVzaXppbmctb3ZlcmxheTphZnRlciB7XHJcbiAgY29udGVudDogXCIgXCI7XHJcbiAgei1pbmRleDogNDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG59XHJcbiIsIi8qIVxyXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBPUlkgRWRpdG9yLlxyXG4gKlxyXG4gKiBPUlkgRWRpdG9yIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqXHJcbiAqIE9SWSBFZGl0b3IgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxyXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuICpcclxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggT1JZIEVkaXRvci4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cclxuICpcclxuICogQGxpY2Vuc2UgTEdQTC0zLjBcclxuICogQGNvcHlyaWdodCAyMDE2LTIwMTggQWVuZWFzIFJla2thc1xyXG4gKiBAYXV0aG9yIEFlbmVhcyBSZWtrYXMgPGFlbmVhcytvc3NAYWVuZWFzLmlvPlxyXG4gKlxyXG4gKi9cclxuXHJcbi5vcnktY2VsbC1kcmFnZ2FibGUge1xyXG4gIGN1cnNvcjogbW92ZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xyXG4gIC8qIHJlc29sdmVzIGFuIGlzc3VlIHdpdGggZHJhZyBhbmQgZHJvcCBwcmV2aWV3IGluIGNocm9tZSwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9vcnkvZWRpdG9yL2lzc3Vlcy8xODAgKi9cclxuICAvKiB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyAqL1xyXG59XHJcblxyXG4ub3J5LWNlbGwtZHJhZ2dhYmxlLW92ZXJsYXkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgei1pbmRleDogMztcclxuICBjdXJzb3I6IG1vdmU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcclxuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuNHM7XHJcbn1cclxuXHJcbi5vcnktY2VsbC1kcmFnZ2FibGUtb3ZlcmxheTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tbWluQmxhY2spO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpZ2h0V2hpdGUpO1xyXG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuO1xyXG59XHJcblxyXG4ub3J5LWNlbGwtZHJhZ2dhYmxlLW92ZXJsYXktZGVzY3JpcHRpb24ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuOTcpO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm9yeS1jZWxsLWRyYWdnYWJsZS1vdmVybGF5LWRlc2NyaXB0aW9uIHNwYW4ge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC45Nyk7XHJcbiAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmc6IDhweCAyMnB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxMnB4IDEycHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXNpemU6IDc1JTtcclxuICBsZXR0ZXItc3BhY2luZzogMC4xNWVtO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XHJcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjRzO1xyXG59XHJcblxyXG4ub3J5LWNlbGwtZHJhZ2dhYmxlLW92ZXJsYXk6aG92ZXIgLm9yeS1jZWxsLWRyYWdnYWJsZS1vdmVybGF5LWRlc2NyaXB0aW9uIHNwYW4ge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjk1KTtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4ub3J5LWNlbGwtZHJhZ2dhYmxlLW92ZXJsYXkub3J5LWNlbGwtZHJhZ2dhYmxlLWxlYWYge1xyXG4gIHotaW5kZXg6IDM7XHJcbn1cclxuXHJcbi5vcnktY2VsbC1kcmFnZ2FibGUtaW5saW5lLWxlZnQub3J5LWNlbGwtZHJhZ2dhYmxlLW92ZXJsYXksXHJcbi5vcnktY2VsbC1kcmFnZ2FibGUtaW5saW5lLXJpZ2h0Lm9yeS1jZWxsLWRyYWdnYWJsZS1vdmVybGF5IHtcclxuICBmbG9hdDogbGVmdDtcclxuICB6LWluZGV4OiA0O1xyXG59XHJcblxyXG4ub3J5LWNlbGwtZHJhZ2dhYmxlLWlzLWRyYWdnaW5nIHtcclxuICBvcGFjaXR5OiAwLjQ7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuIiwiLyohXHJcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE9SWSBFZGl0b3IuXHJcbiAqXHJcbiAqIE9SWSBFZGl0b3IgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICpcclxuICogT1JZIEVkaXRvciBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxyXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxyXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXHJcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxyXG4gKlxyXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcclxuICogYWxvbmcgd2l0aCBPUlkgRWRpdG9yLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxyXG4gKlxyXG4gKiBAbGljZW5zZSBMR1BMLTMuMFxyXG4gKiBAY29weXJpZ2h0IDIwMTYtMjAxOCBBZW5lYXMgUmVra2FzXHJcbiAqIEBhdXRob3IgQWVuZWFzIFJla2thcyA8YWVuZWFzK29zc0BhZW5lYXMuaW8+XHJcbiAqXHJcbiAqL1xyXG5cclxuLm9yeS1jZWxsLWRyb3BwYWJsZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ub3J5LWNlbGwtZHJvcHBhYmxlLWlzLW92ZXItY3VycmVudDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiIFwiO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAxO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWRhcmtCbGFjayk7XHJcbn1cclxuXHJcbi5vcnktY2VsbC1kcm9wcGFibGUtaXMtb3Zlci1hYm92ZTpiZWZvcmUsXHJcbi5vcnktY2VsbC1kcm9wcGFibGUtaXMtb3Zlci1iZWxvdzpiZWZvcmUge1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIGJvcmRlci1yaWdodDogMDtcclxufVxyXG4ub3J5LWNlbGwtZHJvcHBhYmxlLWlzLW92ZXItbGVmdC1vZjpiZWZvcmUsXHJcbi5vcnktY2VsbC1kcm9wcGFibGUtaXMtb3Zlci1yaWdodC1vZjpiZWZvcmUge1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxufVxyXG5cclxuLm9yeS1jZWxsLWRyb3BwYWJsZS1pcy1vdmVyLWFib3ZlOmJlZm9yZSB7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiA0cHg7XHJcbiAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgYm9yZGVyLXJpZ2h0OiAwO1xyXG59XHJcbi5vcnktY2VsbC1kcm9wcGFibGUtbGVhZi5vcnktY2VsbC1kcm9wcGFibGUtaXMtb3Zlci1hYm92ZTpiZWZvcmUge1xyXG4gIGhlaWdodDogNHB4O1xyXG59XHJcblxyXG4ub3J5LWNlbGwtZHJvcHBhYmxlLWlzLW92ZXItYmVsb3c6YmVmb3JlIHtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBoZWlnaHQ6IDRweDtcclxufVxyXG4ub3J5LWNlbGwtZHJvcHBhYmxlLWxlYWYub3J5LWNlbGwtZHJvcHBhYmxlLWlzLW92ZXItYmVsb3c6YmVmb3JlIHtcclxuICBoZWlnaHQ6IDRweDtcclxufVxyXG5cclxuLm9yeS1jZWxsLWRyb3BwYWJsZS1pcy1vdmVyLWxlZnQtb2Y6YmVmb3JlIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDA7XHJcbiAgd2lkdGg6IDRweDtcclxufVxyXG4ub3J5LWNlbGwtZHJvcHBhYmxlLWxlYWYub3J5LWNlbGwtZHJvcHBhYmxlLWlzLW92ZXItbGVmdC1vZjpiZWZvcmUge1xyXG4gIHdpZHRoOiA0cHg7XHJcbn1cclxuXHJcbi5vcnktY2VsbC1kcm9wcGFibGUtaXMtb3Zlci1yaWdodC1vZjpiZWZvcmUge1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgd2lkdGg6IDRweDtcclxufVxyXG4ub3J5LWNlbGwtZHJvcHBhYmxlLWxlYWYub3J5LWNlbGwtZHJvcHBhYmxlLWlzLW92ZXItcmlnaHQtb2Y6YmVmb3JlIHtcclxuICB3aWR0aDogNHB4O1xyXG59XHJcblxyXG4ub3J5LWNlbGwtZHJvcHBhYmxlLWlzLW92ZXItaW5saW5lLXJpZ2h0OmJlZm9yZSxcclxuLm9yeS1jZWxsLWRyb3BwYWJsZS1pcy1vdmVyLWlubGluZS1sZWZ0OmJlZm9yZSB7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiA1MCU7XHJcbiAgaGVpZ2h0OiAzNiU7XHJcbiAgbWF4LWhlaWdodDogMTI4cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JleTMwMCk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWluQmxhY2spO1xyXG59XHJcblxyXG4ub3J5LWNlbGwtZHJvcHBhYmxlLWlzLW92ZXItaW5saW5lLWxlZnQ6YmVmb3JlIHtcclxuICBsZWZ0OiAwO1xyXG59XHJcbi5vcnktY2VsbC1kcm9wcGFibGUtaXMtb3Zlci1pbmxpbmUtcmlnaHQ6YmVmb3JlIHtcclxuICByaWdodDogMDtcclxufVxyXG4iLCIvKiFcclxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgT1JZIEVkaXRvci5cclxuICpcclxuICogT1JZIEVkaXRvciBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBPUlkgRWRpdG9yIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXHJcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXHJcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcclxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxyXG4gKiBhbG9uZyB3aXRoIE9SWSBFZGl0b3IuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqXHJcbiAqIEBsaWNlbnNlIExHUEwtMy4wXHJcbiAqIEBjb3B5cmlnaHQgMjAxNi0yMDE4IEFlbmVhcyBSZWtrYXNcclxuICogQGF1dGhvciBBZW5lYXMgUmVra2FzIDxhZW5lYXMrb3NzQGFlbmVhcy5pbz5cclxuICpcclxuICovXHJcblxyXG4ub3J5LWNlbGwtZW1wdHkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICBwYWRkaW5nOiA4cHg7XHJcbiAgbWFyZ2luOiAycHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm9yeS1jZWxsLWVtcHR5IHN0cm9uZyB7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5vcnktY2VsbC1lbXB0eSBjb2RlIHtcclxuICBvdmVyZmxvdzogc2Nyb2xsO1xyXG59XHJcbiIsIi8qIVxyXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBPUlkgRWRpdG9yLlxyXG4gKlxyXG4gKiBPUlkgRWRpdG9yIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqXHJcbiAqIE9SWSBFZGl0b3IgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxyXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuICpcclxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggT1JZIEVkaXRvci4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cclxuICpcclxuICogQGxpY2Vuc2UgTEdQTC0zLjBcclxuICogQGNvcHlyaWdodCAyMDE2LTIwMTggQWVuZWFzIFJla2thc1xyXG4gKiBAYXV0aG9yIEFlbmVhcyBSZWtrYXMgPGFlbmVhcytvc3NAYWVuZWFzLmlvPlxyXG4gKlxyXG4gKi9cclxuXHJcbkBrZXlmcmFtZXMgb3J5Q2VsbFJlc2l6ZWFibGVBbmltYXRlIHtcclxuICAwJSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1taW5XaGl0ZSk7XHJcbiAgICB0b3A6IDQ1JTtcclxuICAgIGJvdHRvbTogNDUlO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZmFpbnRXaGl0ZSk7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFya1doaXRlKTtcclxuICAgIHRvcDogNDUlO1xyXG4gICAgYm90dG9tOiA0NSU7XHJcbiAgfVxyXG59XHJcblxyXG4ub3J5LWNlbGwtcmVzaXphYmxlLWlubGluZS1yaWdodCA+IC5yZWFjdC1yZXNpemFibGUtaGFuZGxlIHtcclxuICBsZWZ0OiAtNHB4O1xyXG59XHJcblxyXG4ub3J5LWNlbGwtcmVzaXphYmxlLnJlYWN0LXJlc2l6YWJsZSA+IC5yZWFjdC1yZXNpemFibGUtaGFuZGxlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogNTtcclxuICB3aWR0aDogNHB4O1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IC0ycHg7XHJcbiAgY3Vyc29yOiBlLXJlc2l6ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodEJsYWNrKTtcclxuICBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xyXG59XHJcblxyXG4ub3J5LWNlbGwtcmVzaXphYmxlLnJlYWN0LXJlc2l6YWJsZSA+IC5yZWFjdC1yZXNpemFibGUtaGFuZGxlOmFmdGVyIHtcclxuICBjb250ZW50OiBcIiBcIjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrV2hpdGUpO1xyXG4gIC8qIHdpZHRoOiAzMHB4OyAqL1xyXG4gIC8qIGhlaWdodDogMzBweDsgKi9cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgLyogei1pbmRleDogMTAwMDsgKi9cclxuICB0b3A6IDQ1JTtcclxuICBib3R0b206IDQ1JTtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XHJcbiAgbWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcclxuXHJcbiAgYW5pbWF0aW9uLW5hbWU6IG9yeUNlbGxSZXNpemVhYmxlQW5pbWF0ZTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjhzO1xyXG59XHJcblxyXG4ub3J5LWNlbGwtcmVzaXphYmxlLnJlYWN0LXJlc2l6YWJsZSA+IC5yZWFjdC1yZXNpemFibGUtaGFuZGxlOmhvdmVyOmFmdGVyLFxyXG4ub3J5LWNlbGwtcmVzaXphYmxlLnJlYWN0LXJlc2l6YWJsZSA+IC5yZWFjdC1yZXNpemFibGUtaGFuZGxlOmFjdGl2ZTphZnRlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZnVsbFdoaXRlKTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG59XHJcbiIsbnVsbF19 */