/* Version: 3.0.1, Git Hash: 023905b992a98816ece9c3b1d9f2fa2cc0f00594 */
/* import framework styles (base, elements, components, utilities) */
/* Version: 3.0.1, Git Hash: 023905b992a98816ece9c3b1d9f2fa2cc0f00594 */
/* Version: 3.0.1, Git Hash: 023905b992a98816ece9c3b1d9f2fa2cc0f00594 */
/*
define styles for class-less html tags
same use case as the official tailwind/typography plugin
but providing also utilities to apply these styles in other places or components
eg. reusing the style of an h2 tag in a card component
the definition here should pass the tailwind/typography example
located here: https://play.tailwindcss.com/uj1vGACRJA?layout=preview

classes defined as components to be easily overwritten with
default tailwind utility classes!
*/
/* Version: 3.0.1, Git Hash: 023905b992a98816ece9c3b1d9f2fa2cc0f00594 */
/* Version: 3.0.1, Git Hash: 023905b992a98816ece9c3b1d9f2fa2cc0f00594 */
/* @import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wdth,wght@0,62.5..100,100..900;1,62.5..100,100..900&display=swap"); */
/* latin-ext */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62.5% 100%;
  font-display: swap;
  src: url(fonts/notosans-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62.5% 100%;
  font-display: swap;
  src: url(fonts/notosans-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 62.5% 100%;
  font-display: swap;
  src: url(fonts/notosans-italic-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 62.5% 100%;
  font-display: swap;
  src: url(fonts/notosans-italic-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}
/* import your project specific styles */
/* @import "project.css"; */
/* import tailwind */
*, ::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.17 | 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: #e2e8f0; /* 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
*/
html,
: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: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 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.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
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.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  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.
*/
b,
strong {
  font-weight: bolder;
}
/*
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,
kbd,
samp,
pre {
  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.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
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.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
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,
optgroup,
select,
textarea {
  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.
*/
progress {
  vertical-align: baseline;
}
/*
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.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
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, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #94a3b8; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #94a3b8; /* 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,
video,
canvas,
audio,
iframe,
embed,
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,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #64748b;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}
[type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  color: #64748b;
  opacity: 1;
}
input::placeholder,textarea::placeholder {
  color: #64748b;
  opacity: 1;
}
::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}
::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}
::-webkit-datetime-edit {
  display: inline-flex;
}
::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}
select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
[multiple],[size]:where(select:not([size="1"])) {
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}
[type='checkbox'],[type='radio'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #64748b;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}
[type='checkbox'] {
  border-radius: 0px;
}
[type='radio'] {
  border-radius: 100%;
}
[type='checkbox']:focus,[type='radio']:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
[type='checkbox']:checked,[type='radio']:checked {
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
[type='checkbox']:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}
@media (forced-colors: active)  {
  [type='checkbox']:checked {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
[type='radio']:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}
@media (forced-colors: active)  {
  [type='radio']:checked {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus {
  border-color: transparent;
  background-color: currentColor;
}
[type='checkbox']:indeterminate {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media (forced-colors: active)  {
  [type='checkbox']:indeterminate {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus {
  border-color: transparent;
  background-color: currentColor;
}
[type='file'] {
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}
[type='file']:focus {
  outline: 1px solid ButtonText;
  outline: 1px auto -webkit-focus-ring-color;
}
.button {
    /* border - buttons should have an invisible border width, so that combining butttons with or without border do not affect alignment */
    /* inline-flex items-center justify-center gap-1 - allows centered placing of elements inside the button */
    /* whitespace-nowrap - lets text not wrap inside of the button */
    /* transition duration-150 ease-in-out - transiton styles fast between states */
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    --tw-bg-opacity: 1;
    background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
    color: rgb(15 23 42 / 0.95);
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    white-space: nowrap;
    border-radius: 0.25rem;
    border-width: 1px;
    border-color: transparent;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    vertical-align: middle;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-duration: 150ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }
.button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  color: rgb(15 23 42 / 0.95);
}
.button:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  color: rgb(15 23 42 / 0.95);
}
.button:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.button-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(41 62 136 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.button-primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(65 84 163 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.button-primary:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(65 84 163 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
/*
  classes to assign to single elements for a similar styling
  than pure html classes in a .typo block
  */
/* prefixed typo component classes */
/*
  you should define font size, line-height
  and letter-spacing in the tailwind config fontSize object
  see: https://tailwindcss.com/docs/font-size#providing-a-default-line-height
  */
.typo-base {
  text-wrap: pretty;
  font-family: Noto Sans, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
}
/* @apply text-xl font-bold; */
.typo-h3 {
  text-wrap: balance;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 500;
}
/* we do not provide h5/h6 as the original typo plugin */
/* Increase visibility of text */
/* Decrease visibility of text */
/* ordered list marker color */
.typo-ul {
  list-style-type: disc;
  padding-left: 1.5rem;
}
/* unordered list marker color */
.typo-ul > li::marker {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
/* apply styles to child elements with 'where' to keep the specifity low
    and allow overriding with other utility classes */
/*
  the typo class styles pur html tags inside of it
  like the prose class from tailwind typography plugin
  but based on the typo-* component styles
  we just add some margins to align everything
  see original tailwind typography styles
  */
/* apply a default margin to all child elements in typo */
/* TODO: AF is this a good idea? tailwind uses margins for each element */
.typo :where(*):not(
        :where(*:first-child),
        :where([class~="typo-reset"], [class~="typo-reset"] *)
      ) {
      margin-top: 1em;
    }
.typo :where(h1):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  text-wrap: balance;
  font-family: Noto Sans, sans-serif;
  font-size: 3rem;
  font-weight: 200;
  line-height: 1;
}
.typo :where(h1):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) + .typo-subline {
  margin-top: 0px;
}
.typo :where(h1):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
      margin-bottom: 0.75em;
    }
.typo :where(h1):not(:where([class~="typo-reset"], [class~="typo-reset"] *)):not(:where(:first-child)) {
        margin-top: 2em;
      }
.typo :where(h2):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  text-wrap: balance;
  font-family: Noto Sans, sans-serif;
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 300;
  line-height: 1;
}
.typo :where(h2):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) + .typo-subline {
  margin-top: 0px;
}
.typo :where(h2):not(:where([class~="typo-reset"], [class~="typo-reset"] *)):not(:where(:first-child)) {
        margin-top: 1.5em;
      }
.typo :where(.typo-eyebrow):not(
        :where([class~="typo-reset"], [class~="typo-reset"] *)
      ) {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.typo :where(.typo-eyebrow + *):not(
        :where([class~="typo-reset"], [class~="typo-reset"] *)
      ) {
      margin-top: 0;
    }
.typo :where(.typo-subline):not(
        :where([class~="typo-reset"], [class~="typo-reset"] *)
      ) {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.typo :where(h3):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  text-wrap: balance;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 500;
}
.typo :where(h4):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  text-wrap: balance;
  font-weight: 500;
}
.typo :where(a):not(.button):not(
        :where([class~="typo-reset"], [class~="typo-reset"] *)
      ) {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(85 103 187 / var(--tw-text-opacity, 1));
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.typo :where(a):not(.button):not(
        :where([class~="typo-reset"], [class~="typo-reset"] *)
      ):hover {
  text-decoration-line: underline;
}
.typo :where(mark):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
      /* creates a tinted background slightly larger than the mark element */
      position: relative;
      isolation: isolate;
      background-color: transparent;
    }
.typo :where(mark):not(:where([class~="typo-reset"], [class~="typo-reset"] *)):before {
  position: absolute;
  inset: -0.125rem;
  z-index: -10;
  background-color: rgb(202 203 214 / 0.7);
  --tw-content: '';
  content: var(--tw-content);
}
.typo :where(kbd):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  border-radius: 0.125rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75em;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 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);
}
.typo :where(ol):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  list-style-type: decimal;
  padding-left: 1.5rem;
}
.typo :where(ol):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) > li::marker {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.typo :where(ul):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  list-style-type: disc;
  padding-left: 1.5rem;
}
.typo :where(ul):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) > li::marker {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.typo :where(figcaption):not(
        :where([class~="typo-reset"], [class~="typo-reset"] *)
      ) {
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
  margin-top: 0.5rem;
}
.typo :where(blockquote):not(
        :where([class~="typo-reset"], [class~="typo-reset"] *)
      ) {
      /* use border-inherit so you can define the border color on the parent element */
      margin-top: 2rem;
      margin-bottom: 2rem;
      text-wrap: balance;
      border-left-width: 4px;
      border-color: inherit;
      padding-left: 1rem;
      padding-right: 1rem;
      font-size: 1.875rem;
      line-height: 2.25rem;
      /* font-family: "Kalam", cursive; */
      font-family: Noto Sans, sans-serif;
      font-weight: 300;
      font-style: normal;
    }
.typo :where(pre):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  overflow-x: auto;
  border-radius: 0.125rem;
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
  padding: 1rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.typo :where(code):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.875em;
  font-weight: 700;
}
.typo :where(hr):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  margin-top: 2rem;
  margin-bottom: 2rem;
  border-color: rgb(148 163 184 / 0.75);
}
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) {
  margin-bottom: 2rem;
}
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) :where(thead, tbody, tfoot, tr) {
        /* allows defining a border color on the table to cascade thru all elements */
        border-color: inherit;
      }
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) :where(thead) {
        /* add a thick border to the bottom */
        border-bottom-width: 2px;
      }
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) :where(tbody) {
        /* add a thin border between all rows */
      }
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) :where(tbody) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) :where(tfoot) {
        /* add a thick border to the bottom */
        border-top-width: 2px;
      }
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) :where(th, td) {
        text-align: inherit;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
      }
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) :where(th, td):first-child {
  padding-left: 0px;
}
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) :where(th, td):last-child {
  padding-right: 0px;
}
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) :where(th) {
  font-weight: 700;
}
.typo :where(table):not(:where([class~="typo-reset"], [class~="typo-reset"] *)) :where(caption) {
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
  margin-top: 0.5rem;
  caption-side: bottom;
  text-align: start;
}
.colorway-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(248 250 252 / var(--tw-text-opacity, 1));
}
.colorway-gray-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(248 250 252 / var(--tw-text-opacity, 1));
}
.colorway-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(248 250 252 / var(--tw-text-opacity, 1));
}
.content-grid {
    --content-max-width: 42rem;
    --breakout-max-width: 58rem;
    --_breakout-size: calc(
      (var(--breakout-max-width) - var(--content-max-width)) / 2
    );
    display: grid;
    grid-template-columns:
      [full-start margin-left-start full-left-start]
      minmax(0, 1fr)
      [breakout-start]
      minmax(0, var(--_breakout-size))
      [margin-left-end full-right-start content-start]
      min(var(--content-max-width), 100%)
      [content-end full-left-end margin-right-start]
      minmax(0, var(--_breakout-size))
      [breakout-end]
      minmax(0, 1fr)
      [full-right-end margin-right-end full-end];
  }
