@charset "UTF-8";
/* ============================================================================
   Member testimonial — SHARED COMPONENT
   ============================================================================
   Used by more than one page, so it lives in assets/css/shared/ rather than in
   any one page's folder:

     space-program-content.scss   The Space Program page (second code block)
     testimonial.scss             standalone build -> testimonial.css, linked by
                                  deploy/home-embed-block.html

   SELF-SUFFICIENT BY DESIGN. The standalone build is linked into pages that do
   NOT carry the space-program section rules, so this partial may not assume
   .ev-block, .ev-space or the page's own heading styles are present. Everything
   the component needs is declared here, including its own kicker and section
   heading. What it DOES assume is the .ev-wrap token block (--accent, --mono,
   --text, --text-muted, --border, --border-strong), which both host pages
   already declare.

   Scoped under .ev-wrap throughout so it never touches the rest of the
   Squarespace site.
   ============================================================================ */
/* ---- Section head row ----
   The kicker + h2 that open the section, above the two-column grid. Declared
   here rather than inherited from a page's .ev-block h2, because the standalone
   build lands on pages that have no such rule — without this the heading falls
   back to the Squarespace theme's own h2 (or, on the program pages, to the
   remote sheet's Bebas caps). Matches DESIGN-SYSTEM.md section headers:
   'Helvetica Neue', 700, normal case, left aligned. */
.ev-wrap .ev-testi-head-row {
  margin: 0 0 36px;
}

.ev-wrap .ev-testi-head-row h2 {
  font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  text-align: left;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.12;
  color: var(--text);
  margin: 0;
  text-wrap: balance;
}

/* The kicker is restated for the same reason as the heading: the space-program
   copy is scoped .ev-wrap.ev-space, which does not match on a page that only
   has .ev-wrap. Same spec as assets/css/space-program/_kicker.scss — keep the
   two in sync; the source of truth is DESIGN-SYSTEM.md, not either copy.

   Scoped to the head row (not bare .ev-kicker) so linking testimonial.css into
   a page cannot restyle kickers that belong to other components on it. */
.ev-wrap .ev-testi-head-row .ev-kicker {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 4px;
}

.ev-wrap .ev-testi-head-row .ev-kicker::before {
  content: "";
  width: 16px;
  height: 1px;
  background: currentColor;
  display: inline-block;
  flex: none;
}

/* ---- The section itself ----
   A long first-person account, not a one-line pull quote, so it is set as
   readable prose rather than blown up to display size — the .ev-ask-statement
   treatment would make 300 words unreadable.

   Laid out on the same 1/3 + 2/3 track as .ev-ask-lead above, so the heading
   column lines up with the figure column in that section. The heading sits in
   the narrow column and the account runs in the wide one. */
.ev-wrap .ev-testi {
  margin-top: 88px;
  border-top: 1px solid var(--border-strong);
  padding-top: 44px;
}

/* The portrait column is narrower than a full third — a 3/4 crop at a third of
   this measure is a bigger photo than a supporting portrait wants to be. The
   account takes the width the photo gives up, and the column gap opens past
   --ev-ask-gap so the picture and the prose read as two separate things rather
   than a photo butted against text. */
.ev-wrap .ev-testi-grid {
  display: grid;
  /* Account left, portrait right. The track order is reversed rather than the
     markup, so the photo keeps its caption beside it in the DOM and the account
     is still read first by a screen reader — the visual swap is presentation
     only. Explicit grid-column on both children does the placing (below). */
  grid-template-columns: minmax(0, 1fr) minmax(0, 240px);
  gap: 64px;
  align-items: start;
}

/* NOT sticky. The column was sticky while it held only a kicker and a heading —
   a short block beside a long account. With the portrait in it the column is
   tall enough that sticking it would park the photo over the viewport for most
   of the section's scroll, and the caption below it would detach from the top
   of the account it belongs to. It scrolls with the page instead. */
/* Column 2 — the right-hand track. The portrait is the supporting element, so
   it sits to the side of the account rather than leading it. */
/* Column 2, row 1 — the portrait sits to the right of the account. grid-row is
   REQUIRED, not decoration: this element comes first in the DOM but is placed
   in the second column, and auto-placement never moves backwards, so without a
   pinned row the account behind it gets pushed onto row 2 and the two stack
   with a 64px gap between them instead of sitting side by side. */
.ev-wrap .ev-testi-head {
  grid-column: 2;
  grid-row: 1;
}

.ev-wrap .ev-testi-head h2 {
  font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight: 700;
  letter-spacing: normal;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.15;
  color: var(--text);
  margin: 0;
  text-wrap: balance;
}

/* --ev-q-gutter is the single source for the quote mark's column: the padding
   opens the space, and the mark's negative `left` of the same value sits in it.
   Declared here rather than on .ev-testi-lead because the whole account shifts
   across together — indenting only the lead would leave the paragraphs beneath
   it hanging out to the left of their own opening line.

   82px carries the 120px glyph's width with a small gap before the copy. */
.ev-wrap .ev-testi-in {
  --ev-q-gutter: 82px;
  /* Column 1, row 1 — the account leads, the portrait sits to its right. Both
     the column and the row are explicit because this element follows the photo
     in the DOM but precedes it visually; see .ev-testi-head above. Variant B
     overrides the column to span 1 / span 2 on its own three-column track. */
  grid-column: 1;
  grid-row: 1;
  position: relative;
  padding-left: var(--ev-q-gutter);
}

/* ---- Member portrait (variant A) ----
   Sits in the heading column beside the account, with the attribution beneath
   it — the name reads as a caption to the face rather than as a signature
   stranded at the end of 300 words.

   Same card anatomy as the coach photos: 3/4 crop, hairline, cover fit, and
   the same grayscale/brightness grade so the member sits in the same visual
   register as the coaches further up the page. */
/* Flush to the top of its column: the 24px here was clearing the heading that
   used to sit above it, and with the title moved out to the full-width row the
   photo should start level with the account's first line. */
