From bb9760e65f104a22db340c7a0d2eb03776c49242 Mon Sep 17 00:00:00 2001 From: SuriyaprakasamR Date: Thu, 8 Oct 2026 13:58:57 +0530 Subject: [PATCH] 1056866: Added SharePoint integration sample for TypeScript DOCX Editor --- sharepoint-integration/.gitignore | 38 +++++ sharepoint-integration/.npmignore | 22 +++ sharepoint-integration/.yo-rc.json | 19 +++ sharepoint-integration/README.md | 56 ++++++++ sharepoint-integration/config/config.json | 18 +++ .../config/deploy-azure-storage.json | 7 + .../config/package-solution.json | 40 ++++++ sharepoint-integration/config/rig.json | 7 + sharepoint-integration/config/sass.json | 5 + sharepoint-integration/config/serve.json | 6 + sharepoint-integration/config/typescript.json | 9 ++ .../config/write-manifests.json | 4 + sharepoint-integration/eslint.config.js | 14 ++ sharepoint-integration/package.json | 43 ++++++ .../DocxEditorWebPart.manifest.json | 28 ++++ .../docxEditor/DocxEditorWebPart.module.scss | 29 ++++ .../webparts/docxEditor/DocxEditorWebPart.ts | 130 ++++++++++++++++++ .../docxEditor/assets/welcome-dark.png | Bin 0 -> 12545 bytes .../docxEditor/assets/welcome-light.png | Bin 0 -> 12816 bytes .../src/webparts/docxEditor/loc/en-us.js | 16 +++ .../webparts/docxEditor/loc/mystrings.d.ts | 19 +++ sharepoint-integration/tsconfig.json | 3 + .../typescript-docx-editor-sharepoint.png | Bin 0 -> 48975 bytes 23 files changed, 513 insertions(+) create mode 100644 sharepoint-integration/.gitignore create mode 100644 sharepoint-integration/.npmignore create mode 100644 sharepoint-integration/.yo-rc.json create mode 100644 sharepoint-integration/README.md create mode 100644 sharepoint-integration/config/config.json create mode 100644 sharepoint-integration/config/deploy-azure-storage.json create mode 100644 sharepoint-integration/config/package-solution.json create mode 100644 sharepoint-integration/config/rig.json create mode 100644 sharepoint-integration/config/sass.json create mode 100644 sharepoint-integration/config/serve.json create mode 100644 sharepoint-integration/config/typescript.json create mode 100644 sharepoint-integration/config/write-manifests.json create mode 100644 sharepoint-integration/eslint.config.js create mode 100644 sharepoint-integration/package.json create mode 100644 sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.manifest.json create mode 100644 sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.module.scss create mode 100644 sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.ts create mode 100644 sharepoint-integration/src/webparts/docxEditor/assets/welcome-dark.png create mode 100644 sharepoint-integration/src/webparts/docxEditor/assets/welcome-light.png create mode 100644 sharepoint-integration/src/webparts/docxEditor/loc/en-us.js create mode 100644 sharepoint-integration/src/webparts/docxEditor/loc/mystrings.d.ts create mode 100644 sharepoint-integration/tsconfig.json create mode 100644 sharepoint-integration/typescript-docx-editor-sharepoint.png diff --git a/sharepoint-integration/.gitignore b/sharepoint-integration/.gitignore new file mode 100644 index 00000000..5de84738 --- /dev/null +++ b/sharepoint-integration/.gitignore @@ -0,0 +1,38 @@ +# Logs +logs +*.log +npm-debug.log* + +# Dependency directories +node_modules + +# Build generated files +dist +lib +lib-dts +lib-commonjs +lib-esm +jest-output +release +solution +temp +*.sppkg +.heft + +# Coverage directory used by tools like istanbul +coverage + +# OSX +.DS_Store + +# Visual Studio files +.ntvs_analysis.dat +.vs +bin +obj + +# Resx Generated Code +*.resx.ts + +# Styles Generated Code +*.scss.ts diff --git a/sharepoint-integration/.npmignore b/sharepoint-integration/.npmignore new file mode 100644 index 00000000..b2625b81 --- /dev/null +++ b/sharepoint-integration/.npmignore @@ -0,0 +1,22 @@ +# Ignore everything by default +** + +# Use negative patterns to bring back the specific things we want to publish +!/bin/** +!/dist/** +!/EULA/** +!/lib/** +!ThirdPartyNotice.txt + +# Ignore certain files in the above folders +/dist/*.stats.* +/dist/**/*.js.map +/lib/**/*.js.map +/lib/**/test/** + +# NOTE: These don't need to be specified, because NPM includes them automatically. +# +# package.json +# README (and its variants) +# CHANGELOG (and its variants) +# LICENSE / LICENCE diff --git a/sharepoint-integration/.yo-rc.json b/sharepoint-integration/.yo-rc.json new file mode 100644 index 00000000..2f35eeb3 --- /dev/null +++ b/sharepoint-integration/.yo-rc.json @@ -0,0 +1,19 @@ +{ + "@microsoft/generator-sharepoint": { + "useGulp": false, + "plusBeta": false, + "isCreatingSolution": true, + "nodeVersion": "22.23.3", + "sdksVersions": {}, + "version": "1.23.2", + "libraryName": "docx-editor-sp-fx", + "libraryId": "7a537e50-ce5c-40c6-89fe-11ffd128299d", + "environment": "spo", + "packageManager": "npm", + "solutionName": "DOCXEditorSPFx", + "solutionShortDescription": "DOCXEditorSPFx description", + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "componentType": "webpart" + } +} diff --git a/sharepoint-integration/README.md b/sharepoint-integration/README.md new file mode 100644 index 00000000..aaf6ad13 --- /dev/null +++ b/sharepoint-integration/README.md @@ -0,0 +1,56 @@ +# Getting Started with Integrating Syncfusion TypeScript DOCX Editor in SharePoint + +## Description + +This repository provides a complete example of how to integrate the Syncfusion [TypeScript DOCX Editor](https://www.syncfusion.com/docx-editor-sdk/javascript-docx-editor?utm_source=github&utm_medium=listing&utm_campaign=javascript-docx-editor-github-samples) component into a SharePoint Framework (SPFx) web part using the modern Heft-based build toolchain introduced in SPFx v1.22+. SharePoint Framework enables fully client‑side solutions that run seamlessly within SharePoint Online pages. + +## Prerequisites + +- Use Node Version 22 (supported by SPFx 1.22) +- A valid Microsoft 365 tenant + +## Application Setup & Running the Project (Clone & Run) + +1. **Clone the repository to your local machine and navigate to the project folder.** + ```bash + git clone + cd + ``` + +2. **Install project dependencies:** + ```bash + npm install + ``` + +3. **Update Tenant Domain in `config/serve.json`:** + ```json + "initialPage": "https://.sharepoint.com/_layouts/15/workbench.aspx" + ``` + **Note:** Replace `` with your actual SharePoint Online tenant name. + +4. **Trust the SPFx Dev Certificate:** + ```bash + heft trust-dev-cert + ``` + Or simply trust when prompted during first run. + +5. **Start the application:** + ```bash + npm start + ``` + +6. **Allow debug scripts?** + From the browser opened in step 5, allow debug scripts by clicking `Load debug scripts`. + +7. **Viewing Syncfusion Schedule Component** + - Click the + (Add a web part in column one) icon in the browser window (SharePoint). + - Select 'App' from the options shown. + - Finally, you can see the Syncfusion Document Editor rendered in SharePoint. + +## Output Preview + +**Syncfusion TypeScript DOCX Editor** + +![TypeScript DOCX Editor in SharePoint](./typescript-docx-editor-sharepoint.png) + +*Image illustrating the Syncfusion TypeScript DOCX Editor in SharePoint* \ No newline at end of file diff --git a/sharepoint-integration/config/config.json b/sharepoint-integration/config/config.json new file mode 100644 index 00000000..b3f0e1f6 --- /dev/null +++ b/sharepoint-integration/config/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json", + "version": "2.0", + "bundles": { + "docx-editor-web-part": { + "components": [ + { + "entrypoint": "./lib/webparts/docxEditor/DocxEditorWebPart.js", + "manifest": "./src/webparts/docxEditor/DocxEditorWebPart.manifest.json" + } + ] + } + }, + "externals": {}, + "localizedResources": { + "DocxEditorWebPartStrings": "lib/webparts/docxEditor/loc/{locale}.js" + } +} diff --git a/sharepoint-integration/config/deploy-azure-storage.json b/sharepoint-integration/config/deploy-azure-storage.json new file mode 100644 index 00000000..033c8754 --- /dev/null +++ b/sharepoint-integration/config/deploy-azure-storage.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json", + "workingDir": "./release/assets/", + "account": "", + "container": "docx-editor-sp-fx", + "accessKey": "" +} diff --git a/sharepoint-integration/config/package-solution.json b/sharepoint-integration/config/package-solution.json new file mode 100644 index 00000000..cb78e17f --- /dev/null +++ b/sharepoint-integration/config/package-solution.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json", + "solution": { + "name": "docx-editor-sp-fx-client-side-solution", + "id": "7a537e50-ce5c-40c6-89fe-11ffd128299d", + "version": "1.0.0.0", + "includeClientSideAssets": true, + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "developer": { + "name": "", + "websiteUrl": "", + "privacyUrl": "", + "termsOfUseUrl": "", + "mpnId": "Undefined-1.23.2" + }, + "metadata": { + "shortDescription": { + "default": "DOCXEditorSPFx description" + }, + "longDescription": { + "default": "DOCXEditorSPFx description" + }, + "screenshotPaths": [], + "videoUrl": "", + "categories": [] + }, + "features": [ + { + "title": "docx-editor-sp-fx Feature", + "description": "The feature that activates elements of the docx-editor-sp-fx solution.", + "id": "9a5de981-4c76-4981-9dd2-594082d52d8b", + "version": "1.0.0.0" + } + ] + }, + "paths": { + "zippedPackage": "solution/docx-editor-sp-fx.sppkg" + } +} diff --git a/sharepoint-integration/config/rig.json b/sharepoint-integration/config/rig.json new file mode 100644 index 00000000..99e34318 --- /dev/null +++ b/sharepoint-integration/config/rig.json @@ -0,0 +1,7 @@ +{ + // The "rig.json" file directs tools to look for their config files in an external package. + // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package + "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", + + "rigPackageName": "@microsoft/spfx-web-build-rig" +} diff --git a/sharepoint-integration/config/sass.json b/sharepoint-integration/config/sass.json new file mode 100644 index 00000000..1cfc17b3 --- /dev/null +++ b/sharepoint-integration/config/sass.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft-sass-plugin.schema.json", + + "extends": "@microsoft/spfx-web-build-rig/profiles/default/config/sass.json" +} \ No newline at end of file diff --git a/sharepoint-integration/config/serve.json b/sharepoint-integration/config/serve.json new file mode 100644 index 00000000..ebc983ea --- /dev/null +++ b/sharepoint-integration/config/serve.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json", + "port": 4321, + "https": true, + "initialPage": "https://.sharepoint.com/_layouts/15/workbench.aspx" +} diff --git a/sharepoint-integration/config/typescript.json b/sharepoint-integration/config/typescript.json new file mode 100644 index 00000000..ce4cc73e --- /dev/null +++ b/sharepoint-integration/config/typescript.json @@ -0,0 +1,9 @@ +{ + "extends": "@microsoft/spfx-web-build-rig/profiles/default/config/typescript.json", + + "staticAssetsToCopy": { + "fileExtensions": [".resx", ".jpg", ".png", ".woff", ".eot", ".ttf", ".svg", ".gif"], + + "includeGlobs": ["webparts/*/loc/*.js"] + } +} diff --git a/sharepoint-integration/config/write-manifests.json b/sharepoint-integration/config/write-manifests.json new file mode 100644 index 00000000..bad35260 --- /dev/null +++ b/sharepoint-integration/config/write-manifests.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json", + "cdnBasePath": "" +} \ No newline at end of file diff --git a/sharepoint-integration/eslint.config.js b/sharepoint-integration/eslint.config.js new file mode 100644 index 00000000..859c1555 --- /dev/null +++ b/sharepoint-integration/eslint.config.js @@ -0,0 +1,14 @@ +const spfxProfile = require('@microsoft/eslint-config-spfx/lib/flat-profiles/default'); + +module.exports = [ + ...spfxProfile, + { + files: ['**/*.ts', '**/*.tsx'], + languageOptions: { + parserOptions: { + tsconfigRootDir: __dirname, + project: './tsconfig.json' + } + } + } +]; diff --git a/sharepoint-integration/package.json b/sharepoint-integration/package.json new file mode 100644 index 00000000..dc6e5cca --- /dev/null +++ b/sharepoint-integration/package.json @@ -0,0 +1,43 @@ +{ + "name": "docx-editor-sp-fx", + "version": "0.0.1", + "private": true, + "engines": { + "node": ">=22.14.0 < 23.0.0" + }, + "scripts": { + "build": "heft test --clean --production && heft package-solution --production", + "clean": "heft clean", + "eject-webpack": "heft eject-webpack", + "start": "heft start --clean" + }, + "dependencies": { + "@microsoft/sp-component-base": "1.23.2", + "@microsoft/sp-core-library": "1.23.2", + "@microsoft/sp-lodash-subset": "1.23.2", + "@microsoft/sp-office-ui-fabric-core": "1.23.2", + "@microsoft/sp-property-pane": "1.23.2", + "@microsoft/sp-webpart-base": "1.23.2", + "@syncfusion/ej2-documenteditor": "^34.2.8", + "@syncfusion/ej2-tailwind3-theme": "^34.2.8", + "gulp": "^5.0.1", + "tslib": "2.3.1" + }, + "devDependencies": { + "@fluentui/react": "^8.106.4", + "@microsoft/eslint-config-spfx": "1.23.2", + "@microsoft/eslint-plugin-spfx": "1.23.2", + "@microsoft/sp-module-interfaces": "1.23.2", + "@microsoft/spfx-heft-plugins": "1.23.2", + "@microsoft/spfx-web-build-rig": "1.23.2", + "@rushstack/heft": "1.2.17", + "@types/jest": "30.0.0", + "@types/webpack-env": "~1.15.2", + "css-loader": "~7.1.2", + "eslint": "9.37.0", + "typescript": "~5.8.0" + }, + "overrides": { + "@rushstack/heft": "1.2.17" + } +} diff --git a/sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.manifest.json b/sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.manifest.json new file mode 100644 index 00000000..921490b5 --- /dev/null +++ b/sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.manifest.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json", + "id": "d6275826-8cf5-4874-89e0-40e428ca4313", + "alias": "DocxEditorWebPart", + "componentType": "WebPart", + + // The "*" signifies that the version should be taken from the package.json + "version": "*", + "manifestVersion": 2, + + // If true, the component can only be installed on sites where Custom Script is allowed. + // Components that allow authors to embed arbitrary script code should set this to true. + // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f + "requiresCustomScript": false, + "supportedHosts": ["SharePointWebPart", "TeamsPersonalApp", "TeamsTab", "SharePointFullPage"], + "supportsThemeVariants": true, + + "preconfiguredEntries": [{ + "groupId": "5c03119e-3074-46fd-976b-c60198311f70", // Advanced + "group": { "default": "Advanced" }, + "title": { "default": "DOCXEditor" }, + "description": { "default": "DOCXEditor description" }, + "officeFabricIconFontName": "Page", + "properties": { + "description": "DOCXEditor" + } + }] +} diff --git a/sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.module.scss b/sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.module.scss new file mode 100644 index 00000000..f0ba9492 --- /dev/null +++ b/sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.module.scss @@ -0,0 +1,29 @@ +.docxEditor { + overflow: hidden; + padding: 1em; + color: "[theme:bodyText, default: #323130]"; + color: var(--bodyText); +} + +.welcome { + text-align: center; +} + +.welcomeImage { + width: 100%; + max-width: 420px; +} + +.links { + a { + text-decoration: none; + color: "[theme:link, default:#03787c]"; + color: var(--link); // note: CSS Custom Properties support is limited to modern browsers only + + &:hover { + text-decoration: underline; + color: "[theme:linkHovered, default: #014446]"; + color: var(--linkHovered); // note: CSS Custom Properties support is limited to modern browsers only + } + } +} \ No newline at end of file diff --git a/sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.ts b/sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.ts new file mode 100644 index 00000000..fa0a361e --- /dev/null +++ b/sharepoint-integration/src/webparts/docxEditor/DocxEditorWebPart.ts @@ -0,0 +1,130 @@ +import { +DocumentEditorContainer, +Toolbar +} from '@syncfusion/ej2-documenteditor'; +DocumentEditorContainer.Inject(Toolbar); +import { SPComponentLoader } from '@microsoft/sp-loader'; +import { Version } from '@microsoft/sp-core-library'; +import { + type IPropertyPaneConfiguration, + PropertyPaneTextField +} from '@microsoft/sp-property-pane'; +import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base'; +import type { IReadonlyTheme } from '@microsoft/sp-component-base'; +import { escape } from '@microsoft/sp-lodash-subset'; + +import styles from './DocxEditorWebPart.module.scss'; +import * as strings from 'DocxEditorWebPartStrings'; +import welcomeDark from './assets/welcome-dark.png'; +import welcomeLight from './assets/welcome-light.png'; + +export interface IDocxEditorWebPartProps { + description: string; +} + +export default class DocxEditorWebPart extends BaseClientSideWebPart { + + private _isDarkTheme: boolean = false; + private _environmentMessage: string = ''; + + public render(): void { + + this.domElement.innerHTML = ` +
+
+ `; + + const editor = new DocumentEditorContainer({ + enableToolbar: true, + height: '800px' + }); + + editor.appendTo('#document-editor-container'); +} + + protected onInit(): Promise { + + SPComponentLoader.loadCss( + 'https://cdn.syncfusion.com/ej2/34.2.8/tailwind3.css' + ); + + return this._getEnvironmentMessage().then(message => { + this._environmentMessage = message; + }); + } + + + + private _getEnvironmentMessage(): Promise { + if (!!this.context.sdks.microsoftTeams) { // running in Teams, office.com or Outlook + return this.context.sdks.microsoftTeams.teamsJs.app.getContext() + .then(context => { + let environmentMessage: string = ''; + switch (context.app.host.name) { + case 'Office': // running in Office + environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentOffice : strings.AppOfficeEnvironment; + break; + case 'Outlook': // running in Outlook + environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentOutlook : strings.AppOutlookEnvironment; + break; + case 'Teams': // running in Teams + case 'TeamsModern': + environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentTeams : strings.AppTeamsTabEnvironment; + break; + default: + environmentMessage = strings.UnknownEnvironment; + } + + return environmentMessage; + }); + } + + return Promise.resolve(this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentSharePoint : strings.AppSharePointEnvironment); + } + + protected onThemeChanged(currentTheme: IReadonlyTheme | undefined): void { + if (!currentTheme) { + return; + } + + this._isDarkTheme = !!currentTheme.isInverted; + const { + semanticColors + } = currentTheme; + + if (semanticColors) { + this.domElement.style.setProperty('--bodyText', semanticColors.bodyText || null); + this.domElement.style.setProperty('--link', semanticColors.link || null); + this.domElement.style.setProperty('--linkHovered', semanticColors.linkHovered || null); + } + + } + + protected get dataVersion(): Version { + return Version.parse('1.0'); + } + + protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration { + return { + pages: [ + { + header: { + description: strings.PropertyPaneDescription + }, + groups: [ + { + groupName: strings.BasicGroupName, + groupFields: [ + PropertyPaneTextField('description', { + label: strings.DescriptionFieldLabel + }) + ] + } + ] + } + ] + }; + } +} diff --git a/sharepoint-integration/src/webparts/docxEditor/assets/welcome-dark.png b/sharepoint-integration/src/webparts/docxEditor/assets/welcome-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..42f0b8d24a9aa964a2be4885fe5700c1c54191a9 GIT binary patch literal 12545 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�Gp~kbx)oU28ew4C2+WtKA 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 G`2PSf1J4)$ literal 0 HcmV?d00001 diff --git a/sharepoint-integration/src/webparts/docxEditor/assets/welcome-light.png b/sharepoint-integration/src/webparts/docxEditor/assets/welcome-light.png new file mode 100644 index 0000000000000000000000000000000000000000..69eb3b48cd83031f106df4b4df127c749657e319 GIT binary patch literal 12816 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 literal 0 HcmV?d00001 diff --git a/sharepoint-integration/src/webparts/docxEditor/loc/en-us.js b/sharepoint-integration/src/webparts/docxEditor/loc/en-us.js new file mode 100644 index 00000000..3b25e74a --- /dev/null +++ b/sharepoint-integration/src/webparts/docxEditor/loc/en-us.js @@ -0,0 +1,16 @@ +define([], function() { + return { + "PropertyPaneDescription": "Description", + "BasicGroupName": "Group Name", + "DescriptionFieldLabel": "Description Field", + "AppLocalEnvironmentSharePoint": "The app is running on your local environment as SharePoint web part", + "AppLocalEnvironmentTeams": "The app is running on your local environment as Microsoft Teams app", + "AppLocalEnvironmentOffice": "The app is running on your local environment in office.com", + "AppLocalEnvironmentOutlook": "The app is running on your local environment in Outlook", + "AppSharePointEnvironment": "The app is running on SharePoint page", + "AppTeamsTabEnvironment": "The app is running in Microsoft Teams", + "AppOfficeEnvironment": "The app is running in office.com", + "AppOutlookEnvironment": "The app is running in Outlook", + "UnknownEnvironment": "The app is running in an unknown environment" + } +}); \ No newline at end of file diff --git a/sharepoint-integration/src/webparts/docxEditor/loc/mystrings.d.ts b/sharepoint-integration/src/webparts/docxEditor/loc/mystrings.d.ts new file mode 100644 index 00000000..baa34f00 --- /dev/null +++ b/sharepoint-integration/src/webparts/docxEditor/loc/mystrings.d.ts @@ -0,0 +1,19 @@ +declare interface IDocxEditorWebPartStrings { + PropertyPaneDescription: string; + BasicGroupName: string; + DescriptionFieldLabel: string; + AppLocalEnvironmentSharePoint: string; + AppLocalEnvironmentTeams: string; + AppLocalEnvironmentOffice: string; + AppLocalEnvironmentOutlook: string; + AppSharePointEnvironment: string; + AppTeamsTabEnvironment: string; + AppOfficeEnvironment: string; + AppOutlookEnvironment: string; + UnknownEnvironment: string; +} + +declare module 'DocxEditorWebPartStrings' { + const strings: IDocxEditorWebPartStrings; + export = strings; +} diff --git a/sharepoint-integration/tsconfig.json b/sharepoint-integration/tsconfig.json new file mode 100644 index 00000000..ee582d51 --- /dev/null +++ b/sharepoint-integration/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/@microsoft/spfx-web-build-rig/profiles/default/tsconfig-base.json" +} diff --git a/sharepoint-integration/typescript-docx-editor-sharepoint.png b/sharepoint-integration/typescript-docx-editor-sharepoint.png new file mode 100644 index 0000000000000000000000000000000000000000..6119c998c5cfa2419d497ea6484b4f5d068f0eab GIT binary patch literal 48975 zcmbTebyQVd_cnZxMnbwlT99r*8l{o$Zt3n&x>G<}BqRhxq`N^{y1Tm@zIATz=Y7X7 z#{0*&$7bl+XYaLF%r)bh^EzP)@)Bq$L?{pl1Wig(TnPe!ErdXxY$G9nD~d-3R^T5P zCnX6{Na-NSHuwN%E+Quaft1HQy)%RdpONh)HJu<3JR0a9jFb}f5d_k-CM7PS;;y$h z@8*rYPL6o=?roa0-3wEeY14O_{zypSU;Tx+d+d!JvOk1>@c*J}|K<5}UI?xNCY(v{ z!Y}LJ`Ja;VIc!EbSAG42#ZG@Y57Wy18M-~MOFr>AVD3G4tR0$na$}c@r+$X{&+!UU ztMQ!jpM!w~wNU(@V~v$SDJ&Fv^cb?{V*PVtT)TlJ&EFeCT4SaE-iRJRk@(Mjp(F@m z4F9%>8m#j7K1YK8+n`B2wUiNCSxpUZ`QJyyRm|Gj+87`8zsIJ!`JcoRq=mIDnogq> zZosF=e*gPURax2uDaOQ2t!fphVF{1?Kf8{*wbq+ZuIBF zw=%uPa9kBar3eZ;Nv5*I5C2U5i?Wk`x;H^%-@h|5YW{>n2xwJua&l__%x1i_z5Sl6 zR1&qYf%e~Zl3qV-eyl<%fEch699=H@X^)5hpEW#~%@pu@Moj!N2?kPLUOrV}9;3mG z^PhE{$B%j&VB8%YX8N)_nl#{T4rbrwT0F(L?s_ncSY2y(+1g~z-(^!gwx0P#ug{|& z*J{uLM%{5DP-`NY*b7OViHeD%_(wQ?W`FvGQ?Bx5B^ps3?O(Ao@tUu9lc=;DS144< z^FkjlQWd*AnD3N2?4=r+F9=K^mUg7+y8dYu)9fRs6!ze{=D&3vGszM$Az{=lE zyXU zWa%4OSyX2}Qi$-kQ3_gG1aPHuqC~q>3Z?Tu8}QO}ccLUTIvTG}?Q2es3=R;Dzk8ve zqg1C>$wYVnmy}d@ue2Gpko&omQVROt&P8tkxil(N=p@aesQlC+{60c~esB@5Oyr-h zRj|P7|NHH^;QUL*aKoS95k?w!{yuyW>y?nZ!f6(VJ@O5dnc!W`g(p7cFoMfzD#PVp5ES%tp*>I3IoBZ!(8n--|#5pHAma`_>WSE z+n3WD(*~-g;ksi1Xc-Mr6O&vG1|@OvKn+n*QGeA9=bKnQm)|)3>0HIbKj;|_oNHf- z7{ZMA_4REms{kdz&cP9ZT2#?(^K&~n@Sias{5*efdxKoKccA^GcG6Ee9xkC5j)#Y* z9#LfuIosCOmNi9I?eJf{I<49h%aGiMiGzbw+prarMf`9Q+&V{0Q(Ipjkuw`rUthoe zR@z9x)ZnkqHCJ_(b`tsc@#E+7k!~bZRGhT%PnWWm9_eoeXcBtA5B{s9YyDC1l`4Mz zWW5i-7|!4_uwQNyKH8nglzdOt|lvipcT2Te7 z-Er~pl+kJhbI(6tYUZue*s1IP-C*hphN70X!Y)p3-5p_NhS%Zi1-jqRpFDZep?FAt zI4!LW*S@u7ake{&fkw>T@x!qF896yiv{C28VaPvo)3d-JE{O}fgRk$64*ATv?eYQ# z#o_Ep*vB8=#g<2MB#tj;?Tk;>dU;)TaO#}5{cD{z@uo>NN&Xe4l)jKLFZi+Q1y5pz zL}?O%EdMrrk;*^3o@X!ge9l!ZDz!j+;6x>0g%CyM4}jDCNjzgkOp$Ljas-T#>l*6Z@1Gmc7PX@4J$oSfVN>t#?QIWqj@-<2Xs z91R&u<5?ZPjnlK3FUm8un9b*MJ(vs2;CB_yN>E<;V98Po<1+DGb8D;+TdUGCNVCFh zxuklbt()905*eG8x8LjUjQ>RZhF;j(+IqD*)NH@D#a6sLyiBz-A$%h=I6V0>W zPWr-B7HEH5=*vJ|nU8lVW^w5gC^wT$3bF+F#QXIn(>k zouL%t=m)sshpK;DFDf8VvXLzwH){2VcRy^rBvAM}hv6-;md4e#^ZrVO;;UUzOk4+64j`D>*L6o9(I!^MSf)Qbtjru%9$Tjjo6QhhWcLC*H& zuZ_VKro}zJiwFKhU{Fw)X)>J@RuYT0|1y%X%6M1_oxu;*v>FkPIA91tOaLL5Dd6oU*h5vb61c$7x4{UjD>FlGLk1bG@pP7TJynLURzRu4tHavd}1YoV6fv>xnlBjmWaIHN*IV5p3c!J(Ft zKygm?n=*Gs%OiMf>A7FIwNq;Dn4^a-nCq|cOM(%rqttoqxk<4CVhr`S|9@O9N8Z$2 zm2z=hl1XIHWO%!&n5BvePNv5VJqfS9u=U?%r$k(jr{H2>K(T8+r!Cd3558PX>-zH7 zvaM0;Fz06Sd0=svdx!EYct2&*u4*H;YYOsk5^60>pzBopS7)`>=t!Pl9Je-jWPN=T zfd~13$E0O&k^XLJ^N=O_Z(HK%U8bTtoe}t$#KaM)TvlJrO0?8$Ty`hk0JCm?zN4DX z?=?{r^>|T^ zWo6|V9v*EHsi>nPJ8dL+h)goG=J@VdVSrt;c3?|Oi&2#FGpYC=-qTp9vlr9~U- zDu=67Icn<6zuFujJWial%k9j6cnutPJAwsZ!$Rw?HaD}W~%L2xHl6n`>jql20G2229J3a zOH!QwS>M%o=p%}}S`;2D)YY|iMUjZkXxZT+{-RX)-Idbm>{WpdJ;CZ*p|KXhNKW5`@kqS>v#eMox5WB9 zTTX(wlF9bb(b1nwanxY$m$Pk2N2=AUUpqOFb$^vNJWoZlS7umVUk_XRqymR)Q9adOGJxS z0x$%xS}ajNsuc&t#KdU05@cs*TMU1pfSSWpPFsKJL(CG)`=>)qb_p%IiHBOkYOI9edUc*a9;?v& zDDoH17E@oCnf022J36R2t!9MNGumr??`bbc`JxruGrL;4y|k+ceIJ^Di;6(0M;0X5 zSeNaUjP71wg}C+eJhaxHkg1KheW16A3arlZBp2~8Wdo)j0Y9oPxphQUNxK8%4h|L; zr^Q4r#mU@E+qzDpFLp?DdP@!4kdbh62oqQ9RMa z$VkD#F$!e)o~sZt+~9HQ9h1T)gN2Gf)$f64cCh+B99zL=dut@eeLYd#e*HIY!}Uhm zRJ~gnFN$JHe4oj+>o0~NIHM!w`{xOL_SZWuI!&IWA<^QieRk^4U(pPBuAwl1X+H1? zaX9{?3T#aI^!oPMG_Us=++cbm1o_(UGeePeBbln`%WS9a35&&ikB?$~M_m>(TQI-u zMoCC#E5#-4pZ`4fbWlT=p{;M6e}Nt}_sWgN5!Ukb=&ie@u>Olg6v&6>EEc{hyQr6w zM%m+Lp$WC0ew{f>#=|X&x{moY3Qz=~rtoDE^aly+0Sx*{4RSon_1=_$pXCOzLX&(C-v}OedJ+VLmkUcS2v_m`-g>O0U4V z_ubX8cg#2XcY=a~S2w$5BXurT5MdC+umKO}YV*}oSrs)$N7SDF-)+64n{4k-zEg&z zI5h>TrG5Nlk|`yC=YkTJN^N3dV${B|uTg2{^Rc~bm)l_IVb*YBdhQRk;c1obwV?9B z56^+cDZedVSz2uQbit6CG~^XVhF=lMrAE{5nyILHpV8BAU%BkRC5Wmno7^5PCZ=uT zB--)P*_2q{y@^VTrT(HG!`zZ_i?Q~wkHytH)p&@sGgb;io^{*&9k{dyS)=+13`Hu1 zSVWu_p)qCy9qWC`4traQ{hwbw9cXLsRE$tbn#}F$=y=Y-femb*sIV~P=g*%%JWkEd z4(5r+i`7H2vdEeBn?o}L@9q8%6XrF zFueV<{3>KTRwTH{F#GB_xso-dpWsYID7iUjf8a`+m)wbvbf&Uqvk~cM#rc%q3luc6 zf~X(EvzPZ@{PXhjmt)Q!S9&sR0&<|%08ICqyPPFGm)!!1lVC~&5tpUGAe|HG3elLl zz7KAp$Kb|q6ZV?gT9Ks9RPqwFh)I3FjL8C}l=$8cH!fD2^=1cpV)hCjcq35gfk0*O z{}OR^MYpA)&DPSu1Gf1L+Mh~7u!s>A4jRd&Iw4ujEM(S;M3qJAeV4VC zD#hVnS|B=gj-)UTP3}L$hzsUC)L7NE>hLheiledv5QPg>zSw4@x;N;v>@9c^===}%HlhM}JDYQIwtX!a6jNt#|zI?U$9;sLfc_59u zB~01ekUeeWcDdBua8Dt*xq<~Vj>@SwHk@DNd~(s(E%XDQDF}B{xt=bAfg>OyuHGIt zOV}UHYwL%EgcyVP2ADO3fT9eK0#)~uatT()E#czqp?2Nn6E(T#8-&rNK9Dh2k-HPhq=a&(W@EzwVV^&P?343tv*69eenf6Absw+K?M3A;G_uzO_{=&jk%SzKtIy_H5~bnE$=^}a z;@Ro`p4b#F9#}F)I6*>25eI$8T=F}tUd20z;SkKG7@S}V*ha*WG05)J^k%Vq`qtiRzQ_R+r5rL1@YL67cY=1%mzdoJ%L6b>(L~(QDIrFWtYLakKr3T*b z-LIW@{kJRp&_C$^O}5hygYCuFh`?~ZL!)Bm1`l$MoDqwoIj13!oLaA6?3c%!&_Ncf zl`y(|z0FhTS>D}`I*Ua8Ec-@iQ#rXLq}9N`nY_LZSDZGXb+Vf{@g=-wFwuC?7l}*6 zkpe@3o~74bH3zn~TNeiWziddOhkv&w4Pj%EAaT`u;!Bq(Et}mj0UZg4h%T{C98Dqw zwiC+99z(XteLg}>(%6r0td>*CHSXIC`F>~c+_n!Gv=xf!ktp`-J7^8J zt*>QMU&~lie#MHHf}hW)kNIDsUhRV|E8vH+rvO~{%jotqA|eKP*LPr{6$(`f6mt+D z&)L{8%bFkf1n zj5lhAd`N8UGZ{%aIk`%dADx}CmR=wb+2eOd1+HG;w{NF9cAt}}=Y2C*|B3mY3K1O~ zZU)$9%(gbCmu0<-Y36#xU5b5?nAg`;Di8vqpcmYliaqNVe`*9%d8~BSL|7$aQ&WR8 z>Mtg>y2&5{(9R>$ zHI`(06|912P#jA{N*YzY=u5oX9n(EiX~kyJ^UV9W6aO=ZdGz?aUj#@1=-@t1P_OWb zhz|zNGIn>zYB^p&lLq61j^rF1b_=gb_?(fTP|~IQU&Q@ucsNBR$uG-sl&5%%!X;Xj zKMY#^Q9KfI!Sb2W)l4G*03@y?Wne>;9Qm!v2y1Rq0zeoI0r-Q<{^elC>ly4L4~(D9 z9PK~J4pm<8-(d6L#!y`^jBq(|Tr4q$>G9G=#N*?JGQ~1mrn9XHMQd6BWfa+aI`4*p zd01Zc(B~+?V#|#eSVt?USn$IZT&N~@wqpSxb2S!LTuMqaznqpQA7^Ur6BZ;lXK>kk zNVjG1@q+RdjjDD2YicP`S6A1MZm+lrqIw1g-(p_Izx>o|;?K-quT%eX)Ay}z)gb#C z0qTkcjoQ>tC$o5JidQta@3*&&5@dSkALgxISk!+`1`oVVP}y=v2*6D3px!$7Ebp~F z^Az9=lVT-6(R=qU>s3q{KJy#3BzbEF1<;*%WhI$P-4})Z{fx!Ua)w#oIDfBJgoRh= zO)DMjMl6QRW%KrZ`<|2&Q;l!d_?SP6IR425Tkw{bG$(7^K;cpQlH{#WajQA`H!7Ox z>x=pxK?0>-=HL8Zov|XRml-xaecVK?!)UMX|ycs46ro&QV_ko(AtBcl99Aqi_o`r6rM zFEkmyt2gN#(($x}jkiMDTkhY6G9_jQ8_S(01;ISI9?XPPWq7TgO`jTJLk!04{FW-N zpE_Ls<|;1~hIYRkTkoZ70n<~^Oy`c>=r0$ZvG-F55y^Kd`G`t=|8w3LlXEH%$4MFk z?V5%uFH&J1iMNBo?5?%Y0zy1myVavx+Z&FWwN3ZKZ}M$=^i0%sT*Z(3=6Uz`fB4s3O;Sn3 z+7WkFjwQUHe_v&~tA=--?5TH5QV!PQPq!xWsJ>#@NStNwYt*i27mQo>$E2GUMv+|$ zIbbDox;Vl`A3WmA5%D}rBavSJo%rKCYZ24Of*<{GHqt!HUsAP4PFc~Sk}XF`+;}dv zmRc5Pd%ScjP+{k^TaN~p433cOI`lXwsB-Q+$>UayB=b-@+r^?jzB?0JyR&mx86zy8 z7LBLg8!BT(nxr3L9th6HAl`y@2(E{MADFb=Ado7X#h{c5Du?A2 z(*_O~TF*=3z`Qn7RX(LBU+PQ4UQt6ym6b1-O31z*wJMd6Em^9BPs$3 zzXMUZ1CIj}H@bG!VO!?CL@a|d^1z>M`z;GjZkv0IO%}c2>GVen`y~0097Vcvhd%T@ zA!o+L*VbiKd``)oJOO z&>MJ)&ulz8@d$0$x$aJv*J<;3sF}aqYLSAP+VVNYBfCBAr12{2c|eTA(y(HGI%!y` z0HQ(fPyH{GyT_Y1e!~?*$^_guG&*(O7%G8?+R7o;Wi(LNT+*aZn}FDJbl#SyHXAwTkV(jnH-t(UQR!#>Vw5?PArU2!A>@nF`ZG8<1Yug( zyZbvvE*6#{N+HAp>zBa8wY+BBG-lSSjIizMUcD!D8Ub(reAC)p<9J@j8?L)Q(};1} ztQQF|guW`TzGnWC2f-kp{895kSF2@F-186gxF~^e@L$18REmj$4aE>e@*KNU zD%g@79FuJ(GhtaB{(SO2)iu`%n_8NDC6XX5i@ zBx--#9C#^s*YPJwCZ77P$yQ*&#|}?Ei~h>mT~p}=4iY+g-Ms)3vj6XS(o8b4q{BA` zE&H44co(&fx;4(7JC|{x(jgRy)}?PwY27!Y@PUNk%BBe7&qT^P;M9BG^gbY=p|#Rw z`D!jVAkb))(=t!+U6Iy0SfXOy~39U&|D5gL&Gl z9jw}1D)#m*Ewxlz(YTev(XgVs=gh|Uk^SV=`1izlF+Q^Xj&`f@ILvmMr3mMF4 z{k=(dH5Q$Om1Ur?}G87gu#^9_*J$r?wuw)BOrhPn4+usim&Oxmhgg{ z_sLvs(&@gN`O!3ms7{sTMtLVdsDTsF?yCK%AQ7>y)tPhRm0SR8BIk5BhDSy+p6yJNq6CSObV8RuPe%QV z!i(Y84amqpIu`U69scuj|94SeA-0`Ix9 z-*~+@SBZbVJKj3^G})-F&(7$#7kRdPMrvrI19nb#Q@E2`l^5~DHGYf`7s;euhhfjs z$EoH=Br(j zsj@E1+YQ>3#L}x2W(#%QAb_`s>0bhS*>o@@sRy*sCqku&r#5`U9sXD4>j zx)-PdTh?|y#oITnkiksMB1;g|`BbQVB`Ax+aRJqOt^q9so%H3&>4u|n?ds7tcLc0v`?meo3d_G;Q%ij|HceZMyURTM}md zT6BGV@+)_*<&|}-SZZVpm+jCC8?7%AlhH^eIQ~v-_;JRpOG&iIQ2e~;jk5E>6kY~@ z)ti7Dm+wzTJNqULI8zz3n$0ie3v`S5n04y>8FjbI1{mzxA1+bxSng2!njf(m$$gQ4 zb6UQ43;&t?)l+@n2R0By1V<#7wY9gyV(Sxy$nB~d&hRI&THVwWuvtHIeW=Fhr7x_p zKW0~ZtV1trWM4SBzd1|TmK<`LcT_o}|9)#l)pU1fTzt4?XEjO1Fe9jYAAUnptHOZm zt9Q(_F>npB^1Futjz&k@q54|AX8ednTXlr`7sd9QE31K+q+?K2^3e{z?8AsfeMKw{ z?!tFu?z`)!8xn(UKi`~YOZ{2etF1R@bl7w=TytW{c^hSUWzkj7efY$a>VTH)KnSU1 z=2EmmZJyO<t*Y{7m14XW>r14!2uUz{kV4<)9ihrbi_J-j&FjAuEXdAVA$p{Qddy#J>#10(~2 zK#7~{s-#Gz#3i#kupXapx7BNWH}@1vpW-u9yn03GSc?iZ-{-{Kt0#%ON2jNqd%5BTKeVHRZvF3 z(znRQ`HLM#8vf6pKg%2W;@#*r2J9(Ew{_?4<~y=?*Oz8M8d^Il-)r=5QFmxlMj15@>fAlC?Me`@Cau~Fl<%&A!v zlYml#Ps8%YhS|99`3zbl;UmMCC0CQ?5i$VezR%dS4o%|Q$$27^H$BqkH$UR-Oq7Hr z>w6&rw^TdHrn;1r$?s{UR+Pl;>qriB<7aLhWD?P2Au(kzGr+__zyorZT;4$xW^t!m5ngfms|qmEa*DVPWOKF9j3p%u-#;?2G3 zCj*Yl=d0hR!`tUqC%c_$F&QvO?|RS~o#ExM*5h!tGlEM&ArjkbvbC@; zk{(eTTCvHz^gGeYVl*Em@c1ao}Rh4ar*cqT4LfsI zj~LpwQy~=}7_@l*0bzh|dHzzcEl4JLBv0834sl*!SoQO&B3-tlTX&LQ_3GPK`si`$ z4noPI6xApbf|m}@jb{gafKYhUm`IL;3Ye8s$+PWIXl&UQm($JI4t(?BZ|}&xk3CG9 z4x~)TLC&u|Rlljz*vBhW&Q-Nu&80!`82+y5z%JM7F!LG|Fk&?{yguGrqGPoiMEuON z3EO{dK_r;@3Rf(X6bWK6O-Taz;oA<3{dj?THFursLFnkWq2~g3R;ch)iSl1(OMt5A@UmMYX&mkg5tc)&jsZ=c1Vz9W?eB*t+6v%ru=xa++F11?B7dx6ja=Lx;g65GPsIvf6r z=YoQm+T3@+rV*Q~jc)o9dD5*(7rzrZ4R+57w5T-ulGYT@u^G-u z_PN<#e1HF0z>3Hd=NXPocEM2G?%K9fQfVDPl)7`|znVoA9bp~J9IWpLrE(R01!ns* z|E*8oX6pGe|7X5ePkfuIYH`{?#fD8#hW5lV5L)9uX@|*uT$Pz*mT>Thl)A-101&mD zC$yAu8F2`LPgDz*>GA=188q^+X*6pmv_pNWuR1yQ*kUfAc+tW10 zpxV?d=K(df7UK*gvsH_Y7e7Vr`L;mzY#~h$5ljUo4HueFiB14ws%y)H%_9s%^kv8w z&4jlaH|^5D>=sc(KEhax9l?P7B2<%Z{mILbtABZYb7Qd5w`zZM#D+@5ho1I0|FK=- z>rvMl2J7nT5Ua_Nu(R)v0Mk2?02p$glUGK}I->nSGM{g!)d6Tu)RxA@FtO=^%i!jw zQlvuB5RHFf?n-${Xi}iYg!6t|D_y`3QpNc&eME4F;VT6Q@qd?EnP;+l<`brmp^*CfXKpOV-H@^44JD~ z{f)FGk$hGZNGNgxh;6FeirjT?1|z38@C(Eb_|d!$H;jM&R7%QBuB@dvB^j^;ph6$2 z<8D8>wxhAM7u;YM^$%F`BR9uPS6!EG1?lt-5Uv89fSRxUhj)SFMG|PnSYn zz!D8N*}Q~9L^NtyjWHTcvPo+0TqLeGSl_86xDpovqW%^1daP6zmVD^?2^&81^6&9o z;I<_zcoZB-mi<+ug{lm2i116^{cosgXs7_5>$Ji2;)0_d7v)uv`qOqVWxejqM#OUK zYldQC*Tm!%-_k(s>Z9HU7ECWHbbww^okZAupNSA-PR8H83@P~f;_;IL!inoX>Cu(( zu*IGe8pbOj7M6FiUgq)Riax+a7&3b&QKH2)yjgBO^5RZJ*24~OA<`XLx8C{5!QAUy zx3ZAuQdmGqB0-RfvBLA^h+2hO$ZY_e-an+~dFhGNT%zM287Uh{aLRro^a`iB?4H<8 zydgAYlump8yxLL&_iT6csemVjcrsbc>dE--mG^?I3NjiKkXjm$w2#;rAQH)u>Z*FY zFq-xA0&#hc<|=}PLUT0ljesh6<6E?y6#({LS*@x85C9#G{6}V!?S87ol`tuZkOPsQ z?Nm6x#h`Jg#h)L7CO_syP~!kLy)#}I7T6(f5g(69MC7l=l)AE#SA1pM-aJ)fiYQCV zp;c{xkS7Ym^6uR)+Y!_hO}@L+L;1UUAD$vL?CwN{5$Khcg&{e&oMwr^hJJ zg{Nh@FKmX(4yoLi6RQ;(ZJ)|!abd)qdv*LNRVzL|$9H12?isz>PUgDWI}IY>F(c5b zuA3)@h4=>q{BSp<{_|&aq)=Ok(`Fnk0w6E1$mPV^5zZM`rcNZUhR2Pje@MC8Cgf>Fsrc_{VT*62Bg!3v#u>}hhoAA6Rdmtru=ze*HE3q|*! zku>TlWix}zVWFjJ`_VYQll_J@s$lwgq1<6ZdQv7R-hF5}d6;}`gomzAvOWPUQXhB2 zz8Jyn9W|vKI12SyY2lyScCyzbSl;XD@kj8`E+PdC20mh7zbtv_1Rpq}aJWx8Jn zZ9el^;Y_XC3GN!;r{aC_EIaXZajuLt=E8$OdBGPg%ex8!kOFnJx(Qz7j@9k=&O(V!`^i7XE2# z>vjE0-0^6BUGx8Uz3sHBxA$vsENyHc1c}1b>Y&%&UASPfr=V7J+qLmW+=M11YUwl} zw2D;QO&Gib1&j5~wq|B{fbRf89Gg02Rjrg1&Ed_p=PipYi-dD5%@1TU$z>f~LcYPE zg5uXqq?a$5#C5~Pm9|VQ$Vy5{1;q?C zF2-;$9Blr+y_b@fciOT^D#@iz`*Aian;!aG#4Px{a>t`^oc)(YN!u2(9ugAc)n(@d zr&J-*Qzl--PhJ1LxY(Bb$Iohi&sOobZ^QE_--wHc(oj=VYnaM^6LMD6nAH3F=j7x> z+}?gzz-^c`C^?x9Dma%n=w>D+E7Qx^!MhSY-+8WeM zZmu#nq?&#hQ~VT3#o!NrlSUmoLGh$|-R6(G>SwZ^-PLnX7+wkH^HJh&uI@q$lZ5s9 zi8Y=nP9I-fw54l~K2xG6XuL%eO^c2(7yy{sPQ>)q=q`nWGsp@WNzyp_P=%nikvFqQ z*t3$;iK&o*YOOH+Bo^_z%7oBnS1iSls^wmo7(CD5)KKdo1J;#4>sC{hUP7Fy)FCyR z*qHNOe z<9&5S3u5Hs<)Zx6^>y1flEWs~)h;wtVs2ExgAfPQ9wxE&U^F)CDb~3fhf75~Xbrgv zx9k2)3>0s!uPT8iejJw1VD5f;Q-G4*woo>fRWt7fUS!Pa6hLN6lnx3jd$W|~_aJiX zYBN%&D$_UIq^o^*IwbV@N=rNrzhzb$_y}f0nNbh-x2t1?%AsLl<*47}GejRB?%BL9 ztWC_#BNCu>sWU?~ni}^Z^>2>?{!KvwV)Snlvgm-JLi8wip@H zeao@&6^iBazDEI}%&%X%z-Jl55bVls?=E+~mOeY+K{}Mp=#7<8K>)MyL|8+Epy}2Y z6F`LiR1z_o!D1mXOZA6%iMz%wwu^DRXaZgr{cdvcp!#S6|%FR`*YX5xv2kwxYol$V$1)c4D z9Zj?-bTzn>^7`IZ>BS(D6};ruB;#6LUq{Xv2?UUs@csIC4W;lbWEuhT`txOZ5=8Yol8`(|~RJGp58xwKKc+V)MJbYjN{ zwBWr*BsV{IW$M_%d3R>Su}if?ZFNKtW3_*ppkuyaHm@2)^GW782nbi2JL1ldprNk> zx?V5UOBv;jc!FH^{~?jw9$%gYRmbo|lSE*p0X*dkK-xJto|;tPv%00LWF1&}MMh5@mupDu{NUI0K>l_Y`> zj2v#x!+GF901=>81gc_vhj2)WZ(9D{8-TyjBEu5-*3yzM^Lo)q<9wDJlp+(658Xdu zX}&<`bF+=n6R2%)d6^TSE2vTh$Lo>)>7rF>YZfqw}qmRsmX?q;p{=Qv79! z7O|#sy$_7?yZ8U{1tOcy2@m#on}1nTcc@{&(LGPx(a8xM1eNghGhkK&dzHv|n%AW3|u$azy(sGxB_QGDj+b7DQA{rWSv4ktfRZV|o+l z#6aEPKif}{5U692#$q_zNV2t+h6{m9oK2t%WuOFoSE{sBy}MeC;q|&;G%_+`Y@e<$ zKVFRy`f52|v_cJ)QgLzS7>e<(@ST}@$93t3lix3U1~*Fj{}MBxRZ+aUUf*O>+DaS$ z-i=y#p{O#sFg&c_fCYvQ29FX(@h=7RzfpA^d0RyujKUarOR>STxQPGZd%pT#dA$GO zDE1fvK!Gc5K%>zUx6W-h{9wM$2+%tKV6$TJw+m|q|CjUo4@W1&)!@;WQMV3fR45&g zz_@LQ-bN8c$!G9|{ zTyGg?L6QwiCNweU#fk7W)7&qD$5zKJ+Nl0Y}&!*gifg=3^TS;v3gl_ z@nq=}$dds7A4`2@&j@f#&L1K6=QFAxqSXF8;|jQS(Pd3HC;*2Y93H4>Bh+F7 zAaf^e+R4R5u>7}|6E5Gttfi!+fE)sL8kj1EUtm@Drpnuks*JnQ`>3{n<>0E3l{`N? z3#6q-rl+SjN_ZnJjiRKayu7)|!ae<|tc(Rn$(d*4)TbD|GEnI#Je^ka zsScr52_EPb1Oiy!U<%QRqPlh-VW8FQ@87=%dJJy^m`@c4U`!FAY+*tOAddGDKLdk) z1_lk>{2^4LK;3%R)t(V!c=USL{Vt9G1QFLwTIq|gDh$~w3~?D5Xb_NT11NDk^*@qp zZr(mWPYR^<^HWSr#m?Lj3;Vq(wsPzBsdD2aSit`Or|W#|pxh9YE9U0SH{IGB0tjho zdHJ7TByjEqWb+f3Q(Qt+1i(O-V#LOb!#0wvgnjq!ox7LUDiBE{WkDzpvAUY)wSWM0 z`M;tR{$M+OJVqTZ@Hn6J+Pj7}hAe*{8+F3tu_(Un}#k3c|# zq<;Rq#W7GFl#>n&ps}a)?>stezOc8jC}8D+_I~`=d*#=s{Tu{*&RYT@=9wM{a%tSS zbij(!Q71SaPB~#XI5>bb1$H0vyLf77#bLWdG;ltlkT*C}01S^hyzNYbk^mJ}Ffdm0 zL6Y*`-?MhjQ45V;fW}G&2J=6aVlBCxmYgb0cz_?wAj0^o8{EyN!edLV#-|8VjfoTU8B^6btQXEi49a!M_&Q3Q3 zrp?}-6;vr_k8XF+J_S{gXJ^h=H#gyO&LN`An=Kz<5z(3XcvFofoR02#a=p-rA9}Fp z=rI!%+rm~~@jARlq&3doLEGHS#)PXKe>C0lUe(P=UJ+xJc(uNq`m#fnIRg z8N;Oe#vjg`50!PZIaPKz1o~$LxgW~1NMd`J)}5+1mMH?LVd!!kk9s3H8;Ii~&#fwA zOX}~nT`0Oj5AkxTb|j-sGaqe+x-OqqhDLB1-p??0%(GG)1S3Z@|5^D1Z=9)4M_E(@ ze{M}d8fiTNsA8=2O6 z`g7Db1h18Oj61etIsJx*XqHkP&Xt~Qk{5~WsAL;aBmsd!zC&$xLZ+0w8qpGD=O3h* z#2)DcFx6B){wP9;^yx)(*`e=Deok2wOQ0mvgDDnI)kLRl=mx0bjyRKLL~$wagJlu+ z<`bg?9!*!x(g`gwUSZiTG`SWl6_9{Zyw$}hJ`e`C9awCh?~mJXPcVya2ZIKC+LVG`v2NJYfNTn9y}PioB>Nw@p+ zpzkkwk(Ce{dIH=d6sYS3ep!K%ogE8gYdgSdIsmGdgGxOTN_@K*Q@dE>nENr8e#2EN zOQzpA{;K{(E0vD`1X4(E#`vfgfu5mSprRQ~o^00A(>?GE6Bm@ae(tcRPU!tzxm!pr z1>Z!cuAbSK4v0-dK&6zs?rU{)bZBJ0Dg|}d*w_J;Ad&)vrWI;#^_+aHbD|gJMqzlH zLquQXc#KaGNW0MG+OlCiC9#fff6J~BP@|IVM45+pEvq=AyY3IeLSDZ%K|)azPNt`j zGJYGK+3X-LZXnqx1T-qh?P_Y~d4;;Y2S#2qGYn8;*M3*o&W8i)eYrIaAK%P@$ha;I z$ejBq6#m2-U65^c663t`&_qB$JrnPnINfm6fncA%==%=LN0bJhKJq@b zkfnOuR*fn?xOeCmflBmZyRHo1uLR&Q1im9cdQ4iJSgw|4*F_4H&Mztp&xvacN5Tyl zADQ6h4djT*h6$XlgUi;k%CO`&jvF6r}GKPjh;DG+#3h)d+Nz<%3 z?g|--98M;F>K1_ko|6zT(Ks?e4BJ}whN2fN@)O_%c$Ntnv7-tv@`bxfDEQk|-Qj>AHGjzJ~0g6;Eufrvtd7mSAE zWMT)q>pmE`^fl%6EWiuF{QpRM3$Q5HwrhCUC@3f?qNE^#q)JLRNH<7Zgot#9pn!ms zfPm5|4I(1a(n?6Th;)~9f9DNu-SNHu`#j%2$DZvlFf;dDapqd<3Vr~vZ!xn?!WQ+3 z(-~GpUkS*pF;kT9Z<#L~MBMwtt1H|wS#Bl_q74;C$wTyM5b7X0qqu_6^`y$cY>H_? zvA6U``RjA4j8C4eY99U(lB7_dv3dPAK3=Q!IhRhj&1F-qYw;80Kgx|XYJTeS;ntOjQXcQ1sg^8jR{ERiMa_a*nTd zSZ~zNc6qIK<4Cz>EbE-IpVX-*BNs5Fv`>%BK3i<;`s)EG)&0;)G)~j9CSVWQaYrfCiK3y+s{@i zMOQHERcoq_wa6o{P{qHR-0yzwvJCH0Sgdx2HQi@F^iOw9RP`s3dXD{9UZL#g*K^_e zCw-=YX!R%@FC82=x19>Ww)e&UE6b3jUpDVqcgtU1X+M>m@(Los<(1I8pN!40bL>qR#m4KwEInv^e1Gmt@xD zvx$5fPu||jydvfJRMl?d619~s=O9{f5KQSA@9(gs zb7X|$1kMlQM$Xi(*P>Jr)k8!3xpHD+?~VQy#HcLn6awxP&@PZW`I31A^ERj&A{%+| z#nRfc$Srq$UuS={WZV3Ajne<)^xT7u=a_TMpi*5w|3u>oG%rv1X)!8Xl5e zPIGFV096@e22@e`eg09)z9&vCi3ena4UbO`w^O;#DL@q3*n!TGp)PUD{fb!~U6m=P zU(&b=eoym`uKE~=UVTnKV>tquSeopZUDE23;zgRvLZ-9~)>Oi1OYjr-rR>%{@|>tz zef6OBJlzyJ?C&MRyxFj@xVqkZ$94yVg-uNtTgQ-@c$u$sW%pu$XD$UY*)whb|ADyn0$vy~6h{DHWuc2_NVKY}N$p zp!&88yTVL*+k_UA?g!A{Y&u-FI`}PYyH^Hy%6gV-JXIx6Q%tEbqKIlVZz2)?r za5QfoWoPZN2PZC5u%eGFn`|xP^GQ~ohnrR}d&5Z1+ zM1^lVD3R6A*4J%mq4x1L*42Ayicoa9NhK&jw4^(H8wz!I#y)5)f6>lOlr}cVyl>j9 z6hXvIfn3L>X&&e~+d`%?yU4Y5*NH_TPv&3b7%eQ@u}@4!k7H^kGtL-nC;-| zyA+)mu$!v`%E6uKA7LNt_Am@vcHZ_HSx@g97reT;+^7XeejQUF7T4#EL=?1|uz}rN z`SGKsxJzca>O-*N<%NYG-s(7&IoWRU`f=XbGwa{e8lRB`x%S8+j)6GjMKl89ytd>k zxw5vNu9-w4Pu3S$Ugj(mLgP|kL0>29BUHl4yxb39fz2Cd>MB+--sb0Lzpjokiv-jF z8WcuRfHtk{#5JroW*rG5j;k(5_io$CGlEt1*8iZ5PXGI85jG$SLXF!>=@IP2K;+tn zEp5cJT+x!V!0e|45DjJKQo%v1CGv=mBOaIM-Gkd40sQYym_G?;j`THHbxFfEQO#ut zpRf8g_#-$dNGBbO!(JYXVHvQ(D7dP?_l=mhFsoXoC8!Pxs<(fTUKs`ORV`1)tKe6@ z!=ka3ouBa?48PyKSv-a9;Nb9mG2lR}E?q4jSIrIi-I}ccacg zy!Mx2{&fEHJ=V@NJt8!;N4@3NxD###=O|rSDI=5b-JAXqCq=Zivy~v1Y0+4Lj=tOW z-qxCo&!$N^^9;c;1qIy3iqGX%)jc2x0_=N?r#T`Pno3GX4r4(DPzZ{dgTXIeFmVEa z87wU|)UBat&1NK-sI>CsX6Y*3J%j1i(S$Ec%j;+97@s3DJZ5DB6Z7*1Yvv4Y!0Y~) zmY{IEvo-Zx@w1Nx;$E;pkL)EDXL&(Cu0 z`VBqWq7Y=>AqgFFIZodH{w+zxRp{+~aAd3eVGbfggmf*`OiktXMk$G2To2uWbz8$q zf*XDqKzJumyVhY-5UH z=H8;t_$vj7Kjaa;L{Q{_mXS^r$hmvK`CF?4QVOjC?8W=`b*?`u`?nY z_8-i?sYk+?Tb$oYsx8|_q$?2--a##Us zGGv4Qz+ozPyaSNX(@JBjt*b)o7XjDyTJ>Y2%4s)2%0JbPyy7G?d}b&1STdd4Xi}&V z9ju7RY>;6IGZM&~=Hx*{g#Hmy{xuMmvv*&(m`ts3?i2a5-iOo-d0*L*9KA=51?$_^@+kVM8Wv~gVV@)<>jFp%aN{a8usp`89M`aDz4vtqMvEifO|6)fCD zdiFvP4u@~d1&Abk|Ck`_{nd8%(YobP_$2-X*}u}_Qw=Z^f%F?JiDcJbtSM@Z?CLni zKYRSwh6pzig)q`2qPBYYYn}Wj;Rjr45$9h8Pk*j4x^>B3{@f? zwN~kUCI`G4juV7YW=Vud?M~E$s=@lwW$gFcA&5+6FmtaBW|}7zhg{U-ckiH#I*9SUeTcpJ-tXCZzpoVijUL0Qo}Q9cA@#Oy?-3SaqdFiBa}G*iQ-uw>eolXb zq@#VJPdPJn{y5pEaYGU1;#&GVp_w2mOZDAa!iPq$PwIb*O3%p=(LPtTfp}EhjxEP$ zR@5>aJ2?ADIrAjcwr^4shwIi1l_ciiiZc^aYyYzTU=kqp{As3tP6wn(N3xy&Oj!P& zSRAGzWc9%1&wH>)m1m0lA7D`GOcCi1@+>!<+Jas#e~v)zn>0VP=L8*28Rlz}h51Au zJ8Y6E(NC>$ZyJB=nQC{w%CmaT_&m>=3sw*=g|`ARlZ3QMq`-JK+|I z9vH<|15>0%N_xJhfHcowzzjYT{=ZvnmvobbFofpz)|CfW?=^{K9TnRS2`*{_*;bz}a{Ign8(KYGfaeRJp>U)pxo0mPQaND7n zRe$7d%UDsptxr5Uu$6ByW{iZsSL6*<((g~dylRQ{NT;Y95zie0w!gVtRKSZ)_NM3^ zBD;BhPvCst-mYIs=$X9PJo?DMXm+`Igc4+4)WY{Jd9?ZT#WB~67-T*Vy<7H(fSdJq zU~IaXuP~C^<+t23Q@eS0-2U9=O>@-8t_OM7T{$Jl%48vud1u^xuFS~>k|M!UKK`pq z%ipHDlGuuE&7gl!aNSph*M^-0ky%;LY>`fu|wfR`%`R?`~%j;FGmFRD5>-D1f zTyanqo5t)Q*;VI5g`S{XQD)I{#^(WMX^e`_3l9j*#~R&u6wM$ zNdumGaUQ3m-Y1EcsDpfqrm5X|9$n5ctNMYkdAR&PcK4P>8*D#y&n{QDJZOC*tZTE_ zj%Fr(3BDJy^6FYL4{E-rZUcBsD7w~lw!erUv;;gCHFlo?7co3*^E3bf0w&~0eUk{d z+3R-<5k*w)^sFpX8j}!+W+ecpY_}kQLLq8yYqQ-1l7+r703U3|Ns8^w;ucROF`i$a zBXnTA^Q1b4YIS3!*7Mpy^_M|RysdEpvH%{h;TD0DK>BiW#WDP{hegbyTU*~TRO9}r ztmd;!tz3G|Cn|Ky^{?WxTNV@}W_5Qz#iIcPdn8Q^2ieBY7!P{E46SJASusIuj@ z6h@@>sxo*7#eDQvD6fea%KjKaRH3ynqupz<*?ZEGld}up=vtm!b(C)Al^6MWlGIjc zQK*L!v^n}gqAnuT)U+)%Z!GZ*9%Wl4VXU?0JJX55l247B0ucrit$yHFF3pGNBljPJ zw|qYZ9~r7XMHstpQCsJ~=zn114C99P!y)$-8R%{v9-Y6$8Bx?#^V^-$z!Sr zBd_3r262?>3_RES!4cDLk^fkd1skKYr3ypa(qkT!JLXK+d$N1DI9MOwdRa5~Fkjg+ z!2x9-uk?qaxh<7I6I$-6%SPavvT?e0T;Nt8Anpr`M;W&I*kxM(Ey{Is?YrmIuN)9` zWvU79GM^6LTP5|E7|@Gwnpt%OI`h(!C}=Klwx#Pbf_}m7^2XWB$&koqL*x-WVPn$M zU=rDG(((5E>$0^U{N9x1G2Wm0RM1eaPPWzW3iTwS!kcUQdOHEqoTXiHyiyqL=GK5y zCf?%c=))qjzWVwBlj64)6JL*;4(1UL%aM*0+LBrhx2vJtb*LnFx|^4`qVJ#MnX=TW zpwKY<^$iXKwP>jTliS9tLj0(YDU3Z(dcc#UX9F`?zkrS?9GR$M6GlBu1QL>-<0DW3 z*~3Jv*n|CkPY$<-Ret!3!>L_v-@_&)`?I60^;3ABS+` z9ZzghC^2-*9iYy$##6`+NmJ>XP$z zXCu;*5u@6B7hM5*7ZpFgU8h$H^%s>)vSgn*V==i*V^Sa;o!nG2DEo2WLvq=8(RB4nzad&aL-eD<@?Cg=hI{(>uG`SulpqA0x1tq7vh5$!7ipu5I5_S|DWd+EacE ze^`%TmUz~e?Ok$aCSsxdOTcMblD7qcQjNsiB zPCMh%E$|VtM*w;*?|~pJfB*N{RoVTfajFpe>lD9yDytKRg`t`t zA0M)S+#n!ZVYO^D$rs5!{fKg7fAAHxGU@6LJM=-9-r1a?55C;NLwEX{T9!Iy1ml}O z)jaVMyahkLxixGBgt=O&2E@t+3GQJi@BtdJx<2la$^_SRx^^lpVir6#QsWQU?lR|g zEly8f9SuExj>iF26~%dmE}tF*0%%Xq-rb!#sFX`ThH`Ln`o0!X5A!s@rTmttK+B7` z4yU>|*n@dT2COozf)hp3Q~m&kgs?2L{?)Ej%Bq$g$>`I;qR*wo$?o_eLf0={a~@c* z|IY#9j(#=tZ$lZ^{Do;iP>KK$7ke0-|#=g(g%Cl2N0U(>+*wz*!Aynfbo`$=`h zd!T#jlNJI?VC9a=<48^?RM6VI=F|$0-%h{dt7b#77(PExW)OCplrI-X+jm$EUP#kS zGRea=lZ-2Of4a7~M>g=RRN%~eo#G?a}9Pt9Pf&{R^pSZ|cp~T2=!Stl$o&Dzz0KGNYRwq7cK0 zA)(s8s>TFqYVVy@PjOS&;@j)yq|J&d{TVnO1(+UD%8zT3&*aInT)sws-0WGEy)Wa) zwqo?S$UR1#6{LcA?3+L=#H#8aZYj6Xm?%FFk3DHlsgUgDf~lXTGQ z2*&=G0J1Or#@ayG>t>;+oY>qF7lA99SEN%^LJwT(X9iIKh=Y;)el&6yT7FyuC7zt` zjgr~Qm2x))#6N%eBCIS;!pfF^i^V0Pv=giqFiY^ye8(*4*EP+t_#cY}r_#MHw}i#R ze99=tQmOs5@_#hwkVYk^7<_E0$EK=8yJKDCC*X=U95Cx^5G5@uEv)54ySuyKsmemh z=oq1(B+S9fi`jF>JW+c5*5=NR5LMwrOv%tb|4vnAGg@QCB&{$kN|4<@oI|SQ{`CP! zNX5pIS>I_ct=Kl9)b&K3{PBHq*6Y;6vk?ktKUm@tX;P9C;LVO5-|pj!|HEB`MN%=I zGD8(dLRmVpS9VO%^dR5@gJ|ht2IW_IPvQn1`pe5Smr*c+{5snmB5kpdSwQWdU*S}?Rv+q}G1O(fE5n5X#El-rz|LE+HM(?UO)>~kPF zZ;kS+zS2G-k(bP05+~k{m-?ph9qo-lI&F}@PwBYk32>Xk;>=%KOWZ_AJBvE;?L8od zGhRz?bv-2&V!?RrBxG<<)FM4P%p?(Oc5chh$H9n}T?$}TUO%BTOqD}ZAB$T zfJ4dqc#=-OmUxKCL*A&wY*K6-ss=}m2Ye-QS}6if^Fgn4HUaUS_s#gOKbXE9Oj$!# z1|_#>@VVS!RmCIFL{w^nm0!x~h@lt7hwkJW*sC)P^&JeFlY%)~-pm7b#MgH}n2=wP zDy(OgEJEY>F?-3us2%$p|J->O0V9%k=U=_NW`yR!P;`XIOvD<~0@07?GIuu6pwlvq zhPOjlP1W@H*Ij8bC?QkScP;!1ME!3)hfm1+3L!F;MT0(Q1=^GAC={jn6&KdKtnkL0 zmg78@tkkK$hfjKPXx>?|Op8brBT zufmRdv>B%ZiT$3TfpEH_R=@)VP}86In%g>?@MUWI7O&+Qh#N60_VV!gi*3(D`9y;@ z800HT$1S0)0VF_79oi- z3}Xhrp$RnO(zc%yAM261I`*nQZ?D4j=GKl=rpG!wTM1?KrHRbZ)-oB)%=^C4L@j;D)lTMOynoB}z5KFO7fZRt236PlVTmY@*Di&Rqw83ua7&elMRmZs!Aosx%n~yCr z@LlM z)H)9varlFAbd=7=Dwy{E5PrNLt_9!v=FW-;-&XHM^-=YE9p9YJ%aq4@7|M}^?>zE` zs)B%n5jCPbUHH1WPEgzK&N6Q1o28w&wlW##m(3wvD>|Sn?ETIr`#LFgYW1(qaT=3u z5sBaMDDAMXQ9UuwDN3%B8aZ{(LI-r9!>~D%kE@ibZp)C%quRJ3sg}XHe`Di z!}qG{Tc67u?R#p{Wjt(yG}8&)B&T!KdL$kZbwQVHd>rndGEv1Pq$|WW2NIu)CHtd; z=_r>L%Vypz9Uepkmr-7R%mxWlUf36sf^{k7<7=S3Oe6*%?@M&|8qI19*vyM`0)Y^h zs1fwV3kP8k>wM8QqIUky74WlPdC_q!`0YvQvKf}=cbO43GVLjzH?L@NC=Ki=E?_ZTsALBS*%w|q)C5{-$Ltj28o~`Vg;(}mq z0d9HwqdS@bfqIt-$M)*9$NWHHlBhS%oqPzn)WEtI7GS)=5ju-Xe<9i()?#N5Ub=%BKOzO3GzsGvyxn z^2Hx1B6@SVhYCPMBPi4}+E$`Cy-45DiLBVAQQn7_s5v7fcQzQrRwHmr$a(I=By;T?jaQK(_Dn?&?hH^e*81p5G+9sB4T3i zH*bCv4ca+s|Bq40pex>oGUI}2#ZTi)8-)iC0Ch7DT!1{!PoHk&sV4jQoXGR^ta-7s zJuls12Rv`;WYl1Z81*Ch)LElNabO zodyKdRpN3PJrfuqy~ z?+uUP0D!^44d5+*$5;Hu2mNfD!BRUaoFb8;8WZ4;;LM*(&yp~O%QUO+3>7u7#hrN<5cp4&{y!qTzvM-VtvIa!LVE+C zygU~L1%WLZ!0lcNUt~-+G@AUbH7BQe4BMV%x8hPIb*7{f7u zTQC}vKFoYR6RE9@jPprEyW7Fx!%Y@NXr(@eWaiSZ=&i_9=r{__XNVUPgm?9auayUy zy9+w@eljfSK7NI*HU1 zRV_h(1sjC$>wy{u8S)9fgWZ*>p$fNGcFUIl8(aUA5Fmye+4j?5|GRbZAEy(Etl<_i z9?QAqesrjRN0S^Eu^r;W=4_-qD$I1jGO&MN%Hm!Rfv$M3YTD0{f zgYzQcqI{g+L*9+bdz{(@Q1&GK<#E5rhR{TFyWwL7i2)p@KnzpgwX_Uiy`MqrLtU7I zD;~JONYvy~T2>XUK# z|9leSonZ3gn8!z;CbBu^xA;6w>THx>bNv9e2gdqcp-a>ehyJk#>EGmATB{^#-Mq}l z&xb#|%ukY;u}(Wnp~XV$M{{C($Y}#wv;~ zxg#b*rL zXBx%C>|k*op}aonJ^5qTf=$>Xd5k?mAjyO^D)>e8Q`n!!j&J%l!(Y;cKI@$gLP{oZ zHdqecud{bjuff?~vdEEM5l5urb+^qA{}&{l0WH*}|CSAwsM`K_FmoWZgKwK

y(IEKfE5u3{M!W|2M){h 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

    iT=!I$RM4 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

    DCbGk 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 literal 0 HcmV?d00001