From 5ec97c0d6e337a57bce55f5aaca0618ea112e2b9 Mon Sep 17 00:00:00 2001 From: LogCreative Date: Fri, 29 Dec 2023 10:27:21 +0800 Subject: [PATCH 01/17] Init docdemo Co-authored-by: Huangji Wang <1114655801@qq.com> Co-authored-by: Zhiteng Li --- README.md | 16 +++ docdemo/.env.example | 5 + docdemo/.gitignore | 129 ++++++++++++++++++++++ docdemo/LICENSE | 127 ++++++++++++++++++++++ docdemo/README.en.md | 39 +++++++ docdemo/README.md | 40 +++++++ docdemo/docdemo.config.js | 15 +++ docdemo/img/architecture.png | Bin 0 -> 379235 bytes docdemo/index.js | 25 +++++ docdemo/package.json | 35 ++++++ docdemo/preview.js | 16 +++ docdemo/src/buildSite.js | 45 ++++++++ docdemo/src/codeblock.css | 44 ++++++++ docdemo/src/compileCode.js | 150 ++++++++++++++++++++++++++ docdemo/src/configBuild.js | 22 ++++ docdemo/src/gpt.js | 56 ++++++++++ docdemo/src/processMarkdown.js | 183 ++++++++++++++++++++++++++++++++ docdemo/src/utils.js | 14 +++ docdemo/template/.gitignore | 5 + docdemo/template/dummy.tsx | 0 docdemo/template/index.css | 0 docdemo/template/index.html | 11 ++ docdemo/template/index.jsx | 11 ++ docdemo/template/package.json | 29 +++++ docdemo/template/tsconfig.json | 84 +++++++++++++++ docdemo/template/vite.config.js | 36 +++++++ docdemo/typings.json | 4 + package.json | 3 +- 28 files changed, 1143 insertions(+), 1 deletion(-) create mode 100644 docdemo/.env.example create mode 100644 docdemo/.gitignore create mode 100644 docdemo/LICENSE create mode 100644 docdemo/README.en.md create mode 100644 docdemo/README.md create mode 100644 docdemo/docdemo.config.js create mode 100644 docdemo/img/architecture.png create mode 100644 docdemo/index.js create mode 100644 docdemo/package.json create mode 100644 docdemo/preview.js create mode 100644 docdemo/src/buildSite.js create mode 100644 docdemo/src/codeblock.css create mode 100644 docdemo/src/compileCode.js create mode 100644 docdemo/src/configBuild.js create mode 100644 docdemo/src/gpt.js create mode 100644 docdemo/src/processMarkdown.js create mode 100644 docdemo/src/utils.js create mode 100644 docdemo/template/.gitignore create mode 100644 docdemo/template/dummy.tsx create mode 100644 docdemo/template/index.css create mode 100644 docdemo/template/index.html create mode 100644 docdemo/template/index.jsx create mode 100644 docdemo/template/package.json create mode 100644 docdemo/template/tsconfig.json create mode 100644 docdemo/template/vite.config.js create mode 100644 docdemo/typings.json diff --git a/README.md b/README.md index aaba2fa..2004001 100644 --- a/README.md +++ b/README.md @@ -39,3 +39,19 @@ $ GIT_USER= yarn deploy ``` If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. + +### inula-docdemo + +In order to use inula-docdemo to show the preview of valid demos in the markdown files, install the dependencies first by: + +``` +$ npm install && cd docdemo && npm install && cd template && npm install && cd .. && cd .. +``` + +Then build demo and the website (in the root directory) + +``` +$ npm run docdemobuild +``` + +Adjust the settings in `docdemo/docdemo.config.js` if necessary. diff --git a/docdemo/.env.example b/docdemo/.env.example new file mode 100644 index 0000000..ef656dd --- /dev/null +++ b/docdemo/.env.example @@ -0,0 +1,5 @@ +# Do not share your OpenAI API key with anyone! It should remain a secret. (e.g. sk-xxxxxx) +OPENAI_API_KEY= + +# Proxy setting to connect to OpenAI API (e.g. http://127.0.0.1:7890) +PROXY= \ No newline at end of file diff --git a/docdemo/.gitignore b/docdemo/.gitignore new file mode 100644 index 0000000..0c30f04 --- /dev/null +++ b/docdemo/.gitignore @@ -0,0 +1,129 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# Lock files +*-lock.* + +# JetBrains IDE +.idea + +# Project + +tmp/demo-src +demo-dist +tmp/ + diff --git a/docdemo/LICENSE b/docdemo/LICENSE new file mode 100644 index 0000000..9e32cde --- /dev/null +++ b/docdemo/LICENSE @@ -0,0 +1,127 @@ + 木兰宽松许可证, 第2版 + + 木兰宽松许可证, 第2版 + 2020年1月 http://license.coscl.org.cn/MulanPSL2 + + + 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: + + 0. 定义 + + “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 + + “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 + + “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 + + “法人实体”是指提交贡献的机构及其“关联实体”。 + + “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 + + 1. 授予版权许可 + + 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 + + 2. 授予专利许可 + + 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 + + 3. 无商标许可 + + “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 + + 4. 分发限制 + + 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 + + 5. 免责声明与责任限制 + + “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 + + 6. 语言 + “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 + + 条款结束 + + 如何将木兰宽松许可证,第2版,应用到您的软件 + + 如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: + + 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; + + 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; + + 3, 请将如下声明文本放入每个源文件的头部注释中。 + + Copyright (c) [Year] [name of copyright holder] + [Software Name] is licensed under Mulan PSL v2. + You can use this software according to the terms and conditions of the Mulan PSL v2. + You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 + THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + See the Mulan PSL v2 for more details. + + + Mulan Permissive Software License,Version 2 + + Mulan Permissive Software License,Version 2 (Mulan PSL v2) + January 2020 http://license.coscl.org.cn/MulanPSL2 + + Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: + + 0. Definition + + Software means the program and related documents which are licensed under this License and comprise all Contribution(s). + + Contribution means the copyrightable work licensed by a particular Contributor under this License. + + Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. + + Legal Entity means the entity making a Contribution and all its Affiliates. + + Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. + + 1. Grant of Copyright License + + Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. + + 2. Grant of Patent License + + Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. + + 3. No Trademark License + + No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. + + 4. Distribution Restriction + + You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. + + 5. Disclaimer of Warranty and Limitation of Liability + + THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + 6. Language + + THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. + + END OF THE TERMS AND CONDITIONS + + How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software + + To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: + + i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; + + ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; + + iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. + + + Copyright (c) [Year] [name of copyright holder] + [Software Name] is licensed under Mulan PSL v2. + You can use this software according to the terms and conditions of the Mulan PSL v2. + You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 + THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + See the Mulan PSL v2 for more details. diff --git a/docdemo/README.en.md b/docdemo/README.en.md new file mode 100644 index 0000000..55c4fb6 --- /dev/null +++ b/docdemo/README.en.md @@ -0,0 +1,39 @@ +# inula-docdemo + +#### Introduction +Generate inula compilation results of code snippets in markdown documents + +#### Software Architecture + +![Software Architecture](img/architecture.png) + +1. Parse the Markdown document, extract the content of code blocks, and replace the code blocks with components containing previews in a new Markdown document. +2. Put the code block content into a sandbox and compile it using the latest version of openInula. Report any examples that cannot be compiled correctly and compare the report with previous compilation results for regression testing. +3. Temporarily replace the Markdown document with the new document, build the website, and then replace it back to the original document. +4. Integrate deployment in CI commands. + +#### Installation Tutorial + +```bash +npm install +cd template && npm install && .. +cd test && npm install && .. +``` + +#### Instructions for Use + +To use GPT, you need to create a `.env` file based on `.env.example` and fill in the `OPENAI_API_KEY`. Then, set `gpt` to `true` in `docdemo.config.js`. +If you want to keep the cached results on git, you need to manually +``` +git add -f tmp/demo-cache/* +``` +then commit. + +```bash +npm run start +npm run preview # optional +``` + +#### License + +Licensed under [Mulan Permissive Software License Version 2](LICENSE). diff --git a/docdemo/README.md b/docdemo/README.md new file mode 100644 index 0000000..82a1ff3 --- /dev/null +++ b/docdemo/README.md @@ -0,0 +1,40 @@ +# inula-docdemo + +#### 介绍 +生成 markdown 文档中代码片段的 inula 编译结果 + +#### 软件架构 + +![软件架构](img/architecture.png) + +1. 对 Markdown 文档进行解析,提取出代码块的内容,并对代码块在新的 Markdown 文档中替换为含有预览的组件。 +2. 将代码块内容放入沙箱中,使用最新版本的 openInula 进行编译,对于无法正确编译的示例进行报告,并可与之前的编译结果进行比较报告回归测试结果。 +3. 临时替换 Markdown 文档为新文档,构建网站,最后替换回原文档。 +4. 集成在 CI 命令中进行部署。 + +#### 安装教程 + +```bash +npm install +cd template && npm install && .. +cd test && npm install && .. +``` + +#### 使用说明 + +使用 GPT 需要在按照 `.env.example` 创建 `.env` 文件填写 `OPENAI_API_KEY`, +然后在 `docdemo.config.js` 中将 `gpt` 设置为 `true`。 +如果你希望保留缓存结果于 git 上,你需要手动 +``` +git add -f tmp/demo-cache/* +``` +然后再提交。 + +```bash +npm run start # 编译示例 +npm run preview # 预览效果(可选) +``` + +#### 许可证 + +遵循 [木兰宽松许可证第2版](LICENSE)。 diff --git a/docdemo/docdemo.config.js b/docdemo/docdemo.config.js new file mode 100644 index 0000000..a74d667 --- /dev/null +++ b/docdemo/docdemo.config.js @@ -0,0 +1,15 @@ +const config = { + siteFolder: '..', // website base folder + docsSrcFolder: '../docs', // folder contains markdown files + docsDistFolder: '../build', // website build result folder + cssFilePath: '../src/css/custom.css', // append to global css file + siteBuildCmd: 'npm run build', // website build command (relative to siteFolder) + templateFolder: 'template', // template folder (sandbox) + templateFiles: ['index.html', 'index.css'], // template files (sandbox) + tmpFolder: 'tmp', // temporary files folder (may contains cache) + gpt: false, // set .env file correctly, then use gpt to extend code demo + demoSrcCache: true, // cache code demo source files + demoSrcCacheDebug: false, // debug the cache. If you encounter failure on cache and do not want to fix it, set it to true, and build two times, the invalid cache will be ignored, and then set to false for regular set up. +}; + +module.exports = config; diff --git a/docdemo/img/architecture.png b/docdemo/img/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..1739254afdb55a19d8cbc15896526f507796030f GIT binary patch literal 379235 zcmeEObzIcx_67t*5d{&@K|&CamTnl8Zlt6Uq+7Z{R1_qXZlq!8?oesTp;JL(Na-B- zy|e4;z3cw&-9PUB=k7=Ng5%70-uIm6JkN8^J1-UGCGgHe&ZD8B;Ymq~-bX_tj73Ak z^vA&lzhPc!2?XEJ?e9z6Ma%ELjsQPAHF_XrEGLJ?0IqS+u+T4~ok2YW{EvnXLBsm( z8VyYvo%H+lee_%39)p2~=5L0E`Ry^9;5+J48ujJ-_cO`pKb|oeDvE(?~2^$ckGQw*^vLlvOvY5z1rB4T;G@Je|XVB zOKF;KNuAN~KMu*?Zm|sqC$^z~_uYzc2SstV!`XoLI*37YNq>Ax?cS zn7=^$`%-+r_yyvB6=}af{O9`h3&j7TH2VGm@t^9K?=KMli_-XuiT|8FznJ)6k=9>K z{O9!f#l-*0dHBV|f3^pH*(u+-{l8rNvQvIW+Fy3c&meVHGt&ODQ-0QiXus@~pM&R@o$@ouhx+`oQ+`gLUv|pRB%c!c z%TD=ar~FLm|LQlt?3AC8_LrUVGs(xn|7EBAjI_V(l%GldFFWP0*5sF+^2<*7s}=Ye zX@A)%KkGqsj9=3!KcmVoJLP9R_{&cDt2OzDr&BB*EvXVxDyB9T8+G=-AfRTjPSSBm6Me4Jmi(IY&VxZD#1 zrrRi(p(=vy_NPbu456ss=sV)$b5`)bO7UFm$LNe=Rj8P9vltXk^w?}S`}(O#bv$e3 zx^GE0KVw%6N9K$_a{3gh*UV4!bC&)2H@@BYw<*#&!acElRT=fk;W;~dh(AB(uMiAV zjl?$*))_o<3DkiB2HU+!XLY=of6&bdw<*7^k>_Yt2Z+tZ|KN{wU^;G}8l_^D?LEs|l#KB)w!x+|ew{rXZjD%s$ z{`3S1f9p@KS)_~gcXyQt?5f(G<-a#a-m49E)t+D-?5Y!na;AJe%{KrZ0MI7Ht!uynRG3+#W*Vu3F ztW65!0lYBlO}>NJhASw@L^2^>gp|tt{=SpDF)RjL-MJ-v(0uQo`z_Co+`l%R%|t(g ztzwn>=I`Da4!EUd1pwW|KD zNMDr4m`@G2DV<&0w0o#rpj)S=u`s(eTQnbQkzXwAFn5VNB%3iLxSrq-neAZW%bUo5 zdb|ba8rBXY_xRd0Q)zs(TA^_Ex-AqU;#F%Hzji!Vxc(z+GznhVF3sPO?TSnI2J>Ac z?h0T>SQu?vu9>JHCwCjqTuLKU5MMs6jY=JH>(8kM+{X{FTv9K3N@ z0m$k>XUkQMv$(Z8Lt2R4aU0f?tM2=s{o(JP;Rd!Y7c}U~c1+m5$AgQLT7{R7Ti0A% zlaglh-2<00CB|LS&Qq=?ZU=Kw%Cf>9TU|VXJyZIAc=xC4J>fp+XZrJN)?&qjuWJYv z)a{OuO;va!m-P@Can{n8gtisk<|5Ps>Yu5GI}T}Ny5!cZRcCvjo|wV%%BAl;zaVwb z|Ds&qLNE(FLrw<7VD>(nznPNlH4|2=P|Yc5FcI%6J}bXFr%uJiiq^ zmYUA|d&C!3s;<+nZu$`IPV@&T+uhj zRSSu6*0mcg1{lW6d1DpZYc=b-+1m#Iu$krJdD(Oxx6{zmLMk$I8%_=pN7JWX{GXo^ zE|D)0-*C3uWTvfZdD^)fNiO7;W>r2)i$o}ROKVvciMgxWC?DZ0jDw(pGfLeZ9G(?1gQ)SRip(_2UV&#~>CNmS&7& z3|oWcDkl2N&3w+1IVe^iZ+0#dNA8XohNOqd^V1{27FiD0=J=jDo1v^A#6{-0-PepK ztTowp%JeF^y7KLu`+D85d01ti(bKU(n6}I3XU|O1SA`C~gdt`rPF>QMxLJ8Zvb$6u z-?#)U2KtnKZ)p&=q?@-Qc$7n`s^R7fwln^52R-5=M^Ek&Q7c=Nj+4e9H$zQuBLJ!U zn9=GCZ1X1ZcH-&goj;)R5f=Zl3(YtI*eyy$I$s>O!!L9qqZxV4wf;TcCtFtLFr_1` zi^BV#wri%5`A9}?O~ZjKrDnWY2=nF}XcWPVxLe|d6J0#h+JYiSDj>m zFwKegwR&QC9-hIhe%W~Ml2G_e+WiSB=b>DU)z}N81fmN`-dsjx9Jb`qp3 zD(4CH3BC~fn(y2q@ZhnYs5HPZ!tBbEZPVVSev?N5mTeor%5bVyp7rdQML`~fy<($< zG!r~~>7XO?&Hqk62JV4Gt~H36PyMo&al$<1x{zRy3eQwf04QN*-=>{=C9L->9wdCN zdO1Iqzx+}A8!G)Zc+!bOET6q`&4Q{BfL61Q(QIZYOx@s6%HCcX<-ogoJNdq2!0mU~ zApt>SN(5oij1f4Zqn0II45}3tRj#tDGyT!uiy1T%=K~iW-~wG2L4(s|jTfXk2Au z<2bPsJlUUBmQBkm1F1)fctIU3NtfjDnBZ%9@i?j;!#_3o!4|Zlo+{8Or~mG&Azm~ zMj;^MU=_%%bmZQ&NV6RMG$4l&W8&|n3FL2k?02NE=?U%S4%dy zA-W=a6ZUwlT7ow92lLswB+}8X15buAe%uyJ`_oIhL{nuSZOr~IfO8Rh6&wQiZzmd# z=UCwYwKXtpy*I;>WTy|ho%;b$4aH2F?wRPIi2pF(VzOUpQ{w~j)Zj%qiC^efwUWE%Zcw4vJSF<;LNZK?5?Dy1hDkz1O9;g@jg#rd zOtaav=bqJYg8%r~MoEuwP4vpOFyV2nd;o0@BM<%4qj@!-_eTmSHNTX9_C0w1--})X zz!biyc5+kDG)R!a4M0{Q>W|i7X0tYRJ8A({_f`{lP`Q%{z+Pa|u9b|-(`z;&mGvyS zi+)kp9Y1WYdK-if5s;|1bQQeshCUF{XckjtOXMM$%J&F^>Xii&F;(Ei~5V^wwT zp#srrO|tH8*7&h6EbB8^cy16{&RHkq1YF%kAT;> zzPfykefX;{+a&A)Y2+58l zC}#OyW_*JQU!X0c3fEj`l!-{1&2;@JH|(AtV?ix@8J$l7K z&p%lKzH3aj8_gsntzDgw%&<0FpsKE%M%^#+4T!~}m5+~}Y&khv*PFOSIj(pHwTp|9 z7(z93y5nXTR`@O}MXmjx{VAq02>tNl0$&Ebe~u@Ugj_L!)5cl$7gnN*Y0ASj}`0Yl?bVqveVj( zwZXq;oW!UgxFH(LX?8!**e+_<+z0^4V9vPeaNiyKdA2eOUd|uK!h5qZ06UWM!^Z3I zGQK|jC0Mzbv@iMIZ~Ak_rF6{y6`4S}W*PsF@J8KiZywh33)kKlcgK&Kd$mXiZ@%7! z=^+_{AY3_Gq@%9CJy;Rjm#d>!%JXI+1E##t&HyUQOhnvP%ZBAe4%!v^+g?+{FAA)L zy6qn8dCda;5&9b+dVf)XsV2c353tDCF^E_Bl-n}V%U(cSEl^ak{|OduKS z6pc5hP#zFFipJyzMbUEHFhq!3HBNEV<4l}Yxkg_m@8{}fVy!fFU00f}BoUG3gr^i< z`=4j34)}Mxl4=MCd*9wu76di<-(i{WS zNg4BcFolS)K+ggQBOACxt9Hh^*Ite4xYy!63Tct!&zIm&&k^1SA|fe4~{j zDZg?ifVMNPp$cS8fYtWeq`TPQ5a7czjuxy2P+C5+;;_w+drtTmk`W1A5A1zKJmD7Mm(7UL}GwZklx2Qo`Q|>2(N^i1LHhY zvgK{}K6w2-o}iiME&%!81?)@DWvyv*f(bGb#a2g>RPmst(v$t<2*PN7NAp3V+32nJ z6eqTTr2ZhJzo{_a@ZW-@);``{?c4rro>P&3%`jcR$mUypP8Ns(X1)5_rQI3p2Jh3O zY2~L`jt((`u8()AXKv0@obI;{RMkf14X*?%FP~JCA@>;3ER!A zUPTX;0vF&4B0?5d7=wVr+N@K}4FoFjxM{uqV((je^1hzJNkHRbd9o2m8}Fm>9OslV zm)W4elcDV!YCpi`|K**fRQkdlOMDdR5pQ*k0u2mK0c1u$$0Hp|xr990QlW~*C9fUXJ=XOlpkfvis?+e*aBh2e0Lq9u7(?nn}kyfOaI9qNo)k%APxoM z4uHsJ9<9}|GV4@xdd_nsNdXS26;Q~RZh<=ivL%lkmwUTfy+9Ymdhu+8e%M~O%AgZp zG9*IC>AO8|0V5B9_KdMONDkx94(r-9n3v5=hO*s-dWKeu(PE?KD!A&X|4@DGLqg9$ zL(TMTw73j%9fZ!KiVy3bagNqUOH9<4G^3Vf)c47q2dBMttP34pK+j=arw_O7b*M7L znxUA&vFwc4m~C~I24#kRAD~ddSOPEfrGSy@`524ZO`iIVpqb!Cu=gSmR_l#JU@O3` za_((*vXUeX8>AcKqVf&p!5GVI+02Ttq2!szd#Caj0?$<$r%!e()Dh?=W%b$A|L=DG z;Sh8%f^GF~wRVgT=~u0fV7nnOFIYy*KHS@iBN?qoW6HuZn8>?@QGT!`*; zXeDzleK6(H^o&GzWZ$ZJ7yDl_SS#+GXWO$C~CJoA7?|HRMvz|dSy7Sb-Ef=w;+6vA8pj`j#&)X zv3Bw77kDEXCmrB&2;i?u7u0S__f^;i6nFD4UkPy>*5PT!ds7bNALpaCP)>)%-YcH@ z5*oEGb^&o$C&6F;#-l=n4^7$V8M;mdwWK znfLye^bm@zZX=>NDjqh@pj^)sZFLKfh%Cz~j&IDbd!M@7C03HbN=^A~KQ+F~6cZC5 zcA$yF5w8KZUCyp>H%G;sIOawTVz1%UbI{5YA*07oZ=p)+xY4n{w+I%N#cQwr>pR@$ z9;Ns8#{xtma3v~I8m~QTkeSWYC#w@c6$N^eR`0WvXS?el+$SP0I&ZHxT-{sFugS-0 z%NWQL zQ#8Y>2a&+k>a<=Cy?4>f4ytOEj#89!Pv&Pt1Q{ZD+k!=cVG)(~>p(H9=SgJ_&8>+N zd53x}2uvdegb!~2S8kE)juRcSIc>+XLR@Q++r2BL)y4 zx^}*v+LzvP61~8U24%R<;bDn0NLcL>nyDYn8&d}S1+i}MtSA|(h9~)w^guM*=_Caa zIexlUHmoZ{NGC5FrTtjS4xS*b^}^!I?8cWcg$$e!{)Kq^0L3y87e|Pvgz{NhSz7NG zTBoPN=oI7$ayh(Dj-NMMc?HjI@iuH{iXgL>_;SoiUu{AA{BfSS?F_2JxR~=pyg}wtNf^`(gA^^0Botn0q2Iv{2{J5po_X9k{> z`S_x@AXV+x4#onecY|IhTS+E8f#uajYQ(|-0TF3o@(k9CM4zqlA}Xf61e&SqO5EZ4M|a$VpImIuLM=j=4od4tCN$A)DQZn?BCi&+@y-e@h3j6?%-wF|BTq)8pU# zp*pZzBIW~Gv3~Q_Z{$2E>UYZuxJFy&ZDwk1w4TgU<#JZ!wNiN3?tAf^zREuqel=sl zPfIstl*{Zl z>G_@7{Pl&JI8chGIT4P+9RT1TY<(DRnU0Ijq9EBCfO#B^PqVNXv{@B^ZbKFA=po>p zdFF8s-#;%i+jMy^jzYobQA9~3EZQSfruhc5rz#)B$b%M`=V-6DPR_Cd_FD=-wP0kW z;S{+}R1nvY#bw$pm@%I+^{p7g;-K2R*KWY=*u1ovu6y@1Q?oo?2R+iUfAiX>cW}Z3 z8y=c;#YU_Fk9HeX7fD_>9L&cxo7faKVP^x;Y1Zh2ZU#iN9JNF+QzGf9)yV6FSAo8U z*5HZBZgloF6#ff>@2mrpX1e>EznbJz z;L?d3@I0EEtLnh_SXJ%nZTYv{pV#vnlPM@7wh(zL9IodD8b|e+9WeoV|)Bw zYQX!i&S|>V7h*o=dzM_X;bf-(g$pDk_0C_glI#d9v@5lK1Kb2(_NkTaO1HH0F`YqumRotM_y<|V07&@~QPRFkZ^s)hF? zU&5^L!L>M?fErNX0~?$7MbZZI3K4G9kfzM(qp7{6{vw>bz{Wltr=X;~eI(IoRBd%c z{#T*3m1*x2Pu_(`CCV<72z^LRGy<-k9CsA1n}sml5(s0fVy`V8 z0%JD&`H!4#+lxf1WJH`M$bK;J3@fCLq{3*^?PgoJG=}!&o)!lIzhEQ9sUdjXfn~8~LmYtT(M8iiR*n*_nhRM&3i+$_OFSAt$qB)Ax{1ywA*RhxoIgToMT z`KC(%CFPrlSD5HnSXa);gj3qNdLEvX@RV?n(XM@5DG*M2mjNdG7y>=_O=$1c=X(*dviy{S; z+_=p0GH>kkY5(@K&!2G8sC_?41gBFo$#Z$)q>)E2F6UAoJj=BZW7k9W)*3Vi#1LuB zTlnzTJlZu%^V%?t+U{I7m2zTKLNKUoT#XUXJVuPHQk`j08JQ zyKi|4*|S^U8lcK1>0r{SE}gsKfbopcYOJ&!2Qo9peFS=4Dj_MhSh0rJ!_IP$etUj= zI*jphD-L4$0`-DKwyJT4Htn188h-u}464$cg^{YEd?oeA2MbB;roEJXd}ow1WZ7Wz z&h^+0aHt-QOeE(Mf2_-o==6+2@w;GQq$M&k*ixACf#jdiePomOAT*%K>^~T)DU%n``J73qtu4kjmW~6 z73u?r9u910@(riOeNTcVj*gPnOK3>YG4C=%ldBX1`*lC!j$k=4Dkl3p>PZwbSTGx= zphKVaa4eU6O;ukkw7K26G9YDhd$rznxZECe1>A-?M~!K6I3F$~|Bao*q5MRv&vW9p zajS@nym>WUPF;a3`B}k+=x1?B_XeX*12(<5&sf?UdI`*VZ!eGaQnm*VgCb?bQ}jb!DA z&+TmxA2VMOmLI>$Wgc!c*qtB%8q*p~%Ze|)M{DQ_CZ~@kXe^}8f8csC1Q3R_{G=9O zq1Rb+ts1AiQtL_0?nEKdaxXr!2PF8h945hGIf#6DPFVix}8VX^Nx3`cwnp5Tajw+40DL(2-SYL}0sx)aFH) z7}@)&*ZAa=%muTi-lw=XIOJ~l_&kHs2C@g>OGaU2pQX(Zzon9;xRhIHwM^o-(4A0X zDH4y|AW~$dr*AJ7(aiGWOQkU@HGoBA4HN(eudiR{(D(Zr{7;E#cdOAQ{Io7><2L!6 zw@FxiqFFMYH?8?oX*!FcTyi<^TyhR}@+JDV!11z>_9PSda?=c-H*Y*$hNKUT#`w$- zSEEk${q%TFgsQ)ttnST6-(Udx3ikpTzY5A}%i_gN_&5%X^+MT33U15j#pyt5@mDyD z+FXivYMfU4JuZ7e6E4B!QG18Da>g2!9yPdp_GcgIyFx1z@?p6Pu|e3dMtIYIVZL*b%{cl>FmYpINM)!j}UcVqS*{aI1q(coCu}#|H^2fr0!dV;`EO zB=&DU{?c}%Ie;iEMJ%ubm{_KQ=ZTq2YtJsH*d0#Qm=7|H>muBDK_lP>nSfJiUfdMJ zzB^fF=3c|L6SHkS&OReFna{g9i((JMNoj!NQ5(K0_Mrrn5&=4hMU!1o&n~8w%9wP= z7r`zUJ+6t!aYgTDOuV#B&Fs}vk0I~q` znI}emzPAYxTW&c@1yoAO#zeaa=)H1bbRmI1ok7^n*{EY+kPKu+I0IsoJ)fi!WYoxu`}X3ta4h_G@Gn;RFQq>Jn$JuC7|4b z4kL4AAKy)Z-K6_^>rVEfR^!?f3u_h8PQLzZU$ZUtC2~v5 zw>gS$pHzCcI)D9iN2B=BO9D&5t8HKkQwA_KGOoANZwGQzWz2{3nSn7AM<6P9W}iu` zT(;bL(tP|mwhp{e%T3QJD$#RSqu~j{%=X5ra=LUxn#;zFxPFD_(e6vHkP^=$r`gO& zHqVIlk)rqe7u(ch7+HZIwh7RWwCRkFtFg$SR#zme9t)#d?u*f*XQp-5A16HLP;J=$ zax1MWU=6(*c4>Katz~%zmhYYz2DM)TPJd73`uvV|K^&NUkviO4Ung?cZwtNAUt*#F z9NFSwueEES2go(n2K-5Pr`{eNZb+@n8N;QSOHNJ9-us`=wzdu?J3#E47!Vez4c>i` z@2m)|7D)4u?O}8wf`HR(wo!*%J(V!-ctqBLYMl0`N?hvGf2}5U+8}v}K7QCvv*EPN zW?FZx{>ZvBO6gR$Q2Ov>^=5JwEC|}_P`SH6hq1w=k6gRnW71u9L!U}98Hx@kGINaj z^5s#O(7mL*Q(r_tEu?FT3HS^)#$u5NPD&+?3mylXu4S)zY;+512d=sKrMzBo#F{RZ zJ#0RX<+6~i38j%CR!d)DV&J{VxuLO_vQgVcRiScDt6zq z-q_j8F7Ug~?;uI;wg0fQ3ax%OaG@4(jm?D~3e^dl+KuO_Cn^QHI%B0~)F6s3BPS2H zdPIWwZnp-LabWP6`aA{lGEk@2UE*wD5m@XLU!2@Ga33-?E5+yEBOG53#fZXsgpWS% zrg7?TfI>t85ILZyS~DNrX{^j*p=82r9>DL1_K6KZZrZ_^m>5aBodST6a7OifNzh6X z^^+J)?@N{F6gfRmC^~<>)OE|a)wd|{3OyC*Mfgqtl@{qgbTAFEbq6vGfD}Pz_1ZH5 z=QW4v?E~%g)}0buI;ox-%`)?r_fm~QbXFN+38uBy@%)Q*tH7|PgIt}60CL|DlgPX; z<=KY&LdV{Ya)bYPiAjiE(h5v_3wX0u9+ynj@()mq4P){kC)IPn#|iRE-j5@e1{u5= zrXak*Ncl!XD|Wpz1N5DNHA7f67pcYM?F>o`2`odXgEQlqPI4w_-ioUxS4ob#K#M-# zNN#$+eHsrMO_C5EYbHp|do$1+s(CeSRTtcoAYf7*r$fmPCo@c=y!=~uBTNdNlHLPr zrz|DO3cN1qGO$0n7-=ccF^@r;GM?griW~(7@LvfVI&?Y7X$(zF)&owiQ`Y-Y1-iN8>eK}k%sK~i{?Z43EKbUSQ+N{!v z#MQuAC5O-w`4{I@`zg(eqEXl7eMALa{b1baZvEF(avsNG-2Dv0D9%qWM5O%uO`%Un ztt*=xcxq;2SKD}LIj(II{LWMiS@R(JZ%&v7D^tO1CjqD6N;j>BNsX26LG^ zjLC^pJWEffq$3!l0CWWTJUrT64XbnC>)2f#4@xrj42(E7t#%raJ;UOF=x=^gU^QM& z5F=V=*m@CkEdq`79LQUb)*IGuJ$Q0ry|`27aqw89$l%%HBU#u0V10e!&AlJD55-6mEI)&nXSQZon3MN<4YpO@8bnIR z&ojkRbs{|Mm6HeOLmb9D(dn=HieMI-b)5ae)!So1%=Cbg%VKCdClQP;89t=PTQl7o z?TXU#q8D=8{%Za{VgrOwRpR0CXs!kaoYHt8<6p4u36_-FzWMk>ofrkn%}ZjYuW@OD>Rn`zxwnbIpJ%S^-hnj zhp`fEe#37{HLPu$Toj0vA3+9|01kyLit6i0by9%tS@M}Kxj62w2b7b;Y!h1@5sY-W zBrM?o$7)Pu08|E@s{n)6>`#JSuN;o_qP^okP&&;hm5$@Fi3H=E4^*Y-;gndAkwee` zmTlkKdDIol#SX+}jId|*b-u?R)FZOG1IsNWia2{?biS6N0OV%x1W*cAdJX;*UL#7O zd{&YLN_c{AFVQs-07=MtSSSr?oB_^nhU)g-AqpaxFF7}*%S65MAy#We4CTeCvKjqY zNQ5FKAKxg>h_Uk$Ys2wl(I+2~z!ltle@Wzl6CIEvo6RJ8(Le!CAArf8P!z57vN4F@ zggVZ)1bM3Uxho1K>hvFJ)|u?^AdoVkrA4+5*n{wRb#-AV_J|CtZwBC{MV_xu@ZKAFm8}fL>G13h$NyvT3WP(sV z;lc5>>}6i!=~IJ^owOdD4{sVzBcBGO>%!GB-`&zDxh{9672zY9*^W4GX1p44OX*#1 zTiYqBz)4OO4 z<7N33d+6a;GKt$snJ*^l#J17tNZ|Wh} zXa|Twi1DAI5QQC8ZaXW zokHR^i*09L^4#ipg>&b*X*dYHG482iBN=)i_pOA~v1-tCG;IcRRP&c~MM#)6AGwFX z_J)AhygkNq{Tf7eiUnX^N9FJkny(t}ta-T^pO6F=(0PheMq=ikrUayOye+_aD%ohQ zUqIesCb|Q9&YfTg+HXl?b*#*4uOh&0)xw0V)-(#30w$X2z*NmJ%Ev&y8#mjw9u|Ik zn9Zn^U8j1U8!cINJp9Ig61hK8aSh{@#6f{LQ;39}w-9{GzNScac_=Ro$jE02S-?(+ zY#jk=ujet|$FCm<6<&(*8p3E^F}i6myxHdPCMGo7tWm;Io~pu>qb$yD(+o~20?@H`j+ljZ700{1r@ zm}hN(Ca*XJwr>Jzw?er?E>}QGhXBo7RGMn4m7V7_+0zJSiOiTL;P)KyRLCY1a$1Qt z^3FS-FsAK1>8RHA!RQ)y5wdv6Pf89+6<; ze^vH@+Iu}w5<0<(zpw&&j|x^d>VW}qPV6>EO;gO+Yj7tJSnjCP()xM-OB9iy&(T(% z<8@#e3E{RhRr~V#6tv;mfE6#eNmcZ);&Q~4V!3G_)n%Q}SAWF9f4cGkc1Q!s9S|p< z*~`80%AQ}uTnE!#BXmo^E4$}#A+#Y|qr^DHmyg_S@rJiE*V55%!GX?JLii1(2;eF+LeW+Hq%qZ@>%DjSai(CRRA!gLwzyIceII62tBL}PXc(s&J2G7=5ntQ zhUGCJp6-Jf(NsMr69Yd7mtQ)7Hv#2vjBrm|ieyyp-c`($Pq>VynALPW?9Cg?<;=|U zknLkYp?HLh@NN&6S*XJwpZ^gR{RNFfd0JKq^-8JY<&Jk%AA%c*ltXw{U^j2l8MTGp zVNlI^RMlB!zwia%kMJ_^JH|}v-7~PeUaEA&a=|7*=P&qD<^s1_|IJx1X%TAE;rxWf zJs!vl7Tx>62y-ew>E0T)m}bzxiY>t%J83#g@!}+r*Au9l$s9)UQ4p?H%h9T~=BY?I zn{#m^F3sMD2)b)L*6|w}uTGNEr^gi@R;I z$~ctzRG}v)Znu3YNztRAfH($`q7RoBBvo&Yf@4CSMAuv)gWA-!dbKWnrNQtg=7Tv> zpdDoetFRhZ%cW|uID;ak{Eka)pjpp64g)^G+*v&52|NEq3Ogq$>hq}KM|Qv~YjViv zP%Z|Tt`gl{n_Paq?tmJ{k5t_`69|?^Yv?Whe{)NIUwWJfz~My=JO!n*@}E7hk?_MZ zSG)jA3p?_^NM^1|bJOSq+Y|1`Z8J5&>jd`ychf`<}kvhvM-;51oY+FB{;85^=INVZ1{AYolgoZFeO{&)gtQQfXoLf^N9URo)% z4gu11n?jbSg}(;Oqidz!qb<(41}PC}&E1ASX{xhYY6 z;qA&=9p_@&6#Vs%K*E<~{&e$d_@t-761U%|Fi7yZHNdk=n0OdVar@Jc$V9v*7S=#c z?#8SqX76#nmIbDSqr;_$Y6Z7o;0O^R6BmI5;~=Ju74fbI_?ejxQ62~7=P9Ju`UW~) z+X<)`2ZFg_79$J6cOLP-#3K;hS_yy-oHNyqFoS2HMoUFc6sMo$pRqR$4`w{83KTo2v&~ z3qlAFP6#l3e!s$6#}y1J)Yjh`@B%n}7i9xMK6J65&Lc#s7Mt|2fO&^_ zBQo{3;)TNzNhl|zFV1S!WGM|Du^o8gg*=o3Wp@q;i^zJM0VEi&^|5%fx^iUi4No<`mM$df)?97bsc#(M%LfSwL+VW>)7h8{#b~7Ho8`qo&DSPQMO>AY%F(dFj!lhN0@V7 ztK724Qkt%BI9CH+EWdOYuTTv*2Lq$z7fIna=2ICogJ)Fyc`ndV^@EunI=h~H%jhGCm;WHWGD#md{na5 zZBBBOT6vQ!*-eXtF7T7ofk`>vmDu8t7W7_TbO<4o1n&rVO3EDut5T&pJfFXICW$my zm4L%qaq47vmUGKvyE#{9F4PR){NSI;huJR+C4ssicZS7ISxw;?L7@G_*>(8NR|w1H zbZc85ILs%Eq33Ww9U|@(F>o-Vg8|V>WB6x<1vm6=6zSt~6L^l^PW= z9+Ucbg1+Vxyl_-B&7#5&Ar~5RluQzFOon+C-us*0EEPR)y++7FF1Ih=Bn}>|akeq! zdR((1jIyS|y|#lHqlZkw*@iI=JDVRqi1xJ;fmS(>m${-(5GfDDFn&7|Tef!~Pm8Ar zf~!*PVAfE{*%r@oh>&L1Dh~%PR}Ht7H=sY=IqPn>Ti8b5D5L*jjmdrjbHe39n>^74 zR(`}pE3_-bjA|bZY__QA!ghCTM&tSH4=qJc>&s*go$cJD`t&1$mgEf? z&^IRNvqMi?B>aSAJ=7(1dkW$$!ju|B>u3dS3T>bF6t%scSrD4SQPODTSubwC4{j?VamLY;j zmSxb{+HQm6>F`cj-*C1PkqEx7d(>k8eA0plVL_*v2g)4-Q0;HPfDYD#7~bvM&THDU zZ=0&PaI^r#V_36}IoCQM-mD^xDeZMrkhKVk@3;wF#N?C=Rt+fs)OEy&eX87m_z z8x9WDwx&wq%_QUcoB(f<{J@y>>fd1+$^_cTxQw9p_(5KQPI7r>MU6fl z$%gw|mJQOR=7RVtcbv()%c&#KXDy)Lh}QQB8+7+Vfw7D^IGN;qq5-C$IW2R4wUVT%=Gm$kVo-PzgyWpJ~2Mn^}=r3SsF#tvk*Db$BN0*M!>Hb#4)f| zLxRpM2V?QaQ?Q22on?w7Po)z87{~E$G^v-o5)oUE?Nuj(PzL%KQQP=dSSK zBDJAqP8gc2u_v&}<1Ua3KETF<}iO;yjf}1~Tb}MwQg* zh$|Rce6p6|bxp{y2v^o z|K5X`Gvvo=f-6jxMwcrlPJQg;%^Egv6J|Wc+wQxT?MWiuvFPCpsvR3eq&(Iu99d69 z(9gzWqed-eqn-tPi$;7y4A6WpTPX^T3&}`pTEvi&r~MS8!5h=&1p*RUO$0xRcCC_U z7|SP9Z|I-NWGUye9J&2l=!4_5IMuk2(zOKVsn_5wYhuH24xwfPjUbblLMA}>IHbKZ zGJ;<8dsheaxp}5sQs-Q?u-=wTur=PTX|z7tTfdZLMCUv2fraP*U8+Z5Xmm5$t%t-E zO|bJh^45TRHrW48)M$nNfEz`cZ^fkFwS&HRf?NS+60Ob50!^N=d{XbD^|boQcSm$1AhJwr{UkWl+p(}f{7Bt*{ZNeHd_h5P9&Ijxgjz{;eC7qoI;G8 z0Mq6zCcYxaU+=Yr-0}N2Xn__2zSzr&3jVgTl{w7DmxO7>4@y;KH`9Gq8R^S4y9g z@9~$fIborp`lKIZo%_Z7QfUxEN8r2(b07&Tu_sa(xvlI9X6BIR`JDlc>$59(EAQqR z&+jOW5<2}EsjJoJ5bemxXs`K4B&OXfC1>e|zXDVUqI860v8Y@UVmSxYX5lGM<=D%} zBrxVp;+a$`4f&+BY&BXe20pb%DqE+f+|*XRrZGg#>Uj>6_ImT%CB3Y%&q!94H>G}1 zk8=g72s=;~CbE~wI88&D9uzh@QPiA2Oi%Q>{h4z# zPc&T*9~`lq9mHyI1~|iGeW;P0XtyGb<4E&+?pMz;X;iN9a2n*T54mb+6&*W^R3+$nm z50{6_2Nhb_G!Wmrn?+2?gy_I%lz=OLb>6HqyLS=S;d0sF^b>##&LeM3xBxcf*X?Td zB%IhVDkKWF%&e;swt#^rM#xpD5OoZ2w^3y(r?gZQA*qvv41jE*lO1yZ_Q;T3PGj zyc&f4mH`-P)VTo01#(Q(vPEBBHXynpPjWEGHz60x$!776(Hr=S#a>9a0*}2{00^sX z+ysZ$l~&dc^gMS|XKSvKoq@nkz zW7oocWU6n+@FP+>fbR=jq-sphXkf%W5vH%eM)3onm~1;YymA5`#--nVc3ui}V>F6P zZJjP-_~K{-N5qMTY?yrI6tDd3OWS9lXpE98k%a7-^zn>i`{m-l+?%1Sxf(e+JBL(Q z2m^j1B`4@8;RaFXeJJwrD%u8T)Y`!(2)s(RbmDo=?{eQS)^T}=nMP4_cV+Y*L)w|( z9r1F7B;gdjT~Bay;4zr3kZ46oYfjT%C~E8m2nmPM5V*7(VFvoawz&FHg#+Tg;cZ_y z(eMCDv-X4T7`3SmuxrT3#;j==bn^1S41Vxf%H{90@85zMlQkI@4nF+mgUbWYqDXTQ zJ5-3{mUCL0K#~24(SH_bt9ZB!6clc zHfF4V$9^Fo4Da7?P0`wEB{Dtxfw1Vfyj48#hB|P3hi2UH6@`c{twN%uR!`1d0OCOn zdwENXBeLEYT|g^#=kTFsq1-YY9ptOMP9H`%=vJ{vg0uOTVCH6;8MwqDpwWu6GF15R zUJ)**4T(Zyd;4NtAoe9aK#0|MK=Vm{djm9#ukAUzO_P`gv@Fy1+HaIigSzW!aX{*x^=k(iY-9gM169aSs_&r&E_PmNvpygq;U_atTBOjg4u}+X z*kP|jcixflHs{plx^Qze591g$Ytwo@&1(0~cLwxrob-2PeTwO{K4p~)1s^m)3nv34 zjR|F|pa^@krJ-h@#2qljn1-6SxOY}|b+n`vho1*9mZY!|fP(ZPA}5s}W4UB9WMkeG zLtlhswEw%0K!sw33twK7hs@NPd@jh|tA8uW|C}EDcSY{N@*Z7d?coxvWfp8o3snTf zR=)KT;@)~6hw;Z-)ux%jdi}}H{MngckTk`2f^+d%!)z@0crnjDiQ8r)g%49g6mPb$ zJ-hpw`w!Pi6Km!FIQ#BEEc@^O+(sl(NXRIp$jHdZxTUfRB{Qo~vSnu9?a0W;9+3zc zMcFhEvR5**schN&&eap{TlIXN@9&?_=gxDF>v~`3ectE1&g;C+fiBbTY+wU;`dB;o z-ylQ98`M0%@%AcjD)4FN1n1p;`N+!ApGZ_bl2l*@rpE^0dDNJ8VvOD$(cWX;qPSg! zPNzlxE~MH=8ATI}0E*|k_?AG#bs_Wnv)lWXZ?sCK>}KX~WA|Gi+`6U(Q0qb#_?R>> zG@ee-WRKLxs)}-%jTJ9u(|0I}ok1dmHbBoBMLsQRi$5Z|m7$Qkr3R3~c#Do)dsXk8 z4$wq-XkGxPZg_Lu^0`A!bq4cU7 z?6&>ddbCPw2)|=Z?3Ty&@a+?u}vVM<#nk6ufjs88X&?CN}eB|$PH(> zyYy*Sttqg;EO>kFhs?B_WC(Z2tga5Vq(!%m9tpP;8bH%TT21CXiT-ZFTWysfTR?Mn zQ4DoeQmu2<_TxR(TB*FQEVS9Dt(a*JU;|GtRM>Rlkq&w0EZlo_9%7zEZB2Rn4v0z* zn`w(4w1dOr(f7MO?`SLWu~@Mjsp0Bo)d-*p!AbT4@PiU$MT ze{@phEG1a^R6^_!kqd>w)Pod$t4ZzcTujHt^L}QFc zF5McsrAf9j4sq6nC|zF60I-!0x2=4C-F3K9TGbI^#9s0DN#X;38XJ)aFrK+%yt;>u zi7Vh~iVB_MkziS_Dm%tUyG+Hqv5Vk@8J#4oc;f z0G;*$AJ&d4U-zc=SJS7yXcgd5eowWZMcb2oj6Bw&aiTRf>X9ighmLYMS(I%%LO;0EcaEny4jJ_p&#GT4oBPs7+M{e zB)gg$y!)K3HI!J3OAR1)pgGWlY9nQ;OQ-dUgV`bm`}%s|9f?2?t+K)X>FokhaSZkO7X_+;rGUQ(-7Lx zlM=T!z2s~`+t^?2uLy!@@LHb9sd>OX`#~Dz#q;EVsT6;r#cTe$*ZZj<7WNHDI-QTq3xm zSg)z4JEG#3wGeug>q{c*mkPPHX{z-ZAxLRLH3$gzehIz8g2j{uPya70gsYDrluqy>jIn9dy67njAGjqJMe|15bUZ=$F|*+7m*2a`#x$3 zO=Sq{c}$PFrf6wW!5}}4DCLC$g!btvu|D=2HvQmB3gLOHz zR?fX+w*R^iX{!LZUxPxq9;J-(H*N{q&9E_q+sr@(b&u?YT1=f z0f~G8eZ3|AA%d~1YgWzuYj~tVW?xywVzk>UU@v{S4^YRQZ)04^250Y}^GQSQZt!8%_7v_FV3Y+b~OQU`U8@o+-d$<_s^l33b>89I@_9ae)$5X{^2$ zPsCNEs9E)OOa+brF6@>F505+#BK-PA)#N95ieW;Q7VTyIRpIKMySX?-Ev^AkS}l+8 zd^1FSwEUMJn0xFe3;6*ZRQH=(78MF+>n9#U@4&;CS87B>Uq#*R6l!B58=Zvmj8}*2 z%jC!sFB&fi0l-CShQi&VVx-~(DO!N$s-ud(a2--kg9!tjEt;z9KbRE_Zgo^xf!6SBu2xbqJ4ayE0uzEtea~PW9RaI=4k_yxpZ7|p%|WerXd;vlShz(wCXxLwXao6 zw3QZ|RiB=wt#clQaPPjZ^MVS^;o6qd?p@P^P@{fe;PAD%>MXNkgU?f`H_)+en(y$5 z!3jYmR5O?2gLPk|sK73}`Z@ENQKT_PCaFMzt1C1apQLH7t-%*eY(ctA9(mlXn-*;) z3{wdP6#Ty1z(S7~k7sjBP2u$F8M2Rqec~Ez#3v_b3!1tX9uFC0x81uvE6EpKfY0KyC`5B64M@$lF- zB!3Hm^j-BMzPwi1o!Dn(lqBZ2SBa&s&BBmD!1pI9^u+e4D`fM?qb z|J%l!#nUz?8TQ8Cl)4d`@+Fg}5#nsD3>lm{W^T9sUKN+3!U%?6PH#ya%`QJ;Slif@ z_v8m~`m=TtpTV!l@ptn@I$`z%6x;51Iq1)Q4fxsY2C;dn&d|r<2e1cSz%&rI4uZLz zewMmiPx6uOJo;;EJc!$Mrg}n$lMb{Bi1Z%g%d4PcO#`HS5^{|DuUsp+Uf=Vx0e$$0O^zUtoNfqAlmUCI3Q%&{E^tF7MR5d|E70zc&rID zbc`+(0Wap2-A9f^L~Z>pM&?TR@hA6h@g`ENV^;rJ5Tc{&mcRL9jy_waOi?kEuVn7n=TS7>VGB@1 zDP2z0>1gby3#sfXjJJ4aa$)RbJAPZvh)J~IP(){fsXi~+wOOc>=Xi3tj}$7R#x(_F zF&~!XR+^PM?2)#l#i7E2i|>daBu8359+FTV5H>k}bJwsbQrT)-NF{tat=rK>Wkzw* z-IvC5!6f$0@{Kce2bCpPU&@07#Wn>G#bg5_m8VkM1^ps)whcN*eEkHbDncTVP(&K- zGI@W(DpFc&Y5J#WUbR+SVdUT4xti&#=ub3fH@Rx_^z^OzYdvz2(}#*JWfojIL`(^K zj_ZSP*Q3D+AoGyA6KL!@yU~G#<*U)kC{e296WkC>&IlNF9blMFria$y#v)~9N7fKNsDW~Tu9 z2GKbirG>>G{lR(_AT7F=&>~Uu<6*F~2v% zW>9e+&N%NazI5j&zzt-WHx%6HC{Txr+X;Mn>|kqLh8fCb!2PCR3CWRMy!|qj$iKN* z30hbUKJ93LDl$tTRC-B?11_)3DbT%A2 zqlgk}&7$^h@z#mP=W0RUr*ljOSj{KAw%D5Pqhv&py3aA`k`M|g0Ng=145e3ij?{f2 zwmT;|SYLBrU`RbPA=8n^=Trc6z%|rJ&Kx5oJ0*8~3ub&9)L8QiGku^Q0zf;xT{kAR z(ddz=!>F0s2??xNY6H(8zJ*4sCu(O~J(f`rbu<7;C}@Ln?l@r8gu({w(<~tLl-80T8S{ zO;1w9cF3=P*w`-6U3THv zgc|;boUP2Z4Cpj2GT~rxXL}K#;Ou-b4yrQOs4uKEx<(QyOgH%v`PukSYe(*7S2+Mw z=;6g`go2S*Tj1FLH6W*elzcxQ^lryYQtY9h6XvMS?c zeU(gIp*Kx=kOnP!D0T)>+oyA#6BQvd0W4elaqU7cj!bh8!z!n#IvkkemTJ1*F-3%nX{n8_e3I4uMNT8p=jv%EiNE}5rQoP)EybTwT@&g=j9=dS9(O` zRxI7G-+6!ALs6EV&rtS!WF?#=Y>-@#nnr{6Fc%P?XTR=&p0)rVhGPp^N@D6hrKaq= z3j`^?KqP1c{~=atG=eC!L7#-~+kW8b;6>X**cK0N3vZ0+n-7u=Lv@0GvVm z=3+cB&XB$;e7DGoz(XwbN6ord>K+R5vOKL?yS>nG08Lkf%{U|5b;^!G3>H5Q@7{xmx+D z$KCrYsL6dHnb(6@rS~DthdYWCjsu}r4B;fjd>gf4VxST<|159_s0lLjz^VM1d<^!S zz5jT5W-`6sex$;!Sjd`w?Aa?opa6-&=V^qcmZ+= zO(6JAe{JDOw4Y{_Zi8UuwgAvH6JKc`GxaNkw%DAbEGsJJNc#owzPGhzCtJKK267sK9Z{sWV(bXqd62Y5<&T0{QK`qof|S*KRHo?II+eK8fEOK#@-A z2o$*oHAnc3Dh$<|;@W52r2)TV3tSa)+{;QPBms5DVK^_*7@3(_D}bT-Od1c?b&XlY zXS(q0Xb~Z7u*fW09bSEh#1T+~<_Kvp)FYrsNBXM>cbvp>uP0e&Z-FJ;X#ra;9F{`PrtP7F2*2`V;!M4N)7T4 zzA3L*-jgwYHMuls7xZP=MxF;f&vaeYsRp&<1w);>zd7K z#W&e~bHdb5F4r_|eHp!w*9>*N)(nHYM_$K4iTkqZnJGIdx|XrXt8CjSWXn*8UKXT6 zuhOdJUCV|H!UPC5{%SQxQP8g(>`Bd8(bdK2*r*MKjh)QZEDgTi5I0E!=lk;Zd%0F$ zZnQ*+3d^c5Z9iErg;YYvjpf;y;NX+7eM?UAD}eYj?p3VS4aaMJhJlR1xg5JQHRmE9 zJfm#4L#+U*vJb-fiInbFz-JYOOw99w&rAcbYC+N%R7vo2fG}lexgG~H@ite5PONy1c;t5@>qKb_(NPoxsQZGgj@|asX0gWhC z7KQVddu<**JrhosrkTD&an`rbE)EknZO5wsYSWJ(qNZ;tg|49!W03%Ys=t#?GboTq zQhPp1D^U&Vtyf?b8LP+(%Z= zEJTetbv=i(SJ^9=pfhiEl$L9(cZEC!@<=7g{0dPRKi%>oQ)J^DxW7uc5AFq>zy-}oXsFOAO%TrBC>@kq8pGL@KbtG*WQT3Cb5x)wU+p+z(pcU5~ zNG+fNZb=|h+ij{AF!5aUdB8+lmMJ?Nfqc8kUnbF;g%a673rg%x^jY?}g#cUB5QrhM zz`>HyVGb$%xdJD<2B%!V5F(S>`<1wihb@>PigZ$e*U(au1MS4IaWAJ)Yg<~D3GfyL zrZoO5YlNBKJqdaol{*=i`Xn*Htvz7JXiE_O@|oQF=+x6!sr9RyE+53Nx*85655l1K zQPz|{@e%2lmmM0J@!<9Ihg2az0B=x)K377ihVP%KQvPkIr|{`r6*+_-YUoQz)^*cysbyWYo4ZEaUMu=EA)&l*s(e70O zkQG0OH2U5x1Nmo8J(r2wGEog=ksktp3zIe?O1mHGs4qazA@GIr*05tx#tA&ESsxPk z@S0yyG|2|n>3n+EhL9w=zI-V)iJPcU0B1NB=X zrPmqq%_s$ajbIhe-!?4P5-h3f19?c7>KT5`b=7hHI0#B!z}a9R=q%|llbpNb(sfYS zEck&49jG(XVtsIPaJA+j9#Zdt`87s&Erv*CUjKcu z?>#AojOHZMC_;{bQ-*pr#UmP6M!Eui9U!{;MEUV?yw|-oAYPv}nIr)Id2B12xe+ zkdi!v;I~3aa+wwCq;8QxM4?EV6(Xqu)vtX3uiT&8FW_buQt|WCR}b(a6e|NsXz}wu zMA^`D_~F4{lu%4Msa4uu`%61E{T#)9Jc+a9J6WrKd&2A6grWuoN$9w60kk?GA%u+X zVGGbC7UzS)iEpZ9dv={c_`l?S^~uH1JJ1L1*@1xcS3o(Nmg*f;Elx__Y$*dVp+2PL z5!jJPSH(U6;Gt!CG)wL8mPcc#F1{B2q(;oK1cp?LP(oZwO4b zLucTBRMgURBVRBiu|wd^ci<2NL`UPxL79Ozp#2=5;|=U@!}$fYC?#?b8-Y6IB&d(w zUj9hAYgZrW3j2fN{Yhj_S2~j~{^oV3xVL4t0+X0Q4lYav1E_=NVs?8Yk?4v>*}i~{ z2zUR1bODw3J4!GcfBNke^8rF&>VIh(gY|dnFS&FI>QeD=bi4pWKX7zWv@7s<)aIYx zFb|3{6cmC2uS8ux1&h!-bQlOL#)s8Z()Fe4WH2bgJ_rY|0VWVw2D^`|Ef<=+krEyJ zh5xvvLTX(?!)(v#xcS#0}rVjfF>Cq z5GusK2D!I9w3V$(EW_qAa1lHj|R zoFNg@Euw!ZCLzyjf;%1LaIS(B8bIFV)9111OftaWH`S_9-{3RdZ2ie+5=Qt;KzC1Q z;a;F!M$UgIO!$M!yeuRW`6GUtT{&8qFk5{`0=GGf2h@f0q0Ro%tB~7n&FV0X%aOes zD#X8@Ng@nH)NU+bwI%-ha~nb)t!)A0G|}JRqfC-=;dM1JBlH{fy)1_#p%St-q)T0* z62JVgYEqyWG!51R;)-+>K7lc5*XG7ArahHdU9x$0;dLs~)&YghK2=4c&5rd8MYpcV z-lR+jAcy5*AiWzNwiQuddm_vS2>9Ng;2CD!{IQLvNc@?)wFz#st^LvoYZ$G#3xe3-7ymkSPh%{y!pj-z4jZDM#n(M)vA9EH#06;F+{yPUEp9XDC z_tVB$VD!aSgoFO=b5^CRdemm5j$$|7XwbX2@^KsA|MS(=!@x-raKjT8`}+;laa#c+ zCXE|fHrqIP)cBzl{cF<Jr9u!L*gY4md)`JMjzP@YJSU`BC}Xc z=vt~<8mSdpv!~w|G8SE|UYi9)$`evG#~W^gaD<~^-`9u&j)$8!-NyZ+ACMTwyn<}6 z9C#FBPKX%Jb!gOq*7AM+etz9&cbAhbySM?Tq#i1}Y45l-Uz{M?zNb4#={IwHLky?n z1IEQor{Mb=5FTIpq8jVF$)2$O`Q$Mg4&MTw74U}6{Us))K;aS31<{04<q2F~NVIG*Rd=hg8tZf5RgA{HVZC2O?r6?)+nVVMWG9quS5^giawg^bGQ;SNi*cQ^?X|ppx&%;0WR_y4N$ppd9G#XuAw0 z@xWWR2zy@G54z0{f3{SYS5$lis^g6xc+MyKafU}@E#uE4mVmXm;2PTO8&-D~ay!ryM0+Wv z$oB7t9v;E|!^$rV<;r1rN!eMLE_YBgl(V@3Iy?YsWMNFOhEW*KW-tH6lu~|XOb8|c z<)jJWpbcpMTPYxDCnZfC+)qbKbc|g_D5+4`4*<@UuL-HaV&H-e6Qc1Mz()u=gSEDicSeA!!w(lY}G?z$gtR(%py0MG1jV{P4F!Xu}qI zQ3xGth`?#q7Ss{T;Rt8lx9^SkvBW{(t^|SNi*uIsXuC+77&|Rc!2Ce?==2N2@}9G< zu-ExOqUI0Jd|bxE*~mRJaYNkjXY4~!i4Z*c)qM*$-5ge=M6nM82b43zRX|a|z8)QM zUvWv}PS}w&sES#WV*GVJVjp;yWc2~a<%6UwjS={ccl}{@W!jQHAHrt^+cM=n*&=H&b^oOhe^+=f?A;YEi!?Mo^-#&0AOcpXt zvB?`9*?>??e{U1|blGJTPU;$kLYH~53V7lqs49c-Of)yKH*M%5VfX*OIDokvK*gP_{)6PV_qQbtKXg$D8&M6`a!IPky z@d322Y69~$oL&G!UBrDQUnUr`Mh>8oPJb}i?B+L~7Dj{m6HpV8eUZEfeqg$S^r!)x ze?Va9)DNG?afh&}4+JCvVIZ7iAjm;|t%vjka@w0R62JMy5E832vjfuW+2ubE1)Y!7 z;&t^jt1A;c6rEVH?`GZdk+;tAK;O?P1dn?FEdvIFNZ%ufknbZQAz_@)NI&8-XO(90 z%A~1+)A!%3PgNf@1N|c+zSS)wY*PeyeMs{S0c3$@x9`nSgPc{!>evxsBMmAU{5C|f z0V&+(@L)AJ{NvZM39{Ag<;E#D)(d&XTtJ*|rtWk-UgTe#^9?Fv;3=t-LXH{$b6h`h zN`B^t!AA53J)zE$Af3EVG{T!wV{ z5KsR24fRNX_MQ5FJ6=6P!E0US!^YK-uYRA5cr7fZG_J$?xfO^r(9m6tw4>-gM>MB& zuh&J@L1{gW+kUwIq^&>Q-)j&UM~Y9-E;IB_95lO*LuX)56!r8JOlPTtp6rGIHj8+3SM#tG#2&+6R0sBMY>!QwiGuhc8d%Z=S^#fE zoemQy=akgq2kn!?a1=}r=|b5lABOlcUSDfN$1%Hqya@P1gn_O;8;;;OG-jnR#()Qu z0x!w)Lv;8E0>7tbcP9~*!g#2SGM-@sbPjrF2OpOG7K#*t)%=J*&bTT5%O{0x(5ZK^ zdW{IO`6dAMqu7R!7q5MN{@N+)69_A`0xMeGEz>CCn1iCzk8i_G&wL(1y0Ivt8;v+)|rRg9fG{{%BnA`Sf@T<1;_0ylRxMzq-+#|=+ zoAqtyEGsju)ZFA^L*O2&+wbi9x1fYAhVtDhZ#p($-Ax}vJW-}`-Ep|={)bHF^hi^) zS=+0sxC@9TIsgPEEWZB&s$A01hgpY=34S3V2g&GBVkog#>8_SC(HKvMkGyNt7W_U7deS?wP>ze{#><0)62*}XuO27yWfx^w`4TKE!JLF86}qg9Uea_2($OTa zSR9*>?hK@2%NhM|9#>NzT$64G4~&OV*Nvfte*_>;)&QC0f`)-JUmnuiY0fgEK@EfP)&Oy~0+nn*?0Plb+MUYYMZw&NhoJ6}@Q!~laOYe! zc(j!(Z}|Vk9IX!e`S~#;jX39%&dY%wm5^_N0C5KtC7!?$7dwNJLz!Y zI(*8x2>Ml=pq&o3!w}1nBXwi1KCOwNtOXpd#MxbCxz!=gM!_c*7N5Ntki`kE;ot{! z;eVVu#}6ZO7b~Cw6c06VMyYmSmG=V|>=Cr>d_bZ}=o)cj5&<^KIZ#I_npG%x2U?W} zp%nQDAR#BJ4j4)^32B6vqRS@s`eTaPnBBm=dTi{8l~ycKd;poRTi4EIGu`zWNh&;` z0DXfq`-Z0=*EEEvk-K_c&iqm9f{!UbBQ+-FwOZ#pq>KWp$mp z(^NX*9tmg{Raj%>=nl zIn>bJ5>m(1L!H&K8#7dz4k}yLG)4s_Pb4>n;fy+rp@P9J@{f&oY`hs~=A&`~3K>MD z4YzFFY82d0jKIa#({(asEihY27?iPXQiEUai&QLQmzcPp4Q<8OEE*acsi19H{TpQD zA}s=IL+g<7Dlr-uR$FH%l9%id@>w5cgq9<$n5mp9U!9Et`MZbtSA4*+zGsK&r5}f% zS}BKRGN|Lyu#4*Y5)#Fq@|*1d??Phw5{{UtNeX7&!0b^2ugEd^MR7awT{kw zoS)kGV*Lt2e|K^wH&*v2MzLjs5T$0Xt}MQMDtCMU0Lb7bwb20e!pR_!*DzL{=GteR z1@YK|dEjxS|G_N>oClC7gc)$+)F}ANFM6Pd36YUR!Y~B8$92qE5BO?qUx_Zfw(y?K z9~8&GXam)EZ%ReseU=Axnq&4WB2yZ(VX{mQ@ZRo2;k^H&)rWm|-)}s_t1#XeXQBQX zhJ%O7V&z@x8VUFeBWOh)?}DUt56C*&HSe`_>80-l2l~+@{6PRBP(OGS^3BSt4V%7) z4;2-}zpHbKBr`MfJ#@oGj`<&5yHyOwuA#9pa`%Wt&!ZpDv7bTLwm&(Ww{vZF(x&T4 zG{+#b?2);0!a%s|g}K?~hkmqmt=O}s!7y91?%-+|?w9fjST@%dykCC-ZN>-H)z#TB zQkvh{OfdC&Y$G5fR7O)Y zS7K~twzo!rZ8-c^Cz<4AlUTm5&D!1kyzE3hj7yETbhM4v!-*8_2U`6;a&HIruK!jO zGURn(R+%uKCS+-B=usgN|Hgo~O^<+j|IcSs19O{%q4Ff7T?eA8y*Eg?@8Oe+@p2bT z*JG4(fsT0n{mMI@Ck?|Gbe@t+59P!iq5OSNa$<^J>SLd}^O3En-5w?ymcVpMvVAu1 z_C;vN)kdsm?#_#X^&&dSP4{%kwQ zwYCGN5I+rZ0>F+S(uHi`zAMbLWZq)|S$781HRn3U+=RyEB_tPy;xeEppKr6n9I83? z(19(gDE#Ht<0=X4OTjX2Oc;&qN~G)D1Po`p=BOeyh|F8;fyrH!Ba5F~3XgtnYkT?m zz!dAe+nd_BXU`7#j|mFn+^U1WN&VS8 zID6|n23!xvCsqXgpP2XYIZA_n7S{(0cGi8WJuJj6_d@D>iB_Dz6DS!UEysE^lvdLYi3^ zV|Bn^?|s+uB9W#6GAlS`>I*w`Y+A8O7DbBekeKWK1k)q<6Rbf_wiF^1qMEX)FGZ`1 zMZM|oc2v^AaKD5T>gwuh;QR7vgGeIy$1&(&}3S zf+1^5h4qcd6Fv`SBf~(A%*5VW3HH500j`Uu2aYyIGy1R6lVfx5qzC+uAb3g{U6>sr zWBZ^lNW>rg@{%tyQ(HuOb*W}mEa413j=fOq;qKPFo_%kV%iD@4WiyjrX@X-#SRbU` zpI*l3{Qg+id^H9_+pQ za@=reWU&3k!(m2t&V?7vhihb+s5ak#PJrrcXk8~-$yR8-%^}hX6^iNUX~XA7=idoh zx=n?@{2YNDDnVr60*+?tnK8~hV2lhMc?lYl<2(gaBnCr^c1LEB4_Y3xuO*nVcYkB z?tcw9Oq}H>*tQdb{CoZqI9I342`P(-5qpyq?wi++C7d^Jy0|+e5ilPU36U;pn7)^h zT&P1lIy@UeWOfI4PM?2-k?Z(PrUw8j_hp){-@rdF3`iW+7!^L);oN^B8)DFz;U*hn zus8ka-!Dv>fR2u?hd+A$w1A)>*;Q{q7o8)VMxJHBYNh;;KPCc`dt+a}7BbaD(v)7H zIG6vvM%1uIiGgl7x2;Tys>)Kng&V2;ZMhz(GY83&?I?E{9Ui7NzL4)Y(VYd30#g$@ z`-W5k+sI?&36NYU8#DoXp*`KP*%PLa(OijkwReHes2Y>Bz<_Xz+(QV*L)x7fDbvTyrDMMd{hatM7ce(dUh zMB10tikl?%0+cIiFGpj4hjJYX&>Ev9n7ryU<}!Fp^XpQnP~lGK`}6dLQRXlPK?Hb! z11Ii~KUf}Ca;JkKuA0?i4 z)S&PE6&_`seZaByIaO9(*M;d2Xb+=)?r0Lc0HL+yE5nRXLTD=kq?SXb zUx1$C3Ho%GvqbhOUqL;4Gq!~^Ecxa0w0GACtD3$%(q|_6(Cb{bqDv96^XCT=&e!%*5d;WrH8JJ%dtmN zK^LF%#|RPr!Ow<*?Vx3DJ(@FkYSIfW?Tf!dSid{C7>M^>kTe7<7u%d6IdbOYx?RR> zBM?(ry&53Kxmq5}C_xgId{;+}gslqk&(R}c#7&0$1>W3vfTipdVNhRlCbOoc_VfoQ0#Q}A>r8TH^bSjnd3IA+mG!Y61M`naPXWr_TT<| zt&sn7A!mi`@y=44%&aUjdytTyC>}iBRvVKW6%~asm2M;2>NCDiQ-O~=R7f-YCiag9 zv04qs2bTh3L<3cd2dv%ZLlen*%N#zSGB(#kQ?%zwgmr1Hg3;ms= zGc|g)_GaEgsB&^sK!hF6jrJe-%iZgXp?XO|DsO$rdi`2vV9IecXgIu`pX4E@fFrj} z(fxLQ8_TgE&UEN+9s2q;xt&mp_Loj29C8Wpi-0VB~j?pN@2QfPlr}S$s196=lH8eIajh_3C|SFS`Q!Z0!U} zl)ylH^?N9iyx0vC;uH<&vO>10-2p$kCB?Lu9MQG~(ZlMs+6)%C{{I*s#-D^ZjFUG0 z{+ge`U8k5^C{T){<^RS-Ir@mine)r{txx5T5BkT&#Tj(FX0EcDewb!@9&Ormh}rM4 z=xkNeuWucp8CRH~?0ToSJfi;7;js9M@%0$qWw6)K23*V<<_?!26J{PS3q6{GRDcu&0Kd*`ScX7DZgA-A~{|Wm0p;u;)?qZi2A+KT>3fV6hm$mx_09; z-J301T}JW;83Tjf#ASY(hGAP|$e=a2pfbc}kmPmXT(vXbU{;GRJ(AQ52nh6PwdB@cAGwEyLTiif~Cotm}IvLGa=YWm*Xa`6i| zE31Z}UzvK~X;_T%gJ({xyE>c~lvJ{B`w=HKa#)3S;L)urwlZUkjY>`-ret18lYoFP z@OIOaU#5XMLb!BpDda@&$T$*!BhVD!dQ3L$&|7_}F7_mT8XT_gq5qIlj-mrN?*`E8 zI+544Y|$O$;s#i<0TjRtsu9Ru12_{AR&PlRel$IvMn##*Tbi8OaH&CuyF+u+I{;V< zQ4yTkC7^yL&*=HuHB5ln(nkk(+Oa?oVev}q@jl~f8oaf==?FnuNgJ&k&ONSMc08r* z@%ALPV)K-&S6Nvn9UL5ntv(9$qfoR@T}TiA`b?q<@>CbR^#BHO8BvM$Xj1GXj8}$Yv=g1ILJAZ_&Ad-hu&gGfK) zV%@y^ARnOY;m5@ro@xMKOJ(WN_7|va-A<7g54d@?K4@RKaDjE7O}R50WBF&9ZQ%;d zd7x+~ul-688{=X|0IRugS0w3y4*LK}jjc;*ue|5fo$w^71P8#*4Y0^uxsuy1C}5`< z051qNa3IA5wP7gmU_-XUB?mnI#<>2Fkr&D)n1ORj#{VsMj^8C4e-4i4hYq=?KWKM) zQ8$LbHjpV4^F7Pfv4bpc5Eb_y8?h%aQGxi$d^9;}?U&)fvv!9% zvC@9e;`SpLNP~DW`Q!hH7t5Jsv^LHula!Y?f^hQ$oJYEL)G;fwp|W;YK!Clwqho$` zhoOv&46Bsw`laGnBktN_{ipa{a1?OJP5t!^Sic>3S|6InuHS6&Pk+^?mBm=T03rJn zw%G(s(Q8ZdFLw}QhLYQI z0amSg>HGKZY~*?{!Q8wZiop}lEnPWbY;kLZ^JO~V=~6>^lHL(cVw(x17Kj|zANz&j zgziNuhon6DR_V|E$mOg$p%;VbM*p23N+UD^Lg(LK`9H1sB?3AxTEp#|ZfM<@v0q@W z5kH{f3nr)y8bPWsJuFP~vU_3pqcw;)J)q-L{~!*60p&x(!-t-jDn_%SE$1G}$6tFp zcxTocw?={UB(Z=6!djS2_HvlI(?7jA3pEcAR${@Ce;UHJP zo12?I%)i4lkDC3zUxWZ$MBH#TE)w_WOXt0cnt$5_r(WE7JX^h`9-7`j6~+5Bx{ep? zO*r~a$$7u?J@&Bk^A?Hsw)zsS1pil0ZdCDAFP109K4LkE~u*y{tp)`gHqSFKG_b`+YIR8JoGHL zpg`PmOPeE&4fJA^mPxKmOza46T#WD<=OmV$c!0e7_S>Hb#yK3AflcnN`|c1 zcKcMe8+6?~0oQZv_^QipW#Rdw*c|Hy0Z*JH@E`03p%=j&$G-7mYy!$g6|ruiF&pA> zx-R{G>?mOUVc@>-qy{NnX=E-D%$HUEQJmxB;}c;7QCoi|)O?}V#MDX#!MxNM=j3c@* zsc^2veYpkFr7y*WE0C(9*DxH!F9F>13Hon}bCTKwNe^IeB+Mm3|3Q6>P00wY4AymH z%-{*NGFES#invc0do}Nn1Rk@pfP>}T=v-NY%Nx_{$9(D?-w@KgS5Xodl=qd?f#~RF z4~%Sm01aISR+hU~U6~EJNy76$nz%Q5bw0Wml1|+esPgLtHpTK2{OpUkeKb2Dk~;=8%DsMw<%FD)$%O4evkVsCv+(oPCtb-@cpkFlN=#84wo%}7jZvtai~CHXYLOuDwGv1RTgcJw0~bS23!WD zu797uT9`%a!UdUc!P-dq&Hz*$C!j=j80d&JpfPT~RHC<3l4!6kCxl0X2jbnyYgFvK z0>&0Y+q)K;U-x`6@b!LO@ZEeOAbQDghz%DDq(-3zlP-lH#@*ZUtjt!aC;Xmb9Y8VM zNaoc4iZkp#Y^;3rGyFk-Bd_fa;IZXOXxKvrs*);DmOtWDg3fLSWwqTtLPF8~^At0y@+EPb_Whsr`;0bbDO>p1&=jE?pQT8m( zdCXZ!^Xlld)4pinu`}=#&h>=o@BoevCLmt=O(=)~a`*F{g-K&N#cgu){y%MA5aDtRyw<>AUH@OUHKu&$LA&nu6KXoL!fjCVphtkO6Ba6y z8NUw7+l~A#52o%-5LFp{bX%EhF6oTb|%59hMoGAZBpJB02Uy_#PE@-l*anfb}A750GkA4hx)mr{p#naK!0E1X3w7 z|D1Vbaag$kRRWjE;Rb_4dUeK})c4voo~>(YVzc7L@5Q>v|AY4sWJgx=)p@D^u#y!N zdz8Ah52-KxEc`qB+9S*yaQl*4G%Y4*{a7g*+8Z#{{-ENq@0nn_EImjK0$4I4Hs!cB zc^uhDW&tO0ZSp>1lf?A`SXa_`3vF}e{9|IQMg7}aVmzro5LD|RWV!wz^-?I`P(rRp zuVKj%RH5kr$**FYBc0nqL$pt;E3i|oi}AKTXtm@J1@^q~ojle-gB;c`S8f*~rE^Uwsd>Vaq^Vj$!P2jdSd?XV0F@@~)we9>sHn++h7s&#Ic+ zN_S)*=FXivB;G>VyqGRfsJd-;I9>gK)hLK)d%dg{HSKOaaQ&1$mbofN1G=wJG!_-i zet7|!K9tOET#Vz#*yznysP}y2uX%vL&B?kmNf!$uu$L_66(Ld4%e=+Al5O_EpLN>$ zlTxDy*J>YEP+4o(fah+6?1K<5X7O`QlG3dw8&J-Z^SiNu8>7WZkkai0{AOT&A8R)k zrLYjxIU?rS7gjrwiVb+p{Z~34lL7GI;9#_pczV~R=DNBgwmEh6^?c(Mw+hL~ox&3} zo2w$I4yS{pQT9ku@=uan{&c-UT}zAlxCX=ewvlJ?6I02bEg16#v#&pGyc?j=+V*y_ zJ;JYn!{?m(?B%jL_nI$5yOOfjG?vc_-&w_bvY>X>^*Q|eO+uu-R(>zT7(&akN^kF5 z%m9I3MzLAU+J=o0MVhyF0@t}hYY8eQmmm$&G*={U3`Hm9RBuyT|9<$u$!)CeGp$18 zUhnxItbHCUkbo)L^DG+`iQW{7uIL{6V%2-*138*<5{0L3jAxGRf9+T6zwc9^9 z?gasIVlpk%-tB>4$Q!h_-;lGaHUH2cTe~Ot5klf`?K%9S$By-abIeS<8#`syJbIFLt1!RG+ghK2rx<8{*;#dBpA6jWCP&)w%ErsA$`Y!nzTD1hkV zosHEOGbb!VRxUwRspi`&V3oY}cM-ZwS?$W`@ci?WIKawmY;oL$h~{8A0^kIx>(T;! z&h2#gQ7$OgX?4qX;M^T8D%2w$a#|E+6`cdv|cZ_Vc!S@SC=q-B6G-o1NwF; zsQk!_ZIjqysuETV$Kzx@#;U zS?ZNsF`$~=Rxkt3>1k>bL-KM- zDj-2fz1@Fz7)b~;3TVQ(CjD+xi5%YzR{$TH*$+p9uDw>|`mYikIM^M2my$r>&l#QS zK`Vsq2q^4@`k*VQfogEVAxF(W7wdWP43pU_JtBznwgc%j>lAKkyJZ-L{Qw?`6YpLN z$Jz_mMn6y^6*l?Z0`=Ex1MD4s5G?OI;j047umwk#m2DcH`na&|KS~ zs#2n(N{QtZuG8bLWs$4{Gx7xoqy9nkT4LI z%7D}I_}vkl%rzGQMAe~#5NkPbZ)5#d(bow|>3M@SPZn;;g46V4e{3gAeyKfD29jg@ z5Zd;U#WVJIA%;=d5f};s2A;Es(E{ zlM~K_k0=5@s8Vn%sbJMu%EtLyh71z@B79*!iN)5MQ zw$UkVTn4%T*+DIl>O$C;jdinFhO3W4#cvCNO1M{_YDI5Tnw#BTC<_=U&Reeju$(|h z?;qU)S|3BvmCsUrYPNz#Ab1H?u~lLm1Nn&%%cQ;@6u~6{IWi_^Gdc1vm%WGTplWe@_pLlhh+`dxhKmR96Qwf1!im`I zumqsw3RrkFZKs&gAlUR+0Z2GRz1Hddgp$5F5Ed5J1B_QoB;tdLucq>zFP|K0aZZ2$ zcDTC9ln&f2^;8#K+}=2bp~enj>EUQJF_-M@$?-Pgur=Z6s9tYPH|*k^Zvty6w3e^EWF8M(9PQ*XU62P&>FF+eUp5M=9d7o){Nao~L zKXGXN0`c=|M<8iQjue#Ueu8*eji#mSP&$;~grUc~7lcun24y?2O+c9zg;eKRYa&6r zDeVEFCN|&$zVTpOarAO)bP04N7=V0*QNGtRoR90Fyk}HXO|bvAu>*1MZX5Ma?+4<} z5A%aL4J|UWPP00i`-=a#M-KG-xHFQD-+@i(1MdM$^DMB&7 zMX7kNFL)&_XCSOD*Y~JhOL;4{Qs;J(o!?H%NNhidZg!vhF1i-p+u-3K(q`(B88>e+LLL z&3!Fe`Kkc{oeL1oKxo*$k3sKruk1yqc`?t>E}Xa>Yw!NiGB67W89RD0)dcI&{pAMH zB_x@zUk~au$V!=AKSpkfh_&@Xm&j~-bA@OX&C_5F@VzOnFR-zZzkJpDf*`?B*zds+ zmYd!%W3=}+);A_ljqqoF1vLlTCZR4Do5Na}i9-|pdxg*4>y-W8ukDrdUv|U#Wtk`d zc4PiM!DRg}e}AFMRol@K>98#KNjn2!$;3fvO%ZxNFC`qT%w|2!t)~OVXp|Ez_kX&A z5#$P7zrX%3yO^5CkH?q`PSjl=)xKo_N?Xzb^^EML$;!B#oSaWr<&SbdW7qqjeeLG` zM$H$5f8+W6`4(eFAjVT&-p#SG;_HuT^9$t*C>Fx!Y;Vk1bU07MKrIp^>8PP1;|)bh zemZ*gl{o(Lz3%hD?zAw@!epPqo^Sl;K4=&E6}*wcVY~kCpW1V`_`SQ9{a&F4tk%T8 zoRVNQ=zXY;j*jbjYqJ1C!NQs;QV>b zJ)L+?O2K8GyASN{xn?kL00wl3Zp)K72pf3D0_52=c zq_l*fJ;1GG1`#>_xz76fbB)gfm~&hN*|LD8=-J5pzjyS;W5w)*a-8>;xc?B}qxDS) z`QDh$-)Qwu&tbjC-EbwAGZGjI`NL-{!-fRne3Y8Q(jFQ9Kib|pAgZ-%A3kzGMMRVk z5ordLl$J&TrMp|{jv=JQ02HZ#VQ2*D?hXU#kQ^G6?(X{TImf{B=<|Bs@AvxG$iUwB zzW2IUTx+ds$>By%|MVDtzv(|-qnw0Soq~+f@72C1f#RwDfq{WFnTV&wa5@vFWo(JQ zaP)D^2zrXtv|sG@&u?7^R3H~k@P(7M=vOOOya9B8cF}z(kSsDc8Bd$?_3%cx47k00eOy|rxAfQ?m9|6!d-l_uIS zB*ybw#pK_fQv$UD{1;Qd+TxRs0m`|lqb(D2%M4D5mkugnw1GM#a409B)l_)lh)UjX z7yYddp^8A&ayzt2|IccNT+Yrb@7)xPSjK2fi{cctG4g2(=hDf% z=08OK+uqBudVyMviVD}3UGLLv5Pb=U^VkSYz+^=|{h9=r6^tyWLhc_MR(^GNT}$-}`f@#&(uOpn4!dr4O+6G$PScvlRlKKLoGsBcmlR6+o>$}V|d;KadxN-X(&o?rj$mk*~* z@llN+qwoaz#4ol9B^`#BXBHN&osE#RTA$ZF<|!{PZ*sfW^*hV{e*f!n0I68(kNh3y z0Q4{If#(Fgf9e_9c@IQEdj4b+?|)h8_pj1Lfu1f}2z5A-Jou*7{`nzP`c**z+uq(@ z{?zi~qJMUF_W$wyL|@g^2!iSA5l%~hfLVkmrp;CQUlk&vx(h(i)mWi#`Td!HEkK5Z z;0?Y6uyf`1?B5SqiDdtso%#L(Qw;zT4zJ|x{hf+0ITbI!5};OQH<`K(=J}xBp!|O6 z35@HT3j6hkSDnC}R2~RW!}$#z_9hV%G^2o`*U{AN`M;m=|N4e!H@3Iy0Rf zmPgq+yHQ#<^RIvmA&@KqN)BGR|2x7a6(MA7Yzz#p|NIfCZ3fi}9N8>9|4z?@(*ZG6 zge+Ho-?(3It|H~f(NQwc^u#bXLa&nPYtN(It@h;CzyGsqN+kou*4XXH{2Q;{>&Dk} zn9$oXI7qCmtu5-$@rzEnUo7K|0f48Yq%5~jBoj`U@E^|#u$N!X;nUvS2OnODrF7v% zzSsMWrJlIX3sj)PH=0Wx8qCyVXuGBxemj7da z6={Q>wsN2Rv78?Ys4>Q|%H8R{>2+=PN!Jl41ai zA5?-DkxHtbtPbFy1pTFVITeWh+a0{m?yOr1-*o%xBcE9Dk4pd-NtN~j6{w&mkKWYw z?=!C4$u0dmHs$-JUMZnH@s#04_3_3QRw&^``3NO_Ya}#n&L{o4!OCX~i;L?})F%(J zF8`vb2;CbCrN}9Kt|_d6dJKVk*K9>l<+B~2%R>Lwd+X)@$*ZIj(*rF#1cg^6za=}b zm%ITUeUm%ZI$o-Qml70`)AoCjy_6Er@dXT^_om#%)%A5o20f}k>N!)_!|!tO(>D>0 ze(E+=$fJeJC%#pBDWv})v-ZwOiT=KcKb$c1v!QBVl)d_A^@0@C$pJQd;jZzC>;1Ra z`sG0Xt6rl}*)ImI$?3^3+xFilMt%9d-T&~c|4<&|0P^S3Vfn3~BmK@-lXk=Wi)Sfb zhKTx&Cp)o;*G0fQ5t+T;`lD1%FKUw|K%8{lq#sN-2rQ{NTvT^Yk&e0yXjYu^2k!EU zPl48)JrnJJ8qBN78+ZWQ(a})qIy>e;0goHpzyz=+M??pS6=jY zxV<^f_|VxcqNfEGSob06q&E4!qTgBd$={L7Le0j=>`l@{Wo7FabIo0Zud$RsT!)%@ z$0rHxj<4%G(xQYl)x)c9j`=nQx&*2uh598;+G#Jqnph7;^`zfV>-~2w=r1ot+7oJCiQ*jze0CT*x3KFGyi*bldmuFhxPvOOq(0~@S1&M%`L~rs zT=Z2iG#xqX7v2Xp|HYW$Wk&dL_nCB_`TOx69q&!N>wdtw%Fm5FK|=MP*Z=ktFBjZC zctBtA_@oP+`qz9Rpdd6cNqy&+q~x51+lT5R zwd_bBPEapx2c4QV%$L+3Z*^iU{+IXkzyAt=NROv}1d)Cn7X9%4e&?Q4z+WT|uEY3u zTJ?9X3>d6ZgrE*ggI~JGzrBdx{2)QOvX(8jyujS3MDxvd0_orZd@D}JkY@$>TsrNTL&YN>(p%#rBI#F0Q{s>-xp%bqC!IGmlDNt9zS{^ zu}oRzG^<>$;LbMhxh$O@C2a@kuh?&$#w*xwS!h|{iYnFOZ2uLtZin(C5opII+_2_9 zDV@J^*9v_l0{&nB3VGeRAQPs#>Wzh4KQc@Igw6T{mH5B?Rz%h7R)<4-zGPG4s+);8-hW}<{a-yX@7W-ewhK9E(6ix>BslNg{5jIq2_pDCc*Ujtwy@00ANzHDgsk%9_0wqcJyYX+i zE=A9>$ft`u|0n{bQ=f=-#yZa%&SW_tCe2O=p2qt*-pX~o>G8MYiD|!*TS_r<74%JE zuHRTWi_{pHIlczw=3XgAE-?K<-H_WY?ARixq2-NWyeDHwicFWP^W8tZ$T6v9V_WPe zK=qV&T?k}-gr<-MOJ3vAIE6%wn-uBK58AsMLJ4IyX!+c~xYzfCdoct(R=}MOOr(Z^ z>G6_aa5m)ryQd134{cF2-F$94H)-T^bAJAi7oT9rMDtDBE@#d0S&3kvofSzHvXd2` zfE{@zl-;uZES4bh{QNkLq*?5vwvRzVp_j%U`m!<;;QeDd;+Gxv61(V&hw0u4`N^7v z@NplmO*{u&3|OSb(L4@j5uBEh)Z(yOePTM41<=I^W7cIt&7kP31SL&tpp(fZGX*sc z*4N}z+cQdy(4)r`7aPWRz|0pERkwPLM^$t7(nytNH>%%HLz@*xaKx_P7yb&%#_IA0 z;t}RQ#O|;Eirn{F=+AeKu2PPv_fI{G5GqLapWJ;xAhjQUu*e>=4IuEs(jK9I0|`ldi4umxR#EE1+InwT09-7WNZ1*3{DszOmG=m0{uzbYWKj)Aiqe27L6t9P3L}E zgFL8y_0g$68IBKgotAZGd$Xe4Knt~(kzVD^v*3YGvvYno4JQ^f=83kuHWl0ir)w(5 zCf1hvT<1@p6<9uJ7ivnEqUw`jUI8UFyae{@KR={WHBAfcNx5Gc|PX3?ZoX zDqMIX@#RuyV;@PFaDjn6Ie6hb4(R|ZsW-2f85#q;V63K{)aoTxF_umtP`1HpcB%6} zIWgof&Z26#^7Xc)OgmG(s2!-Y6~te@AaGYv@u(3yN5F7VbnCGx<;5xt7_F>P-&=!# zTD!InmC_2+Gz|CfPOT#&$0;H!D;NG_cE#W4Mh#_!(R}EB{@_A?c=_U8;j)T0GzPrj zA%Mq5qd5Mn0ewtsbFgC@hue_$)E-QIyD%d1Y8~NCJIBiV%p;CA7w2SW}un2sf@U4`QMb#+zf-ykvPE`>cq#mkG`=rM}Hz=$12w$_Q!_rWHe(bl`n*C;T9_bz{ z6n%?jJYxnFt~Y`t1!{nmz+hiI#k7&*LxS)>f1)lP6$l;Q7EW4z^A;BumolSTm!VxX zeN2l45(bEKNgz{=)R%n4(SS~7TgY~8ao4sC;wxj>jgF^6lb3mOP~^yew`Fk0gKwzD zQ&%TVQJ2$dfU;nkF(_$$T5NA)HX)h-?;pc2zN)Yp$VIm7r9hn=BG+Gyr4!*s4dreG z^PKtHP>eJR)o#v#n@V5A9vI1UVDxM|-}=h~(BYy(8$zc{mt&bA`~;|DKS9i$h5YvD zsQyW~9_i0?GAOSNEHp#PPcf<`-ah~{_%t5Jk|7v_&rLRa6U~52*v+h5Dw`;!=mmoW zCcy;GfLi%R>Y{OL#4{{{jS5}(t(m1^R{?7TowCF#$LbImz&?>vV^zKpbIX=eJp5+7 zWXs@-0pp^aHqk?AF6qebHi|*UIDS`|fS6kppx8P%s>DkCv&eIi-6V+!g?!^?8lYW^ zhNFjR69WQY*9SBQzpkH{D>Ap+-y(6|nTaQBb5*wQh^{5OgwQI^>c`NXCjQsm9r7S6_{v$#XAMvEPAD-W3ad}q>SdQ z9|3(BwM=xMVZlVB7M_2a#N?G&+>W^0Do}2lm7oPd8#yMe%IhUoqhZng1(Lz0)kAhGmJO@pHeQ~8$r7r3403bm^3M3-*uwSC%Qkc%5O zi&MJOnH$z1K-zuWrIRrzC&`*JRq9^9tdRb|P`%hD7N1##J+sS*_ZK>XdUA-1qFO*^vY2X4m3q@!Px`VP!NgCCy+$ZB_nPI~k^$l_=-g8Y~v9t7Dk- z>)dBo`4a`^*QOd77Y7Pq*)by>Rx}2^fiFk|?37-FUdPioT=iLQ4mx#caP;m&=h84! zz{K+s;d!MR;nN%NC9=wt4@#^>b*&nWvuwt922-DvTX%=`ccn-GRzt1Nu`1ohj)6Mv zhM!=|lXd>bvM$p@I*|4jI9p1$^P%!AG9zUtstouT$~J#-2kjb`lF@-`YL$LW8JBl>RLeJ`K^=I~Iz0A6EPI&e%wz?329 zbee!Kc7qdlXD%a$8kF~hu_<60_29T)-@+doYKhIkD)`AYA4EQqXaNyFfiR4FQtt3s zI;+!EiAOM>$AQ}E^Q1IMbV|LrRL&BtDLk88jnTSzn8M={1Wm-n8Xzz!^EfQ0up$U& zX$}w1Hht}_5`~^*wH}tGkZF%G%VpwQkFMT^H&|g^^YYr^vxT9eLGEkahH$A&g`%s+ zt@DA}0wjvS>43*m-4)+*duGs7NaWG#89^1VT}|08j9$PG0>fc(Z&fpeD|jAuB_!;W)QEujYOOmr--1R+6jx9Q~d*Etsxhk0WdM}_AK zWFSHNW3Nfq-bv;(M6h}8RZ4Cz4LeaQ4$-t~)GWdbWE@`Y9ZnPopuBi_@ouv!`OzQ) znIg?f`-ol{MpydzUhB|=q~>O%V)bUYfz0MA7;x9L3Z|&lrZOi!j5wD78`@Q*+%%@V&tyr>UulMS=pd}RA8P;0@n?E8H-T$ZU}J*f=>Y2P z;G@IkFR;m*YBZqa!a$#tWU^Gm`4FiH)+9g^CaL2*NgzyeY9BaM;5PVgfWKU-%u!3b=DFD3O6)ONqO)56>7SEMJ4(o-7JV{XQE?7 z@jxK=I$?QjrV7yQH<~@vOienAm9c~w)K0;#WenEG@!%F#B|=iq_3}OD&z88=leg|F zK--`oPDIRZ$z*)A!7r|+w#6bh{?yRwQ-3mu>Fo9zygt^~jj9lrn~xSdm{gg$e*UN< zOq?M^F8D+yj+=@gz54oSYpgj3M0gnZu}NZ$`T0h}F2XVDW4()m0o2e%J{meD%+X{| zF3kb^he%eIXtVXPw|^E;6o&6*&iALpRm!asa62tk);k&z+zTKLSyN7L&JBLunl7#H zb&Hgza`>*t-u<-M<9dPlLERCvp5D${`_Je<_lW-RvN>0aIlX1^^`!l$A%AoaMWxvQ z`l-~vUc^nsJ@?y_@k$~K|H=vD?!RG=A3?!Nx0n2?MnHAtxQKD1HyiV7D?L##h za1pkP?i>B*m4&1(U17I>x-rM~CbweF^*yHkJ;|uBR%{2AQ}Dw1N#uMa&2<+*{6sCg zG^CKK=kc6`w^*z6p}gbb2tD1Wh#H7;dMJ$9nzXAmTc^S*!lcojD&^I{_LMazyuH43 zQ@iZ=H~lg_?;@H~S@iLtOj%-Ba1K2S+}v4tr98uK{_fOe~|8+J4k} z**f9GLK*bFOBUaSi;VQe zXxJXm3S&1_K=4cxIJj|Hb_}rhs~)*IC)uaLU`&=*#jn8Rj_jz3D?P@&0VtrbwKTYl z(0)~CJ5n-}e=W70d@@O(LMfqcJz(1hDj(;-tdzEJi&R1^vO8^ZEdG7I!~TVS&#_lf zwldf4Y^ugj`@oc`$j9-j7*1t!Gxg9>BugwLle$E3Lc_F5ZRB;~3J^&#F)=jtn)`|- z3pq7Mov^{4%+&`bEzY0(R`CoPR@!5P*$0Trzx9ppTqDVpbi0sNv|%5ZCF*Y5Mg4Rs#RfJ8||Z&Cokuk=Aa zN*}1_Z~S9I>GzPIe7w%TKnXSW5=_&2n~x3uA|`r*ULd3v1I@ifK8Hs2FZnQStfs`h ze+G{V8DN2?dBM))_Z6(hBWUmCz|ju-05z6;wq}U!FoO2PCy-s56?yn1yEDZY=P$>R zkWRiUQ1F=2lGhOz{zoISGh3Qo9;YAycRCH-<vRC8+B1b>2CM>EIS2n^Hk06jNGbfK2W-o7N>GdNf*(RPo`4djo}Ib z^U4#Zz(9Gz+%WPshP%zr7`FpowoaZDF}>&>1CxGwZLrbgT#q@cUW1LW zau`E|VQ-0I;dZD5ZaN|Sdd~X(u;HFl!A8*50m_E#4+{qCsxUe|KjR8<%GSy^9M0)X zbT+R)c2cR3GLE9Uq&F*}Y|#JCSz)7}lF1?SC%XJE0SKl5m{EgV(od&w=Ag|z*4y+Y zWR67^vt)Udm#Sz7U8B9=S-rk7kU>U~idDGy@PO~(icl271zX>x%xyOx^n|v<;z84O z*rpN+>hDm0v`*2U!!#`%YnhsNId|PTVY7v*CJb88z-5FEr1?z%8hsce%-z*7Qik#N z4Qxd(I>O&co*>Sg=748O*&Ub=qyYK!oo%<&D=HHuqXG z-FGMm^4^>)uYFv!w(?21zDCf06bp<{5jT>FV1UQvnDB7G_0m;Z5ry@OgC&*@*rKsR zWs~jtKGcfIFO#887m_6rD#=oN3fZHjR$}2L#>*bfBG5rkuA?ZAfr;l~;#1vyb1vr` zq|$ttAs5F{s_YyA^JKHVo7K8}$+p4Fny=q}o6-UDt`$5KT!~8ZyJc&qx$9tF&x6txzg=TYdBJLD#klfC(oD8+9Ak;Z2fJ zTgyDwG&Nb;w9TrSp-7#yNnD(*7ki$aYaiB=Tm#z;T1uIqerp9LKzHr|k_Bo&c#i-hb{hahP*e|ysf#Lhlf{DX zbS8>Zfnk_0H_~*gT$BN;1&!dr%9Ch&tr_>(PDq*KVq_}s^$fp1dicOFL2}eEQb3C; z0lGL3tA*4KFG3q(5REmSX%dC~v^^!!;eJPeH{_f3&~e*-ews>+57>o6(J;=50p~9X zMDJ};X3YSut&$4Ac{_l6X~uQ+vuNW~DX{~vV~I*>3Z2>7yzhtGu}Rd>yQ8@*`p7|r zUJ#gX)Cg`Y0`dIFoFEm;SC%LNmncY+i+`+?qodtjP`<)XgAdQO1aMHk`@Um8;D5U& z;HC!fk0gFlL66K!sQ_KWr4C9I4>6MglSspc0@&9(0+FCYY7)%oPOdb2 zsj6dJm8)3Q4hr|PNCtsu1`ConjjBME#L++x6+M8G5TL165_~QiA1WL_dzO^nMako6 z*SNpNvnF*riYKhwRfoXgex3`pM5q{mh-u5NIY}{TmluNhhj+VKE=L%G9Z&FJA4^N! zmIwT}{K|N!3DfT&dMQwfBC23_0eph?XQ5cr!V+(xn02-m4gwR-$=MuW;#POtqW0@c zC6`mzMP!%hr}^cfd33JZOK`BqY87rl)S20%OCIjDRTo+Sq-|@0%dL0S)e%(xS`O?K=0s2eZ8y*6X&Q-=&y z2B_8`tQWFW-I?yproP!_re69mO%l$UubIHjaU0GK?Ove({@*F*l;-_`?bmy?%cC{S z4p%vY-yZHa(GClKe9!kY%m8IuE-|gV92u`UKGOVO*LdfyFr zRPI~md3@AaU@V)Z0jW>dEXfW-Z_BKDkydNpj9^B9Rv1^a2Uk^{h)7utd;x?aue5g2 z^F{fU0?^2b8U`-n0=wxsMG$N$8^exSP-F8OPlVY4CD3m zljsDli2&m&iVfs&c*xup9xe(oQo_8-4+p1246tnReK}Ore;ukny?Dr8NKD^pdbUoH zG**Vbeyf;=Y>iJJc@-Y53W*4q!JR>!s0`l`=INtz1ayfI9LE6BTGnZ!OYvf4EVqRY zQ)MBuj!bm6+W^#w7G|ItlOL-d9|&FNtmK?r8s_aR*ssW+^MNEonYD|7hRVCH0BglC zU(oY6KWBlf#3g@Slfh@G+Mz2^B~kS_xHD7P6=XiXx{>%}<(FS$UP6CIy|VHAV1LCU zoO83Vqtj5ZK{IRM#U59Q>ugtn&&F=1k89tw!=|>~oK(N|K#BxhL55@`XLzM8>74;Y zHvWO#JKNWMRR9=Ma|fO+Z;Yt%jkX=aZ!J5hcCO-6tqg}=H)&R1$G=H^b>Tqf%yAveuDOWiTy=s@;h-<2g9Nf{PX z3{=jNm+ZCdOU;o$$}Bg`ToM*W_B`gv?y;TLQbH@c5mIe`!C8wlDyKYoZfX)rT9POH z!P`G7NhgGhgv;b`c`CRKYPMyBx4YMzhk`k$Z#JWp=mb{n3&!?Z$t%0#H_^~I@#MJd zk2aCI+D7mJTj+}2WK&tK8Y&%>;P)m*G6gc3rO#9WowvOvuGzae>c@or_m{8Ubn&WA zc3eW%Y}QM_?tY%iz{lA3zCm>{9?e`|)Wpf&`@63F_UR(K*Wv!QxvrIJwwAhNz}7@# z$g5USi0S-DRYfYbHQlAC8fcl#r^ogSeewt5`LA$2Bj9InNE=Y|g#qhO7-mj4Mir1* zVAhL$HLN-lpBuusIeNi+V*;FU99k2WoH+cPMlDx>eMO|An;g+ZD7p_-yKA04e}$Zm zC0wGDAm+uMmnE2Po&*SJSV5}OhBm^_Bnpf(HPr^TRm(Le4Y{^7Tp@t{I$)MgIlTd) zyXSa2Q#pl>B~T(3!DcMO*rBBcYe_rm!MSjOOkiPMK&`bg(+cpcg)MW#U**ZazH1bP zD~vLMUr(z5*$X;wTD`$()zevUycX5Yy3(N+L+j$Ai=jh)KxJoj*+bX`<>4gc3w^E? zpYY2u5?ekM7d6s-f4|p%&2il&fUKMtPw=Tz%@YpC+`7%4`Pw`x(vX%kfukLFzZ~t3 z3n#K#gXhi@9hG%kc6S2+3gV!9)77XHEI3AIS*&+l2Y?lIDb&!V!G1&Ses;_5H#cKu zM_V~-Hy%k$O~e{xt92M#h8Qe0biDSahTc#}3_9g5(B(u?$Cp7&ZqyR=*3h$OdrKur zDh=j6hv63{_AH(Gg#_tkdElPb`Vp$yac4t)8}5Nvoa)7!We>DnqQq=zTN&0A8chJ7 z$ANVeV*rLAS*A%4STW5T(O0>+Edcba$X13YrI)v+YXs65{bE<)0vWfN$(GKv(|HzI zuR9o6S8#38&C|1Ws-{fwG;8UV8JGvTvf=NZox3{42JOA(96yx-Bv%=LR$t8v*iPU- zdih?G^Yr`Vbz6$}H09K=Ff&MOk)VGT@rltR`%m}ME1YQsa1e`w(Vy6aCTHHGQnv~z zG9>C?Rz#_fpyNV#D6_5(AXUqOyugz5q3h5BtcjDrfaq|kVosrEe*>!%0%oAOTIO6$ zrPihUq?sZU!!Vd(zy_Q?IPldpir0%2ApGVX3D2&9nfIr0NG(c(x{w|Voif9D6}O+9 z)(P3ifL7D7jDd2E!imSo9O7k$1xqUsd3FYb06sMdFgLx5gDY#a#5%4L%$v0XqrJOa zcrid?%bYs~aEglqe3@ZT?m0MgJ9H>}!C}lBgVR5$C01r5kciJmSV2-BYkajYGSw#b zidt~4e_fe+-%#Hp4jxY9vM+Fkpa?=IYHC^h}QT)hUEcF7T;AO%VctZPSmhN5RzC38k{Sc5) zCVC*x_z^&U5x1OQG#4V=YP2eDXagrw`?Hy0ofGtYUWsN2d+lR_zH&>S`!k&oN#FkJ zD_8HneS^wb4ehQEjDrl)01hI?X?!bYuq{Iek)e`J4G?U2Ga{$7aJbmrr&2AW7@r|X z_iAqjJ@#BrFxu{WkApK0uEF(|`n-mj_AkLzfn*wl;WLS@;oEiFYQvc)8$(jOjp}6{ z%Cf6g_7!+94*l6qKtDygW_sv5IHZ^?bpt5tHB-&1V4f+@qe)eFWmkczQfGrm_B8DW zj+%|Jj8PUE1sWq}o5c*ed7XwXAWIR_2~TfW6J0;tvYGY$5wIcm#(F5ZME2gf@9+xE z*zDn$hp^X`x_3*I7pX8Fd}ydLO8HOp(94AS73?LLJ>GH|1coH`x^Al<&Wf|9)QHfP zAtW-v_Av2JAPXeWQ*e8BHNXI%IVarQoa()%d{+kwcYy0qF*HW6>k0c@fCCN3>yt3C z24-}a&Qn9rDZ7^`6qzYwO2W9O2@S{Ic-@!4PYGxRN9viW=Je{Hd6gjb-e2yJQ6G;g z0wCeBUs01q6&Z{LK8k63)?K;iC}7|NrI>uT8>FzJ1(cj?tm&9}!aL^&W6B4_!BDp2 zN)uGImWY$ryY|b7qzq1pO@t1|LVB#l(sIo*@f;=P#mu}X9NBR7rOI6hNIQ^5;a|UU zlt@g<`&S{y*A%N5z8u%Jw7pLHWbvuBi8e-F&TPLRYN#0@&<#d?A(`s=SAcx2Xstd_ z$V@f2O94~9?_FllG3$fxZ!b5$gJiD;1zj{9NcD=h%tcep*5Npx1$!-uNXVvAD_=O{ zT)iiW3*+-oY=sHO(re0_AiupqA8cPNW`p`(D6Rye8>mtFQ^r;-|7W4sN9g zkjyXhK`ZyzX^=;(<{Pw4fOu4oOgl&y0J@F`J++(;#_h4#+gja$e*jImq$&t{1rQ($TYqSKr#_c=d)QRJ{FKf5Agcr84vs6qqE> zPrnqTR*_anlw!0lemI!M;dkQkMM%6rH>dajdzv(@+kTrRx96wFrrK(cxsLXlbJcqp zBCzvPuRN@9kbGaLtZ-vHAB?IVz_y7V-<+?e0N?=h0*1rxT+zJu>TAh_vS$Gko)|B} zLd*Rlo9d)B3!|2jv|1Rm-G{^kvKV(+eI9bky6|DwjuSzOhxLf`^UR6O~Jk$RYSHz)Esp1 z`oOqw87}#Rr!bI@|L$^s6@+XwmwX1~b@RWD<&gm8Y_yjCp^5-A$P)4hvhr#6qe=yGj&;zusw>A-(@rS((7s) zQ^(ykg0!7G*byv~=BQ{MQJ$MgEf(}9R~=M5poGx`Xe;~u9YuLAmM%XD1IM-Q8;ucE zKBO?FDGUDGAvWsItkm`N*Qq_3@=O^}s+8h}T9ENRR7IJ=o?1pyHnDk-tsA z!{CDwvJ6Z?x19#L#d!{`HsbV}q*6i$cU2`&O)(6kY1K4eR^Hwf&`iu_(7e@dZYRFI zsD?s;zI#{?V2^4Va}O-ZLKymy;Z(1(DYlblmI-wS_d96;Z2N{3=&FMH`8N#T|K!`J z8Vr}sIm1%6B6V5{3JO-6F(Jk>P2g~AGm%z3TunIG8nj;P)wGVVoP$bfFKmNx1!~1W z*A%-Qtk!pySnDp{3u*H|gMF16#0k|>F+4ro7HUUeP(zUbF0aQUqOgRchQn5_Q86&^ z!muHTVh!-Wxhzfr@@qKok<>V30vml#B(9{A0$U(N zUWw+&L#VKiOVH+n=FXH@VIwfHYf>_3n`y-3vSDI6T3t0Q&TAIQX-PN7$HeMK(uN1l z6$N1bOqjGvhdN~>9L014Ff)UO$-zia3TiqweQw&w<8j9|l;7xu27E@wxl1o`|FYo~ zd3#Z+J~Cuxfl;2rK~JCKN>)A$jv8xszmRzXH3IdCbn!j8xBpChHBMu{II@^9+$~Ku zjY@mhG-`I%Y#VE=(esmr85fY14e!h|iw9GRs+AY?aL%2EqMW*jf~nFL^Qp|T&glYD zjfI0C>o+#TNvXo@W*-r45*;8)92;)~0nCpU+Fh?<;VMD>NA#VQQ;a`e>CGJrydUMlz1gFa2z5<~yi(AAQ%Y>3g z{iCnmmDd~9XDT1NxMpzPkHH$GcqC+l{u$j^?JlUnh2%cyr|d5=PPuXSF*-$OwIWwN zf)-PH{yp*e-oCe2xiWP$IkQ3{MrH6FZs+VJ6lpzc>dcee7IW2p$0J*eig3T4P_J;> zT+d?<^-`O7B#EkcF$#5u@N221&JlB%;V*$2>q~=iI!rrJEc)JILGLU&fm(;(P)zpS zvjv6dQ)vg2rPtj6_~ijHvssdaypR*0Qc43b9a03ErkE18T)i(N`4VwMk>&&>Mi<5~_-k(JR4FUy#0M zRF+02+N4Yw6#&kso%D5-ZjqhaC=0Utg-5f8t}2 zj$}_DRRQUCCA-7&X|fM#o=^ftjqY?mv5fH{hE9{&D}Qaj*I7cbSW3gE+u}YaTpV=G zSE2=6sBEA@iaeh1gS3&uGflVaojxeiN`E|}Aqp!qYBH&u?E|U}f*4;$RO27sv#Tz| zz8h7{sCfmqwbh0?c7AvrPhN0g->QvIIH3UKVbS%|!}KE|?mQlAiIbd;IR|s|)`jNW z(bExp&UO)k=H*JB@#)aM+)Uh$F=wZbP<0DBo{I#F@wg6$2hG;3=1Y9L9=qqds2!{J zu!FeFYABu8Cs4=lymO zGL+1k*yO~{puFJ7MOGo0Z~Y#{U{J30aqLGu8L3f^SxOjC>zQAC2#Tuqu|Uc0 zQO+f{mvv}mYZDgZfchd1j*U$sz#T(0ecshttlM^_9ufyD$s+bax^)HF^`wg=+ ziuh1-h9p)7%uj# zZlT%+B&%{1l?V+6^EQ@8bx}qZOc}%lTvc zZ$+mkd&)uI?+nh7E%o}@4y!P|c6CC>ZVx_B)LGHJn-A+>ylZ6^g+<7`o1ey@RwyD9%QLAssK=46lvf#c1=QE*$1C1) z*ekRcs8ps?xlYSw+>Ys=fdR+Q+>Me35x!bu$lycEy6j=sg_}h;TW=pmnFWmZIWV&& zORYs3w7Ez5s^MT_VoLKk?X?iivgzeg+>S55(U@c2yBlND=IjCdeP^i(<}<(`7zZqz z4gh5xS0BjV7>hNLfk-RGHFHBJR-Cy!0J4B6Uj6(bWFcUFazUd`I{f;w)3L}99(B62 zZ0t>$$g2L@Y(-<8A7onSBSxl&;(Zn4%Uw?I(q*jQv!Qi}zTv(dy`Q(7*2bO9J2M#B zGi&)z!QREf4})ZIinT8-H>Hz>UD>i948umDjjYaf31?+F3I8(Yr;w6kz)5F)<>b_* z;&Wjs#JQjvZj?0;)r*HxYF}-@DRfFrA#ICf+z@Aae%Gz@Vz9E10A5Dm)PJz!0UzQ%pon^zr7=2EzubOy0+=$XPKix5ZHS;4I>7Uvyq42=$iM^sXT5@hYz~Y-P?68D3c1>3DCq z-z#0_v}|QE3L;mC{O8($8rkIF1@3jRHZA9C?PW=I%|#ITgxdJUA;K_bZSpxI|0Re+ zWMOA~m(SAu=1txb>&DU!;q!v|D#XfJNBK&rN)xC)#=6WL4AQ<0Z-srdrw;ebbHx5eztlj=do`k*^D}4>i|^_$Ieyd-8zcly5DJl$Q}wLL`Vp# z0{n!zOJeqY>yFzjErTTh>rm-t#)!oABJp`Ht1yuK-?wj-SKDIFFJY0q!~LL}aINRo zd{oTby2f91+0%PYS9**y)$%rIik($*1}n4$gFs!cRd~qWkPfSLaVWEDuiTFz%0;0u z!BeuHvbKR0IT=~456Ux?V@AA<0Vw}S;+(N#^n4?r%HIed(B)sc)_!< zfl(-d+qFiZh3WKJP<<{^y<_GbO1EBge)jnJEzi~0j-CL+4-T_n`paB+UP!^K4=^D_ zx(rMOj+Ou`gLlF9#38!qYwrbyhBpBl##rAtQ3`begIXB|MU*D@Hs={Dnh?x!6D#9Z z1t3PxUswi&)OMfVVKkc9b(E%H_lQ1?;c;M9%J7Te2W@dZ>2Rvm3iAitJtN3`$3=}C zX<~MhG1x)d;Az0PwjOC>1+xAl<+f?anm=qXy=@^3x|i`8)IQFefS?W+E|rB!e*&+G zn<+qc+##yLLJlx36LDIEBPqJ~Kc+vFWG?|G<0G>P-zFZfqXiMaOJT~~qdKRBJ_?Xd z*}RqPa%?~I@vS~T0Z>+ta?l)k2^H3h_jl!Pwml1#L^(mdWkDo?`kRscX(AuiMR<2@ zt&CDspOpOtRn_8qanu}L&+ybDT^eqU;*AEb%c9}fMv)rJM?(n4JPBe{JT5NEcRDg35d*$c&k$VIN! z^fz6k{fe7_oB#&~4B%~}%+d5@+Y5|wfkgB9c)-I9oz6gpnugFyJaKW*n#)vaf#Eai zluK1#zNQ?!-9uWW;Ghk!4o{el0!@MCCfvcQY^xI8{XlrLfTPlZ}0I> zOr$9;DPOAAsaYcS7J&u_yETv6o||Z=4O}`Rh~Ll1jyS7=Ibj^+a`=Lfo^H_TfV8}V z%W5cSyWEqKEv1}>;Jl^Y`m+Sl7gvmcU6Yyx6$A#YkssuyNw07ZY#u|>t36`4hN3Xs z4^aV3PGeNQZOAH3_FRE2s1<`TYWBWr5BWzMoFo2Po+LEGY~{d0ZGoFrRC4~))=q`%Q*9Biyis*#vt=s!O`(>T@r zEGAg~?^MEvl~3=_gte0LavHzrG#2S=2ZhrV^oUs+}e^inSqVw&b z`-dRA!%>@wW?i}JZO|S&oc`Qmw0byyq|EMMXLTUPtp_9R(khrq#2j6*ZK@8T+?af) z>kxkoFwmky>%rozzp#dhM!dK>--f$4t~tGr<+6@-Ofj)Oq>&73$!`RSN``p=IU6^- zDE9-ScH@EFY8DckD*kO>UY*~=7$5oP1YP?!URCRy3@G=;=&w@&E&OsS{7`<9Gm}C6 zxLTEwBc1#rUx$pN851byT_m_K@VCuJm(kl9(@~gzrl1qj^33=y|NeQn+it7%71rG4 zdb>{t>T%_|`-8Fo9`CMmKkW}2a>m-}#_|7drxUy%?a8=+2$j{a6XCtA38>bsO*d4q zX1Q#9+j$j1mDi0`EnCDEs;2%^T%hgqS$Y8MhBPr(Gt>u=A%%-QWuiF!!(O&JCrr2N z1|2=|=JBBh9Xtx4>Ys^)H|spnN90Ws{@GE`_i*09=v2=UXgo4fKIL!N7~Ow!1k}7w zu1(T=my*iutBu2vh6k!48*+&P*8OIcR@BmS-IoN6)avAsJ|YuT@0^+fFZ_8()Lr8w z`+mWwHG&rO#j@4Dz9R&=tlW4erWrISB{~l}Ccp}u>E<-zFT|8LHIaGRnZke^%pToV zMX2Sfg5qE1BzhGVY1VCEd$PWn(6CxIZtqW#v(k6ajxIL>g8syl{{ya z-|O6U%rDdPC&{$Meq-e|iun9j+B`Xrt%&3gG%rmOz z>fL^`bSq~nvd1>Knpw0J#iUJ2X4H5-W`DTSxnMngHh*sP0(e!;te!`1&1okvRMk_u zN1k{MAhl>+5r=~@4pNJ?h3gc$0n(ERFPJU=bia1Y#kPOIl^#Poa8Kr%pvlBgi%iZL z=oh~z2u<>GTbOnARlM0o!q2o~WQO#bx-wZwS%II`%r(O zc+8%3lFs`Qsrj?tIU_{ey;NGG8ky-4lIcn}uz9jd5h^B5&?ln(`m(_`6baJK(*uHf{-}tr_X^X?0D>!)bRv6VfvbGs&jXj7>@=^BP zT1;yE>$B$=w6~rprS2s}@2<-V2a;8fDu*$JQ-M@7XZLrH@o!bJBm0KoIUFj*I6uFa zpVK}!8dY7Kq}?r*TsOZpI-eZiusuHPu3e(A%(rcLxZc2>UB9u_HV?GgqeG0(eV#8` zE_#JSz9wsS9oHTbeJXvQdxTM<@G+!SIySFi<4)^}#NSm#lSxcZEeAjGM{G<^dmG(Q zNDkxDthDsS`;zqga%RvVW0J5UfcBg*2I#drD{#cd9B zw_{2Ym`DT8-QDwW1GB?5I{6)t_dQ<>v;(lmG!Q+2tONixilFF`mbq#J#>kYAqnHwq zdQZ(y;^OD5iRNh+Cu8eHstga1kw(?@1`Z<_HB}@KOpAYaV7wvwD}hk9zZS9BF0j|h zNq0~aiz;kR1g=bb0k)2`J-_Tr3;DKIO3m=2zc=+J;dM|)wJ>1nu6SXaF-N=VGwHeY zy|@%viR1Qi=b@wi2M}u4fFT%-B@d=}xY*KAHH7Q9oI*863-;b;s~Ip!4i8ZoXIFMQ zt(ffYxR3i^EVj~NW~+|5&ZyzEaVyTtT>#dMV7fX7oou58I-j-ngy9xp_L3lIZU!~M zlSSp&sP+aX-V(hI+xneWy_I;w* zr#p6Y8>VIUjhhv!@Uc{>Sy;a5x(Z^EFUw-6P}Hn<>tHyi{C=eC4dwX!`sJ(=OEs!z z=Puif*4k@B5KS;hK{UT>TcOTyZniRXpVo|&!@?H@s=oJM57pi#jWfk@_!9=W8q7dn zQdeFLfZ3t_#`ViS{9!`XcbS!(b&_S`W?2zEHAghge)xzr!)CDocGHROh^~aGM2}LU z-UN>~X)vp_`ch21A}a-urYB-cL?{JJgX$}Bz&|hnnrQ5Ho0NCmr^%RV1Uu>(r^CA> znN^Ug*zF)BziGpM7JZIQEafU^YE5eUpAT9{B-vjb!gVKjE z^i{luHtmWc{o$lf$0`zV1`26nF7}Lb5*A}YpEO|N+i!uRGQZ>BN!XbmaVS_YJl)1~ z5;Y>fD0XVIYh8%pxE{_W7Wd(@wsh-lp59BoFVIk}!p(&}`)~NCI^URz7Ih8I zFO#`z@-KDs6=p$S8lqp!&H3Z`)WZJ2&4MdTALkZj6e>kb)i>Yc5@P7m=qOcyE6dvuge-W)0JZNyJhGX7|4TGxr=yJ4d7Q z3M7|q+xsaVy?T9uTt$r6!r;m3&DZm3^2yBds@P|?at1&+HGORFpF2tdbi{#&P#gj1 z#dQulv;c{4?||v%Y=uCj&NlbBGn_m)XAv8;&%S5l@o8okh&5OP{St^#jxN6j6aHoz z?TaL~z2=V-+`XBg#ZXe-UytLC?0Df}O4$EyXpx;@{}RpFrSSFsSqN)9A3;ZwR@>Z& zWzuRh?~49)d?^&L0GzIeq+io|In(g3BZ|ob!a@blPs{x~s?hORPDa9~*tx&~4MxD|AyLiWJwf7AxUF+g+zQ&6hzWW{b4q1w?gyNViX!709$1`sd zJvPIZ%_h2vd9UZt9JD|tDbyV4r56lc)L0dUszw=jrB+_LSxqJ+r09%OIk+DacmF3dUJe8xqr-=h{w9i zAXQh`L=Fgg(lJ>Wouh_;L$H5^`V4opXv#7+U-Wd@otl$X7;wD-ZA)rs4{s#RyfYiW zDXPL~uyaU6%URrcH8+_raKY#@2Mu+|AY@zSd+m2dolV16Z+nxnl0`soWb~u4hPKo3 z>=T{p6~HhPnSN=}J>zz9Pfo6jtZ@qhp&JgdXuj@VArQm4<3HDuMmif0fO`H!nEi<~ zkDf(*oO`(TJD?2|m^5LXUq4%Ev<_N>DE2!it_y07Bp#T{BzoHh9z@BrZv#j(1POt5yuU!GZS08j#;!Q*ht;U2^9D3 z=pEJX|=LfJ|jJzpuOVif$b{K{MHQKuIIX1@#G~)BYn%|I&XjT~Ngf00@9!_D64X z^MnuRcKB_Z0(VQVr&A|&LlGI=WVWv43BuTo!+>MWm>&i$1u$>n$oTue48YbM9#XU` zjAspp@%DRnO+VsfZ3d|Gnw3ZU`IVYctuFT6*^L)nU%KSPPdY|8cbmI%ePpOg6#(mY zX}LF^N1}GMT&Tj#{me|F2CesuY3v4Dp-6rpbjl(R5Z7jsdoRs#a;z?sls#Dx4h^LJ zswV;SicWarc&GFHUOa3?bSSHMA1?cwi}uQI9=p<59Iqoz+&_f0QV4U00w)E_Fk`ejUET2d0LWSyW}!R zx)Qjxu=RhF=->;$kajSsq*^y0@uFJ4Klh0O$Q>ZImptUi8lHv}-r3iiZNwv1yt`txpta&SP^ROlmvZp zO7pNzh(B8qGWn68O8e+3x^DkH#w3lk(xP9jm{1dd0v0L(s~E7Sln*1QVfcL5n4)Dgiwr~ z(~3#+`G*44D&-^^*)dxjJDV~+b9nP;_*i+Q^$~+j8F%CksU^n z6ON`WY*5Y5A~Ij$1HEAuA#^XhmMfb()g*AlK&|%$Deln63kQfXL44!*3w=;k!P^x@q2iG#g zX1NLEobhcsfoKPC3<_%2oDZ0ev30- zN{Te0R5H=DN%0U`zK`iTxMYsj zJA))POrzgOj_1C)0SI&`i8@neB=0P&N=xx#v6y}951$=iqf!7-`XZk$-#`nWDzw&k z<#MyBpm^gd*AD;5i(y?p-k_re%~@3LqLCwxa)ZXi>&@$?=W0p}jX7Hs2!z@mFgw*$ zl{Y-}f?%ZxClI)t_P^{coOs}3()#$UiPah2{uK24nefcy1Gaw&xYGEOIlR|*^5C9* z@~_(+1NUM`5$*k|I<<4q)VH+)84xoL>JsaAdGewd^}0I&_)rfd@)>QG#Z@YeBTvI@ zdk3$#XPdR|+{dN3eFtTC=u6ZdAd)*KjzT#fbj}GoEQ@yO2<9bFHdK{ae23<6TMHh? z*v9q%KDijM>MyWhI1`a6nfm;CQ1QSIjl-PjAYC_2d-r9ofs6ds+E@o-)gO=kKm*__ zg9@)g&IZz7(bhZee_@C|>QwDgN(njK

;$9StQO->tzo9pQ= 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

_pH6|S|Lffp)Z%HVChDJ*!Hj5v$ zXh_8iHK9cd;mS57IzytAMAvmj#~UJj>xxvN`bRbIH`wjrYgdgvB<&lejt4z*_q&m% z>0ESrA|mZWOZRF$!hROHy@^*8XC!>72^(@eHx%PtK@9z}wTpXOpY5adndB+=(Qyzk z?_aGz1(w|@?0B;?(%5(dAkrVy2aDN-WcRoo)xFvcSVx#zxj<5PDU>l_js8yW;WdU) z9%qgaHWT?&cxA(jpq%fcG)$WiHB8g4;yxVtIgii91N7jW6sqO(T)AA+jicCc+FqwQ zPuwp(oq+?U%&3G64-JVio6dWweDf*u|J{#yb0A#ghHBRCxXdu=Tc8THu@VHj531aLxc5MSx%0A$6V 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

Z-q(V^HjeG6+4h{!POEp2$&yOd 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 { + + console.log("Building code ..."); + compileCode(config); + + console.log("Building website ..."); + buildSite(config); + + console.log("Generating Complete!"); + +}).catch((e) => { throw e; }); + diff --git a/docdemo/package.json b/docdemo/package.json new file mode 100644 index 0000000..d0c3341 --- /dev/null +++ b/docdemo/package.json @@ -0,0 +1,35 @@ +{ + "name": "inula-docdemo", + "version": "0.2.0", + "description": "A tool for extracting code segements from markdown files and generating inula env compiled results", + "main": "index.js", + "scripts": { + "build": "cd test && npm run build", + "start": "node index.js", + "preview": "node preview.js" + }, + "repository": { + "type": "git", + "url": "https://gitee.com/LogCreative/inula-docdemo.git" + }, + "keywords": [ + "inula", + "doc", + "demo" + ], + "author": "Zilong Li , Huangji Wang <1114655801@qq.com>, Zhiteng Li ", + "license": "MulanPSL2", + "devDependencies": { + "@types/node": "^16.14" + }, + "dependencies": { + "@babel/parser": "^7.23.6", + "chalk": "<5", + "dotenv": "^16.3.1", + "fs-extra": "^11.2.0", + "glob": "^10.3.10", + "https-proxy-agent": "^7.0.2", + "live-server": "^1.2.2", + "openai": "^4.24.1" + } +} diff --git a/docdemo/preview.js b/docdemo/preview.js new file mode 100644 index 0000000..59297e8 --- /dev/null +++ b/docdemo/preview.js @@ -0,0 +1,16 @@ +const liveServer = require('live-server'); +const config = require('./docdemo.config.js'); + +function startLiveServer(config) { + liveServer.start({ + port: 8080, + host: "localhost", + root: config.docsDistFolder, + open: false, + file: "404.html", + wait: 1000, + logLevel: 2 + }); +} + +startLiveServer(config); diff --git a/docdemo/src/buildSite.js b/docdemo/src/buildSite.js new file mode 100644 index 0000000..68d6f28 --- /dev/null +++ b/docdemo/src/buildSite.js @@ -0,0 +1,45 @@ +const fs = require("fs"); +const fsExtra = require("fs-extra"); +const path = require("path"); +const { execSync } = require("child_process"); + +function buildSite(config) { + + // Inject CSS codeblock styles + fs.copyFileSync(config.cssFilePath, path.join(config.tmpFolder, "old.css")); + let codeblockCss = fs.readFileSync(path.join(__dirname, "codeblock.css"), 'utf-8'); + let globalCss = fs.readFileSync(config.cssFilePath, 'utf-8'); + globalCss = globalCss + codeblockCss; + fs.writeFileSync(config.cssFilePath, globalCss); + + // Copy the new markdown files for doc build + fsExtra.copySync(config.docsTmpNewFolder, config.docsSrcFolder, { overwrite : true }); + + function recoverBack() { + // Copy the old markdown files back + fsExtra.copySync(config.docsTmpOldFolder, config.docsSrcFolder, { overwrite : true }); + // Recover CSS + fs.copyFileSync(path.join(config.tmpFolder, "old.css"), config.cssFilePath); + } + + // Build website + const websiteBuildCmd = config.siteBuildCmd; + try { + execSync(websiteBuildCmd, { cwd: config.siteFolder, stdio: 'inherit' }); + } catch (e) { + console.log("ERROR occurred when building the website, roll back the Markdown files ..."); + recoverBack(); + console.log("Markdown files rolled back complete, build failed."); + throw e; + } + + // Copy dist folder to the target demoDistFolder + fsExtra.emptydirSync(config.demoDistFolder); + fsExtra.copySync(config.demoDistFolderAux, config.demoDistFolder); + + // Copy the old markdown files back + recoverBack(); + +} + +module.exports = buildSite; \ No newline at end of file diff --git a/docdemo/src/codeblock.css b/docdemo/src/codeblock.css new file mode 100644 index 0000000..508e814 --- /dev/null +++ b/docdemo/src/codeblock.css @@ -0,0 +1,44 @@ +.docDemoCodeblock { + /* 一层结构:包含代码部分、预览部分 */ + display: flex; + border: 1px solid #ddd; + border-radius: 10px; + margin-bottom: 20px; + /* width: 70vw; */ +} + +.docDemoCodeblock .docDemoCode { + /* 代码部分 */ + flex: 1; + padding: 10px; + /* background-color: #f6f8fa; */ + border-radius: 10px; + font-family: monospace; + overflow-x: auto; /* In case the code is wider than the container */ +} + +.docDemoCodeblock .docDemoPreview { + /* 预览部分 */ + flex: 1; + padding: 10px; + background-color: #fff; + border-radius: 10px; + border-left: 1px solid #ddd; +} + +.docDemoCodeblock .docPreviewBar { + /* background-color: #f4f4f4; */ + color: #42b883; + border-bottom: 3px solid #4569d4; + cursor: text; +} + +.docDemoCodeblock .docPreviewText { + font-family: Arial; + display: inline-block; + padding: 8px 10px 15px; + line-height: 20px; + font-size: 18px; + font-weight: bold; + color: #333333; +} \ No newline at end of file diff --git a/docdemo/src/compileCode.js b/docdemo/src/compileCode.js new file mode 100644 index 0000000..8e17da4 --- /dev/null +++ b/docdemo/src/compileCode.js @@ -0,0 +1,150 @@ +const fs = require("fs"); +const fsExtra = require("fs-extra"); +const glob = require("glob"); +const path = require("path"); +const { spawnSync } = require("child_process"); +const { getHash } = require('./utils'); + +class ViteBuildError extends Error { + constructor(message, codeFilename, codeLine, codeColumn) { + super(message+`\n at (${codeFilename}:${codeLine}:${codeColumn})`); + this.name = this.constructor.name; + Error.captureStackTrace(this, this.constructor); + } +} + +function removeCache(filePath, debug=false) { + if (!debug) { + // remove the corresponding cache + fsExtra.removeSync(filePath); + } else { + // for debug, comment the cache file + const cacheFile = fs.readFileSync(filePath, 'utf8'); + fs.writeFileSync(filePath, cacheFile.replace(/\n/g, '\n// '), 'utf8'); + console.warn(`${path.join(process.cwd(), filePath)} cache file is commented, modify it manually or will not be rendered in the next run.`); + } +} + +function compileCode(config) { + + // Create template src folder if it doesn't exist, otherwise delete all files in it + const templateSrcFolder = path.join(config.templateFolder, 'src'); + fsExtra.emptydirSync(templateSrcFolder); + + // For every file in the demo source folder: + // Make a subfolder under the templateSrcFolder folder with name of the file without extension; + // Copy the file to the subfolder with name index.jsx; + // Copy additional files of config.templateFiles to the subfolder. + glob.globSync("**/*.*", { cwd: config.demoSrcFolder }).forEach(codeFile => { + + const codeFilePath = path.join(config.demoSrcFolder, codeFile); + const codeFileFolder = path.dirname(codeFile); + const codeFileExtension = path.extname(codeFile); + const codeFileName = path.basename(codeFile, codeFileExtension); + const templateSrcCodeFolder = path.join(templateSrcFolder, codeFileFolder, codeFileName); + + // Copy file to file folder + fsExtra.ensureDirSync(templateSrcCodeFolder); + const codeTargetFileName = `index${codeFileExtension}`; + const codeFileDestPath = path.join(templateSrcCodeFolder, codeTargetFileName); + fs.copyFileSync(codeFilePath, codeFileDestPath); + + // Copy additional files to file folder + config.templateFiles.forEach(templateFile => { + const templateFilePath = path.join(config.templateFolder, templateFile); + const templateFileDestPath = path.join(templateSrcCodeFolder, templateFile); + // in case it is tsx file or something else. + let templateFileData = fs.readFileSync(templateFilePath, 'utf8'); + templateFileData = templateFileData.replace(/src="(.*)index\..*"/g, `src="$1${codeTargetFileName}"`); + fs.writeFileSync(templateFileDestPath, templateFileData, 'utf8'); + }); + }); + + // Build code through Vite in the template folder + let child_process = spawnSync('npm', ['run', 'build'], { cwd: config.templateFolder, stdio: 'pipe' }); + // execSync('npm run build', { cwd: config.templateFolder, stdio: 'inherit' }); + if (child_process.status !== 0) { + const viteError = child_process.stderr.toString(); + console.error(viteError); + function getRealErrorPos(errorMdHex, errorLine, errorColumn) { + const errorMdCodeSplit = errorMdHex.lastIndexOf('-'); + const errorMarkdownSubPath = errorMdHex.substring(0, errorMdCodeSplit) + ".md"; + const errorMarkdownTmpOldFilePath = path.join(config.docsTmpOldFolder, errorMarkdownSubPath); + const errorMarkdownSrcFilePath = path.join(process.cwd(), config.docsSrcFolder, errorMarkdownSubPath); + const errorCodeSegmentHash = errorMdHex.substring(errorMdCodeSplit + 1); + + // find the codeSegment in errorMarkdownTmpOldFilePath + let errorMarkdownTmpOldFileContent = fs.readFileSync(errorMarkdownTmpOldFilePath, 'utf8'); + let markdownCodeRegex = /```(\w+)([\s\S]*?)```/g; + let result; + while((result = markdownCodeRegex.exec(errorMarkdownTmpOldFileContent)) !== null) { + const language = result[1]; + const codeSegment = result[2]; + const codeSegmentHash = getHash(codeSegment); + if (codeSegmentHash === errorCodeSegmentHash) { + // count how many lines before result.index in errorMarkdownTmpOldFileContent + const lines = errorMarkdownTmpOldFileContent.substring(0, result.index).split("\n"); + const fileErrorline = lines.length + errorLine - 1; + const fileErrorcolumn = errorColumn; + // throw custom error here + return [errorMarkdownSrcFilePath, fileErrorline, fileErrorcolumn]; + } + } + } + // find the templateSrcCodeFolder/(.*-[a-f\d]{8})\/index\..*:(\d+):(\d+) in viteError + // with the result codeFilename, codeLine, codeColumn + const matches = viteError.match(`${templateSrcFolder}\\/(.*-[a-f\\d]{8})\\/index\\..*:(\\d+):(\\d+): ERROR: (.*)`); + let errorMdHex, errorLine, errorColumn, errorReason; + if (matches === null) { + // might be tsx error + const viteOutput = child_process.stdout.toString(); + const tsxErrorRegex = /src\/(.*-[a-f0-9]{8})\/index\..*\((\d+),(\d+)\):/g; + const tsxErrors = viteOutput.match(tsxErrorRegex); + if (tsxErrors == null) { + console.log(viteOutput); + throw child_process.stderr.toString(); + } + let errorReplacingPairs = []; + let result; + let visited = new Set(); + while((result = tsxErrorRegex.exec(viteOutput)) !== null) { + errorMdHex = result[1]; + errorLine = parseInt(result[2]); + errorColumn = parseInt(result[3]); + let realErrorPos = getRealErrorPos(errorMdHex, errorLine, errorColumn); + errorReplacingPairs.push([result[0], `${realErrorPos[0]}(${realErrorPos[1]},${realErrorPos[2]}):`]); + if (!visited.has(result[1])){ + removeCache(path.join(config.demoCacheFolder, result[1] + '.tsx'), config.demoSrcCacheDebug); + visited.add(result[1]); + } + } + let newOutput = viteOutput; + errorReplacingPairs.forEach(errorReplacingPair => { + newOutput = newOutput.replace(errorReplacingPair[0], errorReplacingPair[1]); + }); + if (config.demoSrcCacheDebug) { + console.log(viteOutput); + } + console.log(newOutput); + throw new Error("tsc build error") + } else { + errorMdHex = matches[1]; + errorLine = parseInt(matches[2]); + errorColumn = parseInt(matches[3]); + errorReason = matches[4]; + removeCache(path.join(config.demoCacheFolder, result[1] + '.jsx'), config.demoSrcCacheDebug); + throw new ViteBuildError(errorReason, ...getRealErrorPos(errorMdHex, errorLine, errorColumn)); + } + + } else { + console.log(child_process.stdout.toString()); + } + + // Copy dist folder to the demo dist tmp folder aux + const demoDistFolderAux = config.demoDistFolderAux; + fsExtra.emptyDirSync(demoDistFolderAux); + const templateDistFolder = path.join(config.templateFolder, 'dist'); + fsExtra.copySync(templateDistFolder, demoDistFolderAux); +} + +module.exports = compileCode; diff --git a/docdemo/src/configBuild.js b/docdemo/src/configBuild.js new file mode 100644 index 0000000..3f99ef7 --- /dev/null +++ b/docdemo/src/configBuild.js @@ -0,0 +1,22 @@ +const path = require('path'); + +function configBuild(config) { + config.demoDistRelativeFolder = config.demoDistRelativeFolder || 'demos'; + config.demoSrcFolder = config.demoSrcFolder || path.join(config.tmpFolder, 'demo-src'); + config.demoDistFolder = config.demoDistFolder || path.join(config.docsDistFolder, config.demoDistRelativeFolder); + config.demoDistFolderAux = config.demoDistFolderAux || path.join(config.tmpFolder, 'demo-dist'); + config.docsTmpNewFolder = config.docsTmpNewFolder || path.join(config.tmpFolder, 'docs-new'); + config.docsTmpOldFolder = config.docsTmpOldFolder || path.join(config.tmpFolder, 'docs-old'); + + if (config.gpt == null) + config.gpt = false; + if (config.demoSrcCache == null) + config.demoSrcCache = true; + if (config.demoSrcCacheDebug == null) + config.demoSrcCacheDebug = false; + config.demoCacheFolder = config.demoCacheFolder || path.join(config.tmpFolder, 'demo-cache'); + + return config; +} + +module.exports = configBuild; \ No newline at end of file diff --git a/docdemo/src/gpt.js b/docdemo/src/gpt.js new file mode 100644 index 0000000..fb37fd4 --- /dev/null +++ b/docdemo/src/gpt.js @@ -0,0 +1,56 @@ +// https://github.com/openai/openai-quickstart-node/blob/master/pages/api/generate.js +const os = require('os'); +const chalk = require('chalk'); +const OpenAI = require("openai"); +const { HttpsProxyAgent } = require('https-proxy-agent'); +const {sleep} = require("openai/core"); + +let openai; +const apiKey = process.env.OPENAI_API_KEY; +let httpAgent; +if (process.env.PROXY == null) { + httpAgent = null; +} else { + httpAgent = new HttpsProxyAgent(process.env.PROXY); +} +if (apiKey == null) { + openai = null; +} else { + openai = new OpenAI({apiKey: apiKey, httpAgent: httpAgent}); +} + +async function sendGPT (prompt) { + if (!apiKey) { + throw new Error("OpenAI API key not configured, please follow instructions in README.md"); + } + try { + const completion = await openai.chat.completions.create({ + messages: [{ role: "user", content: prompt }], + model: "gpt-3.5-turbo", + }); + return completion.choices[0].message.content; + } catch(error) { + // Consider adjusting the error handling logic for your use case + if (error.response) { + console.error(error.response.status, error.response.data); + return null; + } else { + console.error(`Error with OpenAI API request: ${error.message}`); + return null; + } + } +} + +async function askCode(lang, code, codeFileName) { + const prompt = `只为这个${lang}语言的代码片段的结尾添加代码,使其使用 'openinula' 库的 render 语句渲染最主要的 Component 到 id 为 root 的 HTML DOM上,只需返回代码结果不需要任何解释,如果做不到请直接返回 0:\n` + code; + try { + let res = await sendGPT(prompt); + if (res == null || res === "0") return null; + console.log(codeFileName + os.EOL + code + os.EOL + chalk.green(res) + os.EOL); + return code + os.EOL + res; + } catch (e) { + return null; + } +} + +module.exports = { askCode }; \ No newline at end of file diff --git a/docdemo/src/processMarkdown.js b/docdemo/src/processMarkdown.js new file mode 100644 index 0000000..795f7bc --- /dev/null +++ b/docdemo/src/processMarkdown.js @@ -0,0 +1,183 @@ +const fs = require('fs'); +const fsExtra = require('fs-extra'); +const path = require('path'); +const os = require('os'); +const glob = require('glob'); +const babelParser = require("@babel/parser"); +const { getHash, insertStrAt } = require('./utils'); +const { askCode } = require('./gpt'); + +function preprocessCode(lang, code) { + // remove jsx or tsx comments in code + return code.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, ''); +} + +function hasRender(lang, code) { + // if it has render(..., document.getElementById('root') ...); + if (code.match(/render([\s\S]*root[^)]*)/)==null) return false; + return true; +} + +function isCodeFileEmpty(lang, code) { + return preprocessCode(lang, code).replace(/\r?\n/g,"").replace(/ /g,"") === ""; +} + +function tryParse(lang, code, codeFileName="") { + try { + const ast = babelParser.parse(code, { sourceType: "module", plugins : ["jsx", "typescript"], errorRecovery: true }); + if (ast.errors.length > 0){ + console.warn(`${codeFileName}: ${ast.errors[0].code}, ${ast.errors[0].reasonCode}`); + return false; + } + return true; + } catch (e) { + if (codeFileName !== "") { + console.warn(`${codeFileName}: ${e.message}`); + } + return false; + } +} + +async function analyzeCode(lang, code, codeFileName, config) { + // to see if the language is supported + if (!(lang === "jsx" || lang === "tsx")) { + return null; + } + // remove comments + code = preprocessCode(lang, code); + // global rules + if ( + code.match(/\.\//) != null // relative import + || code.match('function render') != null // define render function + || code.match(/<.*\/.*>/) == null // no HTML tag + || code.match('import') == null // no import + ) { + return null; // impossible to render Component. + } + // filter render code + if (!hasRender(lang, code)) { + code = code.replace(/export default\s+(.*)\s+=\(\)\s*=>\s*{/, "export default function $1() {"); // does not support anonymous function export here. + if (!tryParse(lang, code, codeFileName)) { + return code; // the original code is bad, expose it to the compile step for better error reporting. + } + if (config.demoSrcCacheDebug) { + return code; // we are debuging the cache, bypass gpt and you need to manually modify the cache or will be removed in the next run. + } + // ask GPT to generate render code + if (config.gpt) { + const res = await askCode(lang, code, codeFileName); + if (res !== null && (!tryParse(lang, res))) { + return null; // the gpt is bad, but will not report + } + return res; + } else return null; + } + return code; +} + +let totalCodeblocks, validCodeblocks; + +async function processMarkdownFile(markdownFileRelPath, config) { + const markdownFileFolder = path.dirname(markdownFileRelPath); + const markdownFileName = path.basename(markdownFileRelPath, path.extname(markdownFileRelPath)); + const markdownFilePath = path.join(config.docsSrcFolder, markdownFileRelPath); + + let data = fs.readFileSync(markdownFilePath, 'utf8'); + // remove markdown comments + data = data.replace(//g, ''); + + let markdownCodeRegex = /([ \t]*)```(\w+)([\s\S]*?)```/g; + let result; + while ((result = markdownCodeRegex.exec(data)) !== null) { + const indent = result[1]; + const language = result[2]; + const codeSegment = result[3]; + + // calculate sha-256 of codeSegment as part of the file name, + // which is prepared for further comparison if the code is the same. + const codeSegmentHash = getHash(codeSegment); + const codeFileName = `${markdownFileName}-${codeSegmentHash}`; + const codeFileFullName = `${codeFileName}.${language}`; + const codeFileFolder = markdownFileFolder; + + totalCodeblocks++; + + // write codeSegment to code file prepared for building + + const codeFolderPath = path.join(config.demoSrcFolder, codeFileFolder); + fsExtra.ensureDirSync(codeFolderPath); + const codeRelPath = path.join(codeFileFolder, codeFileFullName); + const codeFilePath = path.join(config.demoSrcFolder, codeRelPath); + const demoSrcCachePath = path.join(config.demoCacheFolder, codeRelPath); + if (config.demoSrcCache && fs.existsSync(demoSrcCachePath)) { + const demoSrcCacheFile = fs.readFileSync(demoSrcCachePath, 'utf8'); + if (isCodeFileEmpty(language, demoSrcCacheFile)) { + console.warn(`${path.join(process.cwd(), demoSrcCachePath)} is empty, ignore the demo.`) + continue; // it is declared as ignored file. + } + // use cached code file + fs.copyFileSync(demoSrcCachePath, codeFilePath); + } else { + // new code file + let extendedCodeSegment = codeSegment; + extendedCodeSegment = await analyzeCode(language, codeSegment, codeRelPath, config); + if (extendedCodeSegment == null) { + continue; + } + fs.writeFileSync(codeFilePath, extendedCodeSegment); + } + console.log(` valid: ${codeRelPath}`); + validCodeblocks++; + + // append iframe to the end of the code segment, + // two os.EOL could help the Markdown parser running correctly. + // indent is to avoid bad list processing. + const demoFileRelativePath = path.join('/', config.demoDistRelativeFolder, 'src', codeFileFolder, codeFileName, 'index.html'); + const insertion = os.EOL + os.EOL + indent + `