.ev-wrap .ev-testi-figure {
  margin: 0;
}

.ev-wrap .ev-testi-figure .shot {
  aspect-ratio: 3/4;
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--bg);
}

.ev-wrap .ev-testi-figure .shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(0.35) brightness(0.85);
}

/* Stacked, not the inline row the old .ev-testi-cite used: in a third-width
   column the name and the meta line cannot sit side by side without wrapping
   mid-phrase. */
.ev-wrap .ev-testi-figcap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 14px;
}

/* .who and .meta come from the shared definitions above — the caption only
   needs its own stacking, not its own type. */
/* No indent and no padding: the text starts at the column's top-left corner
   like every other block on the page, with the mark above it.

   The room for that mark is held by the CONTAINER's padding-top rather than
   the lead's own, so the lead stays a clean text block — see .ev-testi-in
   below. The mark is anchored to this element's left edge and sits in the
   gutter that parent's padding opened. */
.ev-wrap .ev-testi-lead {
  font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight: 700;
  letter-spacing: normal;
  font-size: clamp(20px, 2.1vw, 27px);
  line-height: 1.3;
  color: var(--text);
  margin: 0 0 26px;
  text-wrap: pretty;
  /* Containing block for the mark, which is anchored to this element's top. */
  position: relative;
}

/* Set to the LEFT of the copy, in its own gutter — a mark opening the block
   from the side rather than a line above it. Deliberately oversized and full
   strength: a design element, not punctuation.

   Size is px, not em, so a graphic mark of this scale does not ride on the
   lead's clamped type size.

   The room it occupies is --ev-q-gutter on .ev-testi-in, which pads the whole
   account across so the mark cannot collide with the copy or hang off the left
   of the viewport when the column narrows. left is negative that same gutter,
   which puts the glyph in the space the padding opened.

   The -24px top is optical, not metric: a quote glyph carries a large empty
   shoulder inside its em box, so top:0 leaves it sitting visibly low against
   the first line's cap. Pulling it up past the lead's top edge seats the ink,
   not the box, level with the opening line. */
.ev-wrap .ev-testi-lead::before {
  content: "\201C";
  position: absolute;
  left: calc(var(--ev-q-gutter) * -1);
  top: -24px;
  font-weight: 700;
  font-size: 120px;
  line-height: 1;
  color: var(--accent);
  pointer-events: none;
}

/* Body copy only — everything excluded here is a <p> inside .ev-testi that this
   rule would otherwise outrank and restyle:
     .ev-testi-mark   the small quote glyph (48px/700 reset to 15px/300)
     .ev-kicker       the section label (mono/accent reset to body grey)
     .ev-ask-callout  the same, where a callout sits inside the section
   A descendant selector with an element beats a single class, so exclusion is
   the fix rather than escalating each component's own selector. */
.ev-wrap .ev-testi p:not(.ev-testi-mark):not(.ev-kicker):not(.ev-ask-callout) {
  font-size: clamp(15px, 1.15vw, 16px);
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 18px;
  text-wrap: pretty;
}

.ev-wrap .ev-testi-list {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}

.ev-wrap .ev-testi-list li {
  font-size: clamp(15px, 1.15vw, 16px);
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  padding-left: 22px;
  position: relative;
  margin-bottom: 9px;
}

/* The marker takes the list's own text colour at 30%, not the gold accent —
   four gold dots down the side of an account pull the eye into the margin
   ahead of the words. currentColor inherits --text-muted from the li, so the
   dot stays tied to the type it marks if that colour ever moves. */
.ev-wrap .ev-testi-list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .62em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: .3;
}

.ev-wrap .ev-testi em {
  font-style: normal;
  color: var(--text);
  font-weight: 400;
}

/* The four recommendations run as the same dotted list as the outcomes above —
   one continuous voice rather than a table breaking the account in half. Only
   the program names are lifted out, as arrow links. */
.ev-wrap .ev-testi-recs {
  margin: 0 0 18px;
}

.ev-wrap .ev-testi-recs a {
  color: var(--accent);
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-weight: 400;
  white-space: nowrap;
}

.ev-wrap .ev-testi-recs a:hover {
  text-decoration: underline;
}

.ev-wrap .ev-testi-recs a:hover .hm-arw {
  transform: translateX(3px);
}

.ev-wrap .ev-testi-cite {
  /* Column, not a wrapping row. As a row the name and the standing line sat
     side by side and only dropped to a second line when the column happened to
     be too narrow to hold both — so the same attribution read as one line in
     some places and two in others. They are two separate facts (who spoke, then
     their credential), so the line break is deliberate rather than incidental.
     This matches .ev-testi-figcap, which is already a 5px column; the gap moves
     10px -> 5px for the same reason, since it now measures the space BETWEEN the
     two stacked lines rather than between two items sharing a baseline. */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  margin-top: 28px;
  font-style: normal;
}

/* Shared by all three quote types — the account's sign-off, the portrait
   caption, and the cards' cite. One definition so a name reads the same
   wherever it appears. */
.ev-wrap .ev-testi-cite .who,
.ev-wrap .ev-testi-figcap .who,
.ev-wrap .ev-testi-card cite .who {
  font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--text);
}

.ev-wrap .ev-testi-cite .meta,
.ev-wrap .ev-testi-figcap .meta {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
  line-height: 1.5;
}

/* The personal aside, on its own line under the standing line. Same mono size
   and tracking so the two read as one attribution block, but muted grey rather
   than accent: "Member since 2020" is the credential that earns the gold, while
   this is a wink. Two golds stacked would give them equal billing and make the
   aside look like a second credential.

   The separating middot is gone with the line break — the break already does
   that job, and keeping both would punctuate a boundary that is already visible.
   No margin here: the container is a 5px flex column, and a child margin ADDS to
   that gap rather than replacing it. */
