@import url(https://use.typekit.net/ixo2lmd.css);
/*!
Theme Name: Twenty Twenty-Five Child
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Template: twentytwentyfive
Author: ParsePixel
Author URI: https://parsepixel.com
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Tags: one-column,custom-colors,custom-menu,custom-logo,editor-style,featured-images,full-site-editing,block-patterns,rtl-language-support,sticky-post,threaded-comments,translation-ready,wide-blocks,block-styles,style-variations,accessibility-ready,blog,portfolio,news
Version: 1.3.1761283248
Updated: 2025-10-24 05:20:48
*/

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/


:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: system-ui, BlinkMacSystemFont, -apple-system, Helvetica Neue, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
select {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

/*
Removes the default spacing and border for appropriate elements.
*/


h1,
h2,
h3,
hr,
p {
  margin: 0;
}


menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

/*
Prevent resizing textareas horizontally by default.
*/

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
::-ms-clear {
  display: none;
}
a:focus, button:focus, input[type="submit"]:focus {
  outline: 0 solid rgba(#111111, 0);
  outline-offset: 0;
}
.keyboard-navigation a:not(.outline-none):focus, .keyboard-navigation button:not(.outline-none):focus, .keyboard-navigation input[type="submit"]:not(.outline-none):focus {
  outline: 4px solid rgba(#111111, 1);
  outline-offset: 4px;
}
@media (width < 400px) {

  .text-22-32 {
    font-size: 1.375rem;
  }

  .text-24-34 {
    font-size: 1.5rem;
  }

  .text-36-48 {
    font-size: 2.25rem;
  }

  .h1, .rich-text h1 {
    font-size: 3rem;
  }

  .text-24-34,h2, .h2, .rich-text h2 {
    font-size: 1.5rem;
  }

  .text-24-34,.h3, .rich-text h3 {
    font-size: 1.5rem;
  }
}
@media (400px <= width < 800px) {

  .text-22-32 {
    font-size: calc(22px + 10 * ((100vw - 400px) / 400));
  }

  .text-24-34 {
    font-size: calc(24px + 10 * ((100vw - 400px) / 400));
  }

  .text-36-48 {
    font-size: calc(36px + 12 * ((100vw - 400px) / 400));
  }

  .h1, .rich-text h1 {
    font-size: calc(48px + 8 * ((100vw - 400px) / 400));
  }

  .text-24-34,h2, .h2, .rich-text h2 {
    font-size: calc(24px + 10 * ((100vw - 400px) / 400));
  }

  .text-24-34,.h3, .rich-text h3 {
    font-size: calc(24px + 10 * ((100vw - 400px) / 400));
  }
}
@media (width >= 800px) {

  .text-22-32 {
    font-size: 2rem;
  }

  .text-24-34 {
    font-size: 2.125rem;
  }

  .text-36-48 {
    font-size: 3rem;
  }

  .h1, .rich-text h1 {
    font-size: 3.5rem;
  }

  .text-24-34,h2, .h2, .rich-text h2 {
    font-size: 2.125rem;
  }

  .text-24-34,.h3, .rich-text h3 {
    font-size: 2.125rem;
  }
}
.field-type-checkbox {
  position: relative;
  overflow: hidden;
  display: block;
}
.field-type-checkbox input[type="checkbox"] {
  position: absolute;
  left: -2rem;
  top: 0;
}
.field-type-checkbox label {
  position: relative;
  overflow: hidden;
  display: block;
  padding-left: 1.5rem;
}
.field-type-checkbox label::before {
  width: 1rem;
  height: 1rem;
  border: 1px solid #111111;
  background-color: #ffffff;
  content: "";
  position: absolute;
  box-sizing: border-box;
  top: 0.125rem;
  left: 0;
  border-radius: 0.125rem;
}
.field-type-checkbox label:hover {}
.field-type-checkbox label:hover::before {}
.field-type-checkbox label::after {
  width: 1rem;
  height: 1rem;
  content: "";
  position: absolute;
  box-sizing: border-box;
  top: 0.125rem;
  left: 0;
  border-radius: 0.125rem;
  background-size: contain;
  background-position: center;
  background-image: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20viewBox%3D%22-2%20-2%2028%2028%22%20style%3D%22enable-background%3Anew%200%200%2024%2024%3B%22%20preserveAspectRatio%3D%22xMidYMid%22%3E%3Cg%20fill%3D%22%23111111%22%3E%3Cpolygon%20points%3D%2219.6%2C4.9%209%2C15.5%204.8%2C11.3%202.7%2C13.4%209%2C19.7%2021.7%2C7%20%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
  opacity: 0;
}
.field-type-checkbox label:hover::after {}
.field-type-checkbox :focus + label::before {
  outline: none;
}
.field-type-checkbox :focus + label::after {}
.field-type-checkbox :focus + label {}
.field-type-checkbox :checked + label::after {
  opacity: 1;
}
.field-type-radio {
  position: relative;
  overflow: hidden;
  display: block;
}
.field-type-radio input[type="radio"] {
  position: absolute;
  left: -2rem;
  top: 0;
}
.field-type-radio label {
  position: relative;
  overflow: hidden;
  display: block;
  padding-left: 1.5rem;
}
.field-type-radio label::before {
  width: 1rem;
  height: 1rem;
  border: 1px solid #111111;
  background-color: #ffffff;
  content: "";
  position: absolute;
  box-sizing: border-box;
  top: 0.125rem;
  left: 0;
  border-radius: 100%;
}
.field-type-radio label:hover {}
.field-type-radio label:hover::before {}
.field-type-radio label::after {
  width: 1rem;
  height: 1rem;
  content: "";
  position: absolute;
  box-sizing: border-box;
  top: 0.125rem;
  left: 0;
  border-radius: 100%;
  background-size: contain;
  background-position: center;
  background-image: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20viewBox%3D%22-2%20-2%2028%2028%22%20style%3D%22enable-background%3Anew%200%200%2024%2024%3B%22%20preserveAspectRatio%3D%22xMidYMid%22%3E%3Cg%20fill%3D%22%23111111%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%227%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
  opacity: 0;
}
.field-type-radio label:hover::after {}
.field-type-radio :focus + label::before {
  outline: none;
}
.field-type-radio :focus + label::after {}
.field-type-radio :focus + label {}
.field-type-radio :checked + label::after {
  opacity: 1;
}
input[type="file"] {
  margin: 1px 0;
  background-color: transparent;
  display: block;
  cursor: pointer;
}
input[type="file"]::-ms-browse {
  border: 0;
  background-color: #256e3b;
  color: #ffffff;
  padding: 0.25rem 0.75rem;
  display: inline-block;
  -ms-transition: all 0.1s ease-in;
  transition: all 0.1s ease-in;
  cursor: pointer;
  border-radius: 0.1875rem;
}
input[type="file"]:hover::-ms-browse {
  background-color: #ff00ff;
  color: #111111;
}
input[type="file"]::-ms-value {
  background-color: transparent;
  color: #111111;
  margin: 0 0 0 0.75rem;
  padding: 0;
  border: 0;
  display: inline-block;
  cursor: pointer;
}
input[type="file"]::file-selector-button {
  border: 0;
  background-color: #256e3b;
  color: #ffffff;
  padding: 0.25rem 0.75rem;
  display: inline-block;
  transition: all 0.1s ease-in;
  cursor: pointer;
  margin-right: 0.5rem;
  border-radius: 0.1875rem;
}
input[type="file"]:hover::file-selector-button {
  background-color: #ff00ff;
  color: #111111;
}
.left-0 {
  left: 0;
}
.top-0 {
  top: 0;
}
.m-12 {
  margin: 0.75rem;
}
.mx-8 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}
.my-48 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.mb-12 {
  margin-bottom: 0.75rem;
}
.mb-24 {
  margin-bottom: 1.5rem;
}
.mb-32 {
  margin-bottom: 2rem;
}
.mb-8 {
  margin-bottom: 0.5rem;
}
.ml-8 {
  margin-left: 0.5rem;
}
.mr-12 {
  margin-right: 0.75rem;
}
.mt-12 {
  margin-top: 0.75rem;
}
.mt-2 {
  margin-top: 0.125rem;
}
.mt-96 {
  margin-top: 6rem;
}
.aspect-3\/4 {
  aspect-ratio: 3/4;
}
.h-16 {
  height: 1rem;
}
.h-32 {
  height: 2rem;
}
.w-1\/1 {
  width: 100%;
}
.w-1\/2 {
  width: 50%;
}
.w-1\/3--24 {
  width: calc(33.333% - 1.5rem);
}
.w-16 {
  width: 1rem;
}
.w-32 {
  width: 2rem;
}
.max-w-160 {
  max-width: 10rem;
}
.max-w-800 {
  max-width: 50rem;
}
.max-w-960 {
  max-width: 60rem;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-pointer {
  cursor: pointer;
}
.resize {
  resize: both;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-row {
  flex-direction: row;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.items-start {
  align-items: flex-start;
}
.items-center {
  align-items: center;
}
.justify-start {
  justify-content: flex-start;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-32 {
  gap: 2rem;
}
.overflow-hidden {
  overflow: hidden;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.break-keep {
  word-break: keep-all;
}
.rounded-8 {
  border-radius: 0.5rem;
}
.border {
  border-width: 0.0625rem;
}
.border-b-1 {
  border-bottom-width: 0.0625rem;
}
.border-gray {
  --tw-border-opacity: 1;
  border-color: rgb(170 170 170 / var(--tw-border-opacity, 1));
}
.bg-offwhite {
  --tw-bg-opacity: 1;
  background-color: rgb(252 244 233 / var(--tw-bg-opacity, 1));
}
.bg-cover {
  background-size: cover;
}
.bg-top {
  background-position: top;
}
.bg-no-repeat {
  background-repeat: no-repeat;
}
.fill-current {
  fill: currentColor;
}
.px-12 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.py-12 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-24 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.pb-18 {
  padding-bottom: 1.125rem;
}
.pb-4 {
  padding-bottom: 0.25rem;
}
.pb-48 {
  padding-bottom: 3rem;
}
.pb-8 {
  padding-bottom: 0.5rem;
}
.pl-12 {
  padding-left: 0.75rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.font-roboto {
  font-family: "Roboto", sans-serif;
}
.text-16 {
  font-size: 1rem;
}
.font-700 {
  font-weight: 700;
}
.uppercase {
  text-transform: uppercase;
}
.italic {
  font-style: italic;
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(17 17 17 / var(--tw-text-opacity, 1));
}
.text-dkgray {
  --tw-text-opacity: 1;
  color: rgb(85 85 85 / var(--tw-text-opacity, 1));
}
.text-dkgreen {
  --tw-text-opacity: 1;
  color: rgb(20 79 38 / var(--tw-text-opacity, 1));
}
.text-gray {
  --tw-text-opacity: 1;
  color: rgb(170 170 170 / var(--tw-text-opacity, 1));
}
.text-green {
  --tw-text-opacity: 1;
  color: rgb(37 110 59 / var(--tw-text-opacity, 1));
}
.text-purple {
  --tw-text-opacity: 1;
  color: rgb(255 0 255 / var(--tw-text-opacity, 1));
}
.text-red {
  --tw-text-opacity: 1;
  color: rgb(255 0 0 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.no-underline {
  text-decoration-line: none;
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.shadow {
  --tw-shadow: 0 0.5rem 1rem 0 rgba(0,0,0,0.2), 0 0.375rem 0.75rem 0 rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 0.5rem 1rem 0 var(--tw-shadow-color), 0 0.375rem 0.75rem 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.expand-none::-ms-expand {
  display: none;
}
.d-block {
  display: block;
}
.d-flex {
  display: flex;
}
.d-inline-flex {
  display: inline-flex;
}
.d-grid {
  display: grid;
}
.d-none {
  display: none;
}
.p-relative {
  position: relative;
}
.p-fixed {
  position: fixed;
}
.p-absolute {
  position: absolute;
}
.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:text-black:hover {
  --tw-text-opacity: 1;
  color: rgb(17 17 17 / var(--tw-text-opacity, 1));
}
.hover\:text-green:hover {
  --tw-text-opacity: 1;
  color: rgb(37 110 59 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-green {
  --tw-text-opacity: 1;
  color: rgb(37 110 59 / var(--tw-text-opacity, 1));
}
@media (min-width: 640px) {

  .\36 40\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 800px) {

  .\38 00\:ml-24 {
    margin-left: 1.5rem;
  }

  .\38 00\:mt-0 {
    margin-top: 0;
  }

  .\38 00\:w-1\/2--24 {
    width: calc(50% - 1.5rem);
  }

  .\38 00\:w-320 {
    width: 20rem;
  }

  .\38 00\:text-left {
    text-align: left;
  }

  .\38 00\:d-flex {
    display: flex;
  }
}
@media (min-width: 1280px) {

  .\31 280\:w-1\/3--24 {
    width: calc(33.333% - 1.5rem);
  }

  .\31 280\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

* {
  box-sizing: border-box;
}

body {
  overflow-anchor: none;
}


.text-shadow-lg {
  text-shadow:  0px 1px 2px rgb(0 0 0 / 0.5), 0px 3px 2px rgb(0 0 0 / 0.5), 0px 4px 8px rgb(0 0 0 / 0.5);
}


@media (max-width: 1224px) { /* Change 960px to your desired breakpoint */
    .custom-stack-breakpoint {
        flex-direction: column !important;
    }
}

/* Add padding to the main content area to prevent overlap with the sticky header */
main {
    padding-top: [HEADER_HEIGHT] !important;
    margin-top: [HEADER_HEIGHT] !important; /* Use margin if padding doesn't work */
}

@media screen and (max-width: 768px) {
    /* Adjust justification (alignment) of menu items */

    /* If you have submenus, you might need specific rules for them */
}

/* Shared styles between rich text elements and other selectors
 *
 * When styling Kentico ecommerce, you may want to include
 * - .checkout-container h2
 * - .cart h2
 * - .cart h3
 * - .cart h4
 *
 * Do not include color, margins or display (for example, inline-block or flex)
 * in these shared selectors. They should be applied through utility classes to
 * individual elements and by ancestor context (in this file below) to rich
 * text elements. This is because these properties can vary throughout the site.
 *
 */
.h1 {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
}

.h2,
.rich-text h2 {
  /* Heading 2 styles except for color, display and margins
   * Include:
   * - Size if not scaled
   * - Weight
   * - Tracking
   * - Leading
   */
   /* font-size: var(--wp--preset--font-size--x-large); */
   font-family: "Roboto", sans-serif;
   font-weight: 700;
   line-height: 1;
}

.h3,
.rich-text h3 {
  /* Heading 3 styles except for color, display and margins
   * Include:
   * - Size if not scaled
   * - Weight
   * - Tracking
   * - Leading
   */
   font-size: var(--wp--preset--font-size--large);
   font-family: "Roboto", sans-serif;
   font-weight: 700;
   text-transform: uppercase;
   line-height: 1;
}

/* Rich text hyperlinks and those which are styled similarly
   This selector is separate so that other link selectors
   can be added if necessary. */

/* Change this to required hyperlink colors and create the
   additional color selectors that you need. */

/* In order to separately color list item markers
   without access to the ::marker pseudo-element,
   we're recreating them using ::before. */


/* Rich text and treatment styles that are identical to it */

/* Rich text and treatment styles that are identical to it */

.whitespace-nowrap {
  white-space: nowrap;
}
.break-keep {
  word-break: keep-all;
}
/* # Rich text module
 *
 * Styles rich text that an administrator can create through the CMS using common
 * markup conventions.
 *
 * This is where you define the ancestor context of actual rich text elements.
 *
 */

 .rich-text {
  & > * {
    margin-top: 1rem;
    margin-bottom: 1rem;

  }
  & > * {

    &:first-child {
      margin-top: 0;

    }

    &:last-child {
      margin-bottom: 0;

    }
  }

  & h2 {
    /* Apply heading colors within rich text here.
       Headings often alternate color */
  }

  & h3 {
    /* Apply heading colors within rich text here.
       Headings often alternate color */
  }

  & * + h2,
  & * + h3 {
    /* Spacing for headings in rich text */
  }

  & * + h2,
  & * + h3 {
    margin-top: 2.5rem;

  }

  & img {
    max-width: 100%;

  }

  & img {
    &[style*="max-width"] {
      width: 100% !important;
    }
  }

}

/* @import 'legacy.css'; */
.is-style-gold-button a, .is-style-white-button a, .is-style-beige-button a, .is-style-green-button a, .is-style-black-button a {
  /* font-weight: 700; */
  /* letter-spacing: .04em; */
  transition: all 0.3s ease;
  background-color: var(--original-color);
  color: rgb(17, 17, 17);
}
.is-style-gold-button a:hover, .is-style-gold-button a:focus, .is-style-white-button a:hover, .is-style-white-button a:focus, .is-style-beige-button a:hover, .is-style-beige-button a:focus, .is-style-green-button a:hover, .is-style-green-button a:focus, .is-style-black-button a:hover, .is-style-black-button a:focus {
  text-shadow: rgb(255, 255, 255) 0 0 4px, rgba(255, 255, 255, 0.8) 0 0 12px, rgba(255, 255, 255, 0.6) 1px 1px 4px, rgba(255, 255, 255, 0.4) 4px 4px 16px;
  /* background-color: color-mix(in srgb, var(--original-color) 45%, transparent); */
  background-color: color-mix(in oklch, var(--original-color) 45%, white);
  box-shadow: rgba(255, 255, 255, 0.2) 0 3px 15px inset, rgba(0, 0, 0, 0.1) 0 3px 5px, rgba(0, 0, 0, 0.1) 0 10px 13px;
}

.is-style-beige-button a {
  --original-color: #f1e1c0;
}

.is-style-gold-button a {
  --original-color: #fcd98f;
}

.is-style-white-button a {
  --original-color: #ffffff;
}
.is-style-white-button a:hover, .is-style-white-button a:focus {
  background-color: #f1e1c0;
}

.is-style-green-button a {
  --original-color: #256e3b;
  color: #FFF;
}
.is-style-green-button a:hover, .is-style-green-button a:focus {
  text-shadow: rgba(0, 0, 0, 0.4) 0 0 4px, rgba(0, 0, 0, 0.2) 0 0 12px, rgba(0, 0, 0, 0.6) 1px 1px 4px, rgba(0, 0, 0, 0.32) 4px 4px 16px;
}

.is-style-black-button a {
  --original-color: #111111;
  color: #FFF;
}
.is-style-black-button a:hover, .is-style-black-button a:focus {
  text-shadow: rgba(0, 0, 0, 0.4) 0 0 4px, rgba(0, 0, 0, 0.2) 0 0 12px, rgba(0, 0, 0, 0.6) 1px 1px 4px, rgba(0, 0, 0, 0.32) 4px 4px 16px;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content a, .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content span {
  cursor: pointer;
}

.wp-block-navigation ul .donate-btn a, .wp-block-navigation ul li .donate-btn a {
  position: relative;
  transition: all 0.3s ease;
  --original-color: #fcd98f;
  background-color: var(--original-color);
  color: rgb(17, 17, 17);
}
.wp-block-navigation ul .donate-btn a:hover, .wp-block-navigation ul .donate-btn a:focus, .wp-block-navigation ul li .donate-btn a:hover, .wp-block-navigation ul li .donate-btn a:focus {
  text-shadow: rgb(255, 255, 255) 0 0 4px, rgba(255, 255, 255, 0.8) 0 0 12px, rgba(255, 255, 255, 0.6) 1px 1px 4px, rgba(255, 255, 255, 0.4) 4px 4px 16px;
  /* background-color: color-mix(in srgb, var(--original-color) 45%, transparent); */
  background-color: color-mix(in oklch, var(--original-color) 45%, white);
  box-shadow: rgba(255, 255, 255, 0.2) 0 3px 15px inset, rgba(0, 0, 0, 0.1) 0 3px 5px, rgba(0, 0, 0, 0.1) 0 10px 13px;
}
.wp-block-navigation ul .donate-btn a, .wp-block-navigation ul li .donate-btn a {
  text-align: center;
  text-decoration: none;
  vertical-align: baseline;
  padding: 6px 20px;
  border-radius: 25px;
}

.instagram-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #FFF;
}
.instagram-link:before {
  display: block;
  content: "";
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background-image: url("./images/instagram.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

footer a:hover {
  text-decoration: underline;
}
body {
  /* font-family: var(--wp--preset--font-family--montserrat); */
}
body header {
  /* position: sticky;
  z-index: 10;
  top: 0;
  background: #FFF;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3); */
}
body {
  /* &.admin-bar{
      header{
          top:32px;
          @media screen and ( max-width: 782px ){
              top:46px;
          }
          @media screen and (max-width: 600px) {
              top: 0;
          }
      }
  } */
}

/* .page-content{
    padding-top: 5rem;
    >*{
        max-width: $contentWidth;
        margin-left: auto;
        margin-right: auto;
    }

    .alignwide{
        max-width: $wideWidth;
        margin-left: auto;
        margin-right: auto;  
    }

    .alignfull{
        max-width: 100%;
    }

} */
/* .no-js-msg{
    display:block; 
    padding:1rem; 
    text-align: center;
    background-color: red;
    color: white;
} */
footer {
  margin-top: 0;
}

.wp-site-blocks {
  position: relative;
}

.container-shadow, .wp-block-accordion-heading, header {
  position: relative;
}
.container-shadow:after, .wp-block-accordion-heading:after, header:after {
  z-index: 200;
  position: absolute;
  height: 10px;
  bottom: -10px;
  content: "";
  display: block;
  width: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 100%);
}

/* @import 'responsive-overrides.scss'; */
/* @import 'components/buttons.scss'; */
/* @import 'components/research-item.scss'; */
/* @import 'components/donation--section.scss'; */

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFBZCwrQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCx1QkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxZQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsNkJBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLGFBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztFQUFkLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0NBQWM7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFB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O0VBQXBCLDZCQUFvQjtFQUFwQixjQUFvQjtFQUFwQixlQUFvQjtBQUFBO0FBQXBCO0VBQUEsU0FBb0I7RUFBcEIseUJBQW9CO0VBQXBCLGNBQW9CO0VBQXBCLHdCQUFvQjtFQUFwQixxQkFBb0I7RUFBcEIsZ0NBQW9CO0VBQXBCLDRCQUFvQjtFQUFwQixlQUFvQjtFQUFwQjtBQUFvQjtBQUFwQjtFQUFBLHlCQUFvQjtFQUFwQjtBQUFvQjtBQUFwQjtFQUFBLDZCQUFvQjtFQUFwQixjQUFvQjtFQUFwQixxQkFBb0I7RUFBcEIsVUFBb0I7RUFBcEIsU0FBb0I7RUFBcEIscUJBQW9CO0VBQXBCO0FBQW9CO0FBQXBCO0VBQUEsU0FBb0I7RUFBcEIseUJBQW9CO0VBQXBCLGNBQW9CO0VBQXBCLHdCQUFvQjtFQUFwQixxQkFBb0I7RUFBcEIsNEJBQW9CO0VBQXBCLGVBQW9CO0VBQXBCLG9CQUFvQjtFQUFwQjtBQUFvQjtBQUFwQjtFQUFBLHlCQUFvQjtFQUFwQjtBQUFvQjtBQUNwQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGFBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZ0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFB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Q1B5QjtFQUFJO0FEVzdCO0FDWG9FO0VBQW1CO0FEY3ZGOztBQ2J5QjtFQUFJO0VBQXVDO0FEa0JwRTtBQ2xCaUY7RUFBbUI7QURxQnBHOztBQ3BCeUI7RUFBSTtFQUF1QztBRHlCcEU7QUN6QmlGO0VBQW1CO0FENEJwRzs7QUN6QkU7RUFDRTtBRDRCSjs7QUN4Qkk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEMEJOO0FDeEJNO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QUR5QlI7QUN0Q0k7RUFlRTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0FEd0JOOztBQ1lBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBRFZGO0FDV0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURUSjs7QUNjSTtFQUNFO0FEWE47QUU5RkE7RUFDSTtBRm1HSjtBRWpHSTtFQUNJOzs7O2dEQUFBO0FGdUdSO0FFM0dBO0VBVUk7Ozs7Ozs7Ozs7S0FBQTtBRjhHSjs7QUVoR0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQUFBO0FBcUJBOzs7Ozs7R0FBQTtBQVFBO0VBQ0k7QUZnR0o7O0FFOUZBO0VBQ0k7QUZpR0o7O0FFOUZBO0VBQ0U7QUZpR0Y7QUVoR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGa0dKOztBRTdGQTtBQUNBO0FBQ0E7QUFDQSxrRCIsInNvdXJjZXMiOlsid2VicGFjazovL3dvcmRwcmVzcy13ZWJwYWNrLXRhaWx3aW5kLy4vcmVzb3VyY2VzL3N0eWxlcy9jaGlsZC10d2VudHktdHdlbnR5LWZpdmUuY3NzIiwid2VicGFjazovL3dvcmRwcmVzcy13ZWJwYWNrLXRhaWx3aW5kLy4vcmVzb3VyY2VzL3N0eWxlcy9kaXJlY3RpdmVzL3RhaWx3aW5kLmNzcyIsIndlYnBhY2s6Ly93b3JkcHJlc3Mtd2VicGFjay10YWlsd2luZC8uL3Jlc291cmNlcy9zdHlsZXMvbWFpbi9nbG9iYWwuY3NzIiwid2VicGFjazovL3dvcmRwcmVzcy13ZWJwYWNrLXRhaWx3aW5kLy4vcmVzb3VyY2VzL3N0eWxlcy9tYWluL3RleHQuY3NzIiwid2VicGFjazovL3dvcmRwcmVzcy13ZWJwYWNrLXRhaWx3aW5kLy4vcmVzb3VyY2VzL3N0eWxlcy9tYWluL3JpY2gtdGV4dC5jc3MiLCJ3ZWJwYWNrOi8vd29yZHByZXNzLXdlYnBhY2stdGFpbHdpbmQvLi9yZXNvdXJjZXMvc3R5bGVzL21haW4uc2NzcyIsIndlYnBhY2s6Ly93b3JkcHJlc3Mtd2VicGFjay10YWlsd2luZC8uL3Jlc291cmNlcy9zdHlsZXMvYmxvY2svYnV0dG9ucy5zY3NzIiwid2VicGFjazovL3dvcmRwcmVzcy13ZWJwYWNrLXRhaWx3aW5kLy4vcmVzb3VyY2VzL3N0eWxlcy9zYXNzL3N0eWxlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG5UaGVtZSBOYW1lOiBUd2VudHkgVHdlbnR5LUZpdmUgQ2hpbGRcblRoZW1lIFVSSTogaHR0cHM6Ly93b3JkcHJlc3Mub3JnL3RoZW1lcy90d2VudHl0d2VudHlmaXZlL1xuVGVtcGxhdGU6IHR3ZW50eXR3ZW50eWZpdmVcbkF1dGhvcjogUGFyc2VQaXhlbFxuQXV0aG9yIFVSSTogaHR0cHM6Ly9wYXJzZXBpeGVsLmNvbVxuRGVzY3JpcHRpb246IFR3ZW50eSBUd2VudHktRml2ZSBlbXBoYXNpemVzIHNpbXBsaWNpdHkgYW5kIGFkYXB0YWJpbGl0eS4gSXQgb2ZmZXJzIGZsZXhpYmxlIGRlc2lnbiBvcHRpb25zLCBzdXBwb3J0ZWQgYnkgYSB2YXJpZXR5IG9mIHBhdHRlcm5zIGZvciBkaWZmZXJlbnQgcGFnZSB0eXBlcywgc3VjaCBhcyBzZXJ2aWNlcyBhbmQgbGFuZGluZyBwYWdlcywgbWFraW5nIGl0IGlkZWFsIGZvciBidWlsZGluZyBwZXJzb25hbCBibG9ncywgcHJvZmVzc2lvbmFsIHBvcnRmb2xpb3MsIG9ubGluZSBtYWdhemluZXMsIG9yIGJ1c2luZXNzIHdlYnNpdGVzLiBJdHMgdGVtcGxhdGVzIGNhdGVyIHRvIHZhcmlvdXMgYmxvZyBzdHlsZXMsIGZyb20gdGV4dC1mb2N1c2VkIHRvIGltYWdlLWhlYXZ5IGxheW91dHMuIEFkZGl0aW9uYWxseSwgaXQgc3VwcG9ydHMgaW50ZXJuYXRpb25hbCB0eXBvZ3JhcGh5IGFuZCBkaXZlcnNlIGNvbG9yIHBhbGV0dGVzLCBlbnN1cmluZyBhY2Nlc3NpYmlsaXR5IGFuZCBjdXN0b21pemF0aW9uIGZvciB1c2VycyB3b3JsZHdpZGUuXG5UYWdzOiBvbmUtY29sdW1uLGN1c3RvbS1jb2xvcnMsY3VzdG9tLW1lbnUsY3VzdG9tLWxvZ28sZWRpdG9yLXN0eWxlLGZlYXR1cmVkLWltYWdlcyxmdWxsLXNpdGUtZWRpdGluZyxibG9jay1wYXR0ZXJucyxydGwtbGFuZ3VhZ2Utc3VwcG9ydCxzdGlja3ktcG9zdCx0aHJlYWRlZC1jb21tZW50cyx0cmFuc2xhdGlvbi1yZWFkeSx3aWRlLWJsb2NrcyxibG9jay1zdHlsZXMsc3R5bGUtdmFyaWF0aW9ucyxhY2Nlc3NpYmlsaXR5LXJlYWR5LGJsb2cscG9ydGZvbGlvLG5ld3NcblZlcnNpb246IDEuMy4xNzYxMjgzMjQ4XG5VcGRhdGVkOiAyMDI1LTEwLTI0IDA1OjIwOjQ4XG4qL1xuIiwiQHRhaWx3aW5kIGJhc2U7XG46Oi1tcy1jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG53YnI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwMjAwQlwiO1xufVxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xuIiwiLyogcHVyZ2Vjc3Mgc3RhcnQgaWdub3JlICovXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbn1cblxuXG4udGV4dC1zaGFkb3ctbGcge1xuICB0ZXh0LXNoYWRvdzogIDBweCAxcHggMnB4IHJnYigwIDAgMCAvIDAuNSksIDBweCAzcHggMnB4IHJnYigwIDAgMCAvIDAuNSksIDBweCA0cHggOHB4IHJnYigwIDAgMCAvIDAuNSk7XG59XG5cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMjRweCkgeyAvKiBDaGFuZ2UgOTYwcHggdG8geW91ciBkZXNpcmVkIGJyZWFrcG9pbnQgKi9cbiAgICAuY3VzdG9tLXN0YWNrLWJyZWFrcG9pbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBBZGQgcGFkZGluZyB0byB0aGUgbWFpbiBjb250ZW50IGFyZWEgdG8gcHJldmVudCBvdmVybGFwIHdpdGggdGhlIHN0aWNreSBoZWFkZXIgKi9cbm1haW4ge1xuICAgIHBhZGRpbmctdG9wOiBbSEVBREVSX0hFSUdIVF0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiBbSEVBREVSX0hFSUdIVF0gIWltcG9ydGFudDsgLyogVXNlIG1hcmdpbiBpZiBwYWRkaW5nIGRvZXNuJ3Qgd29yayAqL1xufVxuLyogcHVyZ2Vjc3MgZW5kIGlnbm9yZSAqL1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC8qIEFkanVzdCBqdXN0aWZpY2F0aW9uIChhbGlnbm1lbnQpIG9mIG1lbnUgaXRlbXMgKi9cbiAgICAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtIGEge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgLyogQWxpZ25zIHRleHQgdG8gdGhlIHJpZ2h0ICovXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvKiBFbnN1cmVzIHRoZSB3aG9sZSBsaW5rIGFyZWEgaXMgY2xpY2thYmxlIGFuZCBhbGlnbm1lbnQgd29ya3MgKi9cbiAgICB9XG5cbiAgICAvKiBJZiB5b3UgaGF2ZSBzdWJtZW51cywgeW91IG1pZ2h0IG5lZWQgc3BlY2lmaWMgcnVsZXMgZm9yIHRoZW0gKi9cbiAgICAud3AtYmxvY2stbmF2aWdhdGlvbl9fc3VibWVudS1jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgLyogQWxpZ25zIHN1Ym1lbnUgaXRlbXMgdG8gdGhlIHJpZ2h0ICovXG4gICAgfVxuICAgIC53cC1ibG9jay1uYXZpZ2F0aW9uX19yZXNwb25zaXZlLWNvbnRhaW5lci1jbG9zZSB7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogMzNweDtcbiAgICB9XG4gICAgLndwLWJsb2NrLW5hdmlnYXRpb25fX3Jlc3BvbnNpdmUtY29udGFpbmVyLmlzLW1lbnUtb3BlbiAud3AtYmxvY2stbmF2aWdhdGlvbl9fcmVzcG9uc2l2ZS1jb250YWluZXItY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IFxuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiA5MHB4OyBcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cbiIsIi8qIFNoYXJlZCBzdHlsZXMgYmV0d2VlbiByaWNoIHRleHQgZWxlbWVudHMgYW5kIG90aGVyIHNlbGVjdG9yc1xuICpcbiAqIFdoZW4gc3R5bGluZyBLZW50aWNvIGVjb21tZXJjZSwgeW91IG1heSB3YW50IHRvIGluY2x1ZGVcbiAqIC0gLmNoZWNrb3V0LWNvbnRhaW5lciBoMlxuICogLSAuY2FydCBoMlxuICogLSAuY2FydCBoM1xuICogLSAuY2FydCBoNFxuICpcbiAqIERvIG5vdCBpbmNsdWRlIGNvbG9yLCBtYXJnaW5zIG9yIGRpc3BsYXkgKGZvciBleGFtcGxlLCBpbmxpbmUtYmxvY2sgb3IgZmxleClcbiAqIGluIHRoZXNlIHNoYXJlZCBzZWxlY3RvcnMuIFRoZXkgc2hvdWxkIGJlIGFwcGxpZWQgdGhyb3VnaCB1dGlsaXR5IGNsYXNzZXMgdG9cbiAqIGluZGl2aWR1YWwgZWxlbWVudHMgYW5kIGJ5IGFuY2VzdG9yIGNvbnRleHQgKGluIHRoaXMgZmlsZSBiZWxvdykgdG8gcmljaFxuICogdGV4dCBlbGVtZW50cy4gVGhpcyBpcyBiZWNhdXNlIHRoZXNlIHByb3BlcnRpZXMgY2FuIHZhcnkgdGhyb3VnaG91dCB0aGUgc2l0ZS5cbiAqXG4gKi9cbi5oMSB7XG4gIEBhcHBseSBmb250LXJvYm90byBmb250LTcwMDtcbn1cblxuLmgyLFxuLnJpY2gtdGV4dCBoMiB7XG4gIC8qIEhlYWRpbmcgMiBzdHlsZXMgZXhjZXB0IGZvciBjb2xvciwgZGlzcGxheSBhbmQgbWFyZ2luc1xuICAgKiBJbmNsdWRlOlxuICAgKiAtIFNpemUgaWYgbm90IHNjYWxlZFxuICAgKiAtIFdlaWdodFxuICAgKiAtIFRyYWNraW5nXG4gICAqIC0gTGVhZGluZ1xuICAgKi9cbiAgIC8qIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKTsgKi9cbiAgIEBhcHBseSBmb250LXJvYm90byBmb250LTcwMCBsZWFkaW5nLTEwMDtcbn1cblxuLmgzLFxuLnJpY2gtdGV4dCBoMyB7XG4gIC8qIEhlYWRpbmcgMyBzdHlsZXMgZXhjZXB0IGZvciBjb2xvciwgZGlzcGxheSBhbmQgbWFyZ2luc1xuICAgKiBJbmNsdWRlOlxuICAgKiAtIFNpemUgaWYgbm90IHNjYWxlZFxuICAgKiAtIFdlaWdodFxuICAgKiAtIFRyYWNraW5nXG4gICAqIC0gTGVhZGluZ1xuICAgKi9cbiAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1sYXJnZSk7XG4gICBAYXBwbHkgZm9udC1yb2JvdG8gZm9udC03MDAgbGVhZGluZy0xMDAgdXBwZXJjYXNlO1xufVxuXG4uaDQsXG4ucmljaC10ZXh0IGg0IHtcbiAgLyogSGVhZGluZyA0IHN0eWxlcyBleGNlcHQgZm9yIGNvbG9yLCBkaXNwbGF5IGFuZCBtYXJnaW5zXG4gICAqIEluY2x1ZGU6XG4gICAqIC0gU2l6ZSBpZiBub3Qgc2NhbGVkXG4gICAqIC0gV2VpZ2h0XG4gICAqIC0gVHJhY2tpbmdcbiAgICogLSBMZWFkaW5nXG4gICAqL1xufVxuXG4uaDUsXG4ucmljaC10ZXh0IGg1IHtcbiAgLyogSGVhZGluZyA1IHN0eWxlcyBleGNlcHQgZm9yIGNvbG9yLCBkaXNwbGF5IGFuZCBtYXJnaW5zXG4gICAqIEluY2x1ZGU6XG4gICAqIC0gU2l6ZSBpZiBub3Qgc2NhbGVkXG4gICAqIC0gV2VpZ2h0XG4gICAqIC0gVHJhY2tpbmdcbiAgICogLSBMZWFkaW5nXG4gICAqL1xufVxuXG4uaDYsXG4ucmljaC10ZXh0IGg2IHtcbiAgLyogSGVhZGluZyA2IHN0eWxlcyBleGNlcHQgZm9yIGNvbG9yLCBkaXNwbGF5IGFuZCBtYXJnaW5zXG4gICAqIEluY2x1ZGU6XG4gICAqIC0gU2l6ZSBpZiBub3Qgc2NhbGVkXG4gICAqIC0gV2VpZ2h0XG4gICAqIC0gVHJhY2tpbmdcbiAgICogLSBMZWFkaW5nXG4gICAqL1xufVxuXG4vKiBSaWNoIHRleHQgaHlwZXJsaW5rcyBhbmQgdGhvc2Ugd2hpY2ggYXJlIHN0eWxlZCBzaW1pbGFybHlcbiAgIFRoaXMgc2VsZWN0b3IgaXMgc2VwYXJhdGUgc28gdGhhdCBvdGhlciBsaW5rIHNlbGVjdG9yc1xuICAgY2FuIGJlIGFkZGVkIGlmIG5lY2Vzc2FyeS4gKi9cbi5jb250YWlucy1saW5rcyBhLCAuc3RhbmRhcmQtbGluayB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4wNjI1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDA7XG4gICY6aG92ZXIsIC5ncm91cDpob3ZlciAmIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjEyNXJlbTtcbiAgfVxufVxuXG4vKiBDaGFuZ2UgdGhpcyB0byByZXF1aXJlZCBoeXBlcmxpbmsgY29sb3JzIGFuZCBjcmVhdGUgdGhlXG4gICBhZGRpdGlvbmFsIGNvbG9yIHNlbGVjdG9ycyB0aGF0IHlvdSBuZWVkLiAqL1xuXG4ubGlua3MtYmxhY2sgYSwgLmJsYWNrLWxpbmsge1xuICBAYXBwbHkgdGV4dC1ibGFjayBib3JkZXItYmxhY2s7XG59XG5cbi8qIEluIG9yZGVyIHRvIHNlcGFyYXRlbHkgY29sb3IgbGlzdCBpdGVtIG1hcmtlcnNcbiAgIHdpdGhvdXQgYWNjZXNzIHRvIHRoZSA6Om1hcmtlciBwc2V1ZG8tZWxlbWVudCxcbiAgIHdlJ3JlIHJlY3JlYXRpbmcgdGhlbSB1c2luZyA6OmJlZm9yZS4gKi9cblxuLnJpY2gtdGV4dCA+IG9sLFxuLnJpY2gtdGV4dCA+IHVsLFxuLnJpY2gtdGV4dCA+IG9sIG9sLFxuLnJpY2gtdGV4dCA+IHVsIG9sLFxuLnJpY2gtdGV4dCA+IG9sIHVsLFxuLnJpY2gtdGV4dCA+IHVsIHVsLFxub2wuc3RhbmRhcmQtbGlzdCxcbnVsLnN0YW5kYXJkLWxpc3Qge1xuICAmID4gbGkge1xuICAgIEBhcHBseSBwLXJlbGF0aXZlIHBsLTI0O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAvKiBJZiBhIGJ1bGxldCBhbmQgbnVtYmVyIGNvbG9yIGlzIG5lZWRlZCxcbiAgICAgICAgIGFwcGx5IGl0IGhlcmUuICovXG4gICAgICBAYXBwbHkgcC1hYnNvbHV0ZSB0b3AtMCBsZWZ0LTA7XG4gICAgfVxuICB9XG59XG5cbi5yaWNoLXRleHQgPiBvbCxcbi5yaWNoLXRleHQgPiBvbCBvbCxcbi5yaWNoLXRleHQgPiB1bCBvbCxcbm9sLnN0YW5kYXJkLWxpc3QsXG4uc3RhbmRhcmQtbGlzdCBvbCB7XG4gIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG4gICYgPiBsaSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBpdGVtO1xuICAgICAgY29udGVudDogY291bnRlcihpdGVtKSAnLic7XG4gICAgfVxuICB9XG59XG5cbi5yaWNoLXRleHQgPiB1bCxcbi5yaWNoLXRleHQgPiBvbCB1bCxcbi5yaWNoLXRleHQgPiB1bCB1bCxcbi5zdGFuZGFyZC1saXN0IHVsLFxudWwuc3RhbmRhcmQtbGlzdCB7XG4gICYgPiBsaSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMjInO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qIFJpY2ggdGV4dCBhbmQgdHJlYXRtZW50IHN0eWxlcyB0aGF0IGFyZSBpZGVudGljYWwgdG8gaXQgKi9cbi5pbnRyby1jb3B5IHtcbiAgQGFwcGx5IGxlYWRpbmctMTUwO1xufVxuXG4vKiBSaWNoIHRleHQgYW5kIHRyZWF0bWVudCBzdHlsZXMgdGhhdCBhcmUgaWRlbnRpY2FsIHRvIGl0ICovXG4uYm9keS1jb3B5IHtcbiAgQGFwcGx5IGxlYWRpbmctMTUwO1xufVxuXG4ud2hpdGVzcGFjZS1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmJyZWFrLWtlZXAge1xuICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcbn0iLCIvKiAjIFJpY2ggdGV4dCBtb2R1bGVcbiAqXG4gKiBTdHlsZXMgcmljaCB0ZXh0IHRoYXQgYW4gYWRtaW5pc3RyYXRvciBjYW4gY3JlYXRlIHRocm91Z2ggdGhlIENNUyB1c2luZyBjb21tb25cbiAqIG1hcmt1cCBjb252ZW50aW9ucy5cbiAqXG4gKiBUaGlzIGlzIHdoZXJlIHlvdSBkZWZpbmUgdGhlIGFuY2VzdG9yIGNvbnRleHQgb2YgYWN0dWFsIHJpY2ggdGV4dCBlbGVtZW50cy5cbiAqXG4gKi9cblxuIC5yaWNoLXRleHQge1xuICAmID4gKiB7XG4gICAgQGFwcGx5IG15LTE2O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAYXBwbHkgbXQtMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGFwcGx5IG1iLTA7XG4gICAgfVxuICB9XG5cbiAgJiBoMixcbiAgJiBoNCxcbiAgJiBoNiB7XG4gICAgLyogQXBwbHkgaGVhZGluZyBjb2xvcnMgd2l0aGluIHJpY2ggdGV4dCBoZXJlLlxuICAgICAgIEhlYWRpbmdzIG9mdGVuIGFsdGVybmF0ZSBjb2xvciAqL1xuICB9XG5cbiAgJiBoMyxcbiAgJiBoNSB7XG4gICAgLyogQXBwbHkgaGVhZGluZyBjb2xvcnMgd2l0aGluIHJpY2ggdGV4dCBoZXJlLlxuICAgICAgIEhlYWRpbmdzIG9mdGVuIGFsdGVybmF0ZSBjb2xvciAqL1xuICB9XG5cbiAgJiAqICsgaDIsXG4gICYgKiArIGgzLFxuICAmICogKyBoNCxcbiAgJiAqICsgaDUsXG4gICYgKiArIGg2IHtcbiAgICAvKiBTcGFjaW5nIGZvciBoZWFkaW5ncyBpbiByaWNoIHRleHQgKi9cbiAgICBAYXBwbHkgbXQtNDA7XG4gIH1cblxuICAmIGltZyB7XG4gICAgQGFwcGx5IG1heC13LTEvMTtcbiAgICAmW3N0eWxlKj1cIm1heC13aWR0aFwiXSB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICY+YmxvY2txdW90ZSB7XG4gICAgLyogU2V0dXAgZm9yIGNvbW1vbiBibG9ja3F1b3RlIHN0eWxlIHdoaWNoXG4gICAgICAgaGFzIGxhcmdlLCBkZWNvcmF0ZWl2ZSBxdW90ZSBtYXJrcy4gQ2hhbmdlXG4gICAgICAgYXMgbmVlZGVkLiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiA4cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgQGFwcGx5IHBvaW50ZXItZXZlbnRzLW5vbmUgcC1hYnNvbHV0ZTtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgICBsZWZ0OiAtMS41cmVtO1xuICAgICAgdG9wOiAtMS43NXJlbTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogY2xvc2UtcXVvdGU7XG4gICAgICByaWdodDogLTAuNXJlbTtcbiAgICAgIGJvdHRvbTogLTMuNzVyZW07XG4gICAgfVxuICB9XG5cbn1cbiIsIkBpbXBvcnQgJ2NoaWxkLXR3ZW50eS10d2VudHktZml2ZS5jc3MnO1xuXG5AaW1wb3J0ICdodHRwczovL3VzZS50eXBla2l0Lm5ldC9peG8ybG1kLmNzcyc7XG4vKiBAaW1wb3J0ICdsZWdhY3kuY3NzJzsgKi9cblxuQGltcG9ydCAnZGlyZWN0aXZlcy90YWlsd2luZC5jc3MnO1xuXG5AaW1wb3J0ICdtYWluL2dsb2JhbC5jc3MnO1xuQGltcG9ydCAnbWFpbi90ZXh0LmNzcyc7XG5AaW1wb3J0ICdtYWluL3JpY2gtdGV4dC5jc3MnO1xuXG5AaW1wb3J0ICdibG9jay9idXR0b25zLnNjc3MnO1xuXG5AaW1wb3J0ICdzYXNzL3N0eWxlLnNjc3MnOyAgXG4iLCIvKiBwdXJnZWNzcyBzdGFydCBpZ25vcmUgKi9cblxuLmlzLXN0eWxlLWdvbGQtYnV0dG9uLCAuaXMtc3R5bGUtd2hpdGUtYnV0dG9uLCAuaXMtc3R5bGUtYmVpZ2UtYnV0dG9uLCAuaXMtc3R5bGUtZ3JlZW4tYnV0dG9uLCAuaXMtc3R5bGUtYmxhY2stYnV0dG9uIHtcbiBcdGEge1xuICAgIC8qIGZvbnQtd2VpZ2h0OiA3MDA7ICovXG4gICAgLyogbGV0dGVyLXNwYWNpbmc6IC4wNGVtOyAqL1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3JpZ2luYWwtY29sb3IpO1xuICAgIGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICB0ZXh0LXNoYWRvdzogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwIDAgNHB4LHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAwIDAgMTJweCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpIDFweCAxcHggNHB4LHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSA0cHggNHB4IDE2cHg7XG4gICAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tb3JpZ2luYWwtY29sb3IpIDQ1JSwgdHJhbnNwYXJlbnQpOyAqL1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1vcmlnaW5hbC1jb2xvcikgNDUlLCB3aGl0ZSk7XG5cbiAgICAgIGJveC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpIDAgM3B4IDE1cHggaW5zZXQsIHJnYmEoMCwgMCwgMCwgLjEpIDAgM3B4IDVweCwgcmdiYSgwLCAwLCAwLCAuMSkgMCAxMHB4IDEzcHg7XG4gICAgfVxuICB9XG59XG5cbi5pcy1zdHlsZS1iZWlnZS1idXR0b24geyBhIHsgLS1vcmlnaW5hbC1jb2xvcjogdGhlbWUoY29sb3JzLmJlaWdlKTsgfSB9XG4uaXMtc3R5bGUtZ29sZC1idXR0b24geyBhIHsgLS1vcmlnaW5hbC1jb2xvcjogdGhlbWUoY29sb3JzLmdvbGQgKTsgfSB9XG4uaXMtc3R5bGUtd2hpdGUtYnV0dG9uIHsgYSB7IC0tb3JpZ2luYWwtY29sb3I6IHRoZW1lKGNvbG9ycy53aGl0ZSk7ICY6aG92ZXIsICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiNmMWUxYzA7IH19IH0gXG4uaXMtc3R5bGUtZ3JlZW4tYnV0dG9uIHsgYSB7IC0tb3JpZ2luYWwtY29sb3I6IHRoZW1lKGNvbG9ycy5ncmVlbik7IGNvbG9yOiAjRkZGOyAmOmhvdmVyLCAmOmZvY3VzIHsgdGV4dC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC40KSAwIDAgNHB4LHJnYmEoMCwgMCwgMCwgMC4yKSAwIDAgMTJweCwgcmdiYSgwLCAwLCAwLCAwLjYpIDFweCAxcHggNHB4LHJnYmEoMCwgMCwgMCwgMC4zMikgNHB4IDRweCAxNnB4OyB9fSB9IFxuLmlzLXN0eWxlLWJsYWNrLWJ1dHRvbiB7IGEgeyAtLW9yaWdpbmFsLWNvbG9yOiB0aGVtZShjb2xvcnMuYmxhY2spOyBjb2xvcjogI0ZGRjsgJjpob3ZlciwgJjpmb2N1cyB7IHRleHQtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNCkgMCAwIDRweCxyZ2JhKDAsIDAsIDAsIDAuMikgMCAwIDEycHgsIHJnYmEoMCwgMCwgMCwgMC42KSAxcHggMXB4IDRweCxyZ2JhKDAsIDAsIDAsIDAuMzIpIDRweCA0cHggMTZweDsgfX0gfSBcblxuLndwLWJsb2NrLW5hdmlnYXRpb24gLndwLWJsb2NrLW5hdmlnYXRpb24taXRlbSAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtX19jb250ZW50ICB7IFxuICBhLCBzcGFuIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi53cC1ibG9jay1uYXZpZ2F0aW9uIHVsLCAud3AtYmxvY2stbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgLmRvbmF0ZS1idG4gYSB7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAtLW9yaWdpbmFsLWNvbG9yOiB0aGVtZShjb2xvcnMuZ29sZCApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3JpZ2luYWwtY29sb3IpO1xuICAgICAgY29sb3I6IHJnYigxNywgMTcsIDE3KTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtc2hhZG93OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAgMCA0cHgscmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDAgMCAxMnB4LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNikgMXB4IDFweCA0cHgscmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpIDRweCA0cHggMTZweDtcbiAgICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW9yaWdpbmFsLWNvbG9yKSA0NSUsIHRyYW5zcGFyZW50KTsgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1vcmlnaW5hbC1jb2xvcikgNDUlLCB3aGl0ZSk7XG5cbiAgICAgICAgYm94LXNoYWRvdzogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikgMCAzcHggMTVweCBpbnNldCwgcmdiYSgwLCAwLCAwLCAuMSkgMCAzcHggNXB4LCByZ2JhKDAsIDAsIDAsIC4xKSAwIDEwcHggMTNweDtcbiAgICAgIH1cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuXG4gICAgICBwYWRkaW5nOiA2cHggMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgIFxuXG4gICAgICAvLyB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG5cbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgYXV0bztcbiAgICAgIC8vIGJveC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpIDAgM3B4IDE1cHggaW5zZXQsIHJnYmEoMCwgMCwgMCwgLjEpIDAgM3B4IDVweCwgcmdiYSgwLCAwLCAwLCAuMSkgMCAxMHB4IDEzcHg7XG4gICAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNlMzcwMTcgMCUsICNmNGMwNzggIDUxJSwgI0YwOTgxOSAgMTAwJSk7XG5cbiAgICAgIC8vIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgLy8gYm9yZGVyLWNvbG9yOiAjYzc4ZDNhO1xuICAgICAgLy8gYm9yZGVyLXN0eWxlOiBzb2xpZDtcblxuICAgICAgLy8gJjpiZWZvcmUge1xuICAgICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgICAgLy8gICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2ZmZiAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICAgICAgLy8gICBib3JkZXItcmFkaXVzOiAxMjVweDtcbiAgICAgIC8vICAgY29udGVudDogXCJcIjtcbiAgICAgIC8vICAgaGVpZ2h0OiA1MCU7XG4gICAgICAvLyAgIGxlZnQ6IDQlO1xuICAgICAgLy8gICBvcGFjaXR5OiAuNTtcbiAgICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gICB0b3A6IDA7XG4gICAgICAvLyAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAvLyAgIHdpZHRoOiA5MiU7XG4gICAgICAvLyB9XG5cbiAgICAgIC8vICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgLy8gICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAvLyAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgLy8gICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgIC8vIH1cbiAgICB9XG59XG4uaW5zdGFncmFtLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgXG4gIGNvbG9yOiAjRkZGO1xuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi9pbWFnZXMvaW5zdGFncmFtLnN2ZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxufVxuZm9vdGVyIHtcbiAgYSB7XG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cbi8qIHB1cmdlY3NzIGVuZCBpZ25vcmUgKi8iLCIvKiBwdXJnZWNzcyBzdGFydCBpZ25vcmUgKi9cbiRjb250ZW50V2lkdGg6IDEyODBweDtcbiR3aWRlV2lkdGg6IDE0NDBweDtcblxuXG5ib2R5IHtcbiAgICAvKiBmb250LWZhbWlseTogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLW1vbnRzZXJyYXQpOyAqL1xuXG4gICAgaGVhZGVyIHtcbiAgICAgICAgLyogcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgKi9cbiAgICB9XG4gICAgLyogJi5hZG1pbi1iYXJ7XG4gICAgICAgIGhlYWRlcntcbiAgICAgICAgICAgIHRvcDozMnB4O1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKCBtYXgtd2lkdGg6IDc4MnB4ICl7XG4gICAgICAgICAgICAgICAgdG9wOjQ2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gKi9cbn1cblxuXG4vKiAucGFnZS1jb250ZW50e1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgID4qe1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250ZW50V2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmFsaWdud2lkZXtcbiAgICAgICAgbWF4LXdpZHRoOiAkd2lkZVdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyAgXG4gICAgfVxuXG4gICAgLmFsaWduZnVsbHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxufSAqL1xuXG5cbi8qIC5uby1qcy1tc2d7XG4gICAgZGlzcGxheTpibG9jazsgXG4gICAgcGFkZGluZzoxcmVtOyBcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn0gKi9cblxuZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLndwLXNpdGUtYmxvY2tzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb250YWluZXItc2hhZG93LCAud3AtYmxvY2stYWNjb3JkaW9uLWhlYWRpbmcsIGhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjphZnRlcntcbiAgICB6LWluZGV4OjIwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvdHRvbTotMTBweDtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLDAuMTUpIDEwMCUpO1xuICB9XG59XG5cblxuLyogQGltcG9ydCAncmVzcG9uc2l2ZS1vdmVycmlkZXMuc2Nzcyc7ICovXG4vKiBAaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbnMuc2Nzcyc7ICovXG4vKiBAaW1wb3J0ICdjb21wb25lbnRzL3Jlc2VhcmNoLWl0ZW0uc2Nzcyc7ICovXG4vKiBAaW1wb3J0ICdjb21wb25lbnRzL2RvbmF0aW9uLS1zZWN0aW9uLnNjc3MnOyAqL1xuXG4vKiBwdXJnZWNzcyBlbmQgaWdub3JlICovIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/