@ditari/bsui 1.1.59 → 1.1.60
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/CHANGELOG.md +6 -0
- package/dist/cjs/date/RangePicker.cjs +17 -36
- package/dist/cjs/date/RangePicker.cjs.map +1 -1
- package/dist/cjs/date/RangePicker.d.ts +8 -16
- package/dist/esm/date/RangePicker.d.ts +8 -16
- package/dist/esm/date/RangePicker.mjs +17 -36
- package/dist/esm/date/RangePicker.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -24,12 +24,10 @@ var __spreadValues = (a, b) => {
|
|
|
24
24
|
var RangePicker = /* @__PURE__ */ vue.defineComponent({
|
|
25
25
|
name: "DRangePicker",
|
|
26
26
|
props: {
|
|
27
|
-
value:
|
|
28
|
-
type: Object
|
|
29
|
-
},
|
|
27
|
+
value: Object,
|
|
30
28
|
field: {
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
type: Array,
|
|
30
|
+
required: true
|
|
33
31
|
},
|
|
34
32
|
format: {
|
|
35
33
|
default: "YYYY-MM-DD"
|
|
@@ -44,43 +42,26 @@ var RangePicker = /* @__PURE__ */ vue.defineComponent({
|
|
|
44
42
|
attrs
|
|
45
43
|
}) {
|
|
46
44
|
const dates = vue.ref([]);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
vue.watch(() => props.value, () => {
|
|
46
|
+
if (!props.value)
|
|
47
|
+
return;
|
|
48
|
+
dates.value = props.field.map((key) => {
|
|
49
|
+
var _a;
|
|
50
|
+
return ((_a = props.value) == null ? void 0 : _a[key]) || null;
|
|
51
|
+
});
|
|
50
52
|
}, {
|
|
53
|
+
immediate: true,
|
|
51
54
|
deep: true
|
|
52
55
|
});
|
|
53
|
-
const onChange = (
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
});
|
|
58
|
-
} else {
|
|
59
|
-
props.field.forEach((key, index) => {
|
|
60
|
-
internalModel.value[key] = dates2[index];
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
emit("update:value", internalModel.value);
|
|
64
|
-
};
|
|
65
|
-
const watchExpressions = props.field.map((key) => () => {
|
|
66
|
-
var _a;
|
|
67
|
-
return (_a = props.value) == null ? void 0 : _a[key];
|
|
68
|
-
});
|
|
69
|
-
const watchHandler = (newValues) => {
|
|
70
|
-
const isClear = props.field.every((key, index) => {
|
|
71
|
-
return newValues[index] === "" || newValues[index] === void 0;
|
|
72
|
-
});
|
|
73
|
-
if (isClear) {
|
|
74
|
-
dates.value = [];
|
|
56
|
+
const onChange = (range) => {
|
|
57
|
+
const updated = __spreadValues({}, props.value || {});
|
|
58
|
+
if (!range) {
|
|
59
|
+
props.field.forEach((key) => updated[key] = "");
|
|
75
60
|
} else {
|
|
76
|
-
props.field.forEach((key,
|
|
77
|
-
dates.value && (dates.value[index] = newValues[index]);
|
|
78
|
-
});
|
|
61
|
+
props.field.forEach((key, i) => updated[key] = range[i]);
|
|
79
62
|
}
|
|
63
|
+
emit("update:value", __spreadValues({}, updated));
|
|
80
64
|
};
|
|
81
|
-
vue.watch(watchExpressions, watchHandler, {
|
|
82
|
-
immediate: true
|
|
83
|
-
});
|
|
84
65
|
return () => vue.createVNode("div", null, [vue.createVNode(antDesignVue.RangePicker, vue.mergeProps(attrs, {
|
|
85
66
|
"value": dates.value,
|
|
86
67
|
"onUpdate:value": ($event) => dates.value = $event,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangePicker.cjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"RangePicker.cjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["// ✅ DRangePicker.vue\nimport { defineComponent, ref, watch } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: Object as PropType<{ [key: string]: any }>,\n field: {\n type: Array as PropType<string[]>,\n required: true\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<any[]>([]);\n\n // 同步外部值到内部日期控件\n watch(\n () => props.value,\n () => {\n if (!props.value) return;\n dates.value = props.field.map((key) => props.value?.[key] || null);\n },\n { immediate: true, deep: true }\n );\n\n const onChange = (range: [any, any] | null) => {\n const updated = { ...(props.value || {}) };\n if (!range) {\n props.field.forEach((key) => (updated[key] = \"\"));\n } else {\n props.field.forEach((key, i) => (updated[key] = range[i]));\n }\n emit(\"update:value\", { ...updated });\n };\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n />\n </div>\n );\n }\n});\n"],"names":["defineComponent","name","props","value","Object","field","type","Array","required","format","default","valueFormat","emits","setup","emit","attrs","dates","ref","watch","map","key","immediate","deep","onChange","range","updated","forEach","i","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAKA,kCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,cAAA;AAAA,EACNC,KAAO,EAAA;AAAA,IACLC,KAAOC,EAAAA,MAAAA;AAAAA,IACPC,KAAO,EAAA;AAAA,MACLC,IAAMC,EAAAA,KAAAA;AAAAA,MACNC,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACAC,MAAQ,EAAA;AAAA,MACNC,OAAS,EAAA,YAAA;AAAA,KACX;AAAA,IACAC,WAAa,EAAA;AAAA,MACXD,OAAS,EAAA,YAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAE,KAAAA,EAAO,CAAC,cAAc,CAAA;AAAA,EACtBC,MAAMX,KAAO,EAAA;AAAA,IAAEY,IAAAA;AAAAA,IAAMC,KAAAA;AAAAA,GAAS,EAAA;AAC5B,IAAMC,MAAAA,KAAAA,GAAQC,OAAW,CAAA,EAAE,CAAA,CAAA;AAG3BC,IACEA,SAAA,CAAA,MAAMhB,KAAMC,CAAAA,KAAAA,EACZ,MAAM;AACJ,MAAA,IAAI,CAACD,KAAMC,CAAAA,KAAAA;AAAO,QAAA,OAAA;AAClBa,MAAAA,KAAAA,CAAMb,KAAQD,GAAAA,KAAAA,CAAMG,KAAMc,CAAAA,GAAAA,CAAKC,CAAQlB,GAAAA,KAAAA;;AAAAA,QAAMC,OAAAA,CAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAAA,KAAAA,KAAND,mBAAckB,GAAQ,CAAA,KAAA,IAAA,CAAA;AAAA,OAAI,CAAA,CAAA;AAAA,KAEnE,EAAA;AAAA,MAAEC,SAAW,EAAA,IAAA;AAAA,MAAMC,IAAM,EAAA,IAAA;AAAA,KAC3B,CAAA,CAAA;AAEA,IAAA,MAAMC,WAAYC,CAA6B,KAAA,KAAA;AAC7C,MAAA,MAAMC,OAAU,GAAA,cAAA,CAAA,EAAA,EAAMvB,KAAMC,CAAAA,KAAAA,IAAS,EAAC,CAAA,CAAA;AACtC,MAAA,IAAI,CAACqB,KAAO,EAAA;AACVtB,QAAAA,KAAAA,CAAMG,MAAMqB,OAASN,CAAAA,CAAAA,GAAAA,KAASK,OAAQL,CAAAA,GAAG,IAAI,EAAG,CAAA,CAAA;AAAA,OAC3C,MAAA;AACLlB,QAAMG,KAAAA,CAAAA,KAAAA,CAAMqB,OAAQ,CAAA,CAACN,GAAKO,EAAAA,CAAAA,KAAOF,QAAQL,GAAG,CAAA,GAAII,KAAMG,CAAAA,CAAC,CAAE,CAAA,CAAA;AAAA,OAC3D;AACAb,MAAK,IAAA,CAAA,cAAA,EAAgB,mBAAKW,OAAS,CAAA,CAAA,CAAA;AAAA,KACrC,CAAA;AAEA,IAAO,OAAA,MAAAG,gBAAAA,KAAAA,EAAAA,IAAAA,EAAAA,CAAAA,eAAAC,CAAAA,wBAAAA,EAAAC,eAGGf,KAAK,EAAA;AAAA,MAAA,SACMC,KAAMb,CAAAA,KAAAA;AAAAA,MAAK,gBAAA,EAAA4B,CAAXf,MAAAA,KAAAA,KAAAA,CAAMb,KAAK4B,GAAAA,MAAAA;AAAAA,MAAA,UAChBR,EAAAA,QAAAA;AAAAA,MAAQ,UACVrB,KAAMO,CAAAA,MAAAA;AAAAA,MAAM,eACPP,KAAMS,CAAAA,WAAAA;AAAAA,MAAW,OACvB,EAAA;AAAA,QAAEqB,KAAO,EAAA,MAAA;AAAA,OAAO;AAAA,KAG5B,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import type { PropType } from "vue";
|
|
2
|
-
/**
|
|
3
|
-
* 日期范围控件
|
|
4
|
-
*/
|
|
5
2
|
declare const _default: import("vue").DefineComponent<{
|
|
6
|
-
value: {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}>;
|
|
10
|
-
};
|
|
3
|
+
value: PropType<{
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}>;
|
|
11
6
|
field: {
|
|
7
|
+
type: PropType<string[]>;
|
|
12
8
|
required: true;
|
|
13
|
-
default: string[];
|
|
14
9
|
};
|
|
15
10
|
format: {
|
|
16
11
|
default: string;
|
|
@@ -19,14 +14,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
19
14
|
default: string;
|
|
20
15
|
};
|
|
21
16
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
22
|
-
value: {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}>;
|
|
26
|
-
};
|
|
17
|
+
value: PropType<{
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
}>;
|
|
27
20
|
field: {
|
|
21
|
+
type: PropType<string[]>;
|
|
28
22
|
required: true;
|
|
29
|
-
default: string[];
|
|
30
23
|
};
|
|
31
24
|
format: {
|
|
32
25
|
default: string;
|
|
@@ -37,7 +30,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
37
30
|
}>> & {
|
|
38
31
|
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
|
|
39
32
|
}, {
|
|
40
|
-
field: string[];
|
|
41
33
|
format: string;
|
|
42
34
|
valueFormat: string;
|
|
43
35
|
}, {}>;
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import type { PropType } from "vue";
|
|
2
|
-
/**
|
|
3
|
-
* 日期范围控件
|
|
4
|
-
*/
|
|
5
2
|
declare const _default: import("vue").DefineComponent<{
|
|
6
|
-
value: {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}>;
|
|
10
|
-
};
|
|
3
|
+
value: PropType<{
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}>;
|
|
11
6
|
field: {
|
|
7
|
+
type: PropType<string[]>;
|
|
12
8
|
required: true;
|
|
13
|
-
default: string[];
|
|
14
9
|
};
|
|
15
10
|
format: {
|
|
16
11
|
default: string;
|
|
@@ -19,14 +14,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
19
14
|
default: string;
|
|
20
15
|
};
|
|
21
16
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
22
|
-
value: {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}>;
|
|
26
|
-
};
|
|
17
|
+
value: PropType<{
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
}>;
|
|
27
20
|
field: {
|
|
21
|
+
type: PropType<string[]>;
|
|
28
22
|
required: true;
|
|
29
|
-
default: string[];
|
|
30
23
|
};
|
|
31
24
|
format: {
|
|
32
25
|
default: string;
|
|
@@ -37,7 +30,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
37
30
|
}>> & {
|
|
38
31
|
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
|
|
39
32
|
}, {
|
|
40
|
-
field: string[];
|
|
41
33
|
format: string;
|
|
42
34
|
valueFormat: string;
|
|
43
35
|
}, {}>;
|
|
@@ -20,12 +20,10 @@ var __spreadValues = (a, b) => {
|
|
|
20
20
|
var RangePicker = /* @__PURE__ */ defineComponent({
|
|
21
21
|
name: "DRangePicker",
|
|
22
22
|
props: {
|
|
23
|
-
value:
|
|
24
|
-
type: Object
|
|
25
|
-
},
|
|
23
|
+
value: Object,
|
|
26
24
|
field: {
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
type: Array,
|
|
26
|
+
required: true
|
|
29
27
|
},
|
|
30
28
|
format: {
|
|
31
29
|
default: "YYYY-MM-DD"
|
|
@@ -40,43 +38,26 @@ var RangePicker = /* @__PURE__ */ defineComponent({
|
|
|
40
38
|
attrs
|
|
41
39
|
}) {
|
|
42
40
|
const dates = ref([]);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
watch(() => props.value, () => {
|
|
42
|
+
if (!props.value)
|
|
43
|
+
return;
|
|
44
|
+
dates.value = props.field.map((key) => {
|
|
45
|
+
var _a;
|
|
46
|
+
return ((_a = props.value) == null ? void 0 : _a[key]) || null;
|
|
47
|
+
});
|
|
46
48
|
}, {
|
|
49
|
+
immediate: true,
|
|
47
50
|
deep: true
|
|
48
51
|
});
|
|
49
|
-
const onChange = (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
});
|
|
54
|
-
} else {
|
|
55
|
-
props.field.forEach((key, index) => {
|
|
56
|
-
internalModel.value[key] = dates2[index];
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
emit("update:value", internalModel.value);
|
|
60
|
-
};
|
|
61
|
-
const watchExpressions = props.field.map((key) => () => {
|
|
62
|
-
var _a;
|
|
63
|
-
return (_a = props.value) == null ? void 0 : _a[key];
|
|
64
|
-
});
|
|
65
|
-
const watchHandler = (newValues) => {
|
|
66
|
-
const isClear = props.field.every((key, index) => {
|
|
67
|
-
return newValues[index] === "" || newValues[index] === void 0;
|
|
68
|
-
});
|
|
69
|
-
if (isClear) {
|
|
70
|
-
dates.value = [];
|
|
52
|
+
const onChange = (range) => {
|
|
53
|
+
const updated = __spreadValues({}, props.value || {});
|
|
54
|
+
if (!range) {
|
|
55
|
+
props.field.forEach((key) => updated[key] = "");
|
|
71
56
|
} else {
|
|
72
|
-
props.field.forEach((key,
|
|
73
|
-
dates.value && (dates.value[index] = newValues[index]);
|
|
74
|
-
});
|
|
57
|
+
props.field.forEach((key, i) => updated[key] = range[i]);
|
|
75
58
|
}
|
|
59
|
+
emit("update:value", __spreadValues({}, updated));
|
|
76
60
|
};
|
|
77
|
-
watch(watchExpressions, watchHandler, {
|
|
78
|
-
immediate: true
|
|
79
|
-
});
|
|
80
61
|
return () => createVNode("div", null, [createVNode(RangePicker$1, mergeProps(attrs, {
|
|
81
62
|
"value": dates.value,
|
|
82
63
|
"onUpdate:value": ($event) => dates.value = $event,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangePicker.mjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"RangePicker.mjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["// ✅ DRangePicker.vue\nimport { defineComponent, ref, watch } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: Object as PropType<{ [key: string]: any }>,\n field: {\n type: Array as PropType<string[]>,\n required: true\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<any[]>([]);\n\n // 同步外部值到内部日期控件\n watch(\n () => props.value,\n () => {\n if (!props.value) return;\n dates.value = props.field.map((key) => props.value?.[key] || null);\n },\n { immediate: true, deep: true }\n );\n\n const onChange = (range: [any, any] | null) => {\n const updated = { ...(props.value || {}) };\n if (!range) {\n props.field.forEach((key) => (updated[key] = \"\"));\n } else {\n props.field.forEach((key, i) => (updated[key] = range[i]));\n }\n emit(\"update:value\", { ...updated });\n };\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n />\n </div>\n );\n }\n});\n"],"names":["name","props","value","Object","field","type","Array","required","format","default","valueFormat","emits","setup","emit","attrs","dates","ref","watch","map","key","immediate","deep","onChange","range","updated","forEach","i","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":";;;;;;;;;;;;;;;;;;;AAKA,kCAA+B,eAAA,CAAA;AAAA,EAC7BA,IAAM,EAAA,cAAA;AAAA,EACNC,KAAO,EAAA;AAAA,IACLC,KAAOC,EAAAA,MAAAA;AAAAA,IACPC,KAAO,EAAA;AAAA,MACLC,IAAMC,EAAAA,KAAAA;AAAAA,MACNC,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACAC,MAAQ,EAAA;AAAA,MACNC,OAAS,EAAA,YAAA;AAAA,KACX;AAAA,IACAC,WAAa,EAAA;AAAA,MACXD,OAAS,EAAA,YAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAE,KAAAA,EAAO,CAAC,cAAc,CAAA;AAAA,EACtBC,MAAMX,KAAO,EAAA;AAAA,IAAEY,IAAAA;AAAAA,IAAMC,KAAAA;AAAAA,GAAS,EAAA;AAC5B,IAAMC,MAAAA,KAAAA,GAAQC,GAAW,CAAA,EAAE,CAAA,CAAA;AAG3BC,IACE,KAAA,CAAA,MAAMhB,KAAMC,CAAAA,KAAAA,EACZ,MAAM;AACJ,MAAA,IAAI,CAACD,KAAMC,CAAAA,KAAAA;AAAO,QAAA,OAAA;AAClBa,MAAAA,KAAAA,CAAMb,KAAQD,GAAAA,KAAAA,CAAMG,KAAMc,CAAAA,GAAAA,CAAKC,CAAQlB,GAAAA,KAAAA;;AAAAA,QAAMC,OAAAA,CAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAAA,KAAAA,KAAND,mBAAckB,GAAQ,CAAA,KAAA,IAAA,CAAA;AAAA,OAAI,CAAA,CAAA;AAAA,KAEnE,EAAA;AAAA,MAAEC,SAAW,EAAA,IAAA;AAAA,MAAMC,IAAM,EAAA,IAAA;AAAA,KAC3B,CAAA,CAAA;AAEA,IAAA,MAAMC,WAAYC,CAA6B,KAAA,KAAA;AAC7C,MAAA,MAAMC,OAAU,GAAA,cAAA,CAAA,EAAA,EAAMvB,KAAMC,CAAAA,KAAAA,IAAS,EAAC,CAAA,CAAA;AACtC,MAAA,IAAI,CAACqB,KAAO,EAAA;AACVtB,QAAAA,KAAAA,CAAMG,MAAMqB,OAASN,CAAAA,CAAAA,GAAAA,KAASK,OAAQL,CAAAA,GAAG,IAAI,EAAG,CAAA,CAAA;AAAA,OAC3C,MAAA;AACLlB,QAAMG,KAAAA,CAAAA,KAAAA,CAAMqB,OAAQ,CAAA,CAACN,GAAKO,EAAAA,CAAAA,KAAOF,QAAQL,GAAG,CAAA,GAAII,KAAMG,CAAAA,CAAC,CAAE,CAAA,CAAA;AAAA,OAC3D;AACAb,MAAK,IAAA,CAAA,cAAA,EAAgB,mBAAKW,OAAS,CAAA,CAAA,CAAA;AAAA,KACrC,CAAA;AAEA,IAAO,OAAA,MAAAG,YAAAA,KAAAA,EAAAA,IAAAA,EAAAA,CAAAA,WAAAC,CAAAA,aAAAA,EAAAC,WAGGf,KAAK,EAAA;AAAA,MAAA,SACMC,KAAMb,CAAAA,KAAAA;AAAAA,MAAK,gBAAA,EAAA4B,CAAXf,MAAAA,KAAAA,KAAAA,CAAMb,KAAK4B,GAAAA,MAAAA;AAAAA,MAAA,UAChBR,EAAAA,QAAAA;AAAAA,MAAQ,UACVrB,KAAMO,CAAAA,MAAAA;AAAAA,MAAM,eACPP,KAAMS,CAAAA,WAAAA;AAAAA,MAAW,OACvB,EAAA;AAAA,QAAEqB,KAAO,EAAA,MAAA;AAAA,OAAO;AAAA,KAG5B,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
|