@flyfish-group/file-viewer3 1.0.26 → 2.0.1
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/README.en.md +3 -388
- package/README.md +3 -364
- package/dist/file-viewer3.css +1 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/package.json +22 -126
- package/dist/components/3MFLoader.js +0 -527
- package/dist/components/AMFLoader.js +0 -188
- package/dist/components/ArchiveViewer.js +0 -526
- package/dist/components/AudioViewer.js +0 -66
- package/dist/components/CadViewer.js +0 -9040
- package/dist/components/CodeViewer.js +0 -151
- package/dist/components/ColladaLoader.js +0 -2282
- package/dist/components/DrawingViewer.js +0 -295
- package/dist/components/EdaViewer.js +0 -630
- package/dist/components/EmailViewer.js +0 -276
- package/dist/components/EpubViewer.js +0 -172
- package/dist/components/FBXLoader.js +0 -1574
- package/dist/components/GLTFLoader.js +0 -1383
- package/dist/components/ImageViewer.js +0 -1519
- package/dist/components/KMZLoader.js +0 -45
- package/dist/components/MarkdownViewer.js +0 -1476
- package/dist/components/ModelViewer.js +0 -797
- package/dist/components/OBJLoader.js +0 -287
- package/dist/components/OfdViewer.js +0 -133
- package/dist/components/PCDLoader.js +0 -141
- package/dist/components/PLYLoader.js +0 -305
- package/dist/components/PdfView.js +0 -27667
- package/dist/components/PptxRender.js +0 -11217
- package/dist/components/STLLoader.js +0 -83
- package/dist/components/TDSLoader.js +0 -228
- package/dist/components/TypstViewer.js +0 -1697
- package/dist/components/USDLoader.js +0 -2526
- package/dist/components/UmdViewer.js +0 -1873
- package/dist/components/VRMLLoader.js +0 -6422
- package/dist/components/VTKLoader.js +0 -337
- package/dist/components/XYZLoader.js +0 -30
- package/dist/components/XlsxTable.js +0 -7879
- package/dist/components/__vite-browser-external.js +0 -7
- package/dist/components/_plugin-vue_export-helper.js +0 -8
- package/dist/components/ar-SA-G6X2FPQ2.js +0 -523
- package/dist/components/arc.js +0 -79
- package/dist/components/architecture-7EHR7CIX.js +0 -3
- package/dist/components/architectureDiagram-3BPJPVTR.js +0 -4096
- package/dist/components/archive.js +0 -24
- package/dist/components/asyncToGenerator.js +0 -29
- package/dist/components/audio.js +0 -19
- package/dist/components/az-AZ-76LH7QW2.js +0 -523
- package/dist/components/bash.js +0 -169
- package/dist/components/bg-BG-XCXSNQG7.js +0 -523
- package/dist/components/blockDiagram-GPEHLZMM.js +0 -3357
- package/dist/components/bn-BD-2XOGV67Q.js +0 -523
- package/dist/components/c4Diagram-AAUBKEIU.js +0 -2957
- package/dist/components/ca-ES-6MX7JW3Y.js +0 -523
- package/dist/components/cad.js +0 -23
- package/dist/components/cfb.js +0 -1174
- package/dist/components/channel.js +0 -5
- package/dist/components/chunk-2J33WTMH.js +0 -26
- package/dist/components/chunk-3OPIFGDE.js +0 -4167
- package/dist/components/chunk-4BX2VUAB.js +0 -19
- package/dist/components/chunk-55IACEB6.js +0 -9
- package/dist/components/chunk-5ZQYHXKU.js +0 -669
- package/dist/components/chunk-6U3AYISY.js +0 -624
- package/dist/components/chunk-727SXJPM.js +0 -3356
- package/dist/components/chunk-AGHRB4JF.js +0 -324
- package/dist/components/chunk-AQP2D5EJ.js +0 -2055
- package/dist/components/chunk-BSJP7CBP.js +0 -83
- package/dist/components/chunk-CSCIHK7Q.js +0 -3500
- package/dist/components/chunk-EIO257PC.js +0 -1836
- package/dist/components/chunk-FMBD7UC4.js +0 -5
- package/dist/components/chunk-K2UTITRG.js +0 -17627
- package/dist/components/chunk-KSCS5N6A.js +0 -572
- package/dist/components/chunk-L5ZTLDWV.js +0 -40
- package/dist/components/chunk-LZXEDZCA.js +0 -60
- package/dist/components/chunk-ND2GUHAM.js +0 -61
- package/dist/components/chunk-NNHCCRGN.js +0 -20425
- package/dist/components/chunk-NZK2D7GU.js +0 -68
- package/dist/components/chunk-O5CBEL6O.js +0 -1894
- package/dist/components/chunk-QZHKN3VN.js +0 -12
- package/dist/components/chunk-SRAX5OIU.js +0 -22
- package/dist/components/chunk-WU5MYG2G.js +0 -14
- package/dist/components/chunk-XPW4576I.js +0 -1146
- package/dist/components/chunk-Z3N5DIM6.js +0 -59
- package/dist/components/chunk-ZUYEQ4TG.js +0 -22
- package/dist/components/chunk.js +0 -23
- package/dist/components/classDiagram-4FO5ZUOK.js +0 -29
- package/dist/components/classDiagram-v2-Q7XG4LA2.js +0 -29
- package/dist/components/compiler.js +0 -2
- package/dist/components/core.js +0 -845
- package/dist/components/cose-bilkent-S5V4N54A.js +0 -2268
- package/dist/components/cpp.js +0 -225
- package/dist/components/cs-CZ-2BRQDIVT.js +0 -523
- package/dist/components/csharp.js +0 -260
- package/dist/components/css.js +0 -140
- package/dist/components/cytoscape.esm.js +0 -18114
- package/dist/components/da-DK-5WZEPLOC.js +0 -523
- package/dist/components/dagre-BM42HDAG.js +0 -325
- package/dist/components/dagre.js +0 -1936
- package/dist/components/de-DE-XR44H4JA.js +0 -523
- package/dist/components/defaultLocale.js +0 -201
- package/dist/components/defineProperty.js +0 -50
- package/dist/components/diagram-2AECGRRQ.js +0 -229
- package/dist/components/diagram-5GNKFQAL.js +0 -108
- package/dist/components/diagram-KO2AKTUF.js +0 -443
- package/dist/components/diagram-LMA3HP47.js +0 -139
- package/dist/components/diagram-OG6HWLK6.js +0 -541
- package/dist/components/diff.js +0 -39
- package/dist/components/directory-open-01563666.js +0 -26
- package/dist/components/directory-open-4ed118d0.js +0 -83
- package/dist/components/dist.js +0 -50
- package/dist/components/dist2.js +0 -3291
- package/dist/components/dist3.js +0 -1593
- package/dist/components/documentSearch.js +0 -378
- package/dist/components/docx-preview.js +0 -3113
- package/dist/components/drawing.js +0 -19
- package/dist/components/ebook.js +0 -16
- package/dist/components/eda.js +0 -20
- package/dist/components/el-GR-BZB4AONW.js +0 -523
- package/dist/components/email.js +0 -21
- package/dist/components/en-B4ZKOASM.js +0 -3
- package/dist/components/erDiagram-TEJ5UH35.js +0 -1719
- package/dist/components/es-ES-U4NZUMDT.js +0 -523
- package/dist/components/eu-ES-A7QVB2H4.js +0 -523
- package/dist/components/eventmodeling-FCH6USID.js +0 -3
- package/dist/components/fa-IR-HGAKTJCU.js +0 -523
- package/dist/components/fflate.module.js +0 -323
- package/dist/components/fi-FI-Z5N7JZ37.js +0 -523
- package/dist/components/file-open-002ab408.js +0 -38
- package/dist/components/file-open-7c801643.js +0 -24
- package/dist/components/file-save-3189631c.js +0 -40
- package/dist/components/file-save-745eba88.js +0 -36
- package/dist/components/flowDiagram-I6XJVG4X.js +0 -4181
- package/dist/components/fr-FR-RHASNOE6.js +0 -523
- package/dist/components/ganttDiagram-6RSMTGT7.js +0 -2182
- package/dist/components/gitGraph-WXDBUCRP.js +0 -3
- package/dist/components/gitGraphDiagram-PVQCEYII.js +0 -788
- package/dist/components/gl-ES-HMX3MZ6V.js +0 -523
- package/dist/components/global-compiler.js +0 -23
- package/dist/components/global-renderer.js +0 -23
- package/dist/components/go.js +0 -140
- package/dist/components/graphlib.js +0 -1267
- package/dist/components/he-IL-6SHJWFNN.js +0 -523
- package/dist/components/hi-IN-IWLTKZ5I.js +0 -523
- package/dist/components/hu-HU-A5ZG7DT2.js +0 -523
- package/dist/components/id-ID-SAP4L64H.js +0 -523
- package/dist/components/image-GAAHSSAO.js +0 -3
- package/dist/components/image-blob-reduce.esm.js +0 -1429
- package/dist/components/image.js +0 -17
- package/dist/components/info-J43DQDTF.js +0 -3
- package/dist/components/infoDiagram-5YYISTIA.js +0 -26
- package/dist/components/ini.js +0 -88
- package/dist/components/init.js +0 -15
- package/dist/components/ishikawaDiagram-YF4QCWOH.js +0 -718
- package/dist/components/it-IT-JPQ66NNP.js +0 -523
- package/dist/components/ja-JP-DBVTYXUO.js +0 -523
- package/dist/components/java.js +0 -169
- package/dist/components/javascript.js +0 -436
- package/dist/components/journeyDiagram-JHISSGLW.js +0 -885
- package/dist/components/json.js +0 -36
- package/dist/components/jszip.min.js +0 -3033
- package/dist/components/kaa-6HZHGXH3.js +0 -523
- package/dist/components/kab-KAB-ZGHBKWFO.js +0 -523
- package/dist/components/kanban-definition-UN3LZRKU.js +0 -986
- package/dist/components/katex.js +0 -21979
- package/dist/components/kk-KZ-P5N5QNE5.js +0 -523
- package/dist/components/km-KH-HSX4SM5Z.js +0 -523
- package/dist/components/ko-KR-MTYHY66A.js +0 -523
- package/dist/components/ku-TR-6OUDTVRD.js +0 -523
- package/dist/components/lib.js +0 -4877
- package/dist/components/libarchive.js +0 -360
- package/dist/components/linear.js +0 -289
- package/dist/components/lt-LT-XHIRWOB4.js +0 -523
- package/dist/components/lv-LV-5QDEKY6T.js +0 -523
- package/dist/components/markdown.js +0 -181
- package/dist/components/md.js +0 -17
- package/dist/components/mermaid-parser.core.js +0 -328
- package/dist/components/mindmap-definition-RKZ34NQL.js +0 -1016
- package/dist/components/model.js +0 -21
- package/dist/components/mp4.js +0 -12
- package/dist/components/mr-IN-CRQNXWMA.js +0 -523
- package/dist/components/my-MM-5M5IBNSE.js +0 -523
- package/dist/components/nb-NO-T6EIAALU.js +0 -523
- package/dist/components/nestedRender.js +0 -158
- package/dist/components/nl-NL-IS3SIHDZ.js +0 -523
- package/dist/components/nn-NO-6E72VCQL.js +0 -523
- package/dist/components/objectSpread2.js +0 -29
- package/dist/components/objectWithoutProperties.js +0 -28
- package/dist/components/oc-FR-POXYY2M6.js +0 -523
- package/dist/components/ofd.js +0 -5261
- package/dist/components/ofd2.js +0 -16
- package/dist/components/ordinal.js +0 -65
- package/dist/components/pa-IN-N4M65BXN.js +0 -523
- package/dist/components/packet-YPE3B663.js +0 -3
- package/dist/components/pdf.js +0 -24
- package/dist/components/percentages-BXMCSKIN.js +0 -3
- package/dist/components/php.js +0 -294
- package/dist/components/pica.js +0 -1009
- package/dist/components/pie-LRSECV5Y.js +0 -3
- package/dist/components/pie.js +0 -47
- package/dist/components/pieDiagram-4H26LBE5.js +0 -130
- package/dist/components/pl-PL-T2D74RX3.js +0 -523
- package/dist/components/postal-mime.js +0 -3146
- package/dist/components/pptx.js +0 -15
- package/dist/components/printLayout.js +0 -42
- package/dist/components/prod.js +0 -21770
- package/dist/components/pt-BR-5N22H2LF.js +0 -523
- package/dist/components/pt-PT-UZXXM6DQ.js +0 -523
- package/dist/components/python.js +0 -238
- package/dist/components/quadrantDiagram-W4KKPZXB.js +0 -1988
- package/dist/components/radar-GUYGQ44K.js +0 -3
- package/dist/components/renderer.js +0 -2
- package/dist/components/requirementDiagram-4Y6WPE33.js +0 -2230
- package/dist/components/ro-RO-JPDTUUEW.js +0 -523
- package/dist/components/rough.esm.js +0 -1355
- package/dist/components/roundRect.js +0 -90
- package/dist/components/ru-RU-B4JR7IUQ.js +0 -523
- package/dist/components/rust.js +0 -169
- package/dist/components/sankeyDiagram-5OEKKPKP.js +0 -972
- package/dist/components/sequenceDiagram-3UESZ5HK.js +0 -4255
- package/dist/components/shared.js +0 -175
- package/dist/components/shared2.js +0 -4
- package/dist/components/si-LK-N5RQ5JYF.js +0 -523
- package/dist/components/sk-SK-C5VTKIMK.js +0 -523
- package/dist/components/sl-SI-NN7IZMDC.js +0 -523
- package/dist/components/sourceLoading.js +0 -134
- package/dist/components/sql.js +0 -118
- package/dist/components/src.js +0 -2664
- package/dist/components/src2.js +0 -10722
- package/dist/components/stateDiagram-AJRCARHV.js +0 -217
- package/dist/components/stateDiagram-v2-BHNVJYJU.js +0 -27
- package/dist/components/subset-shared.chunk.js +0 -3
- package/dist/components/subset-worker.chunk.js +0 -21
- package/dist/components/sv-SE-XGPEYMSR.js +0 -523
- package/dist/components/ta-IN-2NMHFXQM.js +0 -523
- package/dist/components/text.js +0 -20
- package/dist/components/th-TH-HPSO5L25.js +0 -523
- package/dist/components/three.module.js +0 -13134
- package/dist/components/time.js +0 -910
- package/dist/components/timeline-definition-PNZ67QCA.js +0 -1084
- package/dist/components/tr-TR-DEFEU3FU.js +0 -523
- package/dist/components/treeView-BLDUP644.js +0 -3
- package/dist/components/treemap-LRROVOQU.js +0 -3
- package/dist/components/typescript.js +0 -521
- package/dist/components/typst.js +0 -25
- package/dist/components/uk-UA-QMV73CPH.js +0 -523
- package/dist/components/umd.js +0 -16
- package/dist/components/use.js +0 -422
- package/dist/components/util.js +0 -49
- package/dist/components/vennDiagram-CIIHVFJN.js +0 -1880
- package/dist/components/vi-VN-M7AON7JQ.js +0 -523
- package/dist/components/viewerZoom.js +0 -92
- package/dist/components/wardley-L42UT6IY.js +0 -3
- package/dist/components/wardleyDiagram-YWT4CUSO.js +0 -656
- package/dist/components/wasm-pack-shim.js +0 -1711
- package/dist/components/wasm-pack-shim2.js +0 -934
- package/dist/components/wasm.js +0 -97
- package/dist/components/word.js +0 -3055
- package/dist/components/worker-ref.js +0 -16
- package/dist/components/xlsx.js +0 -21
- package/dist/components/xml.js +0 -166
- package/dist/components/xychartDiagram-2RQKCTM6.js +0 -2015
- package/dist/components/yaml.js +0 -144
- package/dist/components/zh-CN-LNUGB5OW.js +0 -523
- package/dist/components/zh-HK-E62DVLB3.js +0 -523
- package/dist/components/zh-TW-RAJ6MFWO.js +0 -523
- package/dist/index.mjs +0 -3293
- package/dist/src/App.vue.d.ts +0 -3
- package/dist/src/compare/CompareApp.vue.d.ts +0 -3
- package/dist/src/compare/main.d.ts +0 -0
- package/dist/src/compare/useSynchronizedScroll.d.ts +0 -7
- package/dist/src/components/HelloWorld.vue.d.ts +0 -3
- package/dist/src/components/utils.d.ts +0 -4
- package/dist/src/main.d.ts +0 -0
- package/dist/src/package/common/printCapability.d.ts +0 -27
- package/dist/src/package/common/printLayout.d.ts +0 -16
- package/dist/src/package/common/sourceLoading.d.ts +0 -10
- package/dist/src/package/common/type.d.ts +0 -544
- package/dist/src/package/common/util.d.ts +0 -5
- package/dist/src/package/common/worker-ref.d.ts +0 -12
- package/dist/src/package/components/FileViewer/FileViewer.vue.d.ts +0 -75
- package/dist/src/package/components/FileViewer/exportDocumentTemplate.d.ts +0 -9
- package/dist/src/package/components/FileViewer/hooks/useViewerDocumentFeatures.d.ts +0 -29
- package/dist/src/package/components/FileViewer/hooks/useViewerExport.d.ts +0 -21
- package/dist/src/package/components/FileViewer/hooks/useViewerWatermark.d.ts +0 -8
- package/dist/src/package/components/FileViewer/hooks/useViewerZoom.d.ts +0 -34
- package/dist/src/package/components/FileViewer/index.d.ts +0 -2
- package/dist/src/package/components/FileViewer/util.d.ts +0 -3
- package/dist/src/package/index.d.ts +0 -22
- package/dist/src/package/use/documentLocation.d.ts +0 -15
- package/dist/src/package/use/documentSearch.d.ts +0 -234
- package/dist/src/package/use/index.d.ts +0 -5
- package/dist/src/package/use/loading.d.ts +0 -33
- package/dist/src/package/use/viewerZoom.d.ts +0 -42
- package/dist/src/package/use/worker.d.ts +0 -24
- package/dist/src/package/vendors/archive/ArchiveViewer.vue.d.ts +0 -9
- package/dist/src/package/vendors/archive/cache.d.ts +0 -10
- package/dist/src/package/vendors/archive/fallback.d.ts +0 -9
- package/dist/src/package/vendors/archive/index.d.ts +0 -3
- package/dist/src/package/vendors/archive/shared.d.ts +0 -24
- package/dist/src/package/vendors/audio/AudioViewer.vue.d.ts +0 -7
- package/dist/src/package/vendors/audio/index.d.ts +0 -7
- package/dist/src/package/vendors/cad/CadViewer.vue.d.ts +0 -9
- package/dist/src/package/vendors/cad/index.d.ts +0 -8
- package/dist/src/package/vendors/drawing/DrawingViewer.vue.d.ts +0 -15
- package/dist/src/package/vendors/drawing/index.d.ts +0 -7
- package/dist/src/package/vendors/ebook/EpubViewer.vue.d.ts +0 -6
- package/dist/src/package/vendors/ebook/index.d.ts +0 -7
- package/dist/src/package/vendors/eda/EdaViewer.vue.d.ts +0 -8
- package/dist/src/package/vendors/eda/index.d.ts +0 -2
- package/dist/src/package/vendors/eda/parser.d.ts +0 -77
- package/dist/src/package/vendors/email/EmailViewer.vue.d.ts +0 -10
- package/dist/src/package/vendors/email/index.d.ts +0 -2
- package/dist/src/package/vendors/image/ImageViewer.vue.d.ts +0 -6
- package/dist/src/package/vendors/image/index.d.ts +0 -4
- package/dist/src/package/vendors/md/MarkdownViewer.vue.d.ts +0 -6
- package/dist/src/package/vendors/md/index.d.ts +0 -4
- package/dist/src/package/vendors/model/ModelViewer.vue.d.ts +0 -8
- package/dist/src/package/vendors/model/index.d.ts +0 -3
- package/dist/src/package/vendors/model/shared.d.ts +0 -1
- package/dist/src/package/vendors/mp4/index.d.ts +0 -4
- package/dist/src/package/vendors/nestedRender.d.ts +0 -10
- package/dist/src/package/vendors/ofd/OfdViewer.vue.d.ts +0 -6
- package/dist/src/package/vendors/ofd/index.d.ts +0 -7
- package/dist/src/package/vendors/pdf/PdfView.vue.d.ts +0 -10
- package/dist/src/package/vendors/pdf/index.d.ts +0 -2
- package/dist/src/package/vendors/pdf/worker/index.d.ts +0 -4
- package/dist/src/package/vendors/pdf/worker/pdf.worker.d.ts +0 -0
- package/dist/src/package/vendors/pptx/PptxRender.vue.d.ts +0 -9
- package/dist/src/package/vendors/pptx/index.d.ts +0 -6
- package/dist/src/package/vendors/pptx/options.d.ts +0 -39
- package/dist/src/package/vendors/pptx/support/chart.d.ts +0 -4
- package/dist/src/package/vendors/pptx/worker/index.d.ts +0 -4
- package/dist/src/package/vendors/renders.d.ts +0 -3
- package/dist/src/package/vendors/text/CodeViewer.vue.d.ts +0 -7
- package/dist/src/package/vendors/text/index.d.ts +0 -10
- package/dist/src/package/vendors/typst/TypstViewer.vue.d.ts +0 -15
- package/dist/src/package/vendors/typst/index.d.ts +0 -8
- package/dist/src/package/vendors/umd/UmdViewer.vue.d.ts +0 -6
- package/dist/src/package/vendors/umd/index.d.ts +0 -7
- package/dist/src/package/vendors/umd/parser.d.ts +0 -30
- package/dist/src/package/vendors/word/doc.d.ts +0 -5
- package/dist/src/package/vendors/word/docx.d.ts +0 -5
- package/dist/src/package/vendors/word/docx.worker.d.ts +0 -1
- package/dist/src/package/vendors/word/index.d.ts +0 -3
- package/dist/src/package/vendors/xlsx/XlsxTable.state.d.ts +0 -80
- package/dist/src/package/vendors/xlsx/XlsxTable.view.d.ts +0 -25
- package/dist/src/package/vendors/xlsx/XlsxTable.vue.d.ts +0 -6
- package/dist/src/package/vendors/xlsx/index.d.ts +0 -6
- package/dist/src/package/vendors/xlsx/util.d.ts +0 -3
- package/dist/src/package/vendors/xlsx/worker/index.d.ts +0 -4
- package/dist/src/package/vendors/xlsx/worker/sheetjs/SheetJsModel.d.ts +0 -73
- package/dist/src/package/vendors/xlsx/worker/sheetjs/color.d.ts +0 -2
- package/dist/src/package/vendors/xlsx/worker/sheetjs/index.d.ts +0 -4
- package/dist/src/package/vendors/xlsx/worker/sheetjs/sheet.worker.d.ts +0 -1
- package/dist/style.css +0 -1
- package/dist/wasm/cad/dwfv-render.wasm +0 -0
- package/dist/wasm/cad/dwg-worker.js +0 -24
- package/dist/wasm/cad/libredwg-web.js +0 -15
- package/dist/wasm/cad/libredwg-web.wasm +0 -0
package/dist/index.mjs
DELETED
|
@@ -1,3293 +0,0 @@
|
|
|
1
|
-
import { r as e } from "./components/chunk.js";
|
|
2
|
-
import { n as t, t as n } from "./components/objectWithoutProperties.js";
|
|
3
|
-
import { n as r, t as i } from "./components/defineProperty.js";
|
|
4
|
-
import { n as a, t as o } from "./components/objectSpread2.js";
|
|
5
|
-
import { n as s, t as c } from "./components/asyncToGenerator.js";
|
|
6
|
-
import { a as l, i as u, n as d, o as f, r as p } from "./components/sourceLoading.js";
|
|
7
|
-
import { t as m } from "./components/util.js";
|
|
8
|
-
import { n as h } from "./components/use.js";
|
|
9
|
-
import { a as g, i as _, o as ee, r as v } from "./components/documentSearch.js";
|
|
10
|
-
import { i as y } from "./components/viewerZoom.js";
|
|
11
|
-
import { t as b } from "./components/shared.js";
|
|
12
|
-
import { t as te } from "./components/shared2.js";
|
|
13
|
-
import { t as x } from "./components/_plugin-vue_export-helper.js";
|
|
14
|
-
import { computed as S, createCommentVNode as C, createElementBlock as w, createElementVNode as T, createVNode as ne, defineComponent as E, h as D, inject as O, nextTick as re, normalizeClass as k, normalizeStyle as ie, onBeforeUnmount as A, openBlock as j, ref as ae, shallowRef as oe, toDisplayString as se, unref as M, watch as ce } from "vue";
|
|
15
|
-
//#region src/package/style.css?url
|
|
16
|
-
var le = "" + "data:text/css;base64,LmZpbGUtdmlld2VyW2RhdGEtdi03MTc2MGUyMF17LS1saWdodG5pbmdjc3MtbGlnaHQ6aW5pdGlhbDstLWxpZ2h0bmluZ2Nzcy1kYXJrOiA7Y29sb3Itc2NoZW1lOmxpZ2h0O2JhY2tncm91bmQ6I2ZmZjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdW2RhdGEtdi03MTc2MGUyMF17LS1saWdodG5pbmdjc3MtbGlnaHQ6IDstLWxpZ2h0bmluZ2Nzcy1kYXJrOmluaXRpYWw7Y29sb3Itc2NoZW1lOmRhcms7YmFja2dyb3VuZDojMGYxNzFkfS52aWV3ZXItc3RhZ2VbZGF0YS12LTcxNzYwZTIwXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItYWN0aW9uc1tkYXRhLXYtNzE3NjBlMjBde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTIpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjAsMzUsNTMsLjA2KTtmbGV4LXNocmluazowO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDttaW4taGVpZ2h0OjQ1cHg7cGFkZGluZzo2cHggMTBweDtkaXNwbGF5OmlubGluZS1mbGV4fS52aWV3ZXItYWN0aW9ucy0tZmxvYXRpbmdbZGF0YS12LTcxNzYwZTIwXXt6LWluZGV4OjMwO3JpZ2h0OmNhbGMoMTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsMHB4KSk7Ym90dG9tOmNhbGMoMTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLDBweCkpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45NCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIwLDM1LDUzLC4xKTtib3JkZXItcmFkaXVzOjk5OXB4O21pbi1oZWlnaHQ6NDJweDtwYWRkaW5nOjZweDtwb3NpdGlvbjphYnNvbHV0ZTtib3gtc2hhZG93OjAgMThweCA0NHB4IHJnYmEoMTUsMjMsNDIsLjE2KX0udmlld2VyLWFjdGlvbnMtZ3JvdXBbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMjAsMzUsNTMsLjAzNSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIwLDM1LDUzLC4wOCk7Ym9yZGVyLXJhZGl1czo5OTlweDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtwYWRkaW5nOjJweDtkaXNwbGF5OmlubGluZS1mbGV4fS52aWV3ZXItYWN0aW9ucyBidXR0b25bZGF0YS12LTcxNzYwZTIwXXtjb2xvcjojNDA1NDZhO21pbi13aWR0aDo0MnB4O2hlaWdodDozMHB4O2ZvbnQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjAgMTBweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo4MDB9LnZpZXdlci1hY3Rpb25zIC52aWV3ZXItaWNvbi1idXR0b25bZGF0YS12LTcxNzYwZTIwXXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDozMHB4O21pbi13aWR0aDozMHB4O3BhZGRpbmc6MDtkaXNwbGF5OmlubGluZS1mbGV4fS52aWV3ZXItYWN0aW9ucyAudmlld2VyLXpvb20tbWV0ZXJbZGF0YS12LTcxNzYwZTIwXXtjb2xvcjojMjM0NjVlO21pbi13aWR0aDo0OHB4O3BhZGRpbmc6MCA4cHh9LnZpZXdlci1hY3Rpb25zLS1mbG9hdGluZyBidXR0b25bZGF0YS12LTcxNzYwZTIwXXtib3JkZXItcmFkaXVzOjk5OXB4O21pbi13aWR0aDo0OHB4O2hlaWdodDozMnB4fS52aWV3ZXItYWN0aW9ucy0tZmxvYXRpbmcgLnZpZXdlci1pY29uLWJ1dHRvbltkYXRhLXYtNzE3NjBlMjBde3dpZHRoOjMycHg7bWluLXdpZHRoOjMycHh9LnZpZXdlci1hY3Rpb25zLS1mbG9hdGluZyAudmlld2VyLXpvb20tbWV0ZXJbZGF0YS12LTcxNzYwZTIwXXttaW4td2lkdGg6NTRweH0udmlld2VyLWFjdGlvbnMgYnV0dG9uW2RhdGEtdi03MTc2MGUyMF06aG92ZXI6bm90KDpkaXNhYmxlZCl7Y29sb3I6IzE2Nzc0YztiYWNrZ3JvdW5kOnJnYmEoMzMsMTYzLDEwMiwuMSl9LnZpZXdlci1hY3Rpb25zIGJ1dHRvbltkYXRhLXYtNzE3NjBlMjBdOmRpc2FibGVke2NvbG9yOiNhYWI1YzA7Y3Vyc29yOm5vdC1hbGxvd2VkfS52aWV3ZXItY29udGVudC1zaGVsbFtkYXRhLXYtNzE3NjBlMjBde2ZsZXg6MTttaW4taGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5jb250ZW50W2RhdGEtdi03MTc2MGUyMF17YmFja2dyb3VuZDojZjJmMmYyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jaztvdmVyZmxvdzphdXRvfS5jb250ZW50LmhpZGRlbltkYXRhLXYtNzE3NjBlMjBde3Zpc2liaWxpdHk6aGlkZGVufS5mbHlmaXNoLXNlYXJjaC1tYXRjaHtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6cmdiYSgyNTUsMjE0LDEwMiwuNzIpO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MCAycHg7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgxODUsMTI4LDAsLjE0KX0uZmx5ZmlzaC1zZWFyY2gtbWF0Y2gtLWFjdGl2ZXtiYWNrZ3JvdW5kOnJnYmEoNDcsMTkxLDEyMiwuODIpO2JveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMzAsMTMyLDgzLC4yNCl9LnZpZXdlci13YXRlcm1hcmtbZGF0YS12LTcxNzYwZTIwXXt6LWluZGV4OjIwO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5zdGF0ZS1wYW5lbFtkYXRhLXYtNzE3NjBlMjBde3otaW5kZXg6NDA7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuOTIpLHJnYmEoMjQ2LDI0OCwyNDksLjk4KSk7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoyNHB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ubG9hZGluZy1jYXJkW2RhdGEtdi03MTc2MGUyMF0sLmVycm9yLWNhcmRbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkyKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTksMzYsNTUsLjA2KTtib3JkZXItcmFkaXVzOjI0cHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxOHB4O3dpZHRoOm1pbigxMDAlLDQ2MHB4KTtwYWRkaW5nOjIycHg7ZGlzcGxheTpmbGV4O2JveC1zaGFkb3c6MCAxOHB4IDQycHggcmdiYSgxNSwzMSw0NywuMTIpfS5sb2FkaW5nLWljb25bZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXZpZXdlci1hY2NlbnQpIDAlLCB2YXIoLS12aWV3ZXItYWNjZW50KSAxMDAlKTtjb2xvcjojZmZmO2xldHRlci1zcGFjaW5nOi4wNGVtO2JvcmRlci1yYWRpdXM6MjBweDtmbGV4LXNocmluazowO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDo3MHB4O2hlaWdodDo3MHB4O3BhZGRpbmc6MCAxMnB4O2ZvbnQtc2l6ZToyMnB4O2ZvbnQtd2VpZ2h0OjgwMDtkaXNwbGF5OmlubGluZS1mbGV4O2JveC1zaGFkb3c6MCAxNHB4IDMwcHggcmdiYSgxNywyOCw0MCwuMTQpfS5sb2FkaW5nLWNvcHlbZGF0YS12LTcxNzYwZTIwXXtmbGV4OjE7bWluLXdpZHRoOjB9LmxvYWRpbmcta2lja2VyW2RhdGEtdi03MTc2MGUyMF17Y29sb3I6dmFyKC0tdmlld2VyLWFjY2VudCk7bGV0dGVyLXNwYWNpbmc6LjA4ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtkaXNwbGF5OmJsb2NrfS5sb2FkaW5nLWNvcHkgc3Ryb25nW2RhdGEtdi03MTc2MGUyMF0sLmVycm9yLWNhcmQgc3Ryb25nW2RhdGEtdi03MTc2MGUyMF17Y29sb3I6IzE2MjgzYjttYXJnaW4tdG9wOjRweDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxLjI7ZGlzcGxheTpibG9ja30ubG9hZGluZy1jb3B5IHBbZGF0YS12LTcxNzYwZTIwXSwuZXJyb3ItY2FyZCBwW2RhdGEtdi03MTc2MGUyMF17Y29sb3I6IzZhN2Q5MDttYXJnaW46OHB4IDAgMDtsaW5lLWhlaWdodDoxLjZ9LmxvYWRpbmctcmluZ1tkYXRhLXYtNzE3NjBlMjBde2JvcmRlcjozcHggc29saWQgdmFyKC0tdmlld2VyLXNvZnQpO2JvcmRlci10b3AtY29sb3I6dmFyKC0tdmlld2VyLWFjY2VudCk7Ym9yZGVyLXJhZGl1czo5OTlweDtmbGV4LXNocmluazowO3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7YW5pbWF0aW9uOi45cyBsaW5lYXIgaW5maW5pdGUgdmlld2VyLXNwaW4tNzE3NjBlMjB9LmVycm9yLWNhcmRbZGF0YS12LTcxNzYwZTIwXXt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmJsb2NrfS5lcnJvci1jYXJkIHN0cm9uZ1tkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiNiNDIzMTh9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC52aWV3ZXItYWN0aW9ucy0tZmxvYXRpbmdbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMTQsMjIsMjgsLjk0KTtib3JkZXItY29sb3I6cmdiYSgxNjcsMTg1LDE5OCwuMTYpO2JveC1zaGFkb3c6MCAyMHB4IDUycHggcmdiYSgwLDAsMCwuMzQpfS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAudmlld2VyLWFjdGlvbnNbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMTQsMjIsMjgsLjk0KTtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMTY3LDE4NSwxOTgsLjEyKX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnZpZXdlci1hY3Rpb25zIGJ1dHRvbltkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiNiOGM3ZDV9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC52aWV3ZXItYWN0aW9ucy1ncm91cFtkYXRhLXYtNzE3NjBlMjBde2JhY2tncm91bmQ6cmdiYSgxNjcsMTg1LDE5OCwuMDgpO2JvcmRlci1jb2xvcjpyZ2JhKDE2NywxODUsMTk4LC4xMyl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC52aWV3ZXItYWN0aW9ucyBidXR0b25bZGF0YS12LTcxNzYwZTIwXTpob3Zlcjpub3QoOmRpc2FibGVkKXtjb2xvcjojNWVlMGFlO2JhY2tncm91bmQ6cmdiYSg0NSwyMTIsMTU0LC4xNCl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC52aWV3ZXItYWN0aW9ucyBidXR0b25bZGF0YS12LTcxNzYwZTIwXTpkaXNhYmxlZHtjb2xvcjojNjY3ODg4fS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAuY29udGVudFtkYXRhLXYtNzE3NjBlMjBde2JhY2tncm91bmQ6IzE0MWMyM30uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnN0YXRlLXBhbmVsW2RhdGEtdi03MTc2MGUyMF17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgxNSwyMywzMCwuOTIpLHJnYmEoMTEsMTcsMjIsLjk4KSl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC5sb2FkaW5nLWNhcmRbZGF0YS12LTcxNzYwZTIwXSwuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLmVycm9yLWNhcmRbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMTksMjksMzcsLjk0KTtib3JkZXItY29sb3I6cmdiYSgxMzksMTYxLDE3NywuMTYpO2JveC1zaGFkb3c6MCAyMnB4IDUycHggcmdiYSgwLDAsMCwuMzQpfS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAubG9hZGluZy1jb3B5IHN0cm9uZ1tkYXRhLXYtNzE3NjBlMjBdLC5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAuZXJyb3ItY2FyZCBzdHJvbmdbZGF0YS12LTcxNzYwZTIwXXtjb2xvcjojZWZmN2ZifS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAubG9hZGluZy1jb3B5IHBbZGF0YS12LTcxNzYwZTIwXSwuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLmVycm9yLWNhcmQgcFtkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiM5ZWIwYmZ9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC5lcnJvci1jYXJkIHN0cm9uZ1tkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiNmZjljOTF9QGtleWZyYW1lcyB2aWV3ZXItc3Bpbi03MTc2MGUyMHswJXt0cmFuc2Zvcm06cm90YXRlKDApfXRve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXsuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXVtkYXRhLXYtNzE3NjBlMjBdey0tbGlnaHRuaW5nY3NzLWxpZ2h0OiA7LS1saWdodG5pbmdjc3MtZGFyazppbml0aWFsO2NvbG9yLXNjaGVtZTpkYXJrO2JhY2tncm91bmQ6IzBmMTcxZH0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudmlld2VyLWFjdGlvbnMtLWZsb2F0aW5nW2RhdGEtdi03MTc2MGUyMF17YmFja2dyb3VuZDpyZ2JhKDE0LDIyLDI4LC45NCk7Ym9yZGVyLWNvbG9yOnJnYmEoMTY3LDE4NSwxOTgsLjE2KTtib3gtc2hhZG93OjAgMjBweCA1MnB4IHJnYmEoMCwwLDAsLjM0KX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudmlld2VyLWFjdGlvbnNbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMTQsMjIsMjgsLjk0KTtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMTY3LDE4NSwxOTgsLjEyKX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudmlld2VyLWFjdGlvbnMgYnV0dG9uW2RhdGEtdi03MTc2MGUyMF17Y29sb3I6I2I4YzdkNX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudmlld2VyLWFjdGlvbnMtZ3JvdXBbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMTY3LDE4NSwxOTgsLjA4KTtib3JkZXItY29sb3I6cmdiYSgxNjcsMTg1LDE5OCwuMTMpfS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC52aWV3ZXItYWN0aW9ucyBidXR0b25bZGF0YS12LTcxNzYwZTIwXTpob3Zlcjpub3QoOmRpc2FibGVkKXtjb2xvcjojNWVlMGFlO2JhY2tncm91bmQ6cmdiYSg0NSwyMTIsMTU0LC4xNCl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnZpZXdlci1hY3Rpb25zIGJ1dHRvbltkYXRhLXYtNzE3NjBlMjBdOmRpc2FibGVke2NvbG9yOiM2Njc4ODh9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmNvbnRlbnRbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOiMxNDFjMjN9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnN0YXRlLXBhbmVsW2RhdGEtdi03MTc2MGUyMF17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgxNSwyMywzMCwuOTIpLHJnYmEoMTEsMTcsMjIsLjk4KSl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmxvYWRpbmctY2FyZFtkYXRhLXYtNzE3NjBlMjBdLC5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC5lcnJvci1jYXJkW2RhdGEtdi03MTc2MGUyMF17YmFja2dyb3VuZDpyZ2JhKDE5LDI5LDM3LC45NCk7Ym9yZGVyLWNvbG9yOnJnYmEoMTM5LDE2MSwxNzcsLjE2KTtib3gtc2hhZG93OjAgMjJweCA1MnB4IHJnYmEoMCwwLDAsLjM0KX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAubG9hZGluZy1jb3B5IHN0cm9uZ1tkYXRhLXYtNzE3NjBlMjBdLC5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC5lcnJvci1jYXJkIHN0cm9uZ1tkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiNlZmY3ZmJ9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmxvYWRpbmctY29weSBwW2RhdGEtdi03MTc2MGUyMF0sLmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmVycm9yLWNhcmQgcFtkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiM5ZWIwYmZ9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmVycm9yLWNhcmQgc3Ryb25nW2RhdGEtdi03MTc2MGUyMF17Y29sb3I6I2ZmOWM5MX19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey52aWV3ZXItYWN0aW9ucy0tZmxvYXRpbmdbZGF0YS12LTcxNzYwZTIwXXtyaWdodDpjYWxjKDEwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LDBweCkpO2JvdHRvbTpjYWxjKDEwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwwcHgpKTtnYXA6NHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAyMHB4KTtwYWRkaW5nOjVweDtvdmVyZmxvdy14OmF1dG99LnZpZXdlci1hY3Rpb25zLS1mbG9hdGluZyBidXR0b25bZGF0YS12LTcxNzYwZTIwXXttaW4td2lkdGg6NDBweDtoZWlnaHQ6MzBweDtwYWRkaW5nOjAgOXB4fX0uZmlsZS1yZW5kZXJ7d2lkdGg6MTAwJTttaW4td2lkdGg6MDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjB9LnNsaWRle3otaW5kZXg6MTAwO2JvcmRlcjoxcHggc29saWQgIzMzMztib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLWJvdHRvbTo1MHB4O21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5zbGlkZSBkaXYuYmxvY2t7d2lkdGg6MTAwJTtsaW5lLWhlaWdodDoxO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0uc2xpZGUgZGl2LmNvbnRlbnQsLnNsaWRlIGRpdi5kaWFncmFtLWNvbnRlbnR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uc2xpZGUgZGl2LmNvbnRlbnQtcnRse2RpcmVjdGlvbjpydGw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uc2xpZGUgLnByZWdyYXBoLXJ0bHtkaXJlY3Rpb246cnRsfS5zbGlkZSAucHJlZ3JhcGgtbHRye2RpcmVjdGlvbjpsdHJ9LnNsaWRlIC5wcmVncmFwaC1pbmhlcml0e2RpcmVjdGlvbjppbmhlcml0fS5zbGlkZSAuc2xpZGUtcHJncnBoe3dpZHRoOjEwMCV9LnNsaWRlIC5saW5lLWJyZWFrLWJyOmJlZm9yZXtjb250ZW50OiJcYSAiO3doaXRlLXNwYWNlOnByZX0uc2xpZGUgZGl2LnYtdXB7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnNsaWRlIGRpdi52LW1pZHtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zbGlkZSBkaXYudi1kb3due2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc2xpZGUgZGl2LmgtbGVmdHt0ZXh0LWFsaWduOmxlZnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc2xpZGUgZGl2LmgtbGVmdC1ydGx7dGV4dC1hbGlnbjpsZWZ0O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0uc2xpZGUgZGl2LmgtbWlke3RleHQtYWxpZ246Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zbGlkZSBkaXYuaC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0uc2xpZGUgZGl2LmgtcmlnaHQtcnRse3RleHQtYWxpZ246cmlnaHQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc2xpZGUgZGl2LmgtanVzdCwuc2xpZGUgZGl2LmgtZGlzdHt0ZXh0LWFsaWduOmp1c3RpZnl9LnNsaWRlIGRpdi51cC1sZWZ0e3RleHQtYWxpZ246bGVmdDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5zbGlkZSBkaXYudXAtY2VudGVye2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmNlbnRlcn0uc2xpZGUgZGl2LnVwLXJpZ2h0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5zbGlkZSBkaXYuY2VudGVyLWxlZnR7dGV4dC1hbGlnbjpsZWZ0O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc2xpZGUgZGl2LmNlbnRlci1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LnNsaWRlIGRpdi5jZW50ZXItcmlnaHR7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpmbGV4LWVuZH0uc2xpZGUgZGl2LmRvd24tbGVmdHt0ZXh0LWFsaWduOmxlZnQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LnNsaWRlIGRpdi5kb3duLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6Y2VudGVyfS5zbGlkZSBkaXYuZG93bi1yaWdodHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmR9LnNsaWRlIGxpLnNsaWRle21hcmdpbjoxMHB4IDA7Zm9udC1zaXplOjE4cHh9LnNsaWRlIHRhYmxle3Bvc2l0aW9uOmFic29sdXRlfS5zbGlkZSBzdmcuZHJhd2luZ3twb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzp2aXNpYmxlfS5iYi1jb2xvci1wYXR0ZXJue2JhY2tncm91bmQtaW1hZ2U6dXJsKCMwMGM3M2M7I2ZhNzE3MTsjMmFkMGZmOyM3Mjk0Y2U7I2UzZTQ0ODsjY2M3ZTZlOyNmYjZjY2Y7I2M5OGRmZjsjNGFlYTk5OyNiYmJiYmI7KX0uYmIgc3Zne2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWYsQXJpYWwsbmFudW1nb3RoaWMsRG90dW07Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MX0uYmIgcGF0aCwuYmIgbGluZXtmaWxsOm5vbmU7c3Ryb2tlOiNjNGM0YzR9LmJiIHRleHQsLmJiIC5iYi1idXR0b257LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2ZpbGw6IzU1NTtmb250LXNpemU6MTFweH0uYmItbGVnZW5kLWl0ZW0tdGl0bGUsLmJiLXhncmlkLWZvY3VzLC5iYi15Z3JpZC1mb2N1cywuYmIteWdyaWR7c2hhcGUtcmVuZGVyaW5nOmNyaXNwZWRnZXN9LmJiLWNoYXJ0LWFyY3MgLmJiLW5lZWRsZXtmaWxsOiMwMDB9LmJiLWNoYXJ0LWZ1bm5lbHMgcGF0aHtzdHJva2Utd2lkdGg6MH0uYmItY2hhcnQtZnVubmVscysuYmItY2hhcnQtdGV4dHMgdGV4dHtmaWxsOiNmZmZ9LmJiLWF4aXN7c2hhcGUtcmVuZGVyaW5nOmNyaXNwZWRnZXN9LmJiLWF4aXMgLmJiLWF4aXMteC10b29sdGlwLC5iYi1heGlzIC5iYi1heGlzLXktdG9vbHRpcCwuYmItYXhpcyAuYmItYXhpcy15Mi10b29sdGlwe2ZpbGw6I2ZmZjt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOi45ZW19LmJiLWF4aXMteSB0ZXh0LC5iYi1heGlzLXkyIHRleHR7ZmlsbDojNzM3MzczfS5iYi1ldmVudC1yZWN0c3tmaWxsLW9wYWNpdHk6MSFpbXBvcnRhbnR9LmJiLWV2ZW50LXJlY3RzIC5iYi1ldmVudC1yZWN0e2ZpbGw6dHJhbnNwYXJlbnR9LmJiLWV2ZW50LXJlY3RzIC5iYi1ldmVudC1yZWN0Ll9hY3RpdmVfe2ZpbGw6cmdiYSgzOSwyMDEsMywuMDUpfS50aWNrLl9hY3RpdmVfIHRleHR7ZmlsbDojMDBjODNjIWltcG9ydGFudH0uYmItZ3JpZHtwb2ludGVyLWV2ZW50czpub25lfS5iYi1ncmlkIGxpbmV7c3Ryb2tlOiNmMWYxZjF9LmJiLXhncmlkLWZvY3VzIGxpbmUsLmJiLXlncmlkLWZvY3VzIGxpbmV7c3Ryb2tlOiNkZGR9LmJiLXRleHQuYmItZW1wdHl7ZmlsbDojNzY3Njc2fS5iYi1saW5le3N0cm9rZS13aWR0aDoxcHh9LmJiLWNpcmNsZS5fZXhwYW5kZWRfe3N0cm9rZS13aWR0aDoycHg7c3Ryb2tlOnJlZDtmaWxsOiNmZmYhaW1wb3J0YW50fXJlY3QuYmItY2lyY2xlLl9leHBhbmRlZF8sdXNlLmJiLWNpcmNsZS5fZXhwYW5kZWRfe3N0cm9rZS13aWR0aDoxcHh9LmJiLXNlbGVjdGVkLWNpcmNsZXtmaWxsOiNmZmY7c3Ryb2tlLXdpZHRoOjJweH0uYmItYmFye3N0cm9rZS13aWR0aDowfS5iYi1iYXIuX2V4cGFuZGVkX3tmaWxsLW9wYWNpdHk6Ljc1fS5iYi1jYW5kbGVzdGlja3tzdHJva2Utd2lkdGg6MXB4fS5iYi1jYW5kbGVzdGljay5fZXhwYW5kZWRfe2ZpbGwtb3BhY2l0eTouNzV9LmJiLXRhcmdldC5iYi1mb2N1c2VkLC5iYi1jaXJjbGVzLmJiLWZvY3VzZWR7b3BhY2l0eToxfS5iYi10YXJnZXQuYmItZm9jdXNlZCBwYXRoLmJiLWxpbmUsLmJiLXRhcmdldC5iYi1mb2N1c2VkIHBhdGguYmItc3RlcCwuYmItY2lyY2xlcy5iYi1mb2N1c2VkIHBhdGguYmItbGluZSwuYmItY2lyY2xlcy5iYi1mb2N1c2VkIHBhdGguYmItc3RlcHtzdHJva2Utd2lkdGg6MnB4fS5iYi10YXJnZXQuYmItZGVmb2N1c2VkLC5iYi1jaXJjbGVzLmJiLWRlZm9jdXNlZHtvcGFjaXR5Oi4zIWltcG9ydGFudH0uYmItdGFyZ2V0LmJiLWRlZm9jdXNlZCAudGV4dC1vdmVybGFwcGluZywuYmItY2lyY2xlcy5iYi1kZWZvY3VzZWQgLnRleHQtb3ZlcmxhcHBpbmd7b3BhY2l0eTouMDUhaW1wb3J0YW50fS5iYi1yZWdpb257ZmlsbDojNDY4MmI0fS5iYi1yZWdpb24gcmVjdHtmaWxsLW9wYWNpdHk6LjF9LmJiLXJlZ2lvbi5zZWxlY3RlZCByZWN0e2ZpbGw6IzI3YzkwM30uYmItem9vbS1icnVzaCwuYmItYnJ1c2ggLmV4dGVudHtmaWxsLW9wYWNpdHk6LjF9LmJiLWxlZ2VuZC1pdGVtey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uYmItbGVnZW5kLWl0ZW0taGlkZGVue29wYWNpdHk6LjE1fS5iYi1sZWdlbmQtYmFja2dyb3VuZHtvcGFjaXR5Oi43NTtmaWxsOiNmZmY7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjFweH0uYmItdGl0bGV7Zm9udC1zaXplOjE0cHh9LmJiLWNoYXJ0LXRyZWVtYXBzIHJlY3R7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOjFweH0uYmItdG9vbHRpcC1jb250YWluZXJ7ei1pbmRleDoxMDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZixBcmlhbCxuYW51bWdvdGhpYyxEb3R1bTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uYmItdG9vbHRpcHtib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7Ym9yZGVyLXNwYWNpbmc6MDtlbXB0eS1jZWxsczpzaG93O3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpub3dyYXA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgIzk5OTtmb250LXNpemU6MTFweH0uYmItdG9vbHRpcCB0aHt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZTtwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOjEycHh9LmJiLXRvb2x0aXAgdGR7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6NHB4IDZweH0uYmItdG9vbHRpcCB0ZDpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6OHB4fS5iYi10b29sdGlwIHRkOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo4cHh9LmJiLXRvb2x0aXAgdGQ+c3BhbiwuYmItdG9vbHRpcCB0ZD5zdmd7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlci1yYWRpdXM6NXB4O3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7bWFyZ2luLXJpZ2h0OjZweDtkaXNwbGF5OmlubGluZS1ibG9ja30uYmItdG9vbHRpcCB0ZC52YWx1ZXtib3JkZXItbGVmdDoxcHggc29saWQgdHJhbnNwYXJlbnR9LmJiLXRvb2x0aXAgLmJiLXRvb2x0aXAtdGl0bGV7Y29sb3I6I2FhYTtsaW5lLWhlaWdodDoyMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5iYi10b29sdGlwIC5iYi10b29sdGlwLWRldGFpbCB0YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyLXNwYWNpbmc6MH0uYmItdG9vbHRpcCAuYmItdG9vbHRpcC1kZXRhaWwgLmJiLXRvb2x0aXAtbmFtZSwuYmItdG9vbHRpcCAuYmItdG9vbHRpcC1kZXRhaWwgLmJiLXRvb2x0aXAtdmFsdWV7Y29sb3I6IzQ0NDt0ZXh0LWFsaWduOmxlZnQ7cGFkZGluZzo0cHggMCAzcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEzcHh9LmJiLXRvb2x0aXAgLmJiLXRvb2x0aXAtZGV0YWlsIC5iYi10b29sdGlwLXZhbHVle3BhZGRpbmctbGVmdDo1cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6ODAwfS5iYi1hcmVhe3N0cm9rZS13aWR0aDowO29wYWNpdHk6LjJ9LmJiLWNoYXJ0LWFyY3MtdGl0bGV7ZG9taW5hbnQtYmFzZWxpbmU6bWlkZGxlO2ZvbnQtc2l6ZToxLjNlbX10ZXh0LmJiLWNoYXJ0LWFyY3MtZ2F1Z2UtdGl0bGV7ZG9taW5hbnQtYmFzZWxpbmU6bWlkZGxlO2ZvbnQtc2l6ZToyLjdlbX0uYmItY2hhcnQtYXJjcyAuYmItY2hhcnQtYXJjcy1iYWNrZ3JvdW5ke2ZpbGw6I2UwZTBlMDtzdHJva2U6bm9uZX0uYmItY2hhcnQtYXJjcyAuYmItY2hhcnQtYXJjcy1nYXVnZS11bml0e2ZpbGw6IzAwMDtmb250LXNpemU6MTZweH0uYmItY2hhcnQtYXJjcyAuYmItY2hhcnQtYXJjcy1nYXVnZS1taW4sLmJiLWNoYXJ0LWFyY3MgLmJiLWNoYXJ0LWFyY3MtZ2F1Z2UtbWF4e2ZpbGw6Izc3N30uYmItY2hhcnQtYXJjcyAuYmItY2hhcnQtYXJjcy10aXRsZXtmaWxsOiMwMDA7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNnB4IWltcG9ydGFudH0uYmItY2hhcnQtYXJjcyBwYXRoLmVtcHR5e2ZpbGw6I2VhZWFlYTtzdHJva2Utd2lkdGg6MH0uYmItY2hhcnQtYXJjcyAuYmItbGV2ZWxzIGNpcmNsZXtmaWxsOm5vbmU7c3Ryb2tlOiM4NDgyODI7c3Ryb2tlLXdpZHRoOi41cHh9LmJiLWNoYXJ0LWFyY3MgLmJiLWxldmVscyB0ZXh0e2ZpbGw6Izg0ODI4Mn0uYmItY2hhcnQtYXJjIC5iYi1nYXVnZS12YWx1ZXtmaWxsOiMwMDB9LmJiLWNoYXJ0LWFyYyBwYXRoe3N0cm9rZTojZmZmfS5iYi1jaGFydC1hcmMgcmVjdHtzdHJva2U6I2ZmZjtzdHJva2Utd2lkdGg6MXB4fS5iYi1jaGFydC1hcmMgdGV4dHtmaWxsOiNmZmY7Zm9udC1zaXplOjEzcHh9LmJiLWNoYXJ0LWFyYyAuYmItYXJjLWxhYmVsLWxpbmV7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxcHg7cG9pbnRlci1ldmVudHM6bm9uZTtzdHJva2U6IzdmN2Y3Zn0uYmItY2hhcnQtYXJjPnRleHQuYmItYXJjLWxhYmVsLWxpbmUtdGV4dHtmaWxsOiMwMDB9LmJiLWNoYXJ0LXJhZGFycyAuYmItbGV2ZWxzIHBvbHlnb257ZmlsbDpub25lO3N0cm9rZTojODQ4MjgyO3N0cm9rZS13aWR0aDouNXB4fS5iYi1jaGFydC1yYWRhcnMgLmJiLWxldmVscyB0ZXh0e2ZpbGw6Izg0ODI4Mn0uYmItY2hhcnQtcmFkYXJzIC5iYi1heGlzIGxpbmV7c3Ryb2tlOiM4NDgyODI7c3Ryb2tlLXdpZHRoOi41cHh9LmJiLWNoYXJ0LXJhZGFycyAuYmItYXhpcyB0ZXh0e2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxLjE1ZW19LmJiLWNoYXJ0LXJhZGFycyAuYmItc2hhcGVzIHBvbHlnb257ZmlsbC1vcGFjaXR5Oi4yO3N0cm9rZS13aWR0aDoxcHh9LmJiLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDoxMHB4fS5iYi1idXR0b24gLmJiLXpvb20tcmVzZXR7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOjVweDtwYWRkaW5nOjVweH0ucHB0eC13cmFwcGVyW2RhdGEtdi03N2Q3MDZjOF17bWluLXdpZHRoOjA7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjAgYXV0b30ucHB0eC1lcnJvcltkYXRhLXYtNzdkNzA2Yzhde2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMWYyZDNiO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjgsNDMsNTgsLjEyKTtib3JkZXItcmFkaXVzOjE0cHg7d2lkdGg6bWluKDY4MHB4LDEwMCUgLSAzMnB4KTttYXJnaW46NDhweCBhdXRvO3BhZGRpbmc6MjRweDtmb250LWZhbWlseTpBcHRvcyxTZWdvZSBVSSxQaW5nRmFuZyBTQyxNaWNyb3NvZnQgWWFIZWksc2Fucy1zZXJpZjtib3gtc2hhZG93OjAgMTZweCA0MnB4IHJnYmEoMjUsNDIsNTQsLjA4KX0ucHB0eC1lcnJvciBzdHJvbmdbZGF0YS12LTc3ZDcwNmM4XXttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1zaXplOjE4cHg7ZGlzcGxheTpibG9ja30ucHB0eC1lcnJvciBwW2RhdGEtdi03N2Q3MDZjOF17Y29sb3I6IzYwNzI4MjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjd9LmV4Y2VsLXdyYXBwZXJbZGF0YS12LTcwYTc4Mzg1XXtiYWNrZ3JvdW5kOiNmZmY7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS50YWJsZS13cmFwcGVyW2RhdGEtdi03MGE3ODM4NV17YmFja2dyb3VuZDojZmZmO2ZsZXg6MTt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LnNoZWV0LWxvYWRpbmdbZGF0YS12LTcwYTc4Mzg1XXt6LWluZGV4OjIwO2NvbG9yOiMxYTdmNTA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMzMsMTYzLDEwMiwuMSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDMzLDE2MywxMDIsLjIpO2JvcmRlci1yYWRpdXM6MTRweDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjEwcHggMTRweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDA7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MThweDtyaWdodDoxOHB4O2JveC1zaGFkb3c6MCA4cHggMjBweCByZ2JhKDMzLDE2MywxMDIsLjEyKX0uc2hlZXQtbG9hZGluZy1kb3RbZGF0YS12LTcwYTc4Mzg1XXtiYWNrZ3JvdW5kOiMyMWEzNjY7Ym9yZGVyLXJhZGl1czo5OTlweDtmbGV4LXNocmluazowO3dpZHRoOjhweDtoZWlnaHQ6OHB4O2FuaW1hdGlvbjoxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlIHNoZWV0LWxvYWRpbmctcHVsc2UtNzBhNzgzODU7Ym94LXNoYWRvdzowIDAgMCA2cHggcmdiYSgzMywxNjMsMTAyLC4xMil9LnNoZWV0LWxvYWRpbmctc3VtbWFyeVtkYXRhLXYtNzBhNzgzODVde2NvbG9yOiM1ZjYzNjh9LnRhYmxlLWhvc3RbZGF0YS12LTcwYTc4Mzg1XXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0uZXhjZWwtaW1hZ2Utdmlld3BvcnRbZGF0YS12LTcwYTc4Mzg1XXt6LWluZGV4OjM1O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDtvdmVyZmxvdzpoaWRkZW59LmV4Y2VsLWltYWdlLWxheWVyW2RhdGEtdi03MGE3ODM4NV17dHJhbnNmb3JtLW9yaWdpbjowIDA7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtO3dpZHRoOjA7aGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOmF1dG87bGVmdDowO3JpZ2h0OmF1dG99LmV4Y2VsLWltYWdlW2RhdGEtdi03MGE3ODM4NV17b2JqZWN0LWZpdDpjb250YWluOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTttYXgtd2lkdGg6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS50YWJsZS1ob3N0W2RhdGEtdi03MGE3ODM4NV0gLmUtdmlydC10YWJsZS1jb250YWluZXIsLnRhYmxlLWhvc3RbZGF0YS12LTcwYTc4Mzg1XSAuZS12aXJ0LXRhYmxlLXN0YWdle3dpZHRoOjEwMCUhaW1wb3J0YW50fS50YWJsZS1ob3N0W2RhdGEtdi03MGE3ODM4NV0gLmUtdmlydC10YWJsZS1jb250YWluZXJ7aGVpZ2h0OjEwMCUhaW1wb3J0YW50fS50YWJsZS1ob3N0W2RhdGEtdi03MGE3ODM4NV0gLmUtdmlydC10YWJsZS1zdGFnZXtvdmVyZmxvdzpoaWRkZW59LmxvYWRpbmdbZGF0YS12LTcwYTc4Mzg1XXt6LWluZGV4Ojk5OTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNnB4KTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjk2KTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9LmxvYWRpbmctY2FyZFtkYXRhLXYtNzBhNzgzODVde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTIpO2JvcmRlcjoxcHggc29saWQgcmdiYSgzMywxNjMsMTAyLC4xKTtib3JkZXItcmFkaXVzOjI0cHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxOHB4O3dpZHRoOm1pbigxMDAlLDQ2MHB4KTtwYWRkaW5nOjIycHg7ZGlzcGxheTpmbGV4O2JveC1zaGFkb3c6MCAyMnB4IDQ4cHggcmdiYSgxOCwzNiwyNywuMTIpfS5sb2FkaW5nLWJyYW5kW2RhdGEtdi03MGE3ODM4NV17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoMzMsMTYzLDEwMiwuMTQpLHJnYmEoMzMsMTYzLDEwMiwuMDQpKTtib3JkZXItcmFkaXVzOjIycHg7ZmxleC1zaHJpbms6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDo3OHB4O2hlaWdodDo3OHB4O2Rpc3BsYXk6ZmxleH0uZXhjZWwtd3JhcHBlciBpbWdbZGF0YS12LTcwYTc4Mzg1XXtoZWlnaHQ6YXV0bztkaXNwbGF5OmJsb2NrfS5leGNlbC13cmFwcGVyIGltZy5sZ1tkYXRhLXYtNzBhNzgzODVde3dpZHRoOjQ4cHh9LmxvYWRpbmctY29weVtkYXRhLXYtNzBhNzgzODVde2ZsZXg6MTttaW4td2lkdGg6MH0ubG9hZGluZy1raWNrZXJbZGF0YS12LTcwYTc4Mzg1XXtjb2xvcjojMjFhMzY2O2xldHRlci1zcGFjaW5nOi4wOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7ZGlzcGxheTpibG9ja30ubG9hZGluZy1jb3B5IHN0cm9uZ1tkYXRhLXYtNzBhNzgzODVde2NvbG9yOiMxODM4Mjg7bWFyZ2luLXRvcDo2cHg7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4zO2Rpc3BsYXk6YmxvY2t9LmxvYWRpbmctY29weSBwW2RhdGEtdi03MGE3ODM4NV17Y29sb3I6IzYxNzU2NTttYXJnaW46OHB4IDAgMDtsaW5lLWhlaWdodDoxLjZ9LmxvYWRpbmctc3Bpbm5lcltkYXRhLXYtNzBhNzgzODVde2JvcmRlcjozcHggc29saWQgcmdiYSgzMywxNjMsMTAyLC4xNCk7Ym9yZGVyLXRvcC1jb2xvcjojMjFhMzY2O2JvcmRlci1yYWRpdXM6OTk5cHg7ZmxleC1zaHJpbms6MDt3aWR0aDozOHB4O2hlaWdodDozOHB4O2FuaW1hdGlvbjouOXMgbGluZWFyIGluZmluaXRlIHNoZWV0LWxvYWRpbmctc3Bpbi03MGE3ODM4NX0uZXJyb3JbZGF0YS12LTcwYTc4Mzg1XXt0ZXh0LWFsaWduOmNlbnRlcjt6LWluZGV4Ojk5OTtjb2xvcjojYjQyMzE4O2JhY2tncm91bmQ6I2ZmZjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjI0cHg7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NjAwO2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0udG9vbGJhcltkYXRhLXYtNzBhNzgzODVde2JhY2tncm91bmQ6I2YzZjNmMztib3JkZXItdG9wOjFweCBzb2xpZCAjY2ZkNGQ5O2ZsZXgtc2hyaW5rOjA7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O21pbi1oZWlnaHQ6MzhweDttYXJnaW4tdG9wOjJweDtwYWRkaW5nOjAgOHB4IDAgNnB4O2Rpc3BsYXk6ZmxleH0uYnRuLWdyb3VwW2RhdGEtdi03MGE3ODM4NV17c2Nyb2xsYmFyLXdpZHRoOnRoaW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7ZmxleDoxO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDoycHg7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbn0uc2hlZXQtdGFiW2RhdGEtdi03MGE3ODM4NV17Y29sb3I6IzRkNTM1ODt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjZjdmN2Y3IDAlLCNlOGVjZWYgMTAwJSk7Ym9yZGVyOjFweCBzb2xpZCAjYzZjY2QyO2JvcmRlci1ib3R0b206MnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6N3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjdweDtvdXRsaW5lOjA7bWF4LXdpZHRoOjI0MHB4O21pbi1oZWlnaHQ6MzBweDtwYWRkaW5nOjAgMjRweDtmb250LXNpemU6MTJweDtvdmVyZmxvdzpoaWRkZW59LnNoZWV0LXRhYi5hY3RpdmVbZGF0YS12LTcwYTc4Mzg1XXtjb2xvcjojMjAyMTI0O2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6I2M2Y2NkMiAjYzZjY2QyICMyMWEzNjY7Ym94LXNoYWRvdzppbnNldCAwIC0ycHggIzIxYTM2Nn0uc3VtbWFyeVtkYXRhLXYtNzBhNzgzODVde2NvbG9yOiM1ZjYzNjg7d2hpdGUtc3BhY2U6bm93cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpmbGV4fUBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXsudG9vbGJhcltkYXRhLXYtNzBhNzgzODVde3otaW5kZXg6NDU7YmFja2dyb3VuZDpyZ2JhKDI0OCwyNTEsMjQ5LC45Nik7Ym9yZGVyLXRvcDowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMzMsMTYzLDEwMiwuMTYpO29yZGVyOi0xO2dhcDo4cHg7bWluLWhlaWdodDo1MHB4O21hcmdpbi10b3A6MDtwYWRkaW5nOjZweCA4cHg7Ym94LXNoYWRvdzowIDhweCAxOHB4IHJnYmEoMTUsMjMsNDIsLjA2KX0uYnRuLWdyb3VwW2RhdGEtdi03MGE3ODM4NV17c2Nyb2xsYmFyLXdpZHRoOm5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzowIDJweH0uYnRuLWdyb3VwW2RhdGEtdi03MGE3ODM4NV06Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uc2hlZXQtdGFiW2RhdGEtdi03MGE3ODM4NV17YmFja2dyb3VuZDojZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjNmNjZDI7Ym9yZGVyLXJhZGl1czo5OTlweDtmbGV4Om5vbmU7bWF4LXdpZHRoOm1pbig1OHZ3LDIyMHB4KTttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzowIDE0cHg7Zm9udC1zaXplOjEzcHg7Ym94LXNoYWRvdzowIDRweCAxMnB4IHJnYmEoMTUsMjMsNDIsLjA2KX0uc2hlZXQtdGFiLmFjdGl2ZVtkYXRhLXYtNzBhNzgzODVde2NvbG9yOiMxNDZjNDM7YmFja2dyb3VuZDojZWNmZGY1O2JvcmRlci1jb2xvcjpyZ2JhKDMzLDE2MywxMDIsLjM1KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDMzLDE2MywxMDIsLjI0KX0uc3VtbWFyeVtkYXRhLXYtNzBhNzgzODVde2Rpc3BsYXk6bm9uZX19QGtleWZyYW1lcyBzaGVldC1sb2FkaW5nLXB1bHNlLTcwYTc4Mzg1ezAlLHRve29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9NTAle29wYWNpdHk6Ljg7dHJhbnNmb3JtOnNjYWxlKC44Nil9fUBrZXlmcmFtZXMgc2hlZXQtbG9hZGluZy1zcGluLTcwYTc4Mzg1ezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0udGV4dExheWVyey0tbGlnaHRuaW5nY3NzLWxpZ2h0OmluaXRpYWw7LS1saWdodG5pbmdjc3MtZGFyazogO2NvbG9yLXNjaGVtZTpsaWdodCBvbmx5O3RleHQtYWxpZ246aW5pdGlhbDtvcGFjaXR5OjE7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0Om5vbmU7LW1vei10ZXh0LXNpemUtYWRqdXN0Om5vbmU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6bm9uZTt0ZXh0LXNpemUtYWRqdXN0Om5vbmU7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO3RyYW5zZm9ybS1vcmlnaW46MCAwO2NhcmV0LWNvbG9yOmNhbnZhc3RleHQ7ei1pbmRleDowOy0tbWluLWZvbnQtc2l6ZToxOy0tdGV4dC1zY2FsZS1mYWN0b3I6Y2FsYyh2YXIoLS10b3RhbC1zY2FsZS1mYWN0b3IpICogdmFyKC0tbWluLWZvbnQtc2l6ZSkpOy0tbWluLWZvbnQtc2l6ZS1pbnY6Y2FsYygxIC8gdmFyKC0tbWluLWZvbnQtc2l6ZSkpO2xpbmUtaGVpZ2h0OjE7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6Y2xpcH0udGV4dExheWVyLmhpZ2hsaWdodGluZ3t0b3VjaC1hY3Rpb246bm9uZX0udGV4dExheWVyIDotd2Via2l0LWFueShzcGFuLGJyKXtjb2xvcjp0cmFuc3BhcmVudDt3aGl0ZS1zcGFjZTpwcmU7Y3Vyc29yOnRleHQ7dHJhbnNmb3JtLW9yaWdpbjowIDA7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0Oy1tb3otdXNlci1zZWxlY3Q6dGV4dDstbXMtdXNlci1zZWxlY3Q6dGV4dDt1c2VyLXNlbGVjdDp0ZXh0O3Bvc2l0aW9uOmFic29sdXRlfS50ZXh0TGF5ZXIgOi1tb3otYW55KHNwYW4sYnIpe2NvbG9yOnRyYW5zcGFyZW50O3doaXRlLXNwYWNlOnByZTtjdXJzb3I6dGV4dDt0cmFuc2Zvcm0tb3JpZ2luOjAgMDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHQ7cG9zaXRpb246YWJzb2x1dGV9LnRleHRMYXllciA6aXMoc3Bhbixicil7Y29sb3I6dHJhbnNwYXJlbnQ7d2hpdGUtc3BhY2U6cHJlO2N1cnNvcjp0ZXh0O3RyYW5zZm9ybS1vcmlnaW46MCAwOy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dDstbW96LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dDtwb3NpdGlvbjphYnNvbHV0ZX0udGV4dExheWVyPjpub3QoLm1hcmtlZENvbnRlbnQpLC50ZXh0TGF5ZXIgLm1hcmtlZENvbnRlbnQgc3Bhbjpub3QoLm1hcmtlZENvbnRlbnQpe3otaW5kZXg6MTstLWZvbnQtaGVpZ2h0OjA7Zm9udC1zaXplOmNhbGModmFyKC0tdGV4dC1zY2FsZS1mYWN0b3IpICogdmFyKC0tZm9udC1oZWlnaHQpKTstLXNjYWxlLXg6MTstLXJvdGF0ZTowZGVnO3RyYW5zZm9ybTpyb3RhdGUodmFyKC0tcm90YXRlKSkgc2NhbGVYKHZhcigtLXNjYWxlLXgpKSBzY2FsZSh2YXIoLS1taW4tZm9udC1zaXplLWludikpfS50ZXh0TGF5ZXIgLm1hcmtlZENvbnRlbnR7ZGlzcGxheTpjb250ZW50c30udGV4dExheWVyIC5tYXJrZWRDb250ZW50LmhpZ2hsaWdodHstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2JhY2tkcm9wLWZpbHRlcjpub25lO2JhY2tncm91bmQ6MCAwO21hcmdpbjowO3BhZGRpbmc6MH0udGV4dExheWVyIHNwYW5bcm9sZT1pbWddey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6ZGVmYXVsdH0udGV4dExheWVyIC5oaWdobGlnaHR7LS1oaWdobGlnaHQtYmctY29sb3I6cmdiYSgxODAsMCwxNzAsLjI1KTstLWhpZ2hsaWdodC1zZWxlY3RlZC1iZy1jb2xvcjpyZ2JhKDAsMTAwLDAsLjI1KTstLWhpZ2hsaWdodC1iYWNrZHJvcC1maWx0ZXI6bm9uZTstLWhpZ2hsaWdodC1zZWxlY3RlZC1iYWNrZHJvcC1maWx0ZXI6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWhpZ2hsaWdodC1iZy1jb2xvcik7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0taGlnaGxpZ2h0LWJhY2tkcm9wLWZpbHRlcik7YmFja2Ryb3AtZmlsdGVyOnZhcigtLWhpZ2hsaWdodC1iYWNrZHJvcC1maWx0ZXIpO2JvcmRlci1yYWRpdXM6NHB4O21hcmdpbjotMXB4O3BhZGRpbmc6MXB4fS50ZXh0TGF5ZXIgLmhpZ2hsaWdodC5hcHBlbmRlZHtwb3NpdGlvbjppbml0aWFsfS50ZXh0TGF5ZXIgLmhpZ2hsaWdodC5iZWdpbntib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4fS50ZXh0TGF5ZXIgLmhpZ2hsaWdodC5lbmR7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMH0udGV4dExheWVyIC5oaWdobGlnaHQubWlkZGxle2JvcmRlci1yYWRpdXM6MH0udGV4dExheWVyIC5oaWdobGlnaHQuc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1oaWdobGlnaHQtc2VsZWN0ZWQtYmctY29sb3IpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLWhpZ2hsaWdodC1zZWxlY3RlZC1iYWNrZHJvcC1maWx0ZXIpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS1oaWdobGlnaHQtc2VsZWN0ZWQtYmFja2Ryb3AtZmlsdGVyKTtzY3JvbGwtbWFyZ2luLXRvcDo1MHB4fS50ZXh0TGF5ZXIgOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0udGV4dExheWVyIDo6c2VsZWN0aW9ue2JhY2tncm91bmQ6MCAwfS50ZXh0TGF5ZXIgYnI6Oi1tb3otc2VsZWN0aW9ue2JhY2tncm91bmQ6MCAwfS50ZXh0TGF5ZXIgYnI6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0udGV4dExheWVyIC5lbmRPZkNvbnRlbnR7ei1pbmRleDowO2N1cnNvcjpkZWZhdWx0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS50ZXh0TGF5ZXIuc2VsZWN0aW5nIC5lbmRPZkNvbnRlbnR7dG9wOjB9LnRleHRMYXllckltYWdlc3std2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9LnRleHRMYXllckltYWdlcyBjYW52YXN7dHJhbnNmb3JtLW9yaWdpbjowIDA7cG9zaXRpb246YWJzb2x1dGV9QG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsudGV4dExheWVyIC5oaWdobGlnaHR7LS1oaWdobGlnaHQtYmctY29sb3I6dHJhbnNwYXJlbnQ7LS1oaWdobGlnaHQtc2VsZWN0ZWQtYmctY29sb3I6dHJhbnNwYXJlbnQ7LS1oaWdobGlnaHQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLWhjbS1oaWdobGlnaHQtZmlsdGVyKTstLWhpZ2hsaWdodC1zZWxlY3RlZC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0taGNtLWhpZ2hsaWdodC1zZWxlY3RlZC1maWx0ZXIpfX06cm9vdHstLWFubm90YXRpb24tdW5mb2N1c2VkLWZpZWxkLWJhY2tncm91bmQ6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCw8c3ZnIHdpZHRoPScxcHgnIGhlaWdodD0nMXB4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIHN0eWxlPSdmaWxsOnJnYmEoMCwgNTQsIDI1NSwgMC4xMyk7Jy8+PC9zdmc+Iil9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gaW5wdXQ6cmVxdWlyZWR7b3V0bGluZToxLjVweCBzb2xpZCBzZWxlY3RlZGl0ZW19LmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gdGV4dGFyZWE6cmVxdWlyZWR7b3V0bGluZToxLjVweCBzb2xpZCBzZWxlY3RlZGl0ZW19LmFubm90YXRpb25MYXllciAuY2hvaWNlV2lkZ2V0QW5ub3RhdGlvbiBzZWxlY3Q6cmVxdWlyZWR7b3V0bGluZToxLjVweCBzb2xpZCBzZWxlY3RlZGl0ZW19LmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dDpyZXF1aXJlZHtvdXRsaW5lOjEuNXB4IHNvbGlkIHNlbGVjdGVkaXRlbX0uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0OnJlcXVpcmVke291dGxpbmU6MS41cHggc29saWQgc2VsZWN0ZWRpdGVtfX0uYW5ub3RhdGlvbkxheWVye3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtLW9yaWdpbjowIDA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5hbm5vdGF0aW9uTGF5ZXIgc2VjdGlvbnt0ZXh0LWFsaWduOmluaXRpYWw7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7dHJhbnNmb3JtLW9yaWdpbjowIDA7cG9zaXRpb246YWJzb2x1dGV9LmFubm90YXRpb25MYXllciAubGlua0Fubm90YXRpb24+YSwuYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnB1c2hCdXR0b24+YXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucHVzaEJ1dHRvbj5jYW52YXN7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uYW5ub3RhdGlvbkxheWVyIC5saW5rQW5ub3RhdGlvbj5hOmhvdmVyLC5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucHVzaEJ1dHRvbj5hOmhvdmVye29wYWNpdHk6LjI7YmFja2dyb3VuZDojZmYwO2JveC1zaGFkb3c6MCAycHggMTBweCAjZmYwfS5hbm5vdGF0aW9uTGF5ZXIgLnRleHRBbm5vdGF0aW9uIGltZ3tjdXJzb3I6cG9pbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIGlucHV0LC5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIHRleHRhcmVhLC5hbm5vdGF0aW9uTGF5ZXIgLmNob2ljZVdpZGdldEFubm90YXRpb24gc2VsZWN0LC5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQsLmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5yYWRpb0J1dHRvbiBpbnB1dHtiYWNrZ3JvdW5kLWltYWdlOnZhcigtLWFubm90YXRpb24tdW5mb2N1c2VkLWZpZWxkLWJhY2tncm91bmQpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250OmNhbGMoOXB4ICogdmFyKC0tc2NhbGUtZmFjdG9yKSkgc2Fucy1zZXJpZjt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21hcmdpbjowfS5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIGlucHV0OnJlcXVpcmVke291dGxpbmU6MS41cHggc29saWQgcmVkfS5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIHRleHRhcmVhOnJlcXVpcmVke291dGxpbmU6MS41cHggc29saWQgcmVkfS5hbm5vdGF0aW9uTGF5ZXIgLmNob2ljZVdpZGdldEFubm90YXRpb24gc2VsZWN0OnJlcXVpcmVke291dGxpbmU6MS41cHggc29saWQgcmVkfS5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQ6cmVxdWlyZWR7b3V0bGluZToxLjVweCBzb2xpZCByZWR9LmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5yYWRpb0J1dHRvbiBpbnB1dDpyZXF1aXJlZHtvdXRsaW5lOjEuNXB4IHNvbGlkIHJlZH0uYW5ub3RhdGlvbkxheWVyIC5jaG9pY2VXaWRnZXRBbm5vdGF0aW9uIHNlbGVjdCBvcHRpb257cGFkZGluZzowfS5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucmFkaW9CdXR0b24gaW5wdXR7Ym9yZGVyLXJhZGl1czo1MCV9LmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gdGV4dGFyZWF7cmVzaXplOm5vbmV9LmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gaW5wdXRbZGlzYWJsZWRdLC5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIHRleHRhcmVhW2Rpc2FibGVkXSwuYW5ub3RhdGlvbkxheWVyIC5jaG9pY2VXaWRnZXRBbm5vdGF0aW9uIHNlbGVjdFtkaXNhYmxlZF0sLmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dFtkaXNhYmxlZF0sLmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5yYWRpb0J1dHRvbiBpbnB1dFtkaXNhYmxlZF17Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQ6MCAwO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9LmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gaW5wdXQ6aG92ZXIsLmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gdGV4dGFyZWE6aG92ZXIsLmFubm90YXRpb25MYXllciAuY2hvaWNlV2lkZ2V0QW5ub3RhdGlvbiBzZWxlY3Q6aG92ZXIsLmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dDpob3ZlciwuYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgIzAwMH0uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiBpbnB1dDpmb2N1cywuYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiB0ZXh0YXJlYTpmb2N1cywuYW5ub3RhdGlvbkxheWVyIC5jaG9pY2VXaWRnZXRBbm5vdGF0aW9uIHNlbGVjdDpmb2N1c3tiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIGlucHV0IDpmb2N1cywuYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiB0ZXh0YXJlYSA6Zm9jdXMsLmFubm90YXRpb25MYXllciAuY2hvaWNlV2lkZ2V0QW5ub3RhdGlvbiBzZWxlY3QgOmZvY3VzLC5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggOmZvY3VzLC5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucmFkaW9CdXR0b24gOmZvY3Vze2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO291dGxpbmU6YXV0b30uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0OmNoZWNrZWQ6YmVmb3JlLC5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQ6Y2hlY2tlZDphZnRlciwuYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0OmNoZWNrZWQ6YmVmb3Jle2NvbnRlbnQ6IiI7YmFja2dyb3VuZC1jb2xvcjpjYW52YXN0ZXh0O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGV9LmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dDpjaGVja2VkOmJlZm9yZSwuYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0OmNoZWNrZWQ6YWZ0ZXJ7d2lkdGg6MXB4O2hlaWdodDo4MCU7bGVmdDo0NSV9LmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dDpjaGVja2VkOmJlZm9yZXt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0OmNoZWNrZWQ6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucmFkaW9CdXR0b24gaW5wdXQ6Y2hlY2tlZDpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6NTAlO2hlaWdodDo1MCU7dG9wOjIwJTtsZWZ0OjMwJX0uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiBpbnB1dC5jb21ie3BhZGRpbmctbGVmdDoycHg7cGFkZGluZy1yaWdodDowO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZX0uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiBpbnB1dC5jb21iOmZvY3Vze3dpZHRoOjEwMyV9LmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dCwuYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0ey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOy1tcy1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5hbm5vdGF0aW9uTGF5ZXIgLnBvcHVwVHJpZ2dlckFyZWF7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uYW5ub3RhdGlvbkxheWVyIC5wb3B1cFdyYXBwZXJ7Zm9udC1zaXplOmNhbGMoOXB4ICogdmFyKC0tc2NhbGUtZmFjdG9yKSk7d2lkdGg6MTAwJTttaW4td2lkdGg6Y2FsYygxODBweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGV9LmFubm90YXRpb25MYXllciAucG9wdXB7ei1pbmRleDoyMDA7bWF4LXdpZHRoOmNhbGMoMTgwcHggKiB2YXIoLS1zY2FsZS1mYWN0b3IpKTtib3gtc2hhZG93OjAgY2FsYygycHggKiB2YXIoLS1zY2FsZS1mYWN0b3IpKSBjYWxjKDVweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpICM4ODg7Ym9yZGVyLXJhZGl1czpjYWxjKDJweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpO3BhZGRpbmc6Y2FsYyg2cHggKiB2YXIoLS1zY2FsZS1mYWN0b3IpKTttYXJnaW4tbGVmdDpjYWxjKDVweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpO2N1cnNvcjpwb2ludGVyO2ZvbnQ6bWVzc2FnZS1ib3g7d2hpdGUtc3BhY2U6bm9ybWFsO3dvcmQtd3JhcDpicmVhay13b3JkO3BvaW50ZXItZXZlbnRzOmF1dG87YmFja2dyb3VuZC1jb2xvcjojZmY5O3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uTGF5ZXIgLnBvcHVwPip7Zm9udC1zaXplOmNhbGMoOXB4ICogdmFyKC0tc2NhbGUtZmFjdG9yKSl9LmFubm90YXRpb25MYXllciAucG9wdXAgaDF7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmFubm90YXRpb25MYXllciAucG9wdXBEYXRle21hcmdpbi1sZWZ0OmNhbGMoNXB4ICogdmFyKC0tc2NhbGUtZmFjdG9yKSk7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmFubm90YXRpb25MYXllciAucG9wdXBDb250ZW50e21hcmdpbi10b3A6Y2FsYygycHggKiB2YXIoLS1zY2FsZS1mYWN0b3IpKTtwYWRkaW5nLXRvcDpjYWxjKDJweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpO2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzN9LmFubm90YXRpb25MYXllciAucmljaFRleHQ+Knt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtmb250LXNpemU6Y2FsYyg5cHggKiB2YXIoLS1zY2FsZS1mYWN0b3IpKX0uYW5ub3RhdGlvbkxheWVyIC5oaWdobGlnaHRBbm5vdGF0aW9uLC5hbm5vdGF0aW9uTGF5ZXIgLnVuZGVybGluZUFubm90YXRpb24sLmFubm90YXRpb25MYXllciAuc3F1aWdnbHlBbm5vdGF0aW9uLC5hbm5vdGF0aW9uTGF5ZXIgLnN0cmlrZW91dEFubm90YXRpb24sLmFubm90YXRpb25MYXllciAuZnJlZVRleHRBbm5vdGF0aW9uLC5hbm5vdGF0aW9uTGF5ZXIgLmxpbmVBbm5vdGF0aW9uIHN2ZyBsaW5lLC5hbm5vdGF0aW9uTGF5ZXIgLnNxdWFyZUFubm90YXRpb24gc3ZnIHJlY3QsLmFubm90YXRpb25MYXllciAuY2lyY2xlQW5ub3RhdGlvbiBzdmcgZWxsaXBzZSwuYW5ub3RhdGlvbkxheWVyIC5wb2x5bGluZUFubm90YXRpb24gc3ZnIHBvbHlsaW5lLC5hbm5vdGF0aW9uTGF5ZXIgLnBvbHlnb25Bbm5vdGF0aW9uIHN2ZyBwb2x5Z29uLC5hbm5vdGF0aW9uTGF5ZXIgLmNhcmV0QW5ub3RhdGlvbiwuYW5ub3RhdGlvbkxheWVyIC5pbmtBbm5vdGF0aW9uIHN2ZyBwb2x5bGluZSwuYW5ub3RhdGlvbkxheWVyIC5zdGFtcEFubm90YXRpb24sLmFubm90YXRpb25MYXllciAuZmlsZUF0dGFjaG1lbnRBbm5vdGF0aW9ue2N1cnNvcjpwb2ludGVyfS5hbm5vdGF0aW9uTGF5ZXIgc2VjdGlvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZX06cm9vdHstLXhmYS11bmZvY3VzZWQtZmllbGQtYmFja2dyb3VuZDp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LDxzdmcgd2lkdGg9JzFweCcgaGVpZ2h0PScxcHgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgc3R5bGU9J2ZpbGw6cmdiYSgwLCA1NCwgMjU1LCAwLjEzKTsnLz48L3N2Zz4iKX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueGZhTGF5ZXIgOnJlcXVpcmVke291dGxpbmU6MS41cHggc29saWQgc2VsZWN0ZWRpdGVtfX0ueGZhTGF5ZXIgLmhpZ2hsaWdodHtiYWNrZ3JvdW5kLWNvbG9yOiNlZmNiZWQ7Ym9yZGVyLXJhZGl1czo0cHg7bWFyZ2luOi0xcHg7cGFkZGluZzoxcHh9LnhmYUxheWVyIC5oaWdobGlnaHQuYXBwZW5kZWR7cG9zaXRpb246aW5pdGlhbH0ueGZhTGF5ZXIgLmhpZ2hsaWdodC5iZWdpbntib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4fS54ZmFMYXllciAuaGlnaGxpZ2h0LmVuZHtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS54ZmFMYXllciAuaGlnaGxpZ2h0Lm1pZGRsZXtib3JkZXItcmFkaXVzOjB9LnhmYUxheWVyIC5oaWdobGlnaHQuc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojY2JkZmNifS54ZmFMYXllciA6Oi1tb3otc2VsZWN0aW9ue2JhY2tncm91bmQ6IzAwZn0ueGZhTGF5ZXIgOjpzZWxlY3Rpb257YmFja2dyb3VuZDojMDBmfS54ZmFQYWdle3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ueGZhQ29udGVudGFyZWF7cG9zaXRpb246YWJzb2x1dGV9LnhmYVByaW50T25seXtkaXNwbGF5Om5vbmV9LnhmYUxheWVye3RleHQtYWxpZ246aW5pdGlhbDt0cmFuc2Zvcm0tb3JpZ2luOjAgMDtsaW5lLWhlaWdodDoxLjI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS54ZmFMYXllciAqe2NvbG9yOmluaGVyaXQ7Zm9udDppbmhlcml0O2ZvbnQtc3R5bGU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2ZvbnQta2VybmluZzppbmhlcml0O2xldHRlci1zcGFjaW5nOi0uMDFweDt0ZXh0LWFsaWduOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9pbnRlci1ldmVudHM6YXV0bztsaW5lLWhlaWdodDppbmhlcml0O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWFyZ2luOjA7cGFkZGluZzowfS54ZmFMYXllciA6cmVxdWlyZWR7b3V0bGluZToxLjVweCBzb2xpZCByZWR9LnhmYUxheWVyIGRpdiwueGZhTGF5ZXIgc3ZnLC54ZmFMYXllciBzdmcgKntwb2ludGVyLWV2ZW50czpub25lfS54ZmFMYXllciBhe2NvbG9yOiMwMGZ9LnhmYVJpY2ggbGl7bWFyZ2luLWxlZnQ6M2VtfS54ZmFGb250e2NvbG9yOiMwMDA7Zm9udC1rZXJuaW5nOm5vbmU7bGV0dGVyLXNwYWNpbmc6MDt2ZXJ0aWNhbC1hbGlnbjowO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueGZhQ2FwdGlvbntmbGV4Om5vbmU7b3ZlcmZsb3c6aGlkZGVufS54ZmFDYXB0aW9uRm9yQ2hlY2tCdXR0b257ZmxleDphdXRvO292ZXJmbG93OmhpZGRlbn0ueGZhTGFiZWx7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueGZhTGVmdHtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0ueGZhUmlnaHR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0ueGZhTGVmdD4ueGZhQ2FwdGlvbiwueGZhTGVmdD4ueGZhQ2FwdGlvbkZvckNoZWNrQnV0dG9uLC54ZmFSaWdodD4ueGZhQ2FwdGlvbiwueGZhUmlnaHQ+LnhmYUNhcHRpb25Gb3JDaGVja0J1dHRvbnttYXgtaGVpZ2h0OjEwMCV9LnhmYVRvcHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXh9LnhmYUJvdHRvbXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZTthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6ZmxleH0ueGZhVG9wPi54ZmFDYXB0aW9uLC54ZmFUb3A+LnhmYUNhcHRpb25Gb3JDaGVja0J1dHRvbiwueGZhQm90dG9tPi54ZmFDYXB0aW9uLC54ZmFCb3R0b20+LnhmYUNhcHRpb25Gb3JDaGVja0J1dHRvbnt3aWR0aDoxMDAlfS54ZmFCb3JkZXJ7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3Bvc2l0aW9uOmFic29sdXRlfS54ZmFXcmFwcGVke3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnhmYVRleHRmaWVsZDpmb2N1cywueGZhU2VsZWN0OmZvY3Vze291dGxpbmUtb2Zmc2V0Oi0xcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7b3V0bGluZTphdXRvfS54ZmFDaGVja2JveDpmb2N1cywueGZhUmFkaW86Zm9jdXN7b3V0bGluZTphdXRvfS54ZmFUZXh0ZmllbGQsLnhmYVNlbGVjdHtyZXNpemU6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOnZhcigtLXhmYS11bmZvY3VzZWQtZmllbGQtYmFja2dyb3VuZCk7Ym9yZGVyOm5vbmU7ZmxleDphdXRvO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnhmYVRvcD4ueGZhVGV4dGZpZWxkLC54ZmFUb3A+LnhmYVNlbGVjdCwueGZhQm90dG9tPi54ZmFUZXh0ZmllbGQsLnhmYUJvdHRvbT4ueGZhU2VsZWN0e2ZsZXg6MCBhdXRvfS54ZmFCdXR0b257Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOm5vbmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueGZhTGlua3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0ueGZhQ2hlY2tib3gsLnhmYVJhZGlve2JvcmRlcjpub25lO2ZsZXg6bm9uZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS54ZmFSaWNoe3doaXRlLXNwYWNlOnByZS13cmFwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnhmYUltYWdley1vLW9iamVjdC1wb3NpdGlvbjpsZWZ0IHRvcDtvYmplY3QtcG9zaXRpb246bGVmdCB0b3A7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS54ZmFMclRiLC54ZmFSbFRiLC54ZmFUYntmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtkaXNwbGF5OmZsZXh9LnhmYUxye2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpzdHJldGNoO2Rpc3BsYXk6ZmxleH0ueGZhUmx7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7YWxpZ24taXRlbXM6c3RyZXRjaDtkaXNwbGF5OmZsZXh9LnhmYVRiPmRpdntqdXN0aWZ5LWNvbnRlbnQ6bGVmdH0ueGZhUG9zaXRpb24sLnhmYUFyZWF7cG9zaXRpb246cmVsYXRpdmV9LnhmYVZhbGlnbk1pZGRsZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS54ZmFUYWJsZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtkaXNwbGF5OmZsZXh9LnhmYVRhYmxlIC54ZmFSb3d7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOnN0cmV0Y2g7ZGlzcGxheTpmbGV4fS54ZmFUYWJsZSAueGZhUmxSb3d7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7ZmxleDoxO2FsaWduLWl0ZW1zOnN0cmV0Y2g7ZGlzcGxheTpmbGV4fS54ZmFUYWJsZSAueGZhUmxSb3c+ZGl2e2ZsZXg6MX0ueGZhTm9uSW50ZXJhY3RpdmUgaW5wdXQsLnhmYU5vbkludGVyYWN0aXZlIHRleHRhcmVhLC54ZmFEaXNhYmxlZCBpbnB1dCwueGZhRGlzYWJsZWQgdGV4dGFyZWEsLnhmYVJlYWRPbmx5IGlucHV0LC54ZmFSZWFkT25seSB0ZXh0YXJlYXtiYWNrZ3JvdW5kOmluaXRpYWx9QG1lZGlhIHByaW50ey54ZmFUZXh0ZmllbGQsLnhmYVNlbGVjdHtiYWNrZ3JvdW5kOjAgMH0ueGZhU2VsZWN0ey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOy1tcy1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3RleHQtaW5kZW50OjFweDt0ZXh0LW92ZXJmbG93OiIifX06cm9vdHstLWZvY3VzLW91dGxpbmU6c29saWQgMnB4IHJlZDstLWhvdmVyLW91dGxpbmU6ZGFzaGVkIDJweCBibHVlOy0tZnJlZXRleHQtbGluZS1oZWlnaHQ6MS4zNTstLWZyZWV0ZXh0LXBhZGRpbmc6MnB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpezpyb290ey0tZm9jdXMtb3V0bGluZTpzb2xpZCAzcHggQnV0dG9uVGV4dDstLWhvdmVyLW91dGxpbmU6ZGFzaGVkIDNweCBCdXR0b25UZXh0fX1bZGF0YS1lZGl0b3Itcm90YXRpb249IjkwIl17dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9W2RhdGEtZWRpdG9yLXJvdGF0aW9uPSIxODAiXXt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9W2RhdGEtZWRpdG9yLXJvdGF0aW9uPSIyNzAiXXt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9LmFubm90YXRpb25FZGl0b3JMYXllcntmb250LXNpemU6Y2FsYygxMDBweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpO3RyYW5zZm9ybS1vcmlnaW46MCAwO2JhY2tncm91bmQ6MCAwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5zZWxlY3RlZEVkaXRvcntvdXRsaW5lOnZhcigtLWZvY3VzLW91dGxpbmUpO3Jlc2l6ZTpub25lfS5hbm5vdGF0aW9uRWRpdG9yTGF5ZXIgLmZyZWVUZXh0RWRpdG9ye3BhZGRpbmc6Y2FsYyh2YXIoLS1mcmVldGV4dC1wYWRkaW5nKSAqIHZhcigtLXNjYWxlLWZhY3RvcikpO3Jlc2l6ZTpub25lO3otaW5kZXg6MTt0cmFuc2Zvcm0tb3JpZ2luOjAgMDt0b3VjaC1hY3Rpb246bm9uZTtiYWNrZ3JvdW5kOjAgMDtib3JkZXItcmFkaXVzOjNweDt3aWR0aDphdXRvO2hlaWdodDphdXRvO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uRWRpdG9yTGF5ZXIgLmZyZWVUZXh0RWRpdG9yIC5pbnRlcm5hbHt3aGl0ZS1zcGFjZTpub3dyYXA7cmVzaXplOm5vbmU7Zm9udDoxMHB4IHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6dmFyKC0tZnJlZXRleHQtbGluZS1oZWlnaHQpO2JhY2tncm91bmQ6MCAwO2JvcmRlcjpub25lO3RvcDowO2xlZnQ6MDtvdmVyZmxvdzp2aXNpYmxlfS5hbm5vdGF0aW9uRWRpdG9yTGF5ZXIgLmZyZWVUZXh0RWRpdG9yIC5vdmVybGF5e2JhY2tncm91bmQ6MCAwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5mcmVlVGV4dEVkaXRvciAub3ZlcmxheS5lbmFibGVke2Rpc3BsYXk6YmxvY2t9LmFubm90YXRpb25FZGl0b3JMYXllciAuZnJlZVRleHRFZGl0b3IgLmludGVybmFsOmVtcHR5OmJlZm9yZXtjb250ZW50OmF0dHIoZGVmYXVsdC1jb250ZW50KTtjb2xvcjpncmF5fS5hbm5vdGF0aW9uRWRpdG9yTGF5ZXIgLmZyZWVUZXh0RWRpdG9yIC5pbnRlcm5hbDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFubm90YXRpb25FZGl0b3JMYXllciAuaW5rRWRpdG9yLmRpc2FibGVke3Jlc2l6ZTpub25lfS5hbm5vdGF0aW9uRWRpdG9yTGF5ZXIgLmlua0VkaXRvci5kaXNhYmxlZC5zZWxlY3RlZEVkaXRvcntyZXNpemU6aG9yaXpvbnRhbH0uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5mcmVlVGV4dEVkaXRvcjpob3Zlcjpub3QoLnNlbGVjdGVkRWRpdG9yKSwuYW5ub3RhdGlvbkVkaXRvckxheWVyIC5pbmtFZGl0b3I6aG92ZXI6bm90KC5zZWxlY3RlZEVkaXRvcil7b3V0bGluZTp2YXIoLS1ob3Zlci1vdXRsaW5lKX0uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5pbmtFZGl0b3J7ei1pbmRleDoxO3RyYW5zZm9ybS1vcmlnaW46MCAwO2N1cnNvcjphdXRvO2JhY2tncm91bmQ6MCAwO2JvcmRlci1yYWRpdXM6M3B4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6YXV0b30uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5pbmtFZGl0b3IuZWRpdGluZ3tyZXNpemU6bm9uZTtjdXJzb3I6dmFyKC0tZWRpdG9ySW5rLWVkaXRpbmctY3Vyc29yKSwgcG9pbnRlcn0uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5pbmtFZGl0b3IgLmlua0VkaXRvckNhbnZhc3t0b3VjaC1hY3Rpb246bm9uZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH06cm9vdHstLXZpZXdlci1jb250YWluZXItaGVpZ2h0OjA7LS1wZGZWaWV3ZXItcGFkZGluZy1ib3R0b206MDstLXBhZ2UtbWFyZ2luOjFweCBhdXRvIC04cHg7LS1wYWdlLWJvcmRlcjo5cHggc29saWQgdHJhbnNwYXJlbnQ7LS1wYWdlLWJvcmRlci1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCTUFBQUFUQ0FZQUFBQnlVRGJNQUFBQTFFbEVRVlE0amJXVVd3NkVJQXhGeTJORnMvOE56UjRVSmhwcUxzZGk1bU9tU1NNVU9mWVdxdjNTMGdNcjRYbFlILzY0Z1phL2dOM0FOWUE3S0FYQUx0NGt0b1E1TUk5WXhxYUc4Yldtc0l5c011VDZwaVNRQ2E0d2haVGhDdThDTTR6UDlZSmFLY2k5amljUHEzTmNCV1lvUE1HVWxoRzdpdnRrQitnVnlGWTc1d1hnaE92aDh0NW10bzFNZGltNmUrTUJxSDZYc1krWUF3anBxM3ZHRjd3ZVRXUXB0TEVEVkNadlBUTWw1Slpac2RoNDdGSFc2cUZNeXZMWXFqY25tZEZmWTlYay9LRE9sekN1c1gybWkvb2ZNN01Qa3pCY1NwNFExL3dBQUFBQVNVVk9SSzVDWUlJPSkgOSA5IHJlcGVhdDstLXNwcmVhZEhvcml6b250YWxXcmFwcGVkLW1hcmdpbi1MUjotMy41cHg7LS1zY2FsZS1mYWN0b3I6MX1AbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczphY3RpdmUpezpyb290ey0tcGRmVmlld2VyLXBhZGRpbmctYm90dG9tOjlweDstLXBhZ2UtbWFyZ2luOjhweCBhdXRvIC0xcHg7LS1wYWdlLWJvcmRlcjoxcHggc29saWQgQ2FudmFzVGV4dDstLXBhZ2UtYm9yZGVyLWltYWdlOm5vbmU7LS1zcHJlYWRIb3Jpem9udGFsV3JhcHBlZC1tYXJnaW4tTFI6My41cHh9fS5wZGZWaWV3ZXIsLnBkZlZpZXdlciAqLC5wZGZWaWV3ZXIgOmJlZm9yZSwucGRmVmlld2VyIDphZnRlcntib3gtc2l6aW5nOmNvbnRlbnQtYm94fVtkYXRhLW1haW4tcm90YXRpb249IjkwIl17dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl0cmFuc2xhdGVZKC0xMDAlKX1bZGF0YS1tYWluLXJvdGF0aW9uPSIxODAiXXt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl0cmFuc2xhdGUoLTEwMCUsLTEwMCUpfVtkYXRhLW1haW4tcm90YXRpb249IjI3MCJde3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKXRyYW5zbGF0ZSgtMTAwJSl9LnBkZlZpZXdlcntwYWRkaW5nLWJvdHRvbTp2YXIoLS1wZGZWaWV3ZXItcGFkZGluZy1ib3R0b20pfS5wZGZWaWV3ZXIgLmNhbnZhc1dyYXBwZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnBkZlZpZXdlciAucGFnZXstLXVzZXItdW5pdDoxOy0tdG90YWwtc2NhbGUtZmFjdG9yOmNhbGModmFyKC0tc2NhbGUtZmFjdG9yKSAqIHZhcigtLXVzZXItdW5pdCkpOy0tc2NhbGUtcm91bmQteDoxcHg7LS1zY2FsZS1yb3VuZC15OjFweDt3aWR0aDo4MTZweDtoZWlnaHQ6MTA1NnB4O21hcmdpbjp2YXIoLS1wYWdlLW1hcmdpbik7Ym9yZGVyOnZhcigtLXBhZ2UtYm9yZGVyKTstby1ib3JkZXItaW1hZ2U6dmFyKC0tcGFnZS1ib3JkZXItaW1hZ2UpO2JvcmRlci1pbWFnZTp2YXIoLS1wYWdlLWJvcmRlci1pbWFnZSk7ZGlyZWN0aW9uOmx0cjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OnZpc2libGV9LnBkZlZpZXdlciAuZHVtbXlQYWdle3dpZHRoOjA7aGVpZ2h0OnZhcigtLXZpZXdlci1jb250YWluZXItaGVpZ2h0KTtwb3NpdGlvbjpyZWxhdGl2ZX0ucGRmVmlld2VyLnJlbW92ZVBhZ2VCb3JkZXJzIC5wYWdle2JvcmRlcjpub25lO21hcmdpbjowIGF1dG8gMTBweH0ucGRmVmlld2VyLnNpbmdsZVBhZ2VWaWV3e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5wZGZWaWV3ZXIuc2luZ2xlUGFnZVZpZXcgLnBhZ2V7Ym9yZGVyOm5vbmU7bWFyZ2luOjB9LnBkZlZpZXdlci5zY3JvbGxIb3Jpem9udGFsLC5wZGZWaWV3ZXIuc2Nyb2xsV3JhcHBlZCwuc3ByZWFke3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1sZWZ0OjMuNXB4O21hcmdpbi1yaWdodDozLjVweH0ucGRmVmlld2VyLnNjcm9sbEhvcml6b250YWwsLnNwcmVhZHt3aGl0ZS1zcGFjZTpub3dyYXB9LnBkZlZpZXdlci5yZW1vdmVQYWdlQm9yZGVycywucGRmVmlld2VyLnNjcm9sbEhvcml6b250YWwgLnNwcmVhZCwucGRmVmlld2VyLnNjcm9sbFdyYXBwZWQgLnNwcmVhZHttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5zcHJlYWQgLnBhZ2UsLnNwcmVhZCAuZHVtbXlQYWdlLC5wZGZWaWV3ZXIuc2Nyb2xsSG9yaXpvbnRhbCAucGFnZSwucGRmVmlld2VyLnNjcm9sbFdyYXBwZWQgLnBhZ2UsLnBkZlZpZXdlci5zY3JvbGxIb3Jpem9udGFsIC5zcHJlYWQsLnBkZlZpZXdlci5zY3JvbGxXcmFwcGVkIC5zcHJlYWR7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zcHJlYWQgLnBhZ2UsLnBkZlZpZXdlci5zY3JvbGxIb3Jpem9udGFsIC5wYWdlLC5wZGZWaWV3ZXIuc2Nyb2xsV3JhcHBlZCAucGFnZXttYXJnaW4tbGVmdDp2YXIoLS1zcHJlYWRIb3Jpem9udGFsV3JhcHBlZC1tYXJnaW4tTFIpO21hcmdpbi1yaWdodDp2YXIoLS1zcHJlYWRIb3Jpem9udGFsV3JhcHBlZC1tYXJnaW4tTFIpfS5wZGZWaWV3ZXIucmVtb3ZlUGFnZUJvcmRlcnMgLnNwcmVhZCAucGFnZSwucGRmVmlld2VyLnJlbW92ZVBhZ2VCb3JkZXJzLnNjcm9sbEhvcml6b250YWwgLnBhZ2UsLnBkZlZpZXdlci5yZW1vdmVQYWdlQm9yZGVycy5zY3JvbGxXcmFwcGVkIC5wYWdle21hcmdpbi1sZWZ0OjVweDttYXJnaW4tcmlnaHQ6NXB4fS5wZGZWaWV3ZXIgLnBhZ2UgY2FudmFze2NvbnRhaW46Y29udGVudDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21hcmdpbjowO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5wZGZWaWV3ZXIgLnBhZ2UgY2FudmFzW2hpZGRlbl17ZGlzcGxheTpub25lfS5wZGZWaWV3ZXIgLnBhZ2UgLmxvYWRpbmdJY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEdBQVlBUFFBQVAvLy93QUFBTTdPenZyNit1RGc0TEN3c09qbzZJNk9qc2pJeUp5Y25OalkyS2lvcU1EQXdQTHk4bloyZG9hR2hyaTR1R2hvYUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0gvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoL2hwRGNtVmhkR1ZrSUhkcGRHZ2dZV3BoZUd4dllXUXVhVzVtYndBaCtRUUpCd0FBQUN3QUFBQUFHQUFZQUFBRnJpQWdqaVFBUVdWYURncjVQT1Nna29URGpGRTBOb1E4aXc4SFFaUVREUWpEbjRqaFNBQmhBQU9ob1RxU0RnN3FTVVF3eEVhRXd3RmhYSGhIZ3pPQTF4c2h4QW5mVHpvdEdSYUhnbEpxa0pjYVZFcUNneW9DQlFrSkJRS0REWFFHRFlhSWlveU9nWVNYQTM2WElnWU1CV1J6WFpvS0JRVU1taWwwbGdhbExTSUNsZ0JwTzBnK3MyNm5VV2RkWHlvRURJc0FDcTVTc1RNTURJRUN3VWRKUHcwTXpzdTBxSFlrdzcyYkJtb3pJUUFoK1FRSkJ3QUFBQ3dBQUFBQUdBQVlBQUFGc0NBZ2ppVEFNR1ZhRGdSNUhLUXdxS054SUtQampGQ2swS05YQzZBVEtTSTdvQWh4V0loZXp3aEVOVENRRW9lR0NkV0lQRWd6RVNHeEVJZ0dCV3N0RVc0UUNHR0FJSkVveEdtR3Q1WmtnQ1JRUUhrR2QyQ0VTb2VJSXdvTUJRVU1QNGNOZVFRR0RZdU5qNGlTYjVXSm5tZUduZzBDREdhQmxJUUVKemlIazNzQUJpZERBSEJnYWdCdXRTS3ZBQW95dUh1VVlIZ0NrQVpxZWJ3MEFnTEJReXl6TktPM2J5TnVvU1M4eDhPZndJY2hBQ0g1QkFrSEFBQUFMQUFBQUFBWUFCZ0FBQVc0SUNDT0pJQWdaVm9PQkpra3BES29vNUVJNDNHTWpOUFNva1hDSU5LSkNJNEhjQ1JJUUVRdnFJT2hHaEJIaFVURGhHbzRkaU9aeUZBb0tFUUR4cmEybUFFZ2pnaE9wQ2d6M0xUQkl4SjVrZ3dNQlNoQUNSRUhaMVY0S2cxclM0NHBCQWdNREFnL1N3MEdCQVFHRFpHVGxZK1ltcHlQcFNRRGlxWWlEUW9DbGlxWkJxa0dBZ0tJUzVrRWpRMjFWd0N5cDc2ZEJIaU52eitNUjc0QXFTT2RWd2JRdW8rYWJwcG8xMHNzamRrQW5jMHJmOHZnbDhZcUlRQWgrUVFKQndBQUFDd0FBQUFBR0FBWUFBQUZyQ0FnamlRZ0NHVmFEZ1paRkNReHFLTlJLR09Tak1qUjBxTFhUeWNpSEE3QWthTEFDTUlBaXdPQzFpQXhDck1Ub0hIWWpXUWlBNE5CRUEwUTFScFd4SGc0Y01YeE5EazRPQnhOVWtQQVFBRVhEZ2xsS2dNelFBMXBTWW9wQmdvbkNqOUpFQThSRVE4UWpZK1JRSk9WbDR1Z29Zc3NCSnVNcFlZakRRU2xpd2FzaVFPd05ha0FMS3FzcWJXdklvaEZtN1Y2clFBR1A2K0pRTGxGZzdLRFFMS0pyTGpCS2J2QW9yM0lLaUVBSWZrRUNRY0FBQUFzQUFBQUFCZ0FHQUFBQmJVZ0lJNGtvQ2hsbWhva3c1REVvSTROUTR4Rk1Rb0pPNHV1aGlnbk1pUVd2eEdCSVFDK0FKQkVVeVVjSVJpeUU2Q1IwQ2xsVzRIQUJ4QlVSVFV3NG5DNEZjV281Q0RCUnBRYUNvRjdWamdzeUNVRFlETU5aMG1IZHdZRUJBYUdNd3dIRGc0SERBMktqSTRxa0pLVWlKNmZhSmtpQTRxQUtRa1JCM0UwaTZZcEF3OFJFUkFqQTR0bkJvTUFwQ01RRGhGVHV5U0tvU0tNSkFxNnJENEd6QVNpSll0Z2k2UFVjczlLZXcweGg3ck5KTXFJaFljaEFDSDVCQWtIQUFBQUxBQUFBQUFZQUJnQUFBVzBJQ0NPSkVBUVpabzJKSUtReHFDT2pXQ01ERE1xeFQyTEFnRUxrQk1aQ29YZnlDQlFpRndpUnNHcGt1MEVzaE5nVU5BdHJZUFQwR1FWTlJCV3dTS0JNcDk4UDI0aUlTZ05EQVM0aXBHQTZKVXBBMldBaERSNGVXTS9DQWtIQndrSURZY0dpVE9MalkrRm1aa05sQ04zZVVvTERtd2xEVytBQXdjT0RsNWJZbDh3Q1ZZTUR3NVVXekJ0bkFBTkVROGtCSU0wb0FBR1BnY1JFSVFuVmxvQUNoRU9xQVJqemdBUUViY3pnOFlrV0pxOG5TVWhBQ0g1QkFrSEFBQUFMQUFBQUFBWUFCZ0FBQVd0SUNDT0pHQVlaWm9PcEtLUXFEb09SRE1Ld2tnd3Rpd1NCQllBSjJvd0dMNVJneEJ6aVFRTWdrd29Na2hOcUFFREFSUFNhaU1ERmRESWlSU0ZRb3dNWEU4WjZSZHBZSFduRUFXR1BWa2FqUG1BUlZaTVBVa0NCUWtKQlFJTmd3YUZQb2VKaTRHVmxRMlFjM1ZKQlFjTFYwcHRmQU1KQndkY0lsK0ZZakFMUWdpbW9HTldJaEFRWkE0SFhTcExNUThQSWdrT1NIeEFRaEVSUHc3QVNUU0Z5Q01NRHFCVEpMOHRmM3kyZkNFQUlma0VDUWNBQUFBc0FBQUFBQmdBR0FBQUJhOGdJSTRrMERSbG1nNmtZWkNvT2c1RURCREVhQWkyakxPM25Fa2drTUVJTDRCTHBCQWtWeTNoQ1RBUUtHQXpuTTBBRk5GR0JBYmoyY0E5alFpeGNHWkFHZ0VDQnUvOUhuVHArRkdqamV6SkZBd0ZCUXdLZTJaK0tvQ0NoSG1OalZNcUEyMW5LUXdKRUpSbGJuVUZDUWxGWGxwZUNXY0dCVUFDQ3dscmR3OFJLR0ltQndrdGR5TVFFUWNpQjdvQUN3Y0llQTRSVndBT0RpSUd2SFFLRVJBanh5TUlCNVFsVlNUTFlMWjBzVzhoQUNINUJBa0hBQUFBTEFBQUFBQVlBQmdBQUFXMElDQ09KTkEwWlpvT3BHR1FyRG9PQkNvU3hOZ1FzUXpnTVp5SWx2T0pkaStBUzJTb3lYcks0dW1XUE01d05pVjBVRFVJQk5rZG9lcFRmTWtBN3RoSUVDaXlSdFVBR3E4Zm0yTzRqSUJnTUJBMWVBWjZLbngrZ0hhSlI0UXdkQ01LQnhFSlJnZ0ZER2dRRVJFUGpqQU1CUVVLSXdJUkRoQkRDMlFORERFS29Fa0RvaU1IRGlnSUNHa0pCUzJkREE2VEFBbkFFQWtDZFE4T1JRY0hUQWtMY1FRT0RMUE1JZ0lKYUNXeEpNSWtQSW9BdDNFaEFDSDVCQWtIQUFBQUxBQUFBQUFZQUJnQUFBV3RJQ0NPSk5BMFpab09wR0dRckRvT0JDb1N4TmdRc1F6Z01aeUlsdk9KZGkrQVMyU295WHJLNHVtV0hNNXdOaVYwVU4zeGRMaXFyK21FTmNXcE05VElicnNCa0VjazhvQzBEUXFCUUdHSXordDNlWHRvYjBaVFBnTnJJd1FKRGd0R0Fnd0NXU0lNRGc0SGlpVUlEQXhGQUFvT0R3eERCV0lOQ0VHZFNUUWtDUWNvZWdBREJhUTZNZ2dIandBRkJaVUZDbTBIQjBrSkNVeTliQVlIQ0NQR0l3cW1ScTBqeVNNR21qNnlSaUVBSWZrRUNRY0FBQUFzQUFBQUFCZ0FHQUFBQmJJZ0lJNGswRFJsbWc2a1laQ3NPZzRFS2hMRTJCQ3hET0F4bklpVzg0bDJMNEJMWktpcEJvcFc4WFJMRGtlQ2lBTXlNdlFBQSt1T040SkVJbyt2cXVra0tRNlJoTEhwbFZHTitMeUtjWEE0RGd4NURXd0dEWHgrZ0lLRU5ucU5keklEYWlNRUN3Y0ZSZ1FDQ293aUNBY0hDWklsQ2dJQ1ZnU2ZDRU1NbkEwQ1hhVTJZU1FGb1FBS1VRTU1xam95QWdsY0FBeUJBQUlNUlVZTENVa0ZseWJEZUFZSnJ5TE5rNnhHTkNUUVhZMGp1SGdoQUNINUJBa0hBQUFBTEFBQUFBQVlBQmdBQUFXeklDQ09KTkEwWlZvT0Fta1k1S0NTU2dTTkJERTJoRHlMam9oQ2xCTU5pajhSSkhJUXZad0VWT3BJZWtSUUp5SnM1QU1vSEErR01iRTFsbm05RWNQaE9IUm5ocHdVbDNBc2tuSERtNVJOK3Y4cUNBa0hCd2tJZncxeEJBWU5nb1NHaUlxTWdKUWlmWlVqQmhBSllqOTVld0lKQ1FWN0tZcHpCQWtMTFFBRENIT3RPcFk1UGdObEFBeWtBRVVzUTF3ekNnV2RDSWRlQXJjekJRVmJESjBOQXF5ZUJiNjRuUUFHQXJCVHQ4UjhtTHV5UHlFQU93QUFBQUFBQUFBQUFBPT0pIDUwJSBuby1yZXBlYXQ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ucGRmVmlld2VyIC5wYWdlIC5sb2FkaW5nSWNvbi5ub3RWaXNpYmxle2JhY2tncm91bmQ6MCAwfS5wZGZWaWV3ZXIuZW5hYmxlUGVybWlzc2lvbnMgLnRleHRMYXllciBzcGFue2N1cnNvcjpub3QtYWxsb3dlZDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmUhaW1wb3J0YW50Oy1tb3otdXNlci1zZWxlY3Q6bm9uZSFpbXBvcnRhbnQ7LW1zLXVzZXItc2VsZWN0Om5vbmUhaW1wb3J0YW50O3VzZXItc2VsZWN0Om5vbmUhaW1wb3J0YW50fS5wZGZQcmVzZW50YXRpb25Nb2RlIC5wZGZWaWV3ZXJ7cGFkZGluZy1ib3R0b206MH0ucGRmUHJlc2VudGF0aW9uTW9kZSAuc3ByZWFke21hcmdpbjowfS5wZGZQcmVzZW50YXRpb25Nb2RlIC5wZGZWaWV3ZXIgLnBhZ2V7Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW46MCBhdXRvfS5wZGYtc2hlbGxbZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojMWYyOTM3O2JhY2tncm91bmQ6I2VkZjJmNztmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5wZGYtdG9vbGJhcltkYXRhLXYtMzJjZTUyNThde3otaW5kZXg6MjtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q3ZGVlODthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6NnB4IDEycHg7ZGlzcGxheTpmbGV4O2JveC1zaGFkb3c6MCAxcHggNHB4IHJnYmEoMTUsMjMsNDIsLjA4KX0ucGRmLXRvb2xiYXItZ3JvdXBbZGF0YS12LTMyY2U1MjU4XXtiYWNrZ3JvdW5kOiNmOGZhZmM7Ym9yZGVyOjFweCBzb2xpZCAjZGRlNWVmO2JvcmRlci1yYWRpdXM6OHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2hlaWdodDozNnB4O3BhZGRpbmc6MCA2cHg7ZGlzcGxheTppbmxpbmUtZmxleH0ucGRmLXRvb2xiYXItZ3JvdXAtLXpvb21bZGF0YS12LTMyY2U1MjU4XXttYXJnaW4tbGVmdDphdXRvfS5wZGYtdG9vbGJhci1ncm91cC0tcm90YXRlW2RhdGEtdi0zMmNlNTI1OF17ZmxleC1zaHJpbms6MH0ucGRmLWljb24tYnV0dG9uW2RhdGEtdi0zMmNlNTI1OF0sLnBkZi1zY2FsZS1idXR0b25bZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojMzM0MTU1O2hlaWdodDozMHB4O2ZvbnQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2xpbmUtaGVpZ2h0OjE7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xNnMsYm9yZGVyLWNvbG9yIC4xNnMsY29sb3IgLjE2cztkaXNwbGF5OmlubGluZS1mbGV4fS5wZGYtaWNvbi1idXR0b25bZGF0YS12LTMyY2U1MjU4XXt3aWR0aDozMHB4O2ZvbnQtc2l6ZToxOHB4fS5wZGYtc2NhbGUtYnV0dG9uW2RhdGEtdi0zMmNlNTI1OF17d2lkdGg6NjRweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo2MDB9LnBkZi1pY29uLWJ1dHRvbltkYXRhLXYtMzJjZTUyNThdOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLC5wZGYtc2NhbGUtYnV0dG9uW2RhdGEtdi0zMmNlNTI1OF06aG92ZXJ7Y29sb3I6IzE3NjlkODtiYWNrZ3JvdW5kOiNlZGY1ZmY7Ym9yZGVyLWNvbG9yOiNiOWM4ZDh9LnBkZi1pY29uLWJ1dHRvbltkYXRhLXYtMzJjZTUyNThdOmRpc2FibGVke2NvbG9yOiNhOGIzYzA7Y3Vyc29yOm5vdC1hbGxvd2VkfS5wZGYtaWNvbi1idXR0b24tLWFjdGl2ZVtkYXRhLXYtMzJjZTUyNThde2NvbG9yOiMxNzY5ZDg7YmFja2dyb3VuZDojZTdmMWZmO2JvcmRlci1jb2xvcjojOWFjMmZmfS5wZGYtcGFuZWwtaWNvbltkYXRhLXYtMzJjZTUyNThde2JvcmRlcjoycHggc29saWQ7Ym9yZGVyLXJhZGl1czozcHg7d2lkdGg6MTZweDtoZWlnaHQ6MTRweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5wZGYtcGFuZWwtaWNvbltkYXRhLXYtMzJjZTUyNThdOmJlZm9yZXtjb250ZW50OiIiO2JhY2tncm91bmQ6Y3VycmVudENvbG9yO3dpZHRoOjJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDtib3R0b206LTJweDtsZWZ0OjRweH0ucGRmLXBhZ2UtbWV0ZXJbZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojNjQ3NDhiO3doaXRlLXNwYWNlOm5vd3JhcDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDozcHg7bWluLXdpZHRoOjcycHg7Zm9udC1zaXplOjEzcHg7ZGlzcGxheTppbmxpbmUtZmxleH0ucGRmLXBhZ2UtbWV0ZXIgc3Ryb25nW2RhdGEtdi0zMmNlNTI1OF17Y29sb3I6IzFlMjkzYjtmb250LXNpemU6MTRweH0ucGRmLXJvdGF0aW9uLW1ldGVyW2RhdGEtdi0zMmNlNTI1OF17Y29sb3I6IzY0NzQ4Yjt3aGl0ZS1zcGFjZTpub3dyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLXdpZHRoOjQycHg7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LnBkZi1jb250ZW50W2RhdGEtdi0zMmNlNTI1OF17ZmxleDoxO2dyaWQtdGVtcGxhdGUtY29sdW1uczptYXgoMTQ4cHgsbWluKDIyJSwyMjBweCkpIG1pbm1heCgwLDFmcik7bWluLWhlaWdodDowO2Rpc3BsYXk6Z3JpZDtwb3NpdGlvbjpyZWxhdGl2ZX0ucGRmLXNoZWxsLS1uYXYtaGlkZGVuIC5wZGYtY29udGVudFtkYXRhLXYtMzJjZTUyNThde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5wZGYtbmF2LXBhbmVbZGF0YS12LTMyY2U1MjU4XXtiYWNrZ3JvdW5kOiNmOGZhZmM7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZDdkZWU4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbn0ucGRmLW5hdi1oZWFkW2RhdGEtdi0zMmNlNTI1OF17Y29sb3I6IzQ3NTU2OTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTNlOWYxO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDRweDtwYWRkaW5nOjAgMTJweDtmb250LXNpemU6MTNweDtkaXNwbGF5OmZsZXh9LnBkZi1uYXYtaGVhZCBzdHJvbmdbZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojMWUyOTNiO2ZvbnQtc2l6ZToxMnB4fS5wZGYtbmF2LXRhYnNbZGF0YS12LTMyY2U1MjU4XXtiYWNrZ3JvdW5kOiNmOGZhZmM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2UzZTlmMTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSk7Z2FwOjRweDtwYWRkaW5nOjhweDtkaXNwbGF5OmdyaWR9LnBkZi1uYXYtdGFicyBidXR0b25bZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojNjQ3NDhiO21pbi13aWR0aDowO2hlaWdodDozMHB4O2ZvbnQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NnB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMH0ucGRmLW5hdi10YWJzIGJ1dHRvbltkYXRhLXYtMzJjZTUyNThdOmhvdmVyLC5wZGYtbmF2LXRhYnMgYnV0dG9uLmFjdGl2ZVtkYXRhLXYtMzJjZTUyNThde2NvbG9yOiMxNzY5ZDg7YmFja2dyb3VuZDojZWRmNWZmO2JvcmRlci1jb2xvcjojYjlkNGY2fS5wZGYtcGFnZS1saXN0W2RhdGEtdi0zMmNlNTI1OF17ZmxleDoxO2FsaWduLWNvbnRlbnQ6c3RhcnQ7Z2FwOjhweDttaW4taGVpZ2h0OjA7cGFkZGluZzoxMHB4O2Rpc3BsYXk6Z3JpZDtvdmVyZmxvdy15OmF1dG99LnBkZi1wYWdlLWJ1dHRvbltkYXRhLXYtMzJjZTUyNThde2NvbG9yOiMzMzQxNTU7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkY2U0ZWU7Ym9yZGVyLXJhZGl1czo4cHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQycHggbWlubWF4KDAsMWZyKTthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjU0cHg7cGFkZGluZzo2cHggOHB4O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNnMsYm94LXNoYWRvdyAuMTZzLGJhY2tncm91bmQtY29sb3IgLjE2cztkaXNwbGF5OmdyaWR9LnBkZi1wYWdlLWJ1dHRvbltkYXRhLXYtMzJjZTUyNThdOmhvdmVye2JhY2tncm91bmQ6I2YzZjhmZjtib3JkZXItY29sb3I6I2E5YzVlYX0ucGRmLXBhZ2UtYnV0dG9uLS1hY3RpdmVbZGF0YS12LTMyY2U1MjU4XXtiYWNrZ3JvdW5kOiNlYWYzZmY7Ym9yZGVyLWNvbG9yOiM0MDhmZmY7Ym94LXNoYWRvdzppbnNldCAzcHggMCAjNDA4ZmZmfS5wZGYtcGFnZS10aHVtYltkYXRhLXYtMzJjZTUyNThde2NvbG9yOiMxNzY5ZDg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwJSwjZWRmNWZmIDEwMCUpO2JvcmRlcjoxcHggc29saWQgI2Q2ZTFlZTtib3JkZXItcmFkaXVzOjRweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDozNHB4O2hlaWdodDo0MnB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtkaXNwbGF5OmlubGluZS1mbGV4fS5wZGYtcGFnZS1sYWJlbFtkYXRhLXYtMzJjZTUyNThde3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21pbi13aWR0aDowO2ZvbnQtc2l6ZToxM3B4O292ZXJmbG93OmhpZGRlbn0ucGRmLW91dGxpbmUtbGlzdFtkYXRhLXYtMzJjZTUyNThde2ZsZXg6MTthbGlnbi1jb250ZW50OnN0YXJ0O2dhcDo0cHg7bWluLWhlaWdodDowO3BhZGRpbmc6OHB4O2Rpc3BsYXk6Z3JpZDtvdmVyZmxvdy15OmF1dG99LnBkZi1vdXRsaW5lLWJ1dHRvbltkYXRhLXYtMzJjZTUyNThdey0tb3V0bGluZS1kZXB0aDowO3dpZHRoOjEwMCU7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6NXB4IDdweCA1cHggY2FsYyg3cHggKyB2YXIoLS1vdXRsaW5lLWRlcHRoKSAqIDE0cHgpO2NvbG9yOiMzMzQxNTU7Zm9udDppbmhlcml0O3RleHQtYWxpZ246bGVmdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NnB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczoxNnB4IG1pbm1heCgwLDFmcik7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZGlzcGxheTpncmlkfS5wZGYtb3V0bGluZS1idXR0b25bZGF0YS12LTMyY2U1MjU4XTpob3ZlcntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOiNjN2Q3ZWJ9LnBkZi1vdXRsaW5lLXRvZ2dsZVtkYXRhLXYtMzJjZTUyNThde2NvbG9yOiM2NDc0OGI7Ym9yZGVyLXJhZGl1czo0cHg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtwb3NpdGlvbjpyZWxhdGl2ZX0ucGRmLW91dGxpbmUtdG9nZ2xlW2RhdGEtdi0zMmNlNTI1OF06YmVmb3Jle2NvbnRlbnQ6IiI7Ym9yZGVyLWJvdHRvbToycHggc29saWQ7Ym9yZGVyLXJpZ2h0OjJweCBzb2xpZDt3aWR0aDo2cHg7aGVpZ2h0OjZweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTZzO3Bvc2l0aW9uOmFic29sdXRlO3RvcDozcHg7bGVmdDo0cHg7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5wZGYtb3V0bGluZS10b2dnbGUtLW9wZW5bZGF0YS12LTMyY2U1MjU4XTpiZWZvcmV7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9LnBkZi1vdXRsaW5lLXRvZ2dsZS0tZW1wdHlbZGF0YS12LTMyY2U1MjU4XTpiZWZvcmV7ZGlzcGxheTpub25lfS5wZGYtb3V0bGluZS10aXRsZVtkYXRhLXYtMzJjZTUyNThde3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21pbi13aWR0aDowO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuMzU7b3ZlcmZsb3c6aGlkZGVufS5wZGYtb3V0bGluZS1lbXB0eVtkYXRhLXYtMzJjZTUyNThde2NvbG9yOiM2NDc0OGI7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggZGFzaGVkICNjYmQ1ZTE7Ym9yZGVyLXJhZGl1czo4cHg7bWFyZ2luOjI0cHggOHB4O3BhZGRpbmc6MTRweCAxMHB4O2ZvbnQtc2l6ZToxMnB4fS5wZGZWaWV3ZXJbZGF0YS12LTMyY2U1MjU4XXttYXJnaW46MCBhdXRvO3BhZGRpbmc6MThweCAxNHB4IDI4cHh9LnBkZi12aWV3cG9ydFtkYXRhLXYtMzJjZTUyNThde3dpZHRoOjEwMCU7bWluLXdpZHRoOjA7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfS5wZGYtd3JhcHBlcltkYXRhLXYtMzJjZTUyNThde2JhY2tncm91bmQ6I2U4ZWRmNDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO292ZXJmbG93OmF1dG99LnBkZi1zdGF0ZVtkYXRhLXYtMzJjZTUyNThde2NvbG9yOiM0NzU1Njk7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2Q3ZGVlODtib3JkZXItcmFkaXVzOjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MTY4cHg7bWluLWhlaWdodDo0MnB4O3BhZGRpbmc6MCAxNnB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7Ym94LXNoYWRvdzowIDEwcHggMzBweCByZ2JhKDE1LDIzLDQyLC4xMil9LnBkZi1zdGF0ZS0tZXJyb3JbZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojYjQyMzE4O3RleHQtYWxpZ246Y2VudGVyO21heC13aWR0aDptaW4oNDYwcHgsMTAwJSAtIDMycHgpfUBtZWRpYSAobWF4LXdpZHRoOjcyMHB4KXsucGRmLXRvb2xiYXJbZGF0YS12LTMyY2U1MjU4XXtmbGV4LXdyYXA6d3JhcDthbGlnbi1jb250ZW50OmNlbnRlcjttaW4taGVpZ2h0Ojg4cHh9LnBkZi10b29sYmFyLWdyb3VwLS16b29tW2RhdGEtdi0zMmNlNTI1OF17bWFyZ2luLWxlZnQ6MH0ucGRmLWNvbnRlbnRbZGF0YS12LTMyY2U1MjU4XSwucGRmLXNoZWxsLS1uYXYtaGlkZGVuIC5wZGYtY29udGVudFtkYXRhLXYtMzJjZTUyNThde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5wZGYtbmF2LXBhbmVbZGF0YS12LTMyY2U1MjU4XXt6LWluZGV4OjM7d2lkdGg6bWluKDc4dncsMjQwcHgpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtib3gtc2hhZG93OjEwcHggMCAyNHB4IHJnYmEoMTUsMjMsNDIsLjE0KX19Lm9mZC12aWV3ZXJbZGF0YS12LTIyNWY0YmMzXXtiYWNrZ3JvdW5kOiNlOWVkZjI7bWluLWhlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS5vZmQtc3RhZ2VbZGF0YS12LTIyNWY0YmMzXXtzY3JvbGxiYXItZ3V0dGVyOnN0YWJsZTttaW4taGVpZ2h0OjEwMCU7cGFkZGluZzoxOHB4IDAgMjhweDtvdmVyZmxvdzphdXRvfS5vZmQtc3RhdGVbZGF0YS12LTIyNWY0YmMzXXt6LWluZGV4OjE7Y29sb3I6IzY0NzQ4YjtiYWNrZ3JvdW5kOnJnYmEoMjQ2LDI0OCwyNTAsLjkyKTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9Lm9mZC1zdGF0ZS5lcnJvcltkYXRhLXYtMjI1ZjRiYzNde2NvbG9yOiNiNDIzMTh9Lm9mZC1wYWdlLWZyYW1le21hcmdpbjowIGF1dG8gMjBweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OnZpc2libGV9Lm9mZC1wYWdle3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNnM7ZGlzcGxheTpibG9jaztib3gtc2hhZG93OjAgMTBweCAyNnB4IHJnYmEoMTUsMjMsNDIsLjEyKTttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9LnR5cHN0LXZpZXdlcltkYXRhLXYtMmNkZDc5OWJde2NvbG9yOiMxNzIwMzM7YmFja2dyb3VuZDojZWVmMWY0O21pbi1oZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfS50eXBzdC10b29sYmFyW2RhdGEtdi0yY2RkNzk5Yl17ei1pbmRleDoyOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2dyb3VuZDpyZ2JhKDI0OCwyNTAsMjUyLC45Mik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxMjAsMTM0LDE1NSwuMTgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTZweDttaW4taGVpZ2h0OjUycHg7cGFkZGluZzoxMHB4IDE4cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5O3Bvc2l0aW9uOnN0aWNreTt0b3A6MH0udHlwc3QtdG9vbGJhciBkaXZbZGF0YS12LTJjZGQ3OTliXXttaW4td2lkdGg6MH0udHlwc3QtdG9vbGJhciBzdHJvbmdbZGF0YS12LTJjZGQ3OTliXSwudHlwc3QtdG9vbGJhciBzcGFuW2RhdGEtdi0yY2RkNzk5Yl17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW59LnR5cHN0LXRvb2xiYXIgc3Ryb25nW2RhdGEtdi0yY2RkNzk5Yl17Y29sb3I6IzE3MjAzMztmb250LXNpemU6MTRweDtmb250LXdlaWdodDo4MDB9LnR5cHN0LXRvb2xiYXIgc3BhbltkYXRhLXYtMmNkZDc5OWJdLC50eXBzdC10b29sYmFyIGVtW2RhdGEtdi0yY2RkNzk5Yl17Y29sb3I6IzZhNzc4Yjtmb250LXNpemU6MTJweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDB9LnR5cHN0LXBhZ2VzW2RhdGEtdi0yY2RkNzk5Yl17Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjIycHg7bWluLWhlaWdodDpjYWxjKDEwMCUgLSA1MnB4KTtwYWRkaW5nOjI4cHggMTZweCA0NHB4O2Rpc3BsYXk6ZmxleH0udHlwc3QtcGFnZS1zaGVsbFtkYXRhLXYtMmNkZDc5OWJde3dpZHRoOm1pbih2YXIoLS10eXBzdC1wYWdlLXdpZHRoKSwgMTAwJSk7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMCwzNSw1MywuMSk7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6MCAxOHB4IDQ0cHggcmdiYSgxNSwyMyw0MiwuMTQpfS50eXBzdC1wYWdlLWNvbnRlbnRbZGF0YS12LTJjZGQ3OTliXSBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztkaXNwbGF5OmJsb2NrfS50eXBzdC1sb2FkaW5nW2RhdGEtdi0yY2RkNzk5Yl0sLnR5cHN0LWVycm9yW2RhdGEtdi0yY2RkNzk5Yl17Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTIwLDEzNCwxNTUsLjE4KTtib3JkZXItcmFkaXVzOjE0cHg7d2lkdGg6bWluKDUyMHB4LDEwMCUgLSAzMnB4KTttYXJnaW46ODBweCBhdXRvO3BhZGRpbmc6MjZweDtib3gtc2hhZG93OjAgMThweCA0NHB4IHJnYmEoMTUsMjMsNDIsLjEyKX0udHlwc3QtbG9hZGluZ1tkYXRhLXYtMmNkZDc5OWJde3RleHQtYWxpZ246Y2VudGVyO2p1c3RpZnktaXRlbXM6Y2VudGVyO2dhcDoxMHB4O2Rpc3BsYXk6Z3JpZH0udHlwc3QtbG9hZGluZyBzcGFuW2RhdGEtdi0yY2RkNzk5Yl17Ym9yZGVyOjNweCBzb2xpZCByZ2JhKDQ2LDEzMCw5NCwuMTgpO2JvcmRlci10b3AtY29sb3I6IzIzOTY2MTtib3JkZXItcmFkaXVzOjk5OXB4O3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7YW5pbWF0aW9uOi44cyBsaW5lYXIgaW5maW5pdGUgdHlwc3Qtc3Bpbi0yY2RkNzk5Yn0udHlwc3QtbG9hZGluZyBzdHJvbmdbZGF0YS12LTJjZGQ3OTliXSwudHlwc3QtZXJyb3Igc3Ryb25nW2RhdGEtdi0yY2RkNzk5Yl17Y29sb3I6IzE3MjAzMztmb250LXNpemU6MTZweH0udHlwc3QtbG9hZGluZyBwW2RhdGEtdi0yY2RkNzk5Yl17Y29sb3I6IzZhNzc4YjttYXJnaW46MDtmb250LXNpemU6MTNweH0udHlwc3QtZXJyb3JbZGF0YS12LTJjZGQ3OTliXXtjb2xvcjojOWYxZDFkfS50eXBzdC1lcnJvciBwcmVbZGF0YS12LTJjZGQ3OTliXXtjb2xvcjojOWYxZDFkO3doaXRlLXNwYWNlOnByZS13cmFwO2JhY2tncm91bmQ6I2ZmZjFmMjtib3JkZXItcmFkaXVzOjEwcHg7bWF4LWhlaWdodDozNjBweDttYXJnaW46MTRweCAwIDA7cGFkZGluZzoxNHB4O2ZvbnQtZmFtaWx5OnVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsTGliZXJhdGlvbiBNb25vLG1vbm9zcGFjZTtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjc7b3ZlcmZsb3c6YXV0b30uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnR5cHN0LXZpZXdlcntjb2xvcjojZTZlZGYzO2JhY2tncm91bmQ6IzEwMTgyMH0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnR5cHN0LXRvb2xiYXJ7YmFja2dyb3VuZDpyZ2JhKDE1LDIzLDQyLC45KTtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMTM5LDE0OCwxNTgsLjIyKX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnR5cHN0LXRvb2xiYXIgc3Ryb25ne2NvbG9yOiNmOGZhZmN9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC50eXBzdC10b29sYmFyIHNwYW4sLmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC50eXBzdC10b29sYmFyIGVte2NvbG9yOiM5YWE3Yjh9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC50eXBzdC1wYWdlLXNoZWxse2JvcmRlci1jb2xvcjpyZ2JhKDEzOSwxNDgsMTU4LC4yNik7Ym94LXNoYWRvdzowIDI0cHggNTZweCByZ2JhKDAsMCwwLC4zOCl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC50eXBzdC1sb2FkaW5nLC5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAudHlwc3QtZXJyb3J7YmFja2dyb3VuZDojMTUxYjIzO2JvcmRlci1jb2xvcjpyZ2JhKDEzOSwxNDgsMTU4LC4yMik7Ym94LXNoYWRvdzowIDI0cHggNTZweCByZ2JhKDAsMCwwLC4zMil9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC50eXBzdC1sb2FkaW5nIHN0cm9uZywuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnR5cHN0LWVycm9yIHN0cm9uZ3tjb2xvcjojZjhmYWZjfUBrZXlmcmFtZXMgdHlwc3Qtc3Bpbi0yY2RkNzk5Ynt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHlwc3QtdG9vbGJhcltkYXRhLXYtMmNkZDc5OWJde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo0cHh9LnR5cHN0LXBhZ2VzW2RhdGEtdi0yY2RkNzk5Yl17Z2FwOjE2cHg7cGFkZGluZzoxNnB4IDEwcHggMjhweH19QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXsuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudHlwc3Qtdmlld2Vye2NvbG9yOiNlNmVkZjM7YmFja2dyb3VuZDojMTAxODIwfS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC50eXBzdC10b29sYmFye2JhY2tncm91bmQ6cmdiYSgxNSwyMyw0MiwuOSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDEzOSwxNDgsMTU4LC4yMil9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnR5cHN0LXRvb2xiYXIgc3Ryb25ne2NvbG9yOiNmOGZhZmN9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnR5cHN0LXRvb2xiYXIgc3BhbiwuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudHlwc3QtdG9vbGJhciBlbXtjb2xvcjojOWFhN2I4fS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC50eXBzdC1wYWdlLXNoZWxse2JvcmRlci1jb2xvcjpyZ2JhKDEzOSwxNDgsMTU4LC4yNik7Ym94LXNoYWRvdzowIDI0cHggNTZweCByZ2JhKDAsMCwwLC4zOCl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnR5cHN0LWxvYWRpbmcsLmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnR5cHN0LWVycm9ye2JhY2tncm91bmQ6IzE1MWIyMztib3JkZXItY29sb3I6cmdiYSgxMzksMTQ4LDE1OCwuMjIpO2JveC1zaGFkb3c6MCAyNHB4IDU2cHggcmdiYSgwLDAsMCwuMzIpfS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC50eXBzdC1sb2FkaW5nIHN0cm9uZywuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudHlwc3QtZXJyb3Igc3Ryb25ne2NvbG9yOiNmOGZhZmN9fS5hcmNoaXZlLXZpZXdlcltkYXRhLXYtZmVlZmJiN2Rde2NvbG9yOiMxNzIwMzM7YmFja2dyb3VuZDojZWRmMmY3O2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMjgwcHgsMzQlKSBtaW5tYXgoMCwxZnIpO2hlaWdodDoxMDAlO2Rpc3BsYXk6Z3JpZDtwb3NpdGlvbjpyZWxhdGl2ZX0uYXJjaGl2ZS1zaWRlYmFyW2RhdGEtdi1mZWVmYmI3ZF17YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC43Mik7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDIzLDMyLDUxLC4wOCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMnB4O21pbi13aWR0aDowO21pbi1oZWlnaHQ6MDtwYWRkaW5nOjE2cHg7ZGlzcGxheTpmbGV4fS5hcmNoaXZlLWhlYWQgc3BhbltkYXRhLXYtZmVlZmJiN2RdLC5hcmNoaXZlLXByZXZpZXctdG9vbGJhciBzcGFuW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzZjN2M5MDtsZXR0ZXItc3BhY2luZzowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjgwMH0uYXJjaGl2ZS1oZWFkIHN0cm9uZ1tkYXRhLXYtZmVlZmJiN2RdLC5hcmNoaXZlLXByZXZpZXctdG9vbGJhciBzdHJvbmdbZGF0YS12LWZlZWZiYjdkXXttYXJnaW4tdG9wOjRweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjI1O2Rpc3BsYXk6YmxvY2t9LmFyY2hpdmUtaGVhZCBwW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzY5Nzk4YjttYXJnaW46OHB4IDAgMDtmb250LXNpemU6MTNweH0uYXJjaGl2ZS13YXJuaW5nW2RhdGEtdi1mZWVmYmI3ZF0sLmFyY2hpdmUtaW5mb1tkYXRhLXYtZmVlZmJiN2RdLC5hcmNoaXZlLWVycm9yW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzhhNGIwMDtiYWNrZ3JvdW5kOiNmZmY3ZTg7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTBweCAxMnB4O2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNX0uYXJjaGl2ZS1pbmZvW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzE2NjUzNDtiYWNrZ3JvdW5kOiNlY2ZkZjV9LmFyY2hpdmUtc2VhcmNoW2RhdGEtdi1mZWVmYmI3ZF17d2lkdGg6MTAwJTtoZWlnaHQ6NDJweDtmb250OmluaGVyaXQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIzLDMyLDUxLC4xKTtib3JkZXItcmFkaXVzOjEycHg7b3V0bGluZTpub25lO3BhZGRpbmc6MCAxMnB4fS5hcmNoaXZlLWxpc3RbZGF0YS12LWZlZWZiYjdkXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxO2dhcDo3cHg7bWluLWhlaWdodDowO3BhZGRpbmctcmlnaHQ6NHB4O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvfS5hcmNoaXZlLWVudHJ5W2RhdGEtdi1mZWVmYmI3ZF17d2lkdGg6MTAwJTttaW4taGVpZ2h0OjU4cHg7cGFkZGluZzo4cHggMTBweCA4cHggY2FsYygxMHB4ICsgdmFyKC0tZW50cnktZGVwdGgsMCkgKiAxMHB4KTtjb2xvcjppbmhlcml0O3RleHQtYWxpZ246bGVmdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjg2KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA3KTtib3JkZXItcmFkaXVzOjEycHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQycHggbWlubWF4KDAsMWZyKSBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtkaXNwbGF5OmdyaWR9LmFyY2hpdmUtZW50cnlbZGF0YS12LWZlZWZiYjdkXTpob3ZlciwuYXJjaGl2ZS1lbnRyeS5hY3RpdmVbZGF0YS12LWZlZWZiYjdkXXtib3JkZXItY29sb3I6cmdiYSgzMywxMjksOTUsLjI4KTtib3gtc2hhZG93OjAgMTBweCAyMnB4IHJnYmEoMjMsMzIsNTEsLjA4KX0uZW50cnktZXh0W2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzFkN2E1Njt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7YmFja2dyb3VuZDpyZ2JhKDMzLDEyOSw5NSwuMTIpO2JvcmRlci1yYWRpdXM6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MzRweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo5MDA7ZGlzcGxheTppbmxpbmUtZmxleH0uZW50cnktY29weVtkYXRhLXYtZmVlZmJiN2Rde21pbi13aWR0aDowfS5lbnRyeS1jb3B5IHN0cm9uZ1tkYXRhLXYtZmVlZmJiN2RdLC5lbnRyeS1jb3B5IGVtW2RhdGEtdi1mZWVmYmI3ZF17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW59LmVudHJ5LWNvcHkgZW1bZGF0YS12LWZlZWZiYjdkXSwuYXJjaGl2ZS1lbnRyeSBzbWFsbFtkYXRhLXYtZmVlZmJiN2Rde2NvbG9yOiM3MTgwOTY7Zm9udC1zaXplOjEycHg7Zm9udC1zdHlsZTpub3JtYWx9LmFyY2hpdmUtcHJldmlld1tkYXRhLXYtZmVlZmJiN2Rde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4fS5hcmNoaXZlLXByZXZpZXctdG9vbGJhcltkYXRhLXYtZmVlZmJiN2Rde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuNzYpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHg7bWluLWhlaWdodDo2NHB4O3BhZGRpbmc6MTJweCAxNnB4O2Rpc3BsYXk6ZmxleH0uYXJjaGl2ZS1wcmV2aWV3LXRvb2xiYXIgYnV0dG9uW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6I2ZmZjtoZWlnaHQ6MzRweDtmb250OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDojMWY3YTU4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjAgMTJweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo4MDB9LmFyY2hpdmUtbmVzdGVkLXRhcmdldFtkYXRhLXYtZmVlZmJiN2Rde2ZsZXg6MTttaW4taGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6YXV0b30uYXJjaGl2ZS1lbXB0eVtkYXRhLXYtZmVlZmJiN2Rde3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiM2NDc0OGI7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoxMDAlO3BhZGRpbmc6MjhweDtkaXNwbGF5OmZsZXh9LmFyY2hpdmUtZW1wdHkgc3Ryb25nW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzE3MjAzMztmb250LXNpemU6MThweH0uYXJjaGl2ZS1zdGF0ZVtkYXRhLXYtZmVlZmJiN2Rdey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JhY2tncm91bmQ6cmdiYSgyNDEsMjQ1LDI0OSwuODIpO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0uYXJjaGl2ZS1zdGF0ZT5kaXZbZGF0YS12LWZlZWZiYjdkXXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxNnB4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTRweDt3aWR0aDptaW4oOTIlLDQzMHB4KTtwYWRkaW5nOjE4cHg7ZGlzcGxheTpmbGV4O2JveC1zaGFkb3c6MCAxOHB4IDQycHggcmdiYSgxNSwyMyw0MiwuMTQpfS5hcmNoaXZlLXN0YXRlIHBbZGF0YS12LWZlZWZiYjdkXXtjb2xvcjojNjQ3NDhiO21hcmdpbjo0cHggMCAwfS5hcmNoaXZlLXNwaW5uZXJbZGF0YS12LWZlZWZiYjdkXXtib3JkZXI6M3B4IHNvbGlkIHJnYmEoMzEsMTIyLDg4LC4xNik7Ym9yZGVyLXRvcC1jb2xvcjojMWY3YTU4O2JvcmRlci1yYWRpdXM6OTk5cHg7ZmxleC1zaHJpbms6MDt3aWR0aDozNHB4O2hlaWdodDozNHB4O2FuaW1hdGlvbjouOXMgbGluZWFyIGluZmluaXRlIGFyY2hpdmUtc3Bpbi1mZWVmYmI3ZH0uYXJjaGl2ZS1lcnJvcltkYXRhLXYtZmVlZmJiN2Rde3dpZHRoOm1pbig0NjBweCwxMDAlIC0gMzZweCk7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjE4cHg7cmlnaHQ6MThweDtib3gtc2hhZG93OjAgMTZweCAzNnB4IHJnYmEoMjMsMzIsNTEsLjE0KX1Aa2V5ZnJhbWVzIGFyY2hpdmUtc3Bpbi1mZWVmYmI3ZHt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBtZWRpYSAobWF4LXdpZHRoOjg2MHB4KXsuYXJjaGl2ZS12aWV3ZXJbZGF0YS12LWZlZWZiYjdkXXtncmlkLXRlbXBsYXRlLXJvd3M6bWlubWF4KDIyMHB4LDM4JSkgbWlubWF4KDAsMWZyKTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5hcmNoaXZlLXNpZGViYXJbZGF0YS12LWZlZWZiYjdkXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDIzLDMyLDUxLC4wOCk7Ym9yZGVyLXJpZ2h0OjB9fS5hcmNoaXZlLW5lc3RlZC1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDo0MjBweH0uZW1haWwtdmlld2VyW2RhdGEtdi0wOTg5ZDc5OF17Y29sb3I6IzE3MjAzMztiYWNrZ3JvdW5kOiNmM2Y2Zjg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmVtYWlsLWhlYWRlcltkYXRhLXYtMDk4OWQ3OThde2JhY2tncm91bmQ6I2ZmZjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDIzLDMyLDUxLC4wOCk7cGFkZGluZzoxOHB4IDIycHh9LmVtYWlsLWhlYWRlcj5zcGFuW2RhdGEtdi0wOTg5ZDc5OF17Y29sb3I6IzFmN2E1ODtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo5MDB9LmVtYWlsLWhlYWRlciBoMltkYXRhLXYtMDk4OWQ3OThde21hcmdpbjo0cHggMCAxMnB4O2ZvbnQtc2l6ZToyMnB4O2xpbmUtaGVpZ2h0OjEuMjV9LmVtYWlsLW1ldGFbZGF0YS12LTA5ODlkNzk4XXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSk7Z2FwOjhweCAxOHB4O2Rpc3BsYXk6Z3JpZH0uZW1haWwtbWV0YSBwW2RhdGEtdi0wOTg5ZDc5OF17Y29sb3I6IzUyNjI3NTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW46MDtmb250LXNpemU6MTNweDtvdmVyZmxvdzpoaWRkZW59LmVtYWlsLW1ldGEgc3Ryb25nW2RhdGEtdi0wOTg5ZDc5OF17Y29sb3I6IzE3MjAzMzttYXJnaW4tcmlnaHQ6OHB4fS5lbWFpbC1ib2R5W2RhdGEtdi0wOTg5ZDc5OF17ZmxleDoxO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMjQwcHgsMzAwcHgpIG1pbm1heCgwLDFmcik7bWluLWhlaWdodDowO2Rpc3BsYXk6Z3JpZH0uZW1haWwtc2lkZWJhcltkYXRhLXYtMDk4OWQ3OThde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuNyk7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDIzLDMyLDUxLC4wOCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNHB4O21pbi1oZWlnaHQ6MDtwYWRkaW5nOjE0cHg7ZGlzcGxheTpmbGV4fS5ib2R5LXRhYnNbZGF0YS12LTA5ODlkNzk4XXtiYWNrZ3JvdW5kOnJnYmEoMjMsMzIsNTEsLjA2KTtib3JkZXItcmFkaXVzOjEycHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpO2dhcDo2cHg7cGFkZGluZzo0cHg7ZGlzcGxheTpncmlkfS5ib2R5LXRhYnMgYnV0dG9uW2RhdGEtdi0wOTg5ZDc5OF0sLmF0dGFjaG1lbnQtaXRlbVtkYXRhLXYtMDk4OWQ3OThdLC5hdHRhY2htZW50LXByZXZpZXctaGVhZCBidXR0b25bZGF0YS12LTA5ODlkNzk4XXtmb250OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXJ9LmJvZHktdGFicyBidXR0b25bZGF0YS12LTA5ODlkNzk4XXtjb2xvcjojNjQ3NDhiO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OXB4O2hlaWdodDozNHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjgwMH0uYm9keS10YWJzIGJ1dHRvbi5hY3RpdmVbZGF0YS12LTA5ODlkNzk4XXtjb2xvcjojMTcyMDMzO2JhY2tncm91bmQ6I2ZmZn0uYm9keS10YWJzIGJ1dHRvbltkYXRhLXYtMDk4OWQ3OThdOmRpc2FibGVke29wYWNpdHk6LjQ7Y3Vyc29yOm5vdC1hbGxvd2VkfS5hdHRhY2htZW50LXBhbmVsW2RhdGEtdi0wOTg5ZDc5OF17bWluLWhlaWdodDowO292ZXJmbG93OmF1dG99LmF0dGFjaG1lbnQtdGl0bGVbZGF0YS12LTA5ODlkNzk4XXtjb2xvcjojMTcyMDMzO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6ZmxleH0uYXR0YWNobWVudC10aXRsZSBzcGFuW2RhdGEtdi0wOTg5ZDc5OF17Y29sb3I6IzY0NzQ4Yn0uYXR0YWNobWVudC1pdGVtW2RhdGEtdi0wOTg5ZDc5OF17dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtib3JkZXItcmFkaXVzOjEycHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQycHggbWlubWF4KDAsMWZyKTthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjYycHg7bWFyZ2luLWJvdHRvbTo4cHg7cGFkZGluZzo5cHg7ZGlzcGxheTpncmlkfS5hdHRhY2htZW50LWl0ZW1bZGF0YS12LTA5ODlkNzk4XTpob3ZlciwuYXR0YWNobWVudC1pdGVtLmFjdGl2ZVtkYXRhLXYtMDk4OWQ3OThde2JvcmRlci1jb2xvcjpyZ2JhKDMxLDEyMiw4OCwuMjgpO2JveC1zaGFkb3c6MCAxMHB4IDIycHggcmdiYSgyMywzMiw1MSwuMDgpfS5hdHRhY2htZW50LWl0ZW0gc3BhbltkYXRhLXYtMDk4OWQ3OThde2NvbG9yOiMxZjdhNTg7YmFja2dyb3VuZDpyZ2JhKDMxLDEyMiw4OCwuMTIpO2JvcmRlci1yYWRpdXM6MTBweDtncmlkLXJvdzpzcGFuIDI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjM4cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6OTAwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmF0dGFjaG1lbnQtaXRlbSBzdHJvbmdbZGF0YS12LTA5ODlkNzk4XSwuYXR0YWNobWVudC1pdGVtIGVtW2RhdGEtdi0wOTg5ZDc5OF17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVufS5hdHRhY2htZW50LWl0ZW0gZW1bZGF0YS12LTA5ODlkNzk4XXtjb2xvcjojNjQ3NDhiO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtc3R5bGU6bm9ybWFsfS5tZXNzYWdlLXBhbmVsW2RhdGEtdi0wOTg5ZDc5OF17Z3JpZC10ZW1wbGF0ZS1yb3dzOm1pbm1heCgyNDBweCw0NiUpIG1pbm1heCgwLDFmcik7bWluLXdpZHRoOjA7bWluLWhlaWdodDowO2Rpc3BsYXk6Z3JpZH0uZW1haWwtaHRtbFtkYXRhLXYtMDk4OWQ3OThdLC5lbWFpbC10ZXh0W2RhdGEtdi0wOTg5ZDc5OF17YmFja2dyb3VuZDojZmZmO2JvcmRlcjowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmVtYWlsLXRleHRbZGF0YS12LTA5ODlkNzk4XXt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7bWFyZ2luOjA7cGFkZGluZzoyMHB4O2xpbmUtaGVpZ2h0OjEuNjU7b3ZlcmZsb3c6YXV0b30uYXR0YWNobWVudC1wcmV2aWV3W2RhdGEtdi0wOTg5ZDc5OF17Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyMywzMiw1MSwuMDgpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4fS5hdHRhY2htZW50LXByZXZpZXctaGVhZFtkYXRhLXYtMDk4OWQ3OThde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuNzgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzo4cHggMTRweDtkaXNwbGF5OmZsZXh9LmF0dGFjaG1lbnQtcHJldmlldy1oZWFkIGJ1dHRvbltkYXRhLXYtMDk4OWQ3OThde2NvbG9yOiNmZmY7YmFja2dyb3VuZDojMWY3YTU4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OXB4O2hlaWdodDozMnB4O3BhZGRpbmc6MCAxMnB4O2ZvbnQtd2VpZ2h0OjgwMH0uYXR0YWNobWVudC10YXJnZXRbZGF0YS12LTA5ODlkNzk4XXtmbGV4OjE7bWluLWhlaWdodDowO292ZXJmbG93OmF1dG99LmVtYWlsLXN0YXRlW2RhdGEtdi0wOTg5ZDc5OF17YmFja2dyb3VuZDpyZ2JhKDI0MywyNDYsMjQ4LC44Nik7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5lbWFpbC1zdGF0ZSBzcGFuW2RhdGEtdi0wOTg5ZDc5OF17Ym9yZGVyOjNweCBzb2xpZCByZ2JhKDMxLDEyMiw4OCwuMTYpO2JvcmRlci10b3AtY29sb3I6IzFmN2E1ODtib3JkZXItcmFkaXVzOjk5OXB4O3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7YW5pbWF0aW9uOi45cyBsaW5lYXIgaW5maW5pdGUgZW1haWwtc3Bpbi0wOTg5ZDc5OH0uZW1haWwtZXJyb3JbZGF0YS12LTA5ODlkNzk4XXtjb2xvcjojOGE0YjAwO2JhY2tncm91bmQ6I2ZmZjdlODtib3JkZXItcmFkaXVzOjE0cHg7d2lkdGg6bWluKDQ2MHB4LDEwMCUgLSAzNnB4KTtwYWRkaW5nOjE0cHg7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjE4cHg7cmlnaHQ6MThweDtib3gtc2hhZG93OjAgMTZweCAzNnB4IHJnYmEoMjMsMzIsNTEsLjE0KX1Aa2V5ZnJhbWVzIGVtYWlsLXNwaW4tMDk4OWQ3OTh7dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1AbWVkaWEgKG1heC13aWR0aDo4NjBweCl7LmVtYWlsLW1ldGFbZGF0YS12LTA5ODlkNzk4XSwuZW1haWwtYm9keVtkYXRhLXYtMDk4OWQ3OThde2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LmVtYWlsLWJvZHlbZGF0YS12LTA5ODlkNzk4XXtncmlkLXRlbXBsYXRlLXJvd3M6YXV0byBtaW5tYXgoMCwxZnIpfS5lbWFpbC1zaWRlYmFyW2RhdGEtdi0wOTg5ZDc5OF17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyMywzMiw1MSwuMDgpO2JvcmRlci1yaWdodDowfX0uZW1haWwtYXR0YWNobWVudC1yZW5kZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjMyMHB4fS5lZGEtdmlld2VyW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzE3MjAzMztiYWNrZ3JvdW5kOiNlZGYxZjU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmVkYS1oZWFkZXJbZGF0YS12LTllYjliOTI3XXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyMywzMiw1MSwuMDgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MThweDttaW4taGVpZ2h0Ojg0cHg7cGFkZGluZzoxOHB4IDE3NnB4IDE4cHggMjJweDtkaXNwbGF5OmZsZXh9LmVkYS1oZWFkZXIgc3BhbltkYXRhLXYtOWViOWI5MjddLC5lZGEtcGFuZWwtaGVhZCBzcGFuW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzBiNzQ4MDtsZXR0ZXItc3BhY2luZzowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjkwMH0uZWRhLWhlYWRlciBoMltkYXRhLXYtOWViOWI5Mjdde21hcmdpbjo0cHggMCAwO2ZvbnQtc2l6ZToyMnB4O2xpbmUtaGVpZ2h0OjEuMn0uZWRhLWhlYWRlciBkbFtkYXRhLXYtOWViOWI5Mjdde2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoNzBweCxhdXRvKSk7Z2FwOjEwcHg7bWFyZ2luOjA7ZGlzcGxheTpncmlkfS5lZGEtaGVhZGVyIGR0W2RhdGEtdi05ZWI5YjkyN10sLmVkYS1oZWFkZXIgZGRbZGF0YS12LTllYjliOTI3XSwuZWRhLWVudGl0eS1ncm91cCBkbFtkYXRhLXYtOWViOWI5MjddLC5lZGEtZW50aXR5LWdyb3VwIGR0W2RhdGEtdi05ZWI5YjkyN10sLmVkYS1lbnRpdHktZ3JvdXAgZGRbZGF0YS12LTllYjliOTI3XXttYXJnaW46MH0uZWRhLWhlYWRlciBkdFtkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiM3MTgwOTY7Zm9udC1zaXplOjEycHh9LmVkYS1oZWFkZXIgZGRbZGF0YS12LTllYjliOTI3XXtjb2xvcjojMTcyMDMzO2ZvbnQtd2VpZ2h0OjkwMH0uZWRhLWJvZHlbZGF0YS12LTllYjliOTI3XXtmbGV4OjE7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgzMDBweCwzMiUpIG1pbm1heCgwLDFmcik7bWluLWhlaWdodDowO2Rpc3BsYXk6Z3JpZH0uZWRhLXNpZGViYXJbZGF0YS12LTllYjliOTI3XXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjc0KTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEycHg7bWluLWhlaWdodDowO3BhZGRpbmc6MTZweDtkaXNwbGF5OmZsZXh9LmVkYS1zdW1tYXJ5W2RhdGEtdi05ZWI5YjkyN10sLmVkYS13YXJuaW5nW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1wYW5lbFtkYXRhLXYtOWViOWI5MjddLC5lZGEtZXJyb3JbZGF0YS12LTllYjliOTI3XXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjMsMzIsNTEsLjA2KX0uZWRhLXN1bW1hcnlbZGF0YS12LTllYjliOTI3XSwuZWRhLXdhcm5pbmdbZGF0YS12LTllYjliOTI3XXtwYWRkaW5nOjEycHh9LmVkYS1zdW1tYXJ5IHN0cm9uZ1tkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiMxNzIwMzM7ZGlzcGxheTpibG9ja30uZWRhLXN1bW1hcnkgcFtkYXRhLXYtOWViOWI5MjddLC5lZGEtd2FybmluZyBwW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1lbXB0eSBwW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1lbnRpdHktZ3JvdXAgcFtkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiM2NDc0OGI7bWFyZ2luOjZweCAwIDA7bGluZS1oZWlnaHQ6MS41NX0uZWRhLW1pbmktZ3JpZFtkYXRhLXYtOWViOWI5MjddLC5lZGEtc3RhdC1ncmlkW2RhdGEtdi05ZWI5YjkyN117Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpO2dhcDo4cHg7ZGlzcGxheTpncmlkfS5lZGEtbWluaS1ncmlkIGRpdltkYXRhLXYtOWViOWI5MjddLC5lZGEtc3RhdC1ncmlkIGRpdltkYXRhLXYtOWViOWI5Mjdde2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjEycHg7bWluLXdpZHRoOjA7cGFkZGluZzoxMHB4O2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjMsMzIsNTEsLjA2KX0uZWRhLW1pbmktZ3JpZCBzcGFuW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1zdGF0LWdyaWQgc3BhbltkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiM3MTgwOTY7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpibG9ja30uZWRhLW1pbmktZ3JpZCBzdHJvbmdbZGF0YS12LTllYjliOTI3XSwuZWRhLXN0YXQtZ3JpZCBzdHJvbmdbZGF0YS12LTllYjliOTI3XXtjb2xvcjojMTcyMDMzO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxOHB4O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5lZGEtd2FybmluZ1tkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiM4YTRiMDA7YmFja2dyb3VuZDojZmZmN2U4fS5lZGEtc2VhcmNoW2RhdGEtdi05ZWI5YjkyN117aGVpZ2h0OjQycHg7Zm9udDppbmhlcml0O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjEpO2JvcmRlci1yYWRpdXM6MTJweDtvdXRsaW5lOm5vbmU7cGFkZGluZzowIDEycHh9LmVkYS1zdHJlYW0tbGlzdFtkYXRhLXYtOWViOWI5Mjdde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7Z2FwOjhweDttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O292ZXJmbG93OmF1dG99LmVkYS1zdHJlYW1bZGF0YS12LTllYjliOTI3XXttaW4taGVpZ2h0Ojc4cHg7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtib3JkZXItcmFkaXVzOjEzcHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjc0cHggbWlubWF4KDAsMWZyKTthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweCAxMHB4O3BhZGRpbmc6MTBweDtkaXNwbGF5OmdyaWR9LmVkYS1zdHJlYW1bZGF0YS12LTllYjliOTI3XTpob3ZlciwuZWRhLXN0cmVhbS5hY3RpdmVbZGF0YS12LTllYjliOTI3XSwuZWRhLXRyZWUgYnV0dG9uW2RhdGEtdi05ZWI5YjkyN106aG92ZXIsLmVkYS10cmVlIGJ1dHRvbi5hY3RpdmVbZGF0YS12LTllYjliOTI3XSwuZWRhLWVudGl0eS1ncm91cCBidXR0b25bZGF0YS12LTllYjliOTI3XTpob3Zlcntib3JkZXItY29sb3I6cmdiYSgxMSwxMTYsMTI4LC4zKTtib3gtc2hhZG93OjAgMTBweCAyMnB4IHJnYmEoMjMsMzIsNTEsLjA4KX0uZWRhLXN0cmVhbSBzcGFuW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzBiNzQ4MDtiYWNrZ3JvdW5kOnJnYmEoMTEsMTE2LDEyOCwuMTIpO2JvcmRlci1yYWRpdXM6MTBweDtncmlkLXJvdzpzcGFuIDM7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0MHB4O3BhZGRpbmc6MCA4cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6OTAwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmVkYS1zdHJlYW0gc3BhbltkYXRhLXJvbGU9c3ltYm9sXVtkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiMxZDdhNTI7YmFja2dyb3VuZDpyZ2JhKDM0LDEzNCw5MCwuMTQpfS5lZGEtc3RyZWFtIHNwYW5bZGF0YS1yb2xlPWZvb3RwcmludF1bZGF0YS12LTllYjliOTI3XSwuZWRhLXN0cmVhbSBzcGFuW2RhdGEtcm9sZT1wYWRzdGFja11bZGF0YS12LTllYjliOTI3XXtjb2xvcjojNWM0N2E1O2JhY2tncm91bmQ6cmdiYSgxMTEsODcsMTkwLC4xNCl9LmVkYS1zdHJlYW0gc3Ryb25nW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1zdHJlYW0gZW1bZGF0YS12LTllYjliOTI3XSwuZWRhLXRyZWUgc3Ryb25nW2RhdGEtdi05ZWI5YjkyN10sLmVkYS10cmVlIGVtW2RhdGEtdi05ZWI5YjkyN10sLmVkYS10cmVlIHNtYWxsW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1lbnRpdHktZ3JvdXAgc3Ryb25nW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1lbnRpdHktZ3JvdXAgc3BhbltkYXRhLXYtOWViOWI5MjddLC5lZGEtZW50aXR5LWdyb3VwIGRkW2RhdGEtdi05ZWI5YjkyN117dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVufS5lZGEtc3RyZWFtIGVtW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1zdHJlYW0gc21hbGxbZGF0YS12LTllYjliOTI3XXtjb2xvcjojNzE4MDk2O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtc3R5bGU6bm9ybWFsfS5lZGEtcHJldmlld1tkYXRhLXYtOWViOWI5Mjdde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTRweDttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7cGFkZGluZzoxNnB4O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvfS5lZGEtcGFuZWxbZGF0YS12LTllYjliOTI3XXttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS5lZGEtcGFuZWwtaGVhZFtkYXRhLXYtOWViOWI5Mjdde2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTttaW4taGVpZ2h0OjU0cHg7cGFkZGluZzoxMnB4IDE0cHh9LmVkYS1wYW5lbC1oZWFkIHN0cm9uZ1tkYXRhLXYtOWViOWI5Mjdde3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi10b3A6NHB4O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5lZGEtcGFuZWwtLWNvbXBhY3QgLmVkYS1wYW5lbC1oZWFkW2RhdGEtdi05ZWI5YjkyN117bWluLWhlaWdodDphdXRvfS5lZGEtc3RhdC1ncmlkW2RhdGEtdi05ZWI5YjkyN117cGFkZGluZzoxNHB4fS5lZGEtc3RhdC1ncmlkIGRpdltkYXRhLXYtOWViOWI5Mjdde2JhY2tncm91bmQ6I2Y2ZjlmYn0uZWRhLXRvcG9sb2d5W2RhdGEtdi05ZWI5YjkyN10sLmVkYS1ib3R0b21bZGF0YS12LTllYjliOTI3XXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsLjkyZnIpIG1pbm1heCgwLDEuMDhmcik7Z2FwOjE0cHg7bWluLWhlaWdodDozMDBweDtkaXNwbGF5OmdyaWR9LmVkYS10b3BvbG9neT4uZWRhLXBhbmVsW2RhdGEtdi05ZWI5YjkyN117ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MzYwcHg7bWF4LWhlaWdodDptaW4oNTh2aCw2MjBweCk7ZGlzcGxheTpmbGV4fS5lZGEtdHJlZVtkYXRhLXYtOWViOWI5MjddLC5lZGEtZW50aXRpZXNbZGF0YS12LTllYjliOTI3XSwuZWRhLWRpYWdub3N0aWNzW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1zdHJpbmctZ3JpZFtkYXRhLXYtOWViOWI5Mjdde292ZXJzY3JvbGwtYmVoYXZpb3I6Y29udGFpbjttaW4taGVpZ2h0OjA7bWF4LWhlaWdodDozODBweDtvdmVyZmxvdzphdXRvfS5lZGEtdHJlZVtkYXRhLXYtOWViOWI5Mjdde2ZsZXg6MTttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZzoxMHB4fS5lZGEtZW50aXRpZXNbZGF0YS12LTllYjliOTI3XXtmbGV4OjE7bWF4LWhlaWdodDpub25lfS5lZGEtdHJlZSBidXR0b25bZGF0YS12LTllYjliOTI3XXt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6NDJweDtjb2xvcjppbmhlcml0O2ZvbnQ6aW5oZXJpdDt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDojZjhmYWZjO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMywzMiw1MSwuMDYpO2JvcmRlci1yYWRpdXM6MTBweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDIycHgsYXV0bykgbWlubWF4KDAsMWZyKSBtaW5tYXgoNzJweCxhdXRvKSBtaW5tYXgoNzJweCxhdXRvKTthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttYXJnaW4tYm90dG9tOjZweDtwYWRkaW5nOjhweDtkaXNwbGF5OmdyaWR9LmVkYS10cmVlIHNwYW5bZGF0YS12LTllYjliOTI3XXtjb2xvcjojMGI3NDgwO2ZvbnQtd2VpZ2h0OjkwMH0uZWRhLXRyZWUgZW1bZGF0YS12LTllYjliOTI3XSwuZWRhLXRyZWUgc21hbGxbZGF0YS12LTllYjliOTI3XXtjb2xvcjojNzE4MDk2O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtc3R5bGU6bm9ybWFsfS5lZGEtZW50aXRpZXNbZGF0YS12LTllYjliOTI3XXtwYWRkaW5nOjEycHh9LmVkYS1lbnRpdHktZ3JvdXArLmVkYS1lbnRpdHktZ3JvdXBbZGF0YS12LTllYjliOTI3XXttYXJnaW4tdG9wOjE2cHh9LmVkYS1lbnRpdHktZ3JvdXAgaDNbZGF0YS12LTllYjliOTI3XXtjb2xvcjojMTcyMDMzO21hcmdpbjowIDAgOHB4O2ZvbnQtc2l6ZToxNHB4fS5lZGEtZW50aXR5LWdyb3VwIGJ1dHRvbltkYXRhLXYtOWViOWI5Mjdde3dpZHRoOjEwMCU7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2Y4ZmFmYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtib3JkZXItcmFkaXVzOjEycHg7bWFyZ2luLWJvdHRvbTo4cHg7cGFkZGluZzoxMnB4O2Rpc3BsYXk6YmxvY2t9LmVkYS1lbnRpdHktZ3JvdXAgYnV0dG9uPnNwYW5bZGF0YS12LTllYjliOTI3XXtjb2xvcjojNzE4MDk2O21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxMnB4O2Rpc3BsYXk6YmxvY2t9LmVkYS1lbnRpdHktZ3JvdXAgZGxbZGF0YS12LTllYjliOTI3XXtnYXA6NnB4O21hcmdpbi10b3A6MTBweDtkaXNwbGF5OmdyaWR9LmVkYS1lbnRpdHktZ3JvdXAgZGwgZGl2W2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzQ3NTU2OTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6OTBweCBtaW5tYXgoMCwxZnIpO2dhcDo4cHg7bWluLXdpZHRoOjA7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpncmlkfS5lZGEtZW50aXR5LWdyb3VwIGR0W2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzcxODA5Njtmb250LXdlaWdodDo4MDB9LmVkYS1zZWxlY3RlZC1tZXRhW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1wcm9wZXJ0eS1ncmlkW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1sb2NhbC1zdHJpbmdzW2RhdGEtdi05ZWI5YjkyN117ZmxleC13cmFwOndyYXA7Z2FwOjhweDtwYWRkaW5nOjEycHggMTRweCAwO2Rpc3BsYXk6ZmxleH0uZWRhLXNlbGVjdGVkLW1ldGEgc3BhbltkYXRhLXYtOWViOWI5MjddLC5lZGEtcHJvcGVydHktZ3JpZCBkaXZbZGF0YS12LTllYjliOTI3XSwuZWRhLWxvY2FsLXN0cmluZ3Mgc3BhbltkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiMwYjc0ODA7YmFja2dyb3VuZDojZWVmNmY3O2JvcmRlci1yYWRpdXM6OTk5cHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7bWluLXdpZHRoOjA7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6ODAwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmVkYS1zZWxlY3RlZC1tZXRhIHNwYW5bZGF0YS12LTllYjliOTI3XSwuZWRhLWxvY2FsLXN0cmluZ3Mgc3BhbltkYXRhLXYtOWViOWI5Mjdde3BhZGRpbmc6NnB4IDEwcHh9LmVkYS1wcm9wZXJ0eS1ncmlkIGRpdltkYXRhLXYtOWViOWI5Mjdde21heC13aWR0aDoxMDAlO3BhZGRpbmc6NnB4IDEwcHh9LmVkYS1wcm9wZXJ0eS1ncmlkIHNwYW5bZGF0YS12LTllYjliOTI3XXtjb2xvcjojNjQ3NDhiO2ZvbnQtd2VpZ2h0OjcwMH0uZWRhLXByb3BlcnR5LWdyaWQgc3Ryb25nW2RhdGEtdi05ZWI5YjkyN117dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVufS5lZGEtcGFuZWwgcHJlW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6I2Q5ZTdmZjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7YmFja2dyb3VuZDojMTAxNzI1O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTttaW4taGVpZ2h0OjIyMHB4O21heC1oZWlnaHQ6NDQwcHg7bWFyZ2luOjEycHggMCAwO3BhZGRpbmc6MTZweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjY7b3ZlcmZsb3c6YXV0b30uZWRhLWVtcHR5W2RhdGEtdi05ZWI5YjkyN117dGV4dC1hbGlnbjpjZW50ZXI7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6MTgwcHg7cGFkZGluZzoyNHB4O2Rpc3BsYXk6ZmxleH0uZWRhLXN0cmluZy1ncmlkW2RhdGEtdi05ZWI5YjkyN117Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDE4MHB4LDFmcikpO2FsaWduLWNvbnRlbnQ6c3RhcnQ7Z2FwOjhweDtwYWRkaW5nOjE0cHg7ZGlzcGxheTpncmlkfS5lZGEtc3RyaW5nLWdyaWQgc3BhbltkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiMzMzQxNTU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7YmFja2dyb3VuZDojZjZmOWZiO2JvcmRlci1yYWRpdXM6MTBweDttaW4td2lkdGg6MDtwYWRkaW5nOjhweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O292ZXJmbG93OmhpZGRlbn0uZWRhLWRpYWdub3N0aWNzW2RhdGEtdi05ZWI5YjkyN117cGFkZGluZzoxNHB4fS5lZGEtZGlhZ25vc3RpY3MgcFtkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiM0NzU1Njk7YmFja2dyb3VuZDojZjZmOWZiO2JvcmRlci1yYWRpdXM6MTBweDttYXJnaW46MCAwIDhweDtwYWRkaW5nOjEwcHg7bGluZS1oZWlnaHQ6MS41fS5lZGEtZGlhZ25vc3RpY3MgcFtkYXRhLWxldmVsPXdhcm5pbmddW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzhhNGIwMDtiYWNrZ3JvdW5kOiNmZmY3ZTh9LmVkYS1kaWFnbm9zdGljcyBzcGFuW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzBiNzQ4MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWFyZ2luLXJpZ2h0OjhweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo5MDA7ZGlzcGxheTppbmxpbmUtZmxleH0uZWRhLWxvY2FsLXN0cmluZ3NbZGF0YS12LTllYjliOTI3XXtwYWRkaW5nLWJvdHRvbToxNHB4fS5lZGEtbG9jYWwtc3RyaW5ncyBzdHJvbmdbZGF0YS12LTllYjliOTI3XXtjb2xvcjojMTcyMDMzO3dpZHRoOjEwMCU7Zm9udC1zaXplOjEzcHh9LmVkYS1zdGF0ZVtkYXRhLXYtOWViOWI5Mjdde2JhY2tncm91bmQ6cmdiYSgyMzcsMjQxLDI0NSwuOSk7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5lZGEtc3RhdGUgc3BhbltkYXRhLXYtOWViOWI5Mjdde2JvcmRlcjozcHggc29saWQgcmdiYSgxMSwxMTYsMTI4LC4xNik7Ym9yZGVyLXRvcC1jb2xvcjojMGI3NDgwO2JvcmRlci1yYWRpdXM6OTk5cHg7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDthbmltYXRpb246LjlzIGxpbmVhciBpbmZpbml0ZSBlZGEtc3Bpbi05ZWI5YjkyN30uZWRhLWVycm9yW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzhhNGIwMDtiYWNrZ3JvdW5kOiNmZmY3ZTg7d2lkdGg6bWluKDQ0MHB4LDEwMCUgLSAzNnB4KTtwYWRkaW5nOjE0cHg7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjE4cHg7cmlnaHQ6MThweH1Aa2V5ZnJhbWVzIGVkYS1zcGluLTllYjliOTI3e3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QG1lZGlhIChtYXgtd2lkdGg6OTgwcHgpey5lZGEtaGVhZGVyW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1ib2R5W2RhdGEtdi05ZWI5YjkyN10sLmVkYS10b3BvbG9neVtkYXRhLXYtOWViOWI5MjddLC5lZGEtYm90dG9tW2RhdGEtdi05ZWI5YjkyN117Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0uZWRhLWhlYWRlcltkYXRhLXYtOWViOWI5Mjdde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3BhZGRpbmctcmlnaHQ6MjJweH0uZWRhLWJvZHlbZGF0YS12LTllYjliOTI3XXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5lZGEtc2lkZWJhcltkYXRhLXYtOWViOWI5Mjdde2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtib3JkZXItcmlnaHQ6MDttYXgtaGVpZ2h0OjQydmh9fUBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXsuZWRhLWhlYWRlciBkbFtkYXRhLXYtOWViOWI5MjddLC5lZGEtbWluaS1ncmlkW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1zdGF0LWdyaWRbZGF0YS12LTllYjliOTI3XXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmVkYS10cmVlIGJ1dHRvbltkYXRhLXYtOWViOWI5Mjdde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMjJweCxhdXRvKSBtaW5tYXgoMCwxZnIpfS5lZGEtdHJlZSBlbVtkYXRhLXYtOWViOWI5MjddLC5lZGEtdHJlZSBzbWFsbFtkYXRhLXYtOWViOWI5Mjdde2Rpc3BsYXk6bm9uZX19LmR3ZnYtcm9vdHtjb2xvcjojMTExODI3O2dyaWQtdGVtcGxhdGUtcm93czphdXRvIDFmcjtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjA7Zm9udC1mYW1pbHk6c3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFNlZ29lIFVJLFJvYm90byxOb3RvIFNhbnMsVWJ1bnR1LENhbnRhcmVsbCxIZWx2ZXRpY2EgTmV1ZSxzYW5zLXNlcmlmO2Rpc3BsYXk6Z3JpZH0uZHdmdi10b29sYmFye2JhY2tncm91bmQ6I2ZmZjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTVlN2ViO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDEycHg7ZGlzcGxheTpmbGV4fS5kd2Z2LXRvb2xiYXIgYnV0dG9uLC5kd2Z2LXRvb2xiYXIgc2VsZWN0e2ZvbnQ6aW5oZXJpdH0uZHdmdi13b3Jrc3BhY2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgyMjBweCwzMDBweCkgMWZyO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmdyaWR9LmR3ZnYtdHJlZXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZDZkOGRkO3BhZGRpbmc6OHB4O2ZvbnQtc2l6ZToxMnB4O292ZXJmbG93OmF1dG99LmR3ZnYtdHJlZVtzdHlsZSo9ImRpc3BsYXk6IG5vbmUiXSsuZHdmdi1zdGFnZXtncmlkLWNvbHVtbjoxLy0xfS5kd2Z2LXRyZWUtaGVhZGVye21hcmdpbi1ib3R0b206NHB4O2ZvbnQtd2VpZ2h0OjcwMH0uZHdmdi10cmVlLXN0YXRze2NvbG9yOiM2YjcyODA7bWFyZ2luLWJvdHRvbTo4cHh9LmR3ZnYtdHJlZSBkZXRhaWxze21hcmdpbi1sZWZ0OjhweH0uZHdmdi10cmVlIHN1bW1hcnl7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoycHggMH0uZHdmdi10cmVlLW1ldGF7Y29sb3I6IzZiNzI4MDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtwYWRkaW5nLWxlZnQ6MTRweDtmb250LWZhbWlseTp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB4O292ZXJmbG93OmhpZGRlbn0uZHdmdi1zdGFnZXtiYWNrZ3JvdW5kOiNlNWU3ZWI7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5kd2Z2LWNhbnZhc3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5kd2Z2LXdlYmdsLWNhbnZhc3twb2ludGVyLWV2ZW50czpub25lfS5kd2Z2LW92ZXJsYXktY2FudmFze3BvaW50ZXItZXZlbnRzOmF1dG87dG91Y2gtYWN0aW9uOm5vbmU7Y3Vyc29yOmdyYWJ9LmR3ZnYtb3ZlcmxheS1jYW52YXM6YWN0aXZle2N1cnNvcjpncmFiYmluZ30uZHdmdi1zdGF0dXN7Y29sb3I6IzRiNTU2MzttYXJnaW4tbGVmdDphdXRvO2ZvbnQtc2l6ZToxMnB4fS5kd2Z2LXdhcm57Y29sb3I6IzkyNDAwZX0uY2FkLXZpZXdlci1jb250YWluZXJ7bWluLXdpZHRoOjA7bWluLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uY2FkLXZpZXdlci1jYW52YXN7Y3Vyc29yOmdyYWI7dG91Y2gtYWN0aW9uOm5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja30uY2FkLXZpZXdlci1jYW52YXMuaXMtZHJhZ2dpbmd7Y3Vyc29yOmdyYWJiaW5nfS5jYWQtdmlld2VyLXdlYmdsLWNhbnZhc3t6LWluZGV4OjA7cG9zaXRpb246cmVsYXRpdmV9LmNhZC12aWV3ZXItdGV4dC1vdmVybGF5e2NvbnRhaW46c3RyaWN0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtkaXNwbGF5OmJsb2NrfS5jYWQtdmlld2VyLW5hdGl2ZS1ob3N0e3otaW5kZXg6MjtiYWNrZ3JvdW5kOiMwNTA3MGQ7bWluLXdpZHRoOjA7bWluLWhlaWdodDowO2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0uY2FkLXZpZXdlci1uYXRpdmUtaG9zdC5pcy1hY3RpdmV7ZGlzcGxheTpibG9ja30uY2FkLXZpZXdlci1uYXRpdmUtaG9zdCAuZHdmdi1yb290e2NvbG9yOiNkYmVhZmU7YmFja2dyb3VuZDojMDUwNzBkO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MH0uY2FkLXZpZXdlci1uYXRpdmUtaG9zdCAuZHdmdi10b29sYmFye2NvbG9yOiNlNWU3ZWI7YmFja2dyb3VuZDpyZ2JhKDE1LDIzLDQyLC45Nik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSg3MSw4NSwxMDUsLjY1KTtnYXA6NnB4O21pbi1oZWlnaHQ6MzRweDtwYWRkaW5nOjVweCA4cHh9LmNhZC12aWV3ZXItbmF0aXZlLWhvc3QgLmR3ZnYtdG9vbGJhciBidXR0b24sLmNhZC12aWV3ZXItbmF0aXZlLWhvc3QgLmR3ZnYtdG9vbGJhciBzZWxlY3R7Y29sb3I6I2U1ZTdlYjtiYWNrZ3JvdW5kOiMxMTE4Mjc7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEwMCwxMTYsMTM5LC43NSk7Ym9yZGVyLXJhZGl1czo2cHg7aGVpZ2h0OjI0cHg7Zm9udC1zaXplOjEycHh9LmNhZC12aWV3ZXItbmF0aXZlLWhvc3QgLmR3ZnYtdG9vbGJhciBidXR0b257Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowIDhweH0uY2FkLXZpZXdlci1uYXRpdmUtaG9zdCAuZHdmdi10b29sYmFyIGJ1dHRvbjpob3ZlciwuY2FkLXZpZXdlci1uYXRpdmUtaG9zdCAuZHdmdi10b29sYmFyIHNlbGVjdDpob3Zlcntjb2xvcjojYmZkYmZlO2JvcmRlci1jb2xvcjojNjBhNWZhfS5jYWQtdmlld2VyLW5hdGl2ZS1ob3N0IC5kd2Z2LXN0YXR1c3tjb2xvcjojOTNjNWZkO2ZvbnQtc2l6ZToxMnB4fS5jYWQtdmlld2VyLW5hdGl2ZS1ob3N0IC5kd2Z2LXdvcmtzcGFjZXtiYWNrZ3JvdW5kOiMwNTA3MGQ7bWluLWhlaWdodDowfS5jYWQtdmlld2VyLW5hdGl2ZS1ob3N0IC5kd2Z2LXN0YWdle2JhY2tncm91bmQ6IzA1MDcwZH0uY2FkLXZpZXdlci1uYXRpdmUtaG9zdCAuZHdmdi10cmVle2NvbG9yOiNkYmVhZmU7YmFja2dyb3VuZDojMGYxNzJhO2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSg3MSw4NSwxMDUsLjcpfS5jYWQtdmlld2VyLW5hdGl2ZS1ob3N0IC5kd2Z2LXRyZWUtc3RhdHMsLmNhZC12aWV3ZXItbmF0aXZlLWhvc3QgLmR3ZnYtdHJlZS1tZXRhe2NvbG9yOiM5NGEzYjh9LmNhZC12aWV3ZXItbmF0aXZlLWhvc3QgLmR3ZnYtd2Fybntjb2xvcjojZmJiZjI0fS5jYWQtc2hlbGxbZGF0YS12LTc2OTMzMzJjXXtjb2xvcjojMTQyMzM1O2JhY2tncm91bmQ6I2Y1ZjdmYjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleH0uY2FkLXRvb2xiYXJbZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxNSwyMyw0MiwuMDgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTZweDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE0cHg7ZGlzcGxheTpmbGV4fS5jYWQtdG9vbHNbZGF0YS12LTc2OTMzMzJjXSwuY2FkLW1ldGFbZGF0YS12LTc2OTMzMzJjXXthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtkaXNwbGF5OmZsZXh9LmNhZC10b29scyBidXR0b25bZGF0YS12LTc2OTMzMzJjXXtjb2xvcjojMjUzNDRjO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6cmdiYSgxNSwyMyw0MiwuMDYpO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OHB4O21pbi13aWR0aDozNHB4O21pbi1oZWlnaHQ6MzBweDtmb250LXdlaWdodDo4MDA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xOHMsY29sb3IgLjE4c30uY2FkLXRvb2xzIGJ1dHRvbltkYXRhLXYtNzY5MzMzMmNdOmhvdmVye2NvbG9yOiMwZjhmNjI7YmFja2dyb3VuZDpyZ2JhKDMxLDE1MCwxMTAsLjE0KX0uY2FkLXpvb21bZGF0YS12LTc2OTMzMzJjXSwuY2FkLW1ldGEgc3BhbltkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiM2NDc0OGI7bGV0dGVyLXNwYWNpbmc6MDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo4MDB9LmNhZC1tZXRhIHNwYW5bZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kOnJnYmEoMTUsMjMsNDIsLjA2KTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6NXB4IDlweH0uY2FkLWJvZHlbZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kOiNlZWYyZjc7ZmxleDoxO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMTY4cHgsMjIwcHgpIG1pbm1heCgwLDFmcikgbWlubWF4KDE1MHB4LDE5MHB4KTttaW4taGVpZ2h0OjA7ZGlzcGxheTpncmlkfS5jYWQtYm9keS53aXRob3V0LWxheWVyc1tkYXRhLXYtNzY5MzMzMmNde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIG1pbm1heCgxNTBweCwxOTBweCl9LmNhZC1sYXllcnNbZGF0YS12LTc2OTMzMzJjXSwuY2FkLWluc3BlY3RvcltkYXRhLXYtNzY5MzMzMmNde2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMTUsMjMsNDIsLjA4KTttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6YXV0b30uY2FkLWluc3BlY3RvcltkYXRhLXYtNzY5MzMzMmNde2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2JhKDE1LDIzLDQyLC4wOCk7Ym9yZGVyLXJpZ2h0OjA7cGFkZGluZzoxNHB4fS5jYWQtbGF5ZXJzLWhlYWRbZGF0YS12LTc2OTMzMzJjXXtjb2xvcjojMWYyYTNkO3otaW5kZXg6MTtiYWNrZ3JvdW5kOiNmZmY7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MTJweCAxMnB4IDhweDtmb250LXNpemU6MTNweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246LXdlYmtpdC1zdGlja3k7cG9zaXRpb246c3RpY2t5O3RvcDowfS5jYWQtbGF5ZXJzLWhlYWQgc3BhbltkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiM3YjhjYTU7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwfS5jYWQtbGF5ZXJzIGJ1dHRvbltkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiMyNTM0NGM7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQ6I2Y4ZmFmYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTQ4LDE2MywxODQsLjIyKTtib3JkZXItcmFkaXVzOjhweDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDt3aWR0aDpjYWxjKDEwMCUgLSAxNnB4KTttaW4taGVpZ2h0OjM0cHg7bWFyZ2luOjAgOHB4IDZweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7ZGlzcGxheTpmbGV4fS5jYWQtbGF5ZXJzIGJ1dHRvbi5tdXRlZFtkYXRhLXYtNzY5MzMzMmNde29wYWNpdHk6LjQ4fS5jYWQtbGF5ZXItY29sb3JbZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kOiMxZjk2NmU7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleDpub25lO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgxNSwyMyw0MiwuMTQpfS5jYWQtY2FudmFzLXdyYXBbZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kLWNvbG9yOiNmOGZhZmM7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgxNSwyMyw0MiwuMDQpIDFweCx0cmFuc3BhcmVudCAxcHgpLGxpbmVhci1ncmFkaWVudChyZ2JhKDE1LDIzLDQyLC4wNCkgMXB4LHRyYW5zcGFyZW50IDFweCksbm9uZTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMCwwIDAsMCAwO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdCxyZXBlYXQscmVwZWF0O2JhY2tncm91bmQtc2l6ZToyOHB4IDI4cHg7YmFja2dyb3VuZC1hdHRhY2htZW50OnNjcm9sbCxzY3JvbGwsc2Nyb2xsO2JhY2tncm91bmQtb3JpZ2luOnBhZGRpbmctYm94LHBhZGRpbmctYm94LHBhZGRpbmctYm94O2JhY2tncm91bmQtY2xpcDpib3JkZXItYm94LGJvcmRlci1ib3gsYm9yZGVyLWJveDttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5jYWQtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6NDIwcHg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5jYWQtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXSBjYW52YXN7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt3aWR0aDoxMDAlIWltcG9ydGFudDtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9LmNhZC1uYXRpdmUtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXXt6LWluZGV4OjI7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO292ZXJmbG93OmhpZGRlbn0uY2FkLW5hdGl2ZS1zdGFnZVtkYXRhLXYtNzY5MzMzMmNdOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6YmxvY2t9LmNhZC1uYXRpdmUtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXSAqe2JveC1zaXppbmc6Ym9yZGVyLWJveH0uY2FkLW5hdGl2ZS1zdGFnZVtkYXRhLXYtNzY5MzMzMmNdIC5kd2Z2LXJvb3QsLmNhZC1uYXRpdmUtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXSAuZHdmdi13b3Jrc3BhY2UsLmNhZC1uYXRpdmUtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXSAuZHdmdi1zdGFnZXt3aWR0aDoxMDAlO21pbi13aWR0aDowO21pbi1oZWlnaHQ6MH0uY2FkLW5hdGl2ZS1zdGFnZVtkYXRhLXYtNzY5MzMzMmNdIC5kd2Z2LXJvb3R7aGVpZ2h0OjEwMCV9LmNhZC1zdGF0ZVtkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiM1MzYzN2E7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45Mik7Ym9yZGVyLXJhZGl1czoxMnB4O21heC13aWR0aDptaW4oNTIwcHgsMTAwJSAtIDQ4cHgpO3BhZGRpbmc6MTRweCAxOHB4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjgwMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2JvdHRvbTphdXRvO2xlZnQ6NTAlO3JpZ2h0OmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2JveC1zaGFkb3c6MCAxNHB4IDM4cHggcmdiYSgxNSwyMyw0MiwuMTIpfS5jYWQtc3RhdGUuZXJyb3JbZGF0YS12LTc2OTMzMzJjXXtjb2xvcjojYjQyMzE4fS5jYWQtaW5zcGVjdG9yIHN0cm9uZ1tkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiMxZjJhM2Q7bWFyZ2luLWJvdHRvbToxMnB4O2ZvbnQtc2l6ZToxM3B4O2Rpc3BsYXk6YmxvY2t9LmNhZC1pbnNwZWN0b3IgZGxbZGF0YS12LTc2OTMzMzJjXXtnYXA6OHB4O21hcmdpbjowO2Rpc3BsYXk6Z3JpZH0uY2FkLWluc3BlY3RvciBkbCBkaXZbZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kOiNmOGZhZmM7Ym9yZGVyLXJhZGl1czo4cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6OHB4IDEwcHg7ZGlzcGxheTpmbGV4fS5jYWQtaW5zcGVjdG9yIGR0W2RhdGEtdi03NjkzMzMyY10sLmNhZC1pbnNwZWN0b3IgZGRbZGF0YS12LTc2OTMzMzJjXXttYXJnaW46MDtmb250LXNpemU6MTJweH0uY2FkLWluc3BlY3RvciBkdFtkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiM3YjhjYTU7Zm9udC13ZWlnaHQ6NzAwfS5jYWQtaW5zcGVjdG9yIGRkW2RhdGEtdi03NjkzMzMyY117Y29sb3I6IzIwMzA0YTtmb250LXdlaWdodDo5MDB9LmNhZC13YXJuaW5nW2RhdGEtdi03NjkzMzMyY117Y29sb3I6IzkyNDAwZTtiYWNrZ3JvdW5kOnJnYmEoMjQ1LDE1OCwxMSwuMTMpO2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbjoxMnB4IDAgMDtwYWRkaW5nOjEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41NX1AbWVkaWEgKG1heC13aWR0aDo4NjBweCl7LmNhZC1ib2R5W2RhdGEtdi03NjkzMzMyY10sLmNhZC1ib2R5LndpdGhvdXQtbGF5ZXJzW2RhdGEtdi03NjkzMzMyY117Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcil9LmNhZC1sYXllcnNbZGF0YS12LTc2OTMzMzJjXSwuY2FkLWluc3BlY3RvcltkYXRhLXYtNzY5MzMzMmNde2Rpc3BsYXk6bm9uZX19Lm1vZGVsLXZpZXdlcltkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiMxNjIzMzM7YmFja2dyb3VuZDojZjhmYWZjO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4fS5tb2RlbC10b29sYmFyW2RhdGEtdi05ZDJlMjNkZl17YmFja2dyb3VuZDojZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTUsMjMsNDIsLjA4KTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE2cHg7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6MCAxMnB4O2Rpc3BsYXk6ZmxleH0ubW9kZWwtYWN0aW9uc1tkYXRhLXYtOWQyZTIzZGZde2ZsZXgtd3JhcDp3cmFwO2dhcDo2cHg7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4fS5tb2RlbC1hY3Rpb25zIGJ1dHRvbltkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiM0NzU1Njk7Y3Vyc29yOnBvaW50ZXI7bGV0dGVyLXNwYWNpbmc6MDtiYWNrZ3JvdW5kOnJnYmEoMTUsMjMsNDIsLjA2KTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjhweDttaW4taGVpZ2h0OjMwcHg7cGFkZGluZzowIDEwcHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMThzLGNvbG9yIC4xOHN9Lm1vZGVsLWFjdGlvbnMgYnV0dG9uLmFjdGl2ZVtkYXRhLXYtOWQyZTIzZGZdLC5tb2RlbC1hY3Rpb25zIGJ1dHRvbltkYXRhLXYtOWQyZTIzZGZdOmhvdmVye2NvbG9yOiMxNjgwNGY7YmFja2dyb3VuZDpyZ2JhKDMzLDE2MywxMDIsLjE0KX0ubW9kZWwtbWV0YVtkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiM2NDc0OGI7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21pbi13aWR0aDowO2ZvbnQtc2l6ZToxMnB4O2Rpc3BsYXk6ZmxleH0ubW9kZWwtbWV0YSBzdHJvbmdbZGF0YS12LTlkMmUyM2RmXXtjb2xvcjojMGY3NjZlO2ZvbnQtd2VpZ2h0OjgwMH0ubW9kZWwtbWV0YSBzcGFuW2RhdGEtdi05ZDJlMjNkZl17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVufS5tb2RlbC1zdGFnZVtkYXRhLXYtOWQyZTIzZGZde2ZsZXg6MTttaW4taGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5tb2RlbC1zdGFnZSBjYW52YXNbZGF0YS12LTlkMmUyM2RmXXtvdXRsaW5lOm5vbmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfS5tb2RlbC1zdGF0ZVtkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiM2NDc0OGI7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDpyZ2JhKDI0OCwyNTAsMjUyLC44OCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6MjRweDtsaW5lLWhlaWdodDoxLjc7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5tb2RlbC1zdGF0ZS5lcnJvcltkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiNiNDIzMTh9Lm1vZGVsLXN0YXRlIHN0cm9uZ1tkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiNiNDIzMTg7Zm9udC1zaXplOjE4cHh9QG1lZGlhIChtYXgtd2lkdGg6NzIwcHgpey5tb2RlbC10b29sYmFyW2RhdGEtdi05ZDJlMjNkZl17ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjhweDttaW4taGVpZ2h0OjY0cHg7cGFkZGluZzo4cHggMTBweH0ubW9kZWwtbWV0YVtkYXRhLXYtOWQyZTIzZGZde2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3dpZHRoOjEwMCV9fS5kcmF3aW5nLXZpZXdlcltkYXRhLXYtYmFlZmQ4MzNde2NvbG9yOiMxNzIwMzM7YmFja2dyb3VuZDojZWRmMmY3O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjM2MHB4O2Rpc3BsYXk6ZmxleH0uZHJhd2luZy10b29sYmFyW2RhdGEtdi1iYWVmZDgzM117ei1pbmRleDoyOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7YmFja2dyb3VuZDpyZ2JhKDI0OCwyNTAsMjUyLC45Mik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxNDgsMTYzLDE4NCwuMzUpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTZweDttaW4taGVpZ2h0OjQ2cHg7cGFkZGluZzo4cHggMTRweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246LXdlYmtpdC1zdGlja3k7cG9zaXRpb246c3RpY2t5O3RvcDowfS5kcmF3aW5nLXRpdGxlW2RhdGEtdi1iYWVmZDgzM117YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleH0uZHJhd2luZy10aXRsZSBzcGFuW2RhdGEtdi1iYWVmZDgzM117Y29sb3I6I2ZmZjtsZXR0ZXItc3BhY2luZzowO2JhY2tncm91bmQ6IzBmNzY2ZTtib3JkZXItcmFkaXVzOjZweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MjRweDtwYWRkaW5nOjAgOHB4O2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjgwMDtkaXNwbGF5OmlubGluZS1mbGV4fS5kcmF3aW5nLXRpdGxlIHN0cm9uZ1tkYXRhLXYtYmFlZmQ4MzNde2NvbG9yOiMxNzIwMzM7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6ODAwO292ZXJmbG93OmhpZGRlbn0uZHJhd2luZy1hY3Rpb25zW2RhdGEtdi1iYWVmZDgzM117ZmxleC1zaHJpbms6MDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtkaXNwbGF5OmZsZXh9LmRyYXdpbmctYWN0aW9ucyBidXR0b25bZGF0YS12LWJhZWZkODMzXXtjb2xvcjojMGYxNzJhO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTAwLDExNiwxMzksLjI4KTtib3JkZXItcmFkaXVzOjZweDttaW4td2lkdGg6MzJweDtoZWlnaHQ6MjhweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo4MDB9LmRyYXdpbmctYWN0aW9ucyBidXR0b25bZGF0YS12LWJhZWZkODMzXTpob3Zlcntjb2xvcjojMGY3NjZlO2JvcmRlci1jb2xvcjpyZ2JhKDE1LDExOCwxMTAsLjUpfS5kcmF3aW5nLWFjdGlvbnMgc3BhbltkYXRhLXYtYmFlZmQ4MzNde2NvbG9yOiM2NDc0OGI7dGV4dC1hbGlnbjpjZW50ZXI7bWluLXdpZHRoOjQ4cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6ODAwfS5kcmF3aW5nLXN0YWdlW2RhdGEtdi1iYWVmZDgzM117ZmxleDoxO21pbi1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LmRyYXdpbmctc2Nyb2xsW2RhdGEtdi1iYWVmZDgzM117aGVpZ2h0OjEwMCU7cGFkZGluZzoyMnB4O292ZXJmbG93OmF1dG99LmRyYXdpbmctY2FudmFzW2RhdGEtdi1iYWVmZDgzM117d2lkdGg6MTAwJTttaW4taGVpZ2h0OjQyMHB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMsem9vbSAuMThzfS5kcmF3aW5nLWNhbnZhc1tkYXRhLXYtYmFlZmQ4MzNdIC5kcmF3aW5nLXN2ZywuZHJhd2luZy1jYW52YXNbZGF0YS12LWJhZWZkODMzXSBzdmd7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MTBweDttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0bzttYXJnaW46MCBhdXRvO2Rpc3BsYXk6YmxvY2s7Ym94LXNoYWRvdzowIDE4cHggNDJweCByZ2JhKDE1LDIzLDQyLC4xMil9LmRyYXdpbmctY2FudmFzW2RhdGEtdi1iYWVmZDgzM10gLmRyYXdpbmctbXhncmFwaHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxMHB4O21pbi1oZWlnaHQ6NDIwcHg7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6MCAxOHB4IDQycHggcmdiYSgxNSwyMyw0MiwuMTIpfS5kcmF3aW5nLXN0YXRlW2RhdGEtdi1iYWVmZDgzM117ei1pbmRleDoxO2NvbG9yOiM2NDc0OGI7dGV4dC1hbGlnbjpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoyNHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9LmRyYXdpbmctc3RhdGUuZXJyb3JbZGF0YS12LWJhZWZkODMzXXtjb2xvcjojYjQyMzE4fUBtZWRpYSAobWF4LXdpZHRoOjcyMHB4KXsuZHJhd2luZy10b29sYmFyW2RhdGEtdi1iYWVmZDgzM117ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LmRyYXdpbmctYWN0aW9uc1tkYXRhLXYtYmFlZmQ4MzNde2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3dpZHRoOjEwMCV9LmRyYXdpbmctc2Nyb2xsW2RhdGEtdi1iYWVmZDgzM117cGFkZGluZzoxMnB4fX0uZXB1Yi12aWV3ZXJbZGF0YS12LThmOGEyYjNiXXtjb2xvcjojMTcyMDMzO2JhY2tncm91bmQ6I2VlZjFmNDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS5lcHViLXRvb2xiYXJbZGF0YS12LThmOGEyYjNiXXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkyKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDE1LDIzLDQyLC4wOCk7ZmxleC1zaHJpbms6MDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDBweCBtaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6MTJweCAxNHB4O2Rpc3BsYXk6Z3JpZH0uZXB1Yi10aXRsZVtkYXRhLXYtOGY4YTJiM2Jde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6M3B4O21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleH0uZXB1Yi10aXRsZSBzdHJvbmdbZGF0YS12LThmOGEyYjNiXSwuZXB1Yi10aXRsZSBzcGFuW2RhdGEtdi04ZjhhMmIzYl17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVufS5lcHViLXRpdGxlIHN0cm9uZ1tkYXRhLXYtOGY4YTJiM2Jde2ZvbnQtc2l6ZToxNHB4fS5lcHViLXRpdGxlIHNwYW5bZGF0YS12LThmOGEyYjNiXXtjb2xvcjojNjQ3NDhiO2ZvbnQtc2l6ZToxMnB4fS5lcHViLWljb24tYnV0dG9uW2RhdGEtdi04ZjhhMmIzYl0sLmVwdWItYnV0dG9uW2RhdGEtdi04ZjhhMmIzYl17Y29sb3I6IzE3MjAzMztoZWlnaHQ6MzZweDtmb250OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgcmdiYSgxNSwyMyw0MiwuMDgpfS5lcHViLWljb24tYnV0dG9uW2RhdGEtdi04ZjhhMmIzYl17Ym9yZGVyLXJhZGl1czo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6NDBweDtkaXNwbGF5OmlubGluZS1mbGV4fS5lcHViLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LThmOGEyYjNiXSwuZXB1Yi1pY29uLWJ1dHRvbiBzcGFuW2RhdGEtdi04ZjhhMmIzYl06YmVmb3JlLC5lcHViLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LThmOGEyYjNiXTphZnRlcntiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtib3JkZXItcmFkaXVzOjk5OXB4O3dpZHRoOjE2cHg7aGVpZ2h0OjJweDtkaXNwbGF5OmJsb2NrfS5lcHViLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LThmOGEyYjNiXXtwb3NpdGlvbjpyZWxhdGl2ZX0uZXB1Yi1pY29uLWJ1dHRvbiBzcGFuW2RhdGEtdi04ZjhhMmIzYl06YmVmb3JlLC5lcHViLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LThmOGEyYjNiXTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MH0uZXB1Yi1pY29uLWJ1dHRvbiBzcGFuW2RhdGEtdi04ZjhhMmIzYl06YmVmb3Jle3RvcDotNXB4fS5lcHViLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LThmOGEyYjNiXTphZnRlcnt0b3A6NXB4fS5lcHViLWljb24tYnV0dG9uLmFjdGl2ZVtkYXRhLXYtOGY4YTJiM2Jde2NvbG9yOiMxZDRlZDg7YmFja2dyb3VuZDpyZ2JhKDM3LDk5LDIzNSwuMDgpO2JvcmRlci1jb2xvcjpyZ2JhKDM3LDk5LDIzNSwuMjQpfS5lcHViLWFjdGlvbnNbZGF0YS12LThmOGEyYjNiXXthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtkaXNwbGF5OmZsZXh9LmVwdWItYnV0dG9uW2RhdGEtdi04ZjhhMmIzYl17Ym9yZGVyLXJhZGl1czo4cHg7bWluLXdpZHRoOjY4cHg7cGFkZGluZzowIDEycHg7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwfS5lcHViLWJ1dHRvbltkYXRhLXYtOGY4YTJiM2JdOmRpc2FibGVke2NvbG9yOiM5NGEzYjg7Y3Vyc29yOm5vdC1hbGxvd2VkfS5lcHViLXByb2dyZXNzW2RhdGEtdi04ZjhhMmIzYl17Y29sb3I6IzY0NzQ4Yjt0ZXh0LWFsaWduOmNlbnRlcjttaW4td2lkdGg6NThweDtmb250LXNpemU6MTJweH0uZXB1Yi1ib2R5W2RhdGEtdi04ZjhhMmIzYl17ZmxleDoxO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMTgwcHgsMjQwcHgpIG1pbm1heCgwLDFmcik7bWluLWhlaWdodDowO2Rpc3BsYXk6Z3JpZH0uZXB1Yi12aWV3ZXItLXRvYy1oaWRkZW4gLmVwdWItYm9keVtkYXRhLXYtOGY4YTJiM2Jde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5lcHViLXRvY1tkYXRhLXYtOGY4YTJiM2Jde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOCk7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDE1LDIzLDQyLC4wOCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXh9LmVwdWItdG9jLWhlYWRbZGF0YS12LThmOGEyYjNiXXtjb2xvcjojMTcyMDMzO2ZsZXgtc2hyaW5rOjA7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjhweDtwYWRkaW5nOjEycHg7Zm9udC1zaXplOjEzcHg7ZGlzcGxheTpmbGV4fS5lcHViLXRvYy1oZWFkIHNwYW5bZGF0YS12LThmOGEyYjNiXXtjb2xvcjojNjQ3NDhifS5lcHViLXRvYy1saXN0W2RhdGEtdi04ZjhhMmIzYl17ZmxleDoxO21pbi1oZWlnaHQ6MDtwYWRkaW5nOjAgOHB4IDEwcHg7b3ZlcmZsb3c6YXV0b30uZXB1Yi10b2MtaXRlbVtkYXRhLXYtOGY4YTJiM2Jde2NvbG9yOiM0NzU1Njk7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjM0cHg7Zm9udDppbmhlcml0O3RleHQtYWxpZ246bGVmdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjhweDtmb250LXNpemU6MTJweH0uZXB1Yi10b2MtaXRlbVtkYXRhLXYtOGY4YTJiM2JdOmhvdmVyLC5lcHViLXRvYy1pdGVtLmFjdGl2ZVtkYXRhLXYtOGY4YTJiM2Jde2NvbG9yOiMxZDRlZDg7YmFja2dyb3VuZDpyZ2JhKDM3LDk5LDIzNSwuMDgpfS5lcHViLXN0YWdlLXdyYXBbZGF0YS12LThmOGEyYjNiXXttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7cGFkZGluZzoxOHB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uZXB1Yi1zdGFnZVtkYXRhLXYtOGY4YTJiM2Jde2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjhweDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bztib3gtc2hhZG93OjAgMThweCA0NXB4IHJnYmEoMTUsMjMsNDIsLjEyKSxpbnNldCAwIDAgMCAxcHggcmdiYSgxNSwyMyw0MiwuMDYpfS5lcHViLXN0YWdlW2RhdGEtdi04ZjhhMmIzYl0gLmVwdWItY29udGFpbmVye21heC13aWR0aDoxMDAlO3dpZHRoOjEwMCUhaW1wb3J0YW50O292ZXJmbG93LXg6aGlkZGVuIWltcG9ydGFudDtvdmVyZmxvdy15OmF1dG8haW1wb3J0YW50fS5lcHViLXN0YWdlW2RhdGEtdi04ZjhhMmIzYl0gaWZyYW1le21heC13aWR0aDoxMDAlfS5lcHViLXN0YXRlW2RhdGEtdi04ZjhhMmIzYl17Y29sb3I6IzY0NzQ4YjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkyKTtib3JkZXItcmFkaXVzOjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE4cHg7Ym90dG9tOjE4cHg7bGVmdDoxOHB4O3JpZ2h0OjE4cHh9LmVwdWItc3RhdGUuZXJyb3JbZGF0YS12LThmOGEyYjNiXXtjb2xvcjojYjQyMzE4fUBtZWRpYSAobWF4LXdpZHRoOjcyMHB4KXsuZXB1Yi10b29sYmFyW2RhdGEtdi04ZjhhMmIzYl17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQwcHggbWlubWF4KDAsMWZyKX0uZXB1Yi1hY3Rpb25zW2RhdGEtdi04ZjhhMmIzYl17Z3JpZC1jb2x1bW46MS8tMTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uZXB1Yi1ib2R5W2RhdGEtdi04ZjhhMmIzYl17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcik7cG9zaXRpb246cmVsYXRpdmV9LmVwdWItdG9jW2RhdGEtdi04ZjhhMmIzYl17ei1pbmRleDo1O3dpZHRoOm1pbig4MnZ3LDI4MHB4KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7Ym94LXNoYWRvdzoxOHB4IDAgNDBweCByZ2JhKDE1LDIzLDQyLC4xNil9LmVwdWItc3RhZ2Utd3JhcFtkYXRhLXYtOGY4YTJiM2Jde3BhZGRpbmc6MTJweH19LnVtZC12aWV3ZXJbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojMTcyMDMzO2JhY2tncm91bmQ6I2VlZjFmNDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS51bWQtdG9vbGJhcltkYXRhLXYtNzliMjQyYTFde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTQpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTUsMjMsNDIsLjA4KTtmbGV4LXNocmluazowO2dyaWQtdGVtcGxhdGUtY29sdW1uczo0MHB4IG1pbm1heCgwLDFmcikgYXV0bzthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7cGFkZGluZzoxMnB4IDE0cHg7ZGlzcGxheTpncmlkfS51bWQtdGl0bGVbZGF0YS12LTc5YjI0MmExXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjNweDttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXh9LnVtZC10aXRsZSBzdHJvbmdbZGF0YS12LTc5YjI0MmExXSwudW1kLXRpdGxlIHNwYW5bZGF0YS12LTc5YjI0MmExXXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59LnVtZC10aXRsZSBzdHJvbmdbZGF0YS12LTc5YjI0MmExXXtmb250LXNpemU6MTRweH0udW1kLXRpdGxlIHNwYW5bZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhiO2ZvbnQtc2l6ZToxMnB4fS51bWQtaWNvbi1idXR0b25bZGF0YS12LTc5YjI0MmExXSwudW1kLWJ1dHRvbltkYXRhLXYtNzliMjQyYTFde2NvbG9yOiMxNzIwMzM7aGVpZ2h0OjM2cHg7Zm9udDppbmhlcml0O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTUsMjMsNDIsLjA4KX0udW1kLWljb24tYnV0dG9uW2RhdGEtdi03OWIyNDJhMV17Ym9yZGVyLXJhZGl1czo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6NDBweDtkaXNwbGF5OmlubGluZS1mbGV4fS51bWQtaWNvbi1idXR0b24gc3BhbltkYXRhLXYtNzliMjQyYTFdLC51bWQtaWNvbi1idXR0b24gc3BhbltkYXRhLXYtNzliMjQyYTFdOmJlZm9yZSwudW1kLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LTc5YjI0MmExXTphZnRlcntiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtib3JkZXItcmFkaXVzOjk5OXB4O3dpZHRoOjE2cHg7aGVpZ2h0OjJweDtkaXNwbGF5OmJsb2NrfS51bWQtaWNvbi1idXR0b24gc3BhbltkYXRhLXYtNzliMjQyYTFde3Bvc2l0aW9uOnJlbGF0aXZlfS51bWQtaWNvbi1idXR0b24gc3BhbltkYXRhLXYtNzliMjQyYTFdOmJlZm9yZSwudW1kLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LTc5YjI0MmExXTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MH0udW1kLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LTc5YjI0MmExXTpiZWZvcmV7dG9wOi01cHh9LnVtZC1pY29uLWJ1dHRvbiBzcGFuW2RhdGEtdi03OWIyNDJhMV06YWZ0ZXJ7dG9wOjVweH0udW1kLWljb24tYnV0dG9uLmFjdGl2ZVtkYXRhLXYtNzliMjQyYTFde2NvbG9yOiMwMzY5YTE7YmFja2dyb3VuZDpyZ2JhKDIsMTMyLDE5OSwuMDgpO2JvcmRlci1jb2xvcjpyZ2JhKDIsMTMyLDE5OSwuMjQpfS51bWQtYWN0aW9uc1tkYXRhLXYtNzliMjQyYTFde2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2Rpc3BsYXk6ZmxleH0udW1kLWJ1dHRvbltkYXRhLXYtNzliMjQyYTFde2JvcmRlci1yYWRpdXM6OHB4O21pbi13aWR0aDo2OHB4O3BhZGRpbmc6MCAxMnB4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjcwMH0udW1kLWJ1dHRvbltkYXRhLXYtNzliMjQyYTFdOmRpc2FibGVke2NvbG9yOiM5NGEzYjg7Y3Vyc29yOm5vdC1hbGxvd2VkfS51bWQtcHJvZ3Jlc3NbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhiO3RleHQtYWxpZ246Y2VudGVyO21pbi13aWR0aDo1OHB4O2ZvbnQtc2l6ZToxMnB4fS51bWQtYm9keVtkYXRhLXYtNzliMjQyYTFde2ZsZXg6MTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDE4MHB4LDI0MHB4KSBtaW5tYXgoMCwxZnIpO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmdyaWR9LnVtZC12aWV3ZXItLXRvYy1oaWRkZW4gLnVtZC1ib2R5W2RhdGEtdi03OWIyNDJhMV17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcil9LnVtZC10b2NbZGF0YS12LTc5YjI0MmExXXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjgyKTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMTUsMjMsNDIsLjA4KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7bWluLWhlaWdodDowO2Rpc3BsYXk6ZmxleH0udW1kLXRvYy1oZWFkW2RhdGEtdi03OWIyNDJhMV17Y29sb3I6IzE3MjAzMztmbGV4LXNocmluazowO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHg7cGFkZGluZzoxMnB4O2ZvbnQtc2l6ZToxM3B4O2Rpc3BsYXk6ZmxleH0udW1kLXRvYy1oZWFkIHNwYW5bZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhifS51bWQtdG9jLWxpc3RbZGF0YS12LTc5YjI0MmExXXtmbGV4OjE7bWluLWhlaWdodDowO3BhZGRpbmc6MCA4cHggMTBweDtvdmVyZmxvdzphdXRvfS51bWQtdG9jLWl0ZW1bZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNDc1NTY5O3dpZHRoOjEwMCU7bWluLWhlaWdodDozNHB4O2ZvbnQ6aW5oZXJpdDt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czo4cHg7cGFkZGluZzo3cHggMTBweDtmb250LXNpemU6MTJweH0udW1kLXRvYy1pdGVtW2RhdGEtdi03OWIyNDJhMV06aG92ZXIsLnVtZC10b2MtaXRlbS5hY3RpdmVbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojMDM2OWExO2JhY2tncm91bmQ6cmdiYSgyLDEzMiwxOTksLjA4KX0udW1kLXN0YWdlLXdyYXBbZGF0YS12LTc5YjI0MmExXXttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7cGFkZGluZzoxOHB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0udW1kLXN0YWdlW2RhdGEtdi03OWIyNDJhMV17YmFja2dyb3VuZDojZmZmZWY4O2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bztib3gtc2hhZG93OjAgMThweCA0NXB4IHJnYmEoMTUsMjMsNDIsLjEyKSxpbnNldCAwIDAgMCAxcHggcmdiYSgxNSwyMyw0MiwuMDYpfS51bWQtYm9vay1oZWFkW2RhdGEtdi03OWIyNDJhMV17Z2FwOjIwcHg7bWF4LXdpZHRoOjgyMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzozMnB4IDM0cHggOHB4O2Rpc3BsYXk6ZmxleH0udW1kLWJvb2staGVhZCBpbWdbZGF0YS12LTc5YjI0MmExXXtvYmplY3QtZml0OmNvdmVyO2JvcmRlci1yYWRpdXM6NnB4O3dpZHRoOjk2cHg7bWF4LWhlaWdodDoxMzZweDtib3gtc2hhZG93OjAgMTJweCAyNnB4IHJnYmEoMTUsMjMsNDIsLjE2KX0udW1kLWJvb2staGVhZCBkaXZbZGF0YS12LTc5YjI0MmExXXttaW4td2lkdGg6MH0udW1kLWJvb2staGVhZCBoMVtkYXRhLXYtNzliMjQyYTFde2NvbG9yOiMxMTE4Mjc7bWFyZ2luOjA7Zm9udC1zaXplOjI0cHg7bGluZS1oZWlnaHQ6MS4zfS51bWQtYm9vay1oZWFkIHBbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhiO21hcmdpbjo4cHggMCAwO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNn0udW1kLWNoYXB0ZXJbZGF0YS12LTc5YjI0MmExXXttYXgtd2lkdGg6ODIwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjI4cHggMzRweCA1NnB4fS51bWQtY2hhcHRlciBoMltkYXRhLXYtNzliMjQyYTFde2NvbG9yOiMxMTE4Mjc7bWFyZ2luOjAgMCAyMnB4O2ZvbnQtc2l6ZToyMnB4O2xpbmUtaGVpZ2h0OjEuMzV9LnVtZC10ZXh0W2RhdGEtdi03OWIyNDJhMV17Y29sb3I6IzFmMjkzNzt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Zm9udC1mYW1pbHk6R2VvcmdpYSxUaW1lcyBOZXcgUm9tYW4sU29uZ3RpIFNDLFNpbVN1bixzZXJpZjtmb250LXNpemU6MTdweDtsaW5lLWhlaWdodDoxLjg2fS51bWQtaW1hZ2UtbGlzdFtkYXRhLXYtNzliMjQyYTFde2dhcDoxOHB4O2Rpc3BsYXk6Z3JpZH0udW1kLWltYWdlLWxpc3QgZmlndXJlW2RhdGEtdi03OWIyNDJhMV17dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjB9LnVtZC1pbWFnZS1saXN0IGltZ1tkYXRhLXYtNzliMjQyYTFde2JvcmRlci1yYWRpdXM6NnB4O21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvO2JveC1zaGFkb3c6MCAxMHB4IDI0cHggcmdiYSgxNSwyMyw0MiwuMTIpfS51bWQtZW1wdHlbZGF0YS12LTc5YjI0MmExXSwudW1kLXdhcm5pbmdbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhiO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuN30udW1kLXdhcm5pbmdbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojYjQ1MzA5O21heC13aWR0aDo4MjBweDttYXJnaW46LTI4cHggYXV0byAzNnB4O3BhZGRpbmc6MCAzNHB4fS51bWQtc3RhdGVbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhiO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTIpO2JvcmRlci1yYWRpdXM6OHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MThweDtib3R0b206MThweDtsZWZ0OjE4cHg7cmlnaHQ6MThweH0udW1kLXN0YXRlLmVycm9yW2RhdGEtdi03OWIyNDJhMV17Y29sb3I6I2I0MjMxOH1AbWVkaWEgKG1heC13aWR0aDo3MjBweCl7LnVtZC10b29sYmFyW2RhdGEtdi03OWIyNDJhMV17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQwcHggbWlubWF4KDAsMWZyKX0udW1kLWFjdGlvbnNbZGF0YS12LTc5YjI0MmExXXtncmlkLWNvbHVtbjoxLy0xO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS51bWQtYm9keVtkYXRhLXYtNzliMjQyYTFde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpO3Bvc2l0aW9uOnJlbGF0aXZlfS51bWQtdG9jW2RhdGEtdi03OWIyNDJhMV17ei1pbmRleDo1O3dpZHRoOm1pbig4MnZ3LDI4MHB4KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7Ym94LXNoYWRvdzoxOHB4IDAgNDBweCByZ2JhKDE1LDIzLDQyLC4xNil9LnVtZC1zdGFnZS13cmFwW2RhdGEtdi03OWIyNDJhMV17cGFkZGluZzoxMnB4fS51bWQtYm9vay1oZWFkW2RhdGEtdi03OWIyNDJhMV17cGFkZGluZzoyNHB4IDIwcHggMH0udW1kLWNoYXB0ZXJbZGF0YS12LTc5YjI0MmExXXtwYWRkaW5nOjI0cHggMjBweCA0MnB4fX0udmlld2VyLXpvb20taW46YmVmb3JlLC52aWV3ZXItem9vbS1vdXQ6YmVmb3JlLC52aWV3ZXItb25lLXRvLW9uZTpiZWZvcmUsLnZpZXdlci1yZXNldDpiZWZvcmUsLnZpZXdlci1wcmV2OmJlZm9yZSwudmlld2VyLXBsYXk6YmVmb3JlLC52aWV3ZXItbmV4dDpiZWZvcmUsLnZpZXdlci1yb3RhdGUtbGVmdDpiZWZvcmUsLnZpZXdlci1yb3RhdGUtcmlnaHQ6YmVmb3JlLC52aWV3ZXItZmxpcC1ob3Jpem9udGFsOmJlZm9yZSwudmlld2VyLWZsaXAtdmVydGljYWw6YmVmb3JlLC52aWV3ZXItZnVsbHNjcmVlbjpiZWZvcmUsLnZpZXdlci1mdWxsc2NyZWVuLWV4aXQ6YmVmb3JlLC52aWV3ZXItY2xvc2U6YmVmb3Jle2NvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyIHZpZXdCb3glM0QlMjIwIDAgNTYwIDQwJTIyJTNFJTNDcGF0aCBmaWxsJTNEJTIyJTIzZmZmJTIyIGQlM0QlMjJNNDkuNiAxNy45aDIwLjJ2My45SDQ5LjZ6bTEyMy4xIDIgMTAuOS0xMSAyLjcgMi44LTguMiA4LjIgOC4yIDguMi0yLjcgMi43LTEwLjktMTAuOXptOTQgMC0xMC44LTExLTIuNyAyLjggOC4xIDguMi04LjEgOC4yIDIuNyAyLjcgMTAuOC0xMC45ek0yMTIgOS4zbDIwLjEgMTAuNkwyMTIgMzAuNVY5LjN6bTE2MS41IDQuNi03LjIgNiA3LjIgNS45di00aDEyLjR2NGw3LjMtNS45LTcuMy02djRoLTEyLjR2LTR6bTQwLjIgMTIuMyA1LjkgNy4yIDUuOS03LjJoLTRWMTMuNmg0bC01LjktNy4zLTUuOSA3LjNoNHYxMi42aC00em0zNS45LTE2LjVoNi4zdjJoLTQuM1YxNmgtMlY5LjdabTE0IDBoNi4yVjE2aC0ydi00LjNoLTQuMnYtMlptNi4yIDE0VjMwaC02LjJ2LTJoNC4ydi00LjNoMlptLTE0IDYuM2gtNi4ydi02LjNoMnY0LjRoNC4zdjJabS00MzggLjF2LTguM0g5LjZ2LTMuOWg4LjJWOS43aDMuOXY4LjJoOC4xdjMuOWgtOC4xdjguM2gtMy45ek05My42IDkuN2gtNS44djMuOWgyVjMwaDMuOFY5Ljd6bTE2LjEgMGgtNS44djMuOWgxLjlWMzBoMy45VjkuN3ptLTExLjkgNC4xaDMuOXYzLjloLTMuOXptMCA4LjJoMy45djMuOWgtMy45em0yNDQuNi0xMS43IDcuMiA1LjktNy4yIDZ2LTMuNmMtNS40LS40LTcuOC44LTguNyAyLjgtLjggMS43LTEuOCA0LjkgMi44IDguMi02LjMtMi03LjUtNi45LTYtMTEuMyAxLjYtNC40IDgtNSAxMS45LTQuOXYtMy4xWm0xNDcuMiAxMy40aDYuM1YzMGgtMnYtNC4zaC00LjN2LTJ6bTE0IDYuM3YtNi4zaDYuMnYyaC00LjNWMzBoLTEuOXptNi4yLTE0aC02LjJWOS43aDEuOVYxNGg0LjN2MnptLTEzLjkgMGgtNi4zdi0yaDQuM1Y5LjdoMlYxNnptMzMuMyAxMi41IDguNi04LjYtOC42LTguNyAxLjktMS45IDguNiA4LjcgOC42LTguNyAxLjkgMS45LTguNiA4LjcgOC42IDguNi0xLjkgMi04LjYtOC43LTguNiA4LjctMS45LTJ6TTI5NyAxMC4zbC03LjEgNS45IDcuMiA2di0zLjZjNS4zLS40IDcuNy44IDguNyAyLjguOCAxLjcgMS43IDQuOS0yLjkgOC4yIDYuMy0yIDcuNS02LjkgNi0xMS4zLTEuNi00LjQtNy45LTUtMTEuOC00Ljl2LTMuMVptLTE1Ny4zLS42YzIuMyAwIDQuNC43IDYgMmwyLjUtMyAxLjkgOS4yaC05LjNsMi42LTMuMWE2LjIgNi4yIDAgMCAwLTkuOSA1LjFjMCAzLjQgMi44IDYuMyA2LjIgNi4zIDIuOCAwIDUuMS0xLjkgNi00LjRoNGMtMSA0LjctNSA4LjMtMTAgOC4zYTEwIDEwIDAgMCAxLTEwLTEwLjIgMTAgMTAgMCAwIDEgMTAtMTAuMlolMjIlMkYlM0UlM0MlMkZzdmclM0UiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOjI4MHB4O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MDtkaXNwbGF5OmJsb2NrfS52aWV3ZXItem9vbS1pbjpiZWZvcmV7Y29udGVudDoiWm9vbSBJbiI7YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9LnZpZXdlci16b29tLW91dDpiZWZvcmV7Y29udGVudDoiWm9vbSBPdXQiO2JhY2tncm91bmQtcG9zaXRpb246LTIwcHggMH0udmlld2VyLW9uZS10by1vbmU6YmVmb3Jle2NvbnRlbnQ6Ik9uZSB0byBPbmUiO2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggMH0udmlld2VyLXJlc2V0OmJlZm9yZXtjb250ZW50OiJSZXNldCI7YmFja2dyb3VuZC1wb3NpdGlvbjotNjBweCAwfS52aWV3ZXItcHJldjpiZWZvcmV7Y29udGVudDoiUHJldmlvdXMiO2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggMH0udmlld2VyLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlBsYXkiO2JhY2tncm91bmQtcG9zaXRpb246LTEwMHB4IDB9LnZpZXdlci1uZXh0OmJlZm9yZXtjb250ZW50OiJOZXh0IjtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjBweCAwfS52aWV3ZXItcm90YXRlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlJvdGF0ZSBMZWZ0IjtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDBweCAwfS52aWV3ZXItcm90YXRlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJSb3RhdGUgUmlnaHQiO2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IDB9LnZpZXdlci1mbGlwLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IkZsaXAgSG9yaXpvbnRhbCI7YmFja2dyb3VuZC1wb3NpdGlvbjotMTgwcHggMH0udmlld2VyLWZsaXAtdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IkZsaXAgVmVydGljYWwiO2JhY2tncm91bmQtcG9zaXRpb246LTIwMHB4IDB9LnZpZXdlci1mdWxsc2NyZWVuOmJlZm9yZXtjb250ZW50OiJFbnRlciBGdWxsIFNjcmVlbiI7YmFja2dyb3VuZC1wb3NpdGlvbjotMjIwcHggMH0udmlld2VyLWZ1bGxzY3JlZW4tZXhpdDpiZWZvcmV7Y29udGVudDoiRXhpdCBGdWxsIFNjcmVlbiI7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggMH0udmlld2VyLWNsb3NlOmJlZm9yZXtjb250ZW50OiJDbG9zZSI7YmFja2dyb3VuZC1wb3NpdGlvbjotMjYwcHggMH0udmlld2VyLWNvbnRhaW5lcnstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LW1zLXRvdWNoLWFjdGlvbjpub25lO3RvdWNoLWFjdGlvbjpub25lOy13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItY29udGFpbmVyOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS52aWV3ZXItY29udGFpbmVyIDo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0udmlld2VyLWNvbnRhaW5lcjo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0udmlld2VyLWNvbnRhaW5lcjo6c2VsZWN0aW9ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnZpZXdlci1jb250YWluZXIgOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS52aWV3ZXItY29udGFpbmVyIDo6c2VsZWN0aW9ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnZpZXdlci1jb250YWluZXI6Zm9jdXN7b3V0bGluZTowfS52aWV3ZXItY29udGFpbmVyIGltZ3t3aWR0aDoxMDAlO2hlaWdodDphdXRvO2Rpc3BsYXk6YmxvY2s7bWluLXdpZHRoOjAhaW1wb3J0YW50O21heC13aWR0aDpub25lIWltcG9ydGFudDttaW4taGVpZ2h0OjAhaW1wb3J0YW50O21heC1oZWlnaHQ6bm9uZSFpbXBvcnRhbnR9LnZpZXdlci1jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItY2FudmFzPmltZ3t3aWR0aDphdXRvO2hlaWdodDphdXRvO21hcmdpbjoxNXB4IGF1dG87bWF4LXdpZHRoOjkwJSFpbXBvcnRhbnR9LnZpZXdlci1mb290ZXJ7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItbmF2YmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNSk7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItbGlzdHtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDo1MHB4O21hcmdpbjowO3BhZGRpbmc6MXB4IDA7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItbGlzdD5saXtjb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtmbG9hdDpsZWZ0O29wYWNpdHk6LjU7d2lkdGg6MzBweDtoZWlnaHQ6NTBweDtmb250LXNpemU6MDtsaW5lLWhlaWdodDowO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzO292ZXJmbG93OmhpZGRlbn0udmlld2VyLWxpc3Q+bGk6Zm9jdXMsLnZpZXdlci1saXN0PmxpOmhvdmVye29wYWNpdHk6Ljc1fS52aWV3ZXItbGlzdD5saTpmb2N1c3tvdXRsaW5lOjB9LnZpZXdlci1saXN0PmxpK2xpe21hcmdpbi1sZWZ0OjFweH0udmlld2VyLWxpc3Q+LnZpZXdlci1sb2FkaW5ne3Bvc2l0aW9uOnJlbGF0aXZlfS52aWV3ZXItbGlzdD4udmlld2VyLWxvYWRpbmc6YWZ0ZXJ7Ym9yZGVyLXdpZHRoOjJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O21hcmdpbi10b3A6LTEwcHg7bWFyZ2luLWxlZnQ6LTEwcHh9LnZpZXdlci1saXN0Pi52aWV3ZXItYWN0aXZlLC52aWV3ZXItbGlzdD4udmlld2VyLWFjdGl2ZTpmb2N1cywudmlld2VyLWxpc3Q+LnZpZXdlci1hY3RpdmU6aG92ZXJ7b3BhY2l0eToxfS52aWV3ZXItcGxheWVye2N1cnNvcjpub25lO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS52aWV3ZXItcGxheWVyPmltZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjB9LnZpZXdlci10b29sYmFyPnVse21hcmdpbjowIGF1dG8gNXB4O3BhZGRpbmc6NnB4IDNweDtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW59LnZpZXdlci10b29sYmFyPnVsPmxpe2N1cnNvcjpwb2ludGVyO2Zsb2F0OmxlZnQ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC41KTtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzO292ZXJmbG93OmhpZGRlbn0udmlld2VyLXRvb2xiYXI+dWw+bGk6Zm9jdXMsLnZpZXdlci10b29sYmFyPnVsPmxpOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCl9LnZpZXdlci10b29sYmFyPnVsPmxpOmZvY3Vze3otaW5kZXg6MTtvdXRsaW5lOjA7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNoYWRvdzowIDAgM3B4ICNmZmZ9LnZpZXdlci10b29sYmFyPnVsPmxpOmJlZm9yZXttYXJnaW46MnB4fS52aWV3ZXItdG9vbGJhcj51bD5saStsaXttYXJnaW4tbGVmdDoxcHh9LnZpZXdlci10b29sYmFyPnVsPi52aWV3ZXItc21hbGx7d2lkdGg6MThweDtoZWlnaHQ6MThweDttYXJnaW4tdG9wOjNweDttYXJnaW4tYm90dG9tOjNweH0udmlld2VyLXRvb2xiYXI+dWw+LnZpZXdlci1zbWFsbDpiZWZvcmV7bWFyZ2luOi0xcHh9LnZpZXdlci10b29sYmFyPnVsPi52aWV3ZXItbGFyZ2V7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDttYXJnaW4tdG9wOi0zcHg7bWFyZ2luLWJvdHRvbTotM3B4fS52aWV3ZXItdG9vbGJhcj51bD4udmlld2VyLWxhcmdlOmJlZm9yZXttYXJnaW46NXB4fS52aWV3ZXItdG9vbHRpcHtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czoxMHB4O3dpZHRoOjUwcHg7aGVpZ2h0OjIwcHg7bWFyZ2luLXRvcDotMTBweDttYXJnaW4tbGVmdDotMjVweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoyMHB4O2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlfS52aWV3ZXItdGl0bGV7Y29sb3I6I2NjYztvcGFjaXR5Oi44O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21heC13aWR0aDo5MCU7bWluLWhlaWdodDoxNHB4O21hcmdpbjo1cHggNSU7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS4yO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzO2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbn0udmlld2VyLXRpdGxlOmhvdmVye29wYWNpdHk6MX0udmlld2VyLWJ1dHRvbnstd2Via2l0LWFwcC1yZWdpb246bm8tZHJhZztjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjgwcHg7aGVpZ2h0OjgwcHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xNXM7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00MHB4O3JpZ2h0Oi00MHB4O292ZXJmbG93OmhpZGRlbn0udmlld2VyLWJ1dHRvbjpmb2N1cywudmlld2VyLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpfS52aWV3ZXItYnV0dG9uOmZvY3Vze291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAzcHggI2ZmZn0udmlld2VyLWJ1dHRvbjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjE1cHg7bGVmdDoxNXB4fS52aWV3ZXItZml4ZWR7cG9zaXRpb246Zml4ZWR9LnZpZXdlci1vcGVue292ZXJmbG93OmhpZGRlbn0udmlld2VyLXNob3d7ZGlzcGxheTpibG9ja30udmlld2VyLWhpZGV7ZGlzcGxheTpub25lfS52aWV3ZXItYmFja2Ryb3B7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC41KX0udmlld2VyLWludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbn0udmlld2VyLW1vdmV7Y3Vyc29yOm1vdmU7Y3Vyc29yOmdyYWJ9LnZpZXdlci1mYWRle29wYWNpdHk6MH0udmlld2VyLWlue29wYWNpdHk6MX0udmlld2VyLXRyYW5zaXRpb257dHJhbnNpdGlvbjphbGwgLjNzfUBrZXlmcmFtZXMgdmlld2VyLXNwaW5uZXJ7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX10b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS52aWV3ZXItbG9hZGluZzphZnRlcntjb250ZW50OiIiO3otaW5kZXg6MTtib3JkZXI6NHB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7bWFyZ2luLXRvcDotMjBweDttYXJnaW4tbGVmdDotMjBweDthbmltYXRpb246MXMgbGluZWFyIGluZmluaXRlIHZpZXdlci1zcGlubmVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCV9QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey52aWV3ZXItaGlkZS14cy1kb3due2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6OTkxcHgpey52aWV3ZXItaGlkZS1zbS1kb3due2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6MTE5OXB4KXsudmlld2VyLWhpZGUtbWQtZG93bntkaXNwbGF5Om5vbmV9fS5pbWFnZS12aWV3ZXJbZGF0YS12LTRkYzc2YjlkXXtiYWNrZ3JvdW5kOiNlZWYxZjQ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfS5pbWFnZS1zdGFnZVtkYXRhLXYtNGRjNzZiOWRde2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXh9LmltYWdlW2RhdGEtdi00ZGM3NmI5ZF17d2lkdGg6YXV0bzttYXJnaW46MCBhdXRvO2Rpc3BsYXk6YmxvY2t9Lm1hcmtkb3duLWJvZHl7LS1iYXNlLXNpemUtMTY6MXJlbTstLWJhc2Utc2l6ZS0yNDoxLjVyZW07LS1iYXNlLXNpemUtNDouMjVyZW07LS1iYXNlLXNpemUtNDA6Mi41cmVtOy0tYmFzZS1zaXplLTg6LjVyZW07LS1iYXNlLXRleHQtd2VpZ2h0LW1lZGl1bTo1MDA7LS1iYXNlLXRleHQtd2VpZ2h0LW5vcm1hbDo0MDA7LS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLWZvbnRTdGFjay1tb25vc3BhY2U6dWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgU0YgTW9ubywgTWVubG8sIENvbnNvbGFzLCBMaWJlcmF0aW9uIE1vbm8sIG1vbm9zcGFjZTstLWZvbnRTdGFjay1zYW5zU2VyaWY6LWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCAiTm90byBTYW5zIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgIkFwcGxlIENvbG9yIEVtb2ppIiwgIlNlZ29lIFVJIEVtb2ppIjstLWZnQ29sb3ItYWNjZW50OkhpZ2hsaWdodH1AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspey5tYXJrZG93bi1ib2R5LFtkYXRhLXRoZW1lPWRhcmtdey0tbGlnaHRuaW5nY3NzLWxpZ2h0OiA7LS1saWdodG5pbmdjc3MtZGFyazppbml0aWFsO2NvbG9yLXNjaGVtZTpkYXJrOy0tZmdDb2xvci1hY2NlbnQ6IzQ0OTNmODstLWJnQ29sb3ItYXR0ZW50aW9uLW11dGVkOnJnYmEoMTg3LDEyOCw5LC4xNSk7LS1iZ0NvbG9yLWRlZmF1bHQ6IzBkMTExNzstLWJnQ29sb3ItbXV0ZWQ6IzE1MWIyMzstLWJnQ29sb3ItbmV1dHJhbC1tdXRlZDpyZ2JhKDEwMSwxMDgsMTE4LC4yKTstLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpczojMWY2ZmViOy0tYm9yZGVyQ29sb3ItYXR0ZW50aW9uLWVtcGhhc2lzOiM5ZTZhMDM7LS1ib3JkZXJDb2xvci1kYW5nZXItZW1waGFzaXM6I2RhMzYzMzstLWJvcmRlckNvbG9yLWRlZmF1bHQ6IzNkNDQ0ZDstLWJvcmRlckNvbG9yLWRvbmUtZW1waGFzaXM6Izg5NTdlNTstLWJvcmRlckNvbG9yLXN1Y2Nlc3MtZW1waGFzaXM6IzIzODYzNjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtYnJhY2tldGhpZ2hsaWdodGVyLWFuZ2xlOiM5MTk4YTE7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWJyYWNrZXRoaWdobGlnaHRlci11bm1hdGNoZWQ6I2Y4NTE0OTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY2FycmlhZ2UtcmV0dXJuLWJnOiNiNjIzMjQ7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWNhcnJpYWdlLXJldHVybi10ZXh0OiNmMGY2ZmM7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWNvbW1lbnQ6IzkxOThhMTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQ6Izc5YzBmZjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQtb3RoZXItcmVmZXJlbmNlLWxpbms6I2E1ZDZmZjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtZW50aXR5OiNkMmE4ZmY7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWVudGl0eS10YWc6IzdlZTc4NzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgta2V5d29yZDojZmY3YjcyOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtYm9sZDojZjBmNmZjOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtY2hhbmdlZC1iZzojNWExZTAyOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtY2hhbmdlZC10ZXh0OiNmZmRmYjY7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1kZWxldGVkLWJnOiM2NzA2MGM7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1kZWxldGVkLXRleHQ6I2ZmZGNkNzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWhlYWRpbmc6IzFmNmZlYjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWlnbm9yZWQtYmc6IzExNThjNzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWlnbm9yZWQtdGV4dDojZjBmNmZjOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaW5zZXJ0ZWQtYmc6IzAzM2ExNjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWluc2VydGVkLXRleHQ6I2FmZjViNDstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWl0YWxpYzojZjBmNmZjOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtbGlzdDojZjJjYzYwOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tZXRhLWRpZmYtcmFuZ2U6I2QyYThmZjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtc3RvcmFnZS1tb2RpZmllci1pbXBvcnQ6I2YwZjZmYzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtc3RyaW5nOiNhNWQ2ZmY7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LXN0cmluZy1yZWdleHA6IzdlZTc4NzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtc3VibGltZWxpbnRlci1ndXR0ZXItbWFyazojM2Q0NDRkOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC12YXJpYWJsZTojZmZhNjU3Oy0tZmdDb2xvci1hdHRlbnRpb246I2QyOTkyMjstLWZnQ29sb3ItZGFuZ2VyOiNmODUxNDk7LS1mZ0NvbG9yLWRlZmF1bHQ6I2YwZjZmYzstLWZnQ29sb3ItZG9uZTojYWI3ZGY4Oy0tZmdDb2xvci1tdXRlZDojOTE5OGExOy0tZmdDb2xvci1zdWNjZXNzOiMzZmI5NTA7LS1ib3JkZXJDb2xvci1tdXRlZDpyZ2JhKDYxLDY4LDc3LC43KTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtaW52YWxpZC1pbGxlZ2FsLWJnOnZhcigtLWJnQ29sb3ItZGFuZ2VyLW11dGVkKTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtaW52YWxpZC1pbGxlZ2FsLXRleHQ6dmFyKC0tZmdDb2xvci1kYW5nZXIpOy0tZm9jdXMtb3V0bGluZUNvbG9yOnZhcigtLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpcyk7LS1ib3JkZXJDb2xvci1uZXV0cmFsLW11dGVkOnZhcigtLWJvcmRlckNvbG9yLW11dGVkKX19QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7Lm1hcmtkb3duLWJvZHksW2RhdGEtdGhlbWU9bGlnaHRdey0tbGlnaHRuaW5nY3NzLWxpZ2h0OmluaXRpYWw7LS1saWdodG5pbmdjc3MtZGFyazogO2NvbG9yLXNjaGVtZTpsaWdodDstLWZnQ29sb3ItZGFuZ2VyOiNkMTI0MmY7LS1iZ0NvbG9yLWF0dGVudGlvbi1tdXRlZDojZmZmOGM1Oy0tYmdDb2xvci1tdXRlZDojZjZmOGZhOy0tYmdDb2xvci1uZXV0cmFsLW11dGVkOnJnYmEoMTI5LDEzOSwxNTIsLjEyKTstLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpczojMDk2OWRhOy0tYm9yZGVyQ29sb3ItYXR0ZW50aW9uLWVtcGhhc2lzOiM5YTY3MDA7LS1ib3JkZXJDb2xvci1kYW5nZXItZW1waGFzaXM6I2NmMjIyZTstLWJvcmRlckNvbG9yLWRlZmF1bHQ6I2QxZDllMDstLWJvcmRlckNvbG9yLWRvbmUtZW1waGFzaXM6IzgyNTBkZjstLWJvcmRlckNvbG9yLXN1Y2Nlc3MtZW1waGFzaXM6IzFhN2YzNzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtYnJhY2tldGhpZ2hsaWdodGVyLWFuZ2xlOiM1OTYzNmU7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWJyYWNrZXRoaWdobGlnaHRlci11bm1hdGNoZWQ6IzgyMDcxZTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY2FycmlhZ2UtcmV0dXJuLWJnOiNjZjIyMmU7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWNhcnJpYWdlLXJldHVybi10ZXh0OiNmNmY4ZmE7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWNvbW1lbnQ6IzU5NjM2ZTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQ6IzA1NTBhZTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQtb3RoZXItcmVmZXJlbmNlLWxpbms6IzBhMzA2OTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtZW50aXR5OiM2NjM5YmE7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWVudGl0eS10YWc6IzA1NTBhZTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtaW52YWxpZC1pbGxlZ2FsLXRleHQ6dmFyKC0tZmdDb2xvci1kYW5nZXIpOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1rZXl3b3JkOiNjZjIyMmU7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1jaGFuZ2VkLWJnOiNmZmQ4YjU7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1jaGFuZ2VkLXRleHQ6Izk1MzgwMDstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWRlbGV0ZWQtYmc6I2ZmZWJlOTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWRlbGV0ZWQtdGV4dDojODIwNzFlOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaGVhZGluZzojMDU1MGFlOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaWdub3JlZC1iZzojMDU1MGFlOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaWdub3JlZC10ZXh0OiNkMWQ5ZTA7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1pbnNlcnRlZC1iZzojZGFmYmUxOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaW5zZXJ0ZWQtdGV4dDojMTE2MzI5Oy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtbGlzdDojM2IyMzAwOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tZXRhLWRpZmYtcmFuZ2U6IzgyNTBkZjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtc3RyaW5nOiMwYTMwNjk7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LXN0cmluZy1yZWdleHA6IzExNjMyOTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtc3VibGltZWxpbnRlci1ndXR0ZXItbWFyazojODE4Yjk4Oy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC12YXJpYWJsZTojOTUzODAwOy0tZmdDb2xvci1hY2NlbnQ6IzA5NjlkYTstLWZnQ29sb3ItYXR0ZW50aW9uOiM5YTY3MDA7LS1mZ0NvbG9yLWRvbmU6IzgyNTBkZjstLWZnQ29sb3ItbXV0ZWQ6IzU5NjM2ZTstLWZnQ29sb3Itc3VjY2VzczojMWE3ZjM3Oy0tYmdDb2xvci1kZWZhdWx0OiNmZmY7LS1ib3JkZXJDb2xvci1tdXRlZDpyZ2JhKDIwOSwyMTcsMjI0LC43KTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtaW52YWxpZC1pbGxlZ2FsLWJnOnZhcigtLWJnQ29sb3ItZGFuZ2VyLW11dGVkKTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWJvbGQ6IzFmMjMyODstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWl0YWxpYzojMWYyMzI4Oy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1zdG9yYWdlLW1vZGlmaWVyLWltcG9ydDojMWYyMzI4Oy0tZmdDb2xvci1kZWZhdWx0OiMxZjIzMjg7LS1mb2N1cy1vdXRsaW5lQ29sb3I6dmFyKC0tYm9yZGVyQ29sb3ItYWNjZW50LWVtcGhhc2lzKTstLWJvcmRlckNvbG9yLW5ldXRyYWwtbXV0ZWQ6dmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpfX0ubWFya2Rvd24tYm9keXstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlO2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtbm9ybWFsLDQwMCk7Y29sb3I6dmFyKC0tZmdDb2xvci1kZWZhdWx0KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJnQ29sb3ItZGVmYXVsdCk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udFN0YWNrLXNhbnNTZXJpZiwtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsICJOb3RvIFNhbnMiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiU2Vnb2UgVUkgRW1vamkiKTt3b3JkLXdyYXA6YnJlYWstd29yZDttYXJnaW46MDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxLjV9Lm1hcmtkb3duLWJvZHkgYXt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6LjJyZW07dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ubWFya2Rvd24tYm9keSAub2N0aWNvbntmaWxsOmN1cnJlbnRDb2xvcjt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LWJvdHRvbTtkaXNwbGF5OmlubGluZS1ibG9ja30ubWFya2Rvd24tYm9keSBoMTpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLC5tYXJrZG93bi1ib2R5IGgyOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsLm1hcmtkb3duLWJvZHkgaDM6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZSwubWFya2Rvd24tYm9keSBoNDpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLC5tYXJrZG93bi1ib2R5IGg1OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsLm1hcmtkb3duLWJvZHkgaDY6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZXtjb250ZW50OiIgIjtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtbWFzay1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyB2ZXJzaW9uPScxLjEnIGFyaWEtaGlkZGVuPSd0cnVlJz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J003Ljc3NSAzLjI3NWEuNzUuNzUgMCAwMDEuMDYgMS4wNmwxLjI1LTEuMjVhMiAyIDAgMTEyLjgzIDIuODNsLTIuNSAyLjVhMiAyIDAgMDEtMi44MyAwIC43NS43NSAwIDAwLTEuMDYgMS4wNiAzLjUgMy41IDAgMDA0Ljk1IDBsMi41LTIuNWEzLjUgMy41IDAgMDAtNC45NS00Ljk1bC0xLjI1IDEuMjV6bS00LjY5IDkuNjRhMiAyIDAgMDEwLTIuODNsMi41LTIuNWEyIDIgMCAwMTIuODMgMCAuNzUuNzUgMCAwMDEuMDYtMS4wNiAzLjUgMy41IDAgMDAtNC45NSAwbC0yLjUgMi41YTMuNSAzLjUgMCAwMDQuOTUgNC45NWwxLjI1LTEuMjVhLjc1Ljc1IDAgMDAtMS4wNi0xLjA2bC0xLjI1IDEuMjVhMiAyIDAgMDEtMi44MyAweic+PC9wYXRoPjwvc3ZnPiIpO21hc2staW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgdmVyc2lvbj0nMS4xJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNy43NzUgMy4yNzVhLjc1Ljc1IDAgMDAxLjA2IDEuMDZsMS4yNS0xLjI1YTIgMiAwIDExMi44MyAyLjgzbC0yLjUgMi41YTIgMiAwIDAxLTIuODMgMCAuNzUuNzUgMCAwMC0xLjA2IDEuMDYgMy41IDMuNSAwIDAwNC45NSAwbDIuNS0yLjVhMy41IDMuNSAwIDAwLTQuOTUtNC45NWwtMS4yNSAxLjI1em0tNC42OSA5LjY0YTIgMiAwIDAxMC0yLjgzbDIuNS0yLjVhMiAyIDAgMDEyLjgzIDAgLjc1Ljc1IDAgMDAxLjA2LTEuMDYgMy41IDMuNSAwIDAwLTQuOTUgMGwtMi41IDIuNWEzLjUgMy41IDAgMDA0Ljk1IDQuOTVsMS4yNS0xLjI1YS43NS43NSAwIDAwLTEuMDYtMS4wNmwtMS4yNSAxLjI1YTIgMiAwIDAxLTIuODMgMHonPjwvcGF0aD48L3N2Zz4iKX0ubWFya2Rvd24tYm9keSBkZXRhaWxzLC5tYXJrZG93bi1ib2R5IGZpZ2NhcHRpb24sLm1hcmtkb3duLWJvZHkgZmlndXJle2Rpc3BsYXk6YmxvY2t9Lm1hcmtkb3duLWJvZHkgc3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX0ubWFya2Rvd24tYm9keSBbaGlkZGVuXXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5tYXJrZG93bi1ib2R5IGF7Y29sb3I6dmFyKC0tZmdDb2xvci1hY2NlbnQpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm1hcmtkb3duLWJvZHkgYWJiclt0aXRsZV17Ym9yZGVyLWJvdHRvbTpub25lOy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9Lm1hcmtkb3duLWJvZHkgYiwubWFya2Rvd24tYm9keSBzdHJvbmd7Zm9udC13ZWlnaHQ6dmFyKC0tYmFzZS10ZXh0LXdlaWdodC1zZW1pYm9sZCw2MDApfS5tYXJrZG93bi1ib2R5IGRmbntmb250LXN0eWxlOml0YWxpY30ubWFya2Rvd24tYm9keSBoMXtmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkLDYwMCk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpO21hcmdpbjouNjdlbSAwO3BhZGRpbmctYm90dG9tOi4zZW07Zm9udC1zaXplOjJlbX0ubWFya2Rvd24tYm9keSBtYXJre2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmdDb2xvci1hdHRlbnRpb24tbXV0ZWQpO2NvbG9yOnZhcigtLWZnQ29sb3ItZGVmYXVsdCl9Lm1hcmtkb3duLWJvZHkgc21hbGx7Zm9udC1zaXplOjkwJX0ubWFya2Rvd24tYm9keSBzdWIsLm1hcmtkb3duLWJvZHkgc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWFya2Rvd24tYm9keSBzdWJ7Ym90dG9tOi0uMjVlbX0ubWFya2Rvd24tYm9keSBzdXB7dG9wOi0uNWVtfS5tYXJrZG93bi1ib2R5IGltZ3tib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JvcmRlci1zdHlsZTpub25lO21heC13aWR0aDoxMDAlfS5tYXJrZG93bi1ib2R5IGNvZGUsLm1hcmtkb3duLWJvZHkga2JkLC5tYXJrZG93bi1ib2R5IHByZSwubWFya2Rvd24tYm9keSBzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtmb250LXNpemU6MWVtfS5tYXJrZG93bi1ib2R5IGZpZ3VyZXttYXJnaW46MWVtIHZhcigtLWJhc2Utc2l6ZS00MCl9Lm1hcmtkb3duLWJvZHkgaHJ7Ym94LXNpemluZzpjb250ZW50LWJveDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXJDb2xvci1tdXRlZCk7aGVpZ2h0Oi4yNWVtO21hcmdpbjp2YXIoLS1iYXNlLXNpemUtMjQpIDA7YmFja2dyb3VuZDowIDA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ib3JkZXJDb2xvci1kZWZhdWx0KTtib3JkZXI6MDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5tYXJrZG93bi1ib2R5IGlucHV0e2ZvbnQ6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZX0ubWFya2Rvd24tYm9keSBbdHlwZT1idXR0b25dey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247LW1vei1hcHBlYXJhbmNlOmJ1dHRvbjstbXMtYXBwZWFyYW5jZTpidXR0b247YXBwZWFyYW5jZTpidXR0b259Lm1hcmtkb3duLWJvZHkgW3R5cGU9cmVzZXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247LW1vei1hcHBlYXJhbmNlOmJ1dHRvbjstbXMtYXBwZWFyYW5jZTpidXR0b247YXBwZWFyYW5jZTpidXR0b259Lm1hcmtkb3duLWJvZHkgW3R5cGU9c3VibWl0XXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uOy1tb3otYXBwZWFyYW5jZTpidXR0b247LW1zLWFwcGVhcmFuY2U6YnV0dG9uO2FwcGVhcmFuY2U6YnV0dG9ufS5tYXJrZG93bi1ib2R5IFt0eXBlPWNoZWNrYm94XXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfS5tYXJrZG93bi1ib2R5IFt0eXBlPXJhZGlvXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfS5tYXJrZG93bi1ib2R5IFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Lm1hcmtkb3duLWJvZHkgW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b30ubWFya2Rvd24tYm9keSBbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOy1tcy1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5tYXJrZG93bi1ib2R5IFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7LW1zLWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9Lm1hcmtkb3duLWJvZHkgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOmluaGVyaXQ7b3BhY2l0eTouNTR9Lm1hcmtkb3duLWJvZHkgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uOy1tb3otYXBwZWFyYW5jZTpidXR0b247LW1zLWFwcGVhcmFuY2U6YnV0dG9uO2FwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH0ubWFya2Rvd24tYm9keSBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lm1hcmtkb3duLWJvZHkgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWZnQ29sb3ItbXV0ZWQpO29wYWNpdHk6MX0ubWFya2Rvd24tYm9keSA6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tZmdDb2xvci1tdXRlZCk7b3BhY2l0eToxfS5tYXJrZG93bi1ib2R5IDo6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWZnQ29sb3ItbXV0ZWQpO29wYWNpdHk6MX0ubWFya2Rvd24tYm9keSA6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWZnQ29sb3ItbXV0ZWQpO29wYWNpdHk6MX0ubWFya2Rvd24tYm9keSBocjpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlfS5tYXJrZG93bi1ib2R5IGhyOmFmdGVye2NsZWFyOmJvdGg7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlfS5tYXJrZG93bi1ib2R5IHRhYmxle2JvcmRlci1zcGFjaW5nOjA7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2ZvbnQtdmFyaWFudDp0YWJ1bGFyLW51bXM7d2lkdGg6LXdlYmtpdC1tYXgtY29udGVudDt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50O21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6YXV0b30ubWFya2Rvd24tYm9keSB0ZCwubWFya2Rvd24tYm9keSB0aHtwYWRkaW5nOjB9Lm1hcmtkb3duLWJvZHkgZGV0YWlscyBzdW1tYXJ5e2N1cnNvcjpwb2ludGVyfS5tYXJrZG93bi1ib2R5IGE6Zm9jdXMsLm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1mb2N1cy1vdXRsaW5lQ29sb3IpO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym94LXNoYWRvdzpub25lfS5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWZvY3VzLW91dGxpbmVDb2xvcik7b3V0bGluZS1vZmZzZXQ6LTJweDtib3gtc2hhZG93Om5vbmV9Lm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXN7b3V0bGluZToycHggc29saWQgdmFyKC0tZm9jdXMtb3V0bGluZUNvbG9yKTtvdXRsaW5lLW9mZnNldDotMnB4O2JveC1zaGFkb3c6bm9uZX0ubWFya2Rvd24tYm9keSBhOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZToxcHggc29saWQgdHJhbnNwYXJlbnR9Lm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZToxcHggc29saWQgdHJhbnNwYXJlbnR9Lm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOjFweCBzb2xpZCB0cmFuc3BhcmVudH0ubWFya2Rvd24tYm9keSBhOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tZm9jdXMtb3V0bGluZUNvbG9yKTtvdXRsaW5lLW9mZnNldDotMnB4O2JveC1zaGFkb3c6bm9uZX0ubWFya2Rvd24tYm9keSBbcm9sZT1idXR0b25dOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tZm9jdXMtb3V0bGluZUNvbG9yKTtvdXRsaW5lLW9mZnNldDotMnB4O2JveC1zaGFkb3c6bm9uZX0ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWZvY3VzLW91dGxpbmVDb2xvcik7b3V0bGluZS1vZmZzZXQ6LTJweDtib3gtc2hhZG93Om5vbmV9Lm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1mb2N1cy1vdXRsaW5lQ29sb3IpO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym94LXNoYWRvdzpub25lfS5tYXJrZG93bi1ib2R5IGE6bm90KFtjbGFzc10pOmZvY3Vze291dGxpbmUtb2Zmc2V0OjB9Lm1hcmtkb3duLWJvZHkgYTpub3QoW2NsYXNzXSk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDowfS5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3Vze291dGxpbmUtb2Zmc2V0OjB9Lm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1yYWRpb106Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDowfS5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3Vze291dGxpbmUtb2Zmc2V0OjB9Lm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDowfS5tYXJrZG93bi1ib2R5IGtiZHtwYWRkaW5nOnZhcigtLWJhc2Utc2l6ZS00KTtmb250OjExcHggdmFyKC0tZm9udFN0YWNrLW1vbm9zcGFjZSx1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBTRiBNb25vLCBNZW5sbywgQ29uc29sYXMsIExpYmVyYXRpb24gTW9ubywgbW9ub3NwYWNlKTtjb2xvcjp2YXIoLS1mZ0NvbG9yLWRlZmF1bHQpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJnQ29sb3ItbXV0ZWQpO2JvcmRlcjpzb2xpZCAxcHggdmFyKC0tYm9yZGVyQ29sb3ItbmV1dHJhbC1tdXRlZCk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1ib3JkZXJDb2xvci1uZXV0cmFsLW11dGVkKTtib3gtc2hhZG93Omluc2V0IDAgLTFweCAwIHZhcigtLWJvcmRlckNvbG9yLW5ldXRyYWwtbXV0ZWQpO2JvcmRlci1yYWRpdXM6NnB4O2xpbmUtaGVpZ2h0OjEwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lm1hcmtkb3duLWJvZHkgaDEsLm1hcmtkb3duLWJvZHkgaDIsLm1hcmtkb3duLWJvZHkgaDMsLm1hcmtkb3duLWJvZHkgaDQsLm1hcmtkb3duLWJvZHkgaDUsLm1hcmtkb3duLWJvZHkgaDZ7bWFyZ2luLXRvcDp2YXIoLS1iYXNlLXNpemUtMjQpO21hcmdpbi1ib3R0b206dmFyKC0tYmFzZS1zaXplLTE2KTtmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkLDYwMCk7bGluZS1oZWlnaHQ6MS4yNX0ubWFya2Rvd24tYm9keSBoMntmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkLDYwMCk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpO3BhZGRpbmctYm90dG9tOi4zZW07Zm9udC1zaXplOjEuNWVtfS5tYXJrZG93bi1ib2R5IGgze2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtc2VtaWJvbGQsNjAwKTtmb250LXNpemU6MS4yNWVtfS5tYXJrZG93bi1ib2R5IGg0e2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtc2VtaWJvbGQsNjAwKTtmb250LXNpemU6MWVtfS5tYXJrZG93bi1ib2R5IGg1e2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtc2VtaWJvbGQsNjAwKTtmb250LXNpemU6Ljg3NWVtfS5tYXJrZG93bi1ib2R5IGg2e2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtc2VtaWJvbGQsNjAwKTtjb2xvcjp2YXIoLS1mZ0NvbG9yLW11dGVkKTtmb250LXNpemU6Ljg1ZW19Lm1hcmtkb3duLWJvZHkgcHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxMHB4fS5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGV7Y29sb3I6dmFyKC0tZmdDb2xvci1tdXRlZCk7Ym9yZGVyLWxlZnQ6LjI1ZW0gc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItZGVmYXVsdCk7bWFyZ2luOjA7cGFkZGluZzowIDFlbX0ubWFya2Rvd24tYm9keSB1bCwubWFya2Rvd24tYm9keSBvbHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO3BhZGRpbmctbGVmdDoyZW19Lm1hcmtkb3duLWJvZHkgb2wgb2wsLm1hcmtkb3duLWJvZHkgdWwgb2x7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5tYXJrZG93bi1ib2R5IHVsIHVsIG9sLC5tYXJrZG93bi1ib2R5IHVsIG9sIG9sLC5tYXJrZG93bi1ib2R5IG9sIHVsIG9sLC5tYXJrZG93bi1ib2R5IG9sIG9sIG9se2xpc3Qtc3R5bGUtdHlwZTpsb3dlci1hbHBoYX0ubWFya2Rvd24tYm9keSBkZHttYXJnaW4tbGVmdDowfS5tYXJrZG93bi1ib2R5IHR0LC5tYXJrZG93bi1ib2R5IGNvZGUsLm1hcmtkb3duLWJvZHkgc2FtcHtmb250LWZhbWlseTp2YXIoLS1mb250U3RhY2stbW9ub3NwYWNlLHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFNGIE1vbm8sIE1lbmxvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZToxMnB4fS5tYXJrZG93bi1ib2R5IHByZXtmb250LWZhbWlseTp2YXIoLS1mb250U3RhY2stbW9ub3NwYWNlLHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFNGIE1vbm8sIE1lbmxvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBtb25vc3BhY2UpO3dvcmQtd3JhcDpub3JtYWw7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTJweH0ubWFya2Rvd24tYm9keSAub2N0aWNvbnt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LWJvdHRvbTtmaWxsOmN1cnJlbnRDb2xvcjtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0ubWFya2Rvd24tYm9keSBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTstbXMtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTttYXJnaW46MH0ubWFya2Rvd24tYm9keSBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTstbXMtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTttYXJnaW46MH0ubWFya2Rvd24tYm9keSAubXItMnttYXJnaW4tcmlnaHQ6dmFyKC0tYmFzZS1zaXplLTgsOHB4KSFpbXBvcnRhbnR9Lm1hcmtkb3duLWJvZHk6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTp0YWJsZX0ubWFya2Rvd24tYm9keTphZnRlcntjbGVhcjpib3RoO2NvbnRlbnQ6IiI7ZGlzcGxheTp0YWJsZX0ubWFya2Rvd24tYm9keT46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubWFya2Rvd24tYm9keT46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS5tYXJrZG93bi1ib2R5IGE6bm90KFtocmVmXSl7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246bm9uZX0ubWFya2Rvd24tYm9keSAuYWJzZW50e2NvbG9yOnZhcigtLWZnQ29sb3ItZGFuZ2VyKX0ubWFya2Rvd24tYm9keSAuYW5jaG9ye2Zsb2F0OmxlZnQ7cGFkZGluZy1yaWdodDp2YXIoLS1iYXNlLXNpemUtNCk7bWFyZ2luLWxlZnQ6LTIwcHg7bGluZS1oZWlnaHQ6MX0ubWFya2Rvd24tYm9keSAuYW5jaG9yOmZvY3Vze291dGxpbmU6bm9uZX0ubWFya2Rvd24tYm9keSBwLC5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGUsLm1hcmtkb3duLWJvZHkgdWwsLm1hcmtkb3duLWJvZHkgb2wsLm1hcmtkb3duLWJvZHkgZGwsLm1hcmtkb3duLWJvZHkgdGFibGUsLm1hcmtkb3duLWJvZHkgcHJlLC5tYXJrZG93bi1ib2R5IGRldGFpbHN7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206dmFyKC0tYmFzZS1zaXplLTE2KX0ubWFya2Rvd24tYm9keSBibG9ja3F1b3RlPjpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9Lm1hcmtkb3duLWJvZHkgYmxvY2txdW90ZT46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9Lm1hcmtkb3duLWJvZHkgaDEgLm9jdGljb24tbGluaywubWFya2Rvd24tYm9keSBoMiAub2N0aWNvbi1saW5rLC5tYXJrZG93bi1ib2R5IGgzIC5vY3RpY29uLWxpbmssLm1hcmtkb3duLWJvZHkgaDQgLm9jdGljb24tbGluaywubWFya2Rvd24tYm9keSBoNSAub2N0aWNvbi1saW5rLC5tYXJrZG93bi1ib2R5IGg2IC5vY3RpY29uLWxpbmt7Y29sb3I6dmFyKC0tZmdDb2xvci1kZWZhdWx0KTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dmlzaWJpbGl0eTpoaWRkZW59Lm1hcmtkb3duLWJvZHkgaDE6aG92ZXIgLmFuY2hvciwubWFya2Rvd24tYm9keSBoMjpob3ZlciAuYW5jaG9yLC5tYXJrZG93bi1ib2R5IGgzOmhvdmVyIC5hbmNob3IsLm1hcmtkb3duLWJvZHkgaDQ6aG92ZXIgLmFuY2hvciwubWFya2Rvd24tYm9keSBoNTpob3ZlciAuYW5jaG9yLC5tYXJrZG93bi1ib2R5IGg2OmhvdmVyIC5hbmNob3J7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm1hcmtkb3duLWJvZHkgaDE6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rLC5tYXJrZG93bi1ib2R5IGgyOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluaywubWFya2Rvd24tYm9keSBoMzpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbmssLm1hcmtkb3duLWJvZHkgaDQ6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rLC5tYXJrZG93bi1ib2R5IGg1OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluaywubWFya2Rvd24tYm9keSBoNjpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbmt7dmlzaWJpbGl0eTp2aXNpYmxlfS5tYXJrZG93bi1ib2R5IGgxIHR0LC5tYXJrZG93bi1ib2R5IGgxIGNvZGUsLm1hcmtkb3duLWJvZHkgaDIgdHQsLm1hcmtkb3duLWJvZHkgaDIgY29kZSwubWFya2Rvd24tYm9keSBoMyB0dCwubWFya2Rvd24tYm9keSBoMyBjb2RlLC5tYXJrZG93bi1ib2R5IGg0IHR0LC5tYXJrZG93bi1ib2R5IGg0IGNvZGUsLm1hcmtkb3duLWJvZHkgaDUgdHQsLm1hcmtkb3duLWJvZHkgaDUgY29kZSwubWFya2Rvd24tYm9keSBoNiB0dCwubWFya2Rvd24tYm9keSBoNiBjb2Rle2ZvbnQtc2l6ZTppbmhlcml0O3BhZGRpbmc6MCAuMmVtfS5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDEsLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMiwubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgzLC5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDQsLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNSwubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg2e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDEgLmFuY2hvciwubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgyIC5hbmNob3IsLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMyAuYW5jaG9yLC5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDQgLmFuY2hvciwubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg1IC5hbmNob3IsLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNiAuYW5jaG9ye21hcmdpbi1sZWZ0Oi00MHB4fS5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDEsLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMntib3JkZXItYm90dG9tOjA7cGFkZGluZy1ib3R0b206MH0ubWFya2Rvd24tYm9keSB1bC5uby1saXN0LC5tYXJrZG93bi1ib2R5IG9sLm5vLWxpc3R7cGFkZGluZzowO2xpc3Qtc3R5bGUtdHlwZTpub25lfS5tYXJrZG93bi1ib2R5IG9sW3R5cGU9YVwgc117bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5tYXJrZG93bi1ib2R5IG9sW3R5cGU9QVwgc117bGlzdC1zdHlsZS10eXBlOnVwcGVyLWFscGhhfS5tYXJrZG93bi1ib2R5IG9sW3R5cGU9aVwgc117bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5tYXJrZG93bi1ib2R5IG9sW3R5cGU9SVwgc117bGlzdC1zdHlsZS10eXBlOnVwcGVyLXJvbWFufS5tYXJrZG93bi1ib2R5IG9sW3R5cGU9IjEiXXtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubWFya2Rvd24tYm9keSBkaXY+b2w6bm90KFt0eXBlXSl7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1hcmtkb3duLWJvZHkgdWwgdWwsLm1hcmtkb3duLWJvZHkgdWwgb2wsLm1hcmtkb3duLWJvZHkgb2wgb2wsLm1hcmtkb3duLWJvZHkgb2wgdWx7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ubWFya2Rvd24tYm9keSBsaT5we21hcmdpbi10b3A6dmFyKC0tYmFzZS1zaXplLTE2KX0ubWFya2Rvd24tYm9keSBsaStsaXttYXJnaW4tdG9wOi4yNWVtfS5tYXJrZG93bi1ib2R5IGRse3BhZGRpbmc6MH0ubWFya2Rvd24tYm9keSBkbCBkdHttYXJnaW4tdG9wOnZhcigtLWJhc2Utc2l6ZS0xNik7Zm9udC1zaXplOjFlbTtmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkLDYwMCk7cGFkZGluZzowfS5tYXJrZG93bi1ib2R5IGRsIGRke3BhZGRpbmc6MCB2YXIoLS1iYXNlLXNpemUtMTYpO21hcmdpbi1ib3R0b206dmFyKC0tYmFzZS1zaXplLTE2KX0ubWFya2Rvd24tYm9keSB0YWJsZSB0aHtmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkLDYwMCl9Lm1hcmtkb3duLWJvZHkgdGFibGUgdGgsLm1hcmtkb3duLWJvZHkgdGFibGUgdGR7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXJDb2xvci1kZWZhdWx0KTtwYWRkaW5nOjZweCAxM3B4fS5tYXJrZG93bi1ib2R5IHRhYmxlIHRkPjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0ubWFya2Rvd24tYm9keSB0YWJsZSB0cntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJnQ29sb3ItZGVmYXVsdCk7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpfS5tYXJrZG93bi1ib2R5IHRhYmxlIHRyOm50aC1jaGlsZCgybil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iZ0NvbG9yLW11dGVkKX0ubWFya2Rvd24tYm9keSB0YWJsZSBpbWd7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubWFya2Rvd24tYm9keSBpbWdbYWxpZ249cmlnaHRde3BhZGRpbmctbGVmdDoyMHB4fS5tYXJrZG93bi1ib2R5IGltZ1thbGlnbj1sZWZ0XXtwYWRkaW5nLXJpZ2h0OjIwcHh9Lm1hcmtkb3duLWJvZHkgLmVtb2ppe3ZlcnRpY2FsLWFsaWduOnRleHQtdG9wO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOm5vbmV9Lm1hcmtkb3duLWJvZHkgc3Bhbi5mcmFtZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbn0ubWFya2Rvd24tYm9keSBzcGFuLmZyYW1lPnNwYW57ZmxvYXQ6bGVmdDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlckNvbG9yLWRlZmF1bHQpO3dpZHRoOmF1dG87bWFyZ2luOjEzcHggMCAwO3BhZGRpbmc6N3B4O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5tYXJrZG93bi1ib2R5IHNwYW4uZnJhbWUgc3BhbiBpbWd7ZmxvYXQ6bGVmdDtkaXNwbGF5OmJsb2NrfS5tYXJrZG93bi1ib2R5IHNwYW4uZnJhbWUgc3BhbiBzcGFue2NsZWFyOmJvdGg7Y29sb3I6dmFyKC0tZmdDb2xvci1kZWZhdWx0KTtwYWRkaW5nOjVweCAwIDA7ZGlzcGxheTpibG9ja30ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLWNlbnRlcntjbGVhcjpib3RoO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tY2VudGVyPnNwYW57dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjEzcHggYXV0byAwO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tY2VudGVyIHNwYW4gaW1ne3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowIGF1dG99Lm1hcmtkb3duLWJvZHkgc3Bhbi5hbGlnbi1yaWdodHtjbGVhcjpib3RoO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tcmlnaHQ+c3Bhbnt0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjoxM3B4IDAgMDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbn0ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLXJpZ2h0IHNwYW4gaW1ne3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjB9Lm1hcmtkb3duLWJvZHkgc3Bhbi5mbG9hdC1sZWZ0e2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjEzcHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW59Lm1hcmtkb3duLWJvZHkgc3Bhbi5mbG9hdC1sZWZ0IHNwYW57bWFyZ2luOjEzcHggMCAwfS5tYXJrZG93bi1ib2R5IHNwYW4uZmxvYXQtcmlnaHR7ZmxvYXQ6cmlnaHQ7bWFyZ2luLWxlZnQ6MTNweDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbn0ubWFya2Rvd24tYm9keSBzcGFuLmZsb2F0LXJpZ2h0PnNwYW57dGV4dC1hbGlnbjpyaWdodDttYXJnaW46MTNweCBhdXRvIDA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW59Lm1hcmtkb3duLWJvZHkgY29kZSwubWFya2Rvd24tYm9keSB0dHt3aGl0ZS1zcGFjZTpicmVhay1zcGFjZXM7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iZ0NvbG9yLW5ldXRyYWwtbXV0ZWQpO2JvcmRlci1yYWRpdXM6NnB4O21hcmdpbjowO3BhZGRpbmc6LjJlbSAuNGVtO2ZvbnQtc2l6ZTo4NSV9Lm1hcmtkb3duLWJvZHkgY29kZSBiciwubWFya2Rvd24tYm9keSB0dCBicntkaXNwbGF5Om5vbmV9Lm1hcmtkb3duLWJvZHkgZGVsIGNvZGV7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH0ubWFya2Rvd24tYm9keSBzYW1we2ZvbnQtc2l6ZTo4NSV9Lm1hcmtkb3duLWJvZHkgcHJlIGNvZGV7Zm9udC1zaXplOjEwMCV9Lm1hcmtkb3duLWJvZHkgcHJlPmNvZGV7d29yZC1icmVhazpub3JtYWw7d2hpdGUtc3BhY2U6cHJlO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowO21hcmdpbjowO3BhZGRpbmc6MH0ubWFya2Rvd24tYm9keSAuaGlnaGxpZ2h0e21hcmdpbi1ib3R0b206dmFyKC0tYmFzZS1zaXplLTE2KX0ubWFya2Rvd24tYm9keSAuaGlnaGxpZ2h0IHByZXt3b3JkLWJyZWFrOm5vcm1hbDttYXJnaW4tYm90dG9tOjB9Lm1hcmtkb3duLWJvZHkgLmhpZ2hsaWdodCBwcmUsLm1hcmtkb3duLWJvZHkgcHJle3BhZGRpbmc6dmFyKC0tYmFzZS1zaXplLTE2KTtjb2xvcjp2YXIoLS1mZ0NvbG9yLWRlZmF1bHQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmdDb2xvci1tdXRlZCk7Ym9yZGVyLXJhZGl1czo2cHg7Zm9udC1zaXplOjg1JTtsaW5lLWhlaWdodDoxLjQ1O292ZXJmbG93OmF1dG99Lm1hcmtkb3duLWJvZHkgcHJlIGNvZGUsLm1hcmtkb3duLWJvZHkgcHJlIHR0e2xpbmUtaGVpZ2h0OmluaGVyaXQ7d29yZC13cmFwOm5vcm1hbDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlfS5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSB0ZCwubWFya2Rvd24tYm9keSAuY3N2LWRhdGEgdGh7dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOm5vd3JhcDtwYWRkaW5nOjVweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxO292ZXJmbG93OmhpZGRlbn0ubWFya2Rvd24tYm9keSAuY3N2LWRhdGEgLmJsb2ItbnVte3BhZGRpbmc6MTBweCB2YXIoLS1iYXNlLXNpemUtOCkgOXB4O3RleHQtYWxpZ246cmlnaHQ7YmFja2dyb3VuZDp2YXIoLS1iZ0NvbG9yLWRlZmF1bHQpO2JvcmRlcjowfS5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSB0cntib3JkZXItdG9wOjB9Lm1hcmtkb3duLWJvZHkgLmNzdi1kYXRhIHRoe2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtc2VtaWJvbGQsNjAwKTtiYWNrZ3JvdW5kOnZhcigtLWJnQ29sb3ItbXV0ZWQpO2JvcmRlci10b3A6MH0ubWFya2Rvd24tYm9keSBbZGF0YS1mb290bm90ZS1yZWZdOmJlZm9yZXtjb250ZW50OiJbIn0ubWFya2Rvd24tYm9keSBbZGF0YS1mb290bm90ZS1yZWZdOmFmdGVye2NvbnRlbnQ6Il0ifS5tYXJrZG93bi1ib2R5IC5mb290bm90ZXN7Y29sb3I6dmFyKC0tZmdDb2xvci1tdXRlZCk7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItZGVmYXVsdCk7Zm9udC1zaXplOjEycHh9Lm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyBvbHtwYWRkaW5nLWxlZnQ6dmFyKC0tYmFzZS1zaXplLTE2KX0ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIG9sIHVse3BhZGRpbmctbGVmdDp2YXIoLS1iYXNlLXNpemUtMTYpO21hcmdpbi10b3A6dmFyKC0tYmFzZS1zaXplLTE2KTtkaXNwbGF5OmlubGluZS1ibG9ja30ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIGxpe3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMgbGk6dGFyZ2V0OmJlZm9yZXt0b3A6Y2FsYyh2YXIoLS1iYXNlLXNpemUtOCkqLTEpO3JpZ2h0OmNhbGModmFyKC0tYmFzZS1zaXplLTgpKi0xKTtib3R0b206Y2FsYyh2YXIoLS1iYXNlLXNpemUtOCkqLTEpO2xlZnQ6Y2FsYyh2YXIoLS1iYXNlLXNpemUtMjQpKi0xKTtwb2ludGVyLWV2ZW50czpub25lO2NvbnRlbnQ6IiI7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1ib3JkZXJDb2xvci1hY2NlbnQtZW1waGFzaXMpO2JvcmRlci1yYWRpdXM6NnB4O3Bvc2l0aW9uOmFic29sdXRlfS5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMgbGk6dGFyZ2V0e2NvbG9yOnZhcigtLWZnQ29sb3ItZGVmYXVsdCl9Lm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyAuZGF0YS1mb290bm90ZS1iYWNrcmVmIGctZW1vaml7Zm9udC1mYW1pbHk6bW9ub3NwYWNlfS5tYXJrZG93bi1ib2R5IC5wbC1je2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29tbWVudCl9Lm1hcmtkb3duLWJvZHkgLnBsLWMxLC5tYXJrZG93bi1ib2R5IC5wbC1zIC5wbC12e2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQpfS5tYXJrZG93bi1ib2R5IC5wbC1lLC5tYXJrZG93bi1ib2R5IC5wbC1lbntjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWVudGl0eSl9Lm1hcmtkb3duLWJvZHkgLnBsLXNtaSwubWFya2Rvd24tYm9keSAucGwtcyAucGwtczF7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1zdG9yYWdlLW1vZGlmaWVyLWltcG9ydCl9Lm1hcmtkb3duLWJvZHkgLnBsLWVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWVudGl0eS10YWcpfS5tYXJrZG93bi1ib2R5IC5wbC1re2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgta2V5d29yZCl9Lm1hcmtkb3duLWJvZHkgLnBsLXMsLm1hcmtkb3duLWJvZHkgLnBsLXBkcywubWFya2Rvd24tYm9keSAucGwtcyAucGwtcHNlIC5wbC1zMSwubWFya2Rvd24tYm9keSAucGwtc3IsLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1jY2UsLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1zcmUsLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1zcmF7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1zdHJpbmcpfS5tYXJrZG93bi1ib2R5IC5wbC12LC5tYXJrZG93bi1ib2R5IC5wbC1zbXd7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC12YXJpYWJsZSl9Lm1hcmtkb3duLWJvZHkgLnBsLWJ1e2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtYnJhY2tldGhpZ2hsaWdodGVyLXVubWF0Y2hlZCl9Lm1hcmtkb3duLWJvZHkgLnBsLWlpe2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtaW52YWxpZC1pbGxlZ2FsLXRleHQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1pbnZhbGlkLWlsbGVnYWwtYmcpfS5tYXJrZG93bi1ib2R5IC5wbC1jMntjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWNhcnJpYWdlLXJldHVybi10ZXh0KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY2FycmlhZ2UtcmV0dXJuLWJnKX0ubWFya2Rvd24tYm9keSAucGwtc3IgLnBsLWNjZXtjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LXN0cmluZy1yZWdleHApO2ZvbnQtd2VpZ2h0OjcwMH0ubWFya2Rvd24tYm9keSAucGwtbWx7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtbGlzdCl9Lm1hcmtkb3duLWJvZHkgLnBsLW1oLC5tYXJrZG93bi1ib2R5IC5wbC1taCAucGwtZW4sLm1hcmtkb3duLWJvZHkgLnBsLW1ze2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWhlYWRpbmcpO2ZvbnQtd2VpZ2h0OjcwMH0ubWFya2Rvd24tYm9keSAucGwtbWl7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaXRhbGljKTtmb250LXN0eWxlOml0YWxpY30ubWFya2Rvd24tYm9keSAucGwtbWJ7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtYm9sZCk7Zm9udC13ZWlnaHQ6NzAwfS5tYXJrZG93bi1ib2R5IC5wbC1tZHtjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1kZWxldGVkLXRleHQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtZGVsZXRlZC1iZyl9Lm1hcmtkb3duLWJvZHkgLnBsLW1pMXtjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1pbnNlcnRlZC10ZXh0KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWluc2VydGVkLWJnKX0ubWFya2Rvd24tYm9keSAucGwtbWN7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtY2hhbmdlZC10ZXh0KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWNoYW5nZWQtYmcpfS5tYXJrZG93bi1ib2R5IC5wbC1taTJ7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaWdub3JlZC10ZXh0KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWlnbm9yZWQtYmcpfS5tYXJrZG93bi1ib2R5IC5wbC1tZHJ7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tZXRhLWRpZmYtcmFuZ2UpO2ZvbnQtd2VpZ2h0OjcwMH0ubWFya2Rvd24tYm9keSAucGwtYmF7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1icmFja2V0aGlnaGxpZ2h0ZXItYW5nbGUpfS5tYXJrZG93bi1ib2R5IC5wbC1zZ3tjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LXN1YmxpbWVsaW50ZXItZ3V0dGVyLW1hcmspfS5tYXJrZG93bi1ib2R5IC5wbC1jb3Jse2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQtb3RoZXItcmVmZXJlbmNlLWxpbmspO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6bm9uZTtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgW3JvbGU9dGFicGFuZWxdW3RhYmluZGV4PSIwIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtib3gtc2hhZG93Om5vbmU7b3V0bGluZTpub25lfS5tYXJrZG93bi1ib2R5IGJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6bm9uZTtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgc3VtbWFyeTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6bm9uZTtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgYTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6bm9uZTtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgW3RhYmluZGV4PSIwIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgZGV0YWlscy1kaWFsb2c6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgZy1lbW9qaXttaW4td2lkdGg6MWNoO2ZvbnQtZmFtaWx5OkFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbDtmb250LXNpemU6MWVtO2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtbm9ybWFsLDQwMCk7dmVydGljYWwtYWxpZ246LS4wNzVlbTtsaW5lLWhlaWdodDoxO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc3R5bGU6bm9ybWFsIWltcG9ydGFudH0ubWFya2Rvd24tYm9keSBnLWVtb2ppIGltZ3t3aWR0aDoxZW07aGVpZ2h0OjFlbX0ubWFya2Rvd24tYm9keSBhOmhhcyg+cCw+ZGl2LD5wcmUsPmJsb2NrcXVvdGUpe2Rpc3BsYXk6YmxvY2t9Lm1hcmtkb3duLWJvZHkgYTpoYXMoPnAsPmRpdiw+cHJlLD5ibG9ja3F1b3RlKTpub3QoOmhhcyguc25pcHBldC1jbGlwYm9hcmQtY29udGVudCw+cHJlKSl7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50fS5tYXJrZG93bi1ib2R5IGE6aGFzKD5wLD5kaXYsPnByZSw+YmxvY2txdW90ZSk6aGFzKC5zbmlwcGV0LWNsaXBib2FyZC1jb250ZW50LD5wcmUpOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tZm9jdXMtb3V0bGluZUNvbG9yKTtvdXRsaW5lLW9mZnNldDoycHh9Lm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVte2xpc3Qtc3R5bGUtdHlwZTpub25lfS5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSBsYWJlbHtmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LW5vcm1hbCw0MDApfS5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbS5lbmFibGVkIGxhYmVse2N1cnNvcjpwb2ludGVyfS5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSsudGFzay1saXN0LWl0ZW17bWFyZ2luLXRvcDp2YXIoLS1iYXNlLXNpemUtNCl9Lm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVtIC5oYW5kbGV7ZGlzcGxheTpub25lfS5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbS1jaGVja2JveHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjAgLjJlbSAuMjVlbSAtMS40ZW19Lm1hcmtkb3duLWJvZHkgdWw6LXdlYmtpdC1hbnkoOmxhbmcoYWUpLDpsYW5nKGFyKSw6bGFuZyhhcmMpLDpsYW5nKGJjYyksOmxhbmcoYnFpKSw6bGFuZyhja2IpLDpsYW5nKGR2KSw6bGFuZyhmYSksOmxhbmcoZ2xrKSw6bGFuZyhoZSksOmxhbmcoa3UpLDpsYW5nKG16biksOmxhbmcobnFvKSw6bGFuZyhwbmIpLDpsYW5nKHBzKSw6bGFuZyhzZCksOmxhbmcodWcpLDpsYW5nKHVyKSw6bGFuZyh5aSkpIC50YXNrLWxpc3QtaXRlbS1jaGVja2JveHttYXJnaW46MCAtMS42ZW0gLjI1ZW0gLjJlbX0ubWFya2Rvd24tYm9keSB1bDotbW96LWFueSg6bGFuZyhhZSksOmxhbmcoYXIpLDpsYW5nKGFyYyksOmxhbmcoYmNjKSw6bGFuZyhicWkpLDpsYW5nKGNrYiksOmxhbmcoZHYpLDpsYW5nKGZhKSw6bGFuZyhnbGspLDpsYW5nKGhlKSw6bGFuZyhrdSksOmxhbmcobXpuKSw6bGFuZyhucW8pLDpsYW5nKHBuYiksOmxhbmcocHMpLDpsYW5nKHNkKSw6bGFuZyh1ZyksOmxhbmcodXIpLDpsYW5nKHlpKSkgLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94e21hcmdpbjowIC0xLjZlbSAuMjVlbSAuMmVtfS5tYXJrZG93bi1ib2R5IHVsOmlzKDpsYW5nKGFlKSw6bGFuZyhhciksOmxhbmcoYXJjKSw6bGFuZyhiY2MpLDpsYW5nKGJxaSksOmxhbmcoY2tiKSw6bGFuZyhkdiksOmxhbmcoZmEpLDpsYW5nKGdsayksOmxhbmcoaGUpLDpsYW5nKGt1KSw6bGFuZyhtem4pLDpsYW5nKG5xbyksOmxhbmcocG5iKSw6bGFuZyhwcyksOmxhbmcoc2QpLDpsYW5nKHVnKSw6bGFuZyh1ciksOmxhbmcoeWkpKSAudGFzay1saXN0LWl0ZW0tY2hlY2tib3h7bWFyZ2luOjAgLTEuNmVtIC4yNWVtIC4yZW19Lm1hcmtkb3duLWJvZHkgb2w6LXdlYmtpdC1hbnkoOmxhbmcoYWUpLDpsYW5nKGFyKSw6bGFuZyhhcmMpLDpsYW5nKGJjYyksOmxhbmcoYnFpKSw6bGFuZyhja2IpLDpsYW5nKGR2KSw6bGFuZyhmYSksOmxhbmcoZ2xrKSw6bGFuZyhoZSksOmxhbmcoa3UpLDpsYW5nKG16biksOmxhbmcobnFvKSw6bGFuZyhwbmIpLDpsYW5nKHBzKSw6bGFuZyhzZCksOmxhbmcodWcpLDpsYW5nKHVyKSw6bGFuZyh5aSkpIC50YXNrLWxpc3QtaXRlbS1jaGVja2JveHttYXJnaW46MCAtMS42ZW0gLjI1ZW0gLjJlbX0ubWFya2Rvd24tYm9keSBvbDotbW96LWFueSg6bGFuZyhhZSksOmxhbmcoYXIpLDpsYW5nKGFyYyksOmxhbmcoYmNjKSw6bGFuZyhicWkpLDpsYW5nKGNrYiksOmxhbmcoZHYpLDpsYW5nKGZhKSw6bGFuZyhnbGspLDpsYW5nKGhlKSw6bGFuZyhrdSksOmxhbmcobXpuKSw6bGFuZyhucW8pLDpsYW5nKHBuYiksOmxhbmcocHMpLDpsYW5nKHNkKSw6bGFuZyh1ZyksOmxhbmcodXIpLDpsYW5nKHlpKSkgLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94e21hcmdpbjowIC0xLjZlbSAuMjVlbSAuMmVtfS5tYXJrZG93bi1ib2R5IG9sOmlzKDpsYW5nKGFlKSw6bGFuZyhhciksOmxhbmcoYXJjKSw6bGFuZyhiY2MpLDpsYW5nKGJxaSksOmxhbmcoY2tiKSw6bGFuZyhkdiksOmxhbmcoZmEpLDpsYW5nKGdsayksOmxhbmcoaGUpLDpsYW5nKGt1KSw6bGFuZyhtem4pLDpsYW5nKG5xbyksOmxhbmcocG5iKSw6bGFuZyhwcyksOmxhbmcoc2QpLDpsYW5nKHVnKSw6bGFuZyh1ciksOmxhbmcoeWkpKSAudGFzay1saXN0LWl0ZW0tY2hlY2tib3h7bWFyZ2luOjAgLTEuNmVtIC4yNWVtIC4yZW19Lm1hcmtkb3duLWJvZHkgLmNvbnRhaW5zLXRhc2stbGlzdDpob3ZlciAudGFzay1saXN0LWl0ZW0tY29udmVydC1jb250YWluZXJ7LXdlYmtpdC1jbGlwLXBhdGg6bm9uZTtjbGlwLXBhdGg6bm9uZTt3aWR0aDphdXRvO2hlaWdodDoyNHB4O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6dmlzaWJsZX0ubWFya2Rvd24tYm9keSAuY29udGFpbnMtdGFzay1saXN0OmZvY3VzLXdpdGhpbiAudGFzay1saXN0LWl0ZW0tY29udmVydC1jb250YWluZXJ7LXdlYmtpdC1jbGlwLXBhdGg6bm9uZTtjbGlwLXBhdGg6bm9uZTt3aWR0aDphdXRvO2hlaWdodDoyNHB4O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6dmlzaWJsZX0ubWFya2Rvd24tYm9keSA6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcnstd2Via2l0LWZpbHRlcjppbnZlcnQoNTAlKTtmaWx0ZXI6aW52ZXJ0KDUwJSl9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0e3BhZGRpbmc6dmFyKC0tYmFzZS1zaXplLTgpIHZhcigtLWJhc2Utc2l6ZS0xNik7bWFyZ2luLWJvdHRvbTp2YXIoLS1iYXNlLXNpemUtMTYpO2NvbG9yOmluaGVyaXQ7Ym9yZGVyLWxlZnQ6LjI1ZW0gc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItZGVmYXVsdCl9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0PjpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0PjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQgLm1hcmtkb3duLWFsZXJ0LXRpdGxle2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtbWVkaXVtLDUwMCk7YWxpZ24taXRlbXM6Y2VudGVyO2xpbmUtaGVpZ2h0OjE7ZGlzcGxheTpmbGV4fS5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1ub3Rle2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpcyl9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LW5vdGUgLm1hcmtkb3duLWFsZXJ0LXRpdGxle2NvbG9yOnZhcigtLWZnQ29sb3ItYWNjZW50KX0ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtaW1wb3J0YW50e2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLWJvcmRlckNvbG9yLWRvbmUtZW1waGFzaXMpfS5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1pbXBvcnRhbnQgLm1hcmtkb3duLWFsZXJ0LXRpdGxle2NvbG9yOnZhcigtLWZnQ29sb3ItZG9uZSl9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LXdhcm5pbmd7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tYm9yZGVyQ29sb3ItYXR0ZW50aW9uLWVtcGhhc2lzKX0ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtd2FybmluZyAubWFya2Rvd24tYWxlcnQtdGl0bGV7Y29sb3I6dmFyKC0tZmdDb2xvci1hdHRlbnRpb24pfS5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC10aXB7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tYm9yZGVyQ29sb3Itc3VjY2Vzcy1lbXBoYXNpcyl9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LXRpcCAubWFya2Rvd24tYWxlcnQtdGl0bGV7Y29sb3I6dmFyKC0tZmdDb2xvci1zdWNjZXNzKX0ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtY2F1dGlvbntib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1ib3JkZXJDb2xvci1kYW5nZXItZW1waGFzaXMpfS5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIC5tYXJrZG93bi1hbGVydC10aXRsZXtjb2xvcjp2YXIoLS1mZ0NvbG9yLWRhbmdlcil9Lm1hcmtkb3duLWJvZHk+OmZpcnN0LWNoaWxkPi5oZWFkaW5nLWVsZW1lbnQ6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubWFya2Rvd24tYm9keSAuaGlnaGxpZ2h0IHByZTpoYXMoKy56ZXJvY2xpcGJvYXJkLWNvbnRhaW5lcil7bWluLWhlaWdodDo1MnB4fS5tYXJrZG93bi12aWV3ZXJbZGF0YS12LTEzZWI0N2ZkXXtiYWNrZ3JvdW5kOiNlZWYxZjQ7bWluLWhlaWdodDoxMDAlO3BhZGRpbmc6MjhweCAxNnB4IDQ4cHg7b3ZlcmZsb3c6YXV0b30ubWFya2Rvd24tYm9keVtkYXRhLXYtMTNlYjQ3ZmRdey0tbGlnaHRuaW5nY3NzLWxpZ2h0OmluaXRpYWw7LS1saWdodG5pbmdjc3MtZGFyazogO2NvbG9yLXNjaGVtZTpsaWdodDstLWJnQ29sb3ItZGVmYXVsdDojZmZmOy0tYmdDb2xvci1tdXRlZDojZjZmOGZhOy0tYmdDb2xvci1uZXV0cmFsLW11dGVkOnJnYmEoMTI5LDEzOSwxNTIsLjEyKTstLWJvcmRlckNvbG9yLWRlZmF1bHQ6I2QxZDllMDstLWJvcmRlckNvbG9yLW11dGVkOnJnYmEoMjA5LDIxNywyMjQsLjcpOy0tYm9yZGVyQ29sb3ItbmV1dHJhbC1tdXRlZDpyZ2JhKDIwOSwyMTcsMjI0LC43KTstLWZnQ29sb3ItZGVmYXVsdDojMWYyMzI4Oy0tZmdDb2xvci1tdXRlZDojNTk2MzZlOy0tZmdDb2xvci1hY2NlbnQ6IzA5NjlkYTtiYWNrZ3JvdW5kOnZhcigtLWJnQ29sb3ItZGVmYXVsdCk7Ym94LXNpemluZzpib3JkZXItYm94O21pbi13aWR0aDoyMDBweDttYXgtd2lkdGg6dmFyKC0tbWFya2Rvd24tbWF4LXdpZHRoLDk4MHB4KTtwYWRkaW5nOnZhcigtLW1hcmtkb3duLXBhZGRpbmcsNDVweCk7Y29sb3I6dmFyKC0tZmdDb2xvci1kZWZhdWx0KTtmb250LXNpemU6dmFyKC0tbWFya2Rvd24tZm9udC1zaXplLDE2cHgpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMCwzNSw1MywuMSk7Ym9yZGVyLXJhZGl1czoxMnB4O21hcmdpbjowIGF1dG87Ym94LXNoYWRvdzowIDE4cHggNDJweCByZ2JhKDE1LDIzLDQyLC4xKX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLm1hcmtkb3duLXZpZXdlcntiYWNrZ3JvdW5kOiMxMDE4MjB9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC5tYXJrZG93bi1ib2R5ey0tbGlnaHRuaW5nY3NzLWxpZ2h0OiA7LS1saWdodG5pbmdjc3MtZGFyazppbml0aWFsO2NvbG9yLXNjaGVtZTpkYXJrOy0tYmdDb2xvci1kZWZhdWx0OiMwZDExMTc7LS1iZ0NvbG9yLW11dGVkOiMxNTFiMjM7LS1iZ0NvbG9yLW5ldXRyYWwtbXV0ZWQ6cmdiYSgxMDEsMTA4LDExOCwuMik7LS1ib3JkZXJDb2xvci1kZWZhdWx0OiMzZDQ0NGQ7LS1ib3JkZXJDb2xvci1tdXRlZDpyZ2JhKDYxLDY4LDc3LC43KTstLWJvcmRlckNvbG9yLW5ldXRyYWwtbXV0ZWQ6cmdiYSg2MSw2OCw3NywuNyk7LS1mZ0NvbG9yLWRlZmF1bHQ6I2YwZjZmYzstLWZnQ29sb3ItbXV0ZWQ6IzkxOThhMTstLWZnQ29sb3ItYWNjZW50OiM0NDkzZjg7YmFja2dyb3VuZDp2YXIoLS1iZ0NvbG9yLWRlZmF1bHQpO2NvbG9yOnZhcigtLWZnQ29sb3ItZGVmYXVsdCk7Ym9yZGVyLWNvbG9yOnJnYmEoMTM5LDE0OCwxNTgsLjI2KTtib3gtc2hhZG93OjAgMjRweCA1NnB4IHJnYmEoMCwwLDAsLjM4KX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7Lm1hcmtkb3duLXZpZXdlcltkYXRhLXYtMTNlYjQ3ZmRde3BhZGRpbmc6MTRweCAxMHB4IDI4cHh9Lm1hcmtkb3duLWJvZHlbZGF0YS12LTEzZWI0N2ZkXXtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzoyMnB4IDE4cHh9fUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLm1hcmtkb3duLXZpZXdlcntiYWNrZ3JvdW5kOiMxMDE4MjB9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLm1hcmtkb3duLWJvZHl7LS1saWdodG5pbmdjc3MtbGlnaHQ6IDstLWxpZ2h0bmluZ2Nzcy1kYXJrOmluaXRpYWw7Y29sb3Itc2NoZW1lOmRhcms7LS1iZ0NvbG9yLWRlZmF1bHQ6IzBkMTExNzstLWJnQ29sb3ItbXV0ZWQ6IzE1MWIyMzstLWJnQ29sb3ItbmV1dHJhbC1tdXRlZDpyZ2JhKDEwMSwxMDgsMTE4LC4yKTstLWJvcmRlckNvbG9yLWRlZmF1bHQ6IzNkNDQ0ZDstLWJvcmRlckNvbG9yLW11dGVkOnJnYmEoNjEsNjgsNzcsLjcpOy0tYm9yZGVyQ29sb3ItbmV1dHJhbC1tdXRlZDpyZ2JhKDYxLDY4LDc3LC43KTstLWZnQ29sb3ItZGVmYXVsdDojZjBmNmZjOy0tZmdDb2xvci1tdXRlZDojOTE5OGExOy0tZmdDb2xvci1hY2NlbnQ6IzQ0OTNmODtiYWNrZ3JvdW5kOnZhcigtLWJnQ29sb3ItZGVmYXVsdCk7Y29sb3I6dmFyKC0tZmdDb2xvci1kZWZhdWx0KTtib3JkZXItY29sb3I6cmdiYSgxMzksMTQ4LDE1OCwuMjYpO2JveC1zaGFkb3c6MCAyNHB4IDU2cHggcmdiYSgwLDAsMCwuMzgpfX0uY29kZS12aWV3ZXJbZGF0YS12LTMxYmM5YjM4XXstLWNvZGUtYmc6I2Y2ZjhmYTstLWNvZGUtdG9vbGJhci1iZzpyZ2JhKDI1NSwyNTUsMjU1LC45Mik7LS1jb2RlLWJvcmRlcjpyZ2JhKDMxLDM1LDQwLC4xMik7LS1jb2RlLXRleHQ6IzI0MjkyZjstLWNvZGUtbXV0ZWQ6IzU3NjA2YTstLWNvZGUta2V5d29yZDojY2YyMjJlOy0tY29kZS10aXRsZTojODI1MGRmOy0tY29kZS1zdHJpbmc6IzBhMzA2OTstLWNvZGUtbnVtYmVyOiMwNTUwYWU7LS1jb2RlLWNvbW1lbnQ6IzZlNzc4MTstLWNvZGUtYXR0cjojOTUzODAwOy0tY29kZS1idWlsdC1pbjojMTE2MzI5O2JhY2tncm91bmQ6dmFyKC0tY29kZS1iZyk7bWluLWhlaWdodDoxMDAlO2NvbG9yOnZhcigtLWNvZGUtdGV4dCl9LmNvZGUtdG9vbGJhcltkYXRhLXYtMzFiYzliMzhde3otaW5kZXg6MTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1jb2RlLWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1jb2RlLXRvb2xiYXItYmcpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNnB4O2hlaWdodDo0MnB4O3BhZGRpbmc6MCAxNnB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjotd2Via2l0LXN0aWNreTtwb3NpdGlvbjpzdGlja3k7dG9wOjB9LmNvZGUtdG9vbGJhciBzcGFuW2RhdGEtdi0zMWJjOWIzOF0sLmNvZGUtdG9vbGJhciBzdHJvbmdbZGF0YS12LTMxYmM5YjM4XXtjb2xvcjp2YXIoLS1jb2RlLW11dGVkKTtsZXR0ZXItc3BhY2luZzowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMH0uY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF17YmFja2dyb3VuZDowIDA7bWluLXdpZHRoOi13ZWJraXQtbWluLWNvbnRlbnQ7bWluLXdpZHRoOi1tb3otbWluLWNvbnRlbnQ7bWluLXdpZHRoOm1pbi1jb250ZW50O21hcmdpbjowO3BhZGRpbmc6MThweCAyMHB4IDI4cHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzphdXRvfS5jb2RlLWFyZWEgY29kZVtkYXRhLXYtMzFiYzliMzhde2NvbG9yOmluaGVyaXQ7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sbW9ub3NwYWNlO2ZvbnQtc2l6ZTp2YXIoLS1jb2RlLWZvbnQtc2l6ZSwxM3B4KTstbW96LXRhYi1zaXplOjI7dGFiLXNpemU6Mjt3aGl0ZS1zcGFjZTpwcmU7YmFja2dyb3VuZDowIDA7cGFkZGluZzowO2xpbmUtaGVpZ2h0OjEuNztkaXNwbGF5OmJsb2NrO292ZXJmbG93OnZpc2libGV9LmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLWNvbW1lbnQsLmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLXF1b3Rle2NvbG9yOnZhcigtLWNvZGUtY29tbWVudCl9LmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLWtleXdvcmQsLmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLXNlbGVjdG9yLXRhZywuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtc3Vic3R7Y29sb3I6dmFyKC0tY29kZS1rZXl3b3JkKX0uY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtc3RyaW5nLC5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1kb2N0YWcsLmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLXJlZ2V4cHtjb2xvcjp2YXIoLS1jb2RlLXN0cmluZyl9LmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLXRpdGxlLC5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1zZWN0aW9uLC5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1zZWxlY3Rvci1pZHtjb2xvcjp2YXIoLS1jb2RlLXRpdGxlKTtmb250LXdlaWdodDo3MDB9LmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLW51bWJlciwuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtbGl0ZXJhbCwuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtdmFyaWFibGUsLmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLXRlbXBsYXRlLXZhcmlhYmxle2NvbG9yOnZhcigtLWNvZGUtbnVtYmVyKX0uY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtYXR0ciwuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtYXR0cmlidXRlLC5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1uYW1lLC5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1zZWxlY3Rvci1jbGFzc3tjb2xvcjp2YXIoLS1jb2RlLWF0dHIpfS5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1idWlsdF9pbiwuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtdHlwZSwuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtY2xhc3MgLmhsanMtdGl0bGV7Y29sb3I6dmFyKC0tY29kZS1idWlsdC1pbil9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC5jb2RlLXZpZXdlcnstLWNvZGUtYmc6IzBkMTExNzstLWNvZGUtdG9vbGJhci1iZzpyZ2JhKDEzLDE3LDIzLC45Mik7LS1jb2RlLWJvcmRlcjpyZ2JhKDEzOSwxNDgsMTU4LC4yNCk7LS1jb2RlLXRleHQ6I2U2ZWRmMzstLWNvZGUtbXV0ZWQ6IzhiOTQ5ZTstLWNvZGUta2V5d29yZDojZmY3YjcyOy0tY29kZS10aXRsZTojZDJhOGZmOy0tY29kZS1zdHJpbmc6I2E1ZDZmZjstLWNvZGUtbnVtYmVyOiM3OWMwZmY7LS1jb2RlLWNvbW1lbnQ6IzhiOTQ5ZTstLWNvZGUtYXR0cjojZmZhNjU3Oy0tY29kZS1idWlsdC1pbjojN2VlNzg3fUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmNvZGUtdmlld2Vyey0tY29kZS1iZzojMGQxMTE3Oy0tY29kZS10b29sYmFyLWJnOnJnYmEoMTMsMTcsMjMsLjkyKTstLWNvZGUtYm9yZGVyOnJnYmEoMTM5LDE0OCwxNTgsLjI0KTstLWNvZGUtdGV4dDojZTZlZGYzOy0tY29kZS1tdXRlZDojOGI5NDllOy0tY29kZS1rZXl3b3JkOiNmZjdiNzI7LS1jb2RlLXRpdGxlOiNkMmE4ZmY7LS1jb2RlLXN0cmluZzojYTVkNmZmOy0tY29kZS1udW1iZXI6Izc5YzBmZjstLWNvZGUtY29tbWVudDojOGI5NDllOy0tY29kZS1hdHRyOiNmZmE2NTc7LS1jb2RlLWJ1aWx0LWluOiM3ZWU3ODd9fS5hdWRpby12aWV3ZXJbZGF0YS12LTYwOGJkMzI4XXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiYSgxNCwxMTYsMTQ0LC4xKSx0cmFuc3BhcmVudCAzNCUpLGxpbmVhci1ncmFkaWVudCgjZjVmOGZiIDAlLCNlZGYyZjcgMTAwJSk7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjEwMCU7cGFkZGluZzoyOHB4O2Rpc3BsYXk6ZmxleH0uYXVkaW8tY2FyZFtkYXRhLXYtNjA4YmQzMjhde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTIpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxNSwyMyw0MiwuMDgpO2JvcmRlci1yYWRpdXM6OHB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczo4NnB4IG1pbm1heCgwLDFmcik7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxOHB4O3dpZHRoOm1pbigxMDAlLDY0MHB4KTtwYWRkaW5nOjI0cHg7ZGlzcGxheTpncmlkO2JveC1zaGFkb3c6MCAyMHB4IDUycHggcmdiYSgxNSwyMyw0MiwuMTMpfS5hdWRpby1hcnRbZGF0YS12LTYwOGJkMzI4XXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzBmNzY2ZSwjMmRkNGJmKTtib3JkZXItcmFkaXVzOjhweDt3aWR0aDo4NnB4O2hlaWdodDo4NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjI0KX0uYXVkaW8tYXJ0IHNwYW5bZGF0YS12LTYwOGJkMzI4XXtib3JkZXI6OHB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjg4KTtib3JkZXItcmFkaXVzOjk5OXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxOHB4O2JvdHRvbToxOHB4O2xlZnQ6MThweDtyaWdodDoxOHB4fS5hdWRpby1hcnQgaVtkYXRhLXYtNjA4YmQzMjhde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7Ym9yZGVyLXJhZGl1czoxMHB4IDEwcHggNHB4IDRweDt3aWR0aDoxOHB4O2hlaWdodDozNnB4O3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToyMHB4O3JpZ2h0OjE4cHh9LmF1ZGlvLWNvcHlbZGF0YS12LTYwOGJkMzI4XXttaW4td2lkdGg6MH0uYXVkaW8ta2lja2VyW2RhdGEtdi02MDhiZDMyOF17Y29sb3I6IzBmNzY2ZTtsZXR0ZXItc3BhY2luZzowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjgwMH0uYXVkaW8tY29weSBzdHJvbmdbZGF0YS12LTYwOGJkMzI4XXtjb2xvcjojMTMyMjM1O21hcmdpbi10b3A6NXB4O2ZvbnQtc2l6ZToyM3B4O2xpbmUtaGVpZ2h0OjEuMTU7ZGlzcGxheTpibG9ja30uYXVkaW8tY29weSBwW2RhdGEtdi02MDhiZDMyOF17Y29sb3I6IzY0NzQ4YjttYXJnaW46OHB4IDAgMDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjd9LmF1ZGlvLW1ldGVyW2RhdGEtdi02MDhiZDMyOF17Y29sb3I6IzY0NzQ4Yjtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Z3JpZC1jb2x1bW46MS8tMTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDhweCBtaW5tYXgoMCwxZnIpIDQ4cHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZvbnQtc2l6ZToxMnB4O2Rpc3BsYXk6Z3JpZH0uYXVkaW8tcHJvZ3Jlc3NbZGF0YS12LTYwOGJkMzI4XXtiYWNrZ3JvdW5kOnJnYmEoMTUsMTE4LDExMCwuMTIpO2JvcmRlci1yYWRpdXM6OTk5cHg7aGVpZ2h0OjZweDtvdmVyZmxvdzpoaWRkZW59LmF1ZGlvLXByb2dyZXNzIGlbZGF0YS12LTYwOGJkMzI4XXtib3JkZXItcmFkaXVzOmluaGVyaXQ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzBmNzY2ZSwjMmRkNGJmKTtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOndpZHRoIC4xOHM7ZGlzcGxheTpibG9ja30uYXVkaW8tY29udHJvbFtkYXRhLXYtNjA4YmQzMjhde2dyaWQtY29sdW1uOjEvLTE7d2lkdGg6MTAwJTtoZWlnaHQ6NDJweH1AbWVkaWEgKG1heC13aWR0aDo1NjBweCl7LmF1ZGlvLXZpZXdlcltkYXRhLXYtNjA4YmQzMjhde3BhZGRpbmc6MTZweH0uYXVkaW8tY2FyZFtkYXRhLXYtNjA4YmQzMjhde2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LmF1ZGlvLWFydFtkYXRhLXYtNjA4YmQzMjhde3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9fQovKiR2aXRlJDoxKi8=";
|
|
17
|
-
//#endregion
|
|
18
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/bind.js
|
|
19
|
-
function ue(e, t) {
|
|
20
|
-
return function() {
|
|
21
|
-
return e.apply(t, arguments);
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/utils.js
|
|
26
|
-
var { toString: de } = Object.prototype, { getPrototypeOf: fe } = Object, { iterator: pe, toStringTag: me } = Symbol, N = ((e) => (t) => {
|
|
27
|
-
let n = de.call(t);
|
|
28
|
-
return e[n] || (e[n] = n.slice(8, -1).toLowerCase());
|
|
29
|
-
})(Object.create(null)), P = (e) => (e = e.toLowerCase(), (t) => N(t) === e), F = (e) => (t) => typeof t === e, { isArray: I } = Array, he = F("undefined");
|
|
30
|
-
function L(e) {
|
|
31
|
-
return e !== null && !he(e) && e.constructor !== null && !he(e.constructor) && R(e.constructor.isBuffer) && e.constructor.isBuffer(e);
|
|
32
|
-
}
|
|
33
|
-
var ge = P("ArrayBuffer");
|
|
34
|
-
function _e(e) {
|
|
35
|
-
let t;
|
|
36
|
-
return t = typeof ArrayBuffer < "u" && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e.buffer && ge(e.buffer), t;
|
|
37
|
-
}
|
|
38
|
-
var ve = F("string"), R = F("function"), ye = F("number"), be = (e) => typeof e == "object" && !!e, xe = (e) => e === !0 || e === !1, z = (e) => {
|
|
39
|
-
if (N(e) !== "object") return !1;
|
|
40
|
-
let t = fe(e);
|
|
41
|
-
return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(me in e) && !(pe in e);
|
|
42
|
-
}, Se = (e) => {
|
|
43
|
-
if (!be(e) || L(e)) return !1;
|
|
44
|
-
try {
|
|
45
|
-
return Object.keys(e).length === 0 && Object.getPrototypeOf(e) === Object.prototype;
|
|
46
|
-
} catch (e) {
|
|
47
|
-
return !1;
|
|
48
|
-
}
|
|
49
|
-
}, Ce = P("Date"), we = P("File"), Te = (e) => !!(e && e.uri !== void 0), Ee = (e) => e && e.getParts !== void 0, B = P("Blob"), V = P("FileList"), De = (e) => be(e) && R(e.pipe);
|
|
50
|
-
function Oe() {
|
|
51
|
-
return typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {};
|
|
52
|
-
}
|
|
53
|
-
var H = Oe(), ke = H.FormData === void 0 ? void 0 : H.FormData, Ae = (e) => {
|
|
54
|
-
if (!e) return !1;
|
|
55
|
-
if (ke && e instanceof ke) return !0;
|
|
56
|
-
let t = fe(e);
|
|
57
|
-
if (!t || t === Object.prototype || !R(e.append)) return !1;
|
|
58
|
-
let n = N(e);
|
|
59
|
-
return n === "formdata" || n === "object" && R(e.toString) && e.toString() === "[object FormData]";
|
|
60
|
-
}, je = P("URLSearchParams"), [Me, Ne, Pe, Fe] = [
|
|
61
|
-
"ReadableStream",
|
|
62
|
-
"Request",
|
|
63
|
-
"Response",
|
|
64
|
-
"Headers"
|
|
65
|
-
].map(P), Ie = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
|
|
66
|
-
function U(e, t, { allOwnKeys: n = !1 } = {}) {
|
|
67
|
-
if (e == null) return;
|
|
68
|
-
let r, i;
|
|
69
|
-
if (typeof e != "object" && (e = [e]), I(e)) for (r = 0, i = e.length; r < i; r++) t.call(null, e[r], r, e);
|
|
70
|
-
else {
|
|
71
|
-
if (L(e)) return;
|
|
72
|
-
let i = n ? Object.getOwnPropertyNames(e) : Object.keys(e), a = i.length, o;
|
|
73
|
-
for (r = 0; r < a; r++) o = i[r], t.call(null, e[o], o, e);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
function Le(e, t) {
|
|
77
|
-
if (L(e)) return null;
|
|
78
|
-
t = t.toLowerCase();
|
|
79
|
-
let n = Object.keys(e), r = n.length, i;
|
|
80
|
-
for (; r-- > 0;) if (i = n[r], t === i.toLowerCase()) return i;
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
var W = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, Re = (e) => !he(e) && e !== W;
|
|
84
|
-
function ze(...e) {
|
|
85
|
-
let { caseless: t, skipUndefined: n } = Re(this) && this || {}, r = {}, i = (e, i) => {
|
|
86
|
-
if (i === "__proto__" || i === "constructor" || i === "prototype") return;
|
|
87
|
-
let a = t && typeof i == "string" && Le(r, i) || i, o = Ye(r, a) ? r[a] : void 0;
|
|
88
|
-
z(o) && z(e) ? r[a] = ze(o, e) : z(e) ? r[a] = ze({}, e) : I(e) ? r[a] = e.slice() : (!n || !he(e)) && (r[a] = e);
|
|
89
|
-
};
|
|
90
|
-
for (let t = 0, n = e.length; t < n; t++) {
|
|
91
|
-
let n = e[t];
|
|
92
|
-
if (!n || L(n) || (U(n, i), typeof n != "object" || I(n))) continue;
|
|
93
|
-
let r = Object.getOwnPropertySymbols(n);
|
|
94
|
-
for (let e = 0; e < r.length; e++) {
|
|
95
|
-
let t = r[e];
|
|
96
|
-
Xe.call(n, t) && i(n[t], t);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return r;
|
|
100
|
-
}
|
|
101
|
-
var G = (e, t, n, { allOwnKeys: r } = {}) => (U(t, (t, r) => {
|
|
102
|
-
n && R(t) ? Object.defineProperty(e, r, {
|
|
103
|
-
__proto__: null,
|
|
104
|
-
value: ue(t, n),
|
|
105
|
-
writable: !0,
|
|
106
|
-
enumerable: !0,
|
|
107
|
-
configurable: !0
|
|
108
|
-
}) : Object.defineProperty(e, r, {
|
|
109
|
-
__proto__: null,
|
|
110
|
-
value: t,
|
|
111
|
-
writable: !0,
|
|
112
|
-
enumerable: !0,
|
|
113
|
-
configurable: !0
|
|
114
|
-
});
|
|
115
|
-
}, { allOwnKeys: r }), e), Be = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e), Ve = (e, t, n, r) => {
|
|
116
|
-
e.prototype = Object.create(t.prototype, r), Object.defineProperty(e.prototype, "constructor", {
|
|
117
|
-
__proto__: null,
|
|
118
|
-
value: e,
|
|
119
|
-
writable: !0,
|
|
120
|
-
enumerable: !1,
|
|
121
|
-
configurable: !0
|
|
122
|
-
}), Object.defineProperty(e, "super", {
|
|
123
|
-
__proto__: null,
|
|
124
|
-
value: t.prototype
|
|
125
|
-
}), n && Object.assign(e.prototype, n);
|
|
126
|
-
}, He = (e, t, n, r) => {
|
|
127
|
-
let i, a, o, s = {};
|
|
128
|
-
if (t = t || {}, e == null) return t;
|
|
129
|
-
do {
|
|
130
|
-
for (i = Object.getOwnPropertyNames(e), a = i.length; a-- > 0;) o = i[a], (!r || r(o, e, t)) && !s[o] && (t[o] = e[o], s[o] = !0);
|
|
131
|
-
e = n !== !1 && fe(e);
|
|
132
|
-
} while (e && (!n || n(e, t)) && e !== Object.prototype);
|
|
133
|
-
return t;
|
|
134
|
-
}, Ue = (e, t, n) => {
|
|
135
|
-
e = String(e), (n === void 0 || n > e.length) && (n = e.length), n -= t.length;
|
|
136
|
-
let r = e.indexOf(t, n);
|
|
137
|
-
return r !== -1 && r === n;
|
|
138
|
-
}, K = (e) => {
|
|
139
|
-
if (!e) return null;
|
|
140
|
-
if (I(e)) return e;
|
|
141
|
-
let t = e.length;
|
|
142
|
-
if (!ye(t)) return null;
|
|
143
|
-
let n = Array(t);
|
|
144
|
-
for (; t-- > 0;) n[t] = e[t];
|
|
145
|
-
return n;
|
|
146
|
-
}, We = ((e) => (t) => e && t instanceof e)(typeof Uint8Array < "u" && fe(Uint8Array)), Ge = (e, t) => {
|
|
147
|
-
let n = (e && e[pe]).call(e), r;
|
|
148
|
-
for (; (r = n.next()) && !r.done;) {
|
|
149
|
-
let n = r.value;
|
|
150
|
-
t.call(e, n[0], n[1]);
|
|
151
|
-
}
|
|
152
|
-
}, Ke = (e, t) => {
|
|
153
|
-
let n, r = [];
|
|
154
|
-
for (; (n = e.exec(t)) !== null;) r.push(n);
|
|
155
|
-
return r;
|
|
156
|
-
}, qe = P("HTMLFormElement"), Je = (e) => e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function(e, t, n) {
|
|
157
|
-
return t.toUpperCase() + n;
|
|
158
|
-
}), Ye = (({ hasOwnProperty: e }) => (t, n) => e.call(t, n))(Object.prototype), { propertyIsEnumerable: Xe } = Object.prototype, Ze = P("RegExp"), Qe = (e, t) => {
|
|
159
|
-
let n = Object.getOwnPropertyDescriptors(e), r = {};
|
|
160
|
-
U(n, (n, i) => {
|
|
161
|
-
let a;
|
|
162
|
-
(a = t(n, i, e)) !== !1 && (r[i] = a || n);
|
|
163
|
-
}), Object.defineProperties(e, r);
|
|
164
|
-
}, $e = (e) => {
|
|
165
|
-
Qe(e, (t, n) => {
|
|
166
|
-
if (R(e) && [
|
|
167
|
-
"arguments",
|
|
168
|
-
"caller",
|
|
169
|
-
"callee"
|
|
170
|
-
].includes(n)) return !1;
|
|
171
|
-
let r = e[n];
|
|
172
|
-
if (R(r)) {
|
|
173
|
-
if (t.enumerable = !1, "writable" in t) {
|
|
174
|
-
t.writable = !1;
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
t.set || (t.set = () => {
|
|
178
|
-
throw Error("Can not rewrite read-only method '" + n + "'");
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
}, et = (e, t) => {
|
|
183
|
-
let n = {}, r = (e) => {
|
|
184
|
-
e.forEach((e) => {
|
|
185
|
-
n[e] = !0;
|
|
186
|
-
});
|
|
187
|
-
};
|
|
188
|
-
return I(e) ? r(e) : r(String(e).split(t)), n;
|
|
189
|
-
}, tt = () => {}, nt = (e, t) => e != null && Number.isFinite(e = +e) ? e : t;
|
|
190
|
-
function rt(e) {
|
|
191
|
-
return !!(e && R(e.append) && e[me] === "FormData" && e[pe]);
|
|
192
|
-
}
|
|
193
|
-
var it = (e) => {
|
|
194
|
-
let t = /* @__PURE__ */ new WeakSet(), n = (e) => {
|
|
195
|
-
if (be(e)) {
|
|
196
|
-
if (t.has(e)) return;
|
|
197
|
-
if (L(e)) return e;
|
|
198
|
-
if (!("toJSON" in e)) {
|
|
199
|
-
t.add(e);
|
|
200
|
-
let r = I(e) ? [] : {};
|
|
201
|
-
return U(e, (e, t) => {
|
|
202
|
-
let i = n(e);
|
|
203
|
-
!he(i) && (r[t] = i);
|
|
204
|
-
}), t.delete(e), r;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
return e;
|
|
208
|
-
};
|
|
209
|
-
return n(e);
|
|
210
|
-
}, at = P("AsyncFunction"), ot = (e) => e && (be(e) || R(e)) && R(e.then) && R(e.catch), st = ((e, t) => e ? setImmediate : t ? ((e, t) => (W.addEventListener("message", ({ source: n, data: r }) => {
|
|
211
|
-
n === W && r === e && t.length && t.shift()();
|
|
212
|
-
}, !1), (n) => {
|
|
213
|
-
t.push(n), W.postMessage(e, "*");
|
|
214
|
-
}))(`axios@${Math.random()}`, []) : (e) => setTimeout(e))(typeof setImmediate == "function", R(W.postMessage)), q = {
|
|
215
|
-
isArray: I,
|
|
216
|
-
isArrayBuffer: ge,
|
|
217
|
-
isBuffer: L,
|
|
218
|
-
isFormData: Ae,
|
|
219
|
-
isArrayBufferView: _e,
|
|
220
|
-
isString: ve,
|
|
221
|
-
isNumber: ye,
|
|
222
|
-
isBoolean: xe,
|
|
223
|
-
isObject: be,
|
|
224
|
-
isPlainObject: z,
|
|
225
|
-
isEmptyObject: Se,
|
|
226
|
-
isReadableStream: Me,
|
|
227
|
-
isRequest: Ne,
|
|
228
|
-
isResponse: Pe,
|
|
229
|
-
isHeaders: Fe,
|
|
230
|
-
isUndefined: he,
|
|
231
|
-
isDate: Ce,
|
|
232
|
-
isFile: we,
|
|
233
|
-
isReactNativeBlob: Te,
|
|
234
|
-
isReactNative: Ee,
|
|
235
|
-
isBlob: B,
|
|
236
|
-
isRegExp: Ze,
|
|
237
|
-
isFunction: R,
|
|
238
|
-
isStream: De,
|
|
239
|
-
isURLSearchParams: je,
|
|
240
|
-
isTypedArray: We,
|
|
241
|
-
isFileList: V,
|
|
242
|
-
forEach: U,
|
|
243
|
-
merge: ze,
|
|
244
|
-
extend: G,
|
|
245
|
-
trim: Ie,
|
|
246
|
-
stripBOM: Be,
|
|
247
|
-
inherits: Ve,
|
|
248
|
-
toFlatObject: He,
|
|
249
|
-
kindOf: N,
|
|
250
|
-
kindOfTest: P,
|
|
251
|
-
endsWith: Ue,
|
|
252
|
-
toArray: K,
|
|
253
|
-
forEachEntry: Ge,
|
|
254
|
-
matchAll: Ke,
|
|
255
|
-
isHTMLForm: qe,
|
|
256
|
-
hasOwnProperty: Ye,
|
|
257
|
-
hasOwnProp: Ye,
|
|
258
|
-
reduceDescriptors: Qe,
|
|
259
|
-
freezeMethods: $e,
|
|
260
|
-
toObjectSet: et,
|
|
261
|
-
toCamelCase: Je,
|
|
262
|
-
noop: tt,
|
|
263
|
-
toFiniteNumber: nt,
|
|
264
|
-
findKey: Le,
|
|
265
|
-
global: W,
|
|
266
|
-
isContextDefined: Re,
|
|
267
|
-
isSpecCompliantForm: rt,
|
|
268
|
-
toJSONObject: it,
|
|
269
|
-
isAsyncFn: at,
|
|
270
|
-
isThenable: ot,
|
|
271
|
-
setImmediate: st,
|
|
272
|
-
asap: typeof queueMicrotask < "u" ? queueMicrotask.bind(W) : typeof process < "u" && process.nextTick || st,
|
|
273
|
-
isIterable: (e) => e != null && R(e[pe])
|
|
274
|
-
}, ct = q.toObjectSet([
|
|
275
|
-
"age",
|
|
276
|
-
"authorization",
|
|
277
|
-
"content-length",
|
|
278
|
-
"content-type",
|
|
279
|
-
"etag",
|
|
280
|
-
"expires",
|
|
281
|
-
"from",
|
|
282
|
-
"host",
|
|
283
|
-
"if-modified-since",
|
|
284
|
-
"if-unmodified-since",
|
|
285
|
-
"last-modified",
|
|
286
|
-
"location",
|
|
287
|
-
"max-forwards",
|
|
288
|
-
"proxy-authorization",
|
|
289
|
-
"referer",
|
|
290
|
-
"retry-after",
|
|
291
|
-
"user-agent"
|
|
292
|
-
]), lt = (e) => {
|
|
293
|
-
let t = {}, n, r, i;
|
|
294
|
-
return e && e.split("\n").forEach(function(e) {
|
|
295
|
-
i = e.indexOf(":"), n = e.substring(0, i).trim().toLowerCase(), r = e.substring(i + 1).trim(), !(!n || t[n] && ct[n]) && (n === "set-cookie" ? t[n] ? t[n].push(r) : t[n] = [r] : t[n] = t[n] ? t[n] + ", " + r : r);
|
|
296
|
-
}), t;
|
|
297
|
-
};
|
|
298
|
-
//#endregion
|
|
299
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/sanitizeHeaderValue.js
|
|
300
|
-
function ut(e) {
|
|
301
|
-
let t = 0, n = e.length;
|
|
302
|
-
for (; t < n;) {
|
|
303
|
-
let n = e.charCodeAt(t);
|
|
304
|
-
if (n !== 9 && n !== 32) break;
|
|
305
|
-
t += 1;
|
|
306
|
-
}
|
|
307
|
-
for (; n > t;) {
|
|
308
|
-
let t = e.charCodeAt(n - 1);
|
|
309
|
-
if (t !== 9 && t !== 32) break;
|
|
310
|
-
--n;
|
|
311
|
-
}
|
|
312
|
-
return t === 0 && n === e.length ? e : e.slice(t, n);
|
|
313
|
-
}
|
|
314
|
-
var dt = /* @__PURE__ */ RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+", "g"), ft = /* @__PURE__ */ RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+", "g");
|
|
315
|
-
function pt(e, t) {
|
|
316
|
-
return q.isArray(e) ? e.map((e) => pt(e, t)) : ut(String(e).replace(t, ""));
|
|
317
|
-
}
|
|
318
|
-
var mt = (e) => pt(e, dt), ht = (e) => pt(e, ft);
|
|
319
|
-
function gt(e) {
|
|
320
|
-
let t = Object.create(null);
|
|
321
|
-
return q.forEach(e.toJSON(), (e, n) => {
|
|
322
|
-
t[n] = ht(e);
|
|
323
|
-
}), t;
|
|
324
|
-
}
|
|
325
|
-
//#endregion
|
|
326
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/AxiosHeaders.js
|
|
327
|
-
var _t = Symbol("internals");
|
|
328
|
-
function vt(e) {
|
|
329
|
-
return e && String(e).trim().toLowerCase();
|
|
330
|
-
}
|
|
331
|
-
function yt(e) {
|
|
332
|
-
return e === !1 || e == null ? e : q.isArray(e) ? e.map(yt) : mt(String(e));
|
|
333
|
-
}
|
|
334
|
-
function bt(e) {
|
|
335
|
-
let t = Object.create(null), n = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g, r;
|
|
336
|
-
for (; r = n.exec(e);) t[r[1]] = r[2];
|
|
337
|
-
return t;
|
|
338
|
-
}
|
|
339
|
-
var xt = (e) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());
|
|
340
|
-
function St(e, t, n, r, i) {
|
|
341
|
-
if (q.isFunction(r)) return r.call(this, t, n);
|
|
342
|
-
if (i && (t = n), q.isString(t)) {
|
|
343
|
-
if (q.isString(r)) return t.indexOf(r) !== -1;
|
|
344
|
-
if (q.isRegExp(r)) return r.test(t);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
function Ct(e) {
|
|
348
|
-
return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (e, t, n) => t.toUpperCase() + n);
|
|
349
|
-
}
|
|
350
|
-
function wt(e, t) {
|
|
351
|
-
let n = q.toCamelCase(" " + t);
|
|
352
|
-
[
|
|
353
|
-
"get",
|
|
354
|
-
"set",
|
|
355
|
-
"has"
|
|
356
|
-
].forEach((r) => {
|
|
357
|
-
Object.defineProperty(e, r + n, {
|
|
358
|
-
__proto__: null,
|
|
359
|
-
value: function(e, n, i) {
|
|
360
|
-
return this[r].call(this, t, e, n, i);
|
|
361
|
-
},
|
|
362
|
-
configurable: !0
|
|
363
|
-
});
|
|
364
|
-
});
|
|
365
|
-
}
|
|
366
|
-
var J = class {
|
|
367
|
-
constructor(e) {
|
|
368
|
-
e && this.set(e);
|
|
369
|
-
}
|
|
370
|
-
set(e, t, n) {
|
|
371
|
-
let r = this;
|
|
372
|
-
function i(e, t, n) {
|
|
373
|
-
let i = vt(t);
|
|
374
|
-
if (!i) return;
|
|
375
|
-
let a = q.findKey(r, i);
|
|
376
|
-
(!a || r[a] === void 0 || n === !0 || n === void 0 && r[a] !== !1) && (r[a || t] = yt(e));
|
|
377
|
-
}
|
|
378
|
-
let a = (e, t) => q.forEach(e, (e, n) => i(e, n, t));
|
|
379
|
-
if (q.isPlainObject(e) || e instanceof this.constructor) a(e, t);
|
|
380
|
-
else if (q.isString(e) && (e = e.trim()) && !xt(e)) a(lt(e), t);
|
|
381
|
-
else if (q.isObject(e) && q.isIterable(e)) {
|
|
382
|
-
let n = {}, r, i;
|
|
383
|
-
for (let t of e) {
|
|
384
|
-
if (!q.isArray(t)) throw TypeError("Object iterator must return a key-value pair");
|
|
385
|
-
n[i = t[0]] = (r = n[i]) ? q.isArray(r) ? [...r, t[1]] : [r, t[1]] : t[1];
|
|
386
|
-
}
|
|
387
|
-
a(n, t);
|
|
388
|
-
} else e != null && i(t, e, n);
|
|
389
|
-
return this;
|
|
390
|
-
}
|
|
391
|
-
get(e, t) {
|
|
392
|
-
if (e = vt(e), e) {
|
|
393
|
-
let n = q.findKey(this, e);
|
|
394
|
-
if (n) {
|
|
395
|
-
let e = this[n];
|
|
396
|
-
if (!t) return e;
|
|
397
|
-
if (t === !0) return bt(e);
|
|
398
|
-
if (q.isFunction(t)) return t.call(this, e, n);
|
|
399
|
-
if (q.isRegExp(t)) return t.exec(e);
|
|
400
|
-
throw TypeError("parser must be boolean|regexp|function");
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
has(e, t) {
|
|
405
|
-
if (e = vt(e), e) {
|
|
406
|
-
let n = q.findKey(this, e);
|
|
407
|
-
return !!(n && this[n] !== void 0 && (!t || St(this, this[n], n, t)));
|
|
408
|
-
}
|
|
409
|
-
return !1;
|
|
410
|
-
}
|
|
411
|
-
delete(e, t) {
|
|
412
|
-
let n = this, r = !1;
|
|
413
|
-
function i(e) {
|
|
414
|
-
if (e = vt(e), e) {
|
|
415
|
-
let i = q.findKey(n, e);
|
|
416
|
-
i && (!t || St(n, n[i], i, t)) && (delete n[i], r = !0);
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
return q.isArray(e) ? e.forEach(i) : i(e), r;
|
|
420
|
-
}
|
|
421
|
-
clear(e) {
|
|
422
|
-
let t = Object.keys(this), n = t.length, r = !1;
|
|
423
|
-
for (; n--;) {
|
|
424
|
-
let i = t[n];
|
|
425
|
-
(!e || St(this, this[i], i, e, !0)) && (delete this[i], r = !0);
|
|
426
|
-
}
|
|
427
|
-
return r;
|
|
428
|
-
}
|
|
429
|
-
normalize(e) {
|
|
430
|
-
let t = this, n = {};
|
|
431
|
-
return q.forEach(this, (r, i) => {
|
|
432
|
-
let a = q.findKey(n, i);
|
|
433
|
-
if (a) {
|
|
434
|
-
t[a] = yt(r), delete t[i];
|
|
435
|
-
return;
|
|
436
|
-
}
|
|
437
|
-
let o = e ? Ct(i) : String(i).trim();
|
|
438
|
-
o !== i && delete t[i], t[o] = yt(r), n[o] = !0;
|
|
439
|
-
}), this;
|
|
440
|
-
}
|
|
441
|
-
concat(...e) {
|
|
442
|
-
return this.constructor.concat(this, ...e);
|
|
443
|
-
}
|
|
444
|
-
toJSON(e) {
|
|
445
|
-
let t = Object.create(null);
|
|
446
|
-
return q.forEach(this, (n, r) => {
|
|
447
|
-
n != null && n !== !1 && (t[r] = e && q.isArray(n) ? n.join(", ") : n);
|
|
448
|
-
}), t;
|
|
449
|
-
}
|
|
450
|
-
[Symbol.iterator]() {
|
|
451
|
-
return Object.entries(this.toJSON())[Symbol.iterator]();
|
|
452
|
-
}
|
|
453
|
-
toString() {
|
|
454
|
-
return Object.entries(this.toJSON()).map(([e, t]) => e + ": " + t).join("\n");
|
|
455
|
-
}
|
|
456
|
-
getSetCookie() {
|
|
457
|
-
return this.get("set-cookie") || [];
|
|
458
|
-
}
|
|
459
|
-
get [Symbol.toStringTag]() {
|
|
460
|
-
return "AxiosHeaders";
|
|
461
|
-
}
|
|
462
|
-
static from(e) {
|
|
463
|
-
return e instanceof this ? e : new this(e);
|
|
464
|
-
}
|
|
465
|
-
static concat(e, ...t) {
|
|
466
|
-
let n = new this(e);
|
|
467
|
-
return t.forEach((e) => n.set(e)), n;
|
|
468
|
-
}
|
|
469
|
-
static accessor(e) {
|
|
470
|
-
let t = (this[_t] = this[_t] = { accessors: {} }).accessors, n = this.prototype;
|
|
471
|
-
function r(e) {
|
|
472
|
-
let r = vt(e);
|
|
473
|
-
t[r] || (wt(n, e), t[r] = !0);
|
|
474
|
-
}
|
|
475
|
-
return q.isArray(e) ? e.forEach(r) : r(e), this;
|
|
476
|
-
}
|
|
477
|
-
};
|
|
478
|
-
J.accessor([
|
|
479
|
-
"Content-Type",
|
|
480
|
-
"Content-Length",
|
|
481
|
-
"Accept",
|
|
482
|
-
"Accept-Encoding",
|
|
483
|
-
"User-Agent",
|
|
484
|
-
"Authorization"
|
|
485
|
-
]), q.reduceDescriptors(J.prototype, ({ value: e }, t) => {
|
|
486
|
-
let n = t[0].toUpperCase() + t.slice(1);
|
|
487
|
-
return {
|
|
488
|
-
get: () => e,
|
|
489
|
-
set(e) {
|
|
490
|
-
this[n] = e;
|
|
491
|
-
}
|
|
492
|
-
};
|
|
493
|
-
}), q.freezeMethods(J);
|
|
494
|
-
//#endregion
|
|
495
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/AxiosError.js
|
|
496
|
-
var Tt = "[REDACTED ****]";
|
|
497
|
-
function Et(e) {
|
|
498
|
-
if (q.hasOwnProp(e, "toJSON")) return !0;
|
|
499
|
-
let t = Object.getPrototypeOf(e);
|
|
500
|
-
for (; t && t !== Object.prototype;) {
|
|
501
|
-
if (q.hasOwnProp(t, "toJSON")) return !0;
|
|
502
|
-
t = Object.getPrototypeOf(t);
|
|
503
|
-
}
|
|
504
|
-
return !1;
|
|
505
|
-
}
|
|
506
|
-
function Dt(e, t) {
|
|
507
|
-
let n = new Set(t.map((e) => String(e).toLowerCase())), r = [], i = (e) => {
|
|
508
|
-
if (typeof e != "object" || !e || q.isBuffer(e)) return e;
|
|
509
|
-
if (r.indexOf(e) !== -1) return;
|
|
510
|
-
e instanceof J && (e = e.toJSON()), r.push(e);
|
|
511
|
-
let t;
|
|
512
|
-
if (q.isArray(e)) t = [], e.forEach((e, n) => {
|
|
513
|
-
let r = i(e);
|
|
514
|
-
q.isUndefined(r) || (t[n] = r);
|
|
515
|
-
});
|
|
516
|
-
else {
|
|
517
|
-
if (!q.isPlainObject(e) && Et(e)) return r.pop(), e;
|
|
518
|
-
t = Object.create(null);
|
|
519
|
-
for (let [r, a] of Object.entries(e)) {
|
|
520
|
-
let e = n.has(r.toLowerCase()) ? Tt : i(a);
|
|
521
|
-
q.isUndefined(e) || (t[r] = e);
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
return r.pop(), t;
|
|
525
|
-
};
|
|
526
|
-
return i(e);
|
|
527
|
-
}
|
|
528
|
-
var Y = class e extends Error {
|
|
529
|
-
static from(t, n, r, i, a, o) {
|
|
530
|
-
let s = new e(t.message, n || t.code, r, i, a);
|
|
531
|
-
return s.cause = t, s.name = t.name, t.status != null && s.status == null && (s.status = t.status), o && Object.assign(s, o), s;
|
|
532
|
-
}
|
|
533
|
-
constructor(e, t, n, r, i) {
|
|
534
|
-
super(e), Object.defineProperty(this, "message", {
|
|
535
|
-
__proto__: null,
|
|
536
|
-
value: e,
|
|
537
|
-
enumerable: !0,
|
|
538
|
-
writable: !0,
|
|
539
|
-
configurable: !0
|
|
540
|
-
}), this.name = "AxiosError", this.isAxiosError = !0, t && (this.code = t), n && (this.config = n), r && (this.request = r), i && (this.response = i, this.status = i.status);
|
|
541
|
-
}
|
|
542
|
-
toJSON() {
|
|
543
|
-
let e = this.config, t = e && q.hasOwnProp(e, "redact") ? e.redact : void 0, n = q.isArray(t) && t.length > 0 ? Dt(e, t) : q.toJSONObject(e);
|
|
544
|
-
return {
|
|
545
|
-
message: this.message,
|
|
546
|
-
name: this.name,
|
|
547
|
-
description: this.description,
|
|
548
|
-
number: this.number,
|
|
549
|
-
fileName: this.fileName,
|
|
550
|
-
lineNumber: this.lineNumber,
|
|
551
|
-
columnNumber: this.columnNumber,
|
|
552
|
-
stack: this.stack,
|
|
553
|
-
config: n,
|
|
554
|
-
code: this.code,
|
|
555
|
-
status: this.status
|
|
556
|
-
};
|
|
557
|
-
}
|
|
558
|
-
};
|
|
559
|
-
Y.ERR_BAD_OPTION_VALUE = "ERR_BAD_OPTION_VALUE", Y.ERR_BAD_OPTION = "ERR_BAD_OPTION", Y.ECONNABORTED = "ECONNABORTED", Y.ETIMEDOUT = "ETIMEDOUT", Y.ECONNREFUSED = "ECONNREFUSED", Y.ERR_NETWORK = "ERR_NETWORK", Y.ERR_FR_TOO_MANY_REDIRECTS = "ERR_FR_TOO_MANY_REDIRECTS", Y.ERR_DEPRECATED = "ERR_DEPRECATED", Y.ERR_BAD_RESPONSE = "ERR_BAD_RESPONSE", Y.ERR_BAD_REQUEST = "ERR_BAD_REQUEST", Y.ERR_CANCELED = "ERR_CANCELED", Y.ERR_NOT_SUPPORT = "ERR_NOT_SUPPORT", Y.ERR_INVALID_URL = "ERR_INVALID_URL", Y.ERR_FORM_DATA_DEPTH_EXCEEDED = "ERR_FORM_DATA_DEPTH_EXCEEDED";
|
|
560
|
-
//#endregion
|
|
561
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/toFormData.js
|
|
562
|
-
function Ot(e) {
|
|
563
|
-
return q.isPlainObject(e) || q.isArray(e);
|
|
564
|
-
}
|
|
565
|
-
function kt(e) {
|
|
566
|
-
return q.endsWith(e, "[]") ? e.slice(0, -2) : e;
|
|
567
|
-
}
|
|
568
|
-
function At(e, t, n) {
|
|
569
|
-
return e ? e.concat(t).map(function(e, t) {
|
|
570
|
-
return e = kt(e), !n && t ? "[" + e + "]" : e;
|
|
571
|
-
}).join(n ? "." : "") : t;
|
|
572
|
-
}
|
|
573
|
-
function jt(e) {
|
|
574
|
-
return q.isArray(e) && !e.some(Ot);
|
|
575
|
-
}
|
|
576
|
-
var Mt = q.toFlatObject(q, {}, null, function(e) {
|
|
577
|
-
return /^is[A-Z]/.test(e);
|
|
578
|
-
});
|
|
579
|
-
function Nt(e, t, n) {
|
|
580
|
-
if (!q.isObject(e)) throw TypeError("target must be an object");
|
|
581
|
-
t = t || new FormData(), n = q.toFlatObject(n, {
|
|
582
|
-
metaTokens: !0,
|
|
583
|
-
dots: !1,
|
|
584
|
-
indexes: !1
|
|
585
|
-
}, !1, function(e, t) {
|
|
586
|
-
return !q.isUndefined(t[e]);
|
|
587
|
-
});
|
|
588
|
-
let r = n.metaTokens, i = n.visitor || d, a = n.dots, o = n.indexes, s = n.Blob || typeof Blob < "u" && Blob, c = n.maxDepth === void 0 ? 100 : n.maxDepth, l = s && q.isSpecCompliantForm(t);
|
|
589
|
-
if (!q.isFunction(i)) throw TypeError("visitor must be a function");
|
|
590
|
-
function u(e) {
|
|
591
|
-
if (e === null) return "";
|
|
592
|
-
if (q.isDate(e)) return e.toISOString();
|
|
593
|
-
if (q.isBoolean(e)) return e.toString();
|
|
594
|
-
if (!l && q.isBlob(e)) throw new Y("Blob is not supported. Use a Buffer instead.");
|
|
595
|
-
return q.isArrayBuffer(e) || q.isTypedArray(e) ? l && typeof Blob == "function" ? new Blob([e]) : Buffer.from(e) : e;
|
|
596
|
-
}
|
|
597
|
-
function d(e, n, i) {
|
|
598
|
-
let s = e;
|
|
599
|
-
if (q.isReactNative(t) && q.isReactNativeBlob(e)) return t.append(At(i, n, a), u(e)), !1;
|
|
600
|
-
if (e && !i && typeof e == "object") {
|
|
601
|
-
if (q.endsWith(n, "{}")) n = r ? n : n.slice(0, -2), e = JSON.stringify(e);
|
|
602
|
-
else if (q.isArray(e) && jt(e) || (q.isFileList(e) || q.endsWith(n, "[]")) && (s = q.toArray(e))) return n = kt(n), s.forEach(function(e, r) {
|
|
603
|
-
!(q.isUndefined(e) || e === null) && t.append(o === !0 ? At([n], r, a) : o === null ? n : n + "[]", u(e));
|
|
604
|
-
}), !1;
|
|
605
|
-
}
|
|
606
|
-
return Ot(e) ? !0 : (t.append(At(i, n, a), u(e)), !1);
|
|
607
|
-
}
|
|
608
|
-
let f = [], p = Object.assign(Mt, {
|
|
609
|
-
defaultVisitor: d,
|
|
610
|
-
convertValue: u,
|
|
611
|
-
isVisitable: Ot
|
|
612
|
-
});
|
|
613
|
-
function m(e, n, r = 0) {
|
|
614
|
-
if (!q.isUndefined(e)) {
|
|
615
|
-
if (r > c) throw new Y("Object is too deeply nested (" + r + " levels). Max depth: " + c, Y.ERR_FORM_DATA_DEPTH_EXCEEDED);
|
|
616
|
-
if (f.indexOf(e) !== -1) throw Error("Circular reference detected in " + n.join("."));
|
|
617
|
-
f.push(e), q.forEach(e, function(e, a) {
|
|
618
|
-
(!(q.isUndefined(e) || e === null) && i.call(t, e, q.isString(a) ? a.trim() : a, n, p)) === !0 && m(e, n ? n.concat(a) : [a], r + 1);
|
|
619
|
-
}), f.pop();
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
if (!q.isObject(e)) throw TypeError("data must be an object");
|
|
623
|
-
return m(e), t;
|
|
624
|
-
}
|
|
625
|
-
//#endregion
|
|
626
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/AxiosURLSearchParams.js
|
|
627
|
-
function Pt(e) {
|
|
628
|
-
let t = {
|
|
629
|
-
"!": "%21",
|
|
630
|
-
"'": "%27",
|
|
631
|
-
"(": "%28",
|
|
632
|
-
")": "%29",
|
|
633
|
-
"~": "%7E",
|
|
634
|
-
"%20": "+"
|
|
635
|
-
};
|
|
636
|
-
return encodeURIComponent(e).replace(/[!'()~]|%20/g, function(e) {
|
|
637
|
-
return t[e];
|
|
638
|
-
});
|
|
639
|
-
}
|
|
640
|
-
function Ft(e, t) {
|
|
641
|
-
this._pairs = [], e && Nt(e, this, t);
|
|
642
|
-
}
|
|
643
|
-
var It = Ft.prototype;
|
|
644
|
-
It.append = function(e, t) {
|
|
645
|
-
this._pairs.push([e, t]);
|
|
646
|
-
}, It.toString = function(e) {
|
|
647
|
-
let t = e ? function(t) {
|
|
648
|
-
return e.call(this, t, Pt);
|
|
649
|
-
} : Pt;
|
|
650
|
-
return this._pairs.map(function(e) {
|
|
651
|
-
return t(e[0]) + "=" + t(e[1]);
|
|
652
|
-
}, "").join("&");
|
|
653
|
-
};
|
|
654
|
-
//#endregion
|
|
655
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/buildURL.js
|
|
656
|
-
function Lt(e) {
|
|
657
|
-
return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
|
|
658
|
-
}
|
|
659
|
-
function Rt(e, t, n) {
|
|
660
|
-
if (!t) return e;
|
|
661
|
-
let r = n && n.encode || Lt, i = q.isFunction(n) ? { serialize: n } : n, a = i && i.serialize, o;
|
|
662
|
-
if (o = a ? a(t, i) : q.isURLSearchParams(t) ? t.toString() : new Ft(t, i).toString(r), o) {
|
|
663
|
-
let t = e.indexOf("#");
|
|
664
|
-
t !== -1 && (e = e.slice(0, t)), e += (e.indexOf("?") === -1 ? "?" : "&") + o;
|
|
665
|
-
}
|
|
666
|
-
return e;
|
|
667
|
-
}
|
|
668
|
-
//#endregion
|
|
669
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/InterceptorManager.js
|
|
670
|
-
var zt = class {
|
|
671
|
-
constructor() {
|
|
672
|
-
this.handlers = [];
|
|
673
|
-
}
|
|
674
|
-
use(e, t, n) {
|
|
675
|
-
return this.handlers.push({
|
|
676
|
-
fulfilled: e,
|
|
677
|
-
rejected: t,
|
|
678
|
-
synchronous: n ? n.synchronous : !1,
|
|
679
|
-
runWhen: n ? n.runWhen : null
|
|
680
|
-
}), this.handlers.length - 1;
|
|
681
|
-
}
|
|
682
|
-
eject(e) {
|
|
683
|
-
this.handlers[e] && (this.handlers[e] = null);
|
|
684
|
-
}
|
|
685
|
-
clear() {
|
|
686
|
-
this.handlers && (this.handlers = []);
|
|
687
|
-
}
|
|
688
|
-
forEach(e) {
|
|
689
|
-
q.forEach(this.handlers, function(t) {
|
|
690
|
-
t !== null && e(t);
|
|
691
|
-
});
|
|
692
|
-
}
|
|
693
|
-
}, Bt = {
|
|
694
|
-
silentJSONParsing: !0,
|
|
695
|
-
forcedJSONParsing: !0,
|
|
696
|
-
clarifyTimeoutError: !1,
|
|
697
|
-
legacyInterceptorReqResOrdering: !0,
|
|
698
|
-
advertiseZstdAcceptEncoding: !1
|
|
699
|
-
}, Vt = {
|
|
700
|
-
isBrowser: !0,
|
|
701
|
-
classes: {
|
|
702
|
-
URLSearchParams: typeof URLSearchParams < "u" ? URLSearchParams : Ft,
|
|
703
|
-
FormData: typeof FormData < "u" ? FormData : null,
|
|
704
|
-
Blob: typeof Blob < "u" ? Blob : null
|
|
705
|
-
},
|
|
706
|
-
protocols: [
|
|
707
|
-
"http",
|
|
708
|
-
"https",
|
|
709
|
-
"file",
|
|
710
|
-
"blob",
|
|
711
|
-
"url",
|
|
712
|
-
"data"
|
|
713
|
-
]
|
|
714
|
-
}, Ht = /* @__PURE__ */ e({
|
|
715
|
-
hasBrowserEnv: () => Ut,
|
|
716
|
-
hasStandardBrowserEnv: () => Gt,
|
|
717
|
-
hasStandardBrowserWebWorkerEnv: () => Kt,
|
|
718
|
-
navigator: () => Wt,
|
|
719
|
-
origin: () => qt
|
|
720
|
-
}), Ut = typeof window < "u" && typeof document < "u", Wt = typeof navigator == "object" && navigator || void 0, Gt = Ut && (!Wt || [
|
|
721
|
-
"ReactNative",
|
|
722
|
-
"NativeScript",
|
|
723
|
-
"NS"
|
|
724
|
-
].indexOf(Wt.product) < 0), Kt = typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope && typeof self.importScripts == "function", qt = Ut && window.location.href || "http://localhost";
|
|
725
|
-
//#endregion
|
|
726
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/platform/index.js
|
|
727
|
-
a();
|
|
728
|
-
var X = o(o({}, Ht), Vt);
|
|
729
|
-
//#endregion
|
|
730
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/toURLEncodedForm.js
|
|
731
|
-
a();
|
|
732
|
-
function Jt(e, t) {
|
|
733
|
-
return Nt(e, new X.classes.URLSearchParams(), o({ visitor: function(e, t, n, r) {
|
|
734
|
-
return X.isNode && q.isBuffer(e) ? (this.append(t, e.toString("base64")), !1) : r.defaultVisitor.apply(this, arguments);
|
|
735
|
-
} }, t));
|
|
736
|
-
}
|
|
737
|
-
//#endregion
|
|
738
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/formDataToJSON.js
|
|
739
|
-
function Yt(e) {
|
|
740
|
-
return q.matchAll(/\w+|\[(\w*)]/g, e).map((e) => e[0] === "[]" ? "" : e[1] || e[0]);
|
|
741
|
-
}
|
|
742
|
-
function Xt(e) {
|
|
743
|
-
let t = {}, n = Object.keys(e), r, i = n.length, a;
|
|
744
|
-
for (r = 0; r < i; r++) a = n[r], t[a] = e[a];
|
|
745
|
-
return t;
|
|
746
|
-
}
|
|
747
|
-
function Zt(e) {
|
|
748
|
-
function t(e, n, r, i) {
|
|
749
|
-
let a = e[i++];
|
|
750
|
-
if (a === "__proto__") return !0;
|
|
751
|
-
let o = Number.isFinite(+a), s = i >= e.length;
|
|
752
|
-
return a = !a && q.isArray(r) ? r.length : a, s ? (q.hasOwnProp(r, a) ? r[a] = q.isArray(r[a]) ? r[a].concat(n) : [r[a], n] : r[a] = n, !o) : ((!q.hasOwnProp(r, a) || !q.isObject(r[a])) && (r[a] = []), t(e, n, r[a], i) && q.isArray(r[a]) && (r[a] = Xt(r[a])), !o);
|
|
753
|
-
}
|
|
754
|
-
if (q.isFormData(e) && q.isFunction(e.entries)) {
|
|
755
|
-
let n = {};
|
|
756
|
-
return q.forEachEntry(e, (e, r) => {
|
|
757
|
-
t(Yt(e), r, n, 0);
|
|
758
|
-
}), n;
|
|
759
|
-
}
|
|
760
|
-
return null;
|
|
761
|
-
}
|
|
762
|
-
//#endregion
|
|
763
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/defaults/index.js
|
|
764
|
-
var Qt = (e, t) => e != null && q.hasOwnProp(e, t) ? e[t] : void 0;
|
|
765
|
-
function $t(e, t, n) {
|
|
766
|
-
if (q.isString(e)) try {
|
|
767
|
-
return (t || JSON.parse)(e), q.trim(e);
|
|
768
|
-
} catch (e) {
|
|
769
|
-
if (e.name !== "SyntaxError") throw e;
|
|
770
|
-
}
|
|
771
|
-
return (n || JSON.stringify)(e);
|
|
772
|
-
}
|
|
773
|
-
var en = {
|
|
774
|
-
transitional: Bt,
|
|
775
|
-
adapter: [
|
|
776
|
-
"xhr",
|
|
777
|
-
"http",
|
|
778
|
-
"fetch"
|
|
779
|
-
],
|
|
780
|
-
transformRequest: [function(e, t) {
|
|
781
|
-
let n = t.getContentType() || "", r = n.indexOf("application/json") > -1, i = q.isObject(e);
|
|
782
|
-
if (i && q.isHTMLForm(e) && (e = new FormData(e)), q.isFormData(e)) return r ? JSON.stringify(Zt(e)) : e;
|
|
783
|
-
if (q.isArrayBuffer(e) || q.isBuffer(e) || q.isStream(e) || q.isFile(e) || q.isBlob(e) || q.isReadableStream(e)) return e;
|
|
784
|
-
if (q.isArrayBufferView(e)) return e.buffer;
|
|
785
|
-
if (q.isURLSearchParams(e)) return t.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), e.toString();
|
|
786
|
-
let a;
|
|
787
|
-
if (i) {
|
|
788
|
-
let t = Qt(this, "formSerializer");
|
|
789
|
-
if (n.indexOf("application/x-www-form-urlencoded") > -1) return Jt(e, t).toString();
|
|
790
|
-
if ((a = q.isFileList(e)) || n.indexOf("multipart/form-data") > -1) {
|
|
791
|
-
let n = Qt(this, "env"), r = n && n.FormData;
|
|
792
|
-
return Nt(a ? { "files[]": e } : e, r && new r(), t);
|
|
793
|
-
}
|
|
794
|
-
}
|
|
795
|
-
return i || r ? (t.setContentType("application/json", !1), $t(e)) : e;
|
|
796
|
-
}],
|
|
797
|
-
transformResponse: [function(e) {
|
|
798
|
-
let t = Qt(this, "transitional") || en.transitional, n = t && t.forcedJSONParsing, r = Qt(this, "responseType"), i = r === "json";
|
|
799
|
-
if (q.isResponse(e) || q.isReadableStream(e)) return e;
|
|
800
|
-
if (e && q.isString(e) && (n && !r || i)) {
|
|
801
|
-
let n = !(t && t.silentJSONParsing) && i;
|
|
802
|
-
try {
|
|
803
|
-
return JSON.parse(e, Qt(this, "parseReviver"));
|
|
804
|
-
} catch (e) {
|
|
805
|
-
if (n) throw e.name === "SyntaxError" ? Y.from(e, Y.ERR_BAD_RESPONSE, this, null, Qt(this, "response")) : e;
|
|
806
|
-
}
|
|
807
|
-
}
|
|
808
|
-
return e;
|
|
809
|
-
}],
|
|
810
|
-
timeout: 0,
|
|
811
|
-
xsrfCookieName: "XSRF-TOKEN",
|
|
812
|
-
xsrfHeaderName: "X-XSRF-TOKEN",
|
|
813
|
-
maxContentLength: -1,
|
|
814
|
-
maxBodyLength: -1,
|
|
815
|
-
env: {
|
|
816
|
-
FormData: X.classes.FormData,
|
|
817
|
-
Blob: X.classes.Blob
|
|
818
|
-
},
|
|
819
|
-
validateStatus: function(e) {
|
|
820
|
-
return e >= 200 && e < 300;
|
|
821
|
-
},
|
|
822
|
-
headers: { common: {
|
|
823
|
-
Accept: "application/json, text/plain, */*",
|
|
824
|
-
"Content-Type": void 0
|
|
825
|
-
} }
|
|
826
|
-
};
|
|
827
|
-
q.forEach([
|
|
828
|
-
"delete",
|
|
829
|
-
"get",
|
|
830
|
-
"head",
|
|
831
|
-
"post",
|
|
832
|
-
"put",
|
|
833
|
-
"patch",
|
|
834
|
-
"query"
|
|
835
|
-
], (e) => {
|
|
836
|
-
en.headers[e] = {};
|
|
837
|
-
});
|
|
838
|
-
//#endregion
|
|
839
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/transformData.js
|
|
840
|
-
function tn(e, t) {
|
|
841
|
-
let n = this || en, r = t || n, i = J.from(r.headers), a = r.data;
|
|
842
|
-
return q.forEach(e, function(e) {
|
|
843
|
-
a = e.call(n, a, i.normalize(), t ? t.status : void 0);
|
|
844
|
-
}), i.normalize(), a;
|
|
845
|
-
}
|
|
846
|
-
//#endregion
|
|
847
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/cancel/isCancel.js
|
|
848
|
-
function nn(e) {
|
|
849
|
-
return !!(e && e.__CANCEL__);
|
|
850
|
-
}
|
|
851
|
-
//#endregion
|
|
852
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/cancel/CanceledError.js
|
|
853
|
-
var rn = class extends Y {
|
|
854
|
-
constructor(e, t, n) {
|
|
855
|
-
super(e == null ? "canceled" : e, Y.ERR_CANCELED, t, n), this.name = "CanceledError", this.__CANCEL__ = !0;
|
|
856
|
-
}
|
|
857
|
-
};
|
|
858
|
-
//#endregion
|
|
859
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/settle.js
|
|
860
|
-
function an(e, t, n) {
|
|
861
|
-
let r = n.config.validateStatus;
|
|
862
|
-
!n.status || !r || r(n.status) ? e(n) : t(new Y("Request failed with status code " + n.status, n.status >= 400 && n.status < 500 ? Y.ERR_BAD_REQUEST : Y.ERR_BAD_RESPONSE, n.config, n.request, n));
|
|
863
|
-
}
|
|
864
|
-
//#endregion
|
|
865
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/parseProtocol.js
|
|
866
|
-
function on(e) {
|
|
867
|
-
let t = /^([-+\w]{1,25}):(?:\/\/)?/.exec(e);
|
|
868
|
-
return t && t[1] || "";
|
|
869
|
-
}
|
|
870
|
-
//#endregion
|
|
871
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/speedometer.js
|
|
872
|
-
function sn(e, t) {
|
|
873
|
-
e = e || 10;
|
|
874
|
-
let n = Array(e), r = Array(e), i = 0, a = 0, o;
|
|
875
|
-
return t = t === void 0 ? 1e3 : t, function(s) {
|
|
876
|
-
let c = Date.now(), l = r[a];
|
|
877
|
-
o || (o = c), n[i] = s, r[i] = c;
|
|
878
|
-
let u = a, d = 0;
|
|
879
|
-
for (; u !== i;) d += n[u++], u %= e;
|
|
880
|
-
if (i = (i + 1) % e, i === a && (a = (a + 1) % e), c - o < t) return;
|
|
881
|
-
let f = l && c - l;
|
|
882
|
-
return f ? Math.round(d * 1e3 / f) : void 0;
|
|
883
|
-
};
|
|
884
|
-
}
|
|
885
|
-
//#endregion
|
|
886
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/throttle.js
|
|
887
|
-
function cn(e, t) {
|
|
888
|
-
let n = 0, r = 1e3 / t, i, a, o = (t, r = Date.now()) => {
|
|
889
|
-
n = r, i = null, a && (clearTimeout(a), a = null), e(...t);
|
|
890
|
-
};
|
|
891
|
-
return [(...e) => {
|
|
892
|
-
let t = Date.now(), s = t - n;
|
|
893
|
-
s >= r ? o(e, t) : (i = e, a || (a = setTimeout(() => {
|
|
894
|
-
a = null, o(i);
|
|
895
|
-
}, r - s)));
|
|
896
|
-
}, () => i && o(i)];
|
|
897
|
-
}
|
|
898
|
-
//#endregion
|
|
899
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/progressEventReducer.js
|
|
900
|
-
var ln = (e, t, n = 3) => {
|
|
901
|
-
let r = 0, i = sn(50, 250);
|
|
902
|
-
return cn((n) => {
|
|
903
|
-
if (!n || typeof n.loaded != "number") return;
|
|
904
|
-
let a = n.loaded, o = n.lengthComputable ? n.total : void 0, s = o == null ? a : Math.min(a, o), c = Math.max(0, s - r), l = i(c);
|
|
905
|
-
r = Math.max(r, s), e({
|
|
906
|
-
loaded: s,
|
|
907
|
-
total: o,
|
|
908
|
-
progress: o ? s / o : void 0,
|
|
909
|
-
bytes: c,
|
|
910
|
-
rate: l || void 0,
|
|
911
|
-
estimated: l && o ? (o - s) / l : void 0,
|
|
912
|
-
event: n,
|
|
913
|
-
lengthComputable: o != null,
|
|
914
|
-
[t ? "download" : "upload"]: !0
|
|
915
|
-
});
|
|
916
|
-
}, n);
|
|
917
|
-
}, un = (e, t) => {
|
|
918
|
-
let n = e != null;
|
|
919
|
-
return [(r) => t[0]({
|
|
920
|
-
lengthComputable: n,
|
|
921
|
-
total: e,
|
|
922
|
-
loaded: r
|
|
923
|
-
}), t[1]];
|
|
924
|
-
}, dn = (e) => (...t) => q.asap(() => e(...t)), fn = X.hasStandardBrowserEnv ? ((e, t) => (n) => (n = new URL(n, X.origin), e.protocol === n.protocol && e.host === n.host && (t || e.port === n.port)))(new URL(X.origin), X.navigator && /(msie|trident)/i.test(X.navigator.userAgent)) : () => !0, pn = X.hasStandardBrowserEnv ? {
|
|
925
|
-
write(e, t, n, r, i, a, o) {
|
|
926
|
-
if (typeof document > "u") return;
|
|
927
|
-
let s = [`${e}=${encodeURIComponent(t)}`];
|
|
928
|
-
q.isNumber(n) && s.push(`expires=${new Date(n).toUTCString()}`), q.isString(r) && s.push(`path=${r}`), q.isString(i) && s.push(`domain=${i}`), a === !0 && s.push("secure"), q.isString(o) && s.push(`SameSite=${o}`), document.cookie = s.join("; ");
|
|
929
|
-
},
|
|
930
|
-
read(e) {
|
|
931
|
-
if (typeof document > "u") return null;
|
|
932
|
-
let t = document.cookie.split(";");
|
|
933
|
-
for (let n = 0; n < t.length; n++) {
|
|
934
|
-
let r = t[n].replace(/^\s+/, ""), i = r.indexOf("=");
|
|
935
|
-
if (i !== -1 && r.slice(0, i) === e) return decodeURIComponent(r.slice(i + 1));
|
|
936
|
-
}
|
|
937
|
-
return null;
|
|
938
|
-
},
|
|
939
|
-
remove(e) {
|
|
940
|
-
this.write(e, "", Date.now() - 864e5, "/");
|
|
941
|
-
}
|
|
942
|
-
} : {
|
|
943
|
-
write() {},
|
|
944
|
-
read() {
|
|
945
|
-
return null;
|
|
946
|
-
},
|
|
947
|
-
remove() {}
|
|
948
|
-
};
|
|
949
|
-
//#endregion
|
|
950
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/isAbsoluteURL.js
|
|
951
|
-
function mn(e) {
|
|
952
|
-
return typeof e == "string" ? /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e) : !1;
|
|
953
|
-
}
|
|
954
|
-
//#endregion
|
|
955
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/combineURLs.js
|
|
956
|
-
function hn(e, t) {
|
|
957
|
-
return t ? e.replace(/\/?\/$/, "") + "/" + t.replace(/^\/+/, "") : e;
|
|
958
|
-
}
|
|
959
|
-
//#endregion
|
|
960
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/buildFullPath.js
|
|
961
|
-
function gn(e, t, n) {
|
|
962
|
-
let r = !mn(t);
|
|
963
|
-
return e && (r || n === !1) ? hn(e, t) : t;
|
|
964
|
-
}
|
|
965
|
-
//#endregion
|
|
966
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/mergeConfig.js
|
|
967
|
-
a();
|
|
968
|
-
var _n = (e) => e instanceof J ? o({}, e) : e;
|
|
969
|
-
function vn(e, t) {
|
|
970
|
-
t = t || {};
|
|
971
|
-
let n = Object.create(null);
|
|
972
|
-
Object.defineProperty(n, "hasOwnProperty", {
|
|
973
|
-
__proto__: null,
|
|
974
|
-
value: Object.prototype.hasOwnProperty,
|
|
975
|
-
enumerable: !1,
|
|
976
|
-
writable: !0,
|
|
977
|
-
configurable: !0
|
|
978
|
-
});
|
|
979
|
-
function r(e, t, n, r) {
|
|
980
|
-
return q.isPlainObject(e) && q.isPlainObject(t) ? q.merge.call({ caseless: r }, e, t) : q.isPlainObject(t) ? q.merge({}, t) : q.isArray(t) ? t.slice() : t;
|
|
981
|
-
}
|
|
982
|
-
function i(e, t, n, i) {
|
|
983
|
-
if (!q.isUndefined(t)) return r(e, t, n, i);
|
|
984
|
-
if (!q.isUndefined(e)) return r(void 0, e, n, i);
|
|
985
|
-
}
|
|
986
|
-
function a(e, t) {
|
|
987
|
-
if (!q.isUndefined(t)) return r(void 0, t);
|
|
988
|
-
}
|
|
989
|
-
function s(e, t) {
|
|
990
|
-
if (!q.isUndefined(t)) return r(void 0, t);
|
|
991
|
-
if (!q.isUndefined(e)) return r(void 0, e);
|
|
992
|
-
}
|
|
993
|
-
function c(n, i, a) {
|
|
994
|
-
if (q.hasOwnProp(t, a)) return r(n, i);
|
|
995
|
-
if (q.hasOwnProp(e, a)) return r(void 0, n);
|
|
996
|
-
}
|
|
997
|
-
let l = {
|
|
998
|
-
url: a,
|
|
999
|
-
method: a,
|
|
1000
|
-
data: a,
|
|
1001
|
-
baseURL: s,
|
|
1002
|
-
transformRequest: s,
|
|
1003
|
-
transformResponse: s,
|
|
1004
|
-
paramsSerializer: s,
|
|
1005
|
-
timeout: s,
|
|
1006
|
-
timeoutMessage: s,
|
|
1007
|
-
withCredentials: s,
|
|
1008
|
-
withXSRFToken: s,
|
|
1009
|
-
adapter: s,
|
|
1010
|
-
responseType: s,
|
|
1011
|
-
xsrfCookieName: s,
|
|
1012
|
-
xsrfHeaderName: s,
|
|
1013
|
-
onUploadProgress: s,
|
|
1014
|
-
onDownloadProgress: s,
|
|
1015
|
-
decompress: s,
|
|
1016
|
-
maxContentLength: s,
|
|
1017
|
-
maxBodyLength: s,
|
|
1018
|
-
beforeRedirect: s,
|
|
1019
|
-
transport: s,
|
|
1020
|
-
httpAgent: s,
|
|
1021
|
-
httpsAgent: s,
|
|
1022
|
-
cancelToken: s,
|
|
1023
|
-
socketPath: s,
|
|
1024
|
-
allowedSocketPaths: s,
|
|
1025
|
-
responseEncoding: s,
|
|
1026
|
-
validateStatus: c,
|
|
1027
|
-
headers: (e, t, n) => i(_n(e), _n(t), n, !0)
|
|
1028
|
-
};
|
|
1029
|
-
return q.forEach(Object.keys(o(o({}, e), t)), function(r) {
|
|
1030
|
-
if (r === "__proto__" || r === "constructor" || r === "prototype") return;
|
|
1031
|
-
let a = q.hasOwnProp(l, r) ? l[r] : i, o = a(q.hasOwnProp(e, r) ? e[r] : void 0, q.hasOwnProp(t, r) ? t[r] : void 0, r);
|
|
1032
|
-
q.isUndefined(o) && a !== c || (n[r] = o);
|
|
1033
|
-
}), n;
|
|
1034
|
-
}
|
|
1035
|
-
//#endregion
|
|
1036
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/resolveConfig.js
|
|
1037
|
-
var yn = ["content-type", "content-length"];
|
|
1038
|
-
function bn(e, t, n) {
|
|
1039
|
-
if (n !== "content-only") {
|
|
1040
|
-
e.set(t);
|
|
1041
|
-
return;
|
|
1042
|
-
}
|
|
1043
|
-
Object.entries(t).forEach(([t, n]) => {
|
|
1044
|
-
yn.includes(t.toLowerCase()) && e.set(t, n);
|
|
1045
|
-
});
|
|
1046
|
-
}
|
|
1047
|
-
var xn = (e) => encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi, (e, t) => String.fromCharCode(parseInt(t, 16)));
|
|
1048
|
-
function Sn(e) {
|
|
1049
|
-
let t = vn({}, e), n = (e) => q.hasOwnProp(t, e) ? t[e] : void 0, r = n("data"), i = n("withXSRFToken"), a = n("xsrfHeaderName"), o = n("xsrfCookieName"), s = n("headers"), c = n("auth"), l = n("baseURL"), u = n("allowAbsoluteUrls"), d = n("url");
|
|
1050
|
-
if (t.headers = s = J.from(s), t.url = Rt(gn(l, d, u), n("params"), n("paramsSerializer")), c && s.set("Authorization", "Basic " + btoa((c.username || "") + ":" + (c.password ? xn(c.password) : ""))), q.isFormData(r) && (X.hasStandardBrowserEnv || X.hasStandardBrowserWebWorkerEnv || q.isReactNative(r) ? s.setContentType(void 0) : q.isFunction(r.getHeaders) && bn(s, r.getHeaders(), n("formDataHeaderPolicy"))), X.hasStandardBrowserEnv && (q.isFunction(i) && (i = i(t)), i === !0 || i == null && fn(t.url))) {
|
|
1051
|
-
let e = a && o && pn.read(o);
|
|
1052
|
-
e && s.set(a, e);
|
|
1053
|
-
}
|
|
1054
|
-
return t;
|
|
1055
|
-
}
|
|
1056
|
-
var Cn = typeof XMLHttpRequest < "u" && function(e) {
|
|
1057
|
-
return new Promise(function(t, n) {
|
|
1058
|
-
let r = Sn(e), i = r.data, a = J.from(r.headers).normalize(), { responseType: o, onUploadProgress: s, onDownloadProgress: c } = r, l, u, d, f, p;
|
|
1059
|
-
function m() {
|
|
1060
|
-
f && f(), p && p(), r.cancelToken && r.cancelToken.unsubscribe(l), r.signal && r.signal.removeEventListener("abort", l);
|
|
1061
|
-
}
|
|
1062
|
-
let h = new XMLHttpRequest();
|
|
1063
|
-
h.open(r.method.toUpperCase(), r.url, !0), h.timeout = r.timeout;
|
|
1064
|
-
function g() {
|
|
1065
|
-
if (!h) return;
|
|
1066
|
-
let r = J.from("getAllResponseHeaders" in h && h.getAllResponseHeaders());
|
|
1067
|
-
an(function(e) {
|
|
1068
|
-
t(e), m();
|
|
1069
|
-
}, function(e) {
|
|
1070
|
-
n(e), m();
|
|
1071
|
-
}, {
|
|
1072
|
-
data: !o || o === "text" || o === "json" ? h.responseText : h.response,
|
|
1073
|
-
status: h.status,
|
|
1074
|
-
statusText: h.statusText,
|
|
1075
|
-
headers: r,
|
|
1076
|
-
config: e,
|
|
1077
|
-
request: h
|
|
1078
|
-
}), h = null;
|
|
1079
|
-
}
|
|
1080
|
-
"onloadend" in h ? h.onloadend = g : h.onreadystatechange = function() {
|
|
1081
|
-
!h || h.readyState !== 4 || h.status === 0 && !(h.responseURL && h.responseURL.startsWith("file:")) || setTimeout(g);
|
|
1082
|
-
}, h.onabort = function() {
|
|
1083
|
-
h && (n(new Y("Request aborted", Y.ECONNABORTED, e, h)), m(), h = null);
|
|
1084
|
-
}, h.onerror = function(t) {
|
|
1085
|
-
let r = new Y(t && t.message ? t.message : "Network Error", Y.ERR_NETWORK, e, h);
|
|
1086
|
-
r.event = t || null, n(r), m(), h = null;
|
|
1087
|
-
}, h.ontimeout = function() {
|
|
1088
|
-
let t = r.timeout ? "timeout of " + r.timeout + "ms exceeded" : "timeout exceeded", i = r.transitional || Bt;
|
|
1089
|
-
r.timeoutErrorMessage && (t = r.timeoutErrorMessage), n(new Y(t, i.clarifyTimeoutError ? Y.ETIMEDOUT : Y.ECONNABORTED, e, h)), m(), h = null;
|
|
1090
|
-
}, i === void 0 && a.setContentType(null), "setRequestHeader" in h && q.forEach(gt(a), function(e, t) {
|
|
1091
|
-
h.setRequestHeader(t, e);
|
|
1092
|
-
}), q.isUndefined(r.withCredentials) || (h.withCredentials = !!r.withCredentials), o && o !== "json" && (h.responseType = r.responseType), c && ([d, p] = ln(c, !0), h.addEventListener("progress", d)), s && h.upload && ([u, f] = ln(s), h.upload.addEventListener("progress", u), h.upload.addEventListener("loadend", f)), (r.cancelToken || r.signal) && (l = (t) => {
|
|
1093
|
-
h && (n(!t || t.type ? new rn(null, e, h) : t), h.abort(), m(), h = null);
|
|
1094
|
-
}, r.cancelToken && r.cancelToken.subscribe(l), r.signal && (r.signal.aborted ? l() : r.signal.addEventListener("abort", l)));
|
|
1095
|
-
let _ = on(r.url);
|
|
1096
|
-
if (_ && !X.protocols.includes(_)) {
|
|
1097
|
-
n(new Y("Unsupported protocol " + _ + ":", Y.ERR_BAD_REQUEST, e));
|
|
1098
|
-
return;
|
|
1099
|
-
}
|
|
1100
|
-
h.send(i || null);
|
|
1101
|
-
});
|
|
1102
|
-
}, wn = (e, t) => {
|
|
1103
|
-
if (e = e ? e.filter(Boolean) : [], !t && !e.length) return;
|
|
1104
|
-
let n = new AbortController(), r = !1, i = function(e) {
|
|
1105
|
-
if (!r) {
|
|
1106
|
-
r = !0, o();
|
|
1107
|
-
let t = e instanceof Error ? e : this.reason;
|
|
1108
|
-
n.abort(t instanceof Y ? t : new rn(t instanceof Error ? t.message : t));
|
|
1109
|
-
}
|
|
1110
|
-
}, a = t && setTimeout(() => {
|
|
1111
|
-
a = null, i(new Y(`timeout of ${t}ms exceeded`, Y.ETIMEDOUT));
|
|
1112
|
-
}, t), o = () => {
|
|
1113
|
-
e && (a && clearTimeout(a), a = null, e.forEach((e) => {
|
|
1114
|
-
e.unsubscribe ? e.unsubscribe(i) : e.removeEventListener("abort", i);
|
|
1115
|
-
}), e = null);
|
|
1116
|
-
};
|
|
1117
|
-
e.forEach((e) => e.addEventListener("abort", i));
|
|
1118
|
-
let { signal: s } = n;
|
|
1119
|
-
return s.unsubscribe = () => q.asap(o), s;
|
|
1120
|
-
};
|
|
1121
|
-
//#endregion
|
|
1122
|
-
//#region \0@oxc-project+runtime@0.133.0/helpers/esm/asyncGeneratorDelegate.js
|
|
1123
|
-
function Tn(e) {
|
|
1124
|
-
var t = {}, n = !1;
|
|
1125
|
-
function r(t, r) {
|
|
1126
|
-
return n = !0, r = new Promise(function(n) {
|
|
1127
|
-
n(e[t](r));
|
|
1128
|
-
}), {
|
|
1129
|
-
done: !1,
|
|
1130
|
-
value: new l(r, 1)
|
|
1131
|
-
};
|
|
1132
|
-
}
|
|
1133
|
-
return t[typeof Symbol < "u" && Symbol.iterator || "@@iterator"] = function() {
|
|
1134
|
-
return this;
|
|
1135
|
-
}, t.next = function(e) {
|
|
1136
|
-
return n ? (n = !1, e) : r("next", e);
|
|
1137
|
-
}, typeof e.throw == "function" && (t.throw = function(e) {
|
|
1138
|
-
if (n) throw n = !1, e;
|
|
1139
|
-
return r("throw", e);
|
|
1140
|
-
}), typeof e.return == "function" && (t.return = function(e) {
|
|
1141
|
-
return n ? (n = !1, e) : r("return", e);
|
|
1142
|
-
}), t;
|
|
1143
|
-
}
|
|
1144
|
-
//#endregion
|
|
1145
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/trackStream.js
|
|
1146
|
-
s();
|
|
1147
|
-
var En = function* (e, t) {
|
|
1148
|
-
let n = e.byteLength;
|
|
1149
|
-
if (!t || n < t) {
|
|
1150
|
-
yield e;
|
|
1151
|
-
return;
|
|
1152
|
-
}
|
|
1153
|
-
let r = 0, i;
|
|
1154
|
-
for (; r < n;) i = r + t, yield e.slice(r, i), r = i;
|
|
1155
|
-
}, Dn = /* @__PURE__ */ function() {
|
|
1156
|
-
var e = p(function* (e, t) {
|
|
1157
|
-
var n = !1, r = !1, i;
|
|
1158
|
-
try {
|
|
1159
|
-
for (var a = f(On(e)), o; n = !(o = yield u(a.next())).done; n = !1) {
|
|
1160
|
-
let e = o.value;
|
|
1161
|
-
yield* Tn(f(En(e, t)));
|
|
1162
|
-
}
|
|
1163
|
-
} catch (e) {
|
|
1164
|
-
r = !0, i = e;
|
|
1165
|
-
} finally {
|
|
1166
|
-
try {
|
|
1167
|
-
n && a.return != null && (yield u(a.return()));
|
|
1168
|
-
} finally {
|
|
1169
|
-
if (r) throw i;
|
|
1170
|
-
}
|
|
1171
|
-
}
|
|
1172
|
-
});
|
|
1173
|
-
return function(t, n) {
|
|
1174
|
-
return e.apply(this, arguments);
|
|
1175
|
-
};
|
|
1176
|
-
}(), On = /* @__PURE__ */ function() {
|
|
1177
|
-
var e = p(function* (e) {
|
|
1178
|
-
if (e[Symbol.asyncIterator]) {
|
|
1179
|
-
yield* Tn(f(e));
|
|
1180
|
-
return;
|
|
1181
|
-
}
|
|
1182
|
-
let t = e.getReader();
|
|
1183
|
-
try {
|
|
1184
|
-
for (;;) {
|
|
1185
|
-
let { done: e, value: n } = yield u(t.read());
|
|
1186
|
-
if (e) break;
|
|
1187
|
-
yield n;
|
|
1188
|
-
}
|
|
1189
|
-
} finally {
|
|
1190
|
-
yield u(t.cancel());
|
|
1191
|
-
}
|
|
1192
|
-
});
|
|
1193
|
-
return function(t) {
|
|
1194
|
-
return e.apply(this, arguments);
|
|
1195
|
-
};
|
|
1196
|
-
}(), kn = (e, t, n, r) => {
|
|
1197
|
-
let i = Dn(e, t), a = 0, o, s = (e) => {
|
|
1198
|
-
o || (o = !0, r && r(e));
|
|
1199
|
-
};
|
|
1200
|
-
return new ReadableStream({
|
|
1201
|
-
pull(e) {
|
|
1202
|
-
return c(function* () {
|
|
1203
|
-
try {
|
|
1204
|
-
let { done: t, value: r } = yield i.next();
|
|
1205
|
-
if (t) {
|
|
1206
|
-
s(), e.close();
|
|
1207
|
-
return;
|
|
1208
|
-
}
|
|
1209
|
-
let o = r.byteLength;
|
|
1210
|
-
n && n(a += o), e.enqueue(new Uint8Array(r));
|
|
1211
|
-
} catch (e) {
|
|
1212
|
-
throw s(e), e;
|
|
1213
|
-
}
|
|
1214
|
-
})();
|
|
1215
|
-
},
|
|
1216
|
-
cancel(e) {
|
|
1217
|
-
return s(e), i.return();
|
|
1218
|
-
}
|
|
1219
|
-
}, { highWaterMark: 2 });
|
|
1220
|
-
};
|
|
1221
|
-
//#endregion
|
|
1222
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js
|
|
1223
|
-
function An(e) {
|
|
1224
|
-
if (!e || typeof e != "string" || !e.startsWith("data:")) return 0;
|
|
1225
|
-
let t = e.indexOf(",");
|
|
1226
|
-
if (t < 0) return 0;
|
|
1227
|
-
let n = e.slice(5, t), r = e.slice(t + 1);
|
|
1228
|
-
if (/;base64/i.test(n)) {
|
|
1229
|
-
let e = r.length, t = r.length;
|
|
1230
|
-
for (let n = 0; n < t; n++) if (r.charCodeAt(n) === 37 && n + 2 < t) {
|
|
1231
|
-
let t = r.charCodeAt(n + 1), i = r.charCodeAt(n + 2);
|
|
1232
|
-
(t >= 48 && t <= 57 || t >= 65 && t <= 70 || t >= 97 && t <= 102) && (i >= 48 && i <= 57 || i >= 65 && i <= 70 || i >= 97 && i <= 102) && (e -= 2, n += 2);
|
|
1233
|
-
}
|
|
1234
|
-
let n = 0, i = t - 1, a = (e) => e >= 2 && r.charCodeAt(e - 2) === 37 && r.charCodeAt(e - 1) === 51 && (r.charCodeAt(e) === 68 || r.charCodeAt(e) === 100);
|
|
1235
|
-
i >= 0 && (r.charCodeAt(i) === 61 ? (n++, i--) : a(i) && (n++, i -= 3)), n === 1 && i >= 0 && (r.charCodeAt(i) === 61 || a(i)) && n++;
|
|
1236
|
-
let o = Math.floor(e / 4) * 3 - (n || 0);
|
|
1237
|
-
return o > 0 ? o : 0;
|
|
1238
|
-
}
|
|
1239
|
-
if (typeof Buffer < "u" && typeof Buffer.byteLength == "function") return Buffer.byteLength(r, "utf8");
|
|
1240
|
-
let i = 0;
|
|
1241
|
-
for (let e = 0, t = r.length; e < t; e++) {
|
|
1242
|
-
let n = r.charCodeAt(e);
|
|
1243
|
-
if (n < 128) i += 1;
|
|
1244
|
-
else if (n < 2048) i += 2;
|
|
1245
|
-
else if (n >= 55296 && n <= 56319 && e + 1 < t) {
|
|
1246
|
-
let t = r.charCodeAt(e + 1);
|
|
1247
|
-
t >= 56320 && t <= 57343 ? (i += 4, e++) : i += 3;
|
|
1248
|
-
} else i += 3;
|
|
1249
|
-
}
|
|
1250
|
-
return i;
|
|
1251
|
-
}
|
|
1252
|
-
//#endregion
|
|
1253
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/env/data.js
|
|
1254
|
-
var jn = "1.17.0";
|
|
1255
|
-
s(), a();
|
|
1256
|
-
var Mn = 64 * 1024, { isFunction: Nn } = q, Pn = (e) => encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi, (e, t) => String.fromCharCode(parseInt(t, 16))), Fn = (e) => {
|
|
1257
|
-
if (!q.isString(e)) return e;
|
|
1258
|
-
try {
|
|
1259
|
-
return decodeURIComponent(e);
|
|
1260
|
-
} catch (t) {
|
|
1261
|
-
return e;
|
|
1262
|
-
}
|
|
1263
|
-
}, In = (e, ...t) => {
|
|
1264
|
-
try {
|
|
1265
|
-
return !!e(...t);
|
|
1266
|
-
} catch (e) {
|
|
1267
|
-
return !1;
|
|
1268
|
-
}
|
|
1269
|
-
}, Ln = (e) => {
|
|
1270
|
-
let t = e.indexOf("://"), n = e;
|
|
1271
|
-
return t !== -1 && (n = n.slice(t + 3)), n.includes("@") || n.includes(":");
|
|
1272
|
-
}, Rn = (e) => {
|
|
1273
|
-
let t = q.global !== void 0 && q.global !== null ? q.global : globalThis, { ReadableStream: n, TextEncoder: r } = t;
|
|
1274
|
-
e = q.merge.call({ skipUndefined: !0 }, {
|
|
1275
|
-
Request: t.Request,
|
|
1276
|
-
Response: t.Response
|
|
1277
|
-
}, e);
|
|
1278
|
-
let { fetch: i, Request: a, Response: s } = e, l = i ? Nn(i) : typeof fetch == "function", u = Nn(a), d = Nn(s);
|
|
1279
|
-
if (!l) return !1;
|
|
1280
|
-
let f = l && Nn(n), p = l && (typeof r == "function" ? ((e) => (t) => e.encode(t))(new r()) : function() {
|
|
1281
|
-
var e = c(function* (e) {
|
|
1282
|
-
return new Uint8Array(yield new a(e).arrayBuffer());
|
|
1283
|
-
});
|
|
1284
|
-
return function(t) {
|
|
1285
|
-
return e.apply(this, arguments);
|
|
1286
|
-
};
|
|
1287
|
-
}()), m = u && f && In(() => {
|
|
1288
|
-
let e = !1, t = new a(X.origin, {
|
|
1289
|
-
body: new n(),
|
|
1290
|
-
method: "POST",
|
|
1291
|
-
get duplex() {
|
|
1292
|
-
return e = !0, "half";
|
|
1293
|
-
}
|
|
1294
|
-
}), r = t.headers.has("Content-Type");
|
|
1295
|
-
return t.body != null && t.body.cancel(), e && !r;
|
|
1296
|
-
}), h = d && f && In(() => q.isReadableStream(new s("").body)), g = { stream: h && ((e) => e.body) };
|
|
1297
|
-
l && [
|
|
1298
|
-
"text",
|
|
1299
|
-
"arrayBuffer",
|
|
1300
|
-
"blob",
|
|
1301
|
-
"formData",
|
|
1302
|
-
"stream"
|
|
1303
|
-
].forEach((e) => {
|
|
1304
|
-
!g[e] && (g[e] = (t, n) => {
|
|
1305
|
-
let r = t && t[e];
|
|
1306
|
-
if (r) return r.call(t);
|
|
1307
|
-
throw new Y(`Response type '${e}' is not supported`, Y.ERR_NOT_SUPPORT, n);
|
|
1308
|
-
});
|
|
1309
|
-
});
|
|
1310
|
-
let _ = function() {
|
|
1311
|
-
var e = c(function* (e) {
|
|
1312
|
-
if (e == null) return 0;
|
|
1313
|
-
if (q.isBlob(e)) return e.size;
|
|
1314
|
-
if (q.isSpecCompliantForm(e)) return (yield new a(X.origin, {
|
|
1315
|
-
method: "POST",
|
|
1316
|
-
body: e
|
|
1317
|
-
}).arrayBuffer()).byteLength;
|
|
1318
|
-
if (q.isArrayBufferView(e) || q.isArrayBuffer(e)) return e.byteLength;
|
|
1319
|
-
if (q.isURLSearchParams(e) && (e += ""), q.isString(e)) return (yield p(e)).byteLength;
|
|
1320
|
-
});
|
|
1321
|
-
return function(t) {
|
|
1322
|
-
return e.apply(this, arguments);
|
|
1323
|
-
};
|
|
1324
|
-
}(), ee = function() {
|
|
1325
|
-
var e = c(function* (e, t) {
|
|
1326
|
-
let n = q.toFiniteNumber(e.getContentLength());
|
|
1327
|
-
return n == null ? _(t) : n;
|
|
1328
|
-
});
|
|
1329
|
-
return function(t, n) {
|
|
1330
|
-
return e.apply(this, arguments);
|
|
1331
|
-
};
|
|
1332
|
-
}();
|
|
1333
|
-
return function() {
|
|
1334
|
-
var e = c(function* (e) {
|
|
1335
|
-
let { url: t, method: n, data: c, signal: l, cancelToken: d, timeout: f, onDownloadProgress: p, onUploadProgress: _, responseType: v, headers: y, withCredentials: b = "same-origin", fetchOptions: te, maxContentLength: x, maxBodyLength: S } = Sn(e), C = q.isNumber(x) && x > -1, w = q.isNumber(S) && S > -1, T = (t) => q.hasOwnProp(e, t) ? e[t] : void 0, ne = i || fetch;
|
|
1336
|
-
v = v ? (v + "").toLowerCase() : "text";
|
|
1337
|
-
let E = wn([l, d && d.toAbortSignal()], f), D = null, O = E && E.unsubscribe && (() => {
|
|
1338
|
-
E.unsubscribe();
|
|
1339
|
-
}), re;
|
|
1340
|
-
try {
|
|
1341
|
-
let i, l = T("auth");
|
|
1342
|
-
if (l && (i = {
|
|
1343
|
-
username: l.username || "",
|
|
1344
|
-
password: l.password || ""
|
|
1345
|
-
}), Ln(t)) {
|
|
1346
|
-
let e = new URL(t, X.origin);
|
|
1347
|
-
!i && (e.username || e.password) && (i = {
|
|
1348
|
-
username: Fn(e.username),
|
|
1349
|
-
password: Fn(e.password)
|
|
1350
|
-
}), (e.username || e.password) && (e.username = "", e.password = "", t = e.href);
|
|
1351
|
-
}
|
|
1352
|
-
if (i && (y.delete("authorization"), y.set("Authorization", "Basic " + btoa(Pn((i.username || "") + ":" + (i.password || ""))))), C && typeof t == "string" && t.startsWith("data:") && An(t) > x) throw new Y("maxContentLength size of " + x + " exceeded", Y.ERR_BAD_RESPONSE, e, D);
|
|
1353
|
-
if (w && n !== "get" && n !== "head") {
|
|
1354
|
-
let t = yield ee(y, c);
|
|
1355
|
-
if (typeof t == "number" && isFinite(t) && t > S) throw new Y("Request body larger than maxBodyLength limit", Y.ERR_BAD_REQUEST, e, D);
|
|
1356
|
-
}
|
|
1357
|
-
if (_ && m && n !== "get" && n !== "head" && (re = yield ee(y, c)) !== 0) {
|
|
1358
|
-
let e = new a(t, {
|
|
1359
|
-
method: "POST",
|
|
1360
|
-
body: c,
|
|
1361
|
-
duplex: "half"
|
|
1362
|
-
}), n;
|
|
1363
|
-
if (q.isFormData(c) && (n = e.headers.get("content-type")) && y.setContentType(n), e.body) {
|
|
1364
|
-
let [t, n] = un(re, ln(dn(_)));
|
|
1365
|
-
c = kn(e.body, Mn, t, n);
|
|
1366
|
-
}
|
|
1367
|
-
}
|
|
1368
|
-
q.isString(b) || (b = b ? "include" : "omit");
|
|
1369
|
-
let d = u && "credentials" in a.prototype;
|
|
1370
|
-
if (q.isFormData(c)) {
|
|
1371
|
-
let e = y.getContentType();
|
|
1372
|
-
e && /^multipart\/form-data/i.test(e) && !/boundary=/i.test(e) && y.delete("content-type");
|
|
1373
|
-
}
|
|
1374
|
-
y.set("User-Agent", "axios/" + jn, !1);
|
|
1375
|
-
let f = o(o({}, te), {}, {
|
|
1376
|
-
signal: E,
|
|
1377
|
-
method: n.toUpperCase(),
|
|
1378
|
-
headers: gt(y.normalize()),
|
|
1379
|
-
body: c,
|
|
1380
|
-
duplex: "half",
|
|
1381
|
-
credentials: d ? b : void 0
|
|
1382
|
-
});
|
|
1383
|
-
D = u && new a(t, f);
|
|
1384
|
-
let k = yield u ? ne(D, te) : ne(t, f);
|
|
1385
|
-
if (C) {
|
|
1386
|
-
let t = q.toFiniteNumber(k.headers.get("content-length"));
|
|
1387
|
-
if (t != null && t > x) throw new Y("maxContentLength size of " + x + " exceeded", Y.ERR_BAD_RESPONSE, e, D);
|
|
1388
|
-
}
|
|
1389
|
-
let ie = h && (v === "stream" || v === "response");
|
|
1390
|
-
if (h && k.body && (p || C || ie && O)) {
|
|
1391
|
-
let t = {};
|
|
1392
|
-
[
|
|
1393
|
-
"status",
|
|
1394
|
-
"statusText",
|
|
1395
|
-
"headers"
|
|
1396
|
-
].forEach((e) => {
|
|
1397
|
-
t[e] = k[e];
|
|
1398
|
-
});
|
|
1399
|
-
let n = q.toFiniteNumber(k.headers.get("content-length")), [r, i] = p && un(n, ln(dn(p), !0)) || [], a = 0;
|
|
1400
|
-
k = new s(kn(k.body, Mn, (t) => {
|
|
1401
|
-
if (C && (a = t, a > x)) throw new Y("maxContentLength size of " + x + " exceeded", Y.ERR_BAD_RESPONSE, e, D);
|
|
1402
|
-
r && r(t);
|
|
1403
|
-
}, () => {
|
|
1404
|
-
i && i(), O && O();
|
|
1405
|
-
}), t);
|
|
1406
|
-
}
|
|
1407
|
-
v = v || "text";
|
|
1408
|
-
let A = yield g[q.findKey(g, v) || "text"](k, e);
|
|
1409
|
-
if (C && !h && !ie) {
|
|
1410
|
-
let t;
|
|
1411
|
-
if (A != null && (typeof A.byteLength == "number" ? t = A.byteLength : typeof A.size == "number" ? t = A.size : typeof A == "string" && (t = typeof r == "function" ? new r().encode(A).byteLength : A.length)), typeof t == "number" && t > x) throw new Y("maxContentLength size of " + x + " exceeded", Y.ERR_BAD_RESPONSE, e, D);
|
|
1412
|
-
}
|
|
1413
|
-
return !ie && O && O(), yield new Promise((t, n) => {
|
|
1414
|
-
an(t, n, {
|
|
1415
|
-
data: A,
|
|
1416
|
-
headers: J.from(k.headers),
|
|
1417
|
-
status: k.status,
|
|
1418
|
-
statusText: k.statusText,
|
|
1419
|
-
config: e,
|
|
1420
|
-
request: D
|
|
1421
|
-
});
|
|
1422
|
-
});
|
|
1423
|
-
} catch (t) {
|
|
1424
|
-
if (O && O(), E && E.aborted && E.reason instanceof Y) {
|
|
1425
|
-
let n = E.reason;
|
|
1426
|
-
throw n.config = e, D && (n.request = D), t !== n && (n.cause = t), n;
|
|
1427
|
-
}
|
|
1428
|
-
throw t && t.name === "TypeError" && /Load failed|fetch/i.test(t.message) ? Object.assign(new Y("Network Error", Y.ERR_NETWORK, e, D, t && t.response), { cause: t.cause || t }) : Y.from(t, t && t.code, e, D, t && t.response);
|
|
1429
|
-
}
|
|
1430
|
-
});
|
|
1431
|
-
return function(t) {
|
|
1432
|
-
return e.apply(this, arguments);
|
|
1433
|
-
};
|
|
1434
|
-
}();
|
|
1435
|
-
}, zn = /* @__PURE__ */ new Map(), Bn = (e) => {
|
|
1436
|
-
let t = e && e.env || {}, { fetch: n, Request: r, Response: i } = t, a = [
|
|
1437
|
-
r,
|
|
1438
|
-
i,
|
|
1439
|
-
n
|
|
1440
|
-
], o = a.length, s, c, l = zn;
|
|
1441
|
-
for (; o--;) s = a[o], c = l.get(s), c === void 0 && l.set(s, c = o ? /* @__PURE__ */ new Map() : Rn(t)), l = c;
|
|
1442
|
-
return c;
|
|
1443
|
-
};
|
|
1444
|
-
Bn();
|
|
1445
|
-
//#endregion
|
|
1446
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/adapters/adapters.js
|
|
1447
|
-
var Vn = {
|
|
1448
|
-
http: null,
|
|
1449
|
-
xhr: Cn,
|
|
1450
|
-
fetch: { get: Bn }
|
|
1451
|
-
};
|
|
1452
|
-
q.forEach(Vn, (e, t) => {
|
|
1453
|
-
if (e) {
|
|
1454
|
-
try {
|
|
1455
|
-
Object.defineProperty(e, "name", {
|
|
1456
|
-
__proto__: null,
|
|
1457
|
-
value: t
|
|
1458
|
-
});
|
|
1459
|
-
} catch (e) {}
|
|
1460
|
-
Object.defineProperty(e, "adapterName", {
|
|
1461
|
-
__proto__: null,
|
|
1462
|
-
value: t
|
|
1463
|
-
});
|
|
1464
|
-
}
|
|
1465
|
-
});
|
|
1466
|
-
var Hn = (e) => `- ${e}`, Un = (e) => q.isFunction(e) || e === null || e === !1;
|
|
1467
|
-
function Wn(e, t) {
|
|
1468
|
-
e = q.isArray(e) ? e : [e];
|
|
1469
|
-
let { length: n } = e, r, i, a = {};
|
|
1470
|
-
for (let o = 0; o < n; o++) {
|
|
1471
|
-
r = e[o];
|
|
1472
|
-
let n;
|
|
1473
|
-
if (i = r, !Un(r) && (i = Vn[(n = String(r)).toLowerCase()], i === void 0)) throw new Y(`Unknown adapter '${n}'`);
|
|
1474
|
-
if (i && (q.isFunction(i) || (i = i.get(t)))) break;
|
|
1475
|
-
a[n || "#" + o] = i;
|
|
1476
|
-
}
|
|
1477
|
-
if (!i) {
|
|
1478
|
-
let e = Object.entries(a).map(([e, t]) => `adapter ${e} ` + (t === !1 ? "is not supported by the environment" : "is not available in the build"));
|
|
1479
|
-
throw new Y("There is no suitable adapter to dispatch the request " + (n ? e.length > 1 ? "since :\n" + e.map(Hn).join("\n") : " " + Hn(e[0]) : "as no adapter specified"), "ERR_NOT_SUPPORT");
|
|
1480
|
-
}
|
|
1481
|
-
return i;
|
|
1482
|
-
}
|
|
1483
|
-
var Gn = {
|
|
1484
|
-
getAdapter: Wn,
|
|
1485
|
-
adapters: Vn
|
|
1486
|
-
};
|
|
1487
|
-
//#endregion
|
|
1488
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/dispatchRequest.js
|
|
1489
|
-
function Kn(e) {
|
|
1490
|
-
if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted) throw new rn(null, e);
|
|
1491
|
-
}
|
|
1492
|
-
function qn(e) {
|
|
1493
|
-
return Kn(e), e.headers = J.from(e.headers), e.data = tn.call(e, e.transformRequest), [
|
|
1494
|
-
"post",
|
|
1495
|
-
"put",
|
|
1496
|
-
"patch"
|
|
1497
|
-
].indexOf(e.method) !== -1 && e.headers.setContentType("application/x-www-form-urlencoded", !1), Gn.getAdapter(e.adapter || en.adapter, e)(e).then(function(t) {
|
|
1498
|
-
Kn(e), e.response = t;
|
|
1499
|
-
try {
|
|
1500
|
-
t.data = tn.call(e, e.transformResponse, t);
|
|
1501
|
-
} finally {
|
|
1502
|
-
delete e.response;
|
|
1503
|
-
}
|
|
1504
|
-
return t.headers = J.from(t.headers), t;
|
|
1505
|
-
}, function(t) {
|
|
1506
|
-
if (!nn(t) && (Kn(e), t && t.response)) {
|
|
1507
|
-
e.response = t.response;
|
|
1508
|
-
try {
|
|
1509
|
-
t.response.data = tn.call(e, e.transformResponse, t.response);
|
|
1510
|
-
} finally {
|
|
1511
|
-
delete e.response;
|
|
1512
|
-
}
|
|
1513
|
-
t.response.headers = J.from(t.response.headers);
|
|
1514
|
-
}
|
|
1515
|
-
return Promise.reject(t);
|
|
1516
|
-
});
|
|
1517
|
-
}
|
|
1518
|
-
//#endregion
|
|
1519
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/validator.js
|
|
1520
|
-
var Jn = {};
|
|
1521
|
-
[
|
|
1522
|
-
"object",
|
|
1523
|
-
"boolean",
|
|
1524
|
-
"number",
|
|
1525
|
-
"function",
|
|
1526
|
-
"string",
|
|
1527
|
-
"symbol"
|
|
1528
|
-
].forEach((e, t) => {
|
|
1529
|
-
Jn[e] = function(n) {
|
|
1530
|
-
return typeof n === e || "a" + (t < 1 ? "n " : " ") + e;
|
|
1531
|
-
};
|
|
1532
|
-
});
|
|
1533
|
-
var Yn = {};
|
|
1534
|
-
Jn.transitional = function(e, t, n) {
|
|
1535
|
-
function r(e, t) {
|
|
1536
|
-
return "[Axios v" + jn + "] Transitional option '" + e + "'" + t + (n ? ". " + n : "");
|
|
1537
|
-
}
|
|
1538
|
-
return (n, i, a) => {
|
|
1539
|
-
if (e === !1) throw new Y(r(i, " has been removed" + (t ? " in " + t : "")), Y.ERR_DEPRECATED);
|
|
1540
|
-
return t && !Yn[i] && (Yn[i] = !0, console.warn(r(i, " has been deprecated since v" + t + " and will be removed in the near future"))), e ? e(n, i, a) : !0;
|
|
1541
|
-
};
|
|
1542
|
-
}, Jn.spelling = function(e) {
|
|
1543
|
-
return (t, n) => (console.warn(`${n} is likely a misspelling of ${e}`), !0);
|
|
1544
|
-
};
|
|
1545
|
-
function Xn(e, t, n) {
|
|
1546
|
-
if (typeof e != "object") throw new Y("options must be an object", Y.ERR_BAD_OPTION_VALUE);
|
|
1547
|
-
let r = Object.keys(e), i = r.length;
|
|
1548
|
-
for (; i-- > 0;) {
|
|
1549
|
-
let a = r[i], o = Object.prototype.hasOwnProperty.call(t, a) ? t[a] : void 0;
|
|
1550
|
-
if (o) {
|
|
1551
|
-
let t = e[a], n = t === void 0 || o(t, a, e);
|
|
1552
|
-
if (n !== !0) throw new Y("option " + a + " must be " + n, Y.ERR_BAD_OPTION_VALUE);
|
|
1553
|
-
continue;
|
|
1554
|
-
}
|
|
1555
|
-
if (n !== !0) throw new Y("Unknown option " + a, Y.ERR_BAD_OPTION);
|
|
1556
|
-
}
|
|
1557
|
-
}
|
|
1558
|
-
var Zn = {
|
|
1559
|
-
assertOptions: Xn,
|
|
1560
|
-
validators: Jn
|
|
1561
|
-
};
|
|
1562
|
-
//#endregion
|
|
1563
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/Axios.js
|
|
1564
|
-
s();
|
|
1565
|
-
var Z = Zn.validators, Qn = class {
|
|
1566
|
-
constructor(e) {
|
|
1567
|
-
this.defaults = e || {}, this.interceptors = {
|
|
1568
|
-
request: new zt(),
|
|
1569
|
-
response: new zt()
|
|
1570
|
-
};
|
|
1571
|
-
}
|
|
1572
|
-
request(e, t) {
|
|
1573
|
-
var n = this;
|
|
1574
|
-
return c(function* () {
|
|
1575
|
-
try {
|
|
1576
|
-
return yield n._request(e, t);
|
|
1577
|
-
} catch (e) {
|
|
1578
|
-
if (e instanceof Error) {
|
|
1579
|
-
let t = {};
|
|
1580
|
-
Error.captureStackTrace ? Error.captureStackTrace(t) : t = /* @__PURE__ */ Error();
|
|
1581
|
-
let n = (() => {
|
|
1582
|
-
if (!t.stack) return "";
|
|
1583
|
-
let e = t.stack.indexOf("\n");
|
|
1584
|
-
return e === -1 ? "" : t.stack.slice(e + 1);
|
|
1585
|
-
})();
|
|
1586
|
-
try {
|
|
1587
|
-
if (!e.stack) e.stack = n;
|
|
1588
|
-
else if (n) {
|
|
1589
|
-
let t = n.indexOf("\n"), r = t === -1 ? -1 : n.indexOf("\n", t + 1), i = r === -1 ? "" : n.slice(r + 1);
|
|
1590
|
-
String(e.stack).endsWith(i) || (e.stack += "\n" + n);
|
|
1591
|
-
}
|
|
1592
|
-
} catch (e) {}
|
|
1593
|
-
}
|
|
1594
|
-
throw e;
|
|
1595
|
-
}
|
|
1596
|
-
})();
|
|
1597
|
-
}
|
|
1598
|
-
_request(e, t) {
|
|
1599
|
-
typeof e == "string" ? (t = t || {}, t.url = e) : t = e || {}, t = vn(this.defaults, t);
|
|
1600
|
-
let { transitional: n, paramsSerializer: r, headers: i } = t;
|
|
1601
|
-
n !== void 0 && Zn.assertOptions(n, {
|
|
1602
|
-
silentJSONParsing: Z.transitional(Z.boolean),
|
|
1603
|
-
forcedJSONParsing: Z.transitional(Z.boolean),
|
|
1604
|
-
clarifyTimeoutError: Z.transitional(Z.boolean),
|
|
1605
|
-
legacyInterceptorReqResOrdering: Z.transitional(Z.boolean),
|
|
1606
|
-
advertiseZstdAcceptEncoding: Z.transitional(Z.boolean)
|
|
1607
|
-
}, !1), r != null && (q.isFunction(r) ? t.paramsSerializer = { serialize: r } : Zn.assertOptions(r, {
|
|
1608
|
-
encode: Z.function,
|
|
1609
|
-
serialize: Z.function
|
|
1610
|
-
}, !0)), t.allowAbsoluteUrls !== void 0 || (this.defaults.allowAbsoluteUrls === void 0 ? t.allowAbsoluteUrls = !0 : t.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls), Zn.assertOptions(t, {
|
|
1611
|
-
baseUrl: Z.spelling("baseURL"),
|
|
1612
|
-
withXsrfToken: Z.spelling("withXSRFToken")
|
|
1613
|
-
}, !0), t.method = (t.method || this.defaults.method || "get").toLowerCase();
|
|
1614
|
-
let a = i && q.merge(i.common, i[t.method]);
|
|
1615
|
-
i && q.forEach([
|
|
1616
|
-
"delete",
|
|
1617
|
-
"get",
|
|
1618
|
-
"head",
|
|
1619
|
-
"post",
|
|
1620
|
-
"put",
|
|
1621
|
-
"patch",
|
|
1622
|
-
"query",
|
|
1623
|
-
"common"
|
|
1624
|
-
], (e) => {
|
|
1625
|
-
delete i[e];
|
|
1626
|
-
}), t.headers = J.concat(a, i);
|
|
1627
|
-
let o = [], s = !0;
|
|
1628
|
-
this.interceptors.request.forEach(function(e) {
|
|
1629
|
-
if (typeof e.runWhen == "function" && e.runWhen(t) === !1) return;
|
|
1630
|
-
s = s && e.synchronous;
|
|
1631
|
-
let n = t.transitional || Bt;
|
|
1632
|
-
n && n.legacyInterceptorReqResOrdering ? o.unshift(e.fulfilled, e.rejected) : o.push(e.fulfilled, e.rejected);
|
|
1633
|
-
});
|
|
1634
|
-
let c = [];
|
|
1635
|
-
this.interceptors.response.forEach(function(e) {
|
|
1636
|
-
c.push(e.fulfilled, e.rejected);
|
|
1637
|
-
});
|
|
1638
|
-
let l, u = 0, d;
|
|
1639
|
-
if (!s) {
|
|
1640
|
-
let e = [qn.bind(this), void 0];
|
|
1641
|
-
for (e.unshift(...o), e.push(...c), d = e.length, l = Promise.resolve(t); u < d;) l = l.then(e[u++], e[u++]);
|
|
1642
|
-
return l;
|
|
1643
|
-
}
|
|
1644
|
-
d = o.length;
|
|
1645
|
-
let f = t;
|
|
1646
|
-
for (; u < d;) {
|
|
1647
|
-
let e = o[u++], t = o[u++];
|
|
1648
|
-
try {
|
|
1649
|
-
f = e(f);
|
|
1650
|
-
} catch (e) {
|
|
1651
|
-
t.call(this, e);
|
|
1652
|
-
break;
|
|
1653
|
-
}
|
|
1654
|
-
}
|
|
1655
|
-
try {
|
|
1656
|
-
l = qn.call(this, f);
|
|
1657
|
-
} catch (e) {
|
|
1658
|
-
return Promise.reject(e);
|
|
1659
|
-
}
|
|
1660
|
-
for (u = 0, d = c.length; u < d;) l = l.then(c[u++], c[u++]);
|
|
1661
|
-
return l;
|
|
1662
|
-
}
|
|
1663
|
-
getUri(e) {
|
|
1664
|
-
return e = vn(this.defaults, e), Rt(gn(e.baseURL, e.url, e.allowAbsoluteUrls), e.params, e.paramsSerializer);
|
|
1665
|
-
}
|
|
1666
|
-
};
|
|
1667
|
-
q.forEach([
|
|
1668
|
-
"delete",
|
|
1669
|
-
"get",
|
|
1670
|
-
"head",
|
|
1671
|
-
"options"
|
|
1672
|
-
], function(e) {
|
|
1673
|
-
Qn.prototype[e] = function(t, n) {
|
|
1674
|
-
return this.request(vn(n || {}, {
|
|
1675
|
-
method: e,
|
|
1676
|
-
url: t,
|
|
1677
|
-
data: (n || {}).data
|
|
1678
|
-
}));
|
|
1679
|
-
};
|
|
1680
|
-
}), q.forEach([
|
|
1681
|
-
"post",
|
|
1682
|
-
"put",
|
|
1683
|
-
"patch",
|
|
1684
|
-
"query"
|
|
1685
|
-
], function(e) {
|
|
1686
|
-
function t(t) {
|
|
1687
|
-
return function(n, r, i) {
|
|
1688
|
-
return this.request(vn(i || {}, {
|
|
1689
|
-
method: e,
|
|
1690
|
-
headers: t ? { "Content-Type": "multipart/form-data" } : {},
|
|
1691
|
-
url: n,
|
|
1692
|
-
data: r
|
|
1693
|
-
}));
|
|
1694
|
-
};
|
|
1695
|
-
}
|
|
1696
|
-
Qn.prototype[e] = t(), e !== "query" && (Qn.prototype[e + "Form"] = t(!0));
|
|
1697
|
-
});
|
|
1698
|
-
//#endregion
|
|
1699
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/cancel/CancelToken.js
|
|
1700
|
-
var $n = class e {
|
|
1701
|
-
constructor(e) {
|
|
1702
|
-
if (typeof e != "function") throw TypeError("executor must be a function.");
|
|
1703
|
-
let t;
|
|
1704
|
-
this.promise = new Promise(function(e) {
|
|
1705
|
-
t = e;
|
|
1706
|
-
});
|
|
1707
|
-
let n = this;
|
|
1708
|
-
this.promise.then((e) => {
|
|
1709
|
-
if (!n._listeners) return;
|
|
1710
|
-
let t = n._listeners.length;
|
|
1711
|
-
for (; t-- > 0;) n._listeners[t](e);
|
|
1712
|
-
n._listeners = null;
|
|
1713
|
-
}), this.promise.then = (e) => {
|
|
1714
|
-
let t, r = new Promise((e) => {
|
|
1715
|
-
n.subscribe(e), t = e;
|
|
1716
|
-
}).then(e);
|
|
1717
|
-
return r.cancel = function() {
|
|
1718
|
-
n.unsubscribe(t);
|
|
1719
|
-
}, r;
|
|
1720
|
-
}, e(function(e, r, i) {
|
|
1721
|
-
n.reason || (n.reason = new rn(e, r, i), t(n.reason));
|
|
1722
|
-
});
|
|
1723
|
-
}
|
|
1724
|
-
throwIfRequested() {
|
|
1725
|
-
if (this.reason) throw this.reason;
|
|
1726
|
-
}
|
|
1727
|
-
subscribe(e) {
|
|
1728
|
-
if (this.reason) {
|
|
1729
|
-
e(this.reason);
|
|
1730
|
-
return;
|
|
1731
|
-
}
|
|
1732
|
-
this._listeners ? this._listeners.push(e) : this._listeners = [e];
|
|
1733
|
-
}
|
|
1734
|
-
unsubscribe(e) {
|
|
1735
|
-
if (!this._listeners) return;
|
|
1736
|
-
let t = this._listeners.indexOf(e);
|
|
1737
|
-
t !== -1 && this._listeners.splice(t, 1);
|
|
1738
|
-
}
|
|
1739
|
-
toAbortSignal() {
|
|
1740
|
-
let e = new AbortController(), t = (t) => {
|
|
1741
|
-
e.abort(t);
|
|
1742
|
-
};
|
|
1743
|
-
return this.subscribe(t), e.signal.unsubscribe = () => this.unsubscribe(t), e.signal;
|
|
1744
|
-
}
|
|
1745
|
-
static source() {
|
|
1746
|
-
let t;
|
|
1747
|
-
return {
|
|
1748
|
-
token: new e(function(e) {
|
|
1749
|
-
t = e;
|
|
1750
|
-
}),
|
|
1751
|
-
cancel: t
|
|
1752
|
-
};
|
|
1753
|
-
}
|
|
1754
|
-
};
|
|
1755
|
-
//#endregion
|
|
1756
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/spread.js
|
|
1757
|
-
function er(e) {
|
|
1758
|
-
return function(t) {
|
|
1759
|
-
return e.apply(null, t);
|
|
1760
|
-
};
|
|
1761
|
-
}
|
|
1762
|
-
//#endregion
|
|
1763
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/isAxiosError.js
|
|
1764
|
-
function tr(e) {
|
|
1765
|
-
return q.isObject(e) && e.isAxiosError === !0;
|
|
1766
|
-
}
|
|
1767
|
-
//#endregion
|
|
1768
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/HttpStatusCode.js
|
|
1769
|
-
var nr = {
|
|
1770
|
-
Continue: 100,
|
|
1771
|
-
SwitchingProtocols: 101,
|
|
1772
|
-
Processing: 102,
|
|
1773
|
-
EarlyHints: 103,
|
|
1774
|
-
Ok: 200,
|
|
1775
|
-
Created: 201,
|
|
1776
|
-
Accepted: 202,
|
|
1777
|
-
NonAuthoritativeInformation: 203,
|
|
1778
|
-
NoContent: 204,
|
|
1779
|
-
ResetContent: 205,
|
|
1780
|
-
PartialContent: 206,
|
|
1781
|
-
MultiStatus: 207,
|
|
1782
|
-
AlreadyReported: 208,
|
|
1783
|
-
ImUsed: 226,
|
|
1784
|
-
MultipleChoices: 300,
|
|
1785
|
-
MovedPermanently: 301,
|
|
1786
|
-
Found: 302,
|
|
1787
|
-
SeeOther: 303,
|
|
1788
|
-
NotModified: 304,
|
|
1789
|
-
UseProxy: 305,
|
|
1790
|
-
Unused: 306,
|
|
1791
|
-
TemporaryRedirect: 307,
|
|
1792
|
-
PermanentRedirect: 308,
|
|
1793
|
-
BadRequest: 400,
|
|
1794
|
-
Unauthorized: 401,
|
|
1795
|
-
PaymentRequired: 402,
|
|
1796
|
-
Forbidden: 403,
|
|
1797
|
-
NotFound: 404,
|
|
1798
|
-
MethodNotAllowed: 405,
|
|
1799
|
-
NotAcceptable: 406,
|
|
1800
|
-
ProxyAuthenticationRequired: 407,
|
|
1801
|
-
RequestTimeout: 408,
|
|
1802
|
-
Conflict: 409,
|
|
1803
|
-
Gone: 410,
|
|
1804
|
-
LengthRequired: 411,
|
|
1805
|
-
PreconditionFailed: 412,
|
|
1806
|
-
PayloadTooLarge: 413,
|
|
1807
|
-
UriTooLong: 414,
|
|
1808
|
-
UnsupportedMediaType: 415,
|
|
1809
|
-
RangeNotSatisfiable: 416,
|
|
1810
|
-
ExpectationFailed: 417,
|
|
1811
|
-
ImATeapot: 418,
|
|
1812
|
-
MisdirectedRequest: 421,
|
|
1813
|
-
UnprocessableEntity: 422,
|
|
1814
|
-
Locked: 423,
|
|
1815
|
-
FailedDependency: 424,
|
|
1816
|
-
TooEarly: 425,
|
|
1817
|
-
UpgradeRequired: 426,
|
|
1818
|
-
PreconditionRequired: 428,
|
|
1819
|
-
TooManyRequests: 429,
|
|
1820
|
-
RequestHeaderFieldsTooLarge: 431,
|
|
1821
|
-
UnavailableForLegalReasons: 451,
|
|
1822
|
-
InternalServerError: 500,
|
|
1823
|
-
NotImplemented: 501,
|
|
1824
|
-
BadGateway: 502,
|
|
1825
|
-
ServiceUnavailable: 503,
|
|
1826
|
-
GatewayTimeout: 504,
|
|
1827
|
-
HttpVersionNotSupported: 505,
|
|
1828
|
-
VariantAlsoNegotiates: 506,
|
|
1829
|
-
InsufficientStorage: 507,
|
|
1830
|
-
LoopDetected: 508,
|
|
1831
|
-
NotExtended: 510,
|
|
1832
|
-
NetworkAuthenticationRequired: 511,
|
|
1833
|
-
WebServerIsDown: 521,
|
|
1834
|
-
ConnectionTimedOut: 522,
|
|
1835
|
-
OriginIsUnreachable: 523,
|
|
1836
|
-
TimeoutOccurred: 524,
|
|
1837
|
-
SslHandshakeFailed: 525,
|
|
1838
|
-
InvalidSslCertificate: 526
|
|
1839
|
-
};
|
|
1840
|
-
Object.entries(nr).forEach(([e, t]) => {
|
|
1841
|
-
nr[t] = e;
|
|
1842
|
-
});
|
|
1843
|
-
//#endregion
|
|
1844
|
-
//#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/axios.js
|
|
1845
|
-
function rr(e) {
|
|
1846
|
-
let t = new Qn(e), n = ue(Qn.prototype.request, t);
|
|
1847
|
-
return q.extend(n, Qn.prototype, t, { allOwnKeys: !0 }), q.extend(n, t, null, { allOwnKeys: !0 }), n.create = function(t) {
|
|
1848
|
-
return rr(vn(e, t));
|
|
1849
|
-
}, n;
|
|
1850
|
-
}
|
|
1851
|
-
var Q = rr(en);
|
|
1852
|
-
Q.Axios = Qn, Q.CanceledError = rn, Q.CancelToken = $n, Q.isCancel = nn, Q.VERSION = jn, Q.toFormData = Nt, Q.AxiosError = Y, Q.Cancel = Q.CanceledError, Q.all = function(e) {
|
|
1853
|
-
return Promise.all(e);
|
|
1854
|
-
}, Q.spread = er, Q.isAxiosError = tr, Q.mergeConfig = vn, Q.AxiosHeaders = J, Q.formToJSON = (e) => Zt(q.isHTMLForm(e) ? new FormData(e) : e), Q.getAdapter = Gn.getAdapter, Q.HttpStatusCode = nr, Q.default = Q;
|
|
1855
|
-
//#endregion
|
|
1856
|
-
//#region node_modules/.pnpm/@lucide+vue@1.17.0_vue@3.5.35_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/shared/src/utils/isEmptyString.mjs
|
|
1857
|
-
var ir = (e) => e === "", ar = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), or = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), sr = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), cr = (e) => {
|
|
1858
|
-
let t = sr(e);
|
|
1859
|
-
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
1860
|
-
}, lr = {
|
|
1861
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
1862
|
-
width: 24,
|
|
1863
|
-
height: 24,
|
|
1864
|
-
viewBox: "0 0 24 24",
|
|
1865
|
-
fill: "none",
|
|
1866
|
-
stroke: "currentColor",
|
|
1867
|
-
"stroke-width": 2,
|
|
1868
|
-
"stroke-linecap": "round",
|
|
1869
|
-
"stroke-linejoin": "round"
|
|
1870
|
-
}, ur = Symbol("lucide-icons");
|
|
1871
|
-
function dr() {
|
|
1872
|
-
return O(ur, {});
|
|
1873
|
-
}
|
|
1874
|
-
t(), a();
|
|
1875
|
-
var fr = [
|
|
1876
|
-
"name",
|
|
1877
|
-
"iconNode",
|
|
1878
|
-
"absoluteStrokeWidth",
|
|
1879
|
-
"absolute-stroke-width",
|
|
1880
|
-
"strokeWidth",
|
|
1881
|
-
"stroke-width",
|
|
1882
|
-
"size",
|
|
1883
|
-
"color"
|
|
1884
|
-
], pr = (e, { slots: t }) => {
|
|
1885
|
-
var r, i, a;
|
|
1886
|
-
let { name: s, iconNode: c, absoluteStrokeWidth: l, "absolute-stroke-width": u, strokeWidth: d, "stroke-width": f, size: p, color: m } = e, h = n(e, fr), { size: g, color: _, strokeWidth: ee = 2, absoluteStrokeWidth: v = !1, class: y = "" } = dr(), b = S(() => {
|
|
1887
|
-
let e = ir(l) || ir(u) || l === !0 || u === !0 || v === !0, t = d || f || ee || lr["stroke-width"];
|
|
1888
|
-
if (e) {
|
|
1889
|
-
var n;
|
|
1890
|
-
return Number(t) * 24 / Number((n = p == null ? g : p) == null ? lr.width : n);
|
|
1891
|
-
}
|
|
1892
|
-
return t;
|
|
1893
|
-
});
|
|
1894
|
-
return D("svg", o(o(o({}, lr), h), {}, {
|
|
1895
|
-
width: (r = p == null ? g : p) == null ? lr.width : r,
|
|
1896
|
-
height: (i = p == null ? g : p) == null ? lr.height : i,
|
|
1897
|
-
stroke: (a = m == null ? _ : m) == null ? lr.stroke : a,
|
|
1898
|
-
"stroke-width": b.value,
|
|
1899
|
-
class: ar("lucide", y, ...s ? [`lucide-${or(cr(s))}-icon`, `lucide-${or(s)}`] : ["lucide-icon"])
|
|
1900
|
-
}), [...c.map((e) => D(...e)), ...t.default ? [t.default()] : []]);
|
|
1901
|
-
};
|
|
1902
|
-
//#endregion
|
|
1903
|
-
//#region node_modules/.pnpm/@lucide+vue@1.17.0_vue@3.5.35_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/createLucideIcon.mjs
|
|
1904
|
-
a();
|
|
1905
|
-
var mr = (e, t) => (n, { slots: r, attrs: i }) => D(pr, o(o(o({}, i), n), {}, {
|
|
1906
|
-
iconNode: t,
|
|
1907
|
-
name: e
|
|
1908
|
-
}), r.default ? { default: r.default } : void 0), hr = mr("rotate-ccw", [["path", {
|
|
1909
|
-
d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
|
|
1910
|
-
key: "1357e3"
|
|
1911
|
-
}], ["path", {
|
|
1912
|
-
d: "M3 3v5h5",
|
|
1913
|
-
key: "1xhq8a"
|
|
1914
|
-
}]]), gr = mr("zoom-in", [
|
|
1915
|
-
["circle", {
|
|
1916
|
-
cx: "11",
|
|
1917
|
-
cy: "11",
|
|
1918
|
-
r: "8",
|
|
1919
|
-
key: "4ej97u"
|
|
1920
|
-
}],
|
|
1921
|
-
["line", {
|
|
1922
|
-
x1: "21",
|
|
1923
|
-
x2: "16.65",
|
|
1924
|
-
y1: "21",
|
|
1925
|
-
y2: "16.65",
|
|
1926
|
-
key: "13gj7c"
|
|
1927
|
-
}],
|
|
1928
|
-
["line", {
|
|
1929
|
-
x1: "11",
|
|
1930
|
-
x2: "11",
|
|
1931
|
-
y1: "8",
|
|
1932
|
-
y2: "14",
|
|
1933
|
-
key: "1vmskp"
|
|
1934
|
-
}],
|
|
1935
|
-
["line", {
|
|
1936
|
-
x1: "8",
|
|
1937
|
-
x2: "14",
|
|
1938
|
-
y1: "11",
|
|
1939
|
-
y2: "11",
|
|
1940
|
-
key: "durymu"
|
|
1941
|
-
}]
|
|
1942
|
-
]), _r = mr("zoom-out", [
|
|
1943
|
-
["circle", {
|
|
1944
|
-
cx: "11",
|
|
1945
|
-
cy: "11",
|
|
1946
|
-
r: "8",
|
|
1947
|
-
key: "4ej97u"
|
|
1948
|
-
}],
|
|
1949
|
-
["line", {
|
|
1950
|
-
x1: "21",
|
|
1951
|
-
x2: "16.65",
|
|
1952
|
-
y1: "21",
|
|
1953
|
-
y2: "16.65",
|
|
1954
|
-
key: "13gj7c"
|
|
1955
|
-
}],
|
|
1956
|
-
["line", {
|
|
1957
|
-
x1: "8",
|
|
1958
|
-
x2: "14",
|
|
1959
|
-
y1: "11",
|
|
1960
|
-
y2: "11",
|
|
1961
|
-
key: "durymu"
|
|
1962
|
-
}]
|
|
1963
|
-
]);
|
|
1964
|
-
//#endregion
|
|
1965
|
-
//#region src/package/common/printCapability.ts
|
|
1966
|
-
r();
|
|
1967
|
-
var vr = /* @__PURE__ */ "txt.json.js.mjs.cjs.css.java.py.html.htm.jsx.ts.tsx.xml.log.vue.yaml.yml.ini.sh.bash.sql.go.rs.php.c.cpp.cc.h.hpp.cs.diff".split("."), yr = [
|
|
1968
|
-
"gif",
|
|
1969
|
-
"jpg",
|
|
1970
|
-
"jpeg",
|
|
1971
|
-
"bmp",
|
|
1972
|
-
"tiff",
|
|
1973
|
-
"tif",
|
|
1974
|
-
"png",
|
|
1975
|
-
"svg",
|
|
1976
|
-
"webp"
|
|
1977
|
-
], br = [
|
|
1978
|
-
"docx",
|
|
1979
|
-
"docm",
|
|
1980
|
-
"dotx",
|
|
1981
|
-
"dotm",
|
|
1982
|
-
"doc",
|
|
1983
|
-
"dot",
|
|
1984
|
-
"pdf",
|
|
1985
|
-
"typ",
|
|
1986
|
-
"typst"
|
|
1987
|
-
], xr = [
|
|
1988
|
-
"pptx",
|
|
1989
|
-
"pptm",
|
|
1990
|
-
"potx",
|
|
1991
|
-
"potm",
|
|
1992
|
-
"ppsx",
|
|
1993
|
-
"ppsm",
|
|
1994
|
-
"ofd",
|
|
1995
|
-
"dxf",
|
|
1996
|
-
"dwg",
|
|
1997
|
-
"dwf",
|
|
1998
|
-
"dwfx",
|
|
1999
|
-
"xps",
|
|
2000
|
-
"excalidraw",
|
|
2001
|
-
"drawio",
|
|
2002
|
-
"dio",
|
|
2003
|
-
"umd",
|
|
2004
|
-
"md",
|
|
2005
|
-
"markdown",
|
|
2006
|
-
"olb",
|
|
2007
|
-
"dra",
|
|
2008
|
-
...vr,
|
|
2009
|
-
...yr
|
|
2010
|
-
], Sr = /* @__PURE__ */ "xlsx.xltx.xlsm.xlsb.xls.xlt.xltm.csv.ods.fods.numbers.zip.zipx.7z.rar.tar.gz.gzip.tgz.bz2.bzip2.tbz.tbz2.xz.txz.lzma.zst.tzst.cab.ar.cpio.iso.xar.lha.lzh.jar.war.ear.apk.cbz.cbr.eml.msg.epub.mp4.mp3.mpeg.wav.ogg.oga.opus.m4a.aac.flac.weba.gltf.glb.obj.stl.ply.fbx.dae.3ds.3mf.amf.usd.usda.usdc.usdz.kmz.step.stp.iges.igs.ifc.3dm.pcd.wrl.vrml.xyz.vtk.vtp".split("."), Cr = (e) => e.trim().replace(/^\./, "").toLowerCase(), wr = (e) => br.includes(Cr(e)), Tr = (e) => xr.includes(Cr(e)), Er = (e) => Sr.includes(Cr(e)), Dr = (e, t, n) => {
|
|
2011
|
-
if (!n) return !1;
|
|
2012
|
-
if (t) {
|
|
2013
|
-
if (t.print === !1) return !1;
|
|
2014
|
-
if (t.toHtml) return !0;
|
|
2015
|
-
}
|
|
2016
|
-
return wr(e) || Er(e) ? !1 : Tr(e);
|
|
2017
|
-
};
|
|
2018
|
-
//#endregion
|
|
2019
|
-
//#region src/package/vendors/renders.ts
|
|
2020
|
-
s();
|
|
2021
|
-
var Or = (e) => ({
|
|
2022
|
-
$el: e,
|
|
2023
|
-
unmount() {}
|
|
2024
|
-
}), kr = [
|
|
2025
|
-
{
|
|
2026
|
-
accepts: [
|
|
2027
|
-
"docx",
|
|
2028
|
-
"docm",
|
|
2029
|
-
"dotx",
|
|
2030
|
-
"dotm"
|
|
2031
|
-
],
|
|
2032
|
-
handler: function() {
|
|
2033
|
-
var e = c(function* (e, t, n, r) {
|
|
2034
|
-
let { renderDocx: i } = yield import("./components/word.js"), a = yield i(e, t, r);
|
|
2035
|
-
return window.dispatchEvent(new Event("resize")), a;
|
|
2036
|
-
});
|
|
2037
|
-
return function(t, n, r, i) {
|
|
2038
|
-
return e.apply(this, arguments);
|
|
2039
|
-
};
|
|
2040
|
-
}()
|
|
2041
|
-
},
|
|
2042
|
-
{
|
|
2043
|
-
accepts: ["doc", "dot"],
|
|
2044
|
-
handler: function() {
|
|
2045
|
-
var e = c(function* (e, t, n, r) {
|
|
2046
|
-
let { renderDoc: i } = yield import("./components/word.js");
|
|
2047
|
-
return i(e, t, r);
|
|
2048
|
-
});
|
|
2049
|
-
return function(t, n, r, i) {
|
|
2050
|
-
return e.apply(this, arguments);
|
|
2051
|
-
};
|
|
2052
|
-
}()
|
|
2053
|
-
},
|
|
2054
|
-
{
|
|
2055
|
-
accepts: [
|
|
2056
|
-
"pptx",
|
|
2057
|
-
"pptm",
|
|
2058
|
-
"potx",
|
|
2059
|
-
"potm",
|
|
2060
|
-
"ppsx",
|
|
2061
|
-
"ppsm"
|
|
2062
|
-
],
|
|
2063
|
-
handler: function() {
|
|
2064
|
-
var e = c(function* (e, t, n) {
|
|
2065
|
-
let { default: r } = yield import("./components/pptx.js");
|
|
2066
|
-
return yield r(e, t, n), window.dispatchEvent(new Event("resize")), Or(t);
|
|
2067
|
-
});
|
|
2068
|
-
return function(t, n, r) {
|
|
2069
|
-
return e.apply(this, arguments);
|
|
2070
|
-
};
|
|
2071
|
-
}()
|
|
2072
|
-
},
|
|
2073
|
-
{
|
|
2074
|
-
accepts: ["xlsx", "xltx"],
|
|
2075
|
-
handler: function() {
|
|
2076
|
-
var e = c(function* (e, t, n) {
|
|
2077
|
-
let { default: r } = yield import("./components/xlsx.js");
|
|
2078
|
-
return r(e, t, n);
|
|
2079
|
-
});
|
|
2080
|
-
return function(t, n, r) {
|
|
2081
|
-
return e.apply(this, arguments);
|
|
2082
|
-
};
|
|
2083
|
-
}()
|
|
2084
|
-
},
|
|
2085
|
-
{
|
|
2086
|
-
accepts: [
|
|
2087
|
-
"xlsm",
|
|
2088
|
-
"xlsb",
|
|
2089
|
-
"xls",
|
|
2090
|
-
"xlt",
|
|
2091
|
-
"xltm",
|
|
2092
|
-
"csv",
|
|
2093
|
-
"ods",
|
|
2094
|
-
"fods",
|
|
2095
|
-
"numbers"
|
|
2096
|
-
],
|
|
2097
|
-
handler: function() {
|
|
2098
|
-
var e = c(function* (e, t, n) {
|
|
2099
|
-
let { default: r } = yield import("./components/xlsx.js");
|
|
2100
|
-
return r(e, t, n);
|
|
2101
|
-
});
|
|
2102
|
-
return function(t, n, r) {
|
|
2103
|
-
return e.apply(this, arguments);
|
|
2104
|
-
};
|
|
2105
|
-
}()
|
|
2106
|
-
},
|
|
2107
|
-
{
|
|
2108
|
-
accepts: ["pdf"],
|
|
2109
|
-
handler: function() {
|
|
2110
|
-
var e = c(function* (e, t, n, r) {
|
|
2111
|
-
let { default: i } = yield import("./components/pdf.js");
|
|
2112
|
-
return i(e, t, r);
|
|
2113
|
-
});
|
|
2114
|
-
return function(t, n, r, i) {
|
|
2115
|
-
return e.apply(this, arguments);
|
|
2116
|
-
};
|
|
2117
|
-
}()
|
|
2118
|
-
},
|
|
2119
|
-
{
|
|
2120
|
-
accepts: ["ofd"],
|
|
2121
|
-
handler: function() {
|
|
2122
|
-
var e = c(function* (e, t) {
|
|
2123
|
-
let { default: n } = yield import("./components/ofd2.js");
|
|
2124
|
-
return n(e, t);
|
|
2125
|
-
});
|
|
2126
|
-
return function(t, n) {
|
|
2127
|
-
return e.apply(this, arguments);
|
|
2128
|
-
};
|
|
2129
|
-
}()
|
|
2130
|
-
},
|
|
2131
|
-
{
|
|
2132
|
-
accepts: ["typ", "typst"],
|
|
2133
|
-
handler: function() {
|
|
2134
|
-
var e = c(function* (e, t, n, r) {
|
|
2135
|
-
let { default: i } = yield import("./components/typst.js");
|
|
2136
|
-
return i(e, t, n, r);
|
|
2137
|
-
});
|
|
2138
|
-
return function(t, n, r, i) {
|
|
2139
|
-
return e.apply(this, arguments);
|
|
2140
|
-
};
|
|
2141
|
-
}()
|
|
2142
|
-
},
|
|
2143
|
-
{
|
|
2144
|
-
accepts: b,
|
|
2145
|
-
handler: function() {
|
|
2146
|
-
var e = c(function* (e, t, n, r) {
|
|
2147
|
-
let { default: i } = yield import("./components/archive.js");
|
|
2148
|
-
return i(e, t, r);
|
|
2149
|
-
});
|
|
2150
|
-
return function(t, n, r, i) {
|
|
2151
|
-
return e.apply(this, arguments);
|
|
2152
|
-
};
|
|
2153
|
-
}()
|
|
2154
|
-
},
|
|
2155
|
-
{
|
|
2156
|
-
accepts: ["eml", "msg"],
|
|
2157
|
-
handler: function() {
|
|
2158
|
-
var e = c(function* (e, t, n, r) {
|
|
2159
|
-
let { default: i } = yield import("./components/email.js");
|
|
2160
|
-
return i(e, t, n, r);
|
|
2161
|
-
});
|
|
2162
|
-
return function(t, n, r, i) {
|
|
2163
|
-
return e.apply(this, arguments);
|
|
2164
|
-
};
|
|
2165
|
-
}()
|
|
2166
|
-
},
|
|
2167
|
-
{
|
|
2168
|
-
accepts: ["olb", "dra"],
|
|
2169
|
-
handler: function() {
|
|
2170
|
-
var e = c(function* (e, t, n, r) {
|
|
2171
|
-
let { default: i } = yield import("./components/eda.js");
|
|
2172
|
-
return i(e, t, n, r);
|
|
2173
|
-
});
|
|
2174
|
-
return function(t, n, r, i) {
|
|
2175
|
-
return e.apply(this, arguments);
|
|
2176
|
-
};
|
|
2177
|
-
}()
|
|
2178
|
-
},
|
|
2179
|
-
{
|
|
2180
|
-
accepts: [
|
|
2181
|
-
"dxf",
|
|
2182
|
-
"dwg",
|
|
2183
|
-
"dwf",
|
|
2184
|
-
"dwfx",
|
|
2185
|
-
"xps"
|
|
2186
|
-
],
|
|
2187
|
-
handler: function() {
|
|
2188
|
-
var e = c(function* (e, t, n, r) {
|
|
2189
|
-
let { default: i } = yield import("./components/cad.js");
|
|
2190
|
-
return i(e, t, n, r);
|
|
2191
|
-
});
|
|
2192
|
-
return function(t, n, r, i) {
|
|
2193
|
-
return e.apply(this, arguments);
|
|
2194
|
-
};
|
|
2195
|
-
}()
|
|
2196
|
-
},
|
|
2197
|
-
{
|
|
2198
|
-
accepts: te,
|
|
2199
|
-
handler: function() {
|
|
2200
|
-
var e = c(function* (e, t, n, r) {
|
|
2201
|
-
let { default: i } = yield import("./components/model.js");
|
|
2202
|
-
return i(e, t, n, r);
|
|
2203
|
-
});
|
|
2204
|
-
return function(t, n, r, i) {
|
|
2205
|
-
return e.apply(this, arguments);
|
|
2206
|
-
};
|
|
2207
|
-
}()
|
|
2208
|
-
},
|
|
2209
|
-
{
|
|
2210
|
-
accepts: [
|
|
2211
|
-
"excalidraw",
|
|
2212
|
-
"drawio",
|
|
2213
|
-
"dio"
|
|
2214
|
-
],
|
|
2215
|
-
handler: function() {
|
|
2216
|
-
var e = c(function* (e, t, n) {
|
|
2217
|
-
let { default: r } = yield import("./components/drawing.js");
|
|
2218
|
-
return r(e, t, n);
|
|
2219
|
-
});
|
|
2220
|
-
return function(t, n, r) {
|
|
2221
|
-
return e.apply(this, arguments);
|
|
2222
|
-
};
|
|
2223
|
-
}()
|
|
2224
|
-
},
|
|
2225
|
-
{
|
|
2226
|
-
accepts: ["epub"],
|
|
2227
|
-
handler: function() {
|
|
2228
|
-
var e = c(function* (e, t) {
|
|
2229
|
-
let { default: n } = yield import("./components/ebook.js");
|
|
2230
|
-
return n(e, t);
|
|
2231
|
-
});
|
|
2232
|
-
return function(t, n) {
|
|
2233
|
-
return e.apply(this, arguments);
|
|
2234
|
-
};
|
|
2235
|
-
}()
|
|
2236
|
-
},
|
|
2237
|
-
{
|
|
2238
|
-
accepts: ["umd"],
|
|
2239
|
-
handler: function() {
|
|
2240
|
-
var e = c(function* (e, t) {
|
|
2241
|
-
let { default: n } = yield import("./components/umd.js");
|
|
2242
|
-
return n(e, t);
|
|
2243
|
-
});
|
|
2244
|
-
return function(t, n) {
|
|
2245
|
-
return e.apply(this, arguments);
|
|
2246
|
-
};
|
|
2247
|
-
}()
|
|
2248
|
-
},
|
|
2249
|
-
{
|
|
2250
|
-
accepts: [
|
|
2251
|
-
"gif",
|
|
2252
|
-
"jpg",
|
|
2253
|
-
"jpeg",
|
|
2254
|
-
"bmp",
|
|
2255
|
-
"tiff",
|
|
2256
|
-
"tif",
|
|
2257
|
-
"png",
|
|
2258
|
-
"svg",
|
|
2259
|
-
"webp"
|
|
2260
|
-
],
|
|
2261
|
-
handler: function() {
|
|
2262
|
-
var e = c(function* (e, t) {
|
|
2263
|
-
let { default: n } = yield import("./components/image.js");
|
|
2264
|
-
return n(e, t);
|
|
2265
|
-
});
|
|
2266
|
-
return function(t, n) {
|
|
2267
|
-
return e.apply(this, arguments);
|
|
2268
|
-
};
|
|
2269
|
-
}()
|
|
2270
|
-
},
|
|
2271
|
-
{
|
|
2272
|
-
accepts: ["md", "markdown"],
|
|
2273
|
-
handler: function() {
|
|
2274
|
-
var e = c(function* (e, t) {
|
|
2275
|
-
let { default: n } = yield import("./components/md.js");
|
|
2276
|
-
return n(e, t);
|
|
2277
|
-
});
|
|
2278
|
-
return function(t, n) {
|
|
2279
|
-
return e.apply(this, arguments);
|
|
2280
|
-
};
|
|
2281
|
-
}()
|
|
2282
|
-
},
|
|
2283
|
-
{
|
|
2284
|
-
accepts: /* @__PURE__ */ "txt.json.js.mjs.cjs.css.java.py.html.htm.jsx.ts.tsx.xml.log.vue.yaml.yml.ini.sh.bash.sql.go.rs.php.c.cpp.cc.h.hpp.cs.diff".split("."),
|
|
2285
|
-
handler: function() {
|
|
2286
|
-
var e = c(function* (e, t, n) {
|
|
2287
|
-
let { default: r } = yield import("./components/text.js");
|
|
2288
|
-
return r(e, t, n);
|
|
2289
|
-
});
|
|
2290
|
-
return function(t, n, r) {
|
|
2291
|
-
return e.apply(this, arguments);
|
|
2292
|
-
};
|
|
2293
|
-
}()
|
|
2294
|
-
},
|
|
2295
|
-
{
|
|
2296
|
-
accepts: ["mp4"],
|
|
2297
|
-
handler: function() {
|
|
2298
|
-
var e = c(function* (e, t) {
|
|
2299
|
-
let { default: n } = yield import("./components/mp4.js");
|
|
2300
|
-
return n(e, t), Or(t);
|
|
2301
|
-
});
|
|
2302
|
-
return function(t, n) {
|
|
2303
|
-
return e.apply(this, arguments);
|
|
2304
|
-
};
|
|
2305
|
-
}()
|
|
2306
|
-
},
|
|
2307
|
-
{
|
|
2308
|
-
accepts: [
|
|
2309
|
-
"mp3",
|
|
2310
|
-
"mpeg",
|
|
2311
|
-
"wav",
|
|
2312
|
-
"ogg",
|
|
2313
|
-
"oga",
|
|
2314
|
-
"opus",
|
|
2315
|
-
"m4a",
|
|
2316
|
-
"aac",
|
|
2317
|
-
"flac",
|
|
2318
|
-
"weba"
|
|
2319
|
-
],
|
|
2320
|
-
handler: function() {
|
|
2321
|
-
var e = c(function* (e, t, n) {
|
|
2322
|
-
let { default: r } = yield import("./components/audio.js");
|
|
2323
|
-
return r(e, t, n);
|
|
2324
|
-
});
|
|
2325
|
-
return function(t, n, r) {
|
|
2326
|
-
return e.apply(this, arguments);
|
|
2327
|
-
};
|
|
2328
|
-
}()
|
|
2329
|
-
},
|
|
2330
|
-
{
|
|
2331
|
-
accepts: ["error"],
|
|
2332
|
-
handler: function() {
|
|
2333
|
-
var e = c(function* (e, t, n) {
|
|
2334
|
-
return t.innerHTML = `<div style='text-align: center; margin-top: 80px'>不支持.${n}格式的在线预览,请下载后预览或转换为支持的格式</div>
|
|
2335
|
-
<div style='text-align: center'>支持 Word、Excel、PPT、PDF、OFD、Typst、压缩包、邮件、OLB/DRA、CAD、3D 模型、Excalidraw、draw.io、EPUB、UMD、Markdown、代码/文本、图片、音频和 MP4 的在线预览</div>`, Or(t);
|
|
2336
|
-
});
|
|
2337
|
-
return function(t, n, r) {
|
|
2338
|
-
return e.apply(this, arguments);
|
|
2339
|
-
};
|
|
2340
|
-
}()
|
|
2341
|
-
}
|
|
2342
|
-
].reduce((e, { accepts: t, handler: n }) => (t.forEach((t) => e.set(t, n)), e), /* @__PURE__ */ new Map());
|
|
2343
|
-
//#endregion
|
|
2344
|
-
//#region src/package/components/FileViewer/util.ts
|
|
2345
|
-
s();
|
|
2346
|
-
var Ar = kr.get("error");
|
|
2347
|
-
function jr(e) {
|
|
2348
|
-
let t = e.lastIndexOf(".");
|
|
2349
|
-
return e.substring(t + 1);
|
|
2350
|
-
}
|
|
2351
|
-
function Mr(e, t, n, r) {
|
|
2352
|
-
return Nr.apply(this, arguments);
|
|
2353
|
-
}
|
|
2354
|
-
function Nr() {
|
|
2355
|
-
return Nr = c(function* (e, t, n, r) {
|
|
2356
|
-
let i = t.toLowerCase(), a = kr.get(i);
|
|
2357
|
-
if (a) return a(e, n, i, r);
|
|
2358
|
-
if (Ar) return Ar(e, n, i, r);
|
|
2359
|
-
}), Nr.apply(this, arguments);
|
|
2360
|
-
}
|
|
2361
|
-
a(), s();
|
|
2362
|
-
var Pr = () => typeof window < "u" && window.parent !== window, Fr = (e, t, n) => {
|
|
2363
|
-
Pr() && window.parent.postMessage({
|
|
2364
|
-
type: e,
|
|
2365
|
-
event: t,
|
|
2366
|
-
payload: n
|
|
2367
|
-
}, "*");
|
|
2368
|
-
}, Ir = (e) => Math.max(0, e.scrollHeight - e.clientHeight), Lr = (e) => {
|
|
2369
|
-
if (typeof window > "u") return !1;
|
|
2370
|
-
let t = window.getComputedStyle(e), n = t.overflowY || t.overflow;
|
|
2371
|
-
return Ir(e) > 2 && [
|
|
2372
|
-
"auto",
|
|
2373
|
-
"scroll",
|
|
2374
|
-
"overlay"
|
|
2375
|
-
].includes(n);
|
|
2376
|
-
}, Rr = (e) => ({
|
|
2377
|
-
query: e.query,
|
|
2378
|
-
total: e.total,
|
|
2379
|
-
currentIndex: e.currentIndex,
|
|
2380
|
-
current: e.current ? o({}, e.current) : null,
|
|
2381
|
-
matches: e.matches.map((e) => o({}, e))
|
|
2382
|
-
}), zr = ({ output: e, getOptions: t, emitSearchChange: n, emitLocationChange: r }) => {
|
|
2383
|
-
let i = () => {
|
|
2384
|
-
let t = e.value;
|
|
2385
|
-
if (!t) return null;
|
|
2386
|
-
let n = t.querySelector("[data-viewer-scroll-container], .pdf-wrapper");
|
|
2387
|
-
return n && Lr(n) ? n : Lr(t) ? t : Array.from(t.querySelectorAll("div, section, article, pre")).filter(Lr).sort((e, t) => Ir(t) - Ir(e))[0] || n || t;
|
|
2388
|
-
}, a = v(e, () => {
|
|
2389
|
-
var e;
|
|
2390
|
-
return (e = t()) == null ? void 0 : e.search;
|
|
2391
|
-
}, i), o = () => Rr(a.state), s = () => {
|
|
2392
|
-
let e = o();
|
|
2393
|
-
return n(e), Fr("flyfish-viewer:search", "search-change", e), e;
|
|
2394
|
-
}, l = () => {
|
|
2395
|
-
let t = g(e.value, a.anchors.value);
|
|
2396
|
-
return r(t), Fr("flyfish-viewer:location", "location-change", t), t;
|
|
2397
|
-
}, u = function() {
|
|
2398
|
-
var e = c(function* () {
|
|
2399
|
-
return a.observe(), yield a.refreshAnchors(), l(), a.anchors.value;
|
|
2400
|
-
});
|
|
2401
|
-
return function() {
|
|
2402
|
-
return e.apply(this, arguments);
|
|
2403
|
-
};
|
|
2404
|
-
}();
|
|
2405
|
-
return {
|
|
2406
|
-
refreshDocumentIndex: u,
|
|
2407
|
-
clearDocumentState: () => {
|
|
2408
|
-
a.clear();
|
|
2409
|
-
},
|
|
2410
|
-
getScrollContainer: i,
|
|
2411
|
-
searchDocument: function() {
|
|
2412
|
-
var e = c(function* (e) {
|
|
2413
|
-
return yield a.search(e), s();
|
|
2414
|
-
});
|
|
2415
|
-
return function(t) {
|
|
2416
|
-
return e.apply(this, arguments);
|
|
2417
|
-
};
|
|
2418
|
-
}(),
|
|
2419
|
-
clearDocumentSearch: function() {
|
|
2420
|
-
var e = c(function* () {
|
|
2421
|
-
return yield a.clear(), s();
|
|
2422
|
-
});
|
|
2423
|
-
return function() {
|
|
2424
|
-
return e.apply(this, arguments);
|
|
2425
|
-
};
|
|
2426
|
-
}(),
|
|
2427
|
-
nextSearchResult: function() {
|
|
2428
|
-
var e = c(function* () {
|
|
2429
|
-
return yield a.next(), l(), s();
|
|
2430
|
-
});
|
|
2431
|
-
return function() {
|
|
2432
|
-
return e.apply(this, arguments);
|
|
2433
|
-
};
|
|
2434
|
-
}(),
|
|
2435
|
-
previousSearchResult: function() {
|
|
2436
|
-
var e = c(function* () {
|
|
2437
|
-
return yield a.previous(), l(), s();
|
|
2438
|
-
});
|
|
2439
|
-
return function() {
|
|
2440
|
-
return e.apply(this, arguments);
|
|
2441
|
-
};
|
|
2442
|
-
}(),
|
|
2443
|
-
getSearchState: o,
|
|
2444
|
-
collectDocumentAnchors: function() {
|
|
2445
|
-
var e = c(function* () {
|
|
2446
|
-
return yield u(), a.anchors.value;
|
|
2447
|
-
});
|
|
2448
|
-
return function() {
|
|
2449
|
-
return e.apply(this, arguments);
|
|
2450
|
-
};
|
|
2451
|
-
}(),
|
|
2452
|
-
scrollToAnchor: function() {
|
|
2453
|
-
var t = c(function* (t) {
|
|
2454
|
-
a.anchors.value.length || (yield u());
|
|
2455
|
-
let n = ee(e.value, t);
|
|
2456
|
-
return l(), n;
|
|
2457
|
-
});
|
|
2458
|
-
return function(e) {
|
|
2459
|
-
return t.apply(this, arguments);
|
|
2460
|
-
};
|
|
2461
|
-
}(),
|
|
2462
|
-
scrollToLine: function() {
|
|
2463
|
-
var t = c(function* (t) {
|
|
2464
|
-
a.anchors.value.length || (yield u());
|
|
2465
|
-
let n = ee(e.value, t);
|
|
2466
|
-
return l(), n;
|
|
2467
|
-
});
|
|
2468
|
-
return function(e) {
|
|
2469
|
-
return t.apply(this, arguments);
|
|
2470
|
-
};
|
|
2471
|
-
}(),
|
|
2472
|
-
getDocumentTextChunks: () => {
|
|
2473
|
-
var e;
|
|
2474
|
-
return _(a.anchors.value, (e = t()) == null ? void 0 : e.ai);
|
|
2475
|
-
}
|
|
2476
|
-
};
|
|
2477
|
-
}, Br = (e) => e.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">"), Vr = "\n * { box-sizing: border-box; }\n html, body { margin: 0; min-height: 100%; background: #f2f4f7; color: #172033; font-family: Aptos, \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif; print-color-adjust: exact; -webkit-print-color-adjust: exact; }\n body { padding: 24px; }\n .viewer-export-shell { position: relative; min-height: calc(100vh - 48px); overflow: visible; background: #f2f4f7; }\n .viewer-export-content { position: relative; z-index: 1; contain: none; width: 100%; min-height: 100%; overflow: visible; }\n .viewer-export-content .file-render,\n .viewer-export-content .file-viewer,\n .viewer-export-content .viewer-stage,\n .viewer-export-content .content,\n .viewer-export-content .pdf-shell,\n .viewer-export-content .pdf-content,\n .viewer-export-content .pdf-viewport,\n .viewer-export-content .pdf-wrapper,\n .viewer-export-content .docx-fit-viewer,\n .viewer-export-content .docx-wrapper,\n .viewer-export-content .msdoc-stage,\n .viewer-export-content .code-viewer,\n .viewer-export-content .markdown-viewer,\n .viewer-export-content .email-shell,\n .viewer-export-content .archive-shell,\n .viewer-export-content .eda-shell,\n .viewer-export-content .ebook-shell,\n .viewer-export-content .umd-shell,\n .viewer-export-content .drawing-shell,\n .viewer-export-content .audio-shell,\n .viewer-export-content .cad-shell,\n .viewer-export-content .cad-body,\n .viewer-export-content .cad-canvas-wrap,\n .viewer-export-content .dwg-preview-frame {\n position: relative !important;\n inset: auto !important;\n contain: none !important;\n width: 100% !important;\n height: auto !important;\n min-height: 0 !important;\n max-height: none !important;\n overflow: visible !important;\n }\n .viewer-export-content .docx-wrapper {\n display: block !important;\n padding: 0 !important;\n background: transparent !important;\n }\n .viewer-export-content .docx-print-document {\n display: block !important;\n width: fit-content !important;\n max-width: 100% !important;\n height: auto !important;\n overflow: visible !important;\n margin: 0 auto !important;\n }\n .viewer-export-content .docx-page-frame {\n position: relative !important;\n width: var(--viewer-print-page-width, fit-content) !important;\n height: var(--viewer-print-page-height, auto) !important;\n min-height: var(--viewer-print-page-height, 0) !important;\n max-width: 100% !important;\n margin: 0 auto 18px !important;\n overflow: hidden !important;\n break-inside: avoid;\n page-break-inside: avoid;\n break-after: page;\n page-break-after: always;\n }\n .viewer-export-content .msdoc-page {\n position: relative !important;\n width: var(--viewer-print-page-width, 794px) !important;\n min-height: var(--viewer-print-page-height, 1123px) !important;\n max-width: 100% !important;\n height: auto !important;\n margin: 0 auto 18px !important;\n overflow: visible !important;\n break-after: page;\n page-break-after: always;\n }\n .viewer-export-content .docx-page-frame:last-child,\n .viewer-export-content .msdoc-page:last-child {\n break-after: auto;\n page-break-after: auto;\n }\n .viewer-export-content .docx-page-frame > section.docx {\n position: relative !important;\n top: auto !important;\n left: auto !important;\n width: var(--viewer-print-page-width, auto) !important;\n min-height: var(--viewer-print-page-height, auto) !important;\n max-width: none !important;\n margin: 0 auto !important;\n overflow: visible !important;\n transform: none !important;\n box-shadow: none !important;\n break-inside: avoid;\n page-break-inside: avoid;\n }\n .viewer-export-content .msdoc-stage {\n display: block !important;\n padding: 0 !important;\n background: transparent !important;\n }\n .viewer-export-content .msdoc-page > .msdoc-root {\n margin: 0 auto !important;\n box-shadow: none !important;\n overflow: visible !important;\n }\n .viewer-export-content .pdf-toolbar,\n .viewer-export-content .pdf-nav-pane,\n .viewer-export-content .viewer-actions,\n .viewer-export-content .code-toolbar,\n .viewer-export-content .umd-toolbar,\n .viewer-export-content .drawing-toolbar,\n .viewer-export-content .cad-toolbar {\n display: none !important;\n }\n .viewer-export-content .pdf-content,\n .viewer-export-content .pdf-shell--nav-hidden .pdf-content,\n .viewer-export-content .cad-body.without-layers {\n display: block !important;\n grid-template-columns: none !important;\n }\n .viewer-export-content .pdfViewer { padding: 0 !important; }\n .viewer-export-content .pdfViewer .page {\n margin: 0 auto 16px !important;\n border: 0 !important;\n box-shadow: none !important;\n break-after: page;\n page-break-after: always;\n }\n .viewer-export-content .pdfViewer .page:last-child {\n break-after: auto;\n page-break-after: auto;\n }\n .viewer-export-content .pdf-export-document {\n display: grid;\n justify-items: center;\n gap: 18px;\n padding: 4px 0;\n }\n .viewer-export-content .pdf-export-page {\n width: var(--viewer-print-page-width, auto);\n height: var(--viewer-print-page-height, auto);\n max-width: 100%;\n overflow: hidden;\n background: #ffffff;\n box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);\n break-inside: avoid;\n page-break-inside: avoid;\n break-after: page;\n page-break-after: always;\n }\n .viewer-export-content .pdf-export-page:last-child {\n break-after: auto;\n page-break-after: auto;\n }\n .viewer-export-content .pdf-export-page img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n .viewer-export-content .pptx-wrapper {\n width: 100% !important;\n max-width: 100% !important;\n height: auto !important;\n overflow: visible !important;\n transform: none !important;\n }\n .viewer-export-content .pptx-wrapper .slide {\n margin: 0 auto 18px !important;\n break-inside: avoid;\n page-break-inside: avoid;\n break-after: page;\n page-break-after: always;\n box-shadow: none !important;\n }\n .viewer-export-content .pptx-wrapper .slide:last-child {\n break-after: auto;\n page-break-after: auto;\n }\n .viewer-export-content .ofd-stage {\n padding: 0 !important;\n overflow: visible !important;\n }\n .viewer-export-content .ofd-page,\n .viewer-export-content .drawing-svg,\n .viewer-export-content .cad-canvas-wrap,\n .viewer-export-content .dwg-preview-frame {\n break-inside: avoid;\n page-break-inside: avoid;\n break-after: page;\n page-break-after: always;\n box-shadow: none !important;\n }\n .viewer-export-content .ofd-page:last-child,\n .viewer-export-content .drawing-svg:last-child,\n .viewer-export-content .cad-canvas-wrap:last-child,\n .viewer-export-content .dwg-preview-frame:last-child {\n break-after: auto;\n page-break-after: auto;\n }\n .viewer-export-content .code-area {\n overflow: visible !important;\n white-space: pre-wrap !important;\n word-break: break-word !important;\n }\n .viewer-export-content .umd-body,\n .viewer-export-content .umd-stage-wrap,\n .viewer-export-content .umd-stage {\n display: block !important;\n height: auto !important;\n max-height: none !important;\n overflow: visible !important;\n }\n .viewer-export-content .umd-toc {\n display: none !important;\n }\n img, canvas, svg, video { max-width: 100%; }\n @media print {\n @page { margin: 12mm; }\n html, body { min-height: auto; background: #ffffff; }\n body { padding: 0; }\n .viewer-export-shell,\n .viewer-export-content {\n min-height: 0;\n overflow: visible;\n background: #ffffff;\n }\n .viewer-export-content .pdf-export-document {\n display: block;\n padding: 0;\n }\n .viewer-export-content .pdf-export-page {\n width: var(--viewer-print-page-width, auto) !important;\n height: var(--viewer-print-page-height, auto) !important;\n max-width: none !important;\n margin: 0;\n overflow: hidden;\n box-shadow: none;\n }\n .viewer-export-content .docx-page-frame {\n width: var(--viewer-print-page-width, auto) !important;\n height: var(--viewer-print-page-height, auto) !important;\n min-height: var(--viewer-print-page-height, 0) !important;\n max-width: none !important;\n margin: 0 !important;\n overflow: hidden !important;\n }\n .viewer-export-content .msdoc-page {\n width: var(--viewer-print-page-width, 794px) !important;\n min-height: var(--viewer-print-page-height, 1123px) !important;\n max-width: none !important;\n margin: 0 !important;\n overflow: visible !important;\n }\n .viewer-export-content .docx-page-frame > section.docx,\n .viewer-export-content .msdoc-page > .msdoc-root {\n width: var(--viewer-print-page-width, 100%) !important;\n max-width: none !important;\n border: 0 !important;\n }\n .viewer-export-content .pptx-wrapper .slide,\n .viewer-export-content .ofd-page,\n .viewer-export-content .drawing-svg,\n .viewer-export-content .cad-canvas-wrap,\n .viewer-export-content .dwg-preview-frame {\n box-shadow: none !important;\n }\n }\n", Hr = () => Array.from(document.querySelectorAll("style, link[rel=\"stylesheet\"]")).map((e) => e instanceof HTMLStyleElement ? `<style>${e.textContent || ""}</style>` : e.href ? `<link rel="stylesheet" href="${Br(e.href)}" />` : "").filter(Boolean).join("\n"), Ur = ({ contentHtml: e, includeDocumentStyles: t = !0, printStyle: n = "", title: r, watermarkInlineStyle: i = "" }) => {
|
|
2478
|
-
let a = i ? `<div class="viewer-export-watermark" style="${i}"></div>` : "", o = t ? Hr() : "", s = n ? `<style data-viewer-print-style>${n}</style>` : "";
|
|
2479
|
-
return `<!doctype html>
|
|
2480
|
-
<html lang="zh-CN">
|
|
2481
|
-
<head>
|
|
2482
|
-
<meta charset="utf-8" />
|
|
2483
|
-
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
|
2484
|
-
<title>${Br(r)}</title>
|
|
2485
|
-
${o}
|
|
2486
|
-
<style>${Vr}</style>
|
|
2487
|
-
</head>
|
|
2488
|
-
<body>
|
|
2489
|
-
<main class="viewer-export-shell">
|
|
2490
|
-
<div class="viewer-export-content">${e}</div>
|
|
2491
|
-
${a}
|
|
2492
|
-
</main>
|
|
2493
|
-
${s}
|
|
2494
|
-
</body>
|
|
2495
|
-
</html>`;
|
|
2496
|
-
};
|
|
2497
|
-
//#endregion
|
|
2498
|
-
//#region src/package/components/FileViewer/hooks/useViewerExport.ts
|
|
2499
|
-
s();
|
|
2500
|
-
var Wr = (e, t) => {
|
|
2501
|
-
let n = URL.createObjectURL(e), r = document.createElement("a");
|
|
2502
|
-
r.href = n, r.download = t, r.rel = "noopener", document.body.appendChild(r), r.click(), r.remove(), window.setTimeout(() => URL.revokeObjectURL(n), 4e3);
|
|
2503
|
-
}, Gr = (e, t) => {
|
|
2504
|
-
let n = document.createElement("a");
|
|
2505
|
-
n.href = e, n.download = t, n.rel = "noopener", n.target = "_blank", document.body.appendChild(n), n.click(), n.remove();
|
|
2506
|
-
}, Kr = (e, t) => {
|
|
2507
|
-
let n = Array.from(e.querySelectorAll("canvas"));
|
|
2508
|
-
Array.from(t.querySelectorAll("canvas")).forEach((e, t) => {
|
|
2509
|
-
let r = n[t];
|
|
2510
|
-
if (r) try {
|
|
2511
|
-
let t = document.createElement("img");
|
|
2512
|
-
t.src = r.toDataURL("image/png"), t.alt = "rendered canvas", t.style.maxWidth = "100%", t.style.display = "block", t.style.margin = "0 auto", e.replaceWith(t);
|
|
2513
|
-
} catch (e) {}
|
|
2514
|
-
});
|
|
2515
|
-
}, qr = () => new Promise((e) => {
|
|
2516
|
-
window.requestAnimationFrame(() => {
|
|
2517
|
-
window.requestAnimationFrame(() => e());
|
|
2518
|
-
});
|
|
2519
|
-
}), Jr = function() {
|
|
2520
|
-
var e = c(function* (e) {
|
|
2521
|
-
let t = Array.from(e.querySelectorAll("img"));
|
|
2522
|
-
yield Promise.all(t.map(function() {
|
|
2523
|
-
var e = c(function* (e) {
|
|
2524
|
-
if (!e.complete) {
|
|
2525
|
-
if ("decode" in e) try {
|
|
2526
|
-
yield e.decode();
|
|
2527
|
-
return;
|
|
2528
|
-
} catch (e) {}
|
|
2529
|
-
yield new Promise((t) => {
|
|
2530
|
-
e.addEventListener("load", () => t(), { once: !0 }), e.addEventListener("error", () => t(), { once: !0 });
|
|
2531
|
-
});
|
|
2532
|
-
}
|
|
2533
|
-
});
|
|
2534
|
-
return function(t) {
|
|
2535
|
-
return e.apply(this, arguments);
|
|
2536
|
-
};
|
|
2537
|
-
}()));
|
|
2538
|
-
});
|
|
2539
|
-
return function(t) {
|
|
2540
|
-
return e.apply(this, arguments);
|
|
2541
|
-
};
|
|
2542
|
-
}(), Yr = function() {
|
|
2543
|
-
var e = c(function* (e) {
|
|
2544
|
-
let { document: t } = e;
|
|
2545
|
-
t.readyState !== "complete" && (yield new Promise((t) => {
|
|
2546
|
-
e.addEventListener("load", () => t(), { once: !0 }), e.setTimeout(() => t(), 1200);
|
|
2547
|
-
})), yield Promise.all(Array.from(t.images).map(function() {
|
|
2548
|
-
var t = c(function* (t) {
|
|
2549
|
-
if (!t.complete) {
|
|
2550
|
-
if ("decode" in t) try {
|
|
2551
|
-
yield t.decode();
|
|
2552
|
-
return;
|
|
2553
|
-
} catch (e) {}
|
|
2554
|
-
yield new Promise((n) => {
|
|
2555
|
-
t.addEventListener("load", () => n(), { once: !0 }), t.addEventListener("error", () => n(), { once: !0 }), e.setTimeout(() => n(), 1500);
|
|
2556
|
-
});
|
|
2557
|
-
}
|
|
2558
|
-
});
|
|
2559
|
-
return function(e) {
|
|
2560
|
-
return t.apply(this, arguments);
|
|
2561
|
-
};
|
|
2562
|
-
}())), yield new Promise((t) => {
|
|
2563
|
-
e.requestAnimationFrame(() => {
|
|
2564
|
-
e.requestAnimationFrame(() => t());
|
|
2565
|
-
});
|
|
2566
|
-
});
|
|
2567
|
-
});
|
|
2568
|
-
return function(t) {
|
|
2569
|
-
return e.apply(this, arguments);
|
|
2570
|
-
};
|
|
2571
|
-
}(), Xr = function() {
|
|
2572
|
-
var e = c(function* (e, t) {
|
|
2573
|
-
return t.mode !== "print" || !(e != null && e.printStyle) ? "" : typeof e.printStyle == "function" ? yield e.printStyle(t) : e.printStyle;
|
|
2574
|
-
});
|
|
2575
|
-
return function(t, n) {
|
|
2576
|
-
return e.apply(this, arguments);
|
|
2577
|
-
};
|
|
2578
|
-
}(), Zr = ({ activeExportAdapter: e, currentBuffer: t, currentFile: n, currentSourceUrl: r, displayFilename: i, formatErrorMessage: a, operationAvailability: o, output: s, runBeforeOperation: l, showError: u, watermarkInlineStyle: d }) => {
|
|
2579
|
-
let f = function() {
|
|
2580
|
-
var t = c(function* (t) {
|
|
2581
|
-
var n, r;
|
|
2582
|
-
yield (n = e.value) == null || (r = n.beforeSnapshot) == null ? void 0 : r.call(n), yield qr(), yield Jr(t);
|
|
2583
|
-
});
|
|
2584
|
-
return function(e) {
|
|
2585
|
-
return t.apply(this, arguments);
|
|
2586
|
-
};
|
|
2587
|
-
}(), p = function() {
|
|
2588
|
-
var t = c(function* (t = "export") {
|
|
2589
|
-
let n = s.value;
|
|
2590
|
-
if (!n) throw Error("当前没有可导出的预览内容");
|
|
2591
|
-
let r = i.value || "file-viewer-preview", a = e.value, o = {
|
|
2592
|
-
mode: t,
|
|
2593
|
-
title: r
|
|
2594
|
-
}, c = a == null ? void 0 : a.toHtml;
|
|
2595
|
-
if (c) {
|
|
2596
|
-
let e = yield c(o), t = yield Xr(a, o);
|
|
2597
|
-
return Ur({
|
|
2598
|
-
contentHtml: e,
|
|
2599
|
-
includeDocumentStyles: a.includeDocumentStyles !== !1,
|
|
2600
|
-
printStyle: t,
|
|
2601
|
-
title: r,
|
|
2602
|
-
watermarkInlineStyle: d.value
|
|
2603
|
-
});
|
|
2604
|
-
}
|
|
2605
|
-
yield f(n);
|
|
2606
|
-
let l = n.cloneNode(!0);
|
|
2607
|
-
Kr(n, l);
|
|
2608
|
-
let u = yield Xr(a, o);
|
|
2609
|
-
return Ur({
|
|
2610
|
-
contentHtml: l.innerHTML,
|
|
2611
|
-
printStyle: u,
|
|
2612
|
-
title: r,
|
|
2613
|
-
watermarkInlineStyle: d.value
|
|
2614
|
-
});
|
|
2615
|
-
});
|
|
2616
|
-
return function() {
|
|
2617
|
-
return t.apply(this, arguments);
|
|
2618
|
-
};
|
|
2619
|
-
}();
|
|
2620
|
-
return {
|
|
2621
|
-
downloadOriginalFile: function() {
|
|
2622
|
-
var e = c(function* () {
|
|
2623
|
-
let e = t.value, a = n.value, o = r.value;
|
|
2624
|
-
if (!((!e || !a) && !o) && (yield l("download"))) {
|
|
2625
|
-
if (e && a) {
|
|
2626
|
-
Wr(new Blob([e], { type: a.type || "application/octet-stream" }), a.name || "preview.bin");
|
|
2627
|
-
return;
|
|
2628
|
-
}
|
|
2629
|
-
Gr(o, i.value || "preview.bin");
|
|
2630
|
-
}
|
|
2631
|
-
});
|
|
2632
|
-
return function() {
|
|
2633
|
-
return e.apply(this, arguments);
|
|
2634
|
-
};
|
|
2635
|
-
}(),
|
|
2636
|
-
exportRenderedHtml: function() {
|
|
2637
|
-
var e = c(function* () {
|
|
2638
|
-
try {
|
|
2639
|
-
if (!(yield l("export-html"))) return;
|
|
2640
|
-
let e = yield p("export"), t = i.value || "preview";
|
|
2641
|
-
Wr(new Blob([e], { type: "text/html;charset=utf-8" }), `${t}.rendered.html`);
|
|
2642
|
-
} catch (e) {
|
|
2643
|
-
u(a("导出 HTML 失败", e));
|
|
2644
|
-
}
|
|
2645
|
-
});
|
|
2646
|
-
return function() {
|
|
2647
|
-
return e.apply(this, arguments);
|
|
2648
|
-
};
|
|
2649
|
-
}(),
|
|
2650
|
-
printRenderedHtml: function() {
|
|
2651
|
-
var e = c(function* () {
|
|
2652
|
-
try {
|
|
2653
|
-
if (!o.value.print) throw Error("当前文件类型不支持完整打印,请下载原文件后在本地应用中打印");
|
|
2654
|
-
if (!(yield l("print"))) return;
|
|
2655
|
-
let e = yield p("print"), t = window.open("", "_blank");
|
|
2656
|
-
if (!t) throw Error("浏览器拦截了打印窗口");
|
|
2657
|
-
t.document.open(), t.document.write(e), t.document.close(), t.focus(), yield Yr(t), t.print();
|
|
2658
|
-
} catch (e) {
|
|
2659
|
-
u(a("打印失败", e));
|
|
2660
|
-
}
|
|
2661
|
-
});
|
|
2662
|
-
return function() {
|
|
2663
|
-
return e.apply(this, arguments);
|
|
2664
|
-
};
|
|
2665
|
-
}()
|
|
2666
|
-
};
|
|
2667
|
-
};
|
|
2668
|
-
//#endregion
|
|
2669
|
-
//#region src/package/components/FileViewer/hooks/useViewerWatermark.ts
|
|
2670
|
-
a();
|
|
2671
|
-
var Qr = (e) => e.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">"), $r = (e) => `url("data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}")`, $ = (e, t, n, r) => Math.min(r, Math.max(n, typeof e == "number" && Number.isFinite(e) ? e : t)), ei = (e) => e ? e === !0 ? {
|
|
2672
|
-
enabled: !0,
|
|
2673
|
-
text: "Flyfish Viewer"
|
|
2674
|
-
} : e.enabled === !1 || !e.text && !e.image ? null : o({ enabled: !0 }, e) : null, ti = (e) => {
|
|
2675
|
-
let t = $(e.gapX, 260, 96, 800), n = $(e.gapY, 180, 80, 800), r = $(e.width, e.image ? 160 : 220, 32, t), i = $(e.height, (e.image, 72), 24, n), a = $(e.rotate, -24, -75, 75), o = $(e.opacity, .18, .02, .8), s = (t - r) / 2, c = (n - i) / 2, l = t / 2, u = n / 2;
|
|
2676
|
-
if (e.image) return `<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${n}" viewBox="0 0 ${t} ${n}"><g opacity="${o}" transform="rotate(${a} ${l} ${u})"><image href="${Qr(e.image)}" x="${s}" y="${c}" width="${r}" height="${i}" preserveAspectRatio="xMidYMid meet"/></g></svg>`;
|
|
2677
|
-
let d = Qr(e.text || "Flyfish Viewer"), f = $(e.fontSize, 20, 10, 72);
|
|
2678
|
-
return `<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${n}" viewBox="0 0 ${t} ${n}"><g opacity="${o}" transform="rotate(${a} ${l} ${u})"><text x="${l}" y="${u}" text-anchor="middle" dominant-baseline="middle" fill="${Qr(e.color || "#355070")}" font-family="${Qr(e.fontFamily || "Aptos, 'Segoe UI', sans-serif")}" font-size="${f}" font-weight="700">${d}</text></g></svg>`;
|
|
2679
|
-
}, ni = (e) => {
|
|
2680
|
-
let t = S(() => ei(e()));
|
|
2681
|
-
return {
|
|
2682
|
-
normalizedWatermark: t,
|
|
2683
|
-
watermarkStyle: S(() => {
|
|
2684
|
-
let e = t.value;
|
|
2685
|
-
if (e) return { backgroundImage: $r(ti(e)) };
|
|
2686
|
-
}),
|
|
2687
|
-
watermarkInlineStyle: S(() => {
|
|
2688
|
-
let e = t.value;
|
|
2689
|
-
return e ? `position:absolute;inset:0;pointer-events:none;background-image:${$r(ti(e))};background-repeat:repeat;z-index:20;` : "";
|
|
2690
|
-
})
|
|
2691
|
-
};
|
|
2692
|
-
};
|
|
2693
|
-
//#endregion
|
|
2694
|
-
//#region src/package/components/FileViewer/hooks/useViewerZoom.ts
|
|
2695
|
-
a();
|
|
2696
|
-
var ri = ({ output: e, enabled: t, runBeforeOperation: n }) => {
|
|
2697
|
-
let r = y({
|
|
2698
|
-
root: e,
|
|
2699
|
-
enabled: t,
|
|
2700
|
-
beforeZoom: (e) => n(e)
|
|
2701
|
-
});
|
|
2702
|
-
return o(o({}, r), {}, { getZoomState: () => ({
|
|
2703
|
-
scale: r.zoomState.scale,
|
|
2704
|
-
label: r.zoomState.label,
|
|
2705
|
-
canZoomIn: r.zoomState.canZoomIn,
|
|
2706
|
-
canZoomOut: r.zoomState.canZoomOut,
|
|
2707
|
-
canReset: r.zoomState.canReset,
|
|
2708
|
-
minScale: r.zoomState.minScale,
|
|
2709
|
-
maxScale: r.zoomState.maxScale
|
|
2710
|
-
}) });
|
|
2711
|
-
};
|
|
2712
|
-
t(), a(), s();
|
|
2713
|
-
var ii = ["file"], ai = ["phase"], oi = ["data-viewer-theme"], si = { class: "viewer-stage" }, ci = ["data-toolbar-position"], li = {
|
|
2714
|
-
key: 0,
|
|
2715
|
-
class: "viewer-actions-group viewer-zoom-actions",
|
|
2716
|
-
"aria-label": "缩放控制"
|
|
2717
|
-
}, ui = ["disabled"], di = ["disabled"], fi = ["disabled"], pi = ["disabled"], mi = ["disabled"], hi = ["disabled"], gi = ["disabled"], _i = { class: "viewer-content-shell" }, vi = {
|
|
2718
|
-
key: 1,
|
|
2719
|
-
class: "state-panel loading-panel"
|
|
2720
|
-
}, yi = { class: "loading-card" }, bi = { class: "loading-icon" }, xi = { class: "loading-copy" }, Si = { class: "loading-kicker" }, Ci = {
|
|
2721
|
-
key: 2,
|
|
2722
|
-
class: "state-panel error-panel"
|
|
2723
|
-
}, wi = { class: "error-card" }, Ti = /* @__PURE__ */ x(/* @__PURE__ */ E({
|
|
2724
|
-
__name: "FileViewer",
|
|
2725
|
-
props: {
|
|
2726
|
-
file: {},
|
|
2727
|
-
url: {},
|
|
2728
|
-
options: {}
|
|
2729
|
-
},
|
|
2730
|
-
emits: [
|
|
2731
|
-
"load-start",
|
|
2732
|
-
"load-complete",
|
|
2733
|
-
"unload-start",
|
|
2734
|
-
"unload-complete",
|
|
2735
|
-
"operation-before",
|
|
2736
|
-
"operation-cancel",
|
|
2737
|
-
"operation-availability-change",
|
|
2738
|
-
"search-change",
|
|
2739
|
-
"location-change",
|
|
2740
|
-
"zoom-change"
|
|
2741
|
-
],
|
|
2742
|
-
setup(e, { expose: t, emit: r }) {
|
|
2743
|
-
let i = e, a = r, s = {
|
|
2744
|
-
downloading: "正在下载文件资源...",
|
|
2745
|
-
streamingPdf: "正在建立 PDF 流式预览...",
|
|
2746
|
-
reading: "正在解析文件内容..."
|
|
2747
|
-
}, l = ae(""), u = ae(null), f = ae(null), p = ae(null), g = ae(null), { refreshDocumentIndex: _, clearDocumentState: ee, getScrollContainer: v, searchDocument: y, clearDocumentSearch: b, nextSearchResult: te, previousSearchResult: x, getSearchState: E, collectDocumentAnchors: D, scrollToAnchor: O, scrollToLine: le, getDocumentTextChunks: ue } = zr({
|
|
2748
|
-
output: u,
|
|
2749
|
-
getOptions: () => i.options,
|
|
2750
|
-
emitSearchChange: (e) => a("search-change", e),
|
|
2751
|
-
emitLocationChange: (e) => a("location-change", e)
|
|
2752
|
-
}), de = S(() => Ae()), fe = S(() => {
|
|
2753
|
-
let e = de.value;
|
|
2754
|
-
return !e || !e.includes(".") ? "" : jr(e).toLowerCase();
|
|
2755
|
-
}), pe = S(() => {
|
|
2756
|
-
var e;
|
|
2757
|
-
let t = (e = i.options) == null ? void 0 : e.toolbar;
|
|
2758
|
-
return t === !1 ? {
|
|
2759
|
-
download: !1,
|
|
2760
|
-
print: !1,
|
|
2761
|
-
exportHtml: !1,
|
|
2762
|
-
zoom: !1
|
|
2763
|
-
} : t && typeof t == "object" ? {
|
|
2764
|
-
download: t.download !== !1,
|
|
2765
|
-
print: t.print !== !1,
|
|
2766
|
-
exportHtml: t.exportHtml !== !1,
|
|
2767
|
-
zoom: t.zoom !== !1
|
|
2768
|
-
} : {
|
|
2769
|
-
download: !0,
|
|
2770
|
-
print: !0,
|
|
2771
|
-
exportHtml: !0,
|
|
2772
|
-
zoom: !0
|
|
2773
|
-
};
|
|
2774
|
-
}), me = S(() => {
|
|
2775
|
-
var e;
|
|
2776
|
-
let t = (e = i.options) == null ? void 0 : e.theme;
|
|
2777
|
-
return t === "light" || t === "dark" ? t : "system";
|
|
2778
|
-
}), N = oe(null), P = ae(!1), F = ae(!1), { watermarkStyle: I, watermarkInlineStyle: he } = ni(() => {
|
|
2779
|
-
var e;
|
|
2780
|
-
return (e = i.options) == null ? void 0 : e.watermark;
|
|
2781
|
-
}), { loading: L, error: ge, message: _e, theme: ve, styleVars: R, startLoading: ye, setLoadingMessage: be, stopLoading: xe, showError: z, clearError: Se, resetLoading: Ce } = h(fe), we, Te = null, Ee = 0, B = null, V = /* @__PURE__ */ new Map(), De = {
|
|
2782
|
-
"load-start": "onLoadStart",
|
|
2783
|
-
"load-complete": "onLoadComplete",
|
|
2784
|
-
"unload-start": "onUnloadStart",
|
|
2785
|
-
"unload-complete": "onUnloadComplete"
|
|
2786
|
-
}, Oe = {
|
|
2787
|
-
download: "下载原始文件",
|
|
2788
|
-
print: "打印完整渲染内容",
|
|
2789
|
-
"export-html": "导出渲染 HTML",
|
|
2790
|
-
"zoom-in": "放大预览",
|
|
2791
|
-
"zoom-out": "缩小预览",
|
|
2792
|
-
"zoom-reset": "还原预览比例"
|
|
2793
|
-
}, H = (e) => {
|
|
2794
|
-
try {
|
|
2795
|
-
return decodeURIComponent(e);
|
|
2796
|
-
} catch (t) {
|
|
2797
|
-
return e;
|
|
2798
|
-
}
|
|
2799
|
-
}, ke = (e) => {
|
|
2800
|
-
var t;
|
|
2801
|
-
let n = ((t = e.split("?")[0]) == null ? void 0 : t.split("#")[0]) || e;
|
|
2802
|
-
return H(n.substring(n.lastIndexOf("/") + 1) || n);
|
|
2803
|
-
}, Ae = () => l.value ? l.value : i.file instanceof File && i.file.name ? H(i.file.name) : typeof i.url == "string" && i.url ? ke(i.url) : "", je = (e) => {
|
|
2804
|
-
let t = e.lastIndexOf(".");
|
|
2805
|
-
return t >= 0 ? e.substring(t + 1).toLowerCase() : "";
|
|
2806
|
-
}, Me = (e) => {
|
|
2807
|
-
let { file: t } = e;
|
|
2808
|
-
return o(o({}, n(e, ii)), {}, { hasFile: !!e.file });
|
|
2809
|
-
}, Ne = (e, t, n) => {
|
|
2810
|
-
typeof window > "u" || window.parent === window || window.parent.postMessage({
|
|
2811
|
-
type: e,
|
|
2812
|
-
event: t,
|
|
2813
|
-
payload: Me(n)
|
|
2814
|
-
}, "*");
|
|
2815
|
-
}, Pe = (e) => {
|
|
2816
|
-
typeof window > "u" || window.parent === window || window.parent.postMessage({
|
|
2817
|
-
type: "flyfish-viewer:operation",
|
|
2818
|
-
event: "operation-availability-change",
|
|
2819
|
-
payload: e
|
|
2820
|
-
}, "*");
|
|
2821
|
-
}, Fe = (e) => {
|
|
2822
|
-
typeof window > "u" || window.parent === window || window.parent.postMessage({
|
|
2823
|
-
type: "flyfish-viewer:operation",
|
|
2824
|
-
event: "zoom-change",
|
|
2825
|
-
payload: e
|
|
2826
|
-
}, "*");
|
|
2827
|
-
}, Ie = ({ phase: e, version: t, source: n, file: r, sourceUrl: i, reason: a }) => {
|
|
2828
|
-
var o, s;
|
|
2829
|
-
let c = H((r == null ? void 0 : r.name) || l.value || (i ? ke(i) : "")), u = V.get(t), d = Date.now();
|
|
2830
|
-
return {
|
|
2831
|
-
phase: e,
|
|
2832
|
-
type: je(c),
|
|
2833
|
-
filename: c,
|
|
2834
|
-
source: n,
|
|
2835
|
-
url: i,
|
|
2836
|
-
file: r || void 0,
|
|
2837
|
-
size: (o = r == null ? void 0 : r.size) == null ? (s = p.value) == null ? void 0 : s.byteLength : o,
|
|
2838
|
-
version: t,
|
|
2839
|
-
timestamp: d,
|
|
2840
|
-
duration: e === "load-complete" && u ? d - u : void 0,
|
|
2841
|
-
reason: a
|
|
2842
|
-
};
|
|
2843
|
-
}, U = (e) => {
|
|
2844
|
-
var t;
|
|
2845
|
-
e.phase === "load-start" ? a("load-start", e) : e.phase === "load-complete" ? a("load-complete", e) : e.phase === "unload-start" ? a("unload-start", e) : a("unload-complete", e);
|
|
2846
|
-
let n = (t = i.options) == null || (t = t.hooks) == null ? void 0 : t[De[e.phase]];
|
|
2847
|
-
n && Promise.resolve(n(e)).catch((t) => {
|
|
2848
|
-
console.error(`FileViewer ${e.phase} hook failed`, t);
|
|
2849
|
-
}), Ne("flyfish-viewer:lifecycle", e.phase, e);
|
|
2850
|
-
}, Le = (e) => {
|
|
2851
|
-
let t = Te || Ie({
|
|
2852
|
-
phase: "load-complete",
|
|
2853
|
-
version: Ee,
|
|
2854
|
-
source: i.file ? "file" : i.url ? "url" : "empty",
|
|
2855
|
-
file: f.value,
|
|
2856
|
-
sourceUrl: i.url
|
|
2857
|
-
}), { phase: r } = t;
|
|
2858
|
-
return o(o({}, n(t, ai)), {}, {
|
|
2859
|
-
operation: e,
|
|
2860
|
-
label: Oe[e],
|
|
2861
|
-
timestamp: Date.now()
|
|
2862
|
-
});
|
|
2863
|
-
}, W = (e) => {
|
|
2864
|
-
var t;
|
|
2865
|
-
let n = (t = i.options) == null ? void 0 : t.toolbar;
|
|
2866
|
-
if (!n || typeof n != "object") return [];
|
|
2867
|
-
let r = e === "download" ? n.beforeDownload : e === "print" ? n.beforePrint : e === "export-html" ? n.beforeExportHtml : void 0;
|
|
2868
|
-
return [n.beforeOperation, r];
|
|
2869
|
-
}, Re = function() {
|
|
2870
|
-
var e = c(function* (e) {
|
|
2871
|
-
var t;
|
|
2872
|
-
let n = Le(e);
|
|
2873
|
-
a("operation-before", n), Ne("flyfish-viewer:operation", "operation-before", n);
|
|
2874
|
-
let r = [(t = i.options) == null ? void 0 : t.beforeOperation, ...W(e)];
|
|
2875
|
-
try {
|
|
2876
|
-
for (let e of r) if (e && (yield e(n)) === !1) return a("operation-cancel", n), Ne("flyfish-viewer:operation", "operation-cancel", n), !1;
|
|
2877
|
-
} catch (e) {
|
|
2878
|
-
return console.error(e), z(Ue("操作前置校验失败", e)), a("operation-cancel", n), Ne("flyfish-viewer:operation", "operation-cancel", n), !1;
|
|
2879
|
-
}
|
|
2880
|
-
return !0;
|
|
2881
|
-
});
|
|
2882
|
-
return function(t) {
|
|
2883
|
-
return e.apply(this, arguments);
|
|
2884
|
-
};
|
|
2885
|
-
}(), ze = (e = "replace") => (Ee += 1, B == null || B.abort(), B = null, ot(e), f.value = null, p.value = null, g.value = null, F.value = !1, Se(), Ee), G = (e) => e === Ee, Be = (e) => {
|
|
2886
|
-
G(e) && xe();
|
|
2887
|
-
}, Ve = () => new Promise((e) => {
|
|
2888
|
-
if (typeof window > "u" || typeof window.requestAnimationFrame != "function") {
|
|
2889
|
-
setTimeout(e, 0);
|
|
2890
|
-
return;
|
|
2891
|
-
}
|
|
2892
|
-
window.requestAnimationFrame(() => {
|
|
2893
|
-
window.requestAnimationFrame(() => e());
|
|
2894
|
-
});
|
|
2895
|
-
}), He = (e) => Q.isCancel(e) || e instanceof DOMException && e.name === "AbortError" ? !0 : typeof e == "object" && !!e && "code" in e && e.code === "ERR_CANCELED", Ue = (e, t) => t instanceof Error ? `${e}:${t.message}` : `${e}:${String(t)}`, { zoomState: K, refreshZoomProvider: We, startZoomObserver: Ge, stopZoomObserver: Ke, clearZoomProvider: qe, zoomIn: Je, zoomOut: Ye, resetZoom: Xe, getZoomState: Ze } = ri({
|
|
2896
|
-
output: u,
|
|
2897
|
-
enabled: () => !0,
|
|
2898
|
-
runBeforeOperation: Re
|
|
2899
|
-
}), Qe = S(() => {
|
|
2900
|
-
let e = !!p.value || !!g.value, t = P.value && !ge.value, n = N.value, r = t && (K.canZoomIn || K.canZoomOut || K.canReset);
|
|
2901
|
-
return {
|
|
2902
|
-
download: e,
|
|
2903
|
-
print: t && Dr(fe.value, n, P.value),
|
|
2904
|
-
exportHtml: t && (n == null ? void 0 : n.exportHtml) !== !1,
|
|
2905
|
-
zoom: r,
|
|
2906
|
-
zoomIn: r && K.canZoomIn,
|
|
2907
|
-
zoomOut: r && K.canZoomOut,
|
|
2908
|
-
zoomReset: r && K.canReset
|
|
2909
|
-
};
|
|
2910
|
-
}), $e = S(() => {
|
|
2911
|
-
let e = pe.value, t = Qe.value;
|
|
2912
|
-
return {
|
|
2913
|
-
download: e.download && t.download,
|
|
2914
|
-
print: e.print && t.print,
|
|
2915
|
-
exportHtml: e.exportHtml && t.exportHtml,
|
|
2916
|
-
zoom: e.zoom && t.zoom
|
|
2917
|
-
};
|
|
2918
|
-
}), et = S(() => {
|
|
2919
|
-
let e = $e.value;
|
|
2920
|
-
return e.download || e.print || e.exportHtml || e.zoom;
|
|
2921
|
-
}), tt = S(() => {
|
|
2922
|
-
var e;
|
|
2923
|
-
let t = (e = i.options) == null ? void 0 : e.toolbar, n = t && typeof t == "object" ? t.position : "auto";
|
|
2924
|
-
return n === "top" || n === "bottom-right" ? n : fe.value === "pdf" ? "bottom-right" : "top";
|
|
2925
|
-
}), nt = S(() => L.value || !!ge.value), rt = (e) => nt.value || !Qe.value.zoom || !K[e], it = (e, t) => {
|
|
2926
|
-
if (e instanceof File) return e;
|
|
2927
|
-
let n = H(t || l.value || "preview.bin");
|
|
2928
|
-
if (e instanceof Blob) return new File([e], n, { type: e.type });
|
|
2929
|
-
if (e instanceof ArrayBuffer) return new File([e], n, {});
|
|
2930
|
-
throw Error("不支持的文件类型格式!");
|
|
2931
|
-
}, at = (e) => {
|
|
2932
|
-
var t;
|
|
2933
|
-
if (!e) return;
|
|
2934
|
-
let n = e;
|
|
2935
|
-
if (n.unmount) {
|
|
2936
|
-
n.unmount();
|
|
2937
|
-
return;
|
|
2938
|
-
}
|
|
2939
|
-
(t = n.$destroy) == null || t.call(n);
|
|
2940
|
-
}, ot = (e = "replace") => {
|
|
2941
|
-
let t = Te;
|
|
2942
|
-
t && U(o(o({}, t), {}, {
|
|
2943
|
-
phase: "unload-start",
|
|
2944
|
-
timestamp: Date.now(),
|
|
2945
|
-
reason: e
|
|
2946
|
-
}));
|
|
2947
|
-
try {
|
|
2948
|
-
at(we);
|
|
2949
|
-
} catch (e) {
|
|
2950
|
-
console.warn("预览内容卸载失败", e);
|
|
2951
|
-
} finally {
|
|
2952
|
-
we = void 0, Te = null, N.value = null, P.value = !1, F.value = !1, ee(), Ke(), qe();
|
|
2953
|
-
let e = u.value;
|
|
2954
|
-
if (e) for (; e.firstChild;) e.removeChild(e.firstChild);
|
|
2955
|
-
}
|
|
2956
|
-
t && U(o(o({}, t), {}, {
|
|
2957
|
-
phase: "unload-complete",
|
|
2958
|
-
timestamp: Date.now(),
|
|
2959
|
-
reason: e
|
|
2960
|
-
}));
|
|
2961
|
-
}, st = (e) => {
|
|
2962
|
-
N.value = e;
|
|
2963
|
-
}, q = function() {
|
|
2964
|
-
var e = c(function* (e, t, n, r, a) {
|
|
2965
|
-
u.value || (yield re());
|
|
2966
|
-
let o = u.value;
|
|
2967
|
-
if (!o || !G(n)) return;
|
|
2968
|
-
ot("replace");
|
|
2969
|
-
let s = document.createElement("div");
|
|
2970
|
-
if (s.className = "file-render", o.appendChild(s), Ge(), yield re(), yield Ve(), !G(n)) {
|
|
2971
|
-
s.parentNode === o && o.removeChild(s);
|
|
2972
|
-
return;
|
|
2973
|
-
}
|
|
2974
|
-
try {
|
|
2975
|
-
let c = yield Mr(e, jr(t.name), s, {
|
|
2976
|
-
filename: t.name,
|
|
2977
|
-
url: r,
|
|
2978
|
-
streamUrl: a,
|
|
2979
|
-
options: i.options,
|
|
2980
|
-
registerExportAdapter: st,
|
|
2981
|
-
onProgressiveRender: () => {
|
|
2982
|
-
G(n) && (F.value = !0);
|
|
2983
|
-
}
|
|
2984
|
-
});
|
|
2985
|
-
if (!G(n)) {
|
|
2986
|
-
at(c), s.parentNode === o && o.removeChild(s);
|
|
2987
|
-
return;
|
|
2988
|
-
}
|
|
2989
|
-
return _(), We(), c;
|
|
2990
|
-
} catch (e) {
|
|
2991
|
-
throw s.parentNode === o && o.removeChild(s), e;
|
|
2992
|
-
}
|
|
2993
|
-
});
|
|
2994
|
-
return function(t, n, r, i, a) {
|
|
2995
|
-
return e.apply(this, arguments);
|
|
2996
|
-
};
|
|
2997
|
-
}(), ct = function() {
|
|
2998
|
-
var e = c(function* (e, t, n, r = n ? "url" : "file") {
|
|
2999
|
-
l.value = H(e.name || "");
|
|
3000
|
-
let i = yield m(e);
|
|
3001
|
-
if (!(i instanceof ArrayBuffer) || !G(t)) return;
|
|
3002
|
-
f.value = e, p.value = i, g.value = n || null;
|
|
3003
|
-
let a = yield q(i, e, t, n);
|
|
3004
|
-
if (!G(t)) {
|
|
3005
|
-
at(a);
|
|
3006
|
-
return;
|
|
3007
|
-
}
|
|
3008
|
-
we = a, P.value = !0;
|
|
3009
|
-
let o = Ie({
|
|
3010
|
-
phase: "load-complete",
|
|
3011
|
-
version: t,
|
|
3012
|
-
source: r,
|
|
3013
|
-
file: e,
|
|
3014
|
-
sourceUrl: n
|
|
3015
|
-
});
|
|
3016
|
-
Te = o, U(o), V.delete(t);
|
|
3017
|
-
});
|
|
3018
|
-
return function(t, n, r) {
|
|
3019
|
-
return e.apply(this, arguments);
|
|
3020
|
-
};
|
|
3021
|
-
}(), lt = (e, t) => {
|
|
3022
|
-
var n;
|
|
3023
|
-
return typeof window > "u" ? !1 : d({
|
|
3024
|
-
extension: je(t),
|
|
3025
|
-
pageHref: window.location.href,
|
|
3026
|
-
streaming: (n = i.options) == null || (n = n.pdf) == null ? void 0 : n.streaming,
|
|
3027
|
-
url: e
|
|
3028
|
-
});
|
|
3029
|
-
}, ut = function() {
|
|
3030
|
-
var e = c(function* (e, t, n) {
|
|
3031
|
-
ye(s.streamingPdf);
|
|
3032
|
-
try {
|
|
3033
|
-
let r = new File([], n || "preview.pdf", { type: "application/pdf" });
|
|
3034
|
-
g.value = e;
|
|
3035
|
-
let i = yield q(/* @__PURE__ */ new ArrayBuffer(0), r, t, e, e);
|
|
3036
|
-
if (!G(t)) {
|
|
3037
|
-
at(i);
|
|
3038
|
-
return;
|
|
3039
|
-
}
|
|
3040
|
-
we = i, P.value = !0;
|
|
3041
|
-
let a = Ie({
|
|
3042
|
-
phase: "load-complete",
|
|
3043
|
-
version: t,
|
|
3044
|
-
source: "url",
|
|
3045
|
-
sourceUrl: e
|
|
3046
|
-
});
|
|
3047
|
-
Te = a, U(a), V.delete(t);
|
|
3048
|
-
} catch (e) {
|
|
3049
|
-
if (!G(t)) return;
|
|
3050
|
-
console.error(e), z(Ue("加载 PDF 流式预览异常", e));
|
|
3051
|
-
} finally {
|
|
3052
|
-
V.delete(t), Be(t);
|
|
3053
|
-
}
|
|
3054
|
-
});
|
|
3055
|
-
return function(t, n, r) {
|
|
3056
|
-
return e.apply(this, arguments);
|
|
3057
|
-
};
|
|
3058
|
-
}(), dt = function() {
|
|
3059
|
-
var e = c(function* (e, t) {
|
|
3060
|
-
let n = it(e);
|
|
3061
|
-
l.value = H(n.name || ""), V.set(t, Date.now()), U(Ie({
|
|
3062
|
-
phase: "load-start",
|
|
3063
|
-
version: t,
|
|
3064
|
-
source: "file",
|
|
3065
|
-
file: n
|
|
3066
|
-
})), ye(s.reading);
|
|
3067
|
-
try {
|
|
3068
|
-
yield ct(n, t, void 0, "file");
|
|
3069
|
-
} catch (e) {
|
|
3070
|
-
if (!G(t)) return;
|
|
3071
|
-
console.error(e), z(Ue("读取文件异常", e));
|
|
3072
|
-
} finally {
|
|
3073
|
-
V.delete(t), Be(t);
|
|
3074
|
-
}
|
|
3075
|
-
});
|
|
3076
|
-
return function(t, n) {
|
|
3077
|
-
return e.apply(this, arguments);
|
|
3078
|
-
};
|
|
3079
|
-
}(), ft = function() {
|
|
3080
|
-
var e = c(function* (e, t) {
|
|
3081
|
-
let n = ke(e);
|
|
3082
|
-
if (l.value = n, V.set(t, Date.now()), U(Ie({
|
|
3083
|
-
phase: "load-start",
|
|
3084
|
-
version: t,
|
|
3085
|
-
source: "url",
|
|
3086
|
-
sourceUrl: e
|
|
3087
|
-
})), ye(s.downloading), lt(e, n)) {
|
|
3088
|
-
yield ut(e, t, n);
|
|
3089
|
-
return;
|
|
3090
|
-
}
|
|
3091
|
-
let r = typeof AbortController == "function" ? new AbortController() : null;
|
|
3092
|
-
B = r;
|
|
3093
|
-
try {
|
|
3094
|
-
let { data: i } = yield Q({
|
|
3095
|
-
url: e,
|
|
3096
|
-
method: "get",
|
|
3097
|
-
responseType: "blob",
|
|
3098
|
-
signal: r == null ? void 0 : r.signal
|
|
3099
|
-
});
|
|
3100
|
-
if (!G(t)) return;
|
|
3101
|
-
if (!i) {
|
|
3102
|
-
z("文件下载失败");
|
|
3103
|
-
return;
|
|
3104
|
-
}
|
|
3105
|
-
be(s.reading), yield ct(it(i, n), t, e, "url");
|
|
3106
|
-
} catch (e) {
|
|
3107
|
-
if (!G(t) || He(e)) return;
|
|
3108
|
-
console.error(e), z(Ue("加载文件异常", e));
|
|
3109
|
-
} finally {
|
|
3110
|
-
B === r && (B = null), V.delete(t), Be(t);
|
|
3111
|
-
}
|
|
3112
|
-
});
|
|
3113
|
-
return function(t, n) {
|
|
3114
|
-
return e.apply(this, arguments);
|
|
3115
|
-
};
|
|
3116
|
-
}(), pt = () => {
|
|
3117
|
-
l.value = "", f.value = null, p.value = null, g.value = null, P.value = !1, F.value = !1, ot(), Ce();
|
|
3118
|
-
}, mt = function() {
|
|
3119
|
-
var e = c(function* () {
|
|
3120
|
-
let e = ze(i.file || i.url ? "replace" : "reset");
|
|
3121
|
-
if (i.file) {
|
|
3122
|
-
yield dt(i.file, e);
|
|
3123
|
-
return;
|
|
3124
|
-
}
|
|
3125
|
-
if (i.url) {
|
|
3126
|
-
yield ft(i.url, e);
|
|
3127
|
-
return;
|
|
3128
|
-
}
|
|
3129
|
-
pt();
|
|
3130
|
-
});
|
|
3131
|
-
return function() {
|
|
3132
|
-
return e.apply(this, arguments);
|
|
3133
|
-
};
|
|
3134
|
-
}(), { downloadOriginalFile: ht, exportRenderedHtml: gt, printRenderedHtml: _t } = Zr({
|
|
3135
|
-
activeExportAdapter: N,
|
|
3136
|
-
currentBuffer: p,
|
|
3137
|
-
currentFile: f,
|
|
3138
|
-
currentSourceUrl: g,
|
|
3139
|
-
displayFilename: de,
|
|
3140
|
-
formatErrorMessage: Ue,
|
|
3141
|
-
operationAvailability: Qe,
|
|
3142
|
-
output: u,
|
|
3143
|
-
runBeforeOperation: Re,
|
|
3144
|
-
showError: z,
|
|
3145
|
-
watermarkInlineStyle: he
|
|
3146
|
-
});
|
|
3147
|
-
return t({
|
|
3148
|
-
downloadOriginalFile: ht,
|
|
3149
|
-
printRenderedHtml: _t,
|
|
3150
|
-
exportRenderedHtml: gt,
|
|
3151
|
-
zoomIn: Je,
|
|
3152
|
-
zoomOut: Ye,
|
|
3153
|
-
resetZoom: Xe,
|
|
3154
|
-
getZoomState: Ze,
|
|
3155
|
-
getOperationAvailability: () => o({}, Qe.value),
|
|
3156
|
-
getScrollContainer: v,
|
|
3157
|
-
searchDocument: y,
|
|
3158
|
-
clearDocumentSearch: b,
|
|
3159
|
-
nextSearchResult: te,
|
|
3160
|
-
previousSearchResult: x,
|
|
3161
|
-
getSearchState: E,
|
|
3162
|
-
collectDocumentAnchors: D,
|
|
3163
|
-
scrollToAnchor: O,
|
|
3164
|
-
scrollToLine: le,
|
|
3165
|
-
getDocumentTextChunks: ue
|
|
3166
|
-
}), ce(Qe, (e) => {
|
|
3167
|
-
let t = o({}, e);
|
|
3168
|
-
a("operation-availability-change", t), Pe(t);
|
|
3169
|
-
}, { immediate: !0 }), ce(() => [
|
|
3170
|
-
K.scale,
|
|
3171
|
-
K.label,
|
|
3172
|
-
K.canZoomIn,
|
|
3173
|
-
K.canZoomOut,
|
|
3174
|
-
K.canReset
|
|
3175
|
-
], () => {
|
|
3176
|
-
let e = Ze();
|
|
3177
|
-
a("zoom-change", e), Fe(e);
|
|
3178
|
-
}, { immediate: !0 }), ce([() => i.file, () => i.url], () => {
|
|
3179
|
-
mt();
|
|
3180
|
-
}, { immediate: !0 }), A(() => {
|
|
3181
|
-
ze("component-unmount"), Ce(), Ke();
|
|
3182
|
-
}), (e, t) => (j(), w("div", {
|
|
3183
|
-
class: "file-viewer",
|
|
3184
|
-
"data-viewer-theme": me.value,
|
|
3185
|
-
style: ie(M(R))
|
|
3186
|
-
}, [T("div", si, [et.value ? (j(), w("div", {
|
|
3187
|
-
key: 0,
|
|
3188
|
-
class: k(["viewer-actions", { "viewer-actions--floating": tt.value === "bottom-right" }]),
|
|
3189
|
-
"data-toolbar-position": tt.value
|
|
3190
|
-
}, [
|
|
3191
|
-
$e.value.zoom ? (j(), w("div", li, [
|
|
3192
|
-
T("button", {
|
|
3193
|
-
type: "button",
|
|
3194
|
-
class: "viewer-icon-button",
|
|
3195
|
-
disabled: rt("canZoomOut"),
|
|
3196
|
-
title: "缩小预览",
|
|
3197
|
-
"aria-label": "缩小预览",
|
|
3198
|
-
onClick: t[0] || (t[0] = (...e) => M(Ye) && M(Ye)(...e))
|
|
3199
|
-
}, [ne(M(_r), {
|
|
3200
|
-
size: 15,
|
|
3201
|
-
"stroke-width": 2.4
|
|
3202
|
-
})], 8, ui),
|
|
3203
|
-
T("button", {
|
|
3204
|
-
type: "button",
|
|
3205
|
-
class: "viewer-zoom-meter",
|
|
3206
|
-
disabled: rt("canReset"),
|
|
3207
|
-
title: "还原比例",
|
|
3208
|
-
onClick: t[1] || (t[1] = (...e) => M(Xe) && M(Xe)(...e))
|
|
3209
|
-
}, se(M(K).label), 9, di),
|
|
3210
|
-
T("button", {
|
|
3211
|
-
type: "button",
|
|
3212
|
-
class: "viewer-icon-button",
|
|
3213
|
-
disabled: rt("canZoomIn"),
|
|
3214
|
-
title: "放大预览",
|
|
3215
|
-
"aria-label": "放大预览",
|
|
3216
|
-
onClick: t[2] || (t[2] = (...e) => M(Je) && M(Je)(...e))
|
|
3217
|
-
}, [ne(M(gr), {
|
|
3218
|
-
size: 15,
|
|
3219
|
-
"stroke-width": 2.4
|
|
3220
|
-
})], 8, fi),
|
|
3221
|
-
T("button", {
|
|
3222
|
-
type: "button",
|
|
3223
|
-
class: "viewer-icon-button",
|
|
3224
|
-
disabled: rt("canReset"),
|
|
3225
|
-
title: "还原比例",
|
|
3226
|
-
"aria-label": "还原比例",
|
|
3227
|
-
onClick: t[3] || (t[3] = (...e) => M(Xe) && M(Xe)(...e))
|
|
3228
|
-
}, [ne(M(hr), {
|
|
3229
|
-
size: 14,
|
|
3230
|
-
"stroke-width": 2.4
|
|
3231
|
-
})], 8, pi)
|
|
3232
|
-
])) : C("", !0),
|
|
3233
|
-
$e.value.download ? (j(), w("button", {
|
|
3234
|
-
key: 1,
|
|
3235
|
-
type: "button",
|
|
3236
|
-
disabled: nt.value,
|
|
3237
|
-
title: "下载原始文件",
|
|
3238
|
-
onClick: t[4] || (t[4] = (...e) => M(ht) && M(ht)(...e))
|
|
3239
|
-
}, " 下载 ", 8, mi)) : C("", !0),
|
|
3240
|
-
$e.value.print ? (j(), w("button", {
|
|
3241
|
-
key: 2,
|
|
3242
|
-
type: "button",
|
|
3243
|
-
disabled: nt.value,
|
|
3244
|
-
title: "打印完整渲染内容",
|
|
3245
|
-
onClick: t[5] || (t[5] = (...e) => M(_t) && M(_t)(...e))
|
|
3246
|
-
}, " 打印 ", 8, hi)) : C("", !0),
|
|
3247
|
-
$e.value.exportHtml ? (j(), w("button", {
|
|
3248
|
-
key: 3,
|
|
3249
|
-
type: "button",
|
|
3250
|
-
disabled: nt.value,
|
|
3251
|
-
title: "导出当前渲染后的 HTML",
|
|
3252
|
-
onClick: t[6] || (t[6] = (...e) => M(gt) && M(gt)(...e))
|
|
3253
|
-
}, " HTML ", 8, gi)) : C("", !0)
|
|
3254
|
-
], 10, ci)) : C("", !0), T("div", _i, [
|
|
3255
|
-
T("div", {
|
|
3256
|
-
ref_key: "output",
|
|
3257
|
-
ref: u,
|
|
3258
|
-
class: k(["content", { hidden: M(L) && !F.value || !!M(ge) }]),
|
|
3259
|
-
"data-viewer-scroll-root": "true"
|
|
3260
|
-
}, null, 2),
|
|
3261
|
-
M(I) ? (j(), w("div", {
|
|
3262
|
-
key: 0,
|
|
3263
|
-
class: "viewer-watermark",
|
|
3264
|
-
style: ie(M(I))
|
|
3265
|
-
}, null, 4)) : C("", !0),
|
|
3266
|
-
M(L) && !F.value ? (j(), w("div", vi, [T("div", yi, [
|
|
3267
|
-
T("div", bi, se(M(ve).badge), 1),
|
|
3268
|
-
T("div", xi, [
|
|
3269
|
-
T("span", Si, se(M(ve).label), 1),
|
|
3270
|
-
T("strong", null, se(M(_e)), 1),
|
|
3271
|
-
T("p", null, se(M(ve).hint), 1)
|
|
3272
|
-
]),
|
|
3273
|
-
t[7] || (t[7] = T("span", { class: "loading-ring" }, null, -1))
|
|
3274
|
-
])])) : M(ge) ? (j(), w("div", Ci, [T("div", wi, [t[8] || (t[8] = T("strong", null, "预览失败", -1)), T("p", null, se(M(ge)), 1)])])) : C("", !0)
|
|
3275
|
-
])])], 12, oi));
|
|
3276
|
-
}
|
|
3277
|
-
}), [["__scopeId", "data-v-71760e20"]]), Ei = [["file-viewer", Ti]], Di = class {
|
|
3278
|
-
constructor() {
|
|
3279
|
-
i(this, "installed", !1);
|
|
3280
|
-
}
|
|
3281
|
-
install(e) {
|
|
3282
|
-
this.installed || (Ei.forEach(([t, n]) => e.component(t, n)), this.installed = !0);
|
|
3283
|
-
}
|
|
3284
|
-
};
|
|
3285
|
-
function Oi() {
|
|
3286
|
-
if (typeof document > "u" || document.querySelector("link[data-file-viewer-style=\"true\"]")) return;
|
|
3287
|
-
let e = document.createElement("link");
|
|
3288
|
-
e.rel = "stylesheet", e.href = le, e.dataset.fileViewerStyle = "true", document.head.appendChild(e);
|
|
3289
|
-
}
|
|
3290
|
-
Oi();
|
|
3291
|
-
var ki = new Di();
|
|
3292
|
-
//#endregion
|
|
3293
|
-
export { Ti as FileViewer, ki as default };
|