.ev-wrap .ev-testi-cite .meta-aside,
.ev-wrap .ev-testi-figcap .meta-aside {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text-muted);
  line-height: 1.5;
}

/* One column below 900px: the portrait column cannot hold a 240px photo and
   leave the account a readable measure at the same time. */
@media (max-width: 900px) {
  .ev-wrap .ev-testi-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  /* Rows released back to auto — pinned to row 1 the two would stack ON TOP of
     each other in a single column. `order` puts the account FIRST and the
     portrait after it: stacked, a photo above the quote reads as a headshot
     introducing a stranger, whereas below it it signs the account off, which is
     the same job the desktop caption does. */
  .ev-wrap .ev-testi-in {
    grid-column: 1;
    grid-row: auto;
    order: 1;
  }
  .ev-wrap .ev-testi-head {
    grid-column: 1;
    grid-row: auto;
    order: 2;
  }
  /* Stacked, the portrait would run the full width of the page at a 3/4 crop —
     a half-screen photo closing a quote. It goes side by side with the caption
     instead: a capped-width photo with the name beside it, which is the same
     relationship as the desktop column, rotated. */
  .ev-wrap .ev-testi-figure {
    /* Top-aligned, not bottom: the caption is two short lines against a much
       taller photo, so seating it on the bottom edge left it floating low with
       a gap above. Starting both at the same top edge reads as a caption
       attached to the picture. */
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-top: 0;
  }
  .ev-wrap .ev-testi-figure .shot {
    flex: 0 0 96px;
    width: 96px;
  }
  /* The name's cap height sits a little below the photo's top edge, so a small
     negative nudge optically levels the two rather than leaving the text
     looking dropped. */
  .ev-wrap .ev-testi-figcap {
    margin-top: -3px;
  }
}

@media (max-width: 600px) {
  .ev-wrap .ev-testi {
    margin-top: 56px;
    padding-top: 32px;
  }
  /* The mark moves ABOVE the copy on phones rather than beside it. A side
     gutter costs the account 46px of an already narrow measure, and at this
     width the quote reads better opening the block from the top.

     So: the gutter goes to zero (nothing to indent past), the container holds
     the room as top padding instead, and the mark anchors to the left edge of
     the text it opens. 48px of padding to a 68px glyph is the same ~0.7 ratio
     the desktop pair uses. */
  .ev-wrap .ev-testi-in {
    --ev-q-gutter: 0px;
    padding-left: 0;
    padding-top: 48px;
  }
  .ev-wrap .ev-testi-lead::before {
    font-size: 68px;
    left: 0;
    /* Matches the container's 48px padding exactly, so the glyph box sits in
       the space reserved for it. Larger and the ink overshoots into whatever
       is above; smaller and it dips into the opening line. */
    top: -48px;
  }
}

/* ---- Testimonial variant B: account at 2/3, short quotes stacked at 1/3 ----
   Same three-column track, mirrored: the long account keeps the wide measure
   and the narrow column carries three short quotes as cards, so the section
   shows one member in depth plus corroboration from others at a glance.

   Only ONE variant is in the DOM at a time on the live page — the switcher
   below is a preview-only control (see the PREVIEW ONLY comment). Ship whichever
   variant you keep and delete the other section plus the switcher. */
/* Variant B's heading spans the full width above the grid rather than taking a
   column, because both columns below it hold content — there is no narrow
   column free for it the way variant A has. */
.ev-wrap .ev-testi-b-head {
  margin: 0 0 36px;
}

.ev-wrap .ev-testi-b-head h2 {
  font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight: 700;
  letter-spacing: normal;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.12;
  color: var(--text);
  margin: 0;
  text-wrap: balance;
}

/* Variant B keeps the original three equal columns. The shared .ev-testi-grid
   above is now the TWO-column portrait track that variant A needs, so B has to
   restate its own — its 2/3 + 1/3 split depends on three equal tracks. */
.ev-wrap .ev-testi-b .ev-testi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  /* 72px between the account and the quote column, wider than --ev-ask-gap.
     The quotes carry no border any more, so the gap is the only thing marking
     them as a separate column — at the default gap they read as a fourth
     paragraph of the account rather than as other people speaking. */
  gap: 72px;
  align-items: start;
}

/* Variant B has no portrait, so its account and quote column are in DOM order
   already — the row pinning that variant A needs is released here, or the
   aside (which has no row of its own) would auto-place onto row 2 and drop
   below the account instead of sitting beside it. */
.ev-wrap .ev-testi-b .ev-testi-in {
  grid-column: 1 / span 2;
  grid-row: auto;
}

.ev-wrap .ev-testi-aside {
  grid-column: 3;
  /* The gap is the real separation between quotes; each card's own 40px top
     margin is NOT — that space is occupied by the quote mark hanging above the
     card, so it reads as part of the quote below it rather than as a division
     between two. In a flex container the two add (40 + 36 = 76px between one
     quote's last line and the next one's mark), which is what these need
     without borders to divide them. */
  display: flex;
  flex-direction: column;
  gap: 36px;
}

/* No border and no fill: the quote mark alone opens each card, and the gap
   between them does the separating. With the frames gone the padding is only
   holding the text away from an edge that no longer exists, so the horizontal
   padding goes with them and the three quotes align on the same left edge as
   everything else in the section. The bottom margin stays as the rhythm
   between one quote and the next. */
.ev-wrap .ev-testi-card {
  border: 0;
  background: transparent;
  /* Positioning context for the mark. The room it hangs into is a top MARGIN,
     not padding: the mark is anchored to bottom:100% of this box, so anything
     inside the box sits below the glyph rather than behind it. 40px clears a
     48px glyph's ink (a quote fills roughly the top two-thirds of its em box)
     and leaves a small breath before the quote text. */
  position: relative;
  padding: 0;
  margin: 40px 0 0;
}