`; + data = insertStrAt(data, result.index + result[0].length, insertion); + data = insertStrAt(data, result.index, indent + '
' + os.EOL + os.EOL); + } + + // Write the new data to the new markdown file + const markdownNewFileFolder = path.join(config.docsTmpNewFolder, markdownFileFolder); + fsExtra.ensureDirSync(markdownNewFileFolder); + const markdownNewFilePath = path.join(config.docsTmpNewFolder, markdownFileRelPath); + fs.writeFileSync(markdownNewFilePath, data); +} + +async function processMarkdown(config) { + + if (!config.demoSrcCache && config.gpt) { + console.warn("GPT is enabled but code cache is disabled, the cache is now legacy and will all be removed."); + fsExtra.removeSync(config.demoCacheFolder); + } + fsExtra.emptydirSync(config.demoSrcFolder); + fsExtra.emptydirSync(config.docsTmpOldFolder); + fsExtra.emptydirSync(config.docsTmpNewFolder); + + totalCodeblocks = 0; + validCodeblocks = 0; + + // Read all files in the docs folder recursively, and filter markdown files + const mdFiles = glob.globSync('**/*.md', { cwd: config.docsSrcFolder }); + // Process every markdown file not in parallel, avoid GPT rate limit. + for (const markdownFile of mdFiles) { + console.log(` Processing: ${markdownFile}`); + await processMarkdownFile(markdownFile, config); + } + + // Move the old markdown files to the doc tmp directory for backup + fsExtra.copySync(config.docsSrcFolder, config.docsTmpOldFolder); + + // Cache the code if needed + if (config.demoSrcCache) { + fsExtra.copySync(config.demoSrcFolder, config.demoCacheFolder); + } + + // Print statistics + console.log("Process complete."); + console.log(`Codeblock count summary:\n total: ${totalCodeblocks.toString().padStart(3, ' ')}\n valid: ${validCodeblocks.toString().padStart(3, ' ')}\n skip : ${(totalCodeblocks - validCodeblocks).toString().padStart(3, ' ')}`); + +} + +module.exports = processMarkdown; \ No newline at end of file diff --git a/docdemo/src/utils.js b/docdemo/src/utils.js new file mode 100644 index 0000000..3e9a97e --- /dev/null +++ b/docdemo/src/utils.js @@ -0,0 +1,14 @@ +const { createHash } = require("crypto"); + +// https://github.com/vitejs/vite/blob/5684fcd8d27110d098b3e1c19d851f44251588f1/packages/vite/src/node/utils.ts#L1045 +function getHash(data, length = 8) { + const h = createHash('sha256').update(data).digest('hex').substring(0, length) + if (length <= 64) return h + return h.padEnd(length, '_') +} + +function insertStrAt(str, index, insertion) { + return str.substring(0, index) + insertion + str.substring(index); +} + +module.exports = {getHash, insertStrAt}; \ No newline at end of file diff --git a/docdemo/template/.gitignore b/docdemo/template/.gitignore new file mode 100644 index 0000000..80f75bc --- /dev/null +++ b/docdemo/template/.gitignore @@ -0,0 +1,5 @@ +# src/ directory will hold all those files that will be generated from codeFileGen +src/ + +dummy.d.ts +dummy.jsx* \ No newline at end of file diff --git a/docdemo/template/dummy.tsx b/docdemo/template/dummy.tsx new file mode 100644 index 0000000..e69de29 diff --git a/docdemo/template/index.css b/docdemo/template/index.css new file mode 100644 index 0000000..e69de29 diff --git a/docdemo/template/index.html b/docdemo/template/index.html new file mode 100644 index 0000000..e891e51 --- /dev/null +++ b/docdemo/template/index.html @@ -0,0 +1,11 @@ + + + + + + + +
+ + + diff --git a/docdemo/template/index.jsx b/docdemo/template/index.jsx new file mode 100644 index 0000000..30584ef --- /dev/null +++ b/docdemo/template/index.jsx @@ -0,0 +1,11 @@ + +import Inula from 'openinula'; +import './index.css'; + +function App() { + return ( +
+ ); +} + +Inula.render(, document.getElementById('root')); diff --git a/docdemo/template/package.json b/docdemo/template/package.json new file mode 100644 index 0000000..fe05a74 --- /dev/null +++ b/docdemo/template/package.json @@ -0,0 +1,29 @@ +{ + "name": "inula-vite-app", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "vite", + "build": "tsc && vite build" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "glob": "^10.3.10", + "inula-intl": "^0.0.4", + "inula-router": "^0.0.4", + "openinula": "^0.1.1" + }, + "devDependencies": { + "@babel/core": "^7.21.4", + "@babel/preset-env": "^7.21.4", + "@babel/preset-react": "^7.18.6", + "@vitejs/plugin-react": "^3.1.0", + "@vitejs/plugin-react-refresh": "^1.3.6", + "babel-plugin-import": "^1.13.6", + "typescript": "4.9.3", + "vite": "^4.2.1" + } +} diff --git a/docdemo/template/tsconfig.json b/docdemo/template/tsconfig.json new file mode 100644 index 0000000..2ee1b5f --- /dev/null +++ b/docdemo/template/tsconfig.json @@ -0,0 +1,84 @@ +// Since there is still no official tsx template for openInula, +// this tsconfig is referenced from https://gitee.com/openInula/inula/blob/master/packages/inula-intl/tsconfig.json +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ + "module": "es2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + // "lib": [], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + "checkJs": false, /* Report errors in .js files. */ + "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + // "outDir": "./", /* Redirect output structure to the directory. */ + // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true, /* Enable all strict type-checking options. */ + "noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */ + "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + "noUnusedLocals": false, /* Report errors on unused locals. */ + "noUnusedParameters": false, /* Report errors on unused parameters. */ + "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ + + /* Module Resolution Options */ + "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + "resolveJsonModule": true, /* Include modules imported with '.json' extension */ + "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "allowUnreachableCode": true, /* Do not report errors on unreachable code. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true, /* Skip type checking of declaration files. */ + "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */ + "lib": ["dom", "ESNext", "ES2015", "ES2016", "ES2017", "ES2018", "ES2019", "ES2020"] + }, + "include": [ + "src/**/*", + "dummy.tsx", /* dummy file: ignore error TS18003: No inputs were found in config file */ + ], + "types": [ + "node" + ] +} diff --git a/docdemo/template/vite.config.js b/docdemo/template/vite.config.js new file mode 100644 index 0000000..99f4a95 --- /dev/null +++ b/docdemo/template/vite.config.js @@ -0,0 +1,36 @@ + +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import path from 'path' +import { globSync } from 'glob' + +let alias = { + react: 'openinula', // 新增 + 'react-dom': 'openinula', // 新增 + 'react/jsx-dev-runtime': 'openinula/jsx-dev-runtime', +}; + +const searchDir = "./src"; + +// Get all subdirectories with index.html +const files = globSync("**/index.html", { cwd: searchDir }); + +// Generate input object +const input = files.reduce((acc, file) => { + const fileFolder = path.dirname(file); + acc[fileFolder] = path.resolve(__dirname, path.join(searchDir, file)); + return acc; +}, {}); + +export default defineConfig({ + plugins: [react()], + resolve: { + alias, + }, + build: { + rollupOptions: { + input + } + }, + base: './', // relative path +}) diff --git a/docdemo/typings.json b/docdemo/typings.json new file mode 100644 index 0000000..d80f2fc --- /dev/null +++ b/docdemo/typings.json @@ -0,0 +1,4 @@ +{ + "name": "inula-docdemo", + "dependencies": {} +} diff --git a/package.json b/package.json index 3fd6e22..74eae32 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "serve": "docusaurus serve", "write-translations": "docusaurus write-translations", "write-heading-ids": "docusaurus write-heading-ids", - "typecheck": "tsc" + "typecheck": "tsc", + "docdemobuild": "cd docdemo && npm run start" }, "dependencies": { "@docusaurus/core": "2.4.3", -- Gitee From 49c84b7d2ccb42ca4b04a1f76cd310f5dc224b0f Mon Sep 17 00:00:00 2001 From: LogCreative Date: Fri, 29 Dec 2023 10:31:46 +0800 Subject: [PATCH 02/17] add cache --- docdemo/tmp/demo-cache/apis/core-09c352f0.jsx | 31 +++++++++++ docdemo/tmp/demo-cache/apis/core-146ca16e.jsx | 9 ++++ docdemo/tmp/demo-cache/apis/core-155b1602.jsx | 30 +++++++++++ docdemo/tmp/demo-cache/apis/core-2515692f.tsx | 7 +++ docdemo/tmp/demo-cache/apis/core-27a0fcbc.jsx | 18 +++++++ docdemo/tmp/demo-cache/apis/core-2f561eef.jsx | 22 ++++++++ docdemo/tmp/demo-cache/apis/core-307645a5.jsx | 23 ++++++++ docdemo/tmp/demo-cache/apis/core-31a8e6f4.jsx | 18 +++++++ docdemo/tmp/demo-cache/apis/core-393dbe64.jsx | 18 +++++++ docdemo/tmp/demo-cache/apis/core-3b7b3f1f.jsx | 12 +++++ docdemo/tmp/demo-cache/apis/core-41347b54.jsx | 22 ++++++++ docdemo/tmp/demo-cache/apis/core-4a7e5207.jsx | 9 ++++ docdemo/tmp/demo-cache/apis/core-5c11e170.jsx | 25 +++++++++ docdemo/tmp/demo-cache/apis/core-678f0dc8.jsx | 52 +++++++++++++++++++ docdemo/tmp/demo-cache/apis/core-6a9e8700.jsx | 40 ++++++++++++++ docdemo/tmp/demo-cache/apis/core-7865d0f1.jsx | 31 +++++++++++ docdemo/tmp/demo-cache/apis/core-799de930.jsx | 9 ++++ docdemo/tmp/demo-cache/apis/core-8719a952.tsx | 25 +++++++++ docdemo/tmp/demo-cache/apis/core-8e0ac47c.jsx | 33 ++++++++++++ docdemo/tmp/demo-cache/apis/core-961cee5e.jsx | 35 +++++++++++++ docdemo/tmp/demo-cache/apis/core-9f39a992.jsx | 18 +++++++ docdemo/tmp/demo-cache/apis/core-a0206a84.jsx | 14 +++++ docdemo/tmp/demo-cache/apis/core-ac1bc39a.jsx | 22 ++++++++ docdemo/tmp/demo-cache/apis/core-af558092.jsx | 13 +++++ docdemo/tmp/demo-cache/apis/core-b4c5950e.jsx | 25 +++++++++ docdemo/tmp/demo-cache/apis/core-b5eb9f66.jsx | 9 ++++ docdemo/tmp/demo-cache/apis/core-c6d8958a.jsx | 14 +++++ docdemo/tmp/demo-cache/apis/core-cb18e8d1.tsx | 8 +++ docdemo/tmp/demo-cache/apis/core-ceee268f.tsx | 30 +++++++++++ docdemo/tmp/demo-cache/apis/core-e6aafde7.jsx | 21 ++++++++ docdemo/tmp/demo-cache/apis/core-e99b800c.jsx | 17 ++++++ docdemo/tmp/demo-cache/apis/core-f462807a.jsx | 24 +++++++++ docdemo/tmp/demo-cache/apis/core-fbf72bc9.jsx | 17 ++++++ docdemo/tmp/demo-cache/apis/intl-22d472b5.tsx | 23 ++++++++ docdemo/tmp/demo-cache/apis/intl-582d6583.tsx | 15 ++++++ docdemo/tmp/demo-cache/apis/intl-6838256c.tsx | 15 ++++++ docdemo/tmp/demo-cache/apis/intl-98f0208c.tsx | 18 +++++++ docdemo/tmp/demo-cache/apis/intl-af15ea1d.tsx | 21 ++++++++ docdemo/tmp/demo-cache/apis/intl-b4dc89db.tsx | 44 ++++++++++++++++ docdemo/tmp/demo-cache/apis/intl-ba6823c7.tsx | 23 ++++++++ docdemo/tmp/demo-cache/apis/intl-d11666d4.tsx | 23 ++++++++ .../tmp/demo-cache/apis/router-07dbd9a7.tsx | 16 ++++++ .../tmp/demo-cache/apis/router-0cab577f.tsx | 20 +++++++ .../tmp/demo-cache/apis/router-16e5cbf6.tsx | 20 +++++++ .../tmp/demo-cache/apis/router-194e9ba0.tsx | 16 ++++++ .../tmp/demo-cache/apis/router-1f8d4680.tsx | 16 ++++++ .../tmp/demo-cache/apis/router-2af1aecf.tsx | 22 ++++++++ .../tmp/demo-cache/apis/router-4d481fb5.tsx | 20 +++++++ .../tmp/demo-cache/apis/router-7d3293c3.tsx | 26 ++++++++++ .../tmp/demo-cache/apis/router-85cdd2dd.tsx | 17 ++++++ .../tmp/demo-cache/apis/router-a7e8853e.tsx | 17 ++++++ .../tmp/demo-cache/apis/router-bf7cb46c.tsx | 27 ++++++++++ .../tmp/demo-cache/apis/router-f88f565b.tsx | 44 ++++++++++++++++ .../tmp/demo-cache/apis/router-fb900b8d.tsx | 29 +++++++++++ ...\237\345\205\245\351\227\250-9c851f84.jsx" | 14 +++++ ...\267\346\214\207\345\215\227-224c16bf.jsx" | 23 ++++++++ ...\267\346\214\207\345\215\227-29ed8ef6.jsx" | 27 ++++++++++ ...\267\346\214\207\345\215\227-3a7eb1c6.jsx" | 20 +++++++ ...\267\346\214\207\345\215\227-87992a3c.jsx" | 40 ++++++++++++++ ...\267\346\214\207\345\215\227-e60159ae.jsx" | 19 +++++++ ...\267\346\214\207\345\215\227-ee9db70a.jsx" | 40 ++++++++++++++ 61 files changed, 1356 insertions(+) create mode 100644 docdemo/tmp/demo-cache/apis/core-09c352f0.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-146ca16e.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-155b1602.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-2515692f.tsx create mode 100644 docdemo/tmp/demo-cache/apis/core-27a0fcbc.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-2f561eef.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-307645a5.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-31a8e6f4.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-393dbe64.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-3b7b3f1f.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-41347b54.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-4a7e5207.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-5c11e170.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-678f0dc8.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-6a9e8700.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-7865d0f1.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-799de930.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-8719a952.tsx create mode 100644 docdemo/tmp/demo-cache/apis/core-8e0ac47c.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-961cee5e.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-9f39a992.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-a0206a84.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-ac1bc39a.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-af558092.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-b4c5950e.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-b5eb9f66.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-c6d8958a.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-cb18e8d1.tsx create mode 100644 docdemo/tmp/demo-cache/apis/core-ceee268f.tsx create mode 100644 docdemo/tmp/demo-cache/apis/core-e6aafde7.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-e99b800c.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-f462807a.jsx create mode 100644 docdemo/tmp/demo-cache/apis/core-fbf72bc9.jsx create mode 100644 docdemo/tmp/demo-cache/apis/intl-22d472b5.tsx create mode 100644 docdemo/tmp/demo-cache/apis/intl-582d6583.tsx create mode 100644 docdemo/tmp/demo-cache/apis/intl-6838256c.tsx create mode 100644 docdemo/tmp/demo-cache/apis/intl-98f0208c.tsx create mode 100644 docdemo/tmp/demo-cache/apis/intl-af15ea1d.tsx create mode 100644 docdemo/tmp/demo-cache/apis/intl-b4dc89db.tsx create mode 100644 docdemo/tmp/demo-cache/apis/intl-ba6823c7.tsx create mode 100644 docdemo/tmp/demo-cache/apis/intl-d11666d4.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-07dbd9a7.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-0cab577f.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-16e5cbf6.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-194e9ba0.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-1f8d4680.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-2af1aecf.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-4d481fb5.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-7d3293c3.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-85cdd2dd.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-a7e8853e.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-bf7cb46c.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-f88f565b.tsx create mode 100644 docdemo/tmp/demo-cache/apis/router-fb900b8d.tsx create mode 100644 "docdemo/tmp/demo-cache/docs/\345\277\253\351\200\237\345\205\245\351\227\250-9c851f84.jsx" create mode 100644 "docdemo/tmp/demo-cache/docs/\347\224\250\346\210\267\346\214\207\345\215\227-224c16bf.jsx" create mode 100644 "docdemo/tmp/demo-cache/docs/\347\224\250\346\210\267\346\214\207\345\215\227-29ed8ef6.jsx" create mode 100644 "docdemo/tmp/demo-cache/docs/\347\224\250\346\210\267\346\214\207\345\215\227-3a7eb1c6.jsx" create mode 100644 "docdemo/tmp/demo-cache/docs/\347\224\250\346\210\267\346\214\207\345\215\227-87992a3c.jsx" create mode 100644 "docdemo/tmp/demo-cache/docs/\347\224\250\346\210\267\346\214\207\345\215\227-e60159ae.jsx" create mode 100644 "docdemo/tmp/demo-cache/docs/\347\224\250\346\210\267\346\214\207\345\215\227-ee9db70a.jsx" diff --git a/docdemo/tmp/demo-cache/apis/core-09c352f0.jsx b/docdemo/tmp/demo-cache/apis/core-09c352f0.jsx new file mode 100644 index 0000000..0fd1aa2 --- /dev/null +++ b/docdemo/tmp/demo-cache/apis/core-09c352f0.jsx @@ -0,0 +1,31 @@ + +import Inula, { useState, useEffect } from "openinula"; + +function Timer() { + const [time, setTime] = useState(0); + + useEffect(() => { + const intervalId = setInterval(() => { + setTime(time + 1); + }, 1000); + + return () => { + clearInterval(intervalId); + }; + }, [time]); + + return
Time: {time}
; +} + +function App() { + const [showTimer, setShowTimer] = useState(true); + + return ( +
+ {showTimer && } + +
+ ); +} diff --git a/docdemo/tmp/demo-cache/apis/core-146ca16e.jsx b/docdemo/tmp/demo-cache/apis/core-146ca16e.jsx new file mode 100644 index 0000000..f1e5aee --- /dev/null +++ b/docdemo/tmp/demo-cache/apis/core-146ca16e.jsx @@ -0,0 +1,9 @@ + +import Inula, { forwardRef, isForwardRef } from 'openinula'; + +const ForwardedComponent = forwardRef((props, ref) => ( +
Forwarded Component
+)); + +console.log(isForwardRef(ForwardedComponent)); +console.log(isForwardRef(() => {})); diff --git a/docdemo/tmp/demo-cache/apis/core-155b1602.jsx b/docdemo/tmp/demo-cache/apis/core-155b1602.jsx new file mode 100644 index 0000000..4c4321a --- /dev/null +++ b/docdemo/tmp/demo-cache/apis/core-155b1602.jsx @@ -0,0 +1,30 @@ + +import Inula, { useRef, useImperativeHandle, forwardRef } from 'openinula'; + +const ChildComponent = forwardRef((props, ref) => { + const inputRef = useRef(); + + + useImperativeHandle(ref, () => ({ + focusInput: () => { + inputRef.current.focus(); + } + })); + + return ; +}); + +function App() { + const childRef = useRef(); + + const handleFocusInput = () => { + childRef.current.focusInput(); + }; + + return ( +
+ + +
+ ); +} diff --git a/docdemo/tmp/demo-cache/apis/core-2515692f.tsx b/docdemo/tmp/demo-cache/apis/core-2515692f.tsx new file mode 100644 index 0000000..fb55ffe --- /dev/null +++ b/docdemo/tmp/demo-cache/apis/core-2515692f.tsx @@ -0,0 +1,7 @@ + +import Inula, { isValidElement } from 'openinula'; + +const element =
Hello, World!
; + +console.log(isValidElement(element)); +console.log(isValidElement('Hello World!')); diff --git a/docdemo/tmp/demo-cache/apis/core-27a0fcbc.jsx b/docdemo/tmp/demo-cache/apis/core-27a0fcbc.jsx new file mode 100644 index 0000000..f9521a4 --- /dev/null +++ b/docdemo/tmp/demo-cache/apis/core-27a0fcbc.jsx @@ -0,0 +1,18 @@ + +import Inula, { useRef } from 'openinula'; + +function RefDemo() { + const inputRef = useRef(null); + + const handleButtonClick = () => { + + inputRef.current.focus(); + }; + + return ( +
+ + +
+ ); +} diff --git a/docdemo/tmp/demo-cache/apis/core-2f561eef.jsx b/docdemo/tmp/demo-cache/apis/core-2f561eef.jsx new file mode 100644 index 0000000..9db77d7 --- /dev/null +++ b/docdemo/tmp/demo-cache/apis/core-2f561eef.jsx @@ -0,0 +1,22 @@ + +import Inula, { Fragment } from 'openinula'; + +function App() { + return ( +
+ {} + +
Element 4
+
Element 5
+
Element 6
+
+ + {} + <> +
Element 7
+
Element 8
+
Element 9
+ +
+ ); +} diff --git a/docdemo/tmp/demo-cache/apis/core-307645a5.jsx b/docdemo/tmp/demo-cache/apis/core-307645a5.jsx new file mode 100644 index 0000000..47b203a --- /dev/null +++ b/docdemo/tmp/demo-cache/apis/core-307645a5.jsx @@ -0,0 +1,23 @@ + +import Inula, { useState, useEffect, useLayoutEffect } from 'openinula'; + +const App = () => { + const [count, setCount] = useState(0); + + useEffect(() => { + console.log('useEffect'); + document.title = `Count: ${count}`; + }, [count]); + + useLayoutEffect(() => { + console.log('useLayoutEffect'); + document.title = `Count: ${count}`; + }, [count]); + + return ( +
+

Count: {count}

+ +
+ ); +}; diff --git a/docdemo/tmp/demo-cache/apis/core-31a8e6f4.jsx b/docdemo/tmp/demo-cache/apis/core-31a8e6f4.jsx new file mode 100644 index 0000000..b1891d6 --- /dev/null +++ b/docdemo/tmp/demo-cache/apis/core-31a8e6f4.jsx @@ -0,0 +1,18 @@ + +import { cloneElement } from 'openinula'; + +function Time({ time }) { + return createElement( + 'h1', + { className: 'clock' }, + 'Time is ', + createElement('i', null, time), + ); +} +function Clock() { + const time = new Date().toLocaleTimeString(); + return cloneElement( +
+ ); +} - return ( -
- - -
- ); - } - - import { render } from "openinula"; - render(Component(), document.getElementById("root")); \ No newline at end of file +import { render } from "openinula"; +render(, document.getElementById("root")); \ No newline at end of file diff --git "a/docdemo/tmp/demo-cache/docs/\347\224\250\346\210\267\346\214\207\345\215\227-e60159ae.jsx" "b/docdemo/tmp/demo-cache/docs/\347\224\250\346\210\267\346\214\207\345\215\227-e60159ae.jsx" index 0f51a6c..2c61932 100644 --- "a/docdemo/tmp/demo-cache/docs/\347\224\250\346\210\267\346\214\207\345\215\227-e60159ae.jsx" +++ "b/docdemo/tmp/demo-cache/docs/\347\224\250\346\210\267\346\214\207\345\215\227-e60159ae.jsx" @@ -16,4 +16,4 @@ export default function ClickWatch() { } import { render } from 'openinula'; -render(ClickWatch(), document.getElementById('root')); \ No newline at end of file +render(, document.getElementById('root')); \ No newline at end of file -- Gitee From d5d47fbae36e821d204f2410146fb80db8e90f90 Mon Sep 17 00:00:00 2001 From: LogCreative Date: Fri, 29 Dec 2023 11:11:07 +0800 Subject: [PATCH 05/17] feat: recover previewBar --- docdemo/src/processMarkdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docdemo/src/processMarkdown.js b/docdemo/src/processMarkdown.js index 795f7bc..fb9097a 100644 --- a/docdemo/src/processMarkdown.js +++ b/docdemo/src/processMarkdown.js @@ -133,7 +133,7 @@ async function processMarkdownFile(markdownFileRelPath, config) { // two os.EOL could help the Markdown parser running correctly. // indent is to avoid bad list processing. const demoFileRelativePath = path.join('/', config.demoDistRelativeFolder, 'src', codeFileFolder, codeFileName, 'index.html'); - const insertion = os.EOL + os.EOL + indent + `
`; + const insertion = os.EOL + os.EOL + indent + `
Preview
`; data = insertStrAt(data, result.index + result[0].length, insertion); data = insertStrAt(data, result.index, indent + '
' + os.EOL + os.EOL); } -- Gitee From 8496dec4c38dbcfc67b449738184356908f5db51 Mon Sep 17 00:00:00 2001 From: AnkorTn <1114655801@qq.com> Date: Fri, 29 Dec 2023 11:49:29 +0800 Subject: [PATCH 06/17] feat: add window adaption css --- docdemo/src/codeblock.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docdemo/src/codeblock.css b/docdemo/src/codeblock.css index 508e814..3ead03f 100644 --- a/docdemo/src/codeblock.css +++ b/docdemo/src/codeblock.css @@ -41,4 +41,10 @@ font-size: 18px; font-weight: bold; color: #333333; +} + +iframe { + width: 100%; + height: 100%; + border: none; } \ No newline at end of file -- Gitee From 4fd6137d677d42829ef1b6a7ecc8dcdbb8d65ab3 Mon Sep 17 00:00:00 2001 From: AnkorTn <1114655801@qq.com> Date: Fri, 29 Dec 2023 12:09:20 +0800 Subject: [PATCH 07/17] doc: the manual modified by GPT language models in the user guidance --- docdemo/tmp/demo-cache/apis/core-09c352f0.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-146ca16e.jsx | 12 ++++---- docdemo/tmp/demo-cache/apis/core-155b1602.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-2515692f.tsx | 8 ++--- docdemo/tmp/demo-cache/apis/core-27a0fcbc.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-2f561eef.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-307645a5.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-31a8e6f4.jsx | 5 +++- docdemo/tmp/demo-cache/apis/core-393dbe64.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-41347b54.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-4a7e5207.jsx | 12 ++++---- docdemo/tmp/demo-cache/apis/core-5c11e170.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-678f0dc8.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-6a9e8700.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-7865d0f1.jsx | 5 +++- docdemo/tmp/demo-cache/apis/core-799de930.jsx | 12 ++++---- docdemo/tmp/demo-cache/apis/core-8719a952.tsx | 3 ++ docdemo/tmp/demo-cache/apis/core-8e0ac47c.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-961cee5e.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-9f39a992.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-a0206a84.jsx | 22 +++++++------- docdemo/tmp/demo-cache/apis/core-ac1bc39a.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-af558092.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-b4c5950e.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-b5eb9f66.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-c6d8958a.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-cb18e8d1.tsx | 4 +-- docdemo/tmp/demo-cache/apis/core-e6aafde7.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-e99b800c.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-f462807a.jsx | 3 ++ docdemo/tmp/demo-cache/apis/core-fbf72bc9.jsx | 3 ++ docdemo/tmp/demo-cache/apis/intl-22d472b5.tsx | 3 ++ docdemo/tmp/demo-cache/apis/intl-98f0208c.tsx | 30 +++++++++---------- .../tmp/demo-cache/apis/router-1f8d4680.tsx | 3 ++ 34 files changed, 133 insertions(+), 52 deletions(-) diff --git a/docdemo/tmp/demo-cache/apis/core-09c352f0.jsx b/docdemo/tmp/demo-cache/apis/core-09c352f0.jsx index 0fd1aa2..127e8af 100644 --- a/docdemo/tmp/demo-cache/apis/core-09c352f0.jsx +++ b/docdemo/tmp/demo-cache/apis/core-09c352f0.jsx @@ -29,3 +29,6 @@ function App() {
); } + +import { render } from "openinula"; +render(, document.getElementById("root")); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-146ca16e.jsx b/docdemo/tmp/demo-cache/apis/core-146ca16e.jsx index f1e5aee..915e559 100644 --- a/docdemo/tmp/demo-cache/apis/core-146ca16e.jsx +++ b/docdemo/tmp/demo-cache/apis/core-146ca16e.jsx @@ -1,9 +1,9 @@ -import Inula, { forwardRef, isForwardRef } from 'openinula'; +// import Inula, { forwardRef, isForwardRef } from 'openinula'; -const ForwardedComponent = forwardRef((props, ref) => ( -
Forwarded Component
-)); +// const ForwardedComponent = forwardRef((props, ref) => ( +//
Forwarded Component
+// )); -console.log(isForwardRef(ForwardedComponent)); -console.log(isForwardRef(() => {})); +// console.log(isForwardRef(ForwardedComponent)); +// console.log(isForwardRef(() => {})); diff --git a/docdemo/tmp/demo-cache/apis/core-155b1602.jsx b/docdemo/tmp/demo-cache/apis/core-155b1602.jsx index 4c4321a..67e1bef 100644 --- a/docdemo/tmp/demo-cache/apis/core-155b1602.jsx +++ b/docdemo/tmp/demo-cache/apis/core-155b1602.jsx @@ -28,3 +28,6 @@ function App() {
); } + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-2515692f.tsx b/docdemo/tmp/demo-cache/apis/core-2515692f.tsx index fb55ffe..f2f9f56 100644 --- a/docdemo/tmp/demo-cache/apis/core-2515692f.tsx +++ b/docdemo/tmp/demo-cache/apis/core-2515692f.tsx @@ -1,7 +1,7 @@ -import Inula, { isValidElement } from 'openinula'; +// import Inula, { isValidElement } from 'openinula'; -const element =
Hello, World!
; +// const element =
Hello, World!
; -console.log(isValidElement(element)); -console.log(isValidElement('Hello World!')); +// console.log(isValidElement(element)); +// console.log(isValidElement('Hello World!')); diff --git a/docdemo/tmp/demo-cache/apis/core-27a0fcbc.jsx b/docdemo/tmp/demo-cache/apis/core-27a0fcbc.jsx index f9521a4..c968473 100644 --- a/docdemo/tmp/demo-cache/apis/core-27a0fcbc.jsx +++ b/docdemo/tmp/demo-cache/apis/core-27a0fcbc.jsx @@ -16,3 +16,6 @@ function RefDemo() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-2f561eef.jsx b/docdemo/tmp/demo-cache/apis/core-2f561eef.jsx index 9db77d7..6a4a081 100644 --- a/docdemo/tmp/demo-cache/apis/core-2f561eef.jsx +++ b/docdemo/tmp/demo-cache/apis/core-2f561eef.jsx @@ -20,3 +20,6 @@ function App() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')) \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-307645a5.jsx b/docdemo/tmp/demo-cache/apis/core-307645a5.jsx index 47b203a..a7d2faf 100644 --- a/docdemo/tmp/demo-cache/apis/core-307645a5.jsx +++ b/docdemo/tmp/demo-cache/apis/core-307645a5.jsx @@ -21,3 +21,6 @@ const App = () => { ); }; + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-31a8e6f4.jsx b/docdemo/tmp/demo-cache/apis/core-31a8e6f4.jsx index b1891d6..2c268fa 100644 --- a/docdemo/tmp/demo-cache/apis/core-31a8e6f4.jsx +++ b/docdemo/tmp/demo-cache/apis/core-31a8e6f4.jsx @@ -1,5 +1,5 @@ -import { cloneElement } from 'openinula'; +import { createElement, cloneElement } from 'openinula'; function Time({ time }) { return createElement( @@ -16,3 +16,6 @@ function Clock() { { time: time } ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-393dbe64.jsx b/docdemo/tmp/demo-cache/apis/core-393dbe64.jsx index 800c71b..4916956 100644 --- a/docdemo/tmp/demo-cache/apis/core-393dbe64.jsx +++ b/docdemo/tmp/demo-cache/apis/core-393dbe64.jsx @@ -16,3 +16,6 @@ function App() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-41347b54.jsx b/docdemo/tmp/demo-cache/apis/core-41347b54.jsx index b3976c5..655129b 100644 --- a/docdemo/tmp/demo-cache/apis/core-41347b54.jsx +++ b/docdemo/tmp/demo-cache/apis/core-41347b54.jsx @@ -20,3 +20,6 @@ function App() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-4a7e5207.jsx b/docdemo/tmp/demo-cache/apis/core-4a7e5207.jsx index 96009a6..e74576e 100644 --- a/docdemo/tmp/demo-cache/apis/core-4a7e5207.jsx +++ b/docdemo/tmp/demo-cache/apis/core-4a7e5207.jsx @@ -1,9 +1,9 @@ -import Inula, { memo, isMemo } from 'openinula'; +// import Inula, { memo, isMemo } from 'openinula'; -const MemoizedComponent = memo(() => ( -
Memoized Component
-)); +// const MemoizedComponent = memo(() => ( +//
Memoized Component
+// )); -console.log(isMemo(MemoizedComponent)); -console.log(isMemo(() => {})); +// console.log(isMemo(MemoizedComponent)); +// console.log(isMemo(() => {})); diff --git a/docdemo/tmp/demo-cache/apis/core-5c11e170.jsx b/docdemo/tmp/demo-cache/apis/core-5c11e170.jsx index 1cf8a09..fa305c5 100644 --- a/docdemo/tmp/demo-cache/apis/core-5c11e170.jsx +++ b/docdemo/tmp/demo-cache/apis/core-5c11e170.jsx @@ -23,3 +23,6 @@ function App() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')) \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-678f0dc8.jsx b/docdemo/tmp/demo-cache/apis/core-678f0dc8.jsx index b97728f..eb98caf 100644 --- a/docdemo/tmp/demo-cache/apis/core-678f0dc8.jsx +++ b/docdemo/tmp/demo-cache/apis/core-678f0dc8.jsx @@ -50,3 +50,6 @@ function App() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')) \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-6a9e8700.jsx b/docdemo/tmp/demo-cache/apis/core-6a9e8700.jsx index df395cd..45af57c 100644 --- a/docdemo/tmp/demo-cache/apis/core-6a9e8700.jsx +++ b/docdemo/tmp/demo-cache/apis/core-6a9e8700.jsx @@ -38,3 +38,6 @@ class Counter extends Inula.Component { ); } } + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-7865d0f1.jsx b/docdemo/tmp/demo-cache/apis/core-7865d0f1.jsx index f8fbb9b..6a6b71e 100644 --- a/docdemo/tmp/demo-cache/apis/core-7865d0f1.jsx +++ b/docdemo/tmp/demo-cache/apis/core-7865d0f1.jsx @@ -8,7 +8,7 @@ const MyComponent = ({ name }) => { const MemoizedComponent = memo(MyComponent); const App = () => { - const [count, setCount] = React.useState(0); + const [count, setCount] = useState(0); const handleClick = () => { setCount(prevCount => prevCount + 1); @@ -29,3 +29,6 @@ const App = () => { ); }; + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-799de930.jsx b/docdemo/tmp/demo-cache/apis/core-799de930.jsx index ba45504..c9f012c 100644 --- a/docdemo/tmp/demo-cache/apis/core-799de930.jsx +++ b/docdemo/tmp/demo-cache/apis/core-799de930.jsx @@ -1,9 +1,9 @@ -import Inula, { isElement } from 'openinula'; +// import Inula, { isElement } from 'openinula'; -const componentElement = ; -const htmlElement =
Hello, World!
; +// const componentElement = ; +// const htmlElement =
Hello, World!
; -console.log(isElement(componentElement)); -console.log(isElement(htmlElement)); -console.log(isElement('string')); +// console.log(isElement(componentElement)); +// console.log(isElement(htmlElement)); +// console.log(isElement('string')); diff --git a/docdemo/tmp/demo-cache/apis/core-8719a952.tsx b/docdemo/tmp/demo-cache/apis/core-8719a952.tsx index 1db7635..4c48cba 100644 --- a/docdemo/tmp/demo-cache/apis/core-8719a952.tsx +++ b/docdemo/tmp/demo-cache/apis/core-8719a952.tsx @@ -23,3 +23,6 @@ function Page() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root') as any); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-8e0ac47c.jsx b/docdemo/tmp/demo-cache/apis/core-8e0ac47c.jsx index d3327d9..7315e86 100644 --- a/docdemo/tmp/demo-cache/apis/core-8e0ac47c.jsx +++ b/docdemo/tmp/demo-cache/apis/core-8e0ac47c.jsx @@ -31,3 +31,6 @@ function App() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-961cee5e.jsx b/docdemo/tmp/demo-cache/apis/core-961cee5e.jsx index c729914..a419e90 100644 --- a/docdemo/tmp/demo-cache/apis/core-961cee5e.jsx +++ b/docdemo/tmp/demo-cache/apis/core-961cee5e.jsx @@ -33,3 +33,6 @@ function App() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')); diff --git a/docdemo/tmp/demo-cache/apis/core-9f39a992.jsx b/docdemo/tmp/demo-cache/apis/core-9f39a992.jsx index af74103..5a14bc9 100644 --- a/docdemo/tmp/demo-cache/apis/core-9f39a992.jsx +++ b/docdemo/tmp/demo-cache/apis/core-9f39a992.jsx @@ -16,3 +16,6 @@ function App() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')) \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-a0206a84.jsx b/docdemo/tmp/demo-cache/apis/core-a0206a84.jsx index 7cbb32b..f2bb6d6 100644 --- a/docdemo/tmp/demo-cache/apis/core-a0206a84.jsx +++ b/docdemo/tmp/demo-cache/apis/core-a0206a84.jsx @@ -1,14 +1,14 @@ -import Inula, { isPortal, Component, createPortal } from 'openinula'; +// import Inula, { isPortal, Component, createPortal } from 'openinula'; -class PortalComponent extends Component { - render() { - return createPortal( - this.props.children, - document.getElementById('root') - ); - } -} +// class PortalComponent extends Component { +// render() { +// return createPortal( +// this.props.children, +// document.getElementById('root') +// ); +// } +// } -console.log(isPortal()); -console.log(isPortal(() => {})); +// console.log(isPortal()); +// console.log(isPortal(() => {})); diff --git a/docdemo/tmp/demo-cache/apis/core-ac1bc39a.jsx b/docdemo/tmp/demo-cache/apis/core-ac1bc39a.jsx index fdcca97..d97f864 100644 --- a/docdemo/tmp/demo-cache/apis/core-ac1bc39a.jsx +++ b/docdemo/tmp/demo-cache/apis/core-ac1bc39a.jsx @@ -20,3 +20,6 @@ function Counter() { ); } + +import { render } from "openinula"; +render(, document.getElementById("root")); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-af558092.jsx b/docdemo/tmp/demo-cache/apis/core-af558092.jsx index b5476a1..1a5d642 100644 --- a/docdemo/tmp/demo-cache/apis/core-af558092.jsx +++ b/docdemo/tmp/demo-cache/apis/core-af558092.jsx @@ -11,3 +11,6 @@ class App extends Component { return } } + +import { render } from 'openinula'; +render(, document.getElementById('root')) \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-b4c5950e.jsx b/docdemo/tmp/demo-cache/apis/core-b4c5950e.jsx index 748b586..cd94cf6 100644 --- a/docdemo/tmp/demo-cache/apis/core-b4c5950e.jsx +++ b/docdemo/tmp/demo-cache/apis/core-b4c5950e.jsx @@ -23,3 +23,6 @@ function App() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-b5eb9f66.jsx b/docdemo/tmp/demo-cache/apis/core-b5eb9f66.jsx index e0cfe5d..905ecfc 100644 --- a/docdemo/tmp/demo-cache/apis/core-b5eb9f66.jsx +++ b/docdemo/tmp/demo-cache/apis/core-b5eb9f66.jsx @@ -7,3 +7,6 @@ class App extends PureComponent { return
{this.props.value}
; } } + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-c6d8958a.jsx b/docdemo/tmp/demo-cache/apis/core-c6d8958a.jsx index 2998c04..8501af1 100644 --- a/docdemo/tmp/demo-cache/apis/core-c6d8958a.jsx +++ b/docdemo/tmp/demo-cache/apis/core-c6d8958a.jsx @@ -12,3 +12,6 @@ function Component() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')) \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-cb18e8d1.tsx b/docdemo/tmp/demo-cache/apis/core-cb18e8d1.tsx index c06ff0f..1a1ba81 100644 --- a/docdemo/tmp/demo-cache/apis/core-cb18e8d1.tsx +++ b/docdemo/tmp/demo-cache/apis/core-cb18e8d1.tsx @@ -1,8 +1,8 @@ -import { render } from 'openinula'; +import React, { render } from 'openinula'; function App() { return

hello

; } -render(, document.getElementById('div') as any); +render(, document.getElementById('root') as any); diff --git a/docdemo/tmp/demo-cache/apis/core-e6aafde7.jsx b/docdemo/tmp/demo-cache/apis/core-e6aafde7.jsx index c97adad..ed9aac6 100644 --- a/docdemo/tmp/demo-cache/apis/core-e6aafde7.jsx +++ b/docdemo/tmp/demo-cache/apis/core-e6aafde7.jsx @@ -19,3 +19,6 @@ class App extends Component { ); } } + +import { render } from 'openinula'; +render(, document.getElementById('root')) \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-e99b800c.jsx b/docdemo/tmp/demo-cache/apis/core-e99b800c.jsx index d84e7d1..d88b597 100644 --- a/docdemo/tmp/demo-cache/apis/core-e99b800c.jsx +++ b/docdemo/tmp/demo-cache/apis/core-e99b800c.jsx @@ -15,3 +15,6 @@ function App() { ); } + +import { render } from "openinula"; +render(, document.getElementById("root")); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-f462807a.jsx b/docdemo/tmp/demo-cache/apis/core-f462807a.jsx index 8e1a3a2..7fd19da 100644 --- a/docdemo/tmp/demo-cache/apis/core-f462807a.jsx +++ b/docdemo/tmp/demo-cache/apis/core-f462807a.jsx @@ -22,3 +22,6 @@ const ComponentB = () => { const App = () => { return ; } + +import { render } from 'openinula'; +render(, document.getElementById('root')); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/core-fbf72bc9.jsx b/docdemo/tmp/demo-cache/apis/core-fbf72bc9.jsx index e5c3b99..96e50af 100644 --- a/docdemo/tmp/demo-cache/apis/core-fbf72bc9.jsx +++ b/docdemo/tmp/demo-cache/apis/core-fbf72bc9.jsx @@ -15,3 +15,6 @@ function ClickWatch() { ); } + +import { render } from 'openinula'; +render(, document.getElementById('root')) \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/intl-22d472b5.tsx b/docdemo/tmp/demo-cache/apis/intl-22d472b5.tsx index 431cbcc..9b5aa46 100644 --- a/docdemo/tmp/demo-cache/apis/intl-22d472b5.tsx +++ b/docdemo/tmp/demo-cache/apis/intl-22d472b5.tsx @@ -21,3 +21,6 @@ const Component = (props) => { ); }; + +import React, { render } from 'openinula'; +render(, document.getElementById('root') as any); \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/intl-98f0208c.tsx b/docdemo/tmp/demo-cache/apis/intl-98f0208c.tsx index 8a7f964..7173c37 100644 --- a/docdemo/tmp/demo-cache/apis/intl-98f0208c.tsx +++ b/docdemo/tmp/demo-cache/apis/intl-98f0208c.tsx @@ -1,18 +1,18 @@ -import { FormattedMessage } from 'inula-intl'; +// import { FormattedMessage } from 'inula-intl'; -const App = () => { - const name = 'John Doe'; +// function App (){ +// const name = 'John Doe'; - return ( -
-

- -

-
- ); -}; +// return ( +//
+//

+// +//

+//
+// ); +// }; \ No newline at end of file diff --git a/docdemo/tmp/demo-cache/apis/router-1f8d4680.tsx b/docdemo/tmp/demo-cache/apis/router-1f8d4680.tsx index 9d41924..cd1ae24 100644 --- a/docdemo/tmp/demo-cache/apis/router-1f8d4680.tsx +++ b/docdemo/tmp/demo-cache/apis/router-1f8d4680.tsx @@ -14,3 +14,6 @@ function HomeButton() { ); } + +import React, { render } from 'openinula'; +render(, document.getElementById('div') as any); \ No newline at end of file -- Gitee From d1b3c557ea6d5c9ab2672e18abf5c90466ac60c1 Mon Sep 17 00:00:00 2001 From: LogCreative Date: Fri, 29 Dec 2023 12:16:25 +0800 Subject: [PATCH 08/17] docdemo: minor fix --- docdemo/src/compileCode.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docdemo/src/compileCode.js b/docdemo/src/compileCode.js index 8e17da4..7587812 100644 --- a/docdemo/src/compileCode.js +++ b/docdemo/src/compileCode.js @@ -132,7 +132,7 @@ function compileCode(config) { errorLine = parseInt(matches[2]); errorColumn = parseInt(matches[3]); errorReason = matches[4]; - removeCache(path.join(config.demoCacheFolder, result[1] + '.jsx'), config.demoSrcCacheDebug); + removeCache(path.join(config.demoCacheFolder, matches[1] + '.jsx'), config.demoSrcCacheDebug); throw new ViteBuildError(errorReason, ...getRealErrorPos(errorMdHex, errorLine, errorColumn)); } -- Gitee From 98ce6975ccbb4f735867c9e53ff810e57b03d230 Mon Sep 17 00:00:00 2001 From: LogCreative Date: Sat, 30 Dec 2023 23:01:29 +0800 Subject: [PATCH 09/17] docdemo: use the latest version in template --- docdemo/template/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docdemo/template/package.json b/docdemo/template/package.json index fe05a74..aaa7129 100644 --- a/docdemo/template/package.json +++ b/docdemo/template/package.json @@ -12,9 +12,9 @@ "license": "ISC", "dependencies": { "glob": "^10.3.10", - "inula-intl": "^0.0.4", - "inula-router": "^0.0.4", - "openinula": "^0.1.1" + "inula-intl": "latest", + "inula-router": "latest", + "openinula": "latest" }, "devDependencies": { "@babel/core": "^7.21.4", -- Gitee From 87fa9dcfbe135a2ee641bf2b2e6cc65b6be603b2 Mon Sep 17 00:00:00 2001 From: LogCreative Date: Tue, 2 Jan 2024 15:29:45 +0800 Subject: [PATCH 10/17] docdemo: fix npm in spawnSync on Windows --- docdemo/README.en.md | 4 ++-- docdemo/README.md | 4 ++-- docdemo/src/compileCode.js | 5 ++--- docdemo/src/utils.js | 10 +++++++++- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/docdemo/README.en.md b/docdemo/README.en.md index 55c4fb6..e45b475 100644 --- a/docdemo/README.en.md +++ b/docdemo/README.en.md @@ -16,8 +16,8 @@ Generate inula compilation results of code snippets in markdown documents ```bash npm install -cd template && npm install && .. -cd test && npm install && .. +cd template && npm install && cd .. +cd test && npm install && cd .. ``` #### Instructions for Use diff --git a/docdemo/README.md b/docdemo/README.md index 82a1ff3..9403d83 100644 --- a/docdemo/README.md +++ b/docdemo/README.md @@ -16,8 +16,8 @@ ```bash npm install -cd template && npm install && .. -cd test && npm install && .. +cd template && npm install && cd .. +cd test && npm install && cd .. ``` #### 使用说明 diff --git a/docdemo/src/compileCode.js b/docdemo/src/compileCode.js index 7587812..c4ec300 100644 --- a/docdemo/src/compileCode.js +++ b/docdemo/src/compileCode.js @@ -3,7 +3,7 @@ const fsExtra = require("fs-extra"); const glob = require("glob"); const path = require("path"); const { spawnSync } = require("child_process"); -const { getHash } = require('./utils'); +const { getHash, getNpmProgram } = require('./utils'); class ViteBuildError extends Error { constructor(message, codeFilename, codeLine, codeColumn) { @@ -61,8 +61,7 @@ function compileCode(config) { }); // Build code through Vite in the template folder - let child_process = spawnSync('npm', ['run', 'build'], { cwd: config.templateFolder, stdio: 'pipe' }); - // execSync('npm run build', { cwd: config.templateFolder, stdio: 'inherit' }); + let child_process = spawnSync(getNpmProgram(), ['run', 'build'], { cwd: config.templateFolder, stdio: 'pipe' }); if (child_process.status !== 0) { const viteError = child_process.stderr.toString(); console.error(viteError); diff --git a/docdemo/src/utils.js b/docdemo/src/utils.js index 3e9a97e..a572657 100644 --- a/docdemo/src/utils.js +++ b/docdemo/src/utils.js @@ -11,4 +11,12 @@ function insertStrAt(str, index, insertion) { return str.substring(0, index) + insertion + str.substring(index); } -module.exports = {getHash, insertStrAt}; \ No newline at end of file +function getNpmProgram() { + // For spawnSync(), `npm` should be `npm.cmd`: + // See https://stackoverflow.com/questions/37125619/spawnsyncnpm-install-gives-error-spawnsync-npm-enoent + // For execSync(), since it runs in a shell like in the regular commmand line, + // it does not matter. + return process.platform === 'win32' ? 'npm.cmd' : 'npm'; +} + +module.exports = {getHash, insertStrAt, getNpmProgram}; \ No newline at end of file -- Gitee From 55634b354d52c204b90a42fe8393b72acfae5655 Mon Sep 17 00:00:00 2001 From: LogCreative Date: Tue, 2 Jan 2024 17:17:29 +0800 Subject: [PATCH 11/17] docdemo: fix vite config for \\ path spliter on Windows --- docdemo/template/vite.config.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docdemo/template/vite.config.js b/docdemo/template/vite.config.js index 99f4a95..8c20807 100644 --- a/docdemo/template/vite.config.js +++ b/docdemo/template/vite.config.js @@ -16,9 +16,11 @@ const searchDir = "./src"; const files = globSync("**/index.html", { cwd: searchDir }); // Generate input object -const input = files.reduce((acc, file) => { - const fileFolder = path.dirname(file); - acc[fileFolder] = path.resolve(__dirname, path.join(searchDir, file)); +// "\\" Windows path spliter is a hazard for HTML embedding, +// we eliminate it manually. +const inputDict = files.reduce((acc, file) => { + const fileFolder = path.dirname(file).replace(/\\/g,'/'); + acc[fileFolder] = path.resolve(__dirname, path.join(searchDir, file)).replace(/\\/g,'/'); return acc; }, {}); @@ -29,7 +31,7 @@ export default defineConfig({ }, build: { rollupOptions: { - input + input: inputDict } }, base: './', // relative path -- Gitee From f1071b0d07cb3793963366f776c8c2792e383181 Mon Sep 17 00:00:00 2001 From: LogCreative Date: Wed, 3 Jan 2024 17:15:56 +0800 Subject: [PATCH 12/17] fix: normalize CRLF --- docdemo/src/processMarkdown.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docdemo/src/processMarkdown.js b/docdemo/src/processMarkdown.js index fb9097a..3af99c9 100644 --- a/docdemo/src/processMarkdown.js +++ b/docdemo/src/processMarkdown.js @@ -39,10 +39,6 @@ function tryParse(lang, code, codeFileName="") { } async function analyzeCode(lang, code, codeFileName, config) { - // to see if the language is supported - if (!(lang === "jsx" || lang === "tsx")) { - return null; - } // remove comments code = preprocessCode(lang, code); // global rules @@ -91,7 +87,12 @@ async function processMarkdownFile(markdownFileRelPath, config) { while ((result = markdownCodeRegex.exec(data)) !== null) { const indent = result[1]; const language = result[2]; - const codeSegment = result[3]; + const codeSegment = result[3].replace(/\r\n/g, "\n"); // normalize CRLF + + // to see if the language is supported + if (!(language === "jsx" || language === "tsx")) { + continue; + } // calculate sha-256 of codeSegment as part of the file name, // which is prepared for further comparison if the code is the same. -- Gitee From 154b31f7392bc6c33a846f7718f9b9c9744df070 Mon Sep 17 00:00:00 2001 From: LogCreative Date: Wed, 3 Jan 2024 17:19:59 +0800 Subject: [PATCH 13/17] fix: regex of isCodeFileEmpty --- docdemo/src/processMarkdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docdemo/src/processMarkdown.js b/docdemo/src/processMarkdown.js index 3af99c9..96cadc7 100644 --- a/docdemo/src/processMarkdown.js +++ b/docdemo/src/processMarkdown.js @@ -19,7 +19,7 @@ function hasRender(lang, code) { } function isCodeFileEmpty(lang, code) { - return preprocessCode(lang, code).replace(/\r?\n/g,"").replace(/ /g,"") === ""; + return preprocessCode(lang, code).replace(/[\r\n]/g,"").replace(/ /g,"") === ""; } function tryParse(lang, code, codeFileName="") { -- Gitee From 2477c6899891b85e8ed6b05f9d50c141cae1a08b Mon Sep 17 00:00:00 2001 From: LogCreative Date: Wed, 3 Jan 2024 19:18:45 +0800 Subject: [PATCH 14/17] fix: gpt prompt --- docdemo/src/gpt.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docdemo/src/gpt.js b/docdemo/src/gpt.js index fb37fd4..a1fb650 100644 --- a/docdemo/src/gpt.js +++ b/docdemo/src/gpt.js @@ -42,7 +42,7 @@ async function sendGPT (prompt) { } async function askCode(lang, code, codeFileName) { - const prompt = `只为这个${lang}语言的代码片段的结尾添加代码,使其使用 'openinula' 库的 render 语句渲染最主要的 Component 到 id 为 root 的 HTML DOM上,只需返回代码结果不需要任何解释,如果做不到请直接返回 0:\n` + code; + const prompt = `只为这个${lang}语言的代码片段的结尾添加代码,使其使用 'openinula' 库的 render 语句渲染最主要的 Component 到 id 为 root 的 HTML DOM 上。必要时将 'openinula' 库中的 render 函数进行导入,只允许在代码结尾添加相关代码,只需返回增加部分的代码结果而不需要任何解释,如果做不到请直接返回 0:\n` + code; try { let res = await sendGPT(prompt); if (res == null || res === "0") return null; -- Gitee From ff7131e8c5d44510111a21403b5abbaec8dd1285 Mon Sep 17 00:00:00 2001 From: LogCreative Date: Thu, 4 Jan 2024 10:00:34 +0800 Subject: [PATCH 15/17] docdemo: all LF for code files --- docdemo/src/gpt.js | 2 +- docdemo/src/processMarkdown.js | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docdemo/src/gpt.js b/docdemo/src/gpt.js index a1fb650..1a67aaa 100644 --- a/docdemo/src/gpt.js +++ b/docdemo/src/gpt.js @@ -47,7 +47,7 @@ async function askCode(lang, code, codeFileName) { let res = await sendGPT(prompt); if (res == null || res === "0") return null; console.log(codeFileName + os.EOL + code + os.EOL + chalk.green(res) + os.EOL); - return code + os.EOL + res; + return code + "\n" + res; } catch (e) { return null; } diff --git a/docdemo/src/processMarkdown.js b/docdemo/src/processMarkdown.js index 96cadc7..57f1fbe 100644 --- a/docdemo/src/processMarkdown.js +++ b/docdemo/src/processMarkdown.js @@ -1,7 +1,6 @@ const fs = require('fs'); const fsExtra = require('fs-extra'); const path = require('path'); -const os = require('os'); const glob = require('glob'); const babelParser = require("@babel/parser"); const { getHash, insertStrAt } = require('./utils'); @@ -131,12 +130,12 @@ async function processMarkdownFile(markdownFileRelPath, config) { validCodeblocks++; // append iframe to the end of the code segment, - // two os.EOL could help the Markdown parser running correctly. + // two \n could help the Markdown parser running correctly. // indent is to avoid bad list processing. const demoFileRelativePath = path.join('/', config.demoDistRelativeFolder, 'src', codeFileFolder, codeFileName, 'index.html'); - const insertion = os.EOL + os.EOL + indent + `
Preview
`; + const insertion = "\n" + "\n" + indent + `
Preview
`; data = insertStrAt(data, result.index + result[0].length, insertion); - data = insertStrAt(data, result.index, indent + '
' + os.EOL + os.EOL); + data = insertStrAt(data, result.index, indent + '
' + "\n" + "\n"); } // Write the new data to the new markdown file -- Gitee From 3bbe19b14bf1631c2023e0a2045cf9595dd7d833 Mon Sep 17 00:00:00 2001 From: LogCreative Date: Thu, 4 Jan 2024 12:26:50 +0800 Subject: [PATCH 16/17] docdemo: minor fix in analyzeCode --- docdemo/src/processMarkdown.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docdemo/src/processMarkdown.js b/docdemo/src/processMarkdown.js index 57f1fbe..ae9a3e2 100644 --- a/docdemo/src/processMarkdown.js +++ b/docdemo/src/processMarkdown.js @@ -38,14 +38,14 @@ function tryParse(lang, code, codeFileName="") { } async function analyzeCode(lang, code, codeFileName, config) { - // remove comments - code = preprocessCode(lang, code); + // remove comments, this may breaks the error reporting, temporarily remove it. + newCode = preprocessCode(lang, code); // global rules if ( - code.match(/\.\//) != null // relative import - || code.match('function render') != null // define render function - || code.match(/<.*\/.*>/) == null // no HTML tag - || code.match('import') == null // no import + newCode.match(/\.\//) != null // relative import + || newCode.match('function render') != null // define render function + || newCode.match(/<.*\/.*>/) == null // no HTML tag + || newCode.match('import') == null // no import ) { return null; // impossible to render Component. } -- Gitee From 43c88ca585e18af7c4e0a15ff694c29ed11e667c Mon Sep 17 00:00:00 2001 From: LogCreative Date: Thu, 4 Jan 2024 12:28:16 +0800 Subject: [PATCH 17/17] docdemo: minor fix --- docdemo/src/processMarkdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docdemo/src/processMarkdown.js b/docdemo/src/processMarkdown.js index ae9a3e2..222e8d3 100644 --- a/docdemo/src/processMarkdown.js +++ b/docdemo/src/processMarkdown.js @@ -50,7 +50,7 @@ async function analyzeCode(lang, code, codeFileName, config) { return null; // impossible to render Component. } // filter render code - if (!hasRender(lang, code)) { + if (!hasRender(lang, newCode)) { code = code.replace(/export default\s+(.*)\s+=\(\)\s*=>\s*{/, "export default function $1() {"); // does not support anonymous function export here. if (!tryParse(lang, code, codeFileName)) { return code; // the original code is bad, expose it to the compile step for better error reporting. -- Gitee

-I_%=-c<#a$WL$oqZw&ZJh*?GrOnQND; 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%0A_XbNIV3M6c=Y|Rn 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