@homebound/beam 3.23.1 → 3.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Css.json +4 -1
- package/dist/index.cjs +611 -324
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +4 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +72 -3
- package/dist/index.d.ts +72 -3
- package/dist/index.js +515 -235
- package/dist/index.js.map +1 -1
- package/dist/truss.css +18 -0
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -92,6 +92,8 @@ __export(index_exports, {
|
|
|
92
92
|
DnDGridItemHandle: () => DnDGridItemHandle,
|
|
93
93
|
EXPANDABLE_HEADER: () => EXPANDABLE_HEADER,
|
|
94
94
|
EditColumnsButton: () => EditColumnsButton,
|
|
95
|
+
EnvironmentBanner: () => EnvironmentBanner,
|
|
96
|
+
EnvironmentBannerLayout: () => EnvironmentBannerLayout,
|
|
95
97
|
ErrorMessage: () => ErrorMessage,
|
|
96
98
|
FieldGroup: () => FieldGroup,
|
|
97
99
|
FilterDropdownMenu: () => _FilterDropdownMenu,
|
|
@@ -190,6 +192,8 @@ __export(index_exports, {
|
|
|
190
192
|
actionColumn: () => actionColumn,
|
|
191
193
|
applyRowFn: () => applyRowFn,
|
|
192
194
|
assignDefaultColumnIds: () => assignDefaultColumnIds,
|
|
195
|
+
bannerAndNavbarChromeTop: () => bannerAndNavbarChromeTop,
|
|
196
|
+
beamEnvironmentBannerLayoutHeightVar: () => beamEnvironmentBannerLayoutHeightVar,
|
|
193
197
|
beamLayoutViewportHeightVar: () => beamLayoutViewportHeightVar,
|
|
194
198
|
beamLayoutViewportWidthVar: () => beamLayoutViewportWidthVar,
|
|
195
199
|
beamNavbarLayoutHeightVar: () => beamNavbarLayoutHeightVar,
|
|
@@ -240,6 +244,7 @@ __export(index_exports, {
|
|
|
240
244
|
dragHandleColumn: () => dragHandleColumn,
|
|
241
245
|
emptyCell: () => emptyCell,
|
|
242
246
|
ensureClientSideSortValueIsSortable: () => ensureClientSideSortValueIsSortable,
|
|
247
|
+
environmentBannerSizePx: () => environmentBannerSizePx,
|
|
243
248
|
filterTestIdPrefix: () => filterTestIdPrefix,
|
|
244
249
|
formatDate: () => formatDate,
|
|
245
250
|
formatDateRange: () => formatDateRange,
|
|
@@ -301,8 +306,10 @@ __export(index_exports, {
|
|
|
301
306
|
selectColumn: () => selectColumn,
|
|
302
307
|
selectedStyles: () => selectedStyles,
|
|
303
308
|
setDefaultStyle: () => setDefaultStyle,
|
|
309
|
+
setEnvironmentFavicon: () => setEnvironmentFavicon,
|
|
304
310
|
setGridTableDefaults: () => setGridTableDefaults,
|
|
305
311
|
setRunningInJest: () => setRunningInJest,
|
|
312
|
+
shouldShowEnvironmentBanner: () => shouldShowEnvironmentBanner,
|
|
306
313
|
shouldSkipScrollTo: () => shouldSkipScrollTo,
|
|
307
314
|
simpleDataRows: () => simpleDataRows,
|
|
308
315
|
simpleHeader: () => simpleHeader,
|
|
@@ -375,6 +382,10 @@ var Tokens = /* @__PURE__ */ ((Tokens2) => {
|
|
|
375
382
|
Tokens2["ButtonTertiaryFgPressed"] = "--b-button-tertiary-fg-pressed";
|
|
376
383
|
Tokens2["Danger"] = "--b-danger";
|
|
377
384
|
Tokens2["DangerPressed"] = "--b-danger-pressed";
|
|
385
|
+
Tokens2["EnvBrandDev"] = "--b-env-brand-dev";
|
|
386
|
+
Tokens2["EnvBrandLocalProd"] = "--b-env-brand-local-prod";
|
|
387
|
+
Tokens2["EnvBrandProd"] = "--b-env-brand-prod";
|
|
388
|
+
Tokens2["EnvBrandQa"] = "--b-env-brand-qa";
|
|
378
389
|
Tokens2["FieldBgDefault"] = "--b-field-bg-default";
|
|
379
390
|
Tokens2["FieldBgDisabled"] = "--b-field-bg-disabled";
|
|
380
391
|
Tokens2["FieldBgHover"] = "--b-field-bg-hover";
|
|
@@ -1507,6 +1518,19 @@ var CssBuilder = class _CssBuilder {
|
|
|
1507
1518
|
float(value) {
|
|
1508
1519
|
return this.add("float", value);
|
|
1509
1520
|
}
|
|
1521
|
+
// fontStyle
|
|
1522
|
+
/** Sets `fontStyle: "italic"`. */
|
|
1523
|
+
get fsyi() {
|
|
1524
|
+
return this.add("fontStyle", "italic");
|
|
1525
|
+
}
|
|
1526
|
+
/** Sets `fontStyle: "normal"`. */
|
|
1527
|
+
get fsynm() {
|
|
1528
|
+
return this.add("fontStyle", "normal");
|
|
1529
|
+
}
|
|
1530
|
+
/** Sets `fontStyle: value`. */
|
|
1531
|
+
fsy(value) {
|
|
1532
|
+
return this.add("fontStyle", value);
|
|
1533
|
+
}
|
|
1510
1534
|
// fontWeight
|
|
1511
1535
|
/** Sets `fontWeight: "normal"`. */
|
|
1512
1536
|
get fwn() {
|
|
@@ -4690,7 +4714,7 @@ function Tooltip(props) {
|
|
|
4690
4714
|
children,
|
|
4691
4715
|
title,
|
|
4692
4716
|
disabled,
|
|
4693
|
-
delay =
|
|
4717
|
+
delay = 150,
|
|
4694
4718
|
bgColor,
|
|
4695
4719
|
xss
|
|
4696
4720
|
} = props;
|
|
@@ -6228,6 +6252,7 @@ function getParsedStorage(key) {
|
|
|
6228
6252
|
}
|
|
6229
6253
|
|
|
6230
6254
|
// src/layouts/layoutVars.ts
|
|
6255
|
+
var beamEnvironmentBannerLayoutHeightVar = "--beam-environment-banner-height";
|
|
6231
6256
|
var beamNavbarLayoutHeightVar = "--beam-navbar-layout-height";
|
|
6232
6257
|
var beamPageHeaderLayoutHeightVar = "--beam-page-header-layout-height";
|
|
6233
6258
|
var beamLayoutViewportWidthVar = "--beam-layout-viewport-width";
|
|
@@ -6240,11 +6265,14 @@ function documentScrollChromeLeft() {
|
|
|
6240
6265
|
function documentScrollChromeWidth() {
|
|
6241
6266
|
return `calc(var(${beamLayoutViewportWidthVar}, 100vw) - var(${beamSideNavLayoutWidthVar}, 0px))`;
|
|
6242
6267
|
}
|
|
6268
|
+
function bannerAndNavbarChromeTop() {
|
|
6269
|
+
return `calc(var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
6270
|
+
}
|
|
6243
6271
|
function stickyNavAndHeaderOffset(basePx = 0) {
|
|
6244
|
-
return `calc(${basePx}px + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px))`;
|
|
6272
|
+
return `calc(${basePx}px + var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px))`;
|
|
6245
6273
|
}
|
|
6246
6274
|
function stickyTableHeaderOffset(basePx = 0) {
|
|
6247
|
-
return `calc(${basePx}px + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px) + var(${beamTableActionsHeightVar}, 0px))`;
|
|
6275
|
+
return `calc(${basePx}px + var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px) + var(${beamTableActionsHeightVar}, 0px))`;
|
|
6248
6276
|
}
|
|
6249
6277
|
|
|
6250
6278
|
// src/utils/zIndices.ts
|
|
@@ -6267,6 +6295,11 @@ var zIndices = {
|
|
|
6267
6295
|
// App navbar (NavbarLayout) — above the side nav and page sticky headers; full-page overlays and
|
|
6268
6296
|
// toasts still clear it.
|
|
6269
6297
|
navbar: 120,
|
|
6298
|
+
// Navbar mobile drawer + scrim — above navbar; below environment banner.
|
|
6299
|
+
navbarMobileMenuScrim: 124,
|
|
6300
|
+
navbarMobileMenu: 125,
|
|
6301
|
+
// Environment banner (EnvironmentBannerLayout) — above navbar mobile menu; below snackbar.
|
|
6302
|
+
environmentBanner: 130,
|
|
6270
6303
|
// Full-page overlays — high enough to clear consuming-app nav bars (~999).
|
|
6271
6304
|
// Both layouts own their Toast internally so it renders inside the overlay header.
|
|
6272
6305
|
pageOverlay: 1e3,
|
|
@@ -12886,29 +12919,36 @@ function ComboBoxBase(props) {
|
|
|
12886
12919
|
} = props;
|
|
12887
12920
|
const labelStyle = otherProps.labelStyle ?? fieldProps?.labelStyle ?? "above";
|
|
12888
12921
|
const getOptionLabel = (0, import_react49.useCallback)(
|
|
12889
|
-
(o) => unsetLabel && o === unsetOption ? unsetLabel : onAddNew && o
|
|
12922
|
+
(o) => unsetLabel && o === unsetOption ? unsetLabel : onAddNew && isAddNewOption(o) ? o.name : propOptionLabel(o),
|
|
12890
12923
|
// propOptionLabel is basically always a lambda, so don't dep on it
|
|
12891
12924
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12892
|
-
[unsetLabel]
|
|
12925
|
+
[unsetLabel, onAddNew]
|
|
12893
12926
|
);
|
|
12894
12927
|
const getOptionValue = (0, import_react49.useCallback)(
|
|
12895
|
-
(o) => unsetLabel && o === unsetOption ? void 0 : onAddNew && o
|
|
12928
|
+
(o) => unsetLabel && o === unsetOption ? void 0 : onAddNew && isAddNewOption(o) ? o.id : propOptionValue(o),
|
|
12896
12929
|
// propOptionValue is basically always a lambda, so don't dep on it
|
|
12897
12930
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12898
|
-
[unsetLabel]
|
|
12931
|
+
[unsetLabel, onAddNew]
|
|
12899
12932
|
);
|
|
12900
12933
|
const getOptionMenuLabel = (0, import_react49.useCallback)(
|
|
12901
|
-
(o) =>
|
|
12934
|
+
(o) => {
|
|
12935
|
+
const isAddNew = Boolean(onAddNew) && isAddNewOption(o);
|
|
12936
|
+
if (propOptionMenuLabel) {
|
|
12937
|
+
return propOptionMenuLabel(o, Boolean(unsetLabel) && o === unsetOption, isAddNew);
|
|
12938
|
+
}
|
|
12939
|
+
const label = getOptionLabel(o);
|
|
12940
|
+
return isAddNew ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "fsyi", children: label }) : label;
|
|
12941
|
+
},
|
|
12902
12942
|
// propOptionMenuLabel is basically always a lambda, so don't dep on it
|
|
12903
12943
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12904
|
-
[unsetLabel, getOptionLabel]
|
|
12944
|
+
[unsetLabel, getOptionLabel, onAddNew]
|
|
12905
12945
|
);
|
|
12906
12946
|
const options = (0, import_react49.useMemo)(
|
|
12907
|
-
() => initializeOptions(propOptions, getOptionValue, getOptionLabel, unsetLabel,
|
|
12947
|
+
() => initializeOptions(propOptions, getOptionValue, getOptionLabel, unsetLabel, autoSort),
|
|
12908
12948
|
// If the caller is using { current, load, options }, memoize on only `current` and `options` values.
|
|
12909
12949
|
// ...and don't bother on memoizing on getOptionValue b/c it's basically always a lambda
|
|
12910
12950
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12911
|
-
Array.isArray(propOptions) ? [propOptions, unsetLabel,
|
|
12951
|
+
Array.isArray(propOptions) ? [propOptions, unsetLabel, autoSort] : [propOptions.current, propOptions.options, unsetLabel, autoSort]
|
|
12912
12952
|
);
|
|
12913
12953
|
const values = (0, import_react49.useMemo)(() => propValues ?? [], [propValues]);
|
|
12914
12954
|
const inputStylePalette = (0, import_react49.useMemo)(() => propsInputStylePalette, [propsInputStylePalette]);
|
|
@@ -12930,9 +12970,8 @@ function ComboBoxBase(props) {
|
|
|
12930
12970
|
const {
|
|
12931
12971
|
searchValue
|
|
12932
12972
|
} = fieldState;
|
|
12933
|
-
const
|
|
12934
|
-
|
|
12935
|
-
}, [options, searchValue, getOptionLabel, contains]);
|
|
12973
|
+
const addNewOption = (0, import_react49.useMemo)(() => getAddNewOption(searchValue, options, getOptionLabel, onAddNew), [searchValue, options, getOptionLabel, onAddNew]);
|
|
12974
|
+
const filteredOptions = (0, import_react49.useMemo)(() => !searchValue ? options : addNewOption ? [...options.filter((o) => contains(getOptionLabel(o), searchValue)), addNewOption] : options.filter((o) => contains(getOptionLabel(o), searchValue)), [options, searchValue, getOptionLabel, contains, addNewOption]);
|
|
12936
12975
|
function resetField() {
|
|
12937
12976
|
setFieldState((prevState) => ({
|
|
12938
12977
|
...prevState,
|
|
@@ -13023,9 +13062,9 @@ function ComboBoxBase(props) {
|
|
|
13023
13062
|
onSelect([], []);
|
|
13024
13063
|
return;
|
|
13025
13064
|
}
|
|
13026
|
-
const selectedOption =
|
|
13027
|
-
if (
|
|
13028
|
-
onAddNew(fieldState.inputValue);
|
|
13065
|
+
const selectedOption = filteredOptions.find((o) => valueToKey(getOptionValue(o)) === key);
|
|
13066
|
+
if (onAddNew && isAddNewOption(selectedOption) && fieldState.inputValue) {
|
|
13067
|
+
onAddNew(fieldState.inputValue.trim());
|
|
13029
13068
|
return;
|
|
13030
13069
|
}
|
|
13031
13070
|
onSelect([keyToValue(key)], selectedOption ? [selectedOption] : []);
|
|
@@ -13120,7 +13159,7 @@ function ComboBoxBase(props) {
|
|
|
13120
13159
|
function getInputValue(selectedOptions, getOptionLabel, multiselect, nothingSelectedText, readOnly) {
|
|
13121
13160
|
return selectedOptions.length === 1 ? getOptionLabel(selectedOptions[0]) : readOnly && selectedOptions.length > 0 ? selectedOptions.map(getOptionLabel).join(", ") : multiselect && selectedOptions.length === 0 ? nothingSelectedText : "";
|
|
13122
13161
|
}
|
|
13123
|
-
function initializeOptions(optionsOrLoad, getOptionValue, getOptionLabel, unsetLabel,
|
|
13162
|
+
function initializeOptions(optionsOrLoad, getOptionValue, getOptionLabel, unsetLabel, autoSort) {
|
|
13124
13163
|
const result = [];
|
|
13125
13164
|
if (unsetLabel) {
|
|
13126
13165
|
result.push(unsetOption);
|
|
@@ -13148,9 +13187,6 @@ function initializeOptions(optionsOrLoad, getOptionValue, getOptionLabel, unsetL
|
|
|
13148
13187
|
}
|
|
13149
13188
|
}
|
|
13150
13189
|
result.push(...autoSort ? sortOptions(userOptions, getOptionLabel) : userOptions);
|
|
13151
|
-
if (addNew) {
|
|
13152
|
-
result.push(addNewOption);
|
|
13153
|
-
}
|
|
13154
13190
|
return result;
|
|
13155
13191
|
}
|
|
13156
13192
|
function sortOptions(options, getOptionLabel) {
|
|
@@ -13161,10 +13197,25 @@ function sortOptions(options, getOptionLabel) {
|
|
|
13161
13197
|
});
|
|
13162
13198
|
}
|
|
13163
13199
|
var unsetOption = {};
|
|
13164
|
-
var
|
|
13165
|
-
|
|
13166
|
-
|
|
13167
|
-
}
|
|
13200
|
+
var addNewOptionId = "beam_new";
|
|
13201
|
+
function isAddNewOption(o) {
|
|
13202
|
+
return typeof o === "object" && o !== null && "id" in o && o.id === addNewOptionId;
|
|
13203
|
+
}
|
|
13204
|
+
function getAddNewOption(searchValue, options, getOptionLabel, onAddNew) {
|
|
13205
|
+
if (!onAddNew) return void 0;
|
|
13206
|
+
const normalizedSearch = searchValue?.trim().toLowerCase();
|
|
13207
|
+
if (!normalizedSearch) return void 0;
|
|
13208
|
+
const trimmedSearch = searchValue.trim();
|
|
13209
|
+
const matchesExistingOption = options.some((o) => {
|
|
13210
|
+
if (o === unsetOption) return false;
|
|
13211
|
+
return getOptionLabel(o).trim().toLowerCase() === normalizedSearch;
|
|
13212
|
+
});
|
|
13213
|
+
if (matchesExistingOption) return void 0;
|
|
13214
|
+
return {
|
|
13215
|
+
id: addNewOptionId,
|
|
13216
|
+
name: `Add "${trimmedSearch}"`
|
|
13217
|
+
};
|
|
13218
|
+
}
|
|
13168
13219
|
function disabledOptionToKeyedTuple(disabledOption) {
|
|
13169
13220
|
if (typeof disabledOption === "object" && disabledOption !== null) {
|
|
13170
13221
|
return [valueToKey(disabledOption.value), disabledOption.reason];
|
|
@@ -19609,7 +19660,7 @@ function hydrateDateRange(value) {
|
|
|
19609
19660
|
|
|
19610
19661
|
// src/components/Filters/selectedFilterLabelUtils.ts
|
|
19611
19662
|
function resolveOptionSelectedFilterLabel(optionsOrLoad, getOptionValue, getOptionLabel, value) {
|
|
19612
|
-
const options = initializeOptions(optionsOrLoad, getOptionValue, getOptionLabel, void 0, false
|
|
19663
|
+
const options = initializeOptions(optionsOrLoad, getOptionValue, getOptionLabel, void 0, false);
|
|
19613
19664
|
const match = options.find((o) => getOptionValue(o) === value);
|
|
19614
19665
|
return match ? getOptionLabel(match) : String(value);
|
|
19615
19666
|
}
|
|
@@ -21729,6 +21780,168 @@ function useDnDGridItem(props) {
|
|
|
21729
21780
|
return { dragHandleProps, dragItemProps };
|
|
21730
21781
|
}
|
|
21731
21782
|
|
|
21783
|
+
// src/components/EnvironmentBanner/EnvironmentBanner.tsx
|
|
21784
|
+
var import_runtime88 = require("@homebound/truss/runtime");
|
|
21785
|
+
var import_jsx_runtime162 = require("react/jsx-runtime");
|
|
21786
|
+
function EnvironmentBanner(props) {
|
|
21787
|
+
const {
|
|
21788
|
+
env,
|
|
21789
|
+
impersonating,
|
|
21790
|
+
...others
|
|
21791
|
+
} = props;
|
|
21792
|
+
const tid = useTestIds(others, "environmentBanner");
|
|
21793
|
+
if (!shouldShowEnvironmentBanner(env, impersonating)) {
|
|
21794
|
+
return null;
|
|
21795
|
+
}
|
|
21796
|
+
const {
|
|
21797
|
+
bgColor,
|
|
21798
|
+
badgeLabel,
|
|
21799
|
+
message,
|
|
21800
|
+
tooltip
|
|
21801
|
+
} = getEnvironmentBannerConfig(env, impersonating);
|
|
21802
|
+
const bgColorVar = maybeCssVar(bgColor);
|
|
21803
|
+
return /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("div", { ...(0, import_runtime88.trussProps)({
|
|
21804
|
+
flexShrink: "fs0",
|
|
21805
|
+
position: "relative",
|
|
21806
|
+
zIndex: ["z_var", {
|
|
21807
|
+
"--zIndex": (0, import_runtime88.maybeCssVar)(zIndices.environmentBanner)
|
|
21808
|
+
}],
|
|
21809
|
+
backgroundColor: ["bgColor_var", {
|
|
21810
|
+
"--backgroundColor": (0, import_runtime88.maybeCssVar)(bgColorVar)
|
|
21811
|
+
}],
|
|
21812
|
+
height: ["h_var", {
|
|
21813
|
+
"--height": `${environmentBannerSizePx}px`
|
|
21814
|
+
}],
|
|
21815
|
+
width: "w100"
|
|
21816
|
+
}), role: "banner", ...tid, children: [
|
|
21817
|
+
getInvertedCorner("left", bgColorVar),
|
|
21818
|
+
getInvertedCorner("right", bgColorVar),
|
|
21819
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("div", { className: "relative z2 df aic jcsb h100 pl2 mdandup_pl6 pr2 mdandup_pr6", ...tid.content, children: [
|
|
21820
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("span", { className: "df aic gap2 fg1 mh0 oh", ...tid.left, children: [
|
|
21821
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsx)(Tag, { text: badgeLabel, xss: {
|
|
21822
|
+
backgroundColor: "bgColor_FFFFFF90"
|
|
21823
|
+
}, ...tid.badge }),
|
|
21824
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("span", { ...(0, import_runtime88.trussProps)({
|
|
21825
|
+
...{
|
|
21826
|
+
alignItems: "aic",
|
|
21827
|
+
gap: "gap1",
|
|
21828
|
+
fontWeight: "fw6",
|
|
21829
|
+
fontSize: "fz_12px",
|
|
21830
|
+
lineHeight: "lh_16px",
|
|
21831
|
+
color: "white"
|
|
21832
|
+
},
|
|
21833
|
+
...impersonating ? {
|
|
21834
|
+
display: "dn mdandup_df"
|
|
21835
|
+
} : {
|
|
21836
|
+
display: "df"
|
|
21837
|
+
}
|
|
21838
|
+
}), ...tid.message, children: [
|
|
21839
|
+
message,
|
|
21840
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsx)("span", { className: "fs0", ...tid.info, children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(Icon, { icon: "infoCircle", tooltip, inc: 2, color: "rgba(255, 255, 255, 1)" /* White */ }) })
|
|
21841
|
+
] })
|
|
21842
|
+
] }),
|
|
21843
|
+
impersonating != null && /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("span", { className: "df aic gap2 fw6 fz_12px lh_16px white fs0", ...tid.impersonating, children: [
|
|
21844
|
+
env !== "prod" && /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("span", { children: [
|
|
21845
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsx)("span", { className: "dn mdandup_dib", children: "Impersonating \xA0" }),
|
|
21846
|
+
impersonating.name
|
|
21847
|
+
] }),
|
|
21848
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsx)("span", { className: "df fs0", ...tid.impersonatingIcon, children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(Icon, { icon: "impersonate", inc: 2, color: "rgba(255, 255, 255, 1)" /* White */ }) })
|
|
21849
|
+
] })
|
|
21850
|
+
] })
|
|
21851
|
+
] });
|
|
21852
|
+
}
|
|
21853
|
+
function shouldShowEnvironmentBanner(env, impersonating) {
|
|
21854
|
+
return env === "dev" || env === "qa" || env === "local-prod" || env === "prod" && isDefined(impersonating);
|
|
21855
|
+
}
|
|
21856
|
+
function getEnvironmentBannerConfig(env, impersonating) {
|
|
21857
|
+
switch (env) {
|
|
21858
|
+
case "dev":
|
|
21859
|
+
return {
|
|
21860
|
+
bgColor: "--b-env-brand-dev" /* EnvBrandDev */,
|
|
21861
|
+
badgeLabel: "DEV",
|
|
21862
|
+
message: "You are in the Dev Environment",
|
|
21863
|
+
tooltip: "You are in the Dev Environment. Any changes here will not be reflected in live production data."
|
|
21864
|
+
};
|
|
21865
|
+
case "qa":
|
|
21866
|
+
return {
|
|
21867
|
+
bgColor: "--b-env-brand-qa" /* EnvBrandQa */,
|
|
21868
|
+
badgeLabel: "QA",
|
|
21869
|
+
message: "You are in the QA Environment",
|
|
21870
|
+
tooltip: "You are in the QA Environment. Any changes here will not be reflected in live production data."
|
|
21871
|
+
};
|
|
21872
|
+
// Prod env banner should only be displayed when impersonating
|
|
21873
|
+
case "prod":
|
|
21874
|
+
return {
|
|
21875
|
+
bgColor: "--b-env-brand-prod" /* EnvBrandProd */,
|
|
21876
|
+
badgeLabel: "PROD",
|
|
21877
|
+
message: `You are impersonating ${impersonating?.name}`,
|
|
21878
|
+
tooltip: "You are currently viewing the application as another user in Production. Any changes here WILL be reflected in live production data."
|
|
21879
|
+
};
|
|
21880
|
+
case "local-prod":
|
|
21881
|
+
return {
|
|
21882
|
+
bgColor: "--b-env-brand-local-prod" /* EnvBrandLocalProd */,
|
|
21883
|
+
badgeLabel: "LOCAL-PROD",
|
|
21884
|
+
message: `You are in the Local Prod Environment`,
|
|
21885
|
+
tooltip: "You are connected to live production data from a local environment. Any changes made here WILL immediately affect production."
|
|
21886
|
+
};
|
|
21887
|
+
default:
|
|
21888
|
+
throw new Error(`Invalid environment: ${env}`);
|
|
21889
|
+
}
|
|
21890
|
+
}
|
|
21891
|
+
function getInvertedCorner(side, bgColorVar) {
|
|
21892
|
+
const invertedCornerRadiusPx = 12;
|
|
21893
|
+
const shell = {
|
|
21894
|
+
position: "absolute",
|
|
21895
|
+
bottom: ["bottom_var", {
|
|
21896
|
+
"--bottom": `${-invertedCornerRadiusPx}px`
|
|
21897
|
+
}],
|
|
21898
|
+
height: ["sq_var", {
|
|
21899
|
+
"--height": `${invertedCornerRadiusPx}px`
|
|
21900
|
+
}],
|
|
21901
|
+
width: ["sq_var", {
|
|
21902
|
+
"--width": `${invertedCornerRadiusPx}px`
|
|
21903
|
+
}],
|
|
21904
|
+
pointerEvents: "pointerEvents_none",
|
|
21905
|
+
zIndex: "z1"
|
|
21906
|
+
};
|
|
21907
|
+
const outerPosition = side === "left" ? {
|
|
21908
|
+
left: "left0"
|
|
21909
|
+
} : {
|
|
21910
|
+
right: ["right_var", {
|
|
21911
|
+
"--right": `${invertedCornerRadiusPx}px`
|
|
21912
|
+
}]
|
|
21913
|
+
};
|
|
21914
|
+
const shadowXOffset = side === "left" ? -invertedCornerRadiusPx : invertedCornerRadiusPx;
|
|
21915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("div", { "aria-hidden": true, ...(0, import_runtime88.trussProps)({
|
|
21916
|
+
...shell,
|
|
21917
|
+
...outerPosition
|
|
21918
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("div", { ...(0, import_runtime88.trussProps)({
|
|
21919
|
+
height: "h_200",
|
|
21920
|
+
width: "w_200",
|
|
21921
|
+
position: "absolute",
|
|
21922
|
+
borderRadius: "borderRadius_50",
|
|
21923
|
+
boxShadow: ["boxShadow_var", {
|
|
21924
|
+
"--boxShadow": (0, import_runtime88.maybeCssVar)(`${shadowXOffset}px -${invertedCornerRadiusPx}px 0 0 ${bgColorVar}`)
|
|
21925
|
+
}]
|
|
21926
|
+
}) }) });
|
|
21927
|
+
}
|
|
21928
|
+
var environmentBannerSizePx = 32;
|
|
21929
|
+
|
|
21930
|
+
// src/components/EnvironmentBanner/setEnvironmentFavicon.ts
|
|
21931
|
+
function setEnvironmentFavicon(env, favicons) {
|
|
21932
|
+
if (favicons == null) {
|
|
21933
|
+
return;
|
|
21934
|
+
}
|
|
21935
|
+
const href = favicons[env] ?? favicons.default;
|
|
21936
|
+
let link = document.querySelector('link[rel~="icon"]');
|
|
21937
|
+
if (link == null) {
|
|
21938
|
+
link = document.createElement("link");
|
|
21939
|
+
link.rel = "icon";
|
|
21940
|
+
document.head.appendChild(link);
|
|
21941
|
+
}
|
|
21942
|
+
link.href = href;
|
|
21943
|
+
}
|
|
21944
|
+
|
|
21732
21945
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
21733
21946
|
var import_react116 = require("react");
|
|
21734
21947
|
|
|
@@ -21738,8 +21951,8 @@ var gridItemDataAttribute = "data-grid-item-span";
|
|
|
21738
21951
|
var ResponsiveGridContext = (0, import_react115.createContext)(void 0);
|
|
21739
21952
|
|
|
21740
21953
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
21741
|
-
var
|
|
21742
|
-
var
|
|
21954
|
+
var import_runtime89 = require("@homebound/truss/runtime");
|
|
21955
|
+
var import_jsx_runtime163 = require("react/jsx-runtime");
|
|
21743
21956
|
function ResponsiveGrid(props) {
|
|
21744
21957
|
const {
|
|
21745
21958
|
children,
|
|
@@ -21759,13 +21972,13 @@ function ResponsiveGrid(props) {
|
|
|
21759
21972
|
gap,
|
|
21760
21973
|
columns
|
|
21761
21974
|
}), [minColumnWidth, gap, columns]);
|
|
21762
|
-
return /* @__PURE__ */ (0,
|
|
21975
|
+
return /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ (0, import_jsx_runtime163.jsx)("div", { ...(0, import_runtime89.trussProps)(gridStyles), children }) });
|
|
21763
21976
|
}
|
|
21764
21977
|
|
|
21765
21978
|
// src/components/Grid/ResponsiveGridItem.tsx
|
|
21766
21979
|
var import_react_aria51 = require("react-aria");
|
|
21767
|
-
var
|
|
21768
|
-
var
|
|
21980
|
+
var import_runtime90 = require("@homebound/truss/runtime");
|
|
21981
|
+
var import_jsx_runtime164 = require("react/jsx-runtime");
|
|
21769
21982
|
function ResponsiveGridItem(props) {
|
|
21770
21983
|
const {
|
|
21771
21984
|
colSpan,
|
|
@@ -21777,12 +21990,12 @@ function ResponsiveGridItem(props) {
|
|
|
21777
21990
|
} = useResponsiveGridItem({
|
|
21778
21991
|
colSpan
|
|
21779
21992
|
});
|
|
21780
|
-
return /* @__PURE__ */ (0,
|
|
21993
|
+
return /* @__PURE__ */ (0, import_jsx_runtime164.jsx)("div", { ...(0, import_react_aria51.mergeProps)(gridItemProps, (0, import_runtime90.trussProps)(gridItemStyles)), children });
|
|
21781
21994
|
}
|
|
21782
21995
|
|
|
21783
21996
|
// src/components/Grid/useResponsiveGrid.ts
|
|
21784
21997
|
var import_react117 = require("react");
|
|
21785
|
-
var
|
|
21998
|
+
var import_runtime91 = require("@homebound/truss/runtime");
|
|
21786
21999
|
var __maybeInc16 = (inc) => {
|
|
21787
22000
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
21788
22001
|
};
|
|
@@ -21801,11 +22014,11 @@ function useResponsiveGrid(props) {
|
|
|
21801
22014
|
return {
|
|
21802
22015
|
display: "dg",
|
|
21803
22016
|
gridTemplateColumns: ["gtc_var", {
|
|
21804
|
-
"--gridTemplateColumns": (0,
|
|
22017
|
+
"--gridTemplateColumns": (0, import_runtime91.maybeCssVar)(gridTemplateColumns)
|
|
21805
22018
|
}],
|
|
21806
22019
|
containerType: "ctis",
|
|
21807
22020
|
gap: ["gap_var", {
|
|
21808
|
-
"--gap": (0,
|
|
22021
|
+
"--gap": (0, import_runtime91.maybeCssVar)(__maybeInc16(gridGap))
|
|
21809
22022
|
}]
|
|
21810
22023
|
};
|
|
21811
22024
|
}, [minColumnWidth, gap, columns]);
|
|
@@ -21873,7 +22086,7 @@ var import_react119 = __toESM(require("react"), 1);
|
|
|
21873
22086
|
var HbLoadingSpinner_base64_default = "data:image/gif,GIF89a%80%00%80%00%E7%00%00%00%00%00%0D%0D%0D%16%16%16%1C%1C%1C%22%22%22%26%26%26%2A%2A%2A...222555888%3B%3B%3B%3D%3D%3D%40%40%40BBBEEEGGGIIIKKKMMMOOOQQQSSSUUUVVVXXXZZZ%5C%5C%5C%5D%5D%5D___%60%60%60bbbccceeefffhhhiiijjjlllmmmnnnpppqqqrrrsssuuuvvvwwwxxxyyyzzz%7C%7C%7C%7D%7D%7D~~~%7F%7F%7F%80%80%80%81%81%81%82%82%82%83%83%83%84%84%84%85%85%85%86%86%86%87%87%87%88%88%88%89%89%89%8A%8A%8A%8B%8B%8B%8C%8C%8C%8D%8D%8D%8E%8E%8E%8F%8F%8F%90%90%90%91%91%91%92%92%92%93%93%93%94%94%94%95%95%95%96%96%96%97%97%97%98%98%98%99%99%99%9A%9A%9A%9B%9B%9B%9C%9C%9C%9D%9D%9D%9E%9E%9E%9F%9F%9F%A0%A0%A0%A1%A1%A1%A2%A2%A2%A3%A3%A3%A4%A4%A4%A5%A5%A5%A6%A6%A6%A7%A7%A7%A8%A8%A8%A9%A9%A9%AA%AA%AA%AB%AB%AB%AC%AC%AC%AD%AD%AD%AE%AE%AE%AF%AF%AF%B0%B0%B0%B1%B1%B1%B2%B2%B2%B3%B3%B3%B4%B4%B4%B5%B5%B5%B6%B6%B6%B7%B7%B7%B8%B8%B8%B9%B9%B9%BA%BA%BA%BB%BB%BB%BC%BC%BC%BD%BD%BD%BE%BE%BE%BF%BF%BF%C0%C0%C0%C1%C1%C1%C2%C2%C2%C3%C3%C3%C4%C4%C4%C5%C5%C5%C6%C6%C6%C7%C7%C7%C8%C8%C8%C9%C9%C9%CA%CA%CA%CB%CB%CB%CC%CC%CC%CD%CD%CD%CE%CE%CE%CF%CF%CF%D0%D0%D0%D1%D1%D1%D2%D2%D2%D3%D3%D3%D4%D4%D4%D5%D5%D5%D6%D6%D6%D7%D7%D7%D8%D8%D8%D9%D9%D9%DA%DA%DA%DB%DB%DB%DC%DC%DC%DD%DD%DD%DE%DE%DE%DF%DF%DF%E0%E0%E0%E1%E1%E1%E2%E2%E2%E3%E3%E3%E4%E4%E4%E5%E5%E5%E6%E6%E6%E7%E7%E7%E8%E8%E8%E9%E9%E9%EA%EA%EA%EB%EB%EB%EC%EC%EC%ED%ED%ED%EE%EE%EE%EF%EF%EF%F0%F0%F0%F1%F1%F1%F2%F2%F2%F3%F3%F3%F4%F4%F4%F5%F5%F5%F6%F6%F6%F7%F7%F7%F8%F8%F8%F9%F9%F9%FA%FA%FA%FB%FB%FB%FC%FC%FC%FD%FD%FD%FE%FE%FE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%21%FF%0BNETSCAPE2.0%03%01%00%00%00%21%FE%11Created%20with%20GIMP%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%DD%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%EC7%80%80%C7%02%02%EC%0D%40%99%F2%E4%CA%92%2F%5B%E6%5B%99%B1%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%BB%B6%ED%DB%B8s%EB%DE%CD%BB%B7%EF%DF%C0%83%D7%0E%08%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FC%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF7%03%88%1E-Z%80%E9%01%04%0A%188p%00A%82%05%0D%1EH%A8%C0%964i%D3%02P%ABn%FD%9A%01%5C%DB%A3O%EB%5EM%17x%00%DC%A8%EF%1A%3F%0E%BA%B9%F3%E7%D0%A3K%9FN%BD%BA%F5%EB%D8%B3k%DF%CE%BD%3B%CA%80%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%20%03%88%160%80%40%81%03%09%16%40%B0%D0%A1%04%8C%1EK%B0%90%89%B3%87%D0%A2H%966y%0A5%AAT%29S%A7P%A5J%A5J%D5%AA%E3%C8Y%B1Z%15U%F4h%D2%04%0C%20X%F0%80B%06%11%2Cp%14%A1%22%06%0E%9FB%8D%2A%B7m%02E%EAT%AAU%AD%5C%BD%82%05%2B%96%AC%F7%B2f%C9%9FO%D5y%00%E8%A8%19%3C%60%5D%C2%05%8F%25Y%981%87%1F%88DrI%27%A2%94%82%8A%2A%E9%AD%D7%1E%7C%F1%CD7KU%F6A%27%9D%02%0EH%80%C1%07%29%D0%10%84%13%5D%ACq%C7%20%8CL%A2%09y%A7%A8%C2J%2B%EB%C5%E2%DE%7B%12NhU%85%A5I%B7%80%03%13l%20%C2%0A7%18AE%18o%ECQ%88%23%96p%12%8A%82%E8%B5%F8b%84%F2%7D%E5%9C%00%D0%15p%A1~%11P%60%01%06%1Al%D0A%07%1E%7C%00%C2%97%21%84%29f%08%A0%95i%E6%99h%A6%A9%E6%9Al%B6%E9%E6%9Bp%C6%29%E7%9Ctf%15%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%14%03%88%160%80%80%01%04%0D%26p%40%81C%89%965w%02%25z4%C9R%A6M%9D%3C%7D%FA%04%2AT%28Q%A3F%91%22U%AAxqS%A6N%9DB%C5%1CU%AA%E7%AA%A2%ABZE%FD%E8%E8%D2%06%124%A8%00%82%05%8F%27a%E4%D6%FCI%14%E9%12%A7O%A1%88%27_%0E%9D%3A%2BV%AD%E2%BB%9A%FF%EA%15%AC%FB%B0b%E9%8F%25%AB%BF%7F%A4%A2%05%20%80i%0A%3C%60%01%08-%F8%10%05%19t%00%B2%C8%24%99t%02%CA%28%A5%24%E7%5C%2A%D3%AD%F2%5E%7C%F2%D5g%1F~%FB%F1%E7%DF%7F%00%8A%86%5D%81%07%BA%F0%83%14%0C%06%C2%08%25%9Ax%22%0A%29%16b%E8%1E%7C%1C%D2W%1F%88%FB%8D%D8%DF%2C%B2%285%DA%80%D99%60A%08.%001E%19u%0C%D2H%25%9BLX%0A%7B%D3m%98%A3%2B%3B%F2%28%A2%8F%B3%00%F9T%80%A4%99%96%00%03%0FHP%C1%05%19l%C0A%07%1Dx%E0%C1%07p%C6%F9%01%08t%D6i%27%08%21%E4%A9%E7%9E%21%80%E6%E7%9F%80%06%2A%E8%A0%84%16j%E8%A1%88%26%AA%E8%A2%8C6%9AU%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%0E%03%88%1EP%E0%00%83%0A%20%60%0C%C1%82%A6%CE%9FC%8C%1EE%9AD%A9%92%25K%970e%CA%A4I%D3%A6M%9C8u%F2D%FC%D3%27P%A0B%29%17%25j%94sR%A4JI%9F%5E%CA%94%F5S%D8%7F%8A%0E0%80%80%01%05%116%EF%A4%E0%21%A5L%1DA%8B%22U%CA%04%7C%B8%F1%E4%A1%98%3F%9F~%1D%3B%2AT%A9R%A9%DA%BF%AA%3F%AB%FF%AD%04%18%A0%2B%04%BE%F2%8A%2BA%05%20%00i%08%9C%16%02%0CFl%E1%06%1F%88%3C%B2%1Ep%9E%1C%97%9C%7C%A3%40%27%5D%7D%F7%DD%A7%1F%7F%FE%01%28%60%2B%04%BAb%E0%2B%B0%BC%92%A0%82%DE%29%00%81%06%27%E8%10E%19v%0C%D2%C8%24%98l%D2%89%86%F1%3D%17%DD%87%D8%9D%22b~%24%AE%F2%1F%2B%27%A6X%E0%8A-%0A%25%9A%00%04%98FAjFh%E1%86%1F%89Dr%89%8F%C7q%E8au%A6%D8w%E4~%AA%94%C8%E4%89%28%3E%C9%22%2Cp%C2b%D4%94%0C.%E0%80%04%15%5C%90%81%06%1Bp%E0g%07%80%06%DA%81%07%84%16Z%E8%07%88%26%AA%28%A2%204%EA%E8%A3%8E%82%26%E9%A4%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%9AU%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%08%03%88%1EP%00%C1%03%0C%26t%40%19%23%87%8F%A0C%8A%185r%F4%A86%A4H%B8%25%E9%9E4%89%92%EFJ%C0%2BY%1An%E9%92qL%982e%D2%C4%5C%D3%A6%E7%9C6q%9A%DE%A9%BA%A7%EB%D8u%8E.%DD%E0B%89%1CQ%CC%F2%D4%09%94%C8%91%24J%C2%8D_J%BE%9C9t%EA%D5%3Ba%FFD%FF%13%28P%A1%F2%87%12%C5%7F%94%FFQ%A4%04X%CA%80%03%9Ab%E0%29%A6h%17%C0%00%04%1C%C0%40%05%22%D4%B0D%18s%FC%91%C8%23%93Tb%9Cr%ED9%27%1D%7C%D8yR%DF%7D%F8%E9%C7_%7F%FE%05%28%20%81%06%1Ex%CA%8B%A7%28%28%00%01%06%28%20%C1%070%18%D1%05%1C~%20%82aq%ED%3D%F7a%7C%F2%898%E2%7D%26%A2%F8%9F%8A%04%B2%E8%E2%8B%A8D%89%CAN%DB%25%00%C1%06%2A%00%81%05%1B%7C%F8H%89%25%CB%7D%C8I%7C%F3%D9%87d%89%FB%9D%B8%E4%8AN%3E%09%A5%94R%FA%24%9A%00%A4%21%B0%C0%03%12TpA%06%19h%A0%C1%06%80%06%1A%28%07%84%16j%28%A1%1D%24%AA%E8%A2%8Bz%E0%E8%A3%90F%EA%01h%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%2A%EA%A8Y%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%03%03%04%18P%E0%40%83%0B%25r%3C%11%03gO%A0B%87%10%25%9A%AD%A86%ED%DA%B8%15%CDN%A4%BB7%EE%DD%BAy%E7%BE%1D%5C%B8%EF%E0%BF%13%D1%0C%20%80t%82%07%1AR%F8%B0%92%06%8F%A0D%8D%1EE%92%C4%BD%BB%F7%EF%E0%C3%A7%8B%1FO%DE%FB%F2%D1%05%9EkX%01%C4%CA%9A%3C%83%149%8A4i%12%A5%FB%F8%F3%EB%DF%CF%1F%BF%FD%FE%00%F27%C9y%A4%21%F0%C0%06%ECa%B1%C6%1E%850%02%89%7D%95D%18%A1%25%14JXI%85%17Z%22%21%86%16%5E8%A1%86%19n%D8%21%85%20~%18%E1y%02%10%A0%9E%0A%40d%D1%06%1F%874%22%09%25%17%5Eb%E3%8D8%E6%A8%E3%8E%3C%F6%E8%E3%8D8%89%D6%1C%01%06%400%81%05%17%60%90A%06%1A4%E9%E4%93PF%29%E5%94TV%F9%24hXf%A9%E5%96%5Cv%E9%E5%97%60%86%29%E6%98d%96i%E6%99Y%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CD%01%02%08%20%60%40A%84%0E%2C~P13%87O%A0B%87b%CB%8Em%A8P%21B%84%06%09%DA%1D%A8%F7%9F%DF%7F%FC%F4%E9%C3%87%CF%9E%3Dz%F2%E0%C1s%E7%8E%9D%E7u%EA%D0%A13G%8E%9C8p%E0%BCq%D3%A6%3B%9B5%E0%D3%FE%88Gs%C6%8C%992%2CC%8B%1Ep%80%81%85%115%96%80%81%C3%A7%90%A2F%8F%20Az%C4%FF%91%23G%8D%04%C8%08%23%8B%2C%A2%88%22%89%24%82%C8%82%87%D4f%5Bn%BC%05%02%08%20%C1%F9a%21q%C7%21%97%87r%CDE7%1Du%D6e%97%DD%1B%DD%B5%14%DA%00%05%24%E0%00%06%27%EC%20%85%19u%00%82%08~%91Hbc%248%EE%E7%DF%7F%0062%20%81%08%2A%88%88l%0E%E2F%C8n%82%F4Fa%85%C3%19%A7%21%87%CEy%08%A2u%D8%C1a%A2%00%03%94%26%01%07%2C%04%91%C5%1Az%10%B2%C8%23%92L2%09%25fNrc%8E%FD%FD%17%A0%8F%05%1A%98%A0%82%B4%15%09%21oK%06G%9C%93%7Bl%98Gs%D0IG%5Du%E9%89F%40%7B%15%880%83%12_%C4%F1%07%22%8EHB%09%25%95T%3A%29%9Aj%AE%19%89%8En%0A8%A0%9C%092H%DB%83%10%2A%B9%E4%85%C5e%98%1Cs%80z%08ShNX%12P%C0%01%09%28%B0%00%03%0C4%D0%40%06%BC%F6%EA%2B%06%C0%06%8B%C1%05%C4%16k%EC%05%16%24%ABl%B2%154%EBl%B3%14D%2Bm%B4%13Tkm%B5%12d%AB%EDg%DCv%EB%ED%B7%E0%86%2B%EE%B8%E4%96k%EE%B9%E8%A6%AB%EE%BAj%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%C9%01%02%08%20%60%40%01%84%0C%25j%24%D1%92%A6N%1FA%87%10%25%9A%8D%08%D1%A1C%85%0A%0D%12%14%28%D0%9F%3F~%F8%F0%D9%93%07%CF%1D%3Bu%E8%CC%91%03%E7%8D%9B6m%D6%A8I%83%C6L%192c%C2%84%F9%E2e%8B%96%2CX%AC%FET%A1%22%25%0A%94%27M%98%2CY%92%C4H%91%21A%80%FC%F8%D1c%87%8E%1C7j%94%14%3D%A0%00%02%07%16%8C0%83%11Z%A8q%87%20%894%F2H%24%92H%12I%24%90%3C%E2H%23%8C0%B2%08m%B8%11B%08o%80%00%D7%C7py%E4q%5Crr0%F7%06t%D2Qg%1D%19bl%E7%05%17%DEeq%85%15TLQ%1E%14N%A8%97%04%12%EE%11%21%84%7C%3E%F00Rh%A2%11p%C0%02%12p%B0%82%0FR%94A%C7%1F%884%12%C9%24TR%E9%60%24%12Nh%E1%85%B6e%B8%5B%20%1D%06%07%A2q%C9-%17Gsm%B0%91%E2%19%2B%8A%01%06w%5Ch%F1%DD%8C5Jq%5Ez%EC%F1H%C4%10%3F%FE%20Rh%02%08%D0_%02%A7%95p%C3%12%5E%C0%D1%C7%21RRR%C9%A3%95Pb%25%84YR%B8%88%22%89%D8fH%21%84%7C%19%A6pz%14wG%99r%9C%F9%9C%9A%D3%B1%89%5D%18%60x%F1%E2w%B4%E1%D1xc%8EK%28%91%C4%11F%EC%19%C4%90%82%1A%C9%40%05%20%C0%40%04%16j%E4A%08%23%91Pb%C9%25%CC%5EbI%A4%92%3A%18%A1%23Z%5E%9A%E9%21%9Bn%D8%1Bp%C1%ED%11%EA%88%CA%99x%EA%1A%2A%5E%97%5D%AB%5D%C4%18%5E%156F%F1%04%AD%EC%E1J%C4I%80%0E%40%40%01%07%24%A0%C0%02%0C0%D0%C0%BF%00%03%DC%2F%06%04%13%7C%C1%C1%07%5B%A0%B0%05%154%5C%01%05%10S0%C1%C4%13K%60q%04%18G%00%C1%C6%1B%3F%E0%F1%03%0E%84%EC%40%C0%FD%96%BC%C0%C9%27%2B%A0%B2%02%09%7C%E6%F2%CB0%C7%2C%F3%CC4%D7l%F3%CD8%E7%AC%F3%CE%3C%F7%ACV%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%C3%01%02%0C%20%60%00A%83%09%1AH%C8%10%22%25L%9B%3B%7F%0A%25b%E4%E8%91mG%8E%1A1R%94%08%D1%A1B%84%06%05%02%F4%C7%0F%9F%3Dy%EE%D8%A13%27%CE%9B6m%D6%A49c%86%8C%980%5E%BAh%C1r%A5%CA%94%28P%9A%FE0Y%92%C4%08%91%20%40%7C%F0%D0%81%C3%06%0D%191%5E%B8%60%A1%02%C5%89%12%25F%8C%00%01%C2C%87%0D%1Ah%90%C1%05%16T%80Qh%02%90%A6%80%03%14t%90%C2%0DH%60qF%1D%7F%20%E2%88%24%95Xr%C9%86%97XR%09%25%93H%12%C9%23%B91%B2Ho%86%00%27%08q%7D%EC%A1Gru%D0%21%87s%D1MW%9D%18%60x%C1%C5vVP%21E%14O4%B1%04%12F%14%21Dz%EB%B5%F7%5E%7C-%AC%A0B%0A%27%98%40%C2%08%21%F4%E7%1F%07%01bPQh%01%080%9A%01%098PA%07%28%DC%90%84%16h%D4%11H%22%8FPrI%26%9A%C4%99I%26%1D~%18%E2%88%25%9E%E8%5B%21%83%08%12%C8%1F-%EA%81%C7%1D1%CA%01%C7s%D2%A1qc%8E%3Bb%D1%E3%8FN%8CW%1E%11G%AA%C7%9E%7B3%C47%DF%93QN%29%02%08%1F%5C%B9A%06%5B%22HZ%98%15x%90%02%0Eg%AAq%87%20%EB%8BDR%09%26%9Al%C2%C9%26%9B%C8%B9%A1%87w%92%A8%9B%9E%BF%11%B2%22%A0%7C%08J%A8%8C%87F%A7%86%A2%D61%CA%A3%8FPD%3A%A4y%95%26%89i%0C04%C9%A9%94T%82%EA%1F%80%14%21%F8%E5%82%A9%AA%80%83%12%5B%AC%91%07%21%8CHr%89%26%9Ct%22o%27%9C%DC%AAI%26%98%D4y%27%24y%F6%16%EC%B0%C6%BDx%AC%A1%88%DA%D8%AC%8E%CF%FE%18%E4%90G%18%89%E4%A54d%FA%82%B6Pr%FBi%A8%1Dp%90%11%97%5E%12P%40i%09%28%B0%00%03%0D%94%EC%C0%C9%27%97%AC%F2%CA%0C%B4%EC%F2%02%16%C4%5C%60%05%15P%60%F3%048K%A0s%04%3CC%E0%F3%03%40%A7%5C%F2%CB%0B%14%AD%C0%D1%09%24%9D%00%02L%1F%E0%B4%D3%06Dm%40%01TWM%C0%D5%04%7C%A6%F5%D6%5Cw%ED%F5%D7%60%87-%F6%D8d%97m%F6%D9h%A7%ADV%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9s%C4%00%01%F6%82%0E%20%20%B4%5E%D2%A4%09%188%80%80%01%84%0A%1AD%A8%A0%01%84%09%961m%EE%FC1%B4%E8%D1%24K%972i%D2%B4i%93%A6L%99.Y%B2T%89%D2%24I%90%1E9b%B4%28%11%A2C%85%06%05%FA%E3%87%CF%9E%3Cw%EA%FE%CC%89%F3%A6%CD%9A4f%C8%8C%09%E3%85K%96%2BU%A4%40q%C2D%C9%11%22B~%F4%D8%91%C3%06%8D%180%B8%C0%82%0A%28%98%40%C2%08%21%7C%E0A%07%1Ch%90%01%06%16T%40%C1%04%12D%00%C1%03%0F4%D0%C0%02%0B%28%E0a%02%08%20%20P%00%03%0CP%C0%01%09%B8F%81%06%21%AC%60%C3%10Pla%86%1C%7B%10%B2%88%24%97h%D2%09%28%A2%8C2%0A%29%3E%8E%22%8A%28%A0%80%F2I%27%9Cpr%1C%26%974%27I%24%D2Q%97%08v%84l%D7%9D%1Ex%D8A%87%1Cp%98%97%C6%19e%88%01%86%17%5BdaE%7CP4%B1D%12F%0C%01%84%0F%3C%E4p%03%0D3%048%60%81%07%86%00%C2%82%0DfpA%84%13Vx%A1%03%1A2%D0%E1%87%00%90%A8%1A%02%0B%3C%40A%06%20%A4%20%C3%0FKdA%06%1Cz%0C%B2H%24%96l%F2I%28%A2%90R%CA%A8%A3%92%02%A4%28%A1%18%E9%09%92%C6%25g%89s%FE%D09%D2%08%23%D6%19B%88%20%DBy%07%9Ex%E4y%99%5E%18_t%A1%05%16VL%21%05%7D%F6%E1%A7%9F%0E8%D80C%0C%2F%B4%B0B%0Ax%22%A8%60%07%1B%3C%F8g%A0%12%400h%03%86r%E8a%A2%27%26%D0%40%04%17x%60B%0C%3D%24aE%18m%E0%11H%22%9Cn%E2I%A8%A3%9Ar%8A%29%FC%9AR%AA%90%A9~%B2%AA%92%99%60%C2%1C%25OJ%D7Hu%88%14r%2B%20Wf%B9%25%1Cn%B0%A1%06%98c%8C%B9%85%16%F0%C9%E7%C4%9Am%02%D1%03%0F%CC%D6%20%83%9D%2A%A4pB%09%23%88%00%C2%07%0C%3A%08%A1%84%14Z%08%01%A1%E0%8A%AB%00%00%02%A4%F8%DA%06%23%B4%90%83%11S%7C%A1F%1D%7F%20%F2H%25%9E%E2%7B%CA%29%A8D%8D%CA%D3%FC%96r%2A%AAF%B2%BA%E4%AB%CFE%B7%B0%22%D7e%B7%5D%1F%DF%857%B1%AFd%00%DBE%99%C5J%F1D%13%C9%06%A1%DF%0E%CD%D2p%B2%B4%04%9AP%82w%08%09.%B8%81%06%18l%3BA%CD%DF%86%DB%E1%88%A4%090%00%01%04%14%B0Z%02%0A%2C%C0%00%03%0D8%E0%00%86%98g%AE9%86%96wn%B9%86%A0%83%3B%F9%E8%1C%96%EE%E1%E0%83KPa%046c%FE%B9%E8%86%7F%98%00%88%21%1E%60%FB%01%06%E4%5E%C0%EE%BB3%CEx%89%C0%03%2F%C0%F0%C4%97%06%9Ag%C8%27%AF%FC%F2%CC7%EF%FC%F3%D0G%2F%FD%F4%D4Wo%FD%F5%7B%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1c%AD%01%FAF%0E%40yo%00%01%98%23%E7%0D0%A03%01%02z%03%140p%E0%80%01%BD%02%12%28%60%E0%80%81%5E%02%0F%24P%B80A%EF%81%0C%1CB%94%F0%A0w%01%8A%163t%B8%D0%1B%C1%07%91%25R%84%E8%D5p%C5%0B%994V%F4%8ExC%27%8F%1F4z%5B%0CB%B4%E8Q%1D%BD6%26%FEY%CA%B4%E9%8F%5E%1F%9EB%89%22eH%AF%10S%A7R%A9Z%A4%D7%08%2BV%ADZ5%D2%9B%C4%D5%AB%FF%8E%E8%A5D%2C%04%C6%F2%88%80%B2%24%28%CB%2B%AA%A8%92%CA%83%A8%A0r%CA%84%A6%94ba%29%A4%8C2%8A%28%A1%80%02%8A%27%9Et%C2%89%26%99%60r%89%25%95L%22I%24%8F8%C2%C8%22%89%1Cb%08%21%82%FC%E1%07%1Fz%DCa%07%1Dr%C0%D1%C6%1Ai%98A%86%18_p%A1%05%16UH%F1%04%13K%20a%C4%10%40%F4%A0%03%0E5%CC%10%83%0B%2C%A4%80B%09%24%8C%10%C2%07%1Dp%A0A%06%17TP%01%05%13D%00%C1%03%0E%B4%C6%C0%02%0A%24%90%00%02%08%94V%9A%01%05%E4%F9%D9g%00%2C%A1%E0%9F%05%C2%02%CB%7F%AE%E4%97%1F%2B%AB4%98J%84%A7T%98%21%87%A0%7C%22%E2%26%99%9CH%C9%24%91%40%E2%22%8C%87%14%22H%207%EA%81%87%1Ds%C4%F1%06%1Bj%9C%21d%18%5E%1C%99%24%14%FEM4Y%84%10%3F%F0%A0%C3%0D4%C8%00C%0B%2B%A4p%82%09%24%7C%E9A%07%1Bh%80%81%05%15L%20%81%9A%0F%B0%D9%C0%9B%0AD%3Bg%9D%A6%E5Y%C0%9E%A0-1%CB%2C%7F%CA%12%A8%A0%AF%B8Rh%2B%F7%AD%92%28%84%8Db%B8a%87%9Fx%C2%C9%26%24%A2%A8%22%8B%8DpZ%08%21%81%FC%C1%C7%1E%A3%F2%E8%23%90%AB%B6%8A%85%15SD%E1%C4%12I%3C%19%E5%94U%C6%F0%02%0B%2A%FCJ%82%08%20%80%B9A%06%18%94%89%A6%9Ak%3A%F0%2C%B4q%D2Y%27%9Ez%EE%D9%E7%B6%DC%2A%F8%ED%A0%E1%8E%5B%AE%83%8B%A6%FB%28%BB%21%8EX%A9%25%94%AC%F8H%23%8C%28%82%C8%8C%F9%F6%B1G%1Ew%D4%D1%A3%1B%00%93%C1%2A%17YXA%85%92%08%1BAD%10%3E%EC%80%83%0D3%C8%F0B%0B%2A%A0%00%AC%08_%86i%EC%05%C8%A6%19A%04%CE2%00%B2%02t%DAi%ED%B5%7Cj%8B2%A0%04%82%DB%B2%A1%88%2A%2Aa%A0%85%18%8A%02i%CD%94Z%8Ai%8B%2F%C6%E8%29%207%12%5D%07%1D%A6%A2z%C6%90_t%A1%C5%15%AF2%A1%C4%11%B3%D6%9A%83%0D4%C4%00%83%0B%BD%9EP%82%97%1F%0C%7B1%D9%C9.%DBq%03%CF.%00%27%DBmW%5B2h%05%9C%CD1%04%B8%E7%AE%FB%EE%CD%F6%EE%3B%9Bm%06%EF1%EB%AC%ABm%BC%EB%AEG%AB%BC%9Cr%E6%DEl%9B%C4%AB%9D%BC%B4%D3Rk%9A%01%D8%BF%8Dmg%DC%0F%80%D9%F7%99Q%26%FE%F8%E4k%F6%D8%F9%E8%A7%AF%FE%FA%EC%B7%EF%FE%FB%F0%C7%2F%FF%FC%F4%D7o%FF%FD%F8%DF%14%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%85%06%000xo%80%C3%87%F5%06%18%C0X%40a%BC%02%0AH.%40%40%EF%80%04%98%13%18%D0%5B%00%82g%08%0C%F4%22%D0%B0%A1%F4%04%BD%0DV%B0%60%B1%E2%83%5E%0AB%86%C8%86%A1%D7%03%97%DB%5C%8A%E8EAg%8E%EF%2Czg%1C%1A~%28%8D%5E%1E%95%2AY%B2tG%AF%10P%D0A%01%D2k%E4%94%F5S%86%F4%26a%C5%9D%95%22%BDK%5E%FE%B9%1A%DF%08%3C%2CX%AF%5E9%D2%CB%24%96%7BX%EB%F32%91%25%CB%FD%23%F6%F4%EB%DF%97%9F%3F%D6~%BC%F3%D5%E7%1F~%F4%0D%C8_%81%FF%DD%15%A0~%04%DAG%20%83%07B%08%60%7F%09%DA%B5%04%85%E0a%98%D7%85%08f%D8%E1%86%05%C6%E2J%2A%A9%A0%82%8Au%A6%94%A2b%29%A4%8C%22J%28%A1%80%F2%89%27%9Dp%B2I%26%98%5CbI%25%94H%12%C9%23%8D0%A2%08%22%87%14BH%20%7F%F8%B1G%1Ev%D4%21%07%1Cm%AC%91%86%19d%88%01F%17Z%60Q%85%14O0%B1D%12E%08%F1C%0F%3A%D8%40C%0C0%B8%B0B%0A%26%900B%08%1Ft%C0%81%06%19%5C%60A%05%14H%10%81g%0E4%C0%C0%02%0B%28%A0%40%02%08%1C%60%E8%01%06%18%20%19%01%8C%12%C0%D8%A3%02D%0A%00%87%EE%BD%87%9Ex%ADd%CA%CA%2A%AB%A8R%E2%89%29%B6%F8%E2%8C5%DE%A8c%8F%3F%069%A4%21G%FE%D1%C7%1E%FEx%D8AG%1Co%B0%A1%C6%19f%8Cq%A5%16WP%21%05%14M%28q%04%11A%F4%B0%03%0E6%CC%10%83%9A%29%9CP%C2%08%22%80%E0%01%07%1Bh%80%C1%9D%13%E8%19%C1%03%0E%FC%09%A8%A0%98%15%8A%E8d%8D%3A%FA%E8%00%91%0A0i%7F%96%A6%E7J%A6%ADl%DA%E9%A7%A7%84%EAb%8C4r%A2I%26%A7%FA%08%24%23%89%20b%24%92%AF%C6J%87%1Co%B4%A1%06%1Ae%E8%8Ae%AF%5C2%21%2C%11%40%90%89C%0D%CA2%7B%82%09oJ%DB%C1%06%19%60pA%05%D9J%00%01%B7%0Cx%0B.%02%E2%2A%BAh%B9%E7%A6%BBn%88%B1%9C%E7.%BC%DC%CDkb%BD%2C%DEK%AA%BE%FCZ%82%EA%BFC%0E%EC%2A%AC%B2%3E%A90%C3b%7C%C1%85%16V%F8%DA%E5%C4%15%EBp%F1%0Ci%AE%E9%2C%B4%1E%83%7C-%C9z%9E%DC%A7%9F%81%0E%CA%B2%A1.S%D6h%CC2s%28%E0y%97%8E%A7%29%A7%9E%96%C8%B3%A8%A1%7C%F2I%87%A9A%0F%DD%C8%22%01%1B%5Dp%1D%07C%B9%C6%19e4%8De%D4%11%0B%3BD%C5%C7%26%9Bu%0A%28%3C%1BB%D7%21%8F%9C%ED%9E%DC%F6%A92%A1-%93%BB6%DB%EAv%F6%D9%E9%A8%7B%F6%C0%EA%AC%B3%EE%C0%EB%B07%20%FB%EC%29%A7%0C%E8%ED%82%82%9B%19%CBg%1B%2A%BB%ED%DF%0E%1A%AE%B8%88%26%3A%99%DA%A3C%9An%BA%885%EF%BC%F3%81E%2F%FD%F4%D4Wo%FD%F5%D8g%AF%FD%F6%DCw%EF%FD%F7%E0%87%2F%FE%F8%E4%8B%14%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%9F%06%0007nB%01%02%02%E8%B5k0%C0%00%02%80%07%E0%D5%5B7n%80%03%0A%10%208%60%A0%00%81%01%03%0A%C7%3DPA%C2%03%07%0C%16%24%40%60%40r%DC%05%23%3Ch%B8P%B9A%01%BE%04%25%D8%80%A1%A2%04%08%07%9E%F9jx%82%04%88%0E%13%A8%0D%8E0%03%26%8B%14%1C%B9%0B%B6%D8S%07N%9A%25%C1%09%D6%60%84h%90%1F%2F%C9%07%F2%D0tI%92%237%D1%05%0A%19%15%AA%D3%26%3D%D9%01%FE%14Iu%AA%D4%28A%E1%91%B4b%B5%2A%15%A2%F0J%5E%B9j%D5j%11%7CX%B0%E47%0A%BF%24V%2C%FC%8E%F0%27%8B%2C%FF%05%98%DD%12%03%FA%F7HxL%24%18%CB%82%07%3A%08at%08%12%F8%A0%80%16N%98%5C%83%192h%21%2C%1A%06%D7%A0%7F%17f7%A2%82%1E%92%18bnL%F8%07%20%83.%C2b%60t-%FE%27%23%8C.%CE%98%5C%7F6%EA%28b%8C%3E%B2%08%24%7FC%1Eh%E3%2B%FB%1D%88_~IR%B8%24%92%FC%3D%D9%E4%8E%F8%BD%02%A5%92%F9%5D%E9d%96S%06%B7D%96%AEt%99%5B%7CV%BA%C2%08%7CV%CAwfvd%BA%12%26%9A%F2%99%19%5E%12e%B6%B2J%29x%922%8A%28%A2%84%02%CA%27%9Ex%D2%09%27%9Bh%82%C9%25%96TB%89%24%91%3C%D2%08%23%8A%24r%88%21%84%04%F2%87%1F%7C%E8%81%87%1Dt%C8%01G%1Bk%A4a%06%19b%80%E1%85%16XT%21%C5%13L%2C%91%84%11%FEC%FC%D0%83%0E7%D4%20C%0C%2F%B0%A0%C2%09%25%8C%20B%08%1Ft%C0%81%06%19%90V%01%05%12D%00%C1e%0Dd%A6%80%02%9B%29%B6%18c%05T%EB%18%60%8FA%06%19%5E%DC%E2%05%40%9B%F4%AD%C7%9E%2A%A9%A0%82%CA%29%A6%E4%D9%E7%9F%82%16%9A%C9%25%95L%C2%A8%A3%8C%24%82H%21%84%08r%E9%1Ey%DC%D1%29%1Cn%84%3Aj%18_p%91%85%15SH%01E%13J%1CA%04%10%B3%E2P%C3%0C%B8%EA%8A%82%09%24%88%00B%B0%C3bp%81%05%15L%90%EC%B2%0E4%BB%C0%02%D0J%CBXc%D6b%9B%AD%B6%DDr%FBm%9C%E1%B22n%B9%A7%A0%5B%8A%9E%EB%02%EA%9D%A1%89%CA%0B%89%A3%8BH%8A%AF%A5%7D%F0%CB%A9%A7%A0%A2a%C6%18ax%B1%05%16%08G%C1%EA%ABC%40%AC%83%C42%C0%E0%C2%0A%29%F0%3AB%08%1Bw%B0%81%06%18X%60%01%05%22%2B%CB%AC%C9%29%2Bv%00%B5%D5b%AB%ED%DD%82%C5%0C%00%FE%9D%F3%D1g%F3%2A%AB%90%7B%AE%CE%3C%FB%F9%C9%A0%85b%12t%24%908%C2H%D1%87%14%22H%20%98jZG%A7o%80zF%19%A5v%A1%C5%15%AA.%BC%04%12E%08%F1%03%0F%B4%D2%D0%F5%D7a%F7J%F6%07%1Cl%90A%DA%21%27%ABl%C9%26%A3%1C%F7%DC%2C%D7m%F7%DD1%7B%CBw%CD%E3%0A%AE%F3%CE%3D%0BJ%E8%BB%96%2C%DA%A8%E3%8A%20rH%BE%80%60%DAo%1Ds%C4%E1%06%1B%A2%92A%B0%E7VP%B1%2A%13J%90%1E%84%0F%3B%E4p%83%EA%2F%B4%B0%C2%C5%19%03%EB%81%D9%C5%AE%DD%F6%B2%0F4%D0%C0%C9%28G%3B-%CB.%7B%D9%B6%82%27%00%00%14%00%02%08L%E0%03%16%C8%40%06%3A%E0%81%10%C4%9D%FE%F4%C7%80%0Af%86%7F%BA%7BV%026%E8%3F%B9%CDme%06%60%99%067%E8A%DE%85%D0Z%D7%0A%0C%DE%F2%D6-%C2%B8%F0%850%0C%8F%0CgH%C3%1A%DA%F0%868%CC%A1%0Ew%C8%C3%1E%FA%F0%87%0D%40%0C%A2%10%87H%C4%22%1Aq%25%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%ACY%89%01%02%9C%AD%18%40%40Z%B5%00%E0%AE%5D%18%A0%80%01%02%04%06%08p%9Bv%AE%C2%00%0B%228Pp%E0%EE%00%BDr%FD%16%0CP%21%C5%08%0E%15%200Hp%20%AFb%84%1D%964%09RC%05%88%0C%13%1E%28%18p%D9%A0%860x%DA%88%B1%B2%A4G%8C%13%1E%1A%24.%0D%21%8D%25H%88%FC%D0Q%F3EJ%11%12%05J%13%2C%E0%25%14%29P%9A%285%2A%C4G%0E%94%08%C2%07%06x%02%AA%D5%AAT%A5Du%C2%24i%8F%8C%E8%03k%FEX%82%05%EBU%2BV%AAN%91%CAD%854%F8%0E%85d%C9%8AE%FE%95%ABV%A8%E64%00%0F%E0A%1EX%F2%C9G_y%84t%C0%9F%40J%CC2K%80%F3%C5rI%0E%07%0E%94%C4%82%0C%8A%22%C5l%FC%25%C1%20%2Bi%1C%10aAJ0%08%C9%87%06%85%18%E0%88%24%12%B4%84%88%29%AA%18%60%2C%8F%B48%D0%8A%02%C6%28%23%00%26%CEg%A3%8C%26%C6%02%E3%8D%00%AC%E8%23%2C%8E%00%29%24%7DE%DE%B8%84%8F%F4%ED%D8%E2%92C%3A%99%22%94%E4%25%29%23%95D%1A9d%96J%0E%08K%23F%D6%F7%0A%98J%8AI%E6%95f%86%F9%8A%7Dg%3E%B9%A6%2B%AE0b%E4%9Bq%CE%09g%2Br%2Ay%27%9EF%DE%D7%0A%9Fz%FE%D9%CA%22%7D%0AJ%E8%8DJ%08%CA%CA%A1%3C%FE%C9%CA%A2%40%26z%1E%2B%8AD%EA%E8%2A%95%DE%88%C4%A3%AC%AC%92%08%90%9Bv%EA%29%A8%8F%AE%A2%CA%A7%9A%AEb%AA%2A%88%80%AA%AA%2A%FE%A9%B4%9A%AA%2A%B0%CA%2A%23%12%A6%A6%12%2B%90G%D0%9A%0A%2A%87%00i%84%AE%A8%00%2B%EC%AF%A8%9Cb%C8%B1%C5%2A%0Bd%11%BF%9EbJ%21%CF6k%0A%29%9Dp%B2%C9%26%9Adr%89%25%95P2%89%24%91%3C%E2H%23%8B%24%82%C8%21%86%10%22%08%20%7F%F4%B1G%1Ew%D8A%87%1Cp%B4%C1%86%1Ah%981F%18_p%A1%05%16VL%11%85%13L%2C%91%84%11C%00%E1%C3%0E9%DCP%83%0C1%BC%C0%82%0A%28%98P%C2%08%22%80%F0A%07%1Ch%90%01%06%17TP%C1%04%12D%00%C1%03%0E8%D0%C0%02%0A%24%90%00%02%07%14V%00%5Ez%F1%F5%16DE%24kJ%29%A5%902%8A%28%A1%80%F2%89%27%D9n%92%09%26%E0RB.%24%8E0%92.%22%ED%0A%F2%87%1F%7C%CCk%2F%BEn%EC%7BF%19%FFz%C1E%16VP%21%05%14O0%91%C4%11D8%0C%F1%0D4%C8%00%83%0B%17g%BCq%08%20x%00%B2%FE%C8%24W%40%01%CA%2A%B3%DC%00%030%2B%10%B3%CD7%E7%95%B3%CE%0F%15q%8A%B4%40%93Bt%D1%9F%24%DD%ED%B7%95%8C%5B.%BA%EA%1ER%88%20%81%F8%21%2F%BDu%CC%01%C7%1Bm%AC%91%86%19d%00%DC%85%16WTa0%C2J%1CQ%84%10%3F%F0%A0%03%0E5%C4%FDB%0B%2B%A4pB%09%24t%AC7%07%1Bh%40%B2%05%7F%A7%1C%B8%CB%2F%1B~%B8%01%D4%27%9E%D7%5E%D8c%88%90%E3%3F%07%3D4%E5Hk%AB%09%D3%E1%92k.%23%8A%24%E29%21%81%5C%CD%87%1Exl%0DG%D7i%A0%016%18%5DlA%B6%D9O4%A10%C3n%8BX%DC%E6%C6%82%14d%8C%04%23%08%C1%07%3C%80%BC%E4a%C0%02~s%DE%CAZ68%98%CD%8Cf53%40%016%A88%EC%F1%A5%21D%80%9C%D0D%21%0A%A3UN%7C%DE%0A%D7%24%CAu%AE%A9%19%E2s%A1%CB%1A%E9%E6%10%07%D4%A9%8Eu%00%13X%ECf%C7%04%25%20%A1%08%84A%C8%DD%EEj0%83%8A%01Ox%1B%EB%D8%02%917%B2%0B0%0Fp%13t%19%E1%2Cx%C1%0Cn%F0f%87Y%DC%CE%16B%80%07%B0%ACe%60%A4%60%03%C68F%06%98%D1%8C%0BHc%1A%A5g8%99%B9%11%01p%84c%CD%E6H%BD%3A%5E%91%83x%21%C0%1C%0BS%BD%3B%E6%11gY%CC%A2%07%B3%F7%96B%1A%B2%2F%40J%A4%22%17%C9%C8F%3A%F2%91%90%8C%A4%24%27I%C9JZ%F2%92%98%CC%A4%267%C9%C9N%C6%24%20%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%2B%C4%00%5E%3F%0A%18%1B%A0l%D8%8C%04%0E%14%180%40%80%D9%B3%15%0FP%90%C0%00%C1Z%B2p%27%2AX%21%A3%84%86%08u%0B%10%18%006%EF%C3%03A%C6P%19%22%83D%06%BA%07%06%18~8%60%C9%A0%40t%C8P%11%12%83%84%06%07%92%277%1C%22%89S%25F%81%E6%90%91%12D%C5%02%D1%0DO%28JeJ%94iF%7F%E4x9%21%00%F6%C2%0C%7DZ%B5Z%95%AA%94mJ%89%AC%28%F0%AD0%01%1AU%AF%5C%B5b%B5%0AU%29Py40O%28%C0J%29X%AF%A2%FE%0Bg%A5%2AR%8D%ED%09%81h%82%05%3E%BC%F4V%A0%B2%F4Fo%B0%04%22%F6%EC%DD%BBJ%15%E75%FD%82%12%E8%F1J%2C%F8%85%F7J%2B%81%5C%F0_A%06%90%A1J%2C%10%E6%17%DD%23%2B%2CHP%00Q%88B%20~%EDu%E2%84%85%04%D5%60%09%84%1B%B6w%8A%18%04%80%28P%07%84%90%18%21%7B%AD%E0%E1%80%8A%008%80%C7%2B%B2%90X%60%21%1E%D0%28P%12%B2%E4%A8%23%2C%97%E0%E0%E3%40H%08I%A2%28Q%14v%24%00H%E8%B8%0A%1A%07%3CIP%12%2F%3AbeAQn%A8%E5%96%03%25%C1%E1%97%60%02%20f~%8D%94%F9%A3%84i%AA%29%A6%81m%96%89%84~q%82%99Dt%D21%A2%A6%99%AE%BC%A7%A7%9B%7D%0A%F7%A7%9C%EF%B5%B2%C8%9EH%087%DD%A1n%8E%C7%0A%A3e%26%E1%A8%22%88%B2b%E9%2A%89T%BA%CA%A6%99%AA%89%04u%AB%A8%D2%A9%9C%A1%AA%A2%0A%22%88%86%9AJ%2A%A8z%AA%CA%AA%FE%A8%B4%2A%27%AC%A8%1C%B2%E7%11%A9%A0%82%CA%29%86%DC%AA%EB%29%A6%F4%AA%E6%11%BB%9AbJ%21%7B%1A%01%AC%29%A5%20%AB%A6%11%C6%96B%0A%21%7B%16%C1%2C%29%A4%0CR%AD%B4%A4%8C%22%C8%B6%DD%8A%F2%AD%9AD%84%1BJ%20%7B%0E1%CA%28%A1%9C%BB%A7%10%A2%88%12%0A%28%80%EC%19D%BB%A0%7C%F2%87%BD%F9~%E2%89%1F%7B%02%91%AF%27%9D%00%AC%26%10%FEz%C2%09%1F%01%7BB%F0%26%0C%AB%F9C%27%9Dp%B2%C9%1E%7B%F6%C0%89%C5%9A%E8%91%F1%26%9Bh%82I%1E%1Fk%92%C9%25x%EC%C9%83%C9%97Xr%C7%9E%3B%9ClI%25%920%B2H%22%88%1CbH%21%84%08%12%C8%1F~%F0%B1%87%1Ex%D8Q%C7%1Cr%C0%E1F%1Bk%A8%91%86%19d%8C%11%06%18%5El%A1%05%16VP%21%05%14N0%B1D%12G%14%21D%10%3F%F0%A0%03%0E7%D40C%0C0%BC%D0%C2%0A%29%9C%60B%09%24%8C%10%02%08%1Et%C0%81%FE%06%19%60%60A%05%15L%00A%03%0A%24p%80%01%83%B55%D2%0E-WB%C9%24%92%40%F2H%236%E3%7C%08%CF%3E%03%DD%C7%1Ey%DCQ%07%1DI%C3%D1%06%1BN%9F%11u%18%5ET%9D%C5%15UL%21%C5%13M%2C%A1%04%12E%0C%11%84%0Ff%A3M%C3%DA%2F%B8%C0%02%DC%28%CCM%82%08%20%7C%90%F7%06%7C%FB%1Dx%04%0F4%B0%80%E1%82%B5%E5%E4G%3A%CC%FCx%24%91%3C%E2%88%CD%8A%E4%8C%F9%CFAs%EE9%E8q%BC1%BA%D3f%94%21%F5%17%5Dh%B1z%EB%AF%7B%3D%BB%11%B6%E3%AEC%0Ei%F3%EE%BB%0A%29%04_%C2%08%22%08%C1%07%F4%B6%B7%BE%5D%A0%02%14%98%80%04%20%E0%00%06%28%00%01%06%88%9E%5BB%A2%03%C7ANr%8Eh%C4%CD%BC%D73%F0%09%ADs%9F%93C%1CDG%3A4%40m%7D%ED%C3%9A%15%A6%10%85%27x%0DlF%18%9B%FD%F0%A76%B6%ED%2Fns%03%A0%00%F3%C6%01%E4a%E0%02%B5%7FK%E0%02%1F%C0%80%E7A0q%13%FCH%0E%28%21%89HH%AE%11%1A%B4%DC%F7%80%264%3D%8CO%84%24%5C%C3%D3N%E7%85%14Z%A1u-%8C%1D%D8jw%3B%B3%D1pm0%B8%A1%DC%FEG%3C%E3%E9%0Dy%7D%0B%E2%04%26%10%01%066%80%01%09%40%C0%E1%06%E3%96%B7p%84%00%0C%08d%20%17%40%C8B%2A%E0%90%88L%80%22%15%89%80F%3A%F2%00%90%8C%A4%01%26I%C9%08%16%E0%92%98%24%80%267%998%B6%0C%C0%92%98%14%0C%27%3B%E9I%B6%8C%E5%94%7D%2C%CB%F4%F6%C4%CAV%BA%F2%95%B0%8C%A5%2CgI%CBZ%DA%F2%96%B8%CC%A5.w%C9%CB%5E%FA%F2%97%C0%E4I%40%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%95g%80%00UO%0E%18%20%00kV%91%01%10%280%40%80%EB%D5%AF%1F%1Dt%B8%E0%20A%01%B3%5E%D1j%BC%10%E4%07%8B%0E%12%16%1C%20%20%40%80%5C%8D%14%BA%C8%F9%B2%C4%06%09%0C%0F%DC%FA%FD%7B%D1A%99I%8A%F6%A4%B1%12%C4%C5%07%0A%08%E22%9EX%00%0B%A7P%9A%20%0D%A2%13%86%09%0E%0F%066W%0C%D0%A4%93%AAS%A3%3AUR%C4gM%93%0A%AA%2B%C6%90%D4%8A%D5%2AT%A5%40G%F2%E3c%40%EE%89%1B%02%B5Z%EE%3B%95%A9Q%9B%C8%2C8.qA%1BU%CB%7B77%D5g%03%F5%88%04%B6%FE%90%CA%CE%7C%95%2AH3%BEGD%D2%C9%15y%ED%9A%8E%A8%87x%82%91%2B%F7%E4Y%91%2A%93z~C%0C%7C%B4%82_v%AC%A4%A2%C7%04%FE5%94%C0%19%A8%BC%C7%CA%83%88%84%90%20C%02X1%CA%80%CC%B1BI%0E%132%F4C%26%18j%07J%16%8Bu%88%10%09%86%DC%97%1F%2B%A7%C01%9D%89%08Ip%87%80%2B%AE%F2%C7%050%22d%80%18%A7%84%F8%20%23%2B%E4xP%00N%7C%F2%9Ev%9B0%21%E4A3L%A2%22%81%FA%81A%C0%92%05q%A0%1C%86%0F%A6R%87%03T%12%E4%80%1D%AB%F8%B8%8A%20%1DtY%D0%11%3Ejh%83%99%06%19q%A4%27Nh%C6%A6%40Edh%0A%19%FD%CDY%90%9B%0F%B2%B2%88%9E%08%15%D1%E7%2A%8A%00z%90%11%AB%24%BAJ%22%86%B6i%9E%2A%AA0%DA%28AE%3C%9A%0A%22%93R%AAJ%2A%A9%A0%82i%A6tr%8A%8A%A7%A0%D29%2A%2A%A7%18R%2A%00E%A0z%8A%29%FE%AA%96J%C4%AB%A6%94R%C8%AAD%D4ZJ%29%84%AC%3A%C4%AE%A4%902%08%AE%A5%902%CA%28%82%F8j%AC%28%A2%24%5B%AA%10%A3%88%12J%28%81%AC%2A%84%B4%A1%80%02%C8%AAAd%0B%CA%27%7Fp%FB%C9%B8%9E%F8%21%AE%27%9Et%D2%C7%AA%40%A4%DB%09%27%7C%B0%FB%EE%26%9B%EC%B1%EA%0F%9Cl%A2%89%26z%AC%EA%83%BE%99%60%92%C7%AA%3D%04%7C%89%25w%10%7C%B0%25%95%D8%B1%2A%0F%0CSBI%1D%AB%EEP%09%25%93HB%C7%AA%3AL%92q%24s%AC%9A%83%24%91%40%F2%88%1C%AB%E2%10%C9%23%8F8%02%C7%AA7%B4%DC%08%23n%ACjC%233%2F%D2%C6%AA50%B2%88%22%89%AC%B1%2A%0D%40%23r%88%1A%AB%CE%60%F4%21%85%A4%B1%AA%0CL%13B%88%19%AB%C6P%08%21%82%08R%C6%AA0%0C%22H%20%80%90%B1%EA%0B%60%FF%E1%87%18%AB%BA%60%B6%1F%7C%80%B1j%0Bl%EF%A1%87%17%AB%B2%B0%C7%1Ey%E0%D1%C5%FE%AA%2A%E4%91%C7%1Dv%CC%D1F%1Bl%AC%91%06%1Af%94A%06%19c%84%01%86%17%5El%A1E%16X%5Ca%05%15RD%01%85%13M0%B1%84%12H%1CQ%C4%10A%00%F1%83%0F%3C%EC%90%03%0E6%D4%40%C3%0C1%C0%00%83%0B-%B0%B0%82%0A%28%A0p%82%09%24%8C0%82%08%20%7C%E0%01%07%1A%60P%81%04%0F%2C%80%C0%5E%5D%C9y%92%0A%80%D7A%C7%1Cr%C4%01%C7%1Bm%ACa8%E2f0%EE%B8%17%5Dp%219%16VT%81%B9%14P%3C%D1%C4%12K%24%81D%11D%90%0E%04%EA%3B%E8%80%C3%0D6%BC.%03%0C%2F%D0n%7B%0A%29%D0%9D%09J%F0%BB%10%80%C0%03%1D%D8%80%06.%40%81%084%40yo%B9%CAYR%92%02%E9Q%CFzopC%F6%D4%90%863t%8F%0Cbx%5C%F8%B4%A0%85%CA%5DN%0A%E8S%9F%E7%92p%04%23%10A%08B%A8%0B%0Fx%60%3F%FC%D5%60%062%88%DD%0Bjw%BB%00%EE%AE%04%F1%BD%03%9E%F0%3A%C0%81%0Dd%80%81%11p%80%F2%C82%80%09%A6%04%05t%A8%DE%F5%06%B7%06%0E%22nqb%08%C3%17%C0GB%13Va%0A%29%EC%DC%E7%90%60%84%D1%09%C1t%A8%D3%C1%EAn%E0%3A%1C%F2%CF%05%B6S%81%0F%07%18D%03%0E%B1%88%19%C0%00%12%1F%C0%00%04%18%E0-%5DY%C9%09%E4p%3D%0Dj%EFp%89%03%E1%F7%BA%20%B9%2CX%EE%8B%99%7B%82%13%3C%07%3A%D1%0D%21%86%F3%EBA%FDX%D7%3A%1C%C6%A0%7F-X%C1%0A%E6%08%C4%DF%89%20%04C%24%A2%02%8Fh%01%0A%20%8F%01%098%00%20%9DW%12%01%20%E0%96%B8%5C%DE%01v%C9%CB%03%18%E0%97%C0%FCe%01%86I%CCb%12%E0%98%C8L%E6V%96%C9Lf%F6%A5%2F%C9Tf3%B9%D2%17%09%D2rU%D8%CC%A66%B7%C9%CDnz%F3%9B%E0%0C%A78%C7I%CEr%9A%F3%9C%E8L%A7%3A%D7%C9%CE%A1%04%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5Dj1%80S%A6%2F%05%14%280%20%00T%96%02%1CDP%40%D5%EAU%94%02%3C%B8%F8%40%81%C1%01%02%02%9E~%25Y%E2%0A%14%1C%24.8%40%405%EDZ%91%27%E4%F8Yc%C5G%0A%0D%10%12%14%10p7%24%869%9A%22%09%82%B3%85%88%0B%0F%12%0Ex-%DCq%81%1AR%A4%3AQ2D%07%8C%92%19%18%08P%F6X%E0%0B%A9U%A8Hy%AA%94%28O%99%1E%0CF%7B%FC%A1%A9%15%2B%D4%A5%40%5Db%04%C7%84%EC%8E1%22%B5%B2%7D%3BU%A9P%93%A2%88%FE%ADqC%A0%E1%C3o%ABB5%AAMl%E6%19%21%C4Q%05%9D%D5%EDU%A9%02%FEu%C0%9E%B1%80%96Q%D1%BD%7F%8FT%83%3C%C6%00M%3A%A9%9F%BFJ%13%12%F7%18a%40R%BF%AA%7F%FFQd%18%80%9FE%1A%FC%E1%DF%81%A8%D1%E1%C0%80%15-%B0%06%2A%07%AA%22a%2A%82x%C0%20E%04d%11%8A%7F%12N%08%C9%0C%17RTD%26%1DN%98J%2A%98%18%11%E2D%26%20R%E2%89%27%862%86%80%2BBtA%1E%A8%A8%92%8A%89%A8%98r%87%045B%94%00%19%A4%C0%08%23%2A%A8%14%F2A%90%0F%09%20%C5%27G%22%89d%2470%F9%10%0F%93H%29%E5%29%A7pb%05aV24B%20Hri%E6%29%A2%B0%A1%40%98%0CE0%87%29eri%8A%29%A5%ECQ%01%9B%0B%15%E0E%28g%CE9%E7%21%28%E0%A9P%00Jd%22%A7%9FtR%92%84%A0%0A%C1%D0%08%A2t%96RJ%27Z%0C%C0%28B%1A%EC%E1%A7%A4%9C%8A%02G%03%97%1E%D4%00%1C%A4pZ%0Af%A4%8C%B2%C7%06%A1%22%14%84%A9%FE%98%8D2%0A%232%B4%9A%10%10%A8%A6%3A%0A%25HLf%ABA%3F%C8%2Ak%27%5E%D0%F8%2BB%3F%88%12J%28%A2%08r%ECB%3F%84%02%CA%B4%80%3C%AB%D0%0F%D3~%F2%C9%1F%D6%26%E4%83%B6%9Ex%E2G%B7%08%F9%10n%27%9D%8CK%AEA%3Dp%E2%EE%26%7C%ACk%10%0F%9B%D4%AB%C9%1E%F2%16%C4%83%26%9Ad%92%89%1E%F9%12%B4C%26%98%5Cr%09%1E%01%0F%A4%C3%25%96XR%C9%1D%09%0B%A4C%25%95PBI%1D%11%03%90%03%25%93L%22%09%1D%19%E3%20%89%24%91D2G%C67D%02%C9%23%8F%C8%91%B1%0D%8F8%E2H%23pd%5CC%23%8D0%B2%88%1B%19%D3%B0%C8%22%8A%24%D2F%CF%89%24%82%08%22kd%3C%C3%21L%1B%92F%C62%14R%08%21%84%A0%91q%0C%83%0C%22%88%20fd%0CC%20%81%00%F2%07%19%19%BF%F0%C7%1F~%F8%21F%C6.%F8%C1%07%1F%7B%80%91q%0B%7B%E8%A1G%1E%5Ed%BCB%FE%1Ex%DCq%07%17%19%AB%60G%1D%84k%91q%0At%D01%87%1CXd%8C%82%1Cr%C4%01%87%15%19%9F%00%C7%1Bo%B8QE%C6%25%B4%D1%06%1BlH%911%09k%AC%A1F%1AQd%3CB%1Ai%9Ca%86%13%19%8B%60F%19d%90%B1D%C6%21%901%86%18a%2C%1A1%08a%80%F1%85%17Gd%FC%81%17%5Et%C1E%11%19%7B%C0%C5%16Zh%21D%C6%1Cd%81%C5%15W%FC%40%BD%15VTAE%0F%19k0%85%14%E4%EF%90q%06Q%40%F1%C4%139d%8C%81%13M4%C1%C4%12F%14Q%C4%10C%08%11D%10%3F%F4%EFC%0F%3C%E0%C1%0Ev%A0%83%1C%E4%00%077%B0A%0Dh%C0%C0%19%C8%20%06%10%84%C1%0B%5E%E0%02%17%B4%80%05%2CX%81%0AT%90%02%14x%F0%04%26%08a%09H0%82%12%8A%20%04%1F%E8%00%070P%81%084%00%01%06%40%8BZb%82%81%25%D8P%09I%40%C2%11%EAW%04%22%E4O%7F%FE%40%F8%C1%FF%00%28%40%02%1E%F0%06%09%B4A%03g%E0%40%09R%D0%82%17%5C%81%069%D8A%14%9C%E0%8A%22%24%E1%09A%E0%01%0Eh%C0%02%13p%80%02b%98%16_%BD%E4%02I%C8%E1%0E%7B%F8%C3%20%00%21%88%3F%00%E0%00uP%40%1C%20P%81%0Bd%A2%0C%1E%18%03%09B%11%83R%A4%A2%15%B1h%82%12%8C%90%84%238a%08%40%90B%0Ed%C0%02%12%10%E3Y%CA8%13%0B%F0%D0%87%40%F4%DF%FF%04X%40%03%DE%11%8F5p%60%04%9DH%C1%28n0%05%A8%FC%60%21%0F%89%C8D%86%60%91%1F%F0%80%07T%B8%81GFR%01t%29%A3%19%5BR%816%BEq%88%014b%0E%90%98%C0%1A%2C%90%06%7B%7C%A0%13%2B%D8%82%28j0%95W%04%A1%21%5B%29%02E%C22%96%B3%E4%00%076%A0%01%16Fr%010%AC%CA%0C_%12%00%02%98%F3%9C%E8L%27%01%06%C0%CEv%BA%F3%9D%F0%7C%A7%00%E6I%CFz%DA%93%9E%E8%27t%E7%3C%9D%B2%CB%8C%F9%F3%9F%00%0D%A8%40%07J%D0%82%1A%F4%A0%08M%A8B%17%CA%D0%86%3A%F4%A1%10%8D%A8D%A1%12%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05%28%29%94%85%01R%99A%24u%8A%24h%8D%0B%01O%5B%9EH%94%8A%D4TAo%B2%E8%80%905e%06%3E%ACX%A1%1A%C5%89%EA%1B-AVP%18P%96%24%038%AB%5C%B5Z%B5v%13%A4%40o%E3j%80P%A0.H%02%5EJ%B9Z%BC%B7o%A2%3Fn%B2%C4%DD%00%21A%81%00%869%FE%D0%B4Xo%2BV%AANy%22%B3%C0%82%15%C9%2B%28%5B%1E%809%F3%C5%17%90Z%B5%F2%2C%5B%AD%1D%0A%04%3D%E8P%A1%BA%C0%00%01%AD%5DK%D4%C0G%B6q%E3%AB%06%7D8H%00C%EF%DF%C1%85%3B%5C%B0%26%D5%F1%E3%8CV%2C%2C%C0%605p%E9%0E%0B%FE%7C%21%95%B6%7CyH2%1E%12%F0%1D%20%3Ax%84%3E0%ADZ%C5j%3E%7DV%9B%98%B8o%18%E0%FB%7B%8408b%DF%80%AB%8CB%86%01%16%ED%F7%9F%06~%A8%E2%E0%83%0E%A2B%87%03%FFu%F4%C0%1B%A6%A4%A2%E1%86%1A%06%E2A%85%1C%11p%05%28%1A%A2%82%0A%87%8F%D0%00%E2F%01%2C%91%89%89%26%9E%02%E3%25F%AC%B8%91%0B%8C%9C%A2%E3%8E%3A%82%22%06%826b%94%C1%1E%A5%98b%E4%91%A6%90%22%07%85A%5E%A4%80%19%A2%94%22%E5%94R%FA%C1A%93%17%0D%40%C5%26%A4t%E9e%97%8C%C4%80%E5E%40H2%CA%99h%8EB%CA%24B%8Ci%D1%08%81%88%22%E7%9Crn%E2%05%90nJT%81%1C%A0%84%E2%E7%9F%A1%7C%22G%04yN%84%40%17%9B%80%A2%E8%A2%8A%FA%D1A%A1%12%09%B0%04%25%9FTji%A5%89%CC%00%A9D5%24%D2%C9%A7%9E%84%1A%AA%24P%60%B5%E9C%1F%D8%C1%C9%AA%AC%AE%8A%09%19%FE%09%9C%FA%D0%03hd%B2%C9%AD%B8n%A2%89%1C%13%C8%1A%DE%14%94h%22l%26%C4%0A%CB%07%09%BE%F2%07%C4%22%97%5C%82%89%B3%CF%5E%82%08%10%C96%94%82%1F%96d%ABm%B6%8EDAW%B5%0AY%C0%06%25%95%94K%C9%B9%94LB%1A%B8%0A-%00F%24%93%C4%2B%EF%24%92%B4q%01%BB%0B%D5%10%C9%BE%91H%C2%2F%1F%2A%E0%CB%10%0D%8F%14l%B0%20%3C%28%28pA34%E2%C8%C3%89%3CQ%D8%C2%0C%C9%C0%C8%C5%8C%C0A%B1C1%28%E2%B1%22ml%DCP%0C%88%94%8C%08%1B%223%04%83%21%85%18b%88%1A%29%2F%F4%02%214%13%82F%CC%0A%B9%20%C8%CE%82%98%81sB-%00%22%F4%1Fd%FC%8C%10%0B~%24%ED%C7%18F%1F%B4%02%1F%7BD%1DF%D3%06%A9%90%C7%D5yxAuA%29%D8%E1%F5%1D%5DlM%10%0At%94M%87%16b%0Ft%82%1Cl%CB%81E%DA%02%99%00%C7%DCpX%017%00%25%B4%A1w%FE%1BU%DCM%C2%1A%80%AF%21%C5%DD%23%A4ax%1AQ%DC-%82%19e%98a%86%13w%870%C6%18b%88%B1%C4%DD%20%80%A1%F9%17I%DC%FD%81%17%5Et%D1%C5%11w%7B%B0%85%16%A8%13qw%07X%5C%81%05%16m%C2%BD%81%15UTa%C5%0Fwk%20%C5%EER%F4pw%06P%04%0F%85%0Ewc%D0D%13L4%81C%F1K%28%A1%C4%125%DC%7D%C1%11%D4%1F%A1%29%DC%16%10%A1%3D%11b%C2MA%10%E0%07%F1%C2%DD%13%FC%E0%C3%F9-%DC-%01%0F%3B%B4%AF%1D%DC%12%E4%80C%0E9%A4pw%046%E4o%C3%09wC0%C3%FF30%C1%DD%1E%10%83%02%C6%60%04ws%80%0B%5C%F0%02%17%84%E0n%0D%60%81%04Y%00%02%08%AA%E0%82%29%F8%10%DC%18%80%82%0E%9E%E0Q%1B%2C%81%09LP%82%0D%DCm%01%24%18%81%0AE%C0B%16%86%E0%85%2F%14A%0C%5B%28%C3%19%CE%D0%854%8C%21%0CuH%C3%1A%86%00%04%F5%1F%E8%00%070P%81%084%20%01%07%20%00p%14%16%13%05%C8%B0%87-%84%A1%0BC%20%82%11D%91%8AP%CC%21%14m%B8%C5%17%02%D1%03%1C%C8%80%05%24pD%03%10%805L%84%89%02%40%C0%C6%1F%FE%90%8D%40%04%E2%07%E0%E8E8%CE%11%8Ex%CC%23%08%DE%18G6%DE%B1%8F%1F%08%E4%07%3C%D0%81%0D%10%D1%88%080%E3%12s%92%80Az%C0%91%81%F4%80%24%1F9IAF%B2%92%8E%AC%24%26%059IIv%A0%93%93%EC%80%289%B0%01%0D%5C%60%02%10%60%00%02%7C%B3H%9C%24%60%94B%14%A5%2Cg%09KZ%8A%92%90%1C%C8%E5%2C9%60KX%E6%92%97%B5%24%25%295%20F%09%3C%60%01%ABD%A3N%FA%23%80f%3A%F3%99%D0%8C%A64%A7I%CDj%3E%F37KL%E3%DD%B6%C9%CDnz%F3%9B%E0%0C%A78%C7I%CEr%9A%F3%9C%E8L%A7%3A%D7%C9%CEv%BA%F3%9D%C2%09%08%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05X%19%E5%07%03R%99E8%C1%9A%CA%AAM%82%A7-O0z%C5%F5%D5TX%A4%AC%04%C0%8A2%03%9FV%AE%5Cu%5D%FBJ%D2%0A%B2%24%19%BCI%856%AD%5D%B5k%5B%E1y%00%F7%23%01.%A3Z%09%1E%9C%D6%14%AB%BBi%5B%8D%922%B6%AFF%1F%97XIf5%B8U%2A9%0FF8r%85v%F0%AAT%89H8%BE%E8%A2%D1%AAU%93%27%AB%DAc%81%A0%13R%83Y%A9%3A5JS%18%04%A3%25f%C8%93J%95%AA%D3%C0U%11%02q%F0%81%1D%D4%9FK%85%CA%E4%A8%0E%8B%DC%0E%17%A4%29%95%AA%BA%EF%EB%8CT%2Cl1i6%29O%95%14%FE%E99%F3%E3%2At%84%04%B6%7CB%C5%BE%BA%7BG1%1C%0E%E8%02J%14%27I%85%E8%84YBCB%E3%F3%03%ED%40%89%29%A7%14%C8%DE%29%A8%60%B2%C4%7F%0EQ%60G%26%8F%04%F2%86%16E%C0%F0%01%04%03%00%08%40%0B%89%94%E2%A1%29%04%16%F8%89%18%06T%E4%C2%1E%7C%A4A%85%0F%2Ah%00A%02%04%40%87A%1E%A3%90B%8A%87%1F%92%22%87%03%18%0D%B0C%18O%E0P%C2%05%0E%20P%C0%00%0C%3E%E5%40%1A%9F%8C%E2d%8D6%92%E2G%07%1C5%40%C3%0C%22T%C0%C0%01%04%08%10%40%92E%11%20%C5%25%A1%84%22%CA%99%A28%B9%88%0C%209%90%81%04%0B%180%80%97O%05%40%04%24%9F%7C%02%CA%9Ee%86%12%89%10%23%05%90%40%02G%D2y%94%0A%83x%A2%A8%27y%E6%89I%17%25%96%14%C0%9C_%1Ae%81%1C%9Bp%A2i%27%9Cz%B2%C9%1A%0D%A8T%29Q%09ta%89%26%9Al%A2j%A6%9C%D8%A1%81%86%FE%1D%0D%B0%84%23%97%60%92%C9%AD%99%A0%3AH%0B%B0v%84%03%21%95Tb%C9%B0%97%D4%8A%08%0F%BDr%D4%C1%1C%92L2%09%25%D0%0A%FB%88%15%05%24%AB%91%04d%3C%12%C9%B6%92t%3B%89%24g%F0e-F%07%3C%81%88%23%8E%3C%A2.%24%90D%22%C7%AB%E3%5E%14%40%0F%81%2C%C2%08%23%8D%E4%8B%EE%1Eo%C5%7B%91%0Au%20%82H%22%8A%2Cb0%23%82%10%01%A6%BF%10a0F%21%86%18r%C8%21%02%27R%88%15%B81L%D1%02T%04%22%C8%20%84%10R%08%C4%86%84%01%81%C6%14%0D%00D%1E%7F%00%12%88%C7%82%7C%9C%06%95%28K%14%C0%0Bp%F0%D1%87%1F%3C%FF%D1%B2%1Cl%D6%2CQ%07c%E4%91%87%1E%7B%A0%C8%07%1Fv%FC%20%80%D0%11%3D%20E%1Du%D8q%C7%1Dx%18%8D%C7%13%19C%ED%D0%01F%C0%21%C7%1Ct%D0A%B5%1DuX%11%81%D7%11%91%F0%06%1Cp%C71%F6%1Ca%7C%C0%B6D%22%B0%D1%86%FE%1Bo%BC%5DF%BFwG%24B%1Ak%AC%C1F%1A8d%18%B8D%21%9C%81F%1AjH%B18E%20%94a%86%19g%401%F9D%1F%8CA%C6%E7Ml.%91%07%60%84%11%86%18K%88%1EQ%07%5E%B4%FEE%12%AAC%C4%C1%16%5Cp%D1%85%11%B1%3F%B4%01%16Yh%A1%05%11%B9%3B%B4A%15VXq%05%A0%C13%94%81%14SPQ%C5%0F%C93%84%01%14QH%21E%0F%D1%2F%84A%13N%3C%01%C5%0E%D9%2Bt%C1%12%E47%91C%F8%09Y%80%04%12I%2Ca%03%FA%08UP%84%11F%1CA%03%FC%07Q%20%C4%10C%10%114%FE%04%A1%C0%0F%80%10%84%20%C0%00%80%05%99%00%0Fz%E0%03%1F%F0%0A%81%03%91%80%0Et%B0%03%1E%3C%07%82%02%89%C0%0Dp%90%03%1Dh%07%83%00%80%00%0Dj%60%83%1B%A0%00%84%00x%80%0Cf0B%13%A0%F0%010%80A%0Cd%20%1A%10%3A%A0%05.p%01%0CF%80%C2%06%AC%80%05%FE%2ChA%08z%98%02%15%A8%60%05%C4%01%21%03N%80%02%14%A4%C0%03%28%5C%00%09L%60%82%13p%20%8A%23%20A%09J%B0%01%14%2A%40%04%22%18%C1%082%E0E%10%84%E0%8Cd%04a%02%3C%F0%816%5E%00%85%09%E8%40%07%3C%E0%81%D6%80%10%01%1B%E0%80%1E%2B%80B%04h%E0%8F%1B%98%00%0A%0F%80%01%0Cd%20%03%82%04%E1%01%2Cp%81%0B%60%40%02%83%AC%40%05%18%B96%10%1A%80%02%98%AC%80%B80h%80%09L%80%02%13%E0%11%08%0B%10%01%09x2T%A3%84%40%04V%89J%0C%16%E0%01%0F%80%00%04%18%80%C2%028%00%96%B8%C4%A5%2Ce%B9%CAR%9A%D2%93%99%94%A4%24-%40LF%16%B2%90%87%CC%00%207%90G%3Dr%40%8E%1C%D8%40%06.P%81%084%20%01%07%28%D4%C2pB%00%07x%D3%9B%B9%DC%A5%2A%7B%29%81r~2%98%C3ld%23%91y%C8e6S%8E%F0%EC%80%1E5p%01%0A%CC%12%01%06%B1%E8%D2%A8zB%00%064%E0%9F%0D%F8f.c%B9Kr%9A%F3%93%C0%1Cf1%D7%89%CC%3Fj%80%99%10%8D%E6%064%80%81%0AH%C0%01%0A%C8%26%A5%B6y%93%01%2C%80%01%FE%04%E87Gz%CB%82%1A%B4%9C%BF%3Cg%26%17zLej%C0%A5%7F%3C%A4%05%260%CB%04%E4%13I%1C%ED%E8GA%CA%D3%90%8A%14%9C%B0%14g%2FW%89RO%26T%A1%EA%3C%A6R%2F%60%01%0AD%C0%01%0B0%D2F%83%F2%A5%AAZ%F5%AAX%CD%AAV%B7%EA%A5%00%08%A0%ABXE%A1X%C7J%D6%B2%9A%F5%AChM%ABZ%D7%CA%D6%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%95m%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05T%01%C5%E7%02R%99C2%B5%9A%9A%8A%0D%82%A7-M%20Z%C5%8A%D5%D4%A9%A1%AA%04%C0%8A%12C%9ET%AB%D2v%F5%FA%15%D2%0A%B2%24%17%AC%29%95J%95%DD%B4%5C%BB~eu%E7%01%DC%8F%03%B0%7CB%85%2A%95%E1%BB%A4R%AD%FD%DA%AA%94%D8%BF%1BuH2u%EA%14%E1%C2%AAJ%BDq%20%82%D1Z%B6S%25%A9%80%7Cq%C5%A1R%A8MQ%B6l%0AO%05%82LD%E5%05%CD%B7%01i%89%17%E4%88%1AE%8A%14%EAR%A6J%01%FAp%D0A%1DU%8B%BF%8A%AAr%DB%A1%021%9DB%89%DA%CD%DB%F7%A1%14%0B%5BH%9A%CD%F8%91%89%E6%09%09%FET%B1%F4%09%14%28%E9%D4%11%BDp8%C0%0B%A9%BC%8CU%B5%B9%0A%9E%60%8DE%9D%3Ay%F2T%FE%BC%A4%23cAd%81%1Fj%81%D6J%27D%D4%07%00%0A%7Fh%B2%09%27%9C%E8%C7%DF%25%5D%18PQ%0E%99%7C%B6%D6%2A%86pp%5B%05m%5C%92I%26%9A8%08%A1%26j%D8v%11%01_%98%82%D7%2A%AA%A4r%0A%28a%14%00%17%03%5EDR%89%25%97%88H%A2%26ul%C0%D1%07%88%D8%15%E3%29%A5%84%B2%09%21%2C%3C5%C0%11%89H2%C9%24%94X%C2%E3%25%81%B4%00R%11%9C%C8X%8A%28%9DT%B2%88%1FS%2CPT%009%00%F2%C8%23%90D%22%25%25%95%14%B2%C3H%0B%BCA%CA%28%9Fd%02%09%21u%90%C1%84%06%01%02%25%82%1C%8C0%D2%88%23l%BA%C9%C8%146%96%04%82%20%9AL%92%08%1Fk%60Q%84%0C%1C4%DA%93%04a%1C%92%88%22%8B%18%8Ah%23%60%98%89R%00E%10%12%88%1Ca4%91%03%0A%FE%1AD%60%E1N%070%11H%21%86%1C%82%C8%A7%8B%2C%92%86%05-%29%C0%C4%19V%08%F1%02%08%144%80%40%01%81%D6%24%C0%0Ew%04%22%C8%20%84%14r%88%AEt%7C%07%D3%04%3A%D8%60%82%06%10%28%60%00%01%034%2B%93%0Am%F8%E1%C7%1F%80H%5B%ED%1D2%D0%14%C0%04%1BL%C0%C0%01%E4%0A%60%EEK%16p%91%87%1E%7B%F0%D1%C7%BA%81%EC%81%04%017%09%A0%40%02%05%0C%A0%EF%BE%2C5%C0%C4%1Cu%DC%81%C7%BF%01%F3a%05%03%3B%090%80%C3%10%ABT%40%0Ek%C4%21%07%1Du%D8aq%1E%5EP%00T%C8%A7%AE%40F%1Bn%C0%01%87%1C%27%F7%19%82%82%1Eup%05%1Ai%A8%B1%06%CD6%A71%03%CC%3CO%F4%00%11c%90a%C6%19i%A4%B1%06%1Bi%041k%D2%19%1Dp%03%17_%84%21%06%19e%98%01t%12%A6b%8D%91%00%27T%A1%C5%16%5Dx%D1%F5%D7O%B8lvF%1C%2CQ%85%15Xd%A1%05%FE%17%5ExA%C5%08sg%14A%0FPH1%05%15V%5C%81%85%16V%A8%20%40%E0%17%21%F0%C2%12L4%F1D%14%86SA%C5%0C%9AB%3E%11%01%26%10%81D%12KP%EE%04%14Q%D8P%B6%E7%14M%10%C4%10E%18q%04%12J0%E1%C3%04%ACc%24%C1%0F%40%BC%1E%BB%0F%19%E4.8%0F%3E%F0%FE%C3%07%8F%0B%8FQ%04%3A%EC%D0%83%0FZ%2A%9F%11%048%E4%D0%7C%93%D2c%04A%0D6T%3FZ%F6%17%3D0%03%0D5%DC%80%1D%F8%169%10%83%0C%E3%9F%80~%FA.%C0%10%C3%0C%DA%BE%3FQ%03-%B8%F0%02%0C%24%D8OQ%03%2B%60A%FE%00%E7%3F%890%00%05%2A%08%20%08%0Ah%C0%13%A0%20%05%2AX%20%03%21%B2%00%12%98%C0%81%1E%98%20D%140%82%12%5C%D0C%1At%8E%08F%40%82%12%08%29%84%0DQ%40%08F8%02%0D%A0%B0%21%09%F8%00%08V%18%BC%17.%24%01%1E%F8%80%0C1%60%C3%85%20%80%03%FE%1D%F0%80%07%80%D5%C3%84%20%60%03%1B%00%22%11%8Bx%10%04d%40%03H%94%1B%13%0Dr%00%0C%3CQ%03%B8%9B%22%15%2F%60%C5%0CdQ%8B%041%80%05.%C0%C5%08%80%B1%20%06%A0%40%05%2C%60%013%9Eq%20%06%98%00%05%D4%08%817%C2Q%02%12%90%A3_%EC%08%80%02D%00%8F%13p%00%1F%FB%08%81%08%18REv%24%C0%03%20PH%8E%F1%91%00%0Ex%C0%22%1D%99%C8%068%20%92%AB%3B%23%01%1A%60I%07d%12%8C%04%60%00%03%2C%A9%80A%0E%60%01%0B%18e%02L%89%CAT%AE%92%8F%03P%80%02RI%1F%3B%0E%20%01%09%40e-%DFxKY.%60%97g%BC%25.%15p%80A%0A%00%01%B8L%401%F9xLd%26%E0jo%14%C0%01%0E%80%00%04%40%F3%8C%D2%9C%A65%8Di%00m%22%60%9A%DEL%E60%5B%99%CAQF2%92%8C%8C%40%21%F3%28%C7%0A%B8s%8Dc%24%A3%05%2A0%01%084%40%99%E3%C3%12%80%BE%8A%22%00%03t%13%9C%D4%AC%A63e9Kr%8A%B2%93%E8d%24%04%F0%98G5%BA3%9E%F2%A4g%04%3Ci%CD%7C%05%00i%1D%2B%40%01%FC%F9%CF%80%3A3%99%045%28%27-%29%C9E%1A%F2%8F%13H%E9%1A%DFY%01%0A%D4%D3%01%0Cx%A6E%2F%CAO%8D%DA%D4%9F%00%15%E8%40%7D%D9%CAQr%F2%92%095%24%20%E7%D8R%97J%00%020Uf%C3%1Ev%94%00%D8T%A3%1C%ED%A8GA%8A%CA%82%A2%D2%A7%24%5Dd%21%85%9A%D2%09H%40%9D0U%805AFS%05%5D%F4%AChM%ABZ%D7%CAV%8C%0E%F2%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%0D%AC%60%07%AB%BC%80%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05D%D1t%C7%02R%99%3E%26%99%3Auj%14%1A%04O%5B%8E%08D%AA%94%A9%A9%A7Pq%92%12%20%2BJ%0BqB%89%1A%D5%D5%EBTT%A8%18%A50KR%01%99M%A0%D4%AEm%FB5%2C%AASt%1C%D0%FD8%20%0A%25O%9F%40%E5%5D%3B%AA%D3%28%AFT%E1%A6%02Ev%F0F%1A%876q%EA%84Xq%A8Ni%1A%800%04%D9o%2AU%8E%E6Z%B6Xb%0F%A6L%9A4s%FE%E4%29%0E%05%82H8%81E%95%EA4%AA%3A%0DVK%A4%60%86R%25K%AFcs%E2t%87%C3A%07qJ%99%3E%AD%0A%D4%14%E1%0E%11Xi%24i%92%F1K%C9%FB%FE%94X%B8%C2Q%E4%DE%AAT%ADj4%1E%3B%C2%01I%0C9z%14%A9%3B%25K%97%FC%A8p8%60K%28%D3%E9%AD%82%CA%1AX%B9G%D0%0Ax%2C%C2H%23%F3%D57%89%21%3E%94%05Q%05%7B%98%C2%1Bz%AB%AC%D2%09%11%06%02%00%02%1B%86%20%92%88%82%0CB%A2%88%14%05TtC%25%17%06%98a%22%1D%08%17%C1%16%81%0CR%C8%21%22%2A%C2%C8%22%5E%2C%80%11%01%5D%8C%82%5E%80%AC%9C%B2%86%01t%25%B0%84%1E~%00%22%08%217%22%82%C8%19%17p%E4%81%21C%AA%B7%0A%2B%9C%04%F1%D4%006%C0%A1%C7%1E%7D%FC%11%C8%93%85%C0%D1%9EGDl%82%E1%96%AC%B4%92%C8%06F%A9%60F%1Dw%E0%A1%07%1F~%98IG%0C%23-%00%C7%29%E9%A9%C7J%9C%A6%7C1%80P%19d%01%87%1Ct%E0%99%C7%1E%7C%DCQ%04%01%26%89%B0%88%8B%87%1Ez%C9%0C%3F5%80%C4%1Al%B8%F1%E8%1Ct%D8q%87%13%09%A4%14%80%14%FE%A0h%09%27%2B%AB%FC%11%C1N%05%D4%40%C6%19i%90j%AA%1CrTq%2BK%0E%D0qZ%86%19%AA%92%8A%27P%E0%24%C0%09Y%84A%86%19%BC%AE%D1%86%1B%5C%C4%08S%0B%91%14%9A%CA_%A5%88%12%C8%075m%D0%04%17%5E%80%21-%B5ix%B1fL%04x%21%24%2A%A6%90%12%0A%27%960%D2%04%A609%D0%83%15Xh%81%EE%17%D2~A%C3%A26Y%B0G%29%A3%80%C2I%25%8E%10%92%07%18t%B6%84%00%0CPHA%05%C0Yl%E1%85%17%3E%B4%AAS%0D%8DlRI%23%83%DC%A1%06%17L%A4%90bJ%03%88pD%13Od%BC%F1%15Z%0C%21XO%04%3C%91H%CAih%B1%04%0F-%7C%A0%00J%18%F4%60D%12K0%E1D%14%1A%1B%E1TP%14p%11%F4%12%3B%B4%10%C2%05%10%24%20%00I%10%C8%00%84%10D%1C%C1%B4%D3H%84%20%E1P%1C%08%A1%03%0B%20p%BD%C0%01%05%7C%0D%12%02%26%E8%C0%83%FE%0Fc%97%9D%04%12%29%F0k%94%00%16%7C%60%C1%03%0A%D0%3D%80%00koD%40%074%DC%80%83%DE%7C%0B%21%04%0B%07%D0E%00%03s%17%B0x%E3%19%05%40%01%0B1%CC%40%83%0D%93%F3%D0%83%0B%0C%087%40%01%040%DEQ%03%25%B0%D0%C2%0B1%C8p%3A%0E1%DCf%A0%00%B2k%84%00%07%27%A0%A0%82%ED%B8%CB%00%C3%05%A0w%F8%A3%05%22%8CPB%F1%C7%BB%E0%02%07%08%3B%AF%91%00%11x%00B%08%D2%9BP%7C%0A%1C%20%A9%3DG%08t%E0%C1%07%20DO%82%09%1F%88%7C%3E%FA%1C%A8%FFA%08%22x%D0%FA%FC%1E%1D%B0A%FD%1E%E8%C0%03%9A%C7%BF%8C%1C%40%03%1B%D8%40%07%A6V%C0%FEe%00%81%1C%A8%40%03%3Fr%80%0B%60%E0%81%13%98%A0G%0C%60%01%0Bf%20%83%1A%E4%88%01%2A%D0%C1%0F%86P%84%14%A8%80%05%25p%C2%8D%14%80%02%29%B4%C0%B0Z%88%11%03L%60%02%29%84%00%0D3R%00%09H%00%87%FE%0F%D8%21F%0A%00%01%1FN%60gB%AC%08%11%23%E0C%24%26q%22%04x%00%04%22%10%81%E0%3C%91%22%04p%80%14%23%B0%BF%2BJ%24%8BZ%84%40%17%BD%08%11%024%C0%01Z%1C%23%19%1D%B2%B93%3E%C0Gk%84%C8%00%16pF%07%1C-%8E%0F%99%23%03%1A%D0%00%F9%E1%91%21zd%00%03%FC%F8G%85%E8q%01%0B%20d%21%DF%83HD%2Ar%91%06%19%80%02%1AY%20H%26d%00%09%98%E4%02%2Ai%C9%83%60R%01%A0%CC%5C%27%DF%83%80%04dR%94%A3%8C%24%02J%99%00T%A6%92%20%03X%E5%2A%CD%F7J%82%08%40%96%08%A0e-%05%22%80%03%F82%97%BB%B4%A5%01~%A9%CB%5D%0A%C0%00%C3%3C%401kyLd%D2-%98%03%11%40%01%0A%80%CC%97AS%9A%D4%7C%264%01%80Md%0A.%98%01%20%00%01%A8%F9%CD%5D%86s%9C%B0%DB%26%00%CE9%CEr%D6%92%9D%E2T%27%3C%B3%07Nq%8A%93%9E%E6%BF%24%C0%00%EE%29%CF%01%EC%D3%9E%E8%9C%A63%7DI%D0%03%AC%D2%94%A0D%E4%1E%D1%A8%C5%07%A0%B1%01%9CS%40%02%10%407%7D2.%00%185K%00%FC%09Pq%C2n%9A%D94%E8AM%99IM%EE%B1%8E%0DEcD%27j%00%CF%5D%94%80G%D9%A8%3F%FF%09P%90%86%D4%A0%24E%E8%24%05%29H%3E%F2q%A5%14m%E9%E70%0AS%A3%C8%94%A3%1D%0D%285%939%D2%92%26T%A1%9C%5B%80Dg%09%BB%A1%165%A63EjRm%9AL%91%96T%A7%9A%9C%AA2%ABj%D5%ABj%90%A8hM%ABY%D5%C9%D6%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%5Dd%40%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05%20i%D4%86%02R%996%0Aa%CA%B4%E9%12%98%03O%5Bz%98S%C9%D2%A5L%9A6q%92%B4%24%40V%94%12%C8%3C%92D%A9%2B%A6%B0%9C%3Ay%22d%E2%2CI%04U%129%82%14i%12%25%AF%60%C5z%FA%E4%A9M%03%BB%1F%05%08%09%B4%88%91%A3G%91%D8Vzd%09%AE%DCO%A0.51%8BXc%8A9%87%10%25Z%D4ho%24G%5E%18p%E0c%193%A8P%87%EAv%B6%D8%C1L%A0A%85B7v%D4%88L%04%82A%24%C5%1D%FCZT%A87%0CfK%7C%20%85%CF%1F%40%82%08%15%12%BD%28%0D%86%83%0C%D2l%BA%5C%7CT%A6%27%CA%1D%FE%1A%10B%27%0F%9F%3E%7Fn%E7n%F3a%E1%89B%C4C%89%1AE%8A%14%A2%11%E1%13%0A%A8%B1%86%8E%1D%3Cz%F0%E1%07tm%88%E0%90%00U%60%82%99%7C%F4%952%0A%1A%08%E4W%D0%07%5E%BC%11%C7%1Cu%DC%91%C7%1E~%C8%21%03g%0FM%40%C7%27%0C6h%0A%26BH%08%80%05R%A4%B1F%1Bp%C8AG%1Dx%D01%04%01%15%CD%E0%08%83%A4%94R%8A%29%A7%14%C2%81r%0B%04A%86%19h%A8%C1%86%85r%C8%B1D%02%18%11%80%05%27%F3%F5%08%E4%29%A4%A4a%80%5D%06%CC%B0%05%18b%94q%86%8Bm%BC%21%C5o%1Bq%10H%83%3F%9E%82%0A%2A%99%FC%F0%94%00%23D%91%05%17%5E%84AF%19If1%E4G%40Xb%E5%29n%A6%92%CA%21%1A%18%B5%01%12TX%81%85%16%5D%7C%A1%A7%16%24%8C%A4%C0%1A%A3%B4Yh%2A%A4x1%80P%0F%E8%D0%04%14RTq%85%16xj%11%C3%A7%25%81pH%9B%FE%A8%18%AA%CA%2A%96%CC%F0%13%02%2B%1C%A1%04%13ND1%85%A3Z%DC%B0%25J%01%3C%D1%09%A1%B1%AA2%AB%2A%7F%A0%99%D3%00%1F%F80%84%11I%2C%C1%C4%13RP%B1Cr%2C9%20G%29o%A6%A2%EC%2A%AB%88B%05N%01XP%03%0F%3F%08A%84%AEK8%01%C4%041%B1%F0H%AC%E2%CE%CA%0A%2B%8F%C86%D3%03%2C%DC%90%C3%0E%3D%001m%12%40%5C7%D3%00%5D%8C%22%2B%B9%AC%B4%A2%0A%1BX%C1t%80%080%CCP%03%0E%3A%B0%1B%C4%0F%21%08p%93%05%7C%88%0Bq%2B%28%7B%92bK%04d%A0B%0B%2F%C4%40%83%0D%03%F3%60B%01%3B%E5p%89%BE%11%A3%EC%CA%22%89%A6%14%40%04%24%A0%A0%02%0B.%C0%20C%0D7%A4%10aO%04xa%CA%2A%FB%A2%8C%F2%29b%B0Z%12%03%1F%90P%C2%09%29%AC%D0%82%0B1%A8%E0%80P%1F%20Bu%CF%3E_%22%C3%5D%18%80%00%82%08%24%98%604%0B%29%D0%5BT%FE%11%9E%EC%CBv%2B%AB%E8q%D8G%04D%C0%81%07%1F%80%10%C2%08_%9Fp%81%C8G%25%A0F%2AT%93%BBJ%2A%A8l%E2DG%028%90%81%06%1Bt%80x%08tc%80%E3Y%230%A2%8A%A1%A7%982%0A%28%9D%F0%F1%27F%09P%60%01%06%19l%C0%81%E8%20%600%2Cb%01H%D1I%29%A4%84%D2I%26%948B%88%12%A7Sd%00%04%13T%60%C1%05%B8%87%9E%81%02%12%3A%C0F%27%9A%24%8FH%20x%BC%91E%D0%11%0D%C0%40%04%12L%40%81%F4%17d%80%01%B7%2A%02P%C2%1E%89%08%A2G%1Cgp%21%C5%11%274%CF%90%00%09p%C0%03%20%20%81%F4%D9%CE%02%0E%00Q%FC%00%20%00%1F%B8%21%0D_%A8B%12x0%83%14%7C%00~%09%09%C0%01%1A%D0%00%01B%20%02%E8%A3%80%03%B4%B6%40%82%2C%60%07K%00%82%0DV0%02%0E%5C%E0%01%0C1%1F%03%3A%E8%C1%088%C0%7F%254%88%03LP%02%0F%60%40%02%FE%23%8C%E1%02fHC%07%FC.%87%19d%C0%04%1E%C0%80%23%26d%00Cd%80%14%9D%88D%85%08%C0%00TD%C8%00%14%B0%80%21B%A9%8A%1F%D9%22%17%17%F0E0vD%8C%5D%2C%A3%1972%80%04%24%C0%8Bk%3Cc%02%B8%C8%80%A7%C5Q%23m%7C%E3%02%ECxG%8C%00p%8E%7B%EC%A3F%FE%C8E%3E%0A%B2%22%02%40%00%02%14%A0%80%8A%1D%D2%22%89D%80%1B%1D%F9H%8ADR%92%94%AC%A4D.%89%80%2Cj%F2%40%078%80%22%3D%F9%C9%FF%85R%94%A4%2C%A5%15%0D%10%CAN%AAr%93XD%E5%2B%23%22%80%02%B0%F2%008%9B%E5Cj%19%CB%5C%EA%B2%21W%BC%A5%2F%7F%B9%90%00%D8%12%8B%C3%24f%06%8Fi%00%1C%2A%F3%20%C6%2C%80-%9D%F9%CC%82%04%80%00%D2%2C%005%AB9%90kfs%9B%DC%04%C05%B1%A9%CDp%22d%9C%D2%04%277%C7%89MuV%93%9D%E54%A7A%E0%E9%CEg%B2%93%00%24%C1%94%A7%40%EE%99O%7D%F2S%9F%D6%1C%00%01%06%DAOy%06%60%00%02%C5%27%40%09r%D0%84%16%D4%9C%0D%15%E8C%C3%19Q%85.t%9F%08%CD%E8E1%9AQ%C8%5D4%A2%03%F0%E8B%03%20%80%8EnT%9C%25E%A8H%01J%D2%8C%BAt%A0%03%CD%A64%B1h%80c%CA%14%9F%2A%15%40%00v%AA%C0%05%924%A5%2F%85%299e%AAM%98%22%14%9F%02H%2AO%C5%C9%D4%1C%FE4%A9.M%A8P%C9i%D4%A4ZU%A7%3B%ED%E3S%A3%9AQ%82J%15%A9%21U%AAY%B2%AA%D5%ABv%94%ABQ%D5%A9Z%B1z%D2%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%0D%AC%60%B9%19%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%03%DC%B8%A3%05%02R%99%28%DA%FC%11D%28%10%14%03O%5BZ%E0%B2%87%8F%9F%40%82%0A%1D%F2%E3%23%40V%94%0D%98%D0%B9%93%C7%2BXB%86%10%29%92%F3%E1%2CI%03%3F%DA%C8%A9%C3v%8F%1F%40T%E3%2Ab%C4%E8%CB%02%BB%1F%05%BC%20%D3%06%8E%9C%B5y%F6%F4%C9%F3g%90%D8D%8B%1A%3DB%24%C4%2Cb%8D%1C%AE%A0Q%D3%E6%CDc%3Bx%EC0I%60%01%8DXD%99%1DA%8A%A4%27%C4%E7%8B%13%96%88%21s%26%CD%1A7%8E%E7%40i%40%90%86%1F%D8%8C%1C%3D%8A4i%12%19%05%B7%25%2A%C0%B1%C5K%182f%7C%97%9E%22%E1%A0%82%2C%88%18%FEi%8E%24%89R%A5FG%A2%3B%24%B0b%0A%96%EAa%C6%98%19%5D%E5%C2B%10u%1A%C9%964%A9%D2%A5L~%80%A0%5EB%01%84%B0%C4%14U%5C%A1E%17%60%88Q%C6%14%198%24%40%12%88%2C7%09%25%96%60%A2%09%26%60%1C0%60A%13%F8%C0%C4%13R%24%A8%05%17%5EXA%82D%10%A0%C1%1C%86%FFm%C2%C9%23%3C%7C%08%40%032%1C%A1%C4%12NDA%85%15YX%E1%C2%00%15%B1%10%88y%FFi%22%A3%27%7Dh%10%DD%01%26%001D%11I%2C%D1%04%14RPA%03V%17%11%F0%04%24%19%2A%C9I%27%9Fp2%06%97Y%0D%D0%01%0E%3C%FC%20D%11HX%09%05%0E%0Cp%94%81%1D%97%88%D9%89%27%A0%84%22%89%0EO%05%40%C1%0B6%E4%C0%83%0FA%10%A1%23%0F%13%80%A4%03%23%9Bl%B2%E7%27%A0%882J%20%11%16%F5%00%0A0%CC%60%03%0E%3B%F8%20%E5%0E%F6%89%94%00%19%99p%E2%09%A5%A1X%EA%89%16%FED%06%85%C0%07%2B%B8%D0%E9%A7%3A%F4%B0%C3%07%02%98%E4%C1%1F%7B%F6i%29%29%A5D%12%C3O%04%5CpB%0A%B5%C2%20C%0D7%E0%20%02%01%29%05%A0D%25%AC%8EBl%29%A5%F0%11%C1N%01%40%10%02%09%26%A0%B0B%0B%2F%C40%03%09%1E%B2%D4%C0%1A%9F%B4%3A%0A%B7%A6%9C%E2%89%1491%C0A%08%22%90%8B%82%0A%2C%B8%60B%9D0%A5%A0%C8%B0%A5%D4%7B%0A%2A%8C%94P%13%02%17p%F0%01%BF%23%94p%82%0A%258%40%D3%00YtB%AC%C2%A8%A4b%8A%1Ah%BAD%40%04%19l%D0%81%07%20%88P1%09%13xVS%05x%24%7C%CA%C2%A9%A8%A2%0A%27A%B8%24%40%03%17%5C%80%81%06%1C%B0%CC%AF%05%B1%E6d%03%25%F5%86%9C%F3%2A%AC%24%E2d%B5%08H%40A%05Bk%A0%F2%07%16%14%E0%13%01%5C%88%E2%B4%2A%AB%40%5DJ%18I%DF%E5%40%04V%5B%20t%06%1AX%D0.P%1E%1426%D4%AC%B4r%89%FE%0C%24%0D%B0%C0%03%10%B0%7D%B5%D0%16%40W%14%11%9C%E8%8Cw%2B%8C%F3A%5Cb%070%D0%80%03%10%40%20%C1%04%15T%C0%80%CCE%25%90%06%2Ae%B3%92w%2B%AE%90bEG%01%18%B0%C0%02%92%3B%008%DB%0D%F4z%D6%08%8C%2CN%BA%2B%AFD%E2pF%04%28%B0%BA%E4%93%BB%DE%40%DAg%050%85%28%A3%BB%82%FB%2B%AC%B81%F7D%03%1C%A0%80%EF%AC%B7%DE%80%D7%03%3EPG%DE%CA%BF%F2%0A%2C%B0%80%22%C4D%02%18%80%00%02%09L%EF%3B%03%0C%94%FC%E1%0B%95%90%EE%FD%F7%B0%C4%82H%05%0F%05%40%C0%01%E7%A3%9F%BE%EF%07%E0%9C%8D%00%40%800%A0by%E0%8BE%2CTA%06%E2%1Dd%00%050%80%01%F8w%BE%F4%05p%80%08%C9%40%21%BC%07%BE%FA%C5%02%14%CF%3BH%00%0A%40%C2%09R%F0%00%B2%C3%60Bz%D0%09%FA%D5%0F%08%0C%19a%09%0Fp%00%038P%85%079%40%1BX%01%3E%404D%86%FE%12%B4%21%0E%21%22%82F%84%E2q%0B%91%21%09%A95%C4%88P%C0%21J%2C%00%13%9B%E8%11%FD%95p%8AT%E4%88%FE%08%10A%ECeQ%8B%04%E0%A2%01%B0%F8%C5%8Cl1%82d%2C%E3E%CE%28E5n%84%8Dit%23E%B6%C8%C58%CAQ%22tl%E3%1D%D7%18%C6%3A%EE%91%8Fa%D4%E3%1F%E7%D8GA%0E%12%8F%85%B4%E3%21c%D8G%02%DCp%91%8Cl%24%24%11%D9%C7GN%92%40%8D%B4%E4%25E%98%C9M%E6o%00%95%F4%24%14A%19FM%8Ar%20%01%20%A5%23O%19%C3%01%90%D2%94%ACL%E5%2BY%99DW%82%12%96%A7%94%A5-i%A9%10%5D%BA%92%97%04%B2%E5%2F%81%29Ba%E2R%94%BE%3C%A6%27%7D%99Bb%12D%96%02%18%403%9D%29%90%00%08%E0%9A%D2%A4fA%ACyM%01%08%90%9A%DC%BC%E67%9D%19Noj%F3%99%DD4%E79%AB%E9%CD%00%B8s%9D%A8t%E78%C1YMx%DA%F3%9E%F8%27%CC%A7%3E%F7%C9%CF~%FA%F3%9F%00%0D%A8%40%07J%D0%82%1A%F4%A0%08M%A8B%17%CA%D0%86%3A%F4%A1%10%8D%A8D5%12%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%03%8C%A8%D2C%01R%99%19%96p%F1%12%06%CC%0D%02O%5B%3A%E0a%25%CB%16%AAd%CC%80Y%915%25%02%18Q%A6t%FD%1A%86%CC%994k%B0X%28K%92%80%89%24N%D2%AE%05%FBv%8D%9B7I%10%D0%FD%18%60%C3%8F%24K%F2%AA%CD%C2%25%0B%98%B0p%DB%C0%91%D3FF%80%C1%1B%21%CC%10R%04Ib%BDVf%18x%D0%C4%0C%5C7p%E6%D4%B9C%26%03%E6%8B%0BV%F0%F8%C1%D9s%5E%295%12%10%2C%11f%8Dd9%AB%F3%EC%91%22%F8u%C4%02%1Fn%E8%98-%C4%08b%267%18%1C%3C%20%E4wp%3E~%EE%E00%EEP%00%86%174%94%FE%CF%1ER%24%C9%0D%07%0B1x%01~%27%0Fv%40%82%D6h%E0%9E0%80%84%14%2Fb%84%D7%D1%83v%0D%08%0E%05p%C3%1Bw%E8%81%5D%20%82%14B%88%14%06%D0W%90%02%22%AC%D0%C2%0B2%D4%A0%5C%0F6%CC%15%11%03T%B8%F7G%20%83%14rH%22~%C8%E0%20%00%07l%60%02%0A%2B%B8%00C%858%D8%C0%81%00%15%89%D0%C6%87%21%8E%B8H%23oh%88%19%01%15%8CP%C2%09%29HH%E1%0C%1F%60u%D1%00%40%F0%91%23%22%3B%3A%C2%C8%15%05%D0%25%00%04%1F%880%02%09%26%14%D9%02%0C%21%1C%C0%11%05f%88%88%88%22%8C8%02%89%24%84%CC%90%95%02%1Ax%00B%08B%9E%80%82%0A%23%2C%00%D2%0B%7B%40%D9%88%9A%92LR%89%1D%3E%0E%85%40%05%1Al%D0%C1%07tr%29B%03%23%21%60E%22%7F%AEII%25%97L%22%05%8DA%11%10%C1%05%19%24%BA%28%08%23%84%20%C1e%25e%20%07%A0%97%5E%92%89%26%FE%87%B0%F0%93%00%0BP%60%01%A8%1Ap%D0%81%07%1FL%C0%E9I%01%00%81H%A0%98%BE%BA%C9%26t%3C%B0S%00%08%400%81%AD%B8%EAZ%81%92%2B-%10%86%24%95Xb%2C%27%9ET%C2DN%A3E%20%C1%B3%15%E0j%81%980%91%F0%87%AB%9Al%D2%89%27%9F%80R%88%085%11%B0%C0%03%10D%10%C1%B3%B7VP%9CL%03H1I%BB%EF%C6%1B%CA%27d4%08%93%00%094%E0%80%03%10%E4%FB%2C%05%0B%A0Z%D3%04pl%C2m%BC%A2%8CBJ%25%3D%B8%14%C0%01%0B0%C0%80%03%F8%8A%3B%01%03%BF%E2%24%03%23%F0%82%D21%29%A5%94B%08%06%2B%11%90%C0%02%25%9F%9Cr%03%03%F8D%80%15%9A%80%12%8A%C75%9B%12%8A%17A%9B4%00%02%09%28%C0%B3%C9%0D%3C%C0%00%B5%3Fm%F0G%28%A2%D0%5C%8A%29%A7%A02%09%0C%24%09%60%40%02h%2B%205%03%0D0%A00Q%3FT%E25%D8%A8%A4%82J%1E%90%12F%C0%FE%01%07%40%1D5%CF%0B%1C%60qQ%08%90%21%CA%D7a%A7%A2%8A%2A%A0P%E1%D1%00%06%18%C07%02P%AB-8%5D%21%1CB%B7%E2%AA%AC%C2%8A%23%24h%24%40%01%05D.9%E5%09%1C%D0rY%01%40%E1I%DD%8B%7B%CEJ%2Al%A0KQ%00%03%10%40%BA%E4%7DS%DE4w%0F%C8%81J%E7%B2%B7%D2%8A%27%40L%84%3B%01%CC%93%5E%3A%DF%BF%9F%D8%82%24%AB%14%DF%8A%2B%AE%1CR%01D%020%EF%BD%F3%06%60%7D%A2%40%04%7CQ%0A%2B%AC%18%EF%CA%2B%AF%A42F%F4%08%090%40%EE%DF%93N%C0%E0%E3%13%84%C1%20%E9%AB%FF%0A%2C%9F%B0%1DBp7%3F%EF%E9%EE~%F9%5B%08%0F6%E1%BFW%FC%80%21%04%A4%1F%01%06%B0%BA%04%22%E4%00kX%C5%FA%00%D1%10%02z%AF%82%16TH%08%1A%11%8A%BC-%24%82%13%0C%A1D%B6%D7%C1%F9%E5%0E~%2A%DC%08%0Aa%18%C3%8C%CC%B0%86%1E%B9%21%0E9%A2%C3%1Dj%A4%87%A7%3E%C4%08%10%83h%91%21%12%F1v.%9C%DF%11%85%98D%10.%11%22%11T%E2%13%2B%12E%1AN1%40I%B4%E2%15%21%98%C5-%2A%AF%8B%5E%8CH%00%04%20%3F%0A%86Q%8Cd%9C%9F%13%CF8%402%CAo%8Dl4%C8%18%DD%88%BF8%D6%C7%8D%02%A8%A3%1D%DBHF%3D%EEQ%8E%01%18%A3%1F%FFH%90%CB%04r%90%84%2CH%20%13%C9%C8F%3A%F2%91%90%8C%A4%24%27I%C9JZ%F2%92%98%CC%A4%267%C9%C9Nz%F2%93%A0%0C%A5%28GI%CAR%9A%F2%94%A8L%A5%2AW%C9%CAV%BA%F2%95%B0%8C%A5%2CgI%CBZ%DA%B2%86%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%40%27%BC%10a%00%A9%CC%06%29f%D8%C8%81%E3%83%00%A7-%0F%80x%11%83%C6%0D%1D%3C%7C%E8%C8%805%25%81%0C%2A%5C%C0%90Q%E3%2B%8F%1FB%8A%DCpP%96%A4%80%09%25R%B0P%3B%A3%06%0E%1D%3D%80%0C1%A2dI%8B%02u%3F%06p%10%C2%04%0A%15-%B8J%AD%01%18%08%91%23J%98%3CY%02%221G%04%1BF%940%91bE%E4%182%3A%10H%E0%22%C8%E5%25M%A0H%A9B%24%82%E7%8B%06.%84%08%21%FA%F1%0A%17%2F%3C%20%1Eh%01H%92%25N%A2L%B1%82E%0B%8E%A6%B7%23%0E%88%E0%01D%08%11%24L%9C%80%FC%E1%C0A%02%2A%90%FEK%A1%C2%7C%8B%97%2C%27%A2%3B%0C%D0%20%03%87%EA%22D%9FH%01%02%C1%C2%07%3E%C6%5B%C9%C2%E5K%182QH%A0%9EB%0AX%90%C1%06%EF%81%80%5D%09%1E%24%B0%1E%09Q4%D7%C5%17b%94q%C6%19%3B%100%60A%05HpA%06%1A%20%08%DF%07%0DH%84%80%0E%E6%811%86%19h%A8%C1%06%19%25l%08%00%01%0EP%60%C1%87%1Ap%D0%C1%07%1E%40%10%40E%18H%F1%9F%19i%AC%D1%06%1Cr%60a%DBm%02%2C%20%C1%04%15X%80%C1%81%1Cp%20%C1U%17%09%D0%02%18D%B2%E1%06%92u%D0Q%84%86e%05%90%C0%03%11L%40A%05%17%60%10%E2%04dj%E4%80%13F%BE%11%C7%1Cu%E0%A1%C7%1B%28%60e%80%03%10D%F0%A4%8D%1FR%E0%DDG%23%8C%81%24%1Dv%E4%B1G%1F%7F%90%21%60Q%04%2C%E0%C0%03%81%0EZ%C1%04%F6%89d%C0%10p0%9A%07%1F~%00%22%C8%1FD%60%09%94%00%094%D0%C0%A5%FE%99R%40%81%02%3F%964A%17w%E8Aj%20%83%14rH%1D%24%FC%14%80%01%0B0%F0%EA%03%98%A6%C9%40%AD%27%05%20%C3%1C%90%F2%EAk%22%8A%98Q%E2N%05%28%B0%40%B1%C7%06%CA%C0%00-%25%10%85%1F%82%102%ED%22%8D%18%12DN%04%20%A0-%B7%C72%10%A7K%1D%B4A%88%21%88%24%82%EE%23%91%E0%E1AM%02%1C%80%40%02%0Ahk%AC%03%0D%0C%27%93%00D%04%82%88%22%8C8%C2%EF%24%91h%A1%B0K%01%14%80%C0%C6%04%1B%CC%C0%A16A%20%06%BA%8E%40%22%C9%24%95X%A2%88%0D%18%13%20%F0%C0%04o%BB%C0%01%CC%E2%A4B%1F%FCJBI%25%97d%A2%89%1E%16%AC%24%80%01%06%1C%20p%021%23%A0%EAN%030%C1%C8%24%94X%D2%F3%26%9CXb%C5%D2%23eL%B4%D1G%2B%80%00%B8Aa%40G%CA%98hBu%27%9F%2C%C2%02I%01%0CP%C0%DBE%BF%8C%C0%BCB%E1%A0%88%CFT%7B%F2%09%FE%28%A0%C8%C1%00Hm%13%40%C0%DB%05p%3D%B7S%07tqI%DE%7B%87%22J%26Ox%24%80%E0%82%C3m4%015%23%E5%C1%1F%9D%E8%0D%8A%E3%A3%94%82%88%08%1A%05%40y%E5p%17%909V%01%28Q%C9%E7%A2%8CBJ%29%A6%8C%82%06t%14%B5%3D%C0%E9%84%13%80%B5g%0E%B0%01J%EC%B3%9Br%0A%2A%98%F40Q%00%02%0C%E0%3C%EF%05%FC%AE%9E%0A%8C%CCN%FB%F1%A8%A4%22%08%05%10%E9%EE%FC%F3%82%83-%23A%03h%F1%C9%F5%D9%AB%A2J%29%60%88%9F%10%F3%DF%C7O%C0%00%AB%8F%2F%D0%05~%18%9F%7D%2A%AA%AC%B2%09%EE%08a%5E%F3%E2%E7%BC%FA%D9%8F%209%B0D%FAV%B1%0A%E5-D%80%03%2C%E0%01%1Br%804%98%A2%7F%7Ch%88%00%BFg%C0%09%22%04%04%89%E8%C4%B5%1E%28%80%12%96%D0%83%12%E1%9E%06M%28%80%0E%A2%F0%22%10l%E1%0B%15%C3B%17%CE0w5%BC%A1G%02%C0C%19%EA%90%23i%3Cd%9E%0D%7F%28%91%20%0E%91%88E%3C%22%12%23%A2%C4%25%3A%F1%89P%8C%A2%14%A7H%C5%2AZ%F1%8AX%CC%A2%16%B7%C8%C5.z%F1%8B%60%0C%A3%18%C7H%C62%9A%F1%8ChL%A3%1A%D7%C8%C66%BA%F1%8Dp%8C%A3%1C%E7H%C7%3A%DA%F1%8Ex%CC%A3%1E%F7%C8%C7%3E%FA%F1%8F%80%0C%A4%20%07I%C8B%1A%F2%90%88L%E4%15%03%02%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%40%3Bdy%02%01%A9%CC%05%2F%9A%8C%B9CH%CB%01%A7-%07H0%81C%EA%1DD%95%28E%09%80%15e%00%03%102p%F5%0A%16%D4%A9G%2C%CA%96%14%60%40A%DA%B5S%DB%9Ej%E5jOS%B9%1F%03%0C%20P%F7nW%2Fu%F4%B6%82%25K%95%16%B2%807%06%100%B8%B0Z%1B%2A%0EPhS%C9%EDbY%B4jaj%11%19c%80%D3%94%09%DB%CDp%A1%00A%1F%97%F62%0E%5D%8BV%1F%07%A5%2B%9E%9E%5CY%C1%82%01%07%1B%C8Y5%BBV-%5B%B6%1C%E7%9E%B8%3B5%01%01%0B%5D%5C%02m%1C9%F2K%29%96Cl.%002%C3%01dZ%FEU%B7nk%16%9D%04%DA%1B%EE%F6%FE%10%C3%A1%E3%E4%91%9BZ%92~%21%FB%89%3FD%C5%B7%1E%09D%FD%90%05%9C%01%CB~%B6%C82%C7U%FF%7D%24%82%24%04%DAR%8A%11%09%82%C4%04%2A%0DF%D2A%84%1E1%A0%07-%04%BEb%06p%18rd%82%25%0D%82%82C%88%1C%05%A0%05%2B%04%D6%82%C8%04%28n%04%81%1F%F0%C5%B7%8A%161n%24C%27%0Db%97cF%04%08H%A0%2Cr%20%F8%A3E%19%20%D2%A0%29G%1C%89%11%10%A3T%C8%81%93%16%05%18K%87g%80H%E5D%0B6%F8%89%0D%5BV4a%8B%82%E0%16%A6D%0A%CC1%0B%817%9E9%D1%09%24%12h%C9%09nF%A4%22%8B%FB%19hd%9D%0DE%40%23%81%A5%14%C1%27D3%F0H%20%23%16%0C%EAP%90%03%EE%F7J%96%8A6%B4%01%23%04%92%B2g%A4%0A%05%11%25yC%60%FA%10%02r%C8%82%5C%21%9EFD%02%25%A8%98Y%2AD%89%AE%EA%EA%ABN%B0%C6%2A%EB%AC%B4%D6j%EB%AD%B8%E6%AA%EB%AE%BC%F6%EA%EB%AF%C0%06%2B%EC%B0%C4%16k%EC%B1%C8%26%AB%EC%B2%CC6%EB%EC%B3%D0F%2B%ED%B4%D4Vk%ED%B5%D8f%AB%ED%B6%DCv%EB%ED%B7%E0%86%2B%EE%B8%E4%96k%EE%B9%E8%A6%AB%EE%BA%D9%06%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9D%CA2%00%D5%95%01%AC%5E%3D%99%B5%EB%D6%92%5D%05%0C%200%E0k%C8%B0b%09%18%40%40%C0%EC%C7%ACi%0B%20%60%20AB%01%B7%1D%03%0C%18P%E0%80%82%07%17B%B0%00%21%00%2F%C7%01%06%124%98%C0%01%C5%0D%25RB%18%DE%28%40%01%04%0C%22b%08%A9r%06%0F%9A%0A%933%06X%D0A%85%0E%26_%E2%04r4%E9J%D9%D0%17%0B%98%28rE%8D%1ED%94%3C%95%AAD%036F%0F%5B%E8%08z%A4I%14%AAV%AF%08M%F0m%F1%00%94D%96%3E%99Z%E5%2A%D6%ACTZ%98%5B%1CQhT%AAV%B0d%FE%CD%A2U%EBR%0A%ED%14%07t%29%F5J%3C%F9Z%B6d%C99%80~%E2%85A%B2%DE%C3%B7e%CB%D4%91%FA%13%F9%20J-%FB%F1%C7_%24%1C%00%18Q%01f%C4b%E0%83%AF%9C%F1%9A%82%0E%89%20%C9%83%0F~b%03%85%101%81%0A%86%FC%D5%22%88%03%1C%3A%A4%C0%1C%B3%80h%CB%2A%D9%95%D8%D0%09%96%A8h%8B%25%27%B8%C8P%00Z%B0%A2%A2%2Cs%D0g%A3B%11%F8Q%E0%83%A5%14%F1%E3B3t%22%23%23%16%1C%99%10%01g%C0%A2b%84%13%3AY%D0%06%8C%A8H%8A%8FV%1E%14%C4%28%18%0E%D1%A5B%08%C8%21%0B%7F%85%8C%C9%10%09%94%A0B%A2%9A%0C5%09%E7%9Ct%D6i%E7%9Dx%E6%A9%E7%9E%7C%F6%E9%E7%9F%80%06%2A%E8%A0%84%16j%E8%A1%88%26%AA%E8%A2%8C6%EA%E8%A3%90F%2A%E9%A4%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%2A%EA%A8%A4%96j%EA%A9%A8%A6%AA%EA%AA%AC%B6%EA%EA%AB%03%0E%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%ACY%AD%01%02%9C%B5%98%B6%AD%DA%B5%0F%DD%A6%15%40%17n%DC%B9%02%06%0C%20P%60%80%DD%86%01%F2%EA%E5%7B%00A%02%BF%7F%15%06%D8%5B%C0%00%02%05%0D%20Pp%20%20%B1%C2%01%07%120x0%01C%07%12%28%28XN%28%40%81%04%0B%1CD%A8%90%C1%E3%88%8F%07%A3%11%2A%E8p%02F%0E%22O%B2%90YC%84%40l%83%03%3E%00Yb%25%CC%9A%3A~%0C%FD%91%F1%DB%60%84%26i%E4%EC%21%C4H%12%26O%7B%264%27%28%80G%9FD%91%2C%84q%0AU%0A%15%A90%88%B7%03%90%00g%13%28R%A7T%B1r%F5%E9%80z%826%28%A5%9A%0F%2BV%90%FB%05%1D%C0%06%2B%B1%C82%08%80%07%8D%10I%29%0E%20%88%90%05%0EF%28%E1%84%14Vh%E1%85%18f%A8%E1%86%1Cv%E8%E1%87%20%86%28%E2%88%24%96h%E2%89%28%A6%A8%E2%8A%2C%B6%E8%E2%8B0%C6%28%E3%8C4%D6h%E3%8D8%E6%A8%E3%8E%3C%F6%E8%E3%8F%40%06%29%E4%90D%16i%E4%91H%26%A9%E4%92%40%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%3B";
|
|
21874
22087
|
|
|
21875
22088
|
// src/components/HbLoadingSpinner.tsx
|
|
21876
|
-
var
|
|
22089
|
+
var import_jsx_runtime165 = require("react/jsx-runtime");
|
|
21877
22090
|
function HbLoadingSpinner({
|
|
21878
22091
|
noQuips,
|
|
21879
22092
|
extraQuips = [],
|
|
@@ -21888,8 +22101,8 @@ function HbLoadingSpinner({
|
|
|
21888
22101
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
21889
22102
|
return allQuips[Math.floor(Math.random() * allQuips.length)];
|
|
21890
22103
|
}, [ctx.noQuips, ctx.quips, extraQuips, extraQuipsOnly, noQuips]);
|
|
21891
|
-
return /* @__PURE__ */ (0,
|
|
21892
|
-
/* @__PURE__ */ (0,
|
|
22104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime165.jsxs)("div", { className: "df fdc jcc aic", ...tid, children: [
|
|
22105
|
+
/* @__PURE__ */ (0, import_jsx_runtime165.jsx)(
|
|
21893
22106
|
"img",
|
|
21894
22107
|
{
|
|
21895
22108
|
src: HbLoadingSpinner_base64_default,
|
|
@@ -21899,7 +22112,7 @@ function HbLoadingSpinner({
|
|
|
21899
22112
|
...tid.gif
|
|
21900
22113
|
}
|
|
21901
22114
|
),
|
|
21902
|
-
!iconOnly && /* @__PURE__ */ (0,
|
|
22115
|
+
!iconOnly && /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(
|
|
21903
22116
|
"div",
|
|
21904
22117
|
{
|
|
21905
22118
|
"data-chromatic": "ignore",
|
|
@@ -21924,12 +22137,12 @@ function HbSpinnerProvider({
|
|
|
21924
22137
|
quips,
|
|
21925
22138
|
noQuips: quips.length === 0
|
|
21926
22139
|
}), [quips]);
|
|
21927
|
-
return /* @__PURE__ */ (0,
|
|
22140
|
+
return /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
21928
22141
|
}
|
|
21929
22142
|
|
|
21930
22143
|
// src/components/HomeboundLogo.tsx
|
|
21931
|
-
var
|
|
21932
|
-
var
|
|
22144
|
+
var import_runtime92 = require("@homebound/truss/runtime");
|
|
22145
|
+
var import_jsx_runtime166 = require("react/jsx-runtime");
|
|
21933
22146
|
var __maybeInc17 = (inc) => {
|
|
21934
22147
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
21935
22148
|
};
|
|
@@ -21939,24 +22152,24 @@ function HomeboundLogo(props) {
|
|
|
21939
22152
|
width: width2 = "auto",
|
|
21940
22153
|
height = "auto"
|
|
21941
22154
|
} = props;
|
|
21942
|
-
return /* @__PURE__ */ (0,
|
|
22155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("svg", { viewBox: "0 0 158.1 97.6", xmlns: "http://www.w3.org/2000/svg", ...(0, import_runtime92.trussProps)({
|
|
21943
22156
|
fill: ["fill_var", {
|
|
21944
|
-
"--fill": (0,
|
|
22157
|
+
"--fill": (0, import_runtime92.maybeCssVar)(fill)
|
|
21945
22158
|
}],
|
|
21946
22159
|
width: ["w_var", {
|
|
21947
|
-
"--width": (0,
|
|
22160
|
+
"--width": (0, import_runtime92.maybeCssVar)(__maybeInc17(width2))
|
|
21948
22161
|
}],
|
|
21949
22162
|
height: ["h_var", {
|
|
21950
|
-
"--height": (0,
|
|
22163
|
+
"--height": (0, import_runtime92.maybeCssVar)(__maybeInc17(height))
|
|
21951
22164
|
}]
|
|
21952
|
-
}), children: /* @__PURE__ */ (0,
|
|
22165
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("path", { d: "M158.1,97.6H0.2L0,39.7L76.8,0l68,38.7l-3.1,5.3l-65-37L6.2,43.4l0.2,48h151.7V97.6z" }) });
|
|
21953
22166
|
}
|
|
21954
22167
|
|
|
21955
22168
|
// src/components/MaxLines.tsx
|
|
21956
|
-
var
|
|
22169
|
+
var import_utils135 = require("@react-aria/utils");
|
|
21957
22170
|
var import_react120 = require("react");
|
|
21958
|
-
var
|
|
21959
|
-
var
|
|
22171
|
+
var import_runtime93 = require("@homebound/truss/runtime");
|
|
22172
|
+
var import_jsx_runtime167 = require("react/jsx-runtime");
|
|
21960
22173
|
function MaxLines({
|
|
21961
22174
|
maxLines,
|
|
21962
22175
|
children
|
|
@@ -21964,7 +22177,7 @@ function MaxLines({
|
|
|
21964
22177
|
const elRef = (0, import_react120.useRef)(null);
|
|
21965
22178
|
const [hasMore, setHasMore] = (0, import_react120.useState)(false);
|
|
21966
22179
|
const [expanded, setExpanded] = (0, import_react120.useState)(false);
|
|
21967
|
-
(0,
|
|
22180
|
+
(0, import_utils135.useLayoutEffect)(() => {
|
|
21968
22181
|
if (!elRef.current) return;
|
|
21969
22182
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
21970
22183
|
}, []);
|
|
@@ -21975,15 +22188,15 @@ function MaxLines({
|
|
|
21975
22188
|
if (!elRef.current) return;
|
|
21976
22189
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
21977
22190
|
}, [expanded]);
|
|
21978
|
-
(0,
|
|
22191
|
+
(0, import_utils135.useResizeObserver)({
|
|
21979
22192
|
ref: elRef,
|
|
21980
22193
|
onResize
|
|
21981
22194
|
});
|
|
21982
|
-
return /* @__PURE__ */ (0,
|
|
21983
|
-
/* @__PURE__ */ (0,
|
|
22195
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)("div", { children: [
|
|
22196
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)("div", { ref: elRef, ...(0, import_runtime93.trussProps)({
|
|
21984
22197
|
...!expanded ? {
|
|
21985
22198
|
WebkitLineClamp: ["lineClamp_var", {
|
|
21986
|
-
"--WebkitLineClamp": (0,
|
|
22199
|
+
"--WebkitLineClamp": (0, import_runtime93.maybeCssVar)(maxLines)
|
|
21987
22200
|
}],
|
|
21988
22201
|
overflow: "oh",
|
|
21989
22202
|
display: "d_negwebkit_box",
|
|
@@ -21991,7 +22204,7 @@ function MaxLines({
|
|
|
21991
22204
|
textOverflow: "to_ellipsis"
|
|
21992
22205
|
} : {}
|
|
21993
22206
|
}), children }),
|
|
21994
|
-
hasMore && /* @__PURE__ */ (0,
|
|
22207
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("button", { className: "db fw4 fz_14px lh_20px", onClick: () => setExpanded((prev) => !prev), children: expanded ? "Show Less" : "Show More" })
|
|
21995
22208
|
] });
|
|
21996
22209
|
}
|
|
21997
22210
|
|
|
@@ -21999,15 +22212,15 @@ function MaxLines({
|
|
|
21999
22212
|
var import_change_case8 = require("change-case");
|
|
22000
22213
|
|
|
22001
22214
|
// src/components/AppNav/AppNavGroup.tsx
|
|
22002
|
-
var
|
|
22215
|
+
var import_utils137 = require("@react-aria/utils");
|
|
22003
22216
|
var import_change_case7 = require("change-case");
|
|
22004
22217
|
var import_react123 = require("react");
|
|
22005
22218
|
|
|
22006
22219
|
// src/components/AppNav/AppNavGroupTrigger.tsx
|
|
22007
22220
|
var import_react121 = require("react");
|
|
22008
22221
|
var import_react_aria52 = require("react-aria");
|
|
22009
|
-
var
|
|
22010
|
-
var
|
|
22222
|
+
var import_runtime94 = require("@homebound/truss/runtime");
|
|
22223
|
+
var import_jsx_runtime168 = require("react/jsx-runtime");
|
|
22011
22224
|
function AppNavGroupTrigger(props) {
|
|
22012
22225
|
const {
|
|
22013
22226
|
label,
|
|
@@ -22038,11 +22251,11 @@ function AppNavGroupTrigger(props) {
|
|
|
22038
22251
|
hoverStyles: hoverStyles4,
|
|
22039
22252
|
pressedStyles: pressedStyles2
|
|
22040
22253
|
} = (0, import_react121.useMemo)(() => getNavLinkStyles("side"), []);
|
|
22041
|
-
return /* @__PURE__ */ (0,
|
|
22254
|
+
return /* @__PURE__ */ (0, import_jsx_runtime168.jsxs)("button", { type: "button", ...(0, import_react_aria52.mergeProps)(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
22042
22255
|
ref,
|
|
22043
22256
|
"aria-expanded": expanded,
|
|
22044
22257
|
"aria-controls": navGroupId,
|
|
22045
|
-
...(0,
|
|
22258
|
+
...(0, import_runtime94.mergeProps)(navLink, void 0, {
|
|
22046
22259
|
...baseStyles5,
|
|
22047
22260
|
...isFocusVisible && focusRingStyles2,
|
|
22048
22261
|
...isHovered && hoverStyles4,
|
|
@@ -22050,7 +22263,7 @@ function AppNavGroupTrigger(props) {
|
|
|
22050
22263
|
})
|
|
22051
22264
|
}), children: [
|
|
22052
22265
|
label,
|
|
22053
|
-
/* @__PURE__ */ (0,
|
|
22266
|
+
/* @__PURE__ */ (0, import_jsx_runtime168.jsx)("span", { ...(0, import_runtime94.trussProps)({
|
|
22054
22267
|
...{
|
|
22055
22268
|
display: "df",
|
|
22056
22269
|
alignItems: "aic",
|
|
@@ -22060,7 +22273,7 @@ function AppNavGroupTrigger(props) {
|
|
|
22060
22273
|
...props.expanded ? {
|
|
22061
22274
|
transform: "transform_rotate_180deg"
|
|
22062
22275
|
} : {}
|
|
22063
|
-
}), children: /* @__PURE__ */ (0,
|
|
22276
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(Icon, { icon: "chevronDown" }) })
|
|
22064
22277
|
] });
|
|
22065
22278
|
}
|
|
22066
22279
|
|
|
@@ -22203,8 +22416,8 @@ function useAppNavGroupExpanded(linkGroup) {
|
|
|
22203
22416
|
}
|
|
22204
22417
|
|
|
22205
22418
|
// src/components/AppNav/AppNavGroup.tsx
|
|
22206
|
-
var
|
|
22207
|
-
var
|
|
22419
|
+
var import_runtime95 = require("@homebound/truss/runtime");
|
|
22420
|
+
var import_jsx_runtime169 = require("react/jsx-runtime");
|
|
22208
22421
|
var __maybeInc18 = (inc) => {
|
|
22209
22422
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
22210
22423
|
};
|
|
@@ -22215,9 +22428,9 @@ function AppNavGroupView(props) {
|
|
|
22215
22428
|
} = props;
|
|
22216
22429
|
const tid = useTestIds(props, "linkGroup");
|
|
22217
22430
|
if (panelCollapsed) {
|
|
22218
|
-
return /* @__PURE__ */ (0,
|
|
22431
|
+
return /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_jsx_runtime169.Fragment, { children: appNavLinkGroupLinks(linkGroup).map((link) => /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(NavLink, { variant: "side", ...link, iconOnly: !!link.icon, ...tid[`link_${(0, import_change_case7.camelCase)(link.label)}`] }, link.label)) });
|
|
22219
22432
|
}
|
|
22220
|
-
return /* @__PURE__ */ (0,
|
|
22433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(AppNavGroupDisclosure, { ...props });
|
|
22221
22434
|
}
|
|
22222
22435
|
function AppNavGroupDisclosure(props) {
|
|
22223
22436
|
const {
|
|
@@ -22242,29 +22455,29 @@ function AppNavGroupDisclosure(props) {
|
|
|
22242
22455
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
22243
22456
|
}
|
|
22244
22457
|
}, [expanded, contentEl]);
|
|
22245
|
-
(0,
|
|
22458
|
+
(0, import_utils137.useResizeObserver)({
|
|
22246
22459
|
ref: contentRef,
|
|
22247
22460
|
onResize
|
|
22248
22461
|
});
|
|
22249
|
-
return /* @__PURE__ */ (0,
|
|
22250
|
-
/* @__PURE__ */ (0,
|
|
22251
|
-
/* @__PURE__ */ (0,
|
|
22462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime169.jsxs)("div", { className: "df fdc", ...tid, children: [
|
|
22463
|
+
/* @__PURE__ */ (0, import_jsx_runtime169.jsx)(AppNavGroupTrigger, { label: linkGroup.label, navGroupId, expanded, onClick: onToggle, ...tid }),
|
|
22464
|
+
/* @__PURE__ */ (0, import_jsx_runtime169.jsx)("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...(0, import_runtime95.trussProps)({
|
|
22252
22465
|
overflow: "oh",
|
|
22253
22466
|
transition: "transitionHeight",
|
|
22254
22467
|
height: ["h_var", {
|
|
22255
|
-
"--height": (0,
|
|
22468
|
+
"--height": (0, import_runtime95.maybeCssVar)(__maybeInc18(contentHeight))
|
|
22256
22469
|
}]
|
|
22257
|
-
}), ...tid.panel, children: /* @__PURE__ */ (0,
|
|
22470
|
+
}), ...tid.panel, children: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)("div", { ref: setContentEl, className: "df fdc pl2", children: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(AppNavItems, { items: linkGroup.items, panelCollapsed: false, ...tid }) }) })
|
|
22258
22471
|
] });
|
|
22259
22472
|
}
|
|
22260
22473
|
|
|
22261
22474
|
// src/components/AppNav/AppNavGroupMenu.tsx
|
|
22262
|
-
var
|
|
22475
|
+
var import_jsx_runtime170 = require("react/jsx-runtime");
|
|
22263
22476
|
function AppNavGroupMenu({
|
|
22264
22477
|
linkGroup,
|
|
22265
22478
|
...tid
|
|
22266
22479
|
}) {
|
|
22267
|
-
return /* @__PURE__ */ (0,
|
|
22480
|
+
return /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(
|
|
22268
22481
|
ButtonMenu,
|
|
22269
22482
|
{
|
|
22270
22483
|
trigger: {
|
|
@@ -22280,8 +22493,8 @@ function AppNavGroupMenu({
|
|
|
22280
22493
|
}
|
|
22281
22494
|
|
|
22282
22495
|
// src/components/AppNav/AppNavSectionView.tsx
|
|
22283
|
-
var
|
|
22284
|
-
var
|
|
22496
|
+
var import_runtime96 = require("@homebound/truss/runtime");
|
|
22497
|
+
var import_jsx_runtime171 = require("react/jsx-runtime");
|
|
22285
22498
|
function AppNavSectionView(props) {
|
|
22286
22499
|
const {
|
|
22287
22500
|
section,
|
|
@@ -22306,7 +22519,7 @@ function AppNavSectionView(props) {
|
|
|
22306
22519
|
"--borderColor": "var(--b-surface-separator)"
|
|
22307
22520
|
}]
|
|
22308
22521
|
};
|
|
22309
|
-
return /* @__PURE__ */ (0,
|
|
22522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime171.jsxs)("div", { ...(0, import_runtime96.trussProps)({
|
|
22310
22523
|
...{
|
|
22311
22524
|
display: "df",
|
|
22312
22525
|
flexDirection: "fdc",
|
|
@@ -22314,7 +22527,7 @@ function AppNavSectionView(props) {
|
|
|
22314
22527
|
},
|
|
22315
22528
|
...showDivider ? dividerStyles : {}
|
|
22316
22529
|
}), ...tid, children: [
|
|
22317
|
-
section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ (0,
|
|
22530
|
+
section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ (0, import_jsx_runtime171.jsx)("div", { ...(0, import_runtime96.trussProps)({
|
|
22318
22531
|
fontWeight: "fw6",
|
|
22319
22532
|
fontSize: "fz_10px",
|
|
22320
22533
|
lineHeight: "lh_14px",
|
|
@@ -22326,18 +22539,18 @@ function AppNavSectionView(props) {
|
|
|
22326
22539
|
paddingBottom: "pb1",
|
|
22327
22540
|
textTransform: "ttu"
|
|
22328
22541
|
}), ...tid.label, children: section.label }),
|
|
22329
|
-
/* @__PURE__ */ (0,
|
|
22542
|
+
/* @__PURE__ */ (0, import_jsx_runtime171.jsx)(AppNavItems, { ...scopeProps, items: section.items, variant, panelCollapsed })
|
|
22330
22543
|
] });
|
|
22331
22544
|
}
|
|
22332
22545
|
|
|
22333
22546
|
// src/components/AppNav/AppNavItems.tsx
|
|
22334
|
-
var
|
|
22547
|
+
var import_jsx_runtime172 = require("react/jsx-runtime");
|
|
22335
22548
|
function AppNavItems(props) {
|
|
22336
22549
|
const { items, variant = "side", panelCollapsed = false } = props;
|
|
22337
22550
|
const tid = useTestIds(props, "appNav");
|
|
22338
|
-
return /* @__PURE__ */ (0,
|
|
22551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_jsx_runtime172.Fragment, { children: items.map((item, idx) => {
|
|
22339
22552
|
if (isAppNavLink(item)) {
|
|
22340
|
-
return /* @__PURE__ */ (0,
|
|
22553
|
+
return /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
|
|
22341
22554
|
NavLink,
|
|
22342
22555
|
{
|
|
22343
22556
|
variant,
|
|
@@ -22349,7 +22562,7 @@ function AppNavItems(props) {
|
|
|
22349
22562
|
);
|
|
22350
22563
|
}
|
|
22351
22564
|
if (isAppNavGroup(item)) {
|
|
22352
|
-
return variant === "global" ? /* @__PURE__ */ (0,
|
|
22565
|
+
return variant === "global" ? /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(AppNavGroupMenu, { linkGroup: item, ...tid.linkGroup }, appNavItemKey(item)) : /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
|
|
22353
22566
|
AppNavGroupView,
|
|
22354
22567
|
{
|
|
22355
22568
|
linkGroup: item,
|
|
@@ -22360,7 +22573,7 @@ function AppNavItems(props) {
|
|
|
22360
22573
|
);
|
|
22361
22574
|
}
|
|
22362
22575
|
if (isAppNavSection(item)) {
|
|
22363
|
-
return /* @__PURE__ */ (0,
|
|
22576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
|
|
22364
22577
|
AppNavSectionView,
|
|
22365
22578
|
{
|
|
22366
22579
|
section: item,
|
|
@@ -22378,18 +22591,31 @@ function AppNavItems(props) {
|
|
|
22378
22591
|
|
|
22379
22592
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
22380
22593
|
var import_framer_motion5 = require("framer-motion");
|
|
22381
|
-
var
|
|
22594
|
+
var import_react125 = require("react");
|
|
22382
22595
|
var import_react_aria53 = require("react-aria");
|
|
22383
22596
|
var import_react_dom6 = require("react-dom");
|
|
22384
22597
|
var import_react_router_dom5 = require("react-router-dom");
|
|
22385
|
-
|
|
22386
|
-
|
|
22598
|
+
|
|
22599
|
+
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayoutHeightContext.tsx
|
|
22600
|
+
var import_react124 = require("react");
|
|
22601
|
+
var import_jsx_runtime173 = require("react/jsx-runtime");
|
|
22602
|
+
var EnvironmentBannerLayoutHeightContext = (0, import_react124.createContext)(0);
|
|
22603
|
+
function EnvironmentBannerLayoutHeightProvider({ value, children }) {
|
|
22604
|
+
return /* @__PURE__ */ (0, import_jsx_runtime173.jsx)(EnvironmentBannerLayoutHeightContext.Provider, { value, children });
|
|
22605
|
+
}
|
|
22606
|
+
function useEnvironmentBannerLayoutHeight() {
|
|
22607
|
+
return (0, import_react124.useContext)(EnvironmentBannerLayoutHeightContext);
|
|
22608
|
+
}
|
|
22609
|
+
|
|
22610
|
+
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
22611
|
+
var import_runtime97 = require("@homebound/truss/runtime");
|
|
22612
|
+
var import_jsx_runtime174 = require("react/jsx-runtime");
|
|
22387
22613
|
function NavbarMobileMenu(props) {
|
|
22388
22614
|
const {
|
|
22389
22615
|
items
|
|
22390
22616
|
} = props;
|
|
22391
22617
|
const tid = useTestIds(props, "navbar");
|
|
22392
|
-
const [isOpen, setIsOpen] = (0,
|
|
22618
|
+
const [isOpen, setIsOpen] = (0, import_react125.useState)(false);
|
|
22393
22619
|
const {
|
|
22394
22620
|
pathname,
|
|
22395
22621
|
search
|
|
@@ -22397,13 +22623,13 @@ function NavbarMobileMenu(props) {
|
|
|
22397
22623
|
(0, import_react_aria53.usePreventScroll)({
|
|
22398
22624
|
isDisabled: !isOpen
|
|
22399
22625
|
});
|
|
22400
|
-
(0,
|
|
22626
|
+
(0, import_react125.useEffect)(() => {
|
|
22401
22627
|
setIsOpen(false);
|
|
22402
22628
|
}, [pathname, search]);
|
|
22403
22629
|
const close = () => setIsOpen(false);
|
|
22404
|
-
return /* @__PURE__ */ (0,
|
|
22405
|
-
/* @__PURE__ */ (0,
|
|
22406
|
-
(0, import_react_dom6.createPortal)(/* @__PURE__ */ (0,
|
|
22630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(import_jsx_runtime174.Fragment, { children: [
|
|
22631
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(IconButton, { icon: isOpen ? "menuClose" : "menu", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: isOpen ? "Close navigation" : "Open navigation", onClick: () => setIsOpen((open) => !open), ...tid.mobileMenu }),
|
|
22632
|
+
(0, import_react_dom6.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(ContrastScope, { children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(import_framer_motion5.AnimatePresence, { children: isOpen && /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(NavbarMobileDrawer, { items, onClose: close, tid }) }) }), document.body)
|
|
22407
22633
|
] });
|
|
22408
22634
|
}
|
|
22409
22635
|
function NavbarMobileDrawer({
|
|
@@ -22411,15 +22637,18 @@ function NavbarMobileDrawer({
|
|
|
22411
22637
|
onClose,
|
|
22412
22638
|
tid
|
|
22413
22639
|
}) {
|
|
22414
|
-
|
|
22415
|
-
|
|
22640
|
+
const bannerHeightPx = useEnvironmentBannerLayoutHeight();
|
|
22641
|
+
const overlayTopStyle = {
|
|
22642
|
+
top: bannerHeightPx
|
|
22643
|
+
};
|
|
22644
|
+
return /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(import_jsx_runtime174.Fragment, { children: [
|
|
22645
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(import_framer_motion5.motion.div, { ...(0, import_runtime97.mergeProps)(void 0, overlayTopStyle, {
|
|
22416
22646
|
position: "fixed",
|
|
22417
|
-
top: "top0",
|
|
22418
22647
|
right: "right0",
|
|
22419
22648
|
bottom: "bottom0",
|
|
22420
22649
|
left: "left0",
|
|
22421
22650
|
zIndex: ["z_var", {
|
|
22422
|
-
"--zIndex": (0,
|
|
22651
|
+
"--zIndex": (0, import_runtime97.maybeCssVar)(zIndices.navbarMobileMenuScrim)
|
|
22423
22652
|
}],
|
|
22424
22653
|
backgroundColor: "backgroundColor_rgba_36_36_36_0_2"
|
|
22425
22654
|
}), initial: {
|
|
@@ -22432,9 +22661,8 @@ function NavbarMobileDrawer({
|
|
|
22432
22661
|
ease: "linear",
|
|
22433
22662
|
duration: 0.2
|
|
22434
22663
|
}, onClick: onClose, ...tid.mobileMenuScrim }, "navbarMobileMenuScrim"),
|
|
22435
|
-
/* @__PURE__ */ (0,
|
|
22664
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(import_react_aria53.FocusScope, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(import_framer_motion5.motion.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...(0, import_runtime97.mergeProps)(void 0, overlayTopStyle, {
|
|
22436
22665
|
position: "fixed",
|
|
22437
|
-
top: "top0",
|
|
22438
22666
|
bottom: "bottom0",
|
|
22439
22667
|
left: "left0",
|
|
22440
22668
|
display: "df",
|
|
@@ -22443,7 +22671,7 @@ function NavbarMobileDrawer({
|
|
|
22443
22671
|
width: "w100",
|
|
22444
22672
|
overflow: "oh",
|
|
22445
22673
|
zIndex: ["z_var", {
|
|
22446
|
-
"--zIndex": (0,
|
|
22674
|
+
"--zIndex": (0, import_runtime97.maybeCssVar)(zIndices.navbarMobileMenu)
|
|
22447
22675
|
}],
|
|
22448
22676
|
backgroundColor: ["bgColor_var", {
|
|
22449
22677
|
"--backgroundColor": "var(--b-surface)"
|
|
@@ -22458,8 +22686,8 @@ function NavbarMobileDrawer({
|
|
|
22458
22686
|
ease: "linear",
|
|
22459
22687
|
duration: 0.2
|
|
22460
22688
|
}, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
|
|
22461
|
-
/* @__PURE__ */ (0,
|
|
22462
|
-
/* @__PURE__ */ (0,
|
|
22689
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { className: "df aic jcfe pt2 pb2 pr2 pl2 fs0", children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(IconButton, { icon: "menuClose", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: "Close navigation", onClick: onClose, ...tid.mobileMenuClose }) }),
|
|
22690
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
22463
22691
|
"nav",
|
|
22464
22692
|
{
|
|
22465
22693
|
className: "fg1 oya pl2 pr2 pb3 df fdc gap1",
|
|
@@ -22469,7 +22697,7 @@ function NavbarMobileDrawer({
|
|
|
22469
22697
|
}
|
|
22470
22698
|
},
|
|
22471
22699
|
...tid.mobileMenuPanel,
|
|
22472
|
-
children: /* @__PURE__ */ (0,
|
|
22700
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(AppNavItems, { items, panelCollapsed: false, ...tid })
|
|
22473
22701
|
}
|
|
22474
22702
|
)
|
|
22475
22703
|
] }, "navbarMobileMenuDrawer") })
|
|
@@ -22477,8 +22705,8 @@ function NavbarMobileDrawer({
|
|
|
22477
22705
|
}
|
|
22478
22706
|
|
|
22479
22707
|
// src/components/Navbar/Navbar.tsx
|
|
22480
|
-
var
|
|
22481
|
-
var
|
|
22708
|
+
var import_runtime98 = require("@homebound/truss/runtime");
|
|
22709
|
+
var import_jsx_runtime175 = require("react/jsx-runtime");
|
|
22482
22710
|
function Navbar(props) {
|
|
22483
22711
|
const {
|
|
22484
22712
|
brand,
|
|
@@ -22497,7 +22725,7 @@ function Navbar(props) {
|
|
|
22497
22725
|
overflows
|
|
22498
22726
|
} = useContentOverflow(!sm);
|
|
22499
22727
|
const showMobile = sm || overflows;
|
|
22500
|
-
return /* @__PURE__ */ (0,
|
|
22728
|
+
return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(ContrastScope, { children: /* @__PURE__ */ (0, import_jsx_runtime175.jsxs)("nav", { ...(0, import_runtime98.trussProps)({
|
|
22501
22729
|
backgroundColor: "bgGray800",
|
|
22502
22730
|
flexShrink: "fs0",
|
|
22503
22731
|
display: "df",
|
|
@@ -22514,10 +22742,10 @@ function Navbar(props) {
|
|
|
22514
22742
|
paddingRight: "pr5"
|
|
22515
22743
|
} : {}
|
|
22516
22744
|
}), ...tid, children: [
|
|
22517
|
-
/* @__PURE__ */ (0,
|
|
22518
|
-
/* @__PURE__ */ (0,
|
|
22519
|
-
showMobile && /* @__PURE__ */ (0,
|
|
22520
|
-
/* @__PURE__ */ (0,
|
|
22745
|
+
/* @__PURE__ */ (0, import_jsx_runtime175.jsxs)("div", { className: "df aic gap3 fg1 mw0", children: [
|
|
22746
|
+
/* @__PURE__ */ (0, import_jsx_runtime175.jsxs)("div", { className: "df aic fs0 gap2", children: [
|
|
22747
|
+
showMobile && /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(NavbarMobileMenu, { items, ...tid }),
|
|
22748
|
+
/* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { ...(0, import_runtime98.trussProps)({
|
|
22521
22749
|
flexShrink: "fs0",
|
|
22522
22750
|
...hideBrandOnMobile && showMobile ? {
|
|
22523
22751
|
display: "dn"
|
|
@@ -22526,7 +22754,7 @@ function Navbar(props) {
|
|
|
22526
22754
|
] }),
|
|
22527
22755
|
!sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
|
|
22528
22756
|
// can expand again as space frees up.
|
|
22529
|
-
/* @__PURE__ */ (0,
|
|
22757
|
+
/* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { ref: containerRef, ...(0, import_runtime98.trussProps)({
|
|
22530
22758
|
display: "df",
|
|
22531
22759
|
alignItems: "aic",
|
|
22532
22760
|
flexGrow: "fg1",
|
|
@@ -22535,11 +22763,11 @@ function Navbar(props) {
|
|
|
22535
22763
|
...overflows ? {
|
|
22536
22764
|
visibility: "visibility_hidden"
|
|
22537
22765
|
} : {}
|
|
22538
|
-
}), ...tid.items, children: /* @__PURE__ */ (0,
|
|
22766
|
+
}), ...tid.items, children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { ref: contentRef, className: "df aic gap2 width_max_content", children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(AppNavItems, { variant: "global", items, ...tid }) }) })
|
|
22539
22767
|
] }),
|
|
22540
|
-
/* @__PURE__ */ (0,
|
|
22541
|
-
rightSlot && /* @__PURE__ */ (0,
|
|
22542
|
-
user && /* @__PURE__ */ (0,
|
|
22768
|
+
/* @__PURE__ */ (0, import_jsx_runtime175.jsxs)("div", { className: "df aic gap1", children: [
|
|
22769
|
+
rightSlot && /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { className: "df aic gap1", ...tid.rightSlot, children: rightSlot }),
|
|
22770
|
+
user && /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(NavbarUserMenu, { user, ...tid.userMenu })
|
|
22543
22771
|
] })
|
|
22544
22772
|
] }) });
|
|
22545
22773
|
}
|
|
@@ -22547,7 +22775,7 @@ function NavbarUserMenu({
|
|
|
22547
22775
|
user,
|
|
22548
22776
|
...tid
|
|
22549
22777
|
}) {
|
|
22550
|
-
return /* @__PURE__ */ (0,
|
|
22778
|
+
return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { className: "df aic fs0 ml1", children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(ButtonMenu, { items: user.menuItems, persistentItems: user.persistentItems, trigger: {
|
|
22551
22779
|
src: user.picture,
|
|
22552
22780
|
name: user.name,
|
|
22553
22781
|
size: "sm",
|
|
@@ -22557,19 +22785,19 @@ function NavbarUserMenu({
|
|
|
22557
22785
|
|
|
22558
22786
|
// src/components/Tabs.tsx
|
|
22559
22787
|
var import_change_case9 = require("change-case");
|
|
22560
|
-
var
|
|
22788
|
+
var import_react126 = require("react");
|
|
22561
22789
|
var import_react_aria54 = require("react-aria");
|
|
22562
22790
|
var import_react_router = require("react-router");
|
|
22563
22791
|
var import_react_router_dom6 = require("react-router-dom");
|
|
22564
|
-
var
|
|
22565
|
-
var
|
|
22792
|
+
var import_runtime99 = require("@homebound/truss/runtime");
|
|
22793
|
+
var import_jsx_runtime176 = require("react/jsx-runtime");
|
|
22566
22794
|
function TabsWithContent(props) {
|
|
22567
22795
|
const styles = hideTabs(props) ? {} : {
|
|
22568
22796
|
paddingTop: "pt3"
|
|
22569
22797
|
};
|
|
22570
|
-
return /* @__PURE__ */ (0,
|
|
22571
|
-
/* @__PURE__ */ (0,
|
|
22572
|
-
/* @__PURE__ */ (0,
|
|
22798
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)(import_jsx_runtime176.Fragment, { children: [
|
|
22799
|
+
/* @__PURE__ */ (0, import_jsx_runtime176.jsx)(Tabs, { ...props }),
|
|
22800
|
+
/* @__PURE__ */ (0, import_jsx_runtime176.jsx)(TabContent, { ...props, contentXss: {
|
|
22573
22801
|
...styles,
|
|
22574
22802
|
...props.contentXss
|
|
22575
22803
|
} })
|
|
@@ -22594,7 +22822,7 @@ function TabContent(props) {
|
|
|
22594
22822
|
return (
|
|
22595
22823
|
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
22596
22824
|
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
22597
|
-
/* @__PURE__ */ (0,
|
|
22825
|
+
/* @__PURE__ */ (0, import_jsx_runtime176.jsx)(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...(0, import_runtime99.trussProps)(contentXss), children: selectedTab.render() }) })
|
|
22598
22826
|
);
|
|
22599
22827
|
}
|
|
22600
22828
|
function Tabs(props) {
|
|
@@ -22618,9 +22846,9 @@ function Tabs(props) {
|
|
|
22618
22846
|
focusProps
|
|
22619
22847
|
} = (0, import_react_aria54.useFocusRing)();
|
|
22620
22848
|
const tid = useTestIds(others, "tabs");
|
|
22621
|
-
const [active, setActive] = (0,
|
|
22622
|
-
const ref = (0,
|
|
22623
|
-
(0,
|
|
22849
|
+
const [active, setActive] = (0, import_react126.useState)(selected);
|
|
22850
|
+
const ref = (0, import_react126.useRef)(null);
|
|
22851
|
+
(0, import_react126.useEffect)(() => setActive(selected), [selected]);
|
|
22624
22852
|
function onKeyUp(e) {
|
|
22625
22853
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
22626
22854
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -22636,7 +22864,7 @@ function Tabs(props) {
|
|
|
22636
22864
|
setActive(selected);
|
|
22637
22865
|
}
|
|
22638
22866
|
}
|
|
22639
|
-
return /* @__PURE__ */ (0,
|
|
22867
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)("div", { ...(0, import_runtime99.trussProps)({
|
|
22640
22868
|
...{
|
|
22641
22869
|
display: "df",
|
|
22642
22870
|
alignItems: "aic",
|
|
@@ -22652,11 +22880,11 @@ function Tabs(props) {
|
|
|
22652
22880
|
}
|
|
22653
22881
|
} : {}
|
|
22654
22882
|
}), children: [
|
|
22655
|
-
!hideTabs(props) && /* @__PURE__ */ (0,
|
|
22883
|
+
!hideTabs(props) && /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
22656
22884
|
const uniqueValue = uniqueTabValue(tab);
|
|
22657
|
-
return /* @__PURE__ */ (0,
|
|
22885
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
|
|
22658
22886
|
}) }),
|
|
22659
|
-
right && /* @__PURE__ */ (0,
|
|
22887
|
+
right && /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { className: "mla df aic gap1 pb1", children: right })
|
|
22660
22888
|
] });
|
|
22661
22889
|
}
|
|
22662
22890
|
function TabImpl(props) {
|
|
@@ -22690,7 +22918,7 @@ function TabImpl(props) {
|
|
|
22690
22918
|
hoverStyles: hoverStyles4,
|
|
22691
22919
|
disabledStyles: disabledStyles4,
|
|
22692
22920
|
activeHoverStyles
|
|
22693
|
-
} = (0,
|
|
22921
|
+
} = (0, import_react126.useMemo)(() => getTabStyles(), []);
|
|
22694
22922
|
const uniqueValue = uniqueTabValue(tab);
|
|
22695
22923
|
const tabProps = {
|
|
22696
22924
|
"aria-controls": `${uniqueValue}-tabPanel`,
|
|
@@ -22700,7 +22928,7 @@ function TabImpl(props) {
|
|
|
22700
22928
|
role: "tab",
|
|
22701
22929
|
tabIndex: active ? 0 : -1,
|
|
22702
22930
|
...others,
|
|
22703
|
-
...(0,
|
|
22931
|
+
...(0, import_runtime99.trussProps)({
|
|
22704
22932
|
...baseStyles5,
|
|
22705
22933
|
...active && activeStyles3,
|
|
22706
22934
|
...isDisabled && disabledStyles4,
|
|
@@ -22716,17 +22944,17 @@ function TabImpl(props) {
|
|
|
22716
22944
|
onClick: () => onClick(tab.value)
|
|
22717
22945
|
}
|
|
22718
22946
|
});
|
|
22719
|
-
const tabLabel = /* @__PURE__ */ (0,
|
|
22947
|
+
const tabLabel = /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)(import_jsx_runtime176.Fragment, { children: [
|
|
22720
22948
|
label,
|
|
22721
|
-
(icon || endAdornment) && /* @__PURE__ */ (0,
|
|
22949
|
+
(icon || endAdornment) && /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("span", { className: "ml1", children: icon ? /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(Icon, { icon }) : endAdornment })
|
|
22722
22950
|
] });
|
|
22723
22951
|
return isDisabled ? maybeTooltip({
|
|
22724
22952
|
title: resolveTooltip(disabled),
|
|
22725
22953
|
placement: "top",
|
|
22726
|
-
children: /* @__PURE__ */ (0,
|
|
22727
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */ (0,
|
|
22954
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { ...tabProps, children: tabLabel })
|
|
22955
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_react_router_dom6.Link, { ...(0, import_react_aria54.mergeProps)(tabProps, interactiveProps, {
|
|
22728
22956
|
className: "navLink"
|
|
22729
|
-
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0,
|
|
22957
|
+
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("button", { ...{
|
|
22730
22958
|
...tabProps,
|
|
22731
22959
|
...interactiveProps
|
|
22732
22960
|
}, children: tabLabel });
|
|
@@ -22737,7 +22965,7 @@ function getTabStyles() {
|
|
|
22737
22965
|
const borderBottomStyles = {
|
|
22738
22966
|
borderBottomStyle: "bbs_solid",
|
|
22739
22967
|
borderBottomWidth: ["borderBottomWidth_var", {
|
|
22740
|
-
"--borderBottomWidth": (0,
|
|
22968
|
+
"--borderBottomWidth": (0, import_runtime99.maybeCssVar)(`${borderBottomWidthPx}px`)
|
|
22741
22969
|
}],
|
|
22742
22970
|
paddingBottom: ["pb_var", {
|
|
22743
22971
|
"--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
|
|
@@ -22821,8 +23049,8 @@ function hideTabs(props) {
|
|
|
22821
23049
|
}
|
|
22822
23050
|
|
|
22823
23051
|
// src/components/PageHeader.tsx
|
|
22824
|
-
var
|
|
22825
|
-
var
|
|
23052
|
+
var import_runtime100 = require("@homebound/truss/runtime");
|
|
23053
|
+
var import_jsx_runtime177 = require("react/jsx-runtime");
|
|
22826
23054
|
function PageHeader2(props) {
|
|
22827
23055
|
const {
|
|
22828
23056
|
title,
|
|
@@ -22831,7 +23059,7 @@ function PageHeader2(props) {
|
|
|
22831
23059
|
...otherProps
|
|
22832
23060
|
} = props;
|
|
22833
23061
|
const tid = useTestIds(otherProps, "pageHeader");
|
|
22834
|
-
return /* @__PURE__ */ (0,
|
|
23062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)("header", { ...tid, ...(0, import_runtime100.trussProps)({
|
|
22835
23063
|
display: "df",
|
|
22836
23064
|
flexDirection: "fdc",
|
|
22837
23065
|
paddingTop: "pt3",
|
|
@@ -22846,16 +23074,16 @@ function PageHeader2(props) {
|
|
|
22846
23074
|
"--backgroundColor": "var(--b-surface)"
|
|
22847
23075
|
}]
|
|
22848
23076
|
}), children: [
|
|
22849
|
-
/* @__PURE__ */ (0,
|
|
22850
|
-
/* @__PURE__ */ (0,
|
|
22851
|
-
/* @__PURE__ */ (0,
|
|
23077
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsxs)("div", { className: "df jcsb mb2 w100 gap1", children: [
|
|
23078
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)("h1", { ...tid.title, className: "fw6 fz_20px lh_28px", children: title }) }),
|
|
23079
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)("div", { children: rightSlot })
|
|
22852
23080
|
] }),
|
|
22853
|
-
tabs && /* @__PURE__ */ (0,
|
|
23081
|
+
tabs && /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(Tabs, { ...tabs })
|
|
22854
23082
|
] });
|
|
22855
23083
|
}
|
|
22856
23084
|
|
|
22857
23085
|
// src/components/Pagination.tsx
|
|
22858
|
-
var
|
|
23086
|
+
var import_jsx_runtime178 = require("react/jsx-runtime");
|
|
22859
23087
|
var defaultPage = {
|
|
22860
23088
|
offset: 0,
|
|
22861
23089
|
limit: 100
|
|
@@ -22887,25 +23115,25 @@ function Pagination(props) {
|
|
|
22887
23115
|
}
|
|
22888
23116
|
}
|
|
22889
23117
|
const tid = useTestIds(props, "pagination");
|
|
22890
|
-
return /* @__PURE__ */ (0,
|
|
22891
|
-
/* @__PURE__ */ (0,
|
|
22892
|
-
/* @__PURE__ */ (0,
|
|
23118
|
+
return /* @__PURE__ */ (0, import_jsx_runtime178.jsxs)("div", { className: "df bcGray200 bts_solid btw_1px fw4 fz_12px lh_16px gray500 pl2 pr2 pt2", ...tid, children: [
|
|
23119
|
+
/* @__PURE__ */ (0, import_jsx_runtime178.jsx)("div", { className: "df mta mba mr2", ...tid.pageSizeLabel, children: "Page size:" }),
|
|
23120
|
+
/* @__PURE__ */ (0, import_jsx_runtime178.jsx)("div", { className: "w_78px", children: /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(SelectField, { compact: true, label: "Page Size", labelStyle: "hidden", options: pageOptions, value: pageSize, onSelect: (val) => set({
|
|
22893
23121
|
pageNumber: 1,
|
|
22894
23122
|
pageSize: val
|
|
22895
23123
|
}), autoSort: false, ...tid.pageSize }) }),
|
|
22896
|
-
/* @__PURE__ */ (0,
|
|
22897
|
-
/* @__PURE__ */ (0,
|
|
23124
|
+
/* @__PURE__ */ (0, import_jsx_runtime178.jsxs)("div", { className: "mla mta mba df", children: [
|
|
23125
|
+
/* @__PURE__ */ (0, import_jsx_runtime178.jsxs)("div", { className: "df mta mba mr2", ...tid.pageInfoLabel, children: [
|
|
22898
23126
|
first,
|
|
22899
23127
|
" ",
|
|
22900
23128
|
showLast ? `- ${last}` : "",
|
|
22901
23129
|
" of ",
|
|
22902
23130
|
totalCount
|
|
22903
23131
|
] }),
|
|
22904
|
-
/* @__PURE__ */ (0,
|
|
23132
|
+
/* @__PURE__ */ (0, import_jsx_runtime178.jsx)(IconButton, { icon: "chevronLeft", color: hasPrevPage ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(236, 235, 235, 1)" /* Gray200 */, onClick: () => set({
|
|
22905
23133
|
pageNumber: pageNumber - 1,
|
|
22906
23134
|
pageSize
|
|
22907
23135
|
}), disabled: !hasPrevPage, ...tid.previousIcon }),
|
|
22908
|
-
/* @__PURE__ */ (0,
|
|
23136
|
+
/* @__PURE__ */ (0, import_jsx_runtime178.jsx)(IconButton, { icon: "chevronRight", color: hasNextPage ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(236, 235, 235, 1)" /* Gray200 */, onClick: () => set({
|
|
22909
23137
|
pageNumber: pageNumber + 1,
|
|
22910
23138
|
pageSize
|
|
22911
23139
|
}), disabled: !hasNextPage, ...tid.nextIcon })
|
|
@@ -22927,10 +23155,10 @@ function toPageNumberSize(page) {
|
|
|
22927
23155
|
}
|
|
22928
23156
|
|
|
22929
23157
|
// src/components/ScrollShadows.tsx
|
|
22930
|
-
var
|
|
22931
|
-
var
|
|
22932
|
-
var
|
|
22933
|
-
var
|
|
23158
|
+
var import_utils146 = require("@react-aria/utils");
|
|
23159
|
+
var import_react127 = require("react");
|
|
23160
|
+
var import_runtime101 = require("@homebound/truss/runtime");
|
|
23161
|
+
var import_jsx_runtime179 = require("react/jsx-runtime");
|
|
22934
23162
|
function ScrollShadows(props) {
|
|
22935
23163
|
const {
|
|
22936
23164
|
children,
|
|
@@ -22946,15 +23174,15 @@ function ScrollShadows(props) {
|
|
|
22946
23174
|
if (!bgColor.includes("rgba")) {
|
|
22947
23175
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
22948
23176
|
}
|
|
22949
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
22950
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
22951
|
-
const scrollRef = (0,
|
|
22952
|
-
const [startShadowStyles, endShadowStyles] = (0,
|
|
23177
|
+
const [showStartShadow, setShowStartShadow] = (0, import_react127.useState)(false);
|
|
23178
|
+
const [showEndShadow, setShowEndShadow] = (0, import_react127.useState)(false);
|
|
23179
|
+
const scrollRef = (0, import_react127.useRef)(null);
|
|
23180
|
+
const [startShadowStyles, endShadowStyles] = (0, import_react127.useMemo)(() => {
|
|
22953
23181
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
22954
23182
|
const commonStyles = {
|
|
22955
23183
|
position: "absolute",
|
|
22956
23184
|
zIndex: ["z_var", {
|
|
22957
|
-
"--zIndex": (0,
|
|
23185
|
+
"--zIndex": (0, import_runtime101.maybeCssVar)(zIndices.scrollShadow)
|
|
22958
23186
|
}],
|
|
22959
23187
|
pointerEvents: "pointerEvents_none"
|
|
22960
23188
|
};
|
|
@@ -22987,7 +23215,7 @@ function ScrollShadows(props) {
|
|
|
22987
23215
|
...startShadowStyles2,
|
|
22988
23216
|
...{
|
|
22989
23217
|
background: ["background_var", {
|
|
22990
|
-
"--background": (0,
|
|
23218
|
+
"--background": (0, import_runtime101.maybeCssVar)(startGradient)
|
|
22991
23219
|
}]
|
|
22992
23220
|
}
|
|
22993
23221
|
}, {
|
|
@@ -22995,12 +23223,12 @@ function ScrollShadows(props) {
|
|
|
22995
23223
|
...endShadowStyles2,
|
|
22996
23224
|
...{
|
|
22997
23225
|
background: ["background_var", {
|
|
22998
|
-
"--background": (0,
|
|
23226
|
+
"--background": (0, import_runtime101.maybeCssVar)(endGradient)
|
|
22999
23227
|
}]
|
|
23000
23228
|
}
|
|
23001
23229
|
}];
|
|
23002
23230
|
}, [horizontal, bgColor]);
|
|
23003
|
-
const updateScrollProps = (0,
|
|
23231
|
+
const updateScrollProps = (0, import_react127.useCallback)((el) => {
|
|
23004
23232
|
const {
|
|
23005
23233
|
scrollTop,
|
|
23006
23234
|
scrollHeight,
|
|
@@ -23015,15 +23243,15 @@ function ScrollShadows(props) {
|
|
|
23015
23243
|
setShowStartShadow(start > 0);
|
|
23016
23244
|
setShowEndShadow(start + boxSize < end);
|
|
23017
23245
|
}, [horizontal]);
|
|
23018
|
-
const onResize = (0,
|
|
23019
|
-
(0,
|
|
23246
|
+
const onResize = (0, import_react127.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
23247
|
+
(0, import_utils146.useResizeObserver)({
|
|
23020
23248
|
ref: scrollRef,
|
|
23021
23249
|
onResize
|
|
23022
23250
|
});
|
|
23023
|
-
return /* @__PURE__ */ (0,
|
|
23251
|
+
return /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)("div", { ...(0, import_runtime101.trussProps)({
|
|
23024
23252
|
display: "df",
|
|
23025
23253
|
flexDirection: ["fd_var", {
|
|
23026
|
-
"--flexDirection": (0,
|
|
23254
|
+
"--flexDirection": (0, import_runtime101.maybeCssVar)(!horizontal ? "column" : "row")
|
|
23027
23255
|
}],
|
|
23028
23256
|
position: "relative",
|
|
23029
23257
|
overflow: "oh",
|
|
@@ -23036,23 +23264,23 @@ function ScrollShadows(props) {
|
|
|
23036
23264
|
width: width2
|
|
23037
23265
|
}
|
|
23038
23266
|
}), ...tid, children: [
|
|
23039
|
-
/* @__PURE__ */ (0,
|
|
23267
|
+
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)("div", { ...(0, import_runtime101.trussProps)({
|
|
23040
23268
|
...startShadowStyles,
|
|
23041
23269
|
...{
|
|
23042
23270
|
opacity: ["o_var", {
|
|
23043
|
-
"--opacity": (0,
|
|
23271
|
+
"--opacity": (0, import_runtime101.maybeCssVar)(showStartShadow ? 1 : 0)
|
|
23044
23272
|
}]
|
|
23045
23273
|
}
|
|
23046
23274
|
}), "data-chromatic": "ignore" }),
|
|
23047
|
-
/* @__PURE__ */ (0,
|
|
23275
|
+
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)("div", { ...(0, import_runtime101.trussProps)({
|
|
23048
23276
|
...endShadowStyles,
|
|
23049
23277
|
...{
|
|
23050
23278
|
opacity: ["o_var", {
|
|
23051
|
-
"--opacity": (0,
|
|
23279
|
+
"--opacity": (0, import_runtime101.maybeCssVar)(showEndShadow ? 1 : 0)
|
|
23052
23280
|
}]
|
|
23053
23281
|
}
|
|
23054
23282
|
}), "data-chromatic": "ignore" }),
|
|
23055
|
-
/* @__PURE__ */ (0,
|
|
23283
|
+
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)("div", { ...(0, import_runtime101.trussProps)({
|
|
23056
23284
|
...xss,
|
|
23057
23285
|
...{
|
|
23058
23286
|
overflow: "oa",
|
|
@@ -23064,8 +23292,8 @@ function ScrollShadows(props) {
|
|
|
23064
23292
|
}
|
|
23065
23293
|
|
|
23066
23294
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
23067
|
-
var
|
|
23068
|
-
var
|
|
23295
|
+
var import_react128 = require("react");
|
|
23296
|
+
var import_jsx_runtime180 = require("react/jsx-runtime");
|
|
23069
23297
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
23070
23298
|
function loadStoredNavState() {
|
|
23071
23299
|
try {
|
|
@@ -23087,20 +23315,20 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
23087
23315
|
}
|
|
23088
23316
|
return loadStoredNavState() ?? defaultNavState ?? "expanded";
|
|
23089
23317
|
}
|
|
23090
|
-
var SideNavLayoutContext = (0,
|
|
23318
|
+
var SideNavLayoutContext = (0, import_react128.createContext)(void 0);
|
|
23091
23319
|
function SideNavLayoutProvider(props) {
|
|
23092
|
-
const [navState, setNavStateInternal] = (0,
|
|
23320
|
+
const [navState, setNavStateInternal] = (0, import_react128.useState)(
|
|
23093
23321
|
() => resolveInitialNavState(props.defaultNavState)
|
|
23094
23322
|
);
|
|
23095
23323
|
const bp = useBreakpoint();
|
|
23096
|
-
const prevMdAndUp = (0,
|
|
23097
|
-
(0,
|
|
23324
|
+
const prevMdAndUp = (0, import_react128.useRef)(bp.mdAndUp);
|
|
23325
|
+
(0, import_react128.useEffect)(() => {
|
|
23098
23326
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
23099
23327
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
23100
23328
|
}
|
|
23101
23329
|
prevMdAndUp.current = bp.mdAndUp;
|
|
23102
23330
|
}, [bp.mdAndUp]);
|
|
23103
|
-
const setNavState = (0,
|
|
23331
|
+
const setNavState = (0, import_react128.useCallback)((value2) => {
|
|
23104
23332
|
setNavStateInternal((prev) => {
|
|
23105
23333
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
23106
23334
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -23112,20 +23340,20 @@ function SideNavLayoutProvider(props) {
|
|
|
23112
23340
|
return next;
|
|
23113
23341
|
});
|
|
23114
23342
|
}, []);
|
|
23115
|
-
const value = (0,
|
|
23116
|
-
return /* @__PURE__ */ (0,
|
|
23343
|
+
const value = (0, import_react128.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
23344
|
+
return /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
23117
23345
|
}
|
|
23118
23346
|
function useSideNavLayoutContext() {
|
|
23119
|
-
return (0,
|
|
23347
|
+
return (0, import_react128.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
23120
23348
|
} };
|
|
23121
23349
|
}
|
|
23122
23350
|
function useHasSideNavLayoutProvider() {
|
|
23123
|
-
return (0,
|
|
23351
|
+
return (0, import_react128.useContext)(SideNavLayoutContext) !== void 0;
|
|
23124
23352
|
}
|
|
23125
23353
|
|
|
23126
23354
|
// src/components/SideNav/SideNav.tsx
|
|
23127
|
-
var
|
|
23128
|
-
var
|
|
23355
|
+
var import_runtime102 = require("@homebound/truss/runtime");
|
|
23356
|
+
var import_jsx_runtime181 = require("react/jsx-runtime");
|
|
23129
23357
|
function SideNav(props) {
|
|
23130
23358
|
const {
|
|
23131
23359
|
top,
|
|
@@ -23138,8 +23366,8 @@ function SideNav(props) {
|
|
|
23138
23366
|
const tid = useTestIds(props, "sideNav");
|
|
23139
23367
|
const panelCollapsed = navState === "collapse";
|
|
23140
23368
|
const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
|
|
23141
|
-
return /* @__PURE__ */ (0,
|
|
23142
|
-
top !== void 0 && /* @__PURE__ */ (0,
|
|
23369
|
+
return /* @__PURE__ */ (0, import_jsx_runtime181.jsxs)("nav", { className: "df fdc h100 fs0", ...tid, children: [
|
|
23370
|
+
top !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...(0, import_runtime102.trussProps)({
|
|
23143
23371
|
flexShrink: "fs0",
|
|
23144
23372
|
paddingLeft: "pl2",
|
|
23145
23373
|
paddingRight: "pr2",
|
|
@@ -23150,7 +23378,7 @@ function SideNav(props) {
|
|
|
23150
23378
|
paddingBottom: "pb4"
|
|
23151
23379
|
} : {}
|
|
23152
23380
|
}), ...tid.top, children: top }),
|
|
23153
|
-
/* @__PURE__ */ (0,
|
|
23381
|
+
/* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...(0, import_runtime102.trussProps)({
|
|
23154
23382
|
flexGrow: "fg1",
|
|
23155
23383
|
overflowY: "oya",
|
|
23156
23384
|
display: "df",
|
|
@@ -23162,8 +23390,8 @@ function SideNav(props) {
|
|
|
23162
23390
|
...top === void 0 ? {
|
|
23163
23391
|
paddingTop: "pt5"
|
|
23164
23392
|
} : {}
|
|
23165
|
-
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ (0,
|
|
23166
|
-
footer !== void 0 && /* @__PURE__ */ (0,
|
|
23393
|
+
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(AppNavItems, { items, panelCollapsed }) }),
|
|
23394
|
+
footer !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...(0, import_runtime102.trussProps)({
|
|
23167
23395
|
flexShrink: "fs0",
|
|
23168
23396
|
paddingLeft: "pl2",
|
|
23169
23397
|
paddingRight: "pr2",
|
|
@@ -23179,10 +23407,10 @@ function SideNav(props) {
|
|
|
23179
23407
|
}
|
|
23180
23408
|
|
|
23181
23409
|
// src/components/Snackbar/useSnackbar.tsx
|
|
23182
|
-
var
|
|
23410
|
+
var import_react129 = require("react");
|
|
23183
23411
|
function useSnackbar() {
|
|
23184
23412
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
23185
|
-
const onClose = (0,
|
|
23413
|
+
const onClose = (0, import_react129.useCallback)(
|
|
23186
23414
|
(noticeId) => {
|
|
23187
23415
|
setNotices((prev) => {
|
|
23188
23416
|
let returnValue = prev;
|
|
@@ -23199,7 +23427,7 @@ function useSnackbar() {
|
|
|
23199
23427
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23200
23428
|
[]
|
|
23201
23429
|
);
|
|
23202
|
-
const triggerNotice = (0,
|
|
23430
|
+
const triggerNotice = (0, import_react129.useCallback)(
|
|
23203
23431
|
(props) => {
|
|
23204
23432
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
23205
23433
|
let maybeTimeout;
|
|
@@ -23228,8 +23456,8 @@ function useSnackbar() {
|
|
|
23228
23456
|
},
|
|
23229
23457
|
[onClose, setNotices]
|
|
23230
23458
|
);
|
|
23231
|
-
const closeNotice = (0,
|
|
23232
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
23459
|
+
const closeNotice = (0, import_react129.useCallback)((id) => onClose(id), [onClose]);
|
|
23460
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react129.useEffect)(() => {
|
|
23233
23461
|
setOffset({ bottom });
|
|
23234
23462
|
return () => setOffset({});
|
|
23235
23463
|
}, [bottom]);
|
|
@@ -23238,11 +23466,11 @@ function useSnackbar() {
|
|
|
23238
23466
|
var snackbarId = 1;
|
|
23239
23467
|
|
|
23240
23468
|
// src/components/Stepper.tsx
|
|
23241
|
-
var import_react129 = require("react");
|
|
23242
|
-
var import_react_aria55 = require("react-aria");
|
|
23243
|
-
var import_runtime102 = require("@homebound/truss/runtime");
|
|
23244
|
-
var import_jsx_runtime180 = require("react/jsx-runtime");
|
|
23245
23469
|
var import_react130 = require("react");
|
|
23470
|
+
var import_react_aria55 = require("react-aria");
|
|
23471
|
+
var import_runtime103 = require("@homebound/truss/runtime");
|
|
23472
|
+
var import_jsx_runtime182 = require("react/jsx-runtime");
|
|
23473
|
+
var import_react131 = require("react");
|
|
23246
23474
|
var __maybeInc19 = (inc) => {
|
|
23247
23475
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
23248
23476
|
};
|
|
@@ -23260,8 +23488,8 @@ function Stepper(props) {
|
|
|
23260
23488
|
const maxStepWidth = 200;
|
|
23261
23489
|
const minStepWidth = 100;
|
|
23262
23490
|
const gap = 8;
|
|
23263
|
-
return /* @__PURE__ */ (0,
|
|
23264
|
-
/* @__PURE__ */ (0,
|
|
23491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
|
|
23492
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)("ol", { ...(0, import_runtime103.trussProps)({
|
|
23265
23493
|
padding: "p_0",
|
|
23266
23494
|
margin: "m_0",
|
|
23267
23495
|
listStyle: "lis_none",
|
|
@@ -23271,7 +23499,7 @@ function Stepper(props) {
|
|
|
23271
23499
|
}]
|
|
23272
23500
|
}), children: steps.map((step) => {
|
|
23273
23501
|
const isCurrent = currentStep === step.value;
|
|
23274
|
-
return /* @__PURE__ */ (0,
|
|
23502
|
+
return /* @__PURE__ */ (0, import_react131.createElement)("li", { ...(0, import_runtime103.trussProps)({
|
|
23275
23503
|
display: "df",
|
|
23276
23504
|
flexGrow: "fg1",
|
|
23277
23505
|
flexDirection: "fdc",
|
|
@@ -23281,9 +23509,9 @@ function Stepper(props) {
|
|
|
23281
23509
|
minWidth: ["mw_var", {
|
|
23282
23510
|
"--minWidth": `${minStepWidth}px`
|
|
23283
23511
|
}]
|
|
23284
|
-
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0,
|
|
23512
|
+
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
|
|
23285
23513
|
}) }),
|
|
23286
|
-
/* @__PURE__ */ (0,
|
|
23514
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)("div", { ...(0, import_runtime103.trussProps)({
|
|
23287
23515
|
marginTop: "mt1",
|
|
23288
23516
|
backgroundColor: "bgGray300",
|
|
23289
23517
|
height: "h_4px",
|
|
@@ -23294,12 +23522,12 @@ function Stepper(props) {
|
|
|
23294
23522
|
"--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
|
|
23295
23523
|
}],
|
|
23296
23524
|
width: "w100"
|
|
23297
|
-
}), children: /* @__PURE__ */ (0,
|
|
23525
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("div", { ...(0, import_runtime103.trussProps)({
|
|
23298
23526
|
backgroundColor: "bgBlue600",
|
|
23299
23527
|
transition: "transition_width_200ms",
|
|
23300
23528
|
height: "h100",
|
|
23301
23529
|
width: ["w_var", {
|
|
23302
|
-
"--width": (0,
|
|
23530
|
+
"--width": (0, import_runtime103.maybeCssVar)(__maybeInc19(`${(lastCompletedStep + 1) / steps.length * 100}%`))
|
|
23303
23531
|
}]
|
|
23304
23532
|
}) }) })
|
|
23305
23533
|
] });
|
|
@@ -23316,7 +23544,7 @@ function StepButton(props) {
|
|
|
23316
23544
|
onPress: onClick,
|
|
23317
23545
|
isDisabled: disabled
|
|
23318
23546
|
};
|
|
23319
|
-
const ref = (0,
|
|
23547
|
+
const ref = (0, import_react130.useRef)(null);
|
|
23320
23548
|
const {
|
|
23321
23549
|
buttonProps,
|
|
23322
23550
|
isPressed
|
|
@@ -23335,7 +23563,7 @@ function StepButton(props) {
|
|
|
23335
23563
|
boxShadow: "bshFocus"
|
|
23336
23564
|
};
|
|
23337
23565
|
const tid = useTestIds(props, "stepButton");
|
|
23338
|
-
return /* @__PURE__ */ (0,
|
|
23566
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime103.trussProps)({
|
|
23339
23567
|
...{
|
|
23340
23568
|
fontWeight: "fw6",
|
|
23341
23569
|
fontSize: "fz_14px",
|
|
@@ -23387,7 +23615,7 @@ function StepButton(props) {
|
|
|
23387
23615
|
} : {},
|
|
23388
23616
|
...isFocusVisible ? focusRingStyles2 : {}
|
|
23389
23617
|
}), ...tid[defaultTestId(label)], children: [
|
|
23390
|
-
/* @__PURE__ */ (0,
|
|
23618
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)("span", { className: "fs0 mr_4px", children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
|
|
23391
23619
|
label
|
|
23392
23620
|
] });
|
|
23393
23621
|
}
|
|
@@ -23398,12 +23626,12 @@ function StepIcon({
|
|
|
23398
23626
|
isCurrent = false
|
|
23399
23627
|
}) {
|
|
23400
23628
|
if (state === "error") {
|
|
23401
|
-
return /* @__PURE__ */ (0,
|
|
23629
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(Icon, { icon: "errorCircle" });
|
|
23402
23630
|
}
|
|
23403
23631
|
if (state === "complete") {
|
|
23404
|
-
return /* @__PURE__ */ (0,
|
|
23632
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(Icon, { icon: "check" });
|
|
23405
23633
|
}
|
|
23406
|
-
return /* @__PURE__ */ (0,
|
|
23634
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("div", { ...(0, import_runtime103.trussProps)({
|
|
23407
23635
|
width: "w_10px",
|
|
23408
23636
|
height: "h_10px",
|
|
23409
23637
|
borderStyle: "bss",
|
|
@@ -23418,8 +23646,8 @@ function StepIcon({
|
|
|
23418
23646
|
|
|
23419
23647
|
// src/components/SuperDrawer/components/SuperDrawerHeader.tsx
|
|
23420
23648
|
var import_react_dom7 = require("react-dom");
|
|
23421
|
-
var
|
|
23422
|
-
var
|
|
23649
|
+
var import_runtime104 = require("@homebound/truss/runtime");
|
|
23650
|
+
var import_jsx_runtime183 = require("react/jsx-runtime");
|
|
23423
23651
|
function SuperDrawerHeader(props) {
|
|
23424
23652
|
const {
|
|
23425
23653
|
hideControls
|
|
@@ -23436,20 +23664,20 @@ function SuperDrawerHeader(props) {
|
|
|
23436
23664
|
const currentContent = contentStack.current[contentStack.current.length - 1]?.opts;
|
|
23437
23665
|
const isDetail = currentContent !== firstContent;
|
|
23438
23666
|
const tid = useTestIds({}, "superDrawerHeader");
|
|
23439
|
-
return (0, import_react_dom7.createPortal)(/* @__PURE__ */ (0,
|
|
23440
|
-
isStructuredProps(props) ? /* @__PURE__ */ (0,
|
|
23441
|
-
/* @__PURE__ */ (0,
|
|
23442
|
-
/* @__PURE__ */ (0,
|
|
23667
|
+
return (0, import_react_dom7.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime183.jsxs)("div", { className: "df aic jcsb gap3", ...tid, children: [
|
|
23668
|
+
isStructuredProps(props) ? /* @__PURE__ */ (0, import_jsx_runtime183.jsxs)("div", { className: "df jcsb aic gap2 fg1", children: [
|
|
23669
|
+
/* @__PURE__ */ (0, import_jsx_runtime183.jsxs)("div", { className: "fg1 df aic gap2", children: [
|
|
23670
|
+
/* @__PURE__ */ (0, import_jsx_runtime183.jsx)("h1", { className: "fw6 fz_30px lh_36px", children: props.title }),
|
|
23443
23671
|
props.left
|
|
23444
23672
|
] }),
|
|
23445
|
-
props.right && /* @__PURE__ */ (0,
|
|
23446
|
-
] }) : /* @__PURE__ */ (0,
|
|
23447
|
-
!hideControls && /* @__PURE__ */ (0,
|
|
23673
|
+
props.right && /* @__PURE__ */ (0, import_jsx_runtime183.jsx)("div", { className: "fs0", children: props.right })
|
|
23674
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime183.jsx)("div", { className: "fg1", children: props.children }),
|
|
23675
|
+
!hideControls && /* @__PURE__ */ (0, import_jsx_runtime183.jsx)("div", { ...(0, import_runtime104.trussProps)({
|
|
23448
23676
|
flexShrink: "fs0",
|
|
23449
23677
|
...isDetail ? {
|
|
23450
23678
|
visibility: "vh"
|
|
23451
23679
|
} : {}
|
|
23452
|
-
}), children: /* @__PURE__ */ (0,
|
|
23680
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(ButtonGroup, { buttons: [{
|
|
23453
23681
|
icon: "chevronLeft",
|
|
23454
23682
|
onClick: () => onPrevClick && onPrevClick(),
|
|
23455
23683
|
disabled: !onPrevClick
|
|
@@ -23465,18 +23693,18 @@ function isStructuredProps(props) {
|
|
|
23465
23693
|
}
|
|
23466
23694
|
|
|
23467
23695
|
// src/components/SuperDrawer/ConfirmCloseModal.tsx
|
|
23468
|
-
var
|
|
23696
|
+
var import_jsx_runtime184 = require("react/jsx-runtime");
|
|
23469
23697
|
function ConfirmCloseModal(props) {
|
|
23470
23698
|
const { onClose, discardText = "Discard Changes", continueText = "Continue Editing" } = props;
|
|
23471
23699
|
const { modalState } = useBeamContext();
|
|
23472
23700
|
function closeModal() {
|
|
23473
23701
|
modalState.current = void 0;
|
|
23474
23702
|
}
|
|
23475
|
-
return /* @__PURE__ */ (0,
|
|
23476
|
-
/* @__PURE__ */ (0,
|
|
23477
|
-
/* @__PURE__ */ (0,
|
|
23478
|
-
/* @__PURE__ */ (0,
|
|
23479
|
-
/* @__PURE__ */ (0,
|
|
23703
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsxs)(import_jsx_runtime184.Fragment, { children: [
|
|
23704
|
+
/* @__PURE__ */ (0, import_jsx_runtime184.jsx)(ModalHeader, { children: "Are you sure you want to cancel?" }),
|
|
23705
|
+
/* @__PURE__ */ (0, import_jsx_runtime184.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("p", { children: "Any changes you've made so far will be lost." }) }),
|
|
23706
|
+
/* @__PURE__ */ (0, import_jsx_runtime184.jsxs)(ModalFooter, { children: [
|
|
23707
|
+
/* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
|
|
23480
23708
|
Button,
|
|
23481
23709
|
{
|
|
23482
23710
|
variant: "quaternary",
|
|
@@ -23487,7 +23715,7 @@ function ConfirmCloseModal(props) {
|
|
|
23487
23715
|
}
|
|
23488
23716
|
}
|
|
23489
23717
|
),
|
|
23490
|
-
/* @__PURE__ */ (0,
|
|
23718
|
+
/* @__PURE__ */ (0, import_jsx_runtime184.jsx)(Button, { label: continueText, onClick: closeModal })
|
|
23491
23719
|
] })
|
|
23492
23720
|
] });
|
|
23493
23721
|
}
|
|
@@ -23496,8 +23724,8 @@ function ConfirmCloseModal(props) {
|
|
|
23496
23724
|
var import_framer_motion6 = require("framer-motion");
|
|
23497
23725
|
|
|
23498
23726
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
23499
|
-
var
|
|
23500
|
-
var
|
|
23727
|
+
var import_react132 = require("react");
|
|
23728
|
+
var import_jsx_runtime185 = require("react/jsx-runtime");
|
|
23501
23729
|
function useSuperDrawer() {
|
|
23502
23730
|
const {
|
|
23503
23731
|
drawerContentStack: contentStack,
|
|
@@ -23509,7 +23737,7 @@ function useSuperDrawer() {
|
|
|
23509
23737
|
function canCloseDrawerDetails(i, doChange) {
|
|
23510
23738
|
for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
|
|
23511
23739
|
if (!canClose(canCloseDrawerDetail)) {
|
|
23512
|
-
openModal({ content: /* @__PURE__ */ (0,
|
|
23740
|
+
openModal({ content: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
|
|
23513
23741
|
return false;
|
|
23514
23742
|
}
|
|
23515
23743
|
}
|
|
@@ -23529,14 +23757,14 @@ function useSuperDrawer() {
|
|
|
23529
23757
|
for (const canCloseDrawer of canCloseChecks.current) {
|
|
23530
23758
|
if (!canClose(canCloseDrawer)) {
|
|
23531
23759
|
openModal({
|
|
23532
|
-
content: /* @__PURE__ */ (0,
|
|
23760
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
|
|
23533
23761
|
});
|
|
23534
23762
|
return;
|
|
23535
23763
|
}
|
|
23536
23764
|
}
|
|
23537
23765
|
doChange();
|
|
23538
23766
|
}
|
|
23539
|
-
const closeActions = (0,
|
|
23767
|
+
const closeActions = (0, import_react132.useMemo)(
|
|
23540
23768
|
() => {
|
|
23541
23769
|
return {
|
|
23542
23770
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -23571,7 +23799,7 @@ function useSuperDrawer() {
|
|
|
23571
23799
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23572
23800
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
23573
23801
|
);
|
|
23574
|
-
const actions = (0,
|
|
23802
|
+
const actions = (0, import_react132.useMemo)(
|
|
23575
23803
|
() => {
|
|
23576
23804
|
return {
|
|
23577
23805
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -23624,8 +23852,8 @@ function canClose(canCloseCheck) {
|
|
|
23624
23852
|
}
|
|
23625
23853
|
|
|
23626
23854
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
23627
|
-
var
|
|
23628
|
-
var
|
|
23855
|
+
var import_runtime105 = require("@homebound/truss/runtime");
|
|
23856
|
+
var import_jsx_runtime186 = require("react/jsx-runtime");
|
|
23629
23857
|
var SuperDrawerContent = ({
|
|
23630
23858
|
children,
|
|
23631
23859
|
actions
|
|
@@ -23645,17 +23873,17 @@ var SuperDrawerContent = ({
|
|
|
23645
23873
|
} = firstContent ?? {};
|
|
23646
23874
|
function wrapWithMotionAndMaybeBack(children2) {
|
|
23647
23875
|
if (kind === "open") {
|
|
23648
|
-
return /* @__PURE__ */ (0,
|
|
23876
|
+
return /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(import_framer_motion6.motion.div, { className: "pt3 pb3 pr3 pl3 fg1 oa", children: children2 }, "content");
|
|
23649
23877
|
} else if (kind === "detail") {
|
|
23650
|
-
return /* @__PURE__ */ (0,
|
|
23878
|
+
return /* @__PURE__ */ (0, import_jsx_runtime186.jsxs)(import_framer_motion6.motion.div, { className: "pl3 pr3 pt2 pb3 fg1", animate: {
|
|
23651
23879
|
overflow: "auto"
|
|
23652
23880
|
}, transition: {
|
|
23653
23881
|
overflow: {
|
|
23654
23882
|
delay: 0.3
|
|
23655
23883
|
}
|
|
23656
23884
|
}, children: [
|
|
23657
|
-
/* @__PURE__ */ (0,
|
|
23658
|
-
/* @__PURE__ */ (0,
|
|
23885
|
+
/* @__PURE__ */ (0, import_jsx_runtime186.jsx)(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
|
|
23886
|
+
/* @__PURE__ */ (0, import_jsx_runtime186.jsx)(import_framer_motion6.motion.div, { initial: {
|
|
23659
23887
|
x: width2,
|
|
23660
23888
|
opacity: 0
|
|
23661
23889
|
}, animate: {
|
|
@@ -23673,7 +23901,7 @@ var SuperDrawerContent = ({
|
|
|
23673
23901
|
}, className: "pt2", children: children2 })
|
|
23674
23902
|
] }, "content");
|
|
23675
23903
|
} else {
|
|
23676
|
-
return /* @__PURE__ */ (0,
|
|
23904
|
+
return /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(import_framer_motion6.motion.div, { ...(0, import_runtime105.mergeProps)(void 0, {
|
|
23677
23905
|
overflow: "auto"
|
|
23678
23906
|
}, {
|
|
23679
23907
|
paddingTop: "pt3",
|
|
@@ -23684,9 +23912,9 @@ var SuperDrawerContent = ({
|
|
|
23684
23912
|
}) }, "content");
|
|
23685
23913
|
}
|
|
23686
23914
|
}
|
|
23687
|
-
return /* @__PURE__ */ (0,
|
|
23915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime186.jsxs)(import_jsx_runtime186.Fragment, { children: [
|
|
23688
23916
|
wrapWithMotionAndMaybeBack(children),
|
|
23689
|
-
actions && /* @__PURE__ */ (0,
|
|
23917
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime186.jsx)("footer", { className: "bts_solid btw_1px bcGray200 pt3 pb3 pr3 pl3 df aic jcfe", children: /* @__PURE__ */ (0, import_jsx_runtime186.jsx)("div", { className: "df gap1", children: actions.map((buttonProps, i) => /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(Button, { ...buttonProps }, i)) }) })
|
|
23690
23918
|
] });
|
|
23691
23919
|
};
|
|
23692
23920
|
|
|
@@ -23709,23 +23937,23 @@ function visit(rows, fn) {
|
|
|
23709
23937
|
}
|
|
23710
23938
|
|
|
23711
23939
|
// src/components/Toast/useToast.tsx
|
|
23712
|
-
var
|
|
23940
|
+
var import_react133 = require("react");
|
|
23713
23941
|
function useToast() {
|
|
23714
23942
|
const { setNotice, clear } = useToastContext();
|
|
23715
|
-
const showToast = (0,
|
|
23943
|
+
const showToast = (0, import_react133.useCallback)((props) => setNotice(props), [setNotice]);
|
|
23716
23944
|
return { showToast, clear };
|
|
23717
23945
|
}
|
|
23718
23946
|
|
|
23719
23947
|
// src/layouts/SideNavLayout/SideNavLayout.tsx
|
|
23720
|
-
var
|
|
23721
|
-
var
|
|
23948
|
+
var import_runtime106 = require("@homebound/truss/runtime");
|
|
23949
|
+
var import_jsx_runtime187 = require("react/jsx-runtime");
|
|
23722
23950
|
var __maybeInc20 = (inc) => {
|
|
23723
23951
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
23724
23952
|
};
|
|
23725
23953
|
function SideNavLayout(props) {
|
|
23726
23954
|
const hasProvider = useHasSideNavLayoutProvider();
|
|
23727
|
-
if (hasProvider) return /* @__PURE__ */ (0,
|
|
23728
|
-
return /* @__PURE__ */ (0,
|
|
23955
|
+
if (hasProvider) return /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(SideNavLayoutContent, { ...props });
|
|
23956
|
+
return /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(SideNavLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(SideNavLayoutContent, { ...props }) });
|
|
23729
23957
|
}
|
|
23730
23958
|
function SideNavLayoutContent(props) {
|
|
23731
23959
|
const {
|
|
@@ -23745,9 +23973,9 @@ function SideNavLayoutContent(props) {
|
|
|
23745
23973
|
const collapsed = navState === "collapse";
|
|
23746
23974
|
const showRail = navState !== "hidden";
|
|
23747
23975
|
const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
|
|
23748
|
-
const navTop =
|
|
23749
|
-
const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
23750
|
-
const rail = showRail && /* @__PURE__ */ (0,
|
|
23976
|
+
const navTop = bannerAndNavbarChromeTop();
|
|
23977
|
+
const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
23978
|
+
const rail = showRail && /* @__PURE__ */ (0, import_jsx_runtime187.jsxs)("div", { ...(0, import_runtime106.trussProps)({
|
|
23751
23979
|
...{
|
|
23752
23980
|
display: "df",
|
|
23753
23981
|
flexDirection: "fdc",
|
|
@@ -23771,14 +23999,14 @@ function SideNavLayoutContent(props) {
|
|
|
23771
23999
|
position: "sticky",
|
|
23772
24000
|
left: "left0",
|
|
23773
24001
|
zIndex: ["z_var", {
|
|
23774
|
-
"--zIndex": (0,
|
|
24002
|
+
"--zIndex": (0, import_runtime106.maybeCssVar)(zIndices.sideNav)
|
|
23775
24003
|
}],
|
|
23776
24004
|
top: ["top_var", {
|
|
23777
|
-
"--top": (0,
|
|
24005
|
+
"--top": (0, import_runtime106.maybeCssVar)(__maybeInc20(navTop))
|
|
23778
24006
|
}],
|
|
23779
24007
|
alignSelf: "asfs",
|
|
23780
24008
|
height: ["h_var", {
|
|
23781
|
-
"--height": (0,
|
|
24009
|
+
"--height": (0, import_runtime106.maybeCssVar)(__maybeInc20(railViewportHeight))
|
|
23782
24010
|
}],
|
|
23783
24011
|
width: ["w_var", {
|
|
23784
24012
|
"--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
|
|
@@ -23788,11 +24016,11 @@ function SideNavLayoutContent(props) {
|
|
|
23788
24016
|
position: "fixed",
|
|
23789
24017
|
left: "left0",
|
|
23790
24018
|
top: ["top_var", {
|
|
23791
|
-
"--top": (0,
|
|
24019
|
+
"--top": (0, import_runtime106.maybeCssVar)(__maybeInc20(navTop))
|
|
23792
24020
|
}],
|
|
23793
24021
|
bottom: "bottom0",
|
|
23794
24022
|
zIndex: ["z_var", {
|
|
23795
|
-
"--zIndex": (0,
|
|
24023
|
+
"--zIndex": (0, import_runtime106.maybeCssVar)(zIndices.sideNav)
|
|
23796
24024
|
}]
|
|
23797
24025
|
},
|
|
23798
24026
|
...collapsed ? {
|
|
@@ -23804,18 +24032,18 @@ function SideNavLayoutContent(props) {
|
|
|
23804
24032
|
}
|
|
23805
24033
|
}
|
|
23806
24034
|
}), ...tid.sideNav, children: [
|
|
23807
|
-
showCollapseToggle && /* @__PURE__ */ (0,
|
|
23808
|
-
/* @__PURE__ */ (0,
|
|
24035
|
+
showCollapseToggle && /* @__PURE__ */ (0, import_jsx_runtime187.jsx)("div", { className: "absolute right2 top2 z2", children: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
|
|
24036
|
+
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(SideNav, { ...sideNav }) })
|
|
23809
24037
|
] });
|
|
23810
|
-
return /* @__PURE__ */ (0,
|
|
24038
|
+
return /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime187.jsxs)("div", { ...(0, import_runtime106.mergeProps)(void 0, {
|
|
23811
24039
|
[beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
|
|
23812
24040
|
}, {
|
|
23813
24041
|
display: "df",
|
|
23814
24042
|
flexDirection: "fdr",
|
|
23815
24043
|
width: "w100"
|
|
23816
24044
|
}), ...tid, children: [
|
|
23817
|
-
contrastRail ? /* @__PURE__ */ (0,
|
|
23818
|
-
/* @__PURE__ */ (0,
|
|
24045
|
+
contrastRail ? /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(ContrastScope, { children: rail }) : rail,
|
|
24046
|
+
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)("div", { ...(0, import_runtime106.trussProps)({
|
|
23819
24047
|
display: "df",
|
|
23820
24048
|
flexDirection: "fdc",
|
|
23821
24049
|
flexGrow: "fg1",
|
|
@@ -23830,12 +24058,56 @@ function SideNavLayoutContent(props) {
|
|
|
23830
24058
|
] }) });
|
|
23831
24059
|
}
|
|
23832
24060
|
|
|
24061
|
+
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
|
|
24062
|
+
var import_runtime107 = require("@homebound/truss/runtime");
|
|
24063
|
+
var import_jsx_runtime188 = require("react/jsx-runtime");
|
|
24064
|
+
var __maybeInc21 = (inc) => {
|
|
24065
|
+
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
24066
|
+
};
|
|
24067
|
+
function EnvironmentBannerLayout(props) {
|
|
24068
|
+
const {
|
|
24069
|
+
environmentBanner,
|
|
24070
|
+
children
|
|
24071
|
+
} = props;
|
|
24072
|
+
const tid = useTestIds(props, "environmentBannerLayout");
|
|
24073
|
+
const showBanner = environmentBanner != null && shouldShowEnvironmentBanner(environmentBanner.env, environmentBanner.impersonating);
|
|
24074
|
+
const bannerHeightPx = showBanner ? environmentBannerSizePx : 0;
|
|
24075
|
+
const style = {
|
|
24076
|
+
[beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
|
|
24077
|
+
};
|
|
24078
|
+
const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
|
|
24079
|
+
return /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)("div", { ...(0, import_runtime107.mergeProps)(void 0, style, {
|
|
24080
|
+
display: "df",
|
|
24081
|
+
flexDirection: "fdc",
|
|
24082
|
+
width: "wfc",
|
|
24083
|
+
minWidth: "mw100"
|
|
24084
|
+
}), ...tid, children: [
|
|
24085
|
+
showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime107.mergeProps)(void 0, {
|
|
24086
|
+
height: environmentBannerSizePx
|
|
24087
|
+
}, {
|
|
24088
|
+
flexShrink: "fs0",
|
|
24089
|
+
width: "w100"
|
|
24090
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime107.trussProps)({
|
|
24091
|
+
position: "fixed",
|
|
24092
|
+
top: "top0",
|
|
24093
|
+
left: "left0",
|
|
24094
|
+
zIndex: ["z_var", {
|
|
24095
|
+
"--zIndex": (0, import_runtime107.maybeCssVar)(zIndices.environmentBanner)
|
|
24096
|
+
}],
|
|
24097
|
+
width: ["w_var", {
|
|
24098
|
+
"--width": (0, import_runtime107.maybeCssVar)(__maybeInc21(innerWidth))
|
|
24099
|
+
}]
|
|
24100
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
|
|
24101
|
+
children
|
|
24102
|
+
] }) }) });
|
|
24103
|
+
}
|
|
24104
|
+
|
|
23833
24105
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
23834
|
-
var
|
|
23835
|
-
var
|
|
24106
|
+
var import_react137 = require("react");
|
|
24107
|
+
var import_runtime108 = require("@homebound/truss/runtime");
|
|
23836
24108
|
|
|
23837
24109
|
// src/layouts/useAutoHideOnScroll.ts
|
|
23838
|
-
var
|
|
24110
|
+
var import_react134 = require("react");
|
|
23839
24111
|
var THRESHOLD = 80;
|
|
23840
24112
|
function getInitialAutoHideState() {
|
|
23841
24113
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -23845,15 +24117,15 @@ function getInitialAutoHideState() {
|
|
|
23845
24117
|
}
|
|
23846
24118
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
23847
24119
|
const initial = getInitialAutoHideState();
|
|
23848
|
-
const [state, setState] = (0,
|
|
23849
|
-
const stateRef = (0,
|
|
23850
|
-
const [atTop, setAtTop] = (0,
|
|
23851
|
-
const atTopRef = (0,
|
|
23852
|
-
const getTopOffsetRef = (0,
|
|
24120
|
+
const [state, setState] = (0, import_react134.useState)(initial.state);
|
|
24121
|
+
const stateRef = (0, import_react134.useRef)(initial.state);
|
|
24122
|
+
const [atTop, setAtTop] = (0, import_react134.useState)(initial.atTop);
|
|
24123
|
+
const atTopRef = (0, import_react134.useRef)(initial.atTop);
|
|
24124
|
+
const getTopOffsetRef = (0, import_react134.useRef)(getTopOffset);
|
|
23853
24125
|
getTopOffsetRef.current = getTopOffset;
|
|
23854
|
-
const lastScrollY = (0,
|
|
23855
|
-
const lastScrollHeight = (0,
|
|
23856
|
-
(0,
|
|
24126
|
+
const lastScrollY = (0, import_react134.useRef)(Number.POSITIVE_INFINITY);
|
|
24127
|
+
const lastScrollHeight = (0, import_react134.useRef)(0);
|
|
24128
|
+
(0, import_react134.useLayoutEffect)(() => {
|
|
23857
24129
|
if (!enabled) {
|
|
23858
24130
|
stateRef.current = "static";
|
|
23859
24131
|
atTopRef.current = true;
|
|
@@ -23925,36 +24197,36 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
23925
24197
|
}
|
|
23926
24198
|
|
|
23927
24199
|
// src/layouts/useMeasuredHeight.ts
|
|
23928
|
-
var
|
|
23929
|
-
var
|
|
24200
|
+
var import_utils154 = require("@react-aria/utils");
|
|
24201
|
+
var import_react135 = require("react");
|
|
23930
24202
|
function useMeasuredHeight(ref, enabled) {
|
|
23931
|
-
const [height, setHeight] = (0,
|
|
23932
|
-
const syncElementHeight = (0,
|
|
24203
|
+
const [height, setHeight] = (0, import_react135.useState)(0);
|
|
24204
|
+
const syncElementHeight = (0, import_react135.useCallback)(() => {
|
|
23933
24205
|
const el = ref.current;
|
|
23934
24206
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
23935
24207
|
setHeight((prev) => prev === next ? prev : next);
|
|
23936
24208
|
}, [ref]);
|
|
23937
|
-
(0,
|
|
23938
|
-
(0,
|
|
24209
|
+
(0, import_utils154.useResizeObserver)({ ref, onResize: syncElementHeight });
|
|
24210
|
+
(0, import_react135.useLayoutEffect)(() => {
|
|
23939
24211
|
syncElementHeight();
|
|
23940
24212
|
}, [enabled, syncElementHeight]);
|
|
23941
24213
|
return height;
|
|
23942
24214
|
}
|
|
23943
24215
|
|
|
23944
24216
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
23945
|
-
var
|
|
23946
|
-
var
|
|
23947
|
-
var NavbarLayoutHeightContext = (0,
|
|
24217
|
+
var import_react136 = require("react");
|
|
24218
|
+
var import_jsx_runtime189 = require("react/jsx-runtime");
|
|
24219
|
+
var NavbarLayoutHeightContext = (0, import_react136.createContext)(0);
|
|
23948
24220
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
23949
|
-
return /* @__PURE__ */ (0,
|
|
24221
|
+
return /* @__PURE__ */ (0, import_jsx_runtime189.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
|
|
23950
24222
|
}
|
|
23951
24223
|
function useNavbarLayoutHeight() {
|
|
23952
|
-
return (0,
|
|
24224
|
+
return (0, import_react136.useContext)(NavbarLayoutHeightContext);
|
|
23953
24225
|
}
|
|
23954
24226
|
|
|
23955
24227
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
23956
|
-
var
|
|
23957
|
-
var
|
|
24228
|
+
var import_jsx_runtime190 = require("react/jsx-runtime");
|
|
24229
|
+
var __maybeInc22 = (inc) => {
|
|
23958
24230
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
23959
24231
|
};
|
|
23960
24232
|
function NavbarLayout(props) {
|
|
@@ -23963,8 +24235,8 @@ function NavbarLayout(props) {
|
|
|
23963
24235
|
children
|
|
23964
24236
|
} = props;
|
|
23965
24237
|
const tid = useTestIds(props, "navbarLayout");
|
|
23966
|
-
const navMetricsRef = (0,
|
|
23967
|
-
const spacerRef = (0,
|
|
24238
|
+
const navMetricsRef = (0, import_react137.useRef)(null);
|
|
24239
|
+
const spacerRef = (0, import_react137.useRef)(null);
|
|
23968
24240
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
23969
24241
|
const {
|
|
23970
24242
|
state: autoHideState,
|
|
@@ -23982,10 +24254,10 @@ function NavbarLayout(props) {
|
|
|
23982
24254
|
position: "sticky",
|
|
23983
24255
|
left: "left0",
|
|
23984
24256
|
zIndex: ["z_var", {
|
|
23985
|
-
"--zIndex": (0,
|
|
24257
|
+
"--zIndex": (0, import_runtime108.maybeCssVar)(zIndices.navbar)
|
|
23986
24258
|
}],
|
|
23987
24259
|
width: ["w_var", {
|
|
23988
|
-
"--width": (0,
|
|
24260
|
+
"--width": (0, import_runtime108.maybeCssVar)(__maybeInc22(innerWidth))
|
|
23989
24261
|
}]
|
|
23990
24262
|
}
|
|
23991
24263
|
) : (
|
|
@@ -23994,39 +24266,47 @@ function NavbarLayout(props) {
|
|
|
23994
24266
|
position: "fixed",
|
|
23995
24267
|
left: "left0",
|
|
23996
24268
|
zIndex: ["z_var", {
|
|
23997
|
-
"--zIndex": (0,
|
|
24269
|
+
"--zIndex": (0, import_runtime108.maybeCssVar)(zIndices.navbar)
|
|
23998
24270
|
}],
|
|
23999
24271
|
width: ["w_var", {
|
|
24000
|
-
"--width": (0,
|
|
24272
|
+
"--width": (0, import_runtime108.maybeCssVar)(__maybeInc22(innerWidth))
|
|
24001
24273
|
}],
|
|
24002
24274
|
transition: "transitionTop"
|
|
24003
24275
|
}
|
|
24004
24276
|
);
|
|
24277
|
+
const bannerTop = `var(${beamEnvironmentBannerLayoutHeightVar}, 0px)`;
|
|
24005
24278
|
const innerStyle = autoHideState !== "static" ? {
|
|
24006
|
-
top: autoHideState === "revealed" ?
|
|
24279
|
+
top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
|
|
24007
24280
|
} : void 0;
|
|
24008
|
-
const navbarEl = (0,
|
|
24009
|
-
return /* @__PURE__ */ (0,
|
|
24281
|
+
const navbarEl = (0, import_react137.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(Navbar, { ...navbar }), [navbar]);
|
|
24282
|
+
return /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("div", { ...(0, import_runtime108.mergeProps)(void 0, cssVars, {
|
|
24010
24283
|
display: "df",
|
|
24011
24284
|
flexDirection: "fdc",
|
|
24012
24285
|
width: "wfc",
|
|
24013
24286
|
minWidth: "mw100"
|
|
24014
24287
|
}), ...tid, children: [
|
|
24015
|
-
/* @__PURE__ */ (0,
|
|
24288
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { ref: spacerRef, ...(0, import_runtime108.mergeProps)(void 0, {
|
|
24016
24289
|
height: navHeight
|
|
24017
24290
|
}, {
|
|
24018
24291
|
flexShrink: "fs0",
|
|
24019
24292
|
width: "w100"
|
|
24020
|
-
}), children: /* @__PURE__ */ (0,
|
|
24021
|
-
/* @__PURE__ */ (0,
|
|
24293
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime108.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
|
|
24294
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
|
|
24022
24295
|
] }) }) });
|
|
24023
24296
|
}
|
|
24024
24297
|
|
|
24025
24298
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
24026
|
-
var
|
|
24027
|
-
|
|
24028
|
-
|
|
24029
|
-
|
|
24299
|
+
var import_react138 = require("react");
|
|
24300
|
+
|
|
24301
|
+
// src/layouts/useBannerAndNavbarHeight.ts
|
|
24302
|
+
function useBannerAndNavbarHeight() {
|
|
24303
|
+
return useEnvironmentBannerLayoutHeight() + useNavbarLayoutHeight();
|
|
24304
|
+
}
|
|
24305
|
+
|
|
24306
|
+
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
24307
|
+
var import_runtime109 = require("@homebound/truss/runtime");
|
|
24308
|
+
var import_jsx_runtime191 = require("react/jsx-runtime");
|
|
24309
|
+
var __maybeInc23 = (inc) => {
|
|
24030
24310
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
24031
24311
|
};
|
|
24032
24312
|
function PageHeaderLayout(props) {
|
|
@@ -24035,64 +24315,64 @@ function PageHeaderLayout(props) {
|
|
|
24035
24315
|
children
|
|
24036
24316
|
} = props;
|
|
24037
24317
|
const tid = useTestIds(props, "pageHeaderLayout");
|
|
24038
|
-
const
|
|
24039
|
-
const
|
|
24040
|
-
|
|
24041
|
-
const
|
|
24042
|
-
const headerMetricsRef = (0,
|
|
24043
|
-
const spacerRef = (0,
|
|
24318
|
+
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
24319
|
+
const bannerAndNavbarHeightRef = (0, import_react138.useRef)(bannerAndNavbarHeight);
|
|
24320
|
+
bannerAndNavbarHeightRef.current = bannerAndNavbarHeight;
|
|
24321
|
+
const getBannerAndNavbarHeight = (0, import_react138.useCallback)(() => bannerAndNavbarHeightRef.current, []);
|
|
24322
|
+
const headerMetricsRef = (0, import_react138.useRef)(null);
|
|
24323
|
+
const spacerRef = (0, import_react138.useRef)(null);
|
|
24044
24324
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
24045
24325
|
const {
|
|
24046
24326
|
state: autoHideState,
|
|
24047
24327
|
atTop
|
|
24048
|
-
} = useAutoHideOnScroll(spacerRef, true,
|
|
24328
|
+
} = useAutoHideOnScroll(spacerRef, true, getBannerAndNavbarHeight);
|
|
24049
24329
|
const headerOccupiesPosition = autoHideState === "revealed" || atTop;
|
|
24050
24330
|
const cssVars = headerHeight > 0 && headerOccupiesPosition ? {
|
|
24051
24331
|
[beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
|
|
24052
24332
|
} : void 0;
|
|
24053
24333
|
const headerLeft = documentScrollChromeLeft();
|
|
24054
24334
|
const headerWidth = documentScrollChromeWidth();
|
|
24055
|
-
const outerTop =
|
|
24335
|
+
const outerTop = bannerAndNavbarChromeTop();
|
|
24056
24336
|
const innerCss = autoHideState === "static" ? {
|
|
24057
24337
|
position: "sticky",
|
|
24058
24338
|
left: ["left_var", {
|
|
24059
|
-
"--left": (0,
|
|
24339
|
+
"--left": (0, import_runtime109.maybeCssVar)(__maybeInc23(headerLeft))
|
|
24060
24340
|
}],
|
|
24061
24341
|
width: ["w_var", {
|
|
24062
|
-
"--width": (0,
|
|
24342
|
+
"--width": (0, import_runtime109.maybeCssVar)(__maybeInc23(headerWidth))
|
|
24063
24343
|
}],
|
|
24064
24344
|
zIndex: ["z_var", {
|
|
24065
|
-
"--zIndex": (0,
|
|
24345
|
+
"--zIndex": (0, import_runtime109.maybeCssVar)(zIndices.pageStickyHeader)
|
|
24066
24346
|
}]
|
|
24067
24347
|
} : {
|
|
24068
24348
|
position: "fixed",
|
|
24069
24349
|
left: ["left_var", {
|
|
24070
|
-
"--left": (0,
|
|
24350
|
+
"--left": (0, import_runtime109.maybeCssVar)(__maybeInc23(headerLeft))
|
|
24071
24351
|
}],
|
|
24072
24352
|
width: ["w_var", {
|
|
24073
|
-
"--width": (0,
|
|
24353
|
+
"--width": (0, import_runtime109.maybeCssVar)(__maybeInc23(headerWidth))
|
|
24074
24354
|
}],
|
|
24075
24355
|
zIndex: ["z_var", {
|
|
24076
|
-
"--zIndex": (0,
|
|
24356
|
+
"--zIndex": (0, import_runtime109.maybeCssVar)(zIndices.pageStickyHeader)
|
|
24077
24357
|
}],
|
|
24078
24358
|
transition: "transitionTop"
|
|
24079
24359
|
};
|
|
24080
24360
|
const innerStyle = autoHideState !== "static" ? {
|
|
24081
24361
|
top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
|
|
24082
24362
|
} : void 0;
|
|
24083
|
-
const pageHeaderEl = (0,
|
|
24084
|
-
return /* @__PURE__ */ (0,
|
|
24363
|
+
const pageHeaderEl = (0, import_react138.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
24364
|
+
return /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)("div", { ...(0, import_runtime109.mergeProps)(void 0, cssVars, {
|
|
24085
24365
|
display: "df",
|
|
24086
24366
|
flexDirection: "fdc",
|
|
24087
24367
|
width: "w100"
|
|
24088
24368
|
}), ...tid, children: [
|
|
24089
|
-
/* @__PURE__ */ (0,
|
|
24369
|
+
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)("div", { ref: spacerRef, ...(0, import_runtime109.mergeProps)(void 0, {
|
|
24090
24370
|
height: headerHeight
|
|
24091
24371
|
}, {
|
|
24092
24372
|
flexShrink: "fs0",
|
|
24093
24373
|
width: "w100"
|
|
24094
|
-
}), children: /* @__PURE__ */ (0,
|
|
24095
|
-
/* @__PURE__ */ (0,
|
|
24374
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime191.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime109.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
|
|
24375
|
+
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
|
|
24096
24376
|
] }) });
|
|
24097
24377
|
}
|
|
24098
24378
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -24159,6 +24439,8 @@ function PageHeaderLayout(props) {
|
|
|
24159
24439
|
DnDGridItemHandle,
|
|
24160
24440
|
EXPANDABLE_HEADER,
|
|
24161
24441
|
EditColumnsButton,
|
|
24442
|
+
EnvironmentBanner,
|
|
24443
|
+
EnvironmentBannerLayout,
|
|
24162
24444
|
ErrorMessage,
|
|
24163
24445
|
FieldGroup,
|
|
24164
24446
|
FilterDropdownMenu,
|
|
@@ -24257,6 +24539,8 @@ function PageHeaderLayout(props) {
|
|
|
24257
24539
|
actionColumn,
|
|
24258
24540
|
applyRowFn,
|
|
24259
24541
|
assignDefaultColumnIds,
|
|
24542
|
+
bannerAndNavbarChromeTop,
|
|
24543
|
+
beamEnvironmentBannerLayoutHeightVar,
|
|
24260
24544
|
beamLayoutViewportHeightVar,
|
|
24261
24545
|
beamLayoutViewportWidthVar,
|
|
24262
24546
|
beamNavbarLayoutHeightVar,
|
|
@@ -24307,6 +24591,7 @@ function PageHeaderLayout(props) {
|
|
|
24307
24591
|
dragHandleColumn,
|
|
24308
24592
|
emptyCell,
|
|
24309
24593
|
ensureClientSideSortValueIsSortable,
|
|
24594
|
+
environmentBannerSizePx,
|
|
24310
24595
|
filterTestIdPrefix,
|
|
24311
24596
|
formatDate,
|
|
24312
24597
|
formatDateRange,
|
|
@@ -24368,8 +24653,10 @@ function PageHeaderLayout(props) {
|
|
|
24368
24653
|
selectColumn,
|
|
24369
24654
|
selectedStyles,
|
|
24370
24655
|
setDefaultStyle,
|
|
24656
|
+
setEnvironmentFavicon,
|
|
24371
24657
|
setGridTableDefaults,
|
|
24372
24658
|
setRunningInJest,
|
|
24659
|
+
shouldShowEnvironmentBanner,
|
|
24373
24660
|
shouldSkipScrollTo,
|
|
24374
24661
|
simpleDataRows,
|
|
24375
24662
|
simpleHeader,
|