/* Built to match the lead mark exactly, at 48px instead of 120px: same glyph,
   same weight, same full-strength accent, and the same relationship to its
   text — sitting ABOVE the first line rather than inline with it.

   The card is the positioning context and the mark is pulled out of flow, so
   the quote body starts at the card's top edge and the glyph hangs above it.
   The card's own padding-top is what holds that room (see .ev-testi-card),
   mirroring how .ev-testi-in holds it for the lead. The -.06em left nudge is
   the same optical correction the big mark uses: a quote glyph carries a gap
   inside its left sidebearing, so flush-left looks indented. */
.ev-wrap .ev-testi-mark {
  /* The lead mark's exact declarations at 48px. bottom:calc(100% - .18em)
     anchors the glyph above the card's top edge, so the card must NOT hold the
     room as padding — padding is inside the box the mark measures against, and
     the glyph would clear it and float free. The space comes from the card's
     top MARGIN instead (see .ev-testi-card), which sits outside that box. */
  position: absolute;
  left: -.06em;
  bottom: calc(100% - .18em);
  font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 1;
  color: var(--accent);
  margin: 0;
  pointer-events: none;
}

/* :not(.ev-testi-mark) matters. The mark is also a <p> inside the card, so this
   rule outranks .ev-testi-mark on specificity (0-2-1 against 0-2-0) AND comes
   later — it was overwriting the mark's 48px/700 with 14px/300, which is why
   the glyph rendered tiny. Excluding it here keeps both rules at their natural
   weight instead of escalating the mark's selector to win a fight. */
.ev-wrap .ev-testi-card p:not(.ev-testi-mark) {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 12px;
  text-wrap: pretty;
}

.ev-wrap .ev-testi-card p strong {
  color: var(--text);
  font-weight: 500;
}

/* One attribution style across all three quote types. The account, the portrait
   caption and the cards each grew their own treatment; they are the same piece
   of information — who said this — so they share one .who/.meta definition
   (see .ev-testi-cite above, which this joins). The card's name was a mono gold
   "— Alyssa"; it is now the same bold name the account signs off with. */
.ev-wrap .ev-testi-card cite {
  /* block + a top margin because the name is no longer a small mono line that
     read as separate by contrast alone — at the shared 15px bold it needs the
     space to sit apart from the quote's last line. */
  display: block;
  font-style: normal;
  margin-top: 14px;
}

/* The aside drops below the account before the account's own measure gets
   tight, so the three cards go side by side rather than stacking into a very
   long column. */
@media (max-width: 1000px) {
  .ev-wrap .ev-testi-b .ev-testi-in {
    grid-column: 1 / -1;
  }
  .ev-wrap .ev-testi-aside {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 8px;
  }
}