.content-grid > * {
    grid-column: content;
  }
.content-grid-breakout {
    grid-column: breakout;
  }
.content-grid-full {
    grid-column: full;
  }
/* forms */
.input {
  border-radius: 0.25rem;
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.input:focus {
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.input-checkbox {
  border-radius: 0.25rem;
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.input-checkbox:focus {
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.input-checkbox {
  margin-right: 0.25rem;
  --tw-text-opacity: 1;
  color: rgb(41 62 136 / var(--tw-text-opacity, 1));
}
.label {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  display: block;
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.field .error {
  display: none;
}
.field.has-error .error {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  display: block;
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.formError {
  display: none;
}
.static {
  position: static;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.bottom-2 {
  bottom: 0.5rem;
}
.end {
  inset-inline-end: 1rem;
}
.left {
  left: 1rem;
}
.right {
  right: 1rem;
}
.right-0 {
  right: 0px;
}
.right-2 {
  right: 0.5rem;
}
.start {
  inset-inline-start: 1rem;
}
.top-0 {
  top: 0px;
}
.z-50 {
  z-index: 50;
}
.m {
  margin: 1rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-16 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-auto {
  margin-left: auto;
}
.mt-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-4 {
  margin-top: 1rem;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.flex {
  display: flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.aspect-\[5\/2\] {
  aspect-ratio: 5/2;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.size {
  width: 1rem;
  height: 1rem;
}
.size-8 {
  width: 2rem;
  height: 2rem;
}
.h {
  height: 1rem;
}
.h-full {
  height: 100%;
}
.min-h-\[100dvh\] {
  min-height: 100dvh;
}
.min-h-\[12rem\] {
  min-height: 12rem;
}
.min-h-screen {
  min-height: 100vh;
}
.w {
  width: 1rem;
}
.w-16 {
  width: 4rem;
}
.w-24 {
  width: 6rem;
}
.w-52 {
  width: 13rem;
}
.w-full {
  width: 100%;
}
.max-w-24 {
  max-width: 6rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-64 {
  max-width: 16rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-screen-xs {
  max-width: 480px;
}
.flex-1 {
  flex: 1 1 0%;
}
.grow {
  flex-grow: 1;
}
.list-disc {
  list-style-type: disc;
}
.columns-1 {
  -moz-columns: 1;
       columns: 1;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.items-center {
  align-items: center;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-4 {
  gap: 1rem;
}
.gap-8 {
  gap: 2rem;
}
.space-x-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(2rem * var(--tw-space-x-reverse));
  margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.place-self-end {
  place-self: end;
}
.justify-self-start {
  justify-self: start;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-y-scroll {
  overflow-y: scroll;
}
.text-nowrap {
  text-wrap: nowrap;
}
.text-balance {
  text-wrap: balance;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-gray-500 {
  --tw-gradient-from: #64748b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-500\/80 {
  --tw-gradient-from: rgb(100 116 139 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-700\/95 {
  --tw-gradient-from: rgb(51 65 85 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(51 65 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-gray-500\/80 {
  --tw-gradient-to: rgb(100 116 139 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(100 116 139 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-gray-700 {
  --tw-gradient-to: #334155 var(--tw-gradient-to-position);
}
.to-gray-700\/50 {
  --tw-gradient-to: rgb(51 65 85 / 0.5) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.p {
  padding: 1rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-4 {
  padding: 1rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pt-20 {
  padding-top: 5rem;
}
.pt-4 {
  padding-top: 1rem;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold {
  font-weight: 700;
}
.font-light {
  font-weight: 300;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.italic {
  font-style: italic;
}
.not-italic {
  font-style: normal;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-relaxed {
  line-height: 1.625;
}
.text-brand {
  --tw-text-opacity: 1;
  color: rgb(41 62 136 / var(--tw-text-opacity, 1));
}
.text-gray-100 {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.text-gray-200 {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-neutral-100\/75 {
  color: rgb(245 245 245 / 0.75);
}
.text-neutral-200 {
  --tw-text-opacity: 1;
  color: rgb(229 229 229 / var(--tw-text-opacity, 1));
}
.text-neutral-400 {
  --tw-text-opacity: 1;
  color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}
.text-primary {
  --tw-text-opacity: 1;
  color: rgb(41 62 136 / var(--tw-text-opacity, 1));
}
.text-primary-900 {
  --tw-text-opacity: 1;
  color: rgb(32 43 89 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.opacity-80 {
  opacity: 0.8;
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 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);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.\[--breakout-max-width\:78rem\] {
  --breakout-max-width: 78rem;
}
.\[--content-max-width\:48rem\] {
  --content-max-width: 48rem;
}
.\[grid-template-areas\:\'layer\'\] {
  grid-template-areas: 'layer';
}
.\*\:\[grid-area\:layer\] > * {
  grid-area: layer;
}
.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  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));
}
.hover\:text-gray-100:hover {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.hover\:text-primary-900:hover {
  --tw-text-opacity: 1;
  color: rgb(32 43 89 / var(--tw-text-opacity, 1));
}
.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
@media (min-width: 640px) {
  .sm\:w-2\/3 {
    width: 66.666667%;
  }
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:flex-row {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .md\:bottom-12 {
    bottom: 3rem;
  }
  .md\:right-12 {
    right: 3rem;
  }
  .md\:flex {
    display: flex;
  }
  .md\:hidden {
    display: none;
  }
  .md\:w-36 {
    width: 9rem;
  }
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .lg\:columns-2 {
    -moz-columns: 2;
         columns: 2;
  }
  .lg\:gap-8 {
    gap: 2rem;
  }
  .lg\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9jc3MvbWFpbi5jc3MiLCJzcmMvY3NzL2J1dHRvbi5jc3MiLCJzcmMvY3NzL3R5cG8uY3NzIiwic3JjL2Nzcy9jb2xvcndheXMuY3NzIiwic3JjL2Nzcy9jb250ZW50LWdyaWQuY3NzIiwic3JjL2Nzcy9mb3JtLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FDRHBFLHVFQUF1RTtBQ0F2RSx1RUFBdUU7QUFDdkU7Ozs7Ozs7Ozs7Q0FVQztBQ1hELHVFQUF1RTtBQ0F2RSx1RUFBdUU7QUpPdkUsNklBQTZJO0FBQzdJLGNBQWM7QUFDZDtFQUNFLHdCQUF3QjtFQUN4QixrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQUN4QixrQkFBa0I7RUFDbEIsd0RBQXdEO0VBQ3hEOzs4REFFNEQ7QUFDOUQ7QUFDQSxVQUFVO0FBQ1Y7RUFDRSx3QkFBd0I7RUFDeEIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQix3QkFBd0I7RUFDeEIsa0JBQWtCO0VBQ2xCLG9EQUFvRDtFQUNwRDs7a0NBRWdDO0FBQ2xDO0FBQ0EsY0FBYztBQUNkO0VBQ0Usd0JBQXdCO0VBQ3hCLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsd0JBQXdCO0VBQ3hCLGtCQUFrQjtFQUNsQiwrREFBK0Q7RUFDL0Q7OzhEQUU0RDtBQUM5RDtBQUNBLFVBQVU7QUFDVjtFQUNFLHdCQUF3QjtFQUN4QixrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQUN4QixrQkFBa0I7RUFDbEIsMkRBQTJEO0VBQzNEOztrQ0FFZ0M7QUFDbEM7QUFFQSx3Q0FBd0M7QUFDeEMsMkJBQTJCO0FBRTNCLG9CQUFvQjtBQUNwQjtFQUFBLHdCQUFjO0VBQWQsd0JBQWM7RUFBZCxtQkFBYztFQUFkLG1CQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsZUFBYztFQUFkLGVBQWM7RUFBZCxhQUFjO0VBQWQsYUFBYztFQUFkLGtCQUFjO0VBQWQsc0NBQWM7RUFBZCw4QkFBYztFQUFkLDZCQUFjO0VBQWQsNEJBQWM7RUFBZCxlQUFjO0VBQWQsb0JBQWM7RUFBZCxzQkFBYztFQUFkLHVCQUFjO0VBQWQsd0JBQWM7RUFBZCxrQkFBYztFQUFkLDJCQUFjO0VBQWQsNEJBQWM7RUFBZCxzQ0FBYztFQUFkLGtDQUFjO0VBQWQsMkJBQWM7RUFBZCxzQkFBYztFQUFkLDhCQUFjO0VBQWQsWUFBYztFQUFkLGtCQUFjO0VBQWQsZ0JBQWM7RUFBZCxpQkFBYztFQUFkLGtCQUFjO0VBQWQsY0FBYztFQUFkLGdCQUFjO0VBQWQsYUFBYztFQUFkLG1CQUFjO0VBQWQscUJBQWM7RUFBZCwyQkFBYztFQUFkLHlCQUFjO0VBQWQsMEJBQWM7RUFBZCwyQkFBYztFQUFkLHVCQUFjO0VBQWQsd0JBQWM7RUFBZCx5QkFBYztFQUFkLHNCQUFjO0VBQWQsb0JBQWM7RUFBZCxzQkFBYztFQUFkLHFCQUFjO0VBQWQ7QUFBYztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQsc0JBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQscUJBQWM7RUFBZDtBQUFjO0FBQWQsa0VBQWM7QUFBZDs7O0NBQWM7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTtBQUFkOztFQUFBLGdCQUFjO0FBQUE7QUFBZDs7Ozs7Ozs7Q0FBYztBQUFkOztFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLCtIQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztFQUFkLHdDQUFjLEVBQWQsTUFBYztBQUFBO0FBQWQ7OztDQUFjO0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBO0FBQWQ7Ozs7Q0FBYztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTtBQUFkOztDQUFjO0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTtBQUFkOztDQUFjO0FBQWQ7RUFBQSxjQUFjO0VBQWQsd0JBQWM7QUFBQTtBQUFkOztDQUFjO0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTtBQUFkOzs7OztDQUFjO0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDtFQUFBLGNBQWM7QUFBQTtBQUFkOztDQUFjO0FBQWQ7O0VBQUEsY0FBYztFQUFkLGNBQWM7RUFBZCxrQkFBYztFQUFkLHdCQUFjO0FBQUE7QUFBZDtFQUFBLGVBQWM7QUFBQTtBQUFkO0VBQUEsV0FBYztBQUFBO0FBQWQ7Ozs7Q0FBYztBQUFkO0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7RUFBZCx5QkFBYyxFQUFkLE1BQWM7QUFBQTtBQUFkOzs7O0NBQWM7QUFBZDs7Ozs7RUFBQSxvQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQ0FBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLHVCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQsU0FBYyxFQUFkLE1BQWM7RUFBZCxVQUFjLEVBQWQsTUFBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDs7RUFBQSxvQkFBYztBQUFBO0FBQWQ7OztDQUFjO0FBQWQ7Ozs7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTtBQUFkOztDQUFjO0FBQWQ7RUFBQSxhQUFjO0FBQUE7QUFBZDs7Q0FBYztBQUFkO0VBQUEsZ0JBQWM7QUFBQTtBQUFkOztDQUFjO0FBQWQ7RUFBQSx3QkFBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDs7RUFBQSxZQUFjO0FBQUE7QUFBZDs7O0NBQWM7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDtFQUFBLHdCQUFjO0FBQUE7QUFBZDs7O0NBQWM7QUFBZDtFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLGFBQWMsRUFBZCxNQUFjO0FBQUE7QUFBZDs7Q0FBYztBQUFkO0VBQUEsa0JBQWM7QUFBQTtBQUFkOztDQUFjO0FBQWQ7Ozs7Ozs7Ozs7Ozs7RUFBQSxTQUFjO0FBQUE7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7QUFBZDtFQUFBLFVBQWM7QUFBQTtBQUFkOzs7RUFBQSxnQkFBYztFQUFkLFNBQWM7RUFBZCxVQUFjO0FBQUE7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDtFQUFBLGdCQUFjO0FBQUE7QUFBZDs7O0NBQWM7QUFBZDtFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTtBQUFkOztFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTtBQUFkOztDQUFjO0FBQWQ7O0VBQUEsZUFBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDtFQUFBLGVBQWM7QUFBQTtBQUFkOzs7O0NBQWM7QUFBZDs7Ozs7Ozs7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDs7RUFBQSxlQUFjO0VBQWQsWUFBYztBQUFBO0FBQWQsd0VBQWM7QUFBZDtFQUFBLGFBQWM7QUFBQTtBQUFkO0VBQUEsd0JBQWM7S0FBZCxxQkFBYztVQUFkLGdCQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxtQkFBYztFQUFkLHNCQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGVBQWM7RUFBZCxtQkFBYztFQUFkLHNCQUFjO0FBQUE7QUFBZDtFQUFBLDhCQUFjO0VBQWQsbUJBQWM7RUFBZCw0Q0FBYztFQUFkLDJCQUFjO0VBQWQsNEJBQWM7RUFBZCx3QkFBYztFQUFkLDJHQUFjO0VBQWQseUdBQWM7RUFBZCxpRkFBYztFQUFkO0FBQWM7QUFBZDtFQUFBLGNBQWM7RUFBZDtBQUFjO0FBQWQ7RUFBQSxjQUFjO0VBQWQ7QUFBYztBQUFkO0VBQUE7QUFBYztBQUFkO0VBQUEsaUJBQWM7RUFBZDtBQUFjO0FBQWQ7RUFBQTtBQUFjO0FBQWQ7RUFBQSxjQUFjO0VBQWQ7QUFBYztBQUFkO0VBQUEsbVBBQWM7RUFBZCx3Q0FBYztFQUFkLDRCQUFjO0VBQWQsNEJBQWM7RUFBZCxxQkFBYztFQUFkLGlDQUFjO1VBQWQ7QUFBYztBQUFkO0VBQUEseUJBQWM7RUFBZCw0QkFBYztFQUFkLHdCQUFjO0VBQWQsd0JBQWM7RUFBZCxzQkFBYztFQUFkLGlDQUFjO1VBQWQ7QUFBYztBQUFkO0VBQUEsd0JBQWM7S0FBZCxxQkFBYztVQUFkLGdCQUFjO0VBQWQsVUFBYztFQUFkLGlDQUFjO1VBQWQseUJBQWM7RUFBZCxxQkFBYztFQUFkLHNCQUFjO0VBQWQsNkJBQWM7RUFBZCx5QkFBYztLQUFkLHNCQUFjO1VBQWQsaUJBQWM7RUFBZCxjQUFjO0VBQWQsWUFBYztFQUFkLFdBQWM7RUFBZCxjQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGlCQUFjO0VBQWQ7QUFBYztBQUFkO0VBQUE7QUFBYztBQUFkO0VBQUE7QUFBYztBQUFkO0VBQUEsOEJBQWM7RUFBZCxtQkFBYztFQUFkLDRDQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHdCQUFjO0VBQWQsMkdBQWM7RUFBZCx5R0FBYztFQUFkO0FBQWM7QUFBZDtFQUFBLHlCQUFjO0VBQWQsOEJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQ7QUFBYztBQUFkO0VBQUEsc1FBQWM7QUFBQTtBQUFkO0VBQUE7SUFBQSx3QkFBYztPQUFkLHFCQUFjO1lBQWQ7RUFBYztBQUFBO0FBQWQ7RUFBQSxvS0FBYztBQUFBO0FBQWQ7RUFBQTtJQUFBLHdCQUFjO09BQWQscUJBQWM7WUFBZDtFQUFjO0FBQUE7QUFBZDtFQUFBLHlCQUFjO0VBQWQ7QUFBYztBQUFkO0VBQUEsdU9BQWM7RUFBZCx5QkFBYztFQUFkLDhCQUFjO0VBQWQsMEJBQWM7RUFBZCwyQkFBYztFQUFkLDRCQUFjO0FBQUE7QUFBZDtFQUFBO0lBQUEsd0JBQWM7T0FBZCxxQkFBYztZQUFkO0VBQWM7QUFBQTtBQUFkO0VBQUEseUJBQWM7RUFBZDtBQUFjO0FBQWQ7RUFBQSxpQkFBYztFQUFkLHFCQUFjO0VBQWQsZUFBYztFQUFkLGdCQUFjO0VBQWQsVUFBYztFQUFkLGdCQUFjO0VBQWQ7QUFBYztBQUFkO0VBQUEsNkJBQWM7RUFBZDtBQUFjO0FDM0RaO0lBQ0Usc0lBQXNJO0lBQ3RJLDBHQUEwRztJQUMxRyxnRUFBZ0U7SUFDaEUsK0VBQStFO0lBQy9FLG1CQUFpUztJQUFqUyxvQkFBaVM7SUFBalMsZ0JBQWlTO0lBQWpTLGtCQUFpUztJQUFqUyw0REFBaVM7SUFBalMsMkJBQWlTO0lBQWpTLG9CQUFpUztJQUFqUyxlQUFpUztJQUFqUyxtQkFBaVM7SUFBalMsdUJBQWlTO0lBQWpTLFlBQWlTO0lBQWpTLG1CQUFpUztJQUFqUyxzQkFBaVM7SUFBalMsaUJBQWlTO0lBQWpTLHlCQUFpUztJQUFqUyxvQkFBaVM7SUFBalMscUJBQWlTO0lBQWpTLG1CQUFpUztJQUFqUyxzQkFBaVM7SUFBalMsc0JBQWlTO0lBQWpTLGdLQUFpUztJQUFqUyx3SkFBaVM7SUFBalMsaUxBQWlTO0lBQWpTLDBCQUFpUztJQUFqUyx3REFBaVM7RUFzQm5TO0FBdEJFO0VBQUEsa0JBQWlTO0VBQWpTLDREQUFpUztFQUFqUztBQUFpUztBQUFqUztFQUFBLGtCQUFpUztFQUFqUyw0REFBaVM7RUFBalM7QUFBaVM7QUFBalM7RUFBQSxvQkFBaVM7RUFBalM7QUFBaVM7QUFRL1I7RUFBQSxrQkFBeUY7RUFBekYsMERBQXlGO0VBQXpGLG9CQUF5RjtFQUF6RjtBQUF5RjtBQUF6RjtFQUFBLGtCQUF5RjtFQUF6RiwwREFBeUY7RUFBekYsb0JBQXlGO0VBQXpGO0FBQXlGO0FBQXpGO0VBQUEsa0JBQXlGO0VBQXpGLDBEQUF5RjtFQUF6RixvQkFBeUY7RUFBekY7QUFBeUY7QUNEN0Y7OztHQUdDO0FBRUQsb0NBQW9DO0FBQ3BDOzs7O0dBSUM7QUFHRztFQUFBLGlCQUFzQztFQUF0QyxrQ0FBc0M7RUFBdEMsZUFBc0M7RUFBdEM7QUFBc0M7QUFvQnRDLDhCQUE4QjtBQVM5QjtFQUFBLGtCQUF1QztFQUF2QyxrQkFBdUM7RUFBdkMsb0JBQXVDO0VBQXZDO0FBQXVDO0FBS3pDLHdEQUF3RDtBQUl4RCxnQ0FBZ0M7QUFJaEMsZ0NBQWdDO0FBbUI5Qiw4QkFBOEI7QUFNOUI7RUFBQSxxQkFBcUI7RUFBckI7QUFBcUI7QUFDckIsZ0NBQWdDO0FBRTlCO0VBQUEsb0JBQW9CO0VBQXBCO0FBQW9CO0FBNkJ0QjtxREFDK0M7QUE4Qm5EOzs7Ozs7R0FNQztBQUdDLHlEQUF5RDtBQUN6RCx5RUFBeUU7QUFDekU7Ozs7TUFJRSxlQUFlO0lBQ2pCO0FBRUU7RUFBQSxrQkFBYztFQUFkLGtDQUFjO0VBQWQsZUFBYztFQUFkLGdCQUFjO0VBQWQ7QUFBYztBQUFkO0VBQUE7QUFBYztBQURoQjtNQUVFLHFCQUFxQjtJQUl2QjtBQUhFO1FBQ0UsZUFBZTtNQUNqQjtBQUdBO0VBQUEsa0JBQWM7RUFBZCxrQ0FBYztFQUFkLG1CQUFjO0VBQWQsb0JBQWM7RUFBZCxnQkFBYztFQUFkO0FBQWM7QUFBZDtFQUFBO0FBQWM7QUFDZDtRQUNFLGlCQUFpQjtNQUNuQjtBQUtBOzs7RUFBQSxvQkFBb0I7RUFBcEI7QUFBb0I7QUFFdEI7OztNQUdFLGFBQWE7SUFDZjtBQUlFOzs7RUFBQSxvQkFBb0I7RUFBcEI7QUFBb0I7QUFHcEI7RUFBQSxrQkFBYztFQUFkLGtCQUFjO0VBQWQsb0JBQWM7RUFBZDtBQUFjO0FBR2Q7RUFBQSxrQkFBYztFQUFkO0FBQWM7QUFLZDs7O0VBQUEsZ0JBQWdCO0VBQWhCLG9CQUFnQjtFQUFoQixrREFBZ0I7RUFBaEIsOEJBQWdCO0VBQWhCO0FBQWdCO0FBQWhCOzs7RUFBQTtBQUFnQjtBQUdoQjtNQUFBLHNFQUFnQjtNQUFoQixrQkFBZ0I7TUFBaEIsa0JBQWdCO01BQWhCLDZCQUFnQjtJQUFBO0FBQWhCO0VBQUEsa0JBQWdCO0VBQWhCLGdCQUFnQjtFQUFoQixZQUFnQjtFQUFoQix3Q0FBZ0I7RUFBaEIsZ0JBQWdCO0VBQWhCO0FBQWdCO0FBR2hCO0VBQUEsdUJBQWU7RUFBZixpQkFBZTtFQUFmLHNCQUFlO0VBQWYsNERBQWU7RUFBZixzRUFBZTtFQUFmLHlEQUFlO0VBQWYscUVBQWU7RUFBZixtRUFBZTtFQUFmLHdEQUFlO0VBQWYsb0JBQWU7RUFBZixxQkFBZTtFQUFmLG9CQUFlO0VBQWYsdUJBQWU7RUFBZixpQkFBZTtFQUFmLDBDQUFlO0VBQWYsdURBQWU7RUFBZjtBQUFlO0FBR2Y7RUFBQSx3QkFBYztFQUFkO0FBQWM7QUFBZDtFQUFBLG9CQUFjO0VBQWQ7QUFBYztBQUdkO0VBQUEscUJBQWM7RUFBZDtBQUFjO0FBQWQ7RUFBQSxvQkFBYztFQUFkO0FBQWM7QUFLZDs7O0VBQUEsbUJBQTJCO0VBQTNCLG9CQUEyQjtFQUEzQixvQkFBMkI7RUFBM0IsbURBQTJCO0VBQTNCO0FBQTJCO0FBSzNCOzs7TUFBQSxnRkFBc0I7TUFBdEIsZ0JBQXNCO01BQXRCLG1CQUFzQjtNQUF0QixrQkFBc0I7TUFBdEIsc0JBQXNCO01BQXRCLHFCQUFzQjtNQUF0QixrQkFBc0I7TUFBdEIsbUJBQXNCO01BQXRCLG1CQUFzQjtNQUF0QixvQkFBc0I7TUFBdEIsbUNBQXNCO01BQXRCLGtDQUFzQjtNQUF0QixnQkFBc0I7TUFBdEIsa0JBQXNCO0lBQUE7QUFHdEI7RUFBQSxnQkFBZTtFQUFmLHVCQUFlO0VBQWYsa0JBQWU7RUFBZiw0REFBZTtFQUFmLGFBQWU7RUFBZiwrR0FBZTtFQUFmLGtCQUFlO0VBQWYsb0JBQWU7RUFBZjtBQUFlO0FBR2Y7RUFBQSwrR0FBZ0I7RUFBaEIsa0JBQWdCO0VBQWhCO0FBQWdCO0FBR2hCO0VBQUEsZ0JBQWM7RUFBZCxtQkFBYztFQUFkO0FBQWM7QUFHZDtFQUFBO0FBQWlCO0FBQWpCO1FBQUEsNkVBQWlCO1FBQWpCLHFCQUFpQjtNQUFBO0FBQWpCO1FBQUEscUNBQWlCO1FBQWpCLHdCQUFpQjtNQUFBO0FBQWpCO1FBQUEsdUNBQWlCO01BQUE7QUFBakI7RUFBQSx3QkFBaUI7RUFBakIsa0VBQWlCO0VBQWpCO0FBQWlCO0FBQWpCO1FBQUEscUNBQWlCO1FBQWpCLHFCQUFpQjtNQUFBO0FBQWpCO1FBQUEsbUJBQWlCO1FBQWpCLHFCQUFpQjtRQUFqQixzQkFBaUI7UUFBakIsbUJBQWlCO1FBQWpCLHNCQUFpQjtNQUFBO0FBQWpCO0VBQUE7QUFBaUI7QUFBakI7RUFBQTtBQUFpQjtBQUFqQjtFQUFBO0FBQWlCO0FBQWpCO0VBQUEsbUJBQWlCO0VBQWpCLG9CQUFpQjtFQUFqQixvQkFBaUI7RUFBakIsbURBQWlCO0VBQWpCLGtCQUFpQjtFQUFqQixvQkFBaUI7RUFBakI7QUFBaUI7QUM1Tm5CO0VBQUEsa0JBQStCO0VBQS9CLDREQUErQjtFQUEvQixvQkFBK0I7RUFBL0I7QUFBK0I7QUFHL0I7RUFBQSxrQkFBK0I7RUFBL0IsMERBQStCO0VBQS9CLG9CQUErQjtFQUEvQjtBQUErQjtBQUcvQjtFQUFBLGtCQUErQjtFQUEvQix5REFBK0I7RUFBL0Isb0JBQStCO0VBQS9CO0FBQStCO0FDN0JqQztJQUNFLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0I7O0tBRUM7SUFDRCxhQUFhO0lBQ2I7Ozs7Ozs7Ozs7O2dEQVc0QztFQUM5QztBQUNBO0lBQ0Usb0JBQW9CO0VBQ3RCO0FBQ0E7SUFDRSxxQkFBcUI7RUFDdkI7QUFDQTtJQUNFLGlCQUFpQjtFQUNuQjtBQzVCQSxVQUFVO0FBRVI7RUFBQSxzQkFBc0Q7RUFBdEQsc0JBQXNEO0VBQXREO0FBQXNEO0FBQXREO0VBQUEsc0JBQXNEO0VBQXREO0FBQXNEO0FBSXREO0VBQUEsc0JBQTRCO0VBQTVCLHNCQUE0QjtFQUE1QjtBQUE0QjtBQUE1QjtFQUFBLHNCQUE0QjtFQUE1QjtBQUE0QjtBQUE1QjtFQUFBLHFCQUE0QjtFQUE1QixvQkFBNEI7RUFBNUI7QUFBNEI7QUFJNUI7RUFBQSxtQkFBZ0M7RUFBaEMsc0JBQWdDO0VBQWhDLGNBQWdDO0VBQWhDLG9CQUFnQztFQUFoQztBQUFnQztBQUs5QjtFQUFBO0FBQWE7QUFLWDtFQUFBLG1CQUE4QjtFQUE5QixzQkFBOEI7RUFBOUIsY0FBOEI7RUFBOUIsb0JBQThCO0VBQTlCO0FBQThCO0FBTWxDO0VBQUE7QUFBYTtBTG1DakI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZ0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsZUFBbUI7T0FBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQixvREFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsK0RBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLDhEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQiw0REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEseUVBQW1CO0VBQW5CLGtFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtLQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsNkVBQW1CO0VBQW5CLGlHQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDBDQUFtQjtFQUFuQix1REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxnRkFBbUI7RUFBbkIsb0dBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO0VBQW5CLCtRQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGdLQUFtQjtFQUFuQix3SkFBbUI7RUFBbkIsaUxBQW1CO0VBQW5CLHdEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQS9EbkI7RUFBQTtBQWdFQTtBQWhFQTtFQUFBLGtCQWdFQTtFQWhFQSxrQkFnRUE7RUFoRUE7QUFnRUE7QUFoRUE7RUFBQSxvQkFnRUE7RUFoRUE7QUFnRUE7QUFoRUE7RUFBQSxvQkFnRUE7RUFoRUE7QUFnRUE7QUFoRUE7RUFBQSwrRUFnRUE7RUFoRUEsbUdBZ0VBO0VBaEVBO0FBZ0VBO0FBaEVBO0VBQUE7SUFBQTtFQWdFQTtFQWhFQTtJQUFBO0VBZ0VBO0VBaEVBO0lBQUE7RUFnRUE7QUFBQTtBQWhFQTtFQUFBO0lBQUE7RUFnRUE7RUFoRUE7SUFBQTtFQWdFQTtFQWhFQTtJQUFBO0VBZ0VBO0VBaEVBO0lBQUE7RUFnRUE7RUFoRUE7SUFBQTtFQWdFQTtFQWhFQTtJQUFBO0VBZ0VBO0FBQUE7QUFoRUE7RUFBQTtJQUFBLGVBZ0VBO1NBaEVBO0VBZ0VBO0VBaEVBO0lBQUE7RUFnRUE7RUFoRUE7SUFBQSxlQWdFQTtJQWhFQTtFQWdFQTtBQUFBIiwiZmlsZSI6InNyYy9jc3MvbWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBWZXJzaW9uOiAzLjAuMSwgR2l0IEhhc2g6IDAyMzkwNWI5OTJhOTg4MTZlY2U5YzNiMWQ5ZjJmYTJjYzBmMDA1OTQgKi9cbi8qIGltcG9ydCBmcmFtZXdvcmsgc3R5bGVzIChiYXNlLCBlbGVtZW50cywgY29tcG9uZW50cywgdXRpbGl0aWVzKSAqL1xuQGltcG9ydCBcImJ1dHRvbi5jc3NcIjtcbkBpbXBvcnQgXCJ0eXBvLmNzc1wiO1xuQGltcG9ydCBcImNvbG9yd2F5cy5jc3NcIjtcbkBpbXBvcnQgXCJjb250ZW50LWdyaWQuY3NzXCI7XG5AaW1wb3J0IFwiZm9ybS5jc3NcIjtcbi8qIEBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Ob3RvK1NhbnM6aXRhbCx3ZHRoLHdnaHRAMCw2Mi41Li4xMDAsMTAwLi45MDA7MSw2Mi41Li4xMDAsMTAwLi45MDAmZGlzcGxheT1zd2FwXCIpOyAqL1xuLyogbGF0aW4tZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7XG4gIGZvbnQtc3RyZXRjaDogNjIuNSUgMTAwJTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChmb250cy9ub3Rvc2Fucy1sYXRpbi1leHQud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsXG4gICAgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLFxuICAgIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XG59XG4vKiBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBmb250LXN0cmV0Y2g6IDYyLjUlIDEwMCU7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoZm9udHMvbm90b3NhbnMtbGF0aW4ud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLFxuICAgIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MyxcbiAgICBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XG59XG4vKiBsYXRpbi1leHQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogMTAwIDkwMDtcbiAgZm9udC1zdHJldGNoOiA2Mi41JSAxMDAlO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKGZvbnRzL25vdG9zYW5zLWl0YWxpYy1sYXRpbi1leHQud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsXG4gICAgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLFxuICAgIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XG59XG4vKiBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBmb250LXN0cmV0Y2g6IDYyLjUlIDEwMCU7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoZm9udHMvbm90b3NhbnMtaXRhbGljLWxhdGluLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSxcbiAgICBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsXG4gICAgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEO1xufVxuXG4vKiBpbXBvcnQgeW91ciBwcm9qZWN0IHNwZWNpZmljIHN0eWxlcyAqL1xuLyogQGltcG9ydCBcInByb2plY3QuY3NzXCI7ICovXG5cbi8qIGltcG9ydCB0YWlsd2luZCAqL1xuQHRhaWx3aW5kIGJhc2U7XG5AdGFpbHdpbmQgY29tcG9uZW50cztcbkB0YWlsd2luZCB1dGlsaXRpZXM7XG4iLCIvKiBWZXJzaW9uOiAzLjAuMSwgR2l0IEhhc2g6IDAyMzkwNWI5OTJhOTg4MTZlY2U5YzNiMWQ5ZjJmYTJjYzBmMDA1OTQgKi9cbkBsYXllciBjb21wb25lbnRzIHtcbiAgLmJ1dHRvbiB7XG4gICAgLyogYm9yZGVyIC0gYnV0dG9ucyBzaG91bGQgaGF2ZSBhbiBpbnZpc2libGUgYm9yZGVyIHdpZHRoLCBzbyB0aGF0IGNvbWJpbmluZyBidXR0dG9ucyB3aXRoIG9yIHdpdGhvdXQgYm9yZGVyIGRvIG5vdCBhZmZlY3QgYWxpZ25tZW50ICovXG4gICAgLyogaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIC0gYWxsb3dzIGNlbnRlcmVkIHBsYWNpbmcgb2YgZWxlbWVudHMgaW5zaWRlIHRoZSBidXR0b24gKi9cbiAgICAvKiB3aGl0ZXNwYWNlLW5vd3JhcCAtIGxldHMgdGV4dCBub3Qgd3JhcCBpbnNpZGUgb2YgdGhlIGJ1dHRvbiAqL1xuICAgIC8qIHRyYW5zaXRpb24gZHVyYXRpb24tMTUwIGVhc2UtaW4tb3V0IC0gdHJhbnNpdG9uIHN0eWxlcyBmYXN0IGJldHdlZW4gc3RhdGVzICovXG4gICAgQGFwcGx5IGNvbG9yd2F5LWdyYXktMjAwIGhvdmVyOmNvbG9yd2F5LWdyYXktMTAwIGZvY3VzLXZpc2libGU6Y29sb3J3YXktZ3JheS0xMDAgZGlzYWJsZWQ6YnV0dG9uLWRpc2FibGVkIHR5cG8tYnV0dG9uIGlubGluZS1mbGV4IGN1cnNvci1wb2ludGVyIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMSB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgcHgtNiBweS0yIGFsaWduLW1pZGRsZSB0cmFuc2l0aW9uIGR1cmF0aW9uLTE1MCBlYXNlLWluLW91dDtcbiAgICAmLWRpc2FibGVkIHtcbiAgICAgIEBhcHBseSBwb2ludGVyLWV2ZW50cy1ub25lIG9wYWNpdHktNTA7XG4gICAgfVxuICAgICYtZ3JheSB7XG4gICAgICBAYXBwbHkgY29sb3J3YXktZ3JheS02MDAgaG92ZXI6Y29sb3J3YXktZ3JheS01MDAgZm9jdXMtdmlzaWJsZTpjb2xvcndheS1ncmF5LTUwMDtcbiAgICB9XG4gICAgJi1wcmltYXJ5IHtcbiAgICAgIEBhcHBseSBjb2xvcndheS1wcmltYXJ5LTgwMCBob3Zlcjpjb2xvcndheS1wcmltYXJ5LTcwMCBmb2N1cy12aXNpYmxlOmNvbG9yd2F5LXByaW1hcnktNzAwO1xuICAgIH1cbiAgICAmLW91dGxpbmUge1xuICAgICAgQGFwcGx5IGJvcmRlciBib3JkZXItZ3JheS01MDAvNDAgYmctdHJhbnNwYXJlbnQgYmFja2Ryb3AtYmx1ci1tZDtcbiAgICB9XG4gICAgJi1naG9zdCB7XG4gICAgICBAYXBwbHkgYm9yZGVyIGJvcmRlci13aGl0ZS81MCBiZy10cmFuc3BhcmVudCB0ZXh0LXdoaXRlLzk1IGJhY2tkcm9wLWJsdXItbWQgaG92ZXI6YmctZ3JheS01MC8yMCBob3Zlcjp0ZXh0LXdoaXRlLzk1IGZvY3VzLXZpc2libGU6YmctZ3JheS01MC8yMCBmb2N1cy12aXNpYmxlOnRleHQtd2hpdGUvOTU7XG4gICAgfVxuICAgICYtZ3JvdXAge1xuICAgICAgQGFwcGx5IGlubGluZS1mbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBkaXZpZGUteCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZCAqOnJvdW5kZWQtbm9uZSAqOmJvcmRlci0wICo6Ym9yZGVyLWdyYXktOTAwLzU7XG4gICAgfVxuICAgICYtc3RhY2sge1xuICAgICAgQGFwcGx5IGlubGluZS1mbGV4IGZsZXgtY29sIGRpdmlkZS15IG92ZXJmbG93LWhpZGRlbiByb3VuZGVkICo6cm91bmRlZC1ub25lICo6Ym9yZGVyLTAgKjpib3JkZXItZ3JheS05MDAvNTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFZlcnNpb246IDMuMC4xLCBHaXQgSGFzaDogMDIzOTA1Yjk5MmE5ODgxNmVjZTljM2IxZDlmMmZhMmNjMGYwMDU5NCAqL1xuLypcbmRlZmluZSBzdHlsZXMgZm9yIGNsYXNzLWxlc3MgaHRtbCB0YWdzXG5zYW1lIHVzZSBjYXNlIGFzIHRoZSBvZmZpY2lhbCB0YWlsd2luZC90eXBvZ3JhcGh5IHBsdWdpblxuYnV0IHByb3ZpZGluZyBhbHNvIHV0aWxpdGllcyB0byBhcHBseSB0aGVzZSBzdHlsZXMgaW4gb3RoZXIgcGxhY2VzIG9yIGNvbXBvbmVudHNcbmVnLiByZXVzaW5nIHRoZSBzdHlsZSBvZiBhbiBoMiB0YWcgaW4gYSBjYXJkIGNvbXBvbmVudFxudGhlIGRlZmluaXRpb24gaGVyZSBzaG91bGQgcGFzcyB0aGUgdGFpbHdpbmQvdHlwb2dyYXBoeSBleGFtcGxlXG5sb2NhdGVkIGhlcmU6IGh0dHBzOi8vcGxheS50YWlsd2luZGNzcy5jb20vdWoxdkdBQ1JKQT9sYXlvdXQ9cHJldmlld1xuXG5jbGFzc2VzIGRlZmluZWQgYXMgY29tcG9uZW50cyB0byBiZSBlYXNpbHkgb3ZlcndyaXR0ZW4gd2l0aFxuZGVmYXVsdCB0YWlsd2luZCB1dGlsaXR5IGNsYXNzZXMhXG4qL1xuXG5AbGF5ZXIgY29tcG9uZW50cyB7XG4gIC8qXG4gIGNsYXNzZXMgdG8gYXNzaWduIHRvIHNpbmdsZSBlbGVtZW50cyBmb3IgYSBzaW1pbGFyIHN0eWxpbmdcbiAgdGhhbiBwdXJlIGh0bWwgY2xhc3NlcyBpbiBhIC50eXBvIGJsb2NrXG4gICovXG5cbiAgLyogcHJlZml4ZWQgdHlwbyBjb21wb25lbnQgY2xhc3NlcyAqL1xuICAvKlxuICB5b3Ugc2hvdWxkIGRlZmluZSBmb250IHNpemUsIGxpbmUtaGVpZ2h0XG4gIGFuZCBsZXR0ZXItc3BhY2luZyBpbiB0aGUgdGFpbHdpbmQgY29uZmlnIGZvbnRTaXplIG9iamVjdFxuICBzZWU6IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZm9udC1zaXplI3Byb3ZpZGluZy1hLWRlZmF1bHQtbGluZS1oZWlnaHRcbiAgKi9cbiAgLnR5cG8ge1xuICAgICYtYmFzZSB7XG4gICAgICBAYXBwbHkgdGV4dC1iYXNlIHRleHQtcHJldHR5IGZvbnQtYmFzZTtcbiAgICB9XG4gICAgJi1oZXJvIHtcbiAgICAgIC8qXG4gICAgICBUT0RPOiBBRiBEaXNjdXNzIGlmIHNldHRpbmcgYSBjb250YWluZXIgYmFzZWQgc2l6ZSBoZXJlIGlzIGEgZ29vZCBpZGVhLFxuICAgICAgdGhlIHNpemUgd2lsbCBzdGF5IGF0IG1vYmlsZSBpZiBubyBjb250YWluZXIgaXMgc2V0LFxuICAgICAgaWYgeW91IGFkZCBhIG1lZGlhIGJhc2VkIHNpemUgdGhpcyB3aWxsIG92ZXJ3cml0ZSB0aGUgY29udGFpbmVyIGJhc2VkIHNpemUgKHNvIHhsOnRleHQtOHhsIGlzIG5vdCBwb3NzaWJsZSEpXG4gICAgICBDcmVhdGUgYSBzcGVjaWFsIGNsYXNzIGZvciBjb250YWluZXIgdXNzYWdlIHdpdGggZmx1aWQgc2l6ZXM/XG4gICAgICAqL1xuICAgICAgQGFwcGx5IHRleHQtYmFsYW5jZSBmb250LWRpc3BsYXkgdGV4dC01eGwgZm9udC1leHRyYWJvbGQgbGVhZGluZy1jb21wcmVzc2VkIEAzeGw6dGV4dC04eGw7XG4gICAgfVxuICAgICYtaDEsXG4gICAgJi10aXRsZSB7XG4gICAgICBAYXBwbHkgdGV4dC01eGwgbGVhZGluZy1ub25lIHRleHQtYmFsYW5jZSBmb250LWRpc3BsYXkgZm9udC1leHRyYWxpZ2h0O1xuICAgICAgJiArIC50eXBvLXN1YmxpbmUge1xuICAgICAgICBAYXBwbHkgbXQtMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1oMiB7XG4gICAgICBAYXBwbHkgdGV4dC0zeGwgZm9udC1saWdodCBsZWFkaW5nLW5vbmUgdGV4dC1iYWxhbmNlIGZvbnQtZGlzcGxheTtcbiAgICAgIC8qIEBhcHBseSB0ZXh0LXhsIGZvbnQtYm9sZDsgKi9cbiAgICAgICYgKyAudHlwby1zdWJsaW5lIHtcbiAgICAgICAgQGFwcGx5IG10LTA7XG4gICAgICB9XG4gICAgfVxuICAgICYtc3VibGluZSB7XG4gICAgICBAYXBwbHkgdGV4dC1iYXNlIGZvbnQtbm9ybWFsIHRleHQtYmFsYW5jZTtcbiAgICB9XG4gICAgJi1oMyB7XG4gICAgICBAYXBwbHkgdGV4dC14bCBmb250LW1lZGl1bSB0ZXh0LWJhbGFuY2U7XG4gICAgfVxuICAgICYtaDQge1xuICAgICAgQGFwcGx5IGZvbnQtbWVkaXVtIHRleHQtYmFsYW5jZTtcbiAgICB9XG4gICAgLyogd2UgZG8gbm90IHByb3ZpZGUgaDUvaDYgYXMgdGhlIG9yaWdpbmFsIHR5cG8gcGx1Z2luICovXG4gICAgJi1leWVicm93IHtcbiAgICAgIEBhcHBseSB0ZXh0LXhzIGZvbnQtYm9sZCB0cmFja2luZy13aWRlciB1cHBlcmNhc2U7XG4gICAgfVxuICAgIC8qIEluY3JlYXNlIHZpc2liaWxpdHkgb2YgdGV4dCAqL1xuICAgICYtbGVhZCB7XG4gICAgICBAYXBwbHkgdGV4dC1sZyBmb250LW1lZGl1bTtcbiAgICB9XG4gICAgLyogRGVjcmVhc2UgdmlzaWJpbGl0eSBvZiB0ZXh0ICovXG4gICAgJi1ub3RlIHtcbiAgICAgIEBhcHBseSB0ZXh0LXNtIHRleHQtZ3JheS01MDA7XG4gICAgfVxuICAgICYtbGluayB7XG4gICAgICBAYXBwbHkgZm9udC1tZWRpdW0gdGV4dC1wcmltYXJ5LTYwMCBkZWNvcmF0aW9uLTEgdW5kZXJsaW5lLW9mZnNldC0yIGhvdmVyOnVuZGVybGluZTtcbiAgICB9XG4gICAgJi1idXR0b24ge1xuICAgICAgQGFwcGx5IHRleHQtc20gZm9udC1tZWRpdW07XG4gICAgfVxuICAgICYtbWFyayB7XG4gICAgICAvKiBjcmVhdGVzIGEgdGludGVkIGJhY2tncm91bmQgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gdGhlIG1hcmsgZWxlbWVudCAqL1xuICAgICAgQGFwcGx5IHJlbGF0aXZlIGJnLXRyYW5zcGFyZW50IGlzb2xhdGU7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBhcHBseSBhYnNvbHV0ZSAtaW5zZXQtMC41IC16LTEwIGJnLXByaW1hcnktMjAwLzcwIGNvbnRlbnQtWycnXTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1vbCB7XG4gICAgICBAYXBwbHkgcGwtNiBsaXN0LWRlY2ltYWw7XG4gICAgICAvKiBvcmRlcmVkIGxpc3QgbWFya2VyIGNvbG9yICovXG4gICAgICA+IGxpOjptYXJrZXIge1xuICAgICAgICBAYXBwbHkgdGV4dC1ncmF5LTUwMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi11bCB7XG4gICAgICBAYXBwbHkgcGwtNiBsaXN0LWRpc2M7XG4gICAgICAvKiB1bm9yZGVyZWQgbGlzdCBtYXJrZXIgY29sb3IgKi9cbiAgICAgID4gbGk6Om1hcmtlciB7XG4gICAgICAgIEBhcHBseSB0ZXh0LWdyYXktNTAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmLWZpZ2NhcHRpb24ge1xuICAgICAgQGFwcGx5IHR5cG8tbm90ZTtcbiAgICB9XG4gICAgJi1ibG9ja3F1b3RlIHtcbiAgICAgIC8qIHVzZSBib3JkZXItaW5oZXJpdCBzbyB5b3UgY2FuIGRlZmluZSB0aGUgYm9yZGVyIGNvbG9yIG9uIHRoZSBwYXJlbnQgZWxlbWVudCAqL1xuICAgICAgQGFwcGx5IHB4LTQgbXktOCB0ZXh0LTN4bCBib3JkZXItbC00IHRleHQtYmFsYW5jZSBib3JkZXItaW5oZXJpdDtcbiAgICAgIC8qIGZvbnQtZmFtaWx5OiBcIkthbGFtXCIsIGN1cnNpdmU7ICovXG4gICAgICBAYXBwbHkgZm9udC1zY3JpcHQ7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cblxuICAgICYtcHJlIHtcbiAgICAgIEBhcHBseSBwLTQgb3ZlcmZsb3cteC1hdXRvIGZvbnQtbW9ubyBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1ncmF5LTcwMCBiZy1ncmF5LTIwMCByb3VuZGVkLXNtO1xuICAgIH1cbiAgICAmLWNvZGUge1xuICAgICAgQGFwcGx5IGZvbnQtbW9ubyB0ZXh0LVswLjg3NWVtXSBmb250LWJvbGQ7XG4gICAgfVxuICAgICYta2JkIHtcbiAgICAgIEBhcHBseSByb3VuZGVkLXNtIGJvcmRlciBib3JkZXItZ3JheS0yMDAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXdoaXRlIHRvLWdyYXktMTAwIHB4LTIgcHktMSB0ZXh0LVswLjc1ZW1dIHNoYWRvdy1zbTtcbiAgICB9XG4gICAgJi1ociB7XG4gICAgICBAYXBwbHkgbXktOCBib3JkZXItZ3JheS00MDAvNzU7XG4gICAgfVxuICAgICYtdGFibGUge1xuICAgICAgQGFwcGx5IG1iLTg7XG4gICAgICAvKiBhcHBseSBzdHlsZXMgdG8gY2hpbGQgZWxlbWVudHMgd2l0aCAnd2hlcmUnIHRvIGtlZXAgdGhlIHNwZWNpZml0eSBsb3dcbiAgICBhbmQgYWxsb3cgb3ZlcnJpZGluZyB3aXRoIG90aGVyIHV0aWxpdHkgY2xhc3NlcyAqL1xuICAgICAgOndoZXJlKHRoZWFkLCB0Ym9keSwgdGZvb3QsIHRyKSB7XG4gICAgICAgIC8qIGFsbG93cyBkZWZpbmluZyBhIGJvcmRlciBjb2xvciBvbiB0aGUgdGFibGUgdG8gY2FzY2FkZSB0aHJ1IGFsbCBlbGVtZW50cyAqL1xuICAgICAgICBAYXBwbHkgYm9yZGVyLWluaGVyaXQ7XG4gICAgICB9XG4gICAgICA6d2hlcmUodGhlYWQpIHtcbiAgICAgICAgLyogYWRkIGEgdGhpY2sgYm9yZGVyIHRvIHRoZSBib3R0b20gKi9cbiAgICAgICAgQGFwcGx5IGJvcmRlci1iLTI7XG4gICAgICB9XG4gICAgICA6d2hlcmUodGJvZHkpIHtcbiAgICAgICAgLyogYWRkIGEgdGhpbiBib3JkZXIgYmV0d2VlbiBhbGwgcm93cyAqL1xuICAgICAgICBAYXBwbHkgZGl2aWRlLXk7XG4gICAgICB9XG4gICAgICA6d2hlcmUodGZvb3QpIHtcbiAgICAgICAgLyogYWRkIGEgdGhpY2sgYm9yZGVyIHRvIHRoZSBib3R0b20gKi9cbiAgICAgICAgQGFwcGx5IGJvcmRlci10LTI7XG4gICAgICB9XG4gICAgICA6d2hlcmUodGgsIHRkKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIEBhcHBseSBweC0zIHB5LTIgZmlyc3Q6cGwtMCBsYXN0OnByLTA7XG4gICAgICB9XG4gICAgICA6d2hlcmUodGgpIHtcbiAgICAgICAgQGFwcGx5IGZvbnQtYm9sZDtcbiAgICAgIH1cbiAgICAgIDp3aGVyZShjYXB0aW9uKSB7XG4gICAgICAgIEBhcHBseSBtdC0yIHR5cG8tbm90ZSBjYXB0aW9uLWJvdHRvbSB0ZXh0LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qXG4gIHRoZSB0eXBvIGNsYXNzIHN0eWxlcyBwdXIgaHRtbCB0YWdzIGluc2lkZSBvZiBpdFxuICBsaWtlIHRoZSBwcm9zZSBjbGFzcyBmcm9tIHRhaWx3aW5kIHR5cG9ncmFwaHkgcGx1Z2luXG4gIGJ1dCBiYXNlZCBvbiB0aGUgdHlwby0qIGNvbXBvbmVudCBzdHlsZXNcbiAgd2UganVzdCBhZGQgc29tZSBtYXJnaW5zIHRvIGFsaWduIGV2ZXJ5dGhpbmdcbiAgc2VlIG9yaWdpbmFsIHRhaWx3aW5kIHR5cG9ncmFwaHkgc3R5bGVzXG4gICovXG5cbiAgLnR5cG8ge1xuICAgIC8qIGFwcGx5IGEgZGVmYXVsdCBtYXJnaW4gdG8gYWxsIGNoaWxkIGVsZW1lbnRzIGluIHR5cG8gKi9cbiAgICAvKiBUT0RPOiBBRiBpcyB0aGlzIGEgZ29vZCBpZGVhPyB0YWlsd2luZCB1c2VzIG1hcmdpbnMgZm9yIGVhY2ggZWxlbWVudCAqL1xuICAgIDp3aGVyZSgqKTpub3QoXG4gICAgICAgIDp3aGVyZSgqOmZpcnN0LWNoaWxkKSxcbiAgICAgICAgOndoZXJlKFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdLCBbY2xhc3N+PVwidHlwby1yZXNldFwiXSAqKVxuICAgICAgKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuICAgIDp3aGVyZShoMSk6bm90KDp3aGVyZShbY2xhc3N+PVwidHlwby1yZXNldFwiXSwgW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0gKikpIHtcbiAgICAgIEBhcHBseSB0eXBvLWgxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xuICAgICAgJjpub3QoOndoZXJlKDpmaXJzdC1jaGlsZCkpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xuICAgICAgfVxuICAgIH1cbiAgICA6d2hlcmUoaDIpOm5vdCg6d2hlcmUoW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0sIFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdICopKSB7XG4gICAgICBAYXBwbHkgdHlwby1oMjtcbiAgICAgICY6bm90KDp3aGVyZSg6Zmlyc3QtY2hpbGQpKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgICA6d2hlcmUoLnR5cG8tZXllYnJvdyk6bm90KFxuICAgICAgICA6d2hlcmUoW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0sIFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdICopXG4gICAgICApIHtcbiAgICAgIEBhcHBseSB0ZXh0LWdyYXktNDAwO1xuICAgIH1cbiAgICA6d2hlcmUoLnR5cG8tZXllYnJvdyArICopOm5vdChcbiAgICAgICAgOndoZXJlKFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdLCBbY2xhc3N+PVwidHlwby1yZXNldFwiXSAqKVxuICAgICAgKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICA6d2hlcmUoLnR5cG8tc3VibGluZSk6bm90KFxuICAgICAgICA6d2hlcmUoW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0sIFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdICopXG4gICAgICApIHtcbiAgICAgIEBhcHBseSB0ZXh0LWdyYXktNTAwO1xuICAgIH1cbiAgICA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0sIFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdICopKSB7XG4gICAgICBAYXBwbHkgdHlwby1oMztcbiAgICB9XG4gICAgOndoZXJlKGg0KTpub3QoOndoZXJlKFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdLCBbY2xhc3N+PVwidHlwby1yZXNldFwiXSAqKSkge1xuICAgICAgQGFwcGx5IHR5cG8taDQ7XG4gICAgfVxuICAgIDp3aGVyZShhKTpub3QoLmJ1dHRvbik6bm90KFxuICAgICAgICA6d2hlcmUoW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0sIFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdICopXG4gICAgICApIHtcbiAgICAgIEBhcHBseSB0eXBvLWxpbms7XG4gICAgfVxuICAgIDp3aGVyZShtYXJrKTpub3QoOndoZXJlKFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdLCBbY2xhc3N+PVwidHlwby1yZXNldFwiXSAqKSkge1xuICAgICAgQGFwcGx5IHR5cG8tbWFyaztcbiAgICB9XG4gICAgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PVwidHlwby1yZXNldFwiXSwgW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0gKikpIHtcbiAgICAgIEBhcHBseSB0eXBvLWtiZDtcbiAgICB9XG4gICAgOndoZXJlKG9sKTpub3QoOndoZXJlKFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdLCBbY2xhc3N+PVwidHlwby1yZXNldFwiXSAqKSkge1xuICAgICAgQGFwcGx5IHR5cG8tb2w7XG4gICAgfVxuICAgIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PVwidHlwby1yZXNldFwiXSwgW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0gKikpIHtcbiAgICAgIEBhcHBseSB0eXBvLXVsO1xuICAgIH1cbiAgICA6d2hlcmUoZmlnY2FwdGlvbik6bm90KFxuICAgICAgICA6d2hlcmUoW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0sIFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdICopXG4gICAgICApIHtcbiAgICAgIEBhcHBseSBtdC0yIHR5cG8tZmlnY2FwdGlvbjtcbiAgICB9XG4gICAgOndoZXJlKGJsb2NrcXVvdGUpOm5vdChcbiAgICAgICAgOndoZXJlKFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdLCBbY2xhc3N+PVwidHlwby1yZXNldFwiXSAqKVxuICAgICAgKSB7XG4gICAgICBAYXBwbHkgdHlwby1ibG9ja3F1b3RlO1xuICAgIH1cbiAgICA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdLCBbY2xhc3N+PVwidHlwby1yZXNldFwiXSAqKSkge1xuICAgICAgQGFwcGx5IHR5cG8tcHJlO1xuICAgIH1cbiAgICA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PVwidHlwby1yZXNldFwiXSwgW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0gKikpIHtcbiAgICAgIEBhcHBseSB0eXBvLWNvZGU7XG4gICAgfVxuICAgIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PVwidHlwby1yZXNldFwiXSwgW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0gKikpIHtcbiAgICAgIEBhcHBseSB0eXBvLWhyO1xuICAgIH1cbiAgICA6d2hlcmUodGFibGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1cInR5cG8tcmVzZXRcIl0sIFtjbGFzc349XCJ0eXBvLXJlc2V0XCJdICopKSB7XG4gICAgICBAYXBwbHkgdHlwby10YWJsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFZlcnNpb246IDMuMC4xLCBHaXQgSGFzaDogMDIzOTA1Yjk5MmE5ODgxNmVjZTljM2IxZDlmMmZhMmNjMGYwMDU5NCAqL1xuQGxheWVyIGNvbXBvbmVudHMge1xuICAuY29sb3J3YXktd2hpdGUge1xuICAgIEBhcHBseSBiZy13aGl0ZSB0ZXh0LWdyYXktOTAwLzk1O1xuICB9XG4gIC5jb2xvcndheS1ibGFjayB7XG4gICAgQGFwcGx5IGJnLWJsYWNrIHRleHQtZ3JheS01MC85NTtcbiAgfVxuXG4gIC5jb2xvcndheS1ncmF5LTUwIHtcbiAgICBAYXBwbHkgYmctZ3JheS01MCB0ZXh0LWdyYXktOTAwLzk1O1xuICB9XG4gIC5jb2xvcndheS1ncmF5LTEwMCB7XG4gICAgQGFwcGx5IGJnLWdyYXktMTAwIHRleHQtZ3JheS05MDAvOTU7XG4gIH1cbiAgLmNvbG9yd2F5LWdyYXktMjAwIHtcbiAgICBAYXBwbHkgYmctZ3JheS0yMDAgdGV4dC1ncmF5LTkwMC85NTtcbiAgfVxuICAuY29sb3J3YXktZ3JheS0zMDAge1xuICAgIEBhcHBseSBiZy1ncmF5LTMwMCB0ZXh0LWdyYXktOTAwLzk1O1xuICB9XG4gIC5jb2xvcndheS1ncmF5LTQwMCB7XG4gICAgQGFwcGx5IGJnLWdyYXktNDAwIHRleHQtZ3JheS05MDAvOTU7XG4gIH1cbiAgLmNvbG9yd2F5LWdyYXktNTAwIHtcbiAgICBAYXBwbHkgYmctZ3JheS01MDAgdGV4dC1ncmF5LTUwO1xuICB9XG4gIC5jb2xvcndheS1ncmF5LTYwMCB7XG4gICAgQGFwcGx5IGJnLWdyYXktNjAwIHRleHQtZ3JheS01MDtcbiAgfVxuICAuY29sb3J3YXktZ3JheS03MDAge1xuICAgIEBhcHBseSBiZy1ncmF5LTcwMCB0ZXh0LWdyYXktNTA7XG4gIH1cbiAgLmNvbG9yd2F5LWdyYXktODAwIHtcbiAgICBAYXBwbHkgYmctZ3JheS04MDAgdGV4dC1ncmF5LTUwO1xuICB9XG4gIC5jb2xvcndheS1ncmF5LTkwMCB7XG4gICAgQGFwcGx5IGJnLWdyYXktOTAwIHRleHQtZ3JheS01MDtcbiAgfVxuICAuY29sb3J3YXktZ3JheS05NTAge1xuICAgIEBhcHBseSBiZy1ncmF5LTk1MCB0ZXh0LWdyYXktNTA7XG4gIH1cbiAgLmNvbG9yd2F5LWdyYXkge1xuICAgIEBhcHBseSBjb2xvcndheS1ncmF5LTUwMDtcbiAgfVxuXG4gIC5jb2xvcndheS1wcmltYXJ5LTUwIHtcbiAgICBAYXBwbHkgYmctcHJpbWFyeS01MCB0ZXh0LXByaW1hcnktOTUwLzk1O1xuICB9XG4gIC5jb2xvcndheS1wcmltYXJ5LTEwMCB7XG4gICAgQGFwcGx5IGJnLXByaW1hcnktMjAwIHRleHQtcHJpbWFyeS05NTAvOTU7XG4gIH1cbiAgLmNvbG9yd2F5LXByaW1hcnktMjAwIHtcbiAgICBAYXBwbHkgYmctcHJpbWFyeS0yMDAgdGV4dC1wcmltYXJ5LTk1MC85NTtcbiAgfVxuICAuY29sb3J3YXktcHJpbWFyeS0zMDAge1xuICAgIEBhcHBseSBiZy1wcmltYXJ5LTMwMCB0ZXh0LXByaW1hcnktOTUwLzk1O1xuICB9XG4gIC5jb2xvcndheS1wcmltYXJ5LTQwMCB7XG4gICAgQGFwcGx5IGJnLXByaW1hcnktNDAwIHRleHQtcHJpbWFyeS05NTAvOTU7XG4gIH1cbiAgLmNvbG9yd2F5LXByaW1hcnktNTAwIHtcbiAgICBAYXBwbHkgYmctcHJpbWFyeS01MDAgdGV4dC13aGl0ZTtcbiAgfVxuICAuY29sb3J3YXktcHJpbWFyeS02MDAge1xuICAgIEBhcHBseSBiZy1wcmltYXJ5LTYwMCB0ZXh0LXdoaXRlO1xuICB9XG4gIC5jb2xvcndheS1wcmltYXJ5LTcwMCB7XG4gICAgQGFwcGx5IGJnLXByaW1hcnktNzAwIHRleHQtd2hpdGU7XG4gIH1cbiAgLmNvbG9yd2F5LXByaW1hcnktODAwIHtcbiAgICBAYXBwbHkgYmctcHJpbWFyeS04MDAgdGV4dC13aGl0ZTtcbiAgfVxuICAuY29sb3J3YXktcHJpbWFyeS05MDAge1xuICAgIEBhcHBseSBiZy1wcmltYXJ5LTkwMCB0ZXh0LXdoaXRlO1xuICB9XG4gIC5jb2xvcndheS1wcmltYXJ5LTk1MCB7XG4gICAgQGFwcGx5IGJnLXByaW1hcnktOTUwIHRleHQtd2hpdGU7XG4gIH1cbiAgLmNvbG9yd2F5LXByaW1hcnkge1xuICAgIEBhcHBseSBjb2xvcndheS1wcmltYXJ5LTUwMDtcbiAgfVxufVxuIiwiLyogVmVyc2lvbjogMy4wLjEsIEdpdCBIYXNoOiAwMjM5MDViOTkyYTk4ODE2ZWNlOWMzYjFkOWYyZmEyY2MwZjAwNTk0ICovXG5AbGF5ZXIgY29tcG9uZW50cyB7XG4gIC5jb250ZW50LWdyaWQge1xuICAgIC0tY29udGVudC1tYXgtd2lkdGg6IDQycmVtO1xuICAgIC0tYnJlYWtvdXQtbWF4LXdpZHRoOiA1OHJlbTtcbiAgICAtLV9icmVha291dC1zaXplOiBjYWxjKFxuICAgICAgKHZhcigtLWJyZWFrb3V0LW1heC13aWR0aCkgLSB2YXIoLS1jb250ZW50LW1heC13aWR0aCkpIC8gMlxuICAgICk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6XG4gICAgICBbZnVsbC1zdGFydCBtYXJnaW4tbGVmdC1zdGFydCBmdWxsLWxlZnQtc3RhcnRdXG4gICAgICBtaW5tYXgoMCwgMWZyKVxuICAgICAgW2JyZWFrb3V0LXN0YXJ0XVxuICAgICAgbWlubWF4KDAsIHZhcigtLV9icmVha291dC1zaXplKSlcbiAgICAgIFttYXJnaW4tbGVmdC1lbmQgZnVsbC1yaWdodC1zdGFydCBjb250ZW50LXN0YXJ0XVxuICAgICAgbWluKHZhcigtLWNvbnRlbnQtbWF4LXdpZHRoKSwgMTAwJSlcbiAgICAgIFtjb250ZW50LWVuZCBmdWxsLWxlZnQtZW5kIG1hcmdpbi1yaWdodC1zdGFydF1cbiAgICAgIG1pbm1heCgwLCB2YXIoLS1fYnJlYWtvdXQtc2l6ZSkpXG4gICAgICBbYnJlYWtvdXQtZW5kXVxuICAgICAgbWlubWF4KDAsIDFmcilcbiAgICAgIFtmdWxsLXJpZ2h0LWVuZCBtYXJnaW4tcmlnaHQtZW5kIGZ1bGwtZW5kXTtcbiAgfVxuICAuY29udGVudC1ncmlkID4gKiB7XG4gICAgZ3JpZC1jb2x1bW46IGNvbnRlbnQ7XG4gIH1cbiAgLmNvbnRlbnQtZ3JpZC1icmVha291dCB7XG4gICAgZ3JpZC1jb2x1bW46IGJyZWFrb3V0O1xuICB9XG4gIC5jb250ZW50LWdyaWQtZnVsbCB7XG4gICAgZ3JpZC1jb2x1bW46IGZ1bGw7XG4gIH1cbiAgLmNvbnRlbnQtZ3JpZC1mdWxsLWxlZnQge1xuICAgIGdyaWQtY29sdW1uOiBmdWxsLWxlZnQ7XG4gIH1cbiAgLmNvbnRlbnQtZ3JpZC1mdWxsLXJpZ2h0IHtcbiAgICBncmlkLWNvbHVtbjogZnVsbC1yaWdodDtcbiAgfVxuICAuY29udGVudC1ncmlkLW1hcmdpbi1sZWZ0IHtcbiAgICBncmlkLWNvbHVtbjogbWFyZ2luLWxlZnQ7XG4gIH1cbiAgLmNvbnRlbnQtZ3JpZC1tYXJnaW4tcmlnaHQge1xuICAgIGdyaWQtY29sdW1uOiBtYXJnaW4tcmlnaHQ7XG4gIH1cbn1cbiIsIkBsYXllciBjb21wb25lbnRzIHtcblxuICAvKiBmb3JtcyAqL1xuICAuaW5wdXQge1xuICAgIEBhcHBseSByb3VuZGVkIGJvcmRlci1zbGF0ZS00MDAgZm9jdXM6Ym9yZGVyLXNsYXRlLTQwMDtcbiAgfVxuXG4gIC5pbnB1dC1jaGVja2JveCB7XG4gICAgQGFwcGx5IG1yLTEgaW5wdXQgdGV4dC1icmFuZDtcbiAgfVxuXG4gIC5sYWJlbCB7XG4gICAgQGFwcGx5IGJsb2NrIG15LTEgdGV4dC1zbGF0ZS02MDA7XG4gIH1cblxuICAuZmllbGQge1xuICAgIC5lcnJvciB7XG4gICAgICBAYXBwbHkgaGlkZGVuO1xuICAgIH1cblxuICAgICYuaGFzLWVycm9yIHtcbiAgICAgIC5lcnJvciB7XG4gICAgICAgIEBhcHBseSBibG9jayBteS0xIHRleHQtcmVkLTYwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybUVycm9yIHtcbiAgICBAYXBwbHkgaGlkZGVuO1xuICB9XG5cbn1cbiJdfQ== */