@media (max-width: 700px) {
  /* One column, so the 16px above is now VERTICAL spacing between quotes
     rather than horizontal — too tight once each card also carries a 48px
     mark. Matches the desktop column's 36px. */
  .ev-wrap .ev-testi-aside {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

/* ---- Testimonial variant C: variant A, plus the three short quotes as a row
        underneath ----
   Same portrait + account as A, so the long testimonial keeps the full width
   of the two-column grid; the corroborating quotes then run across the bottom
   as a three-up row rather than a column squeezed beside it. Use this when the
   account and the short quotes should both read at full width; use B when the
   two should be seen at once.

   .ev-testi-row is a SIBLING of .ev-testi-grid, not a child, which is what
   lets it span the section's whole width. */
.ev-wrap .ev-testi-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  margin-top: 56px;
  /* The cards each carry a 40px top margin for their quote mark, which lands
     inside this padding — so the padding here is what the rule needs for
     breathing room and the mark's space comes free with it. */
  padding-top: 16px;
  /* A hairline marks the change of voice — above it is one member at length,
     below it is everyone else in brief. The same border-strong the section
     itself opens with, so the two rules read as the same kind of division. */
  border-top: 1px solid var(--border);
}

@media (max-width: 700px) {
  .ev-wrap .ev-testi-row {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-top: 40px;
    padding-top: 32px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGltb25pYWwuY3NzIiwic291cmNlcyI6WyJ0ZXN0aW1vbmlhbC5zY3NzIiwiYXNzZXRzL2Nzcy9zaGFyZWQvX3Rlc3RpbW9uaWFsLnNjc3MiXSwibWFwcGluZ3MiOiI7QUNBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0ZBb0JrRjtBQUVsRjs7Ozs7O3VEQU11RDtBQUN2RCxBQUFTLFFBQUQsQ0FBQyxrQkFBa0IsQ0FBQTtFQUN6QixNQUFNLEVBQUMsUUFBUztDQUNqQjs7QUFDRCxBQUE0QixRQUFwQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQTtFQUM1QixXQUFXLEVBQUMsMkNBQTRDO0VBQ3hELFdBQVcsRUFBQyxHQUFJO0VBQUMsY0FBYyxFQUFDLE1BQU87RUFBQyxjQUFjLEVBQUMsSUFBSztFQUFDLFVBQVUsRUFBQyxJQUFLO0VBQzdFLFNBQVMsRUFBQyxzQkFBSztFQUFnQixXQUFXLEVBQUMsSUFBSztFQUNoRCxLQUFLLEVBQUMsV0FBRztFQUFTLE1BQU0sRUFBQyxDQUFFO0VBQUMsU0FBUyxFQUFDLE9BQVE7Q0FDL0M7O0FBQ0Q7Ozs7OzswRUFNMEU7QUFDMUUsQUFBNEIsUUFBcEIsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUE7RUFDcEMsV0FBVyxFQUFDLFdBQUc7RUFDZixTQUFTLEVBQUMsSUFBSztFQUNmLGNBQWMsRUFBQyxLQUFNO0VBQ3JCLGNBQWMsRUFBQyxTQUFVO0VBQ3pCLEtBQUssRUFBQyxhQUFHO0VBQ1QsV0FBVyxFQUFDLEdBQUk7RUFDaEIsT0FBTyxFQUFDLFdBQVk7RUFBQyxXQUFXLEVBQUMsTUFBTztFQUFDLEdBQUcsRUFBQyxJQUFLO0VBQ2xELE1BQU0sRUFBQyxPQUFRO0NBQ2hCOztBQUNELEFBQXNDLFFBQTlCLENBQUMsa0JBQWtCLENBQUMsVUFBVSxBQUFBLFFBQVEsQ0FBQTtFQUM1QyxPQUFPLEVBQUMsRUFBRztFQUFDLEtBQUssRUFBQyxJQUFLO0VBQUMsTUFBTSxFQUFDLEdBQUk7RUFBQyxVQUFVLEVBQUMsWUFBYTtFQUM1RCxPQUFPLEVBQUMsWUFBYTtFQUFDLElBQUksRUFBQyxJQUFLO0NBQ2pDOztBQUVEOzs7Ozs7OzZEQU82RDtBQUM3RCxBQUFTLFFBQUQsQ0FBQyxTQUFTLENBQUE7RUFDaEIsVUFBVSxFQUFDLElBQUs7RUFDaEIsVUFBVSxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsb0JBQUc7RUFDeEIsV0FBVyxFQUFDLElBQUs7Q0FDbEI7O0FBQ0Q7Ozs7dUNBSXVDO0FBQ3ZDLEFBQVMsUUFBRCxDQUFDLGNBQWMsQ0FBQTtFQUNyQixPQUFPLEVBQUMsSUFBSztFQUNiOzs7NkVBRzJFO0VBQzNFLHFCQUFxQixFQUFDLGNBQU0sQ0FBUSxnQkFBTTtFQUMxQyxHQUFHLEVBQUMsSUFBSztFQUNULFdBQVcsRUFBQyxLQUFNO0NBQ25COztBQUNEOzs7O3FFQUlxRTtBQUNyRTtnRUFDZ0U7QUFDaEU7Ozs7bUVBSW1FO0FBQ25FLEFBQVMsUUFBRCxDQUFDLGNBQWMsQ0FBQTtFQUNyQixXQUFXLEVBQUMsQ0FBRTtFQUNkLFFBQVEsRUFBQyxDQUFFO0NBQ1o7O0FBQ0QsQUFBd0IsUUFBaEIsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFBO0VBQ3hCLFdBQVcsRUFBQywyQ0FBNEM7RUFDeEQsV0FBVyxFQUFDLEdBQUk7RUFBQyxjQUFjLEVBQUMsTUFBTztFQUN2QyxTQUFTLEVBQUMsd0JBQUs7RUFBa0IsV0FBVyxFQUFDLElBQUs7RUFDbEQsS0FBSyxFQUFDLFdBQUc7RUFBUyxNQUFNLEVBQUMsQ0FBRTtFQUFDLFNBQVMsRUFBQyxPQUFRO0NBQy9DOztBQUNEOzs7Ozs7NEVBTTRFO0FBQzVFLEFBQVMsUUFBRCxDQUFDLFlBQVksQ0FBQTtFQUNuQixhQUFhLEVBQUMsSUFBSztFQUNuQjs7OzhFQUc0RTtFQUM1RSxXQUFXLEVBQUMsQ0FBRTtFQUNkLFFBQVEsRUFBQyxDQUFFO0VBQ1gsUUFBUSxFQUFDLFFBQVM7RUFDbEIsWUFBWSxFQUFDLGtCQUFHO0NBQ2pCOztBQUVEOzs7Ozs7O2tEQU9rRDtBQUNsRDs7NkRBRTZEO0FBQzdELEFBQVMsUUFBRCxDQUFDLGdCQUFnQixDQUFBO0VBQ3ZCLE1BQU0sRUFBQyxDQUFFO0NBQ1Y7O0FBQ0QsQUFBMEIsUUFBbEIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUE7RUFDN0IsWUFBWSxFQUFDLEdBQUk7RUFBQyxRQUFRLEVBQUMsTUFBTztFQUNsQyxNQUFNLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFHO0VBQVcsVUFBVSxFQUFDLFNBQUc7Q0FDOUM7O0FBQ0QsQUFBZ0MsUUFBeEIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFBO0VBQ2pDLEtBQUssRUFBQyxJQUFLO0VBQUMsTUFBTSxFQUFDLElBQUs7RUFBQyxVQUFVLEVBQUMsS0FBTTtFQUFDLE9BQU8sRUFBQyxLQUFNO0VBQ3pELE1BQU0sRUFBQyxlQUFTLENBQU0sZ0JBQVU7Q0FDakM7O0FBQ0Q7O2lCQUVpQjtBQUNqQixBQUFTLFFBQUQsQ0FBQyxnQkFBZ0IsQ0FBQTtFQUN2QixPQUFPLEVBQUMsSUFBSztFQUFDLGNBQWMsRUFBQyxNQUFPO0VBQUMsR0FBRyxFQUFDLEdBQUk7RUFDN0MsVUFBVSxFQUFDLElBQUs7Q0FDakI7O0FBQ0Q7K0NBQytDO0FBQy9DOzs7Ozs7MENBTTBDO0FBQzFDLEFBQVMsUUFBRCxDQUFDLGNBQWMsQ0FBQTtFQUNyQixXQUFXLEVBQUMsMkNBQTRDO0VBQ3hELFdBQVcsRUFBQyxHQUFJO0VBQUMsY0FBYyxFQUFDLE1BQU87RUFDdkMsU0FBUyxFQUFDLHdCQUFLO0VBQWtCLFdBQVcsRUFBQyxHQUFJO0VBQ2pELEtBQUssRUFBQyxXQUFHO0VBQ1QsTUFBTSxFQUFDLFFBQVM7RUFDaEIsU0FBUyxFQUFDLE1BQU87RUFDakIsNkVBQTZFO0VBQzdFLFFBQVEsRUFBQyxRQUFTO0NBQ25COztBQUNEOzs7Ozs7Ozs7Ozs7Ozs7K0NBZStDO0FBQy9DLEFBQXVCLFFBQWYsQ0FBQyxjQUFjLEFBQUEsUUFBUSxDQUFBO0VBQzdCLE9BQU8sRUFBQyxPQUFRO0VBQ2hCLFFBQVEsRUFBQyxRQUFTO0VBQUMsSUFBSSxFQUFDLDZCQUFJO0VBQTBCLEdBQUcsRUFBQyxLQUFNO0VBQ2hFLFdBQVcsRUFBQyxHQUFJO0VBQUMsU0FBUyxFQUFDLEtBQU07RUFBQyxXQUFXLEVBQUMsQ0FBRTtFQUNoRCxLQUFLLEVBQUMsYUFBRztFQUNULGNBQWMsRUFBQyxJQUFLO0NBQ3JCOztBQUNEOzs7Ozs7bUVBTW1FO0FBQ25FLEFBQTRFLFFBQXBFLENBQUMsU0FBUyxDQUFDLENBQUMsQUFBQSxJQUFLLENBQUEsQUFBQSxjQUFjLENBQUMsSUFBSyxDQUFBLEFBQUEsVUFBVSxDQUFDLElBQUssQ0FBQSxBQUFBLGVBQWUsRUFBQztFQUMzRSxTQUFTLEVBQUMseUJBQUs7RUFBbUIsV0FBVyxFQUFDLElBQUs7RUFDbkQsS0FBSyxFQUFDLGlCQUFHO0VBQWUsV0FBVyxFQUFDLEdBQUk7RUFDeEMsTUFBTSxFQUFDLFFBQVM7RUFBQyxTQUFTLEVBQUMsTUFBTztDQUNuQzs7QUFDRCxBQUFTLFFBQUQsQ0FBQyxjQUFjLENBQUE7RUFDckIsVUFBVSxFQUFDLElBQUs7RUFBQyxNQUFNLEVBQUMsUUFBUztFQUFDLE9BQU8sRUFBQyxDQUFFO0NBQzdDOztBQUNELEFBQXdCLFFBQWhCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQTtFQUN4QixTQUFTLEVBQUMseUJBQUs7RUFBbUIsV0FBVyxFQUFDLElBQUs7RUFDbkQsS0FBSyxFQUFDLGlCQUFHO0VBQWUsV0FBVyxFQUFDLEdBQUk7RUFDeEMsWUFBWSxFQUFDLElBQUs7RUFBQyxRQUFRLEVBQUMsUUFBUztFQUFDLGFBQWEsRUFBQyxHQUFJO0NBQ3pEOztBQUNEOzs7b0VBR29FO0FBQ3BFLEFBQTBCLFFBQWxCLENBQUMsY0FBYyxDQUFDLEVBQUUsQUFBQSxRQUFRLENBQUE7RUFDaEMsT0FBTyxFQUFDLEVBQUc7RUFBQyxRQUFRLEVBQUMsUUFBUztFQUFDLElBQUksRUFBQyxHQUFJO0VBQUMsR0FBRyxFQUFDLEtBQU07RUFDbkQsS0FBSyxFQUFDLEdBQUk7RUFBQyxNQUFNLEVBQUMsR0FBSTtFQUFDLGFBQWEsRUFBQyxHQUFJO0VBQ3pDLFVBQVUsRUFBQyxZQUFhO0VBQUMsT0FBTyxFQUFDLEVBQUc7Q0FDckM7O0FBQ0QsQUFBbUIsUUFBWCxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUE7RUFBQyxVQUFVLEVBQUMsTUFBTztFQUFDLEtBQUssRUFBQyxXQUFHO0VBQVMsV0FBVyxFQUFDLEdBQUk7Q0FBRzs7QUFFOUU7O3VEQUV1RDtBQUN2RCxBQUFTLFFBQUQsQ0FBQyxjQUFjLENBQUE7RUFBQyxNQUFNLEVBQUMsUUFBUztDQUFHOztBQUMzQyxBQUF3QixRQUFoQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7RUFDdkIsS0FBSyxFQUFDLGFBQUc7RUFBVyxlQUFlLEVBQUMsSUFBSztFQUN6QyxPQUFPLEVBQUMsV0FBWTtFQUFDLFdBQVcsRUFBQyxRQUFTO0VBQUMsR0FBRyxFQUFDLEdBQUk7RUFDbkQsV0FBVyxFQUFDLEdBQUk7RUFBQyxXQUFXLEVBQUMsTUFBTztDQUNyQzs7QUFDRCxBQUF5QixRQUFqQixDQUFDLGNBQWMsQ0FBQyxDQUFDLEFBQUEsTUFBTSxDQUFBO0VBQUMsZUFBZSxFQUFDLFNBQVU7Q0FBRzs7QUFDN0QsQUFBZ0MsUUFBeEIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU0sQ0FBQyxPQUFPLENBQUE7RUFBQyxTQUFTLEVBQUMsZUFBVTtDQUFROztBQUNwRSxBQUFTLFFBQUQsQ0FBQyxjQUFjLENBQUE7RUFDckI7Ozs7Ozs7MkVBT3lFO0VBQ3pFLE9BQU8sRUFBQyxJQUFLO0VBQUMsY0FBYyxFQUFDLE1BQU87RUFBQyxXQUFXLEVBQUMsVUFBVztFQUFDLEdBQUcsRUFBQyxHQUFJO0VBQ3JFLFVBQVUsRUFBQyxJQUFLO0VBQUMsVUFBVSxFQUFDLE1BQU87Q0FDcEM7O0FBQ0Q7OzBCQUUwQjtBQUMxQixBQUF3QixRQUFoQixDQUFDLGNBQWMsQ0FBQyxJQUFJO0FBQzVCLEFBQTBCLFFBQWxCLENBQUMsZ0JBQWdCLENBQUMsSUFBSTtBQUM5QixBQUE2QixRQUFyQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO0VBQy9CLFdBQVcsRUFBQywyQ0FBNEM7RUFDeEQsV0FBVyxFQUFDLEdBQUk7RUFBQyxTQUFTLEVBQUMsSUFBSztFQUFDLEtBQUssRUFBQyxXQUFHO0NBQzNDOztBQUNELEFBQXdCLFFBQWhCLENBQUMsY0FBYyxDQUFDLEtBQUs7QUFDN0IsQUFBMEIsUUFBbEIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUE7RUFDN0IsV0FBVyxFQUFDLFdBQUc7RUFBUyxTQUFTLEVBQUMsSUFBSztFQUFDLGNBQWMsRUFBQyxLQUFNO0VBQzdELGNBQWMsRUFBQyxTQUFVO0VBQUMsS0FBSyxFQUFDLGFBQUc7RUFBVyxXQUFXLEVBQUMsR0FBSTtDQUMvRDs7QUFDRDs7Ozs7Ozs7O3dDQVN3QztBQUN4QyxBQUF3QixRQUFoQixDQUFDLGNBQWMsQ0FBQyxXQUFXO0FBQ25DLEFBQTBCLFFBQWxCLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFBO0VBQ25DLFdBQVcsRUFBQyxXQUFHO0VBQVMsU0FBUyxFQUFDLElBQUs7RUFBQyxjQUFjLEVBQUMsS0FBTTtFQUM3RCxjQUFjLEVBQUMsU0FBVTtFQUFDLEtBQUssRUFBQyxpQkFBRztFQUFlLFdBQVcsRUFBQyxHQUFJO0NBQ25FOztBQUNEOzREQUM0RDtBQUM1RCxNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7RUFDZixBQUFTLFFBQUQsQ0FBQyxjQUFjLENBQUE7SUFBQyxxQkFBcUIsRUFBQyxHQUFJO0lBQUMsR0FBRyxFQUFDLElBQUs7R0FBRztFQUMvRDs7Ozs4Q0FJNEM7RUFDNUMsQUFBUyxRQUFELENBQUMsWUFBWSxDQUFBO0lBQUMsV0FBVyxFQUFDLENBQUU7SUFBQyxRQUFRLEVBQUMsSUFBSztJQUFDLEtBQUssRUFBQyxDQUFFO0dBQUc7RUFDL0QsQUFBUyxRQUFELENBQUMsY0FBYyxDQUFBO0lBQUMsV0FBVyxFQUFDLENBQUU7SUFBQyxRQUFRLEVBQUMsSUFBSztJQUFDLEtBQUssRUFBQyxDQUFFO0dBQUc7RUFDakU7OztvREFHa0Q7RUFDbEQsQUFBUyxRQUFELENBQUMsZ0JBQWdCLENBQUE7SUFDdkI7OztrQ0FHOEI7SUFDOUIsT0FBTyxFQUFDLElBQUs7SUFBQyxXQUFXLEVBQUMsVUFBVztJQUFDLEdBQUcsRUFBQyxJQUFLO0lBQy9DLFVBQVUsRUFBQyxDQUFFO0dBQ2Q7RUFDRCxBQUEwQixRQUFsQixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQTtJQUM3QixJQUFJLEVBQUMsUUFBUztJQUFDLEtBQUssRUFBQyxJQUFLO0dBQzNCO0VBQ0Q7O3dCQUVzQjtFQUN0QixBQUFTLFFBQUQsQ0FBQyxnQkFBZ0IsQ0FBQTtJQUFDLFVBQVUsRUFBQyxJQUFLO0dBQUc7OztBQUUvQyxNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7RUFDZixBQUFTLFFBQUQsQ0FBQyxTQUFTLENBQUE7SUFBQyxVQUFVLEVBQUMsSUFBSztJQUFDLFdBQVcsRUFBQyxJQUFLO0dBQUc7RUFDeEQ7Ozs7Ozs7OEJBTzRCO0VBQzVCLEFBQVMsUUFBRCxDQUFDLFlBQVksQ0FBQTtJQUNuQixhQUFhLEVBQUMsR0FBSTtJQUNsQixZQUFZLEVBQUMsQ0FBRTtJQUNmLFdBQVcsRUFBQyxJQUFLO0dBQ2xCO0VBQ0QsQUFBdUIsUUFBZixDQUFDLGNBQWMsQUFBQSxRQUFRLENBQUE7SUFDN0IsU0FBUyxFQUFDLElBQUs7SUFDZixJQUFJLEVBQUMsQ0FBRTtJQUNQOzs4REFFMEQ7SUFDMUQsR0FBRyxFQUFDLEtBQU07R0FDWDs7O0FBR0g7Ozs7Ozs7c0VBT3NFO0FBQ3RFOzsrQ0FFK0M7QUFDL0MsQUFBUyxRQUFELENBQUMsZ0JBQWdCLENBQUE7RUFBQyxNQUFNLEVBQUMsUUFBUztDQUFHOztBQUM3QyxBQUEwQixRQUFsQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQTtFQUMxQixXQUFXLEVBQUMsMkNBQTRDO0VBQ3hELFdBQVcsRUFBQyxHQUFJO0VBQUMsY0FBYyxFQUFDLE1BQU87RUFDdkMsU0FBUyxFQUFDLHNCQUFLO0VBQWdCLFdBQVcsRUFBQyxJQUFLO0VBQ2hELEtBQUssRUFBQyxXQUFHO0VBQVMsTUFBTSxFQUFDLENBQUU7RUFBQyxTQUFTLEVBQUMsT0FBUTtDQUMvQzs7QUFDRDs7NEVBRTRFO0FBQzVFLEFBQXFCLFFBQWIsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFBO0VBQ2pDLHFCQUFxQixFQUFDLHlCQUFNO0VBQzVCOzs7c0VBR29FO0VBQ3BFLEdBQUcsRUFBQyxJQUFLO0VBQ1QsV0FBVyxFQUFDLEtBQU07Q0FDbkI7O0FBQ0Q7OztxREFHcUQ7QUFDckQsQUFBcUIsUUFBYixDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUE7RUFBQyxXQUFXLEVBQUMsVUFBVztFQUFDLFFBQVEsRUFBQyxJQUFLO0NBQUc7O0FBQzNFLEFBQVMsUUFBRCxDQUFDLGVBQWUsQ0FBQTtFQUN0QixXQUFXLEVBQUMsQ0FBRTtFQUNkOzs7Ozt1Q0FLcUM7RUFDckMsT0FBTyxFQUFDLElBQUs7RUFBQyxjQUFjLEVBQUMsTUFBTztFQUFDLEdBQUcsRUFBQyxJQUFLO0NBQy9DOztBQUNEOzs7OztxQ0FLcUM7QUFDckMsQUFBUyxRQUFELENBQUMsY0FBYyxDQUFBO0VBQ3JCLE1BQU0sRUFBQyxDQUFFO0VBQ1QsVUFBVSxFQUFDLFdBQVk7RUFDdkI7Ozs7d0RBSXNEO0VBQ3RELFFBQVEsRUFBQyxRQUFTO0VBQ2xCLE9BQU8sRUFBQyxDQUFFO0VBQ1YsTUFBTSxFQUFDLFFBQVM7Q0FDakI7O0FBQ0Q7Ozs7Ozs7OztnRUFTZ0U7QUFDaEUsQUFBUyxRQUFELENBQUMsY0FBYyxDQUFBO0VBQ3JCOzs7OzZFQUkyRTtFQUMzRSxRQUFRLEVBQUMsUUFBUztFQUFDLElBQUksRUFBQyxNQUFPO0VBQUMsTUFBTSxFQUFDLGtCQUFJO0VBQzNDLFdBQVcsRUFBQywyQ0FBNEM7RUFDeEQsV0FBVyxFQUFDLEdBQUk7RUFBQyxTQUFTLEVBQUMsSUFBSztFQUFDLFdBQVcsRUFBQyxDQUFFO0VBQy9DLEtBQUssRUFBQyxhQUFHO0VBQVcsTUFBTSxFQUFDLENBQUU7RUFDN0IsY0FBYyxFQUFDLElBQUs7Q0FDckI7O0FBQ0Q7Ozs7c0VBSXNFO0FBQ3RFLEFBQTRDLFFBQXBDLENBQUMsY0FBYyxDQUFDLENBQUMsQUFBQSxJQUFLLENBQUEsQUFBQSxjQUFjLEVBQUM7RUFDM0MsU0FBUyxFQUFDLElBQUs7RUFBQyxXQUFXLEVBQUMsR0FBSTtFQUNoQyxLQUFLLEVBQUMsaUJBQUc7RUFBZSxXQUFXLEVBQUMsR0FBSTtFQUN4QyxNQUFNLEVBQUMsUUFBUztFQUFDLFNBQVMsRUFBQyxNQUFPO0NBQ25DOztBQUNELEFBQTBCLFFBQWxCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7RUFBQyxLQUFLLEVBQUMsV0FBRztFQUFTLFdBQVcsRUFBQyxHQUFJO0NBQUc7O0FBQ3RFOzs7OzRFQUk0RTtBQUM1RSxBQUF3QixRQUFoQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUE7RUFDMUI7O3NEQUVvRDtFQUNwRCxPQUFPLEVBQUMsS0FBTTtFQUFDLFVBQVUsRUFBQyxNQUFPO0VBQ2pDLFVBQVUsRUFBQyxJQUFLO0NBQ2pCOztBQUNEOztrQkFFa0I7QUFDbEIsTUFBTSxFQUFMLFNBQVMsRUFBRSxNQUFNO0VBQ2hCLEFBQXFCLFFBQWIsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFBO0lBQUMsV0FBVyxFQUFDLE1BQU87R0FBRztFQUN4RCxBQUFTLFFBQUQsQ0FBQyxlQUFlLENBQUE7SUFDdEIsV0FBVyxFQUFDLE1BQU87SUFDbkIsT0FBTyxFQUFDLElBQUs7SUFBQyxxQkFBcUIsRUFBQyx5QkFBTTtJQUFrQixHQUFHLEVBQUMsSUFBSztJQUNyRSxVQUFVLEVBQUMsR0FBSTtHQUNoQjs7O0FBRUgsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0VBQ2Y7O2dEQUU4QztFQUM5QyxBQUFTLFFBQUQsQ0FBQyxlQUFlLENBQUE7SUFBQyxxQkFBcUIsRUFBQyxHQUFJO0lBQUMsR0FBRyxFQUFDLElBQUs7R0FBRzs7O0FBR2xFOzs7Ozs7Ozs7NkNBUzZDO0FBQzdDLEFBQVMsUUFBRCxDQUFDLGFBQWEsQ0FBQTtFQUNwQixPQUFPLEVBQUMsSUFBSztFQUFDLHFCQUFxQixFQUFDLHlCQUFNO0VBQzFDLEdBQUcsRUFBQyxJQUFLO0VBQ1QsVUFBVSxFQUFDLElBQUs7RUFDaEI7OytEQUU2RDtFQUM3RCxXQUFXLEVBQUMsSUFBSztFQUNqQjs7OEVBRTRFO0VBQzVFLFVBQVUsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGFBQUc7Q0FDekI7O0FBQ0QsTUFBTSxFQUFMLFNBQVMsRUFBRSxLQUFLO0VBQ2YsQUFBUyxRQUFELENBQUMsYUFBYSxDQUFBO0lBQ3BCLHFCQUFxQixFQUFDLEdBQUk7SUFBQyxHQUFHLEVBQUMsSUFBSztJQUNwQyxVQUFVLEVBQUMsSUFBSztJQUFDLFdBQVcsRUFBQyxJQUFLO0dBQ25DIiwibmFtZXMiOltdfQ== */

/*# sourceMappingURL=testimonial.css.map */
