From bc4b00f21bbc1c78e448a449603feb839244d299 Mon Sep 17 00:00:00 2001 From: Leon Vatthauer <34196198+Reijix@users.noreply.github.com> Date: Sat, 6 Apr 2024 08:09:34 +0200 Subject: [PATCH] Initial commit --- .editorconfig | 20 + .github/FUNDING.yml | 2 + .github/workflows/import-publications.yml | 57 +++ .github/workflows/publish.yaml | 70 ++++ .github/workflows/updater-wip.yml | 22 + .gitignore | 10 + LICENSE.md | 21 + README.md | 49 +++ academic.Rproj | 16 + assets/media/albums/.gitkeep | 0 .../chris-montgomery-smgTvepind4-unsplash.jpg | Bin 0 -> 245831 bytes .../demo/dan-gold-4_jhDO54BYg-unsplash-f.jpg | Bin 0 -> 447788 bytes .../fotografierende-333oj7zFsdg-unsplash.jpg | Bin 0 -> 116195 bytes ...n-carstens-peters-npxXWgQ33ZQ-unsplash.jpg | Bin 0 -> 115372 bytes .../joseph-gonzalez-zcUgjyqEwe8-unsplash.jpg | Bin 0 -> 331376 bytes .../matthew-osborn-wMRIcT86SWU-unsplash-l.jpg | Bin 0 -> 398024 bytes ...riscilla-du-preez-K8XYGbw4Ahg-unsplash.jpg | Bin 0 -> 96811 bytes assets/media/hero-academic.png | Bin 0 -> 7012 bytes assets/media/icon.png | Bin 0 -> 9727 bytes assets/media/icons/brands/org-gc.svg | 15 + assets/media/icons/brands/org-x.svg | 15 + config/_default/hugo.yaml | 64 +++ config/_default/languages.yaml | 22 + config/_default/menus.yaml | 30 ++ config/_default/module.yaml | 10 + config/_default/params.yaml | 116 ++++++ content/_index.md | 283 +++++++++++++ content/authors/_index.md | 11 + content/authors/admin/_index.md | 124 ++++++ content/authors/admin/avatar.jpg | Bin 0 -> 1387900 bytes content/event/_index.md | 15 + content/event/example/featured.jpg | Bin 0 -> 620088 bytes content/event/example/index.md | 73 ++++ content/post/_index.md | 15 + content/post/blog-with-jupyter/featured.png | Bin 0 -> 71549 bytes content/post/blog-with-jupyter/index.md | 34 ++ content/post/blog-with-jupyter/output_1_0.png | Bin 0 -> 11155 bytes content/post/getting-started/featured.jpg | Bin 0 -> 241861 bytes content/post/getting-started/index.md | 110 +++++ .../writing-technical-content/featured.jpg | Bin 0 -> 266353 bytes .../post/writing-technical-content/index.md | 390 ++++++++++++++++++ .../writing-technical-content/line-chart.json | 71 ++++ .../writing-technical-content/results.csv | 4 + content/privacy.md | 15 + content/project/example/featured.gif | Bin 0 -> 441152 bytes content/project/example/index.md | 41 ++ content/project/external-project/featured.jpg | Bin 0 -> 329522 bytes content/project/external-project/index.md | 14 + content/publication/_index.md | 16 + content/publication/conference-paper/cite.bib | 8 + .../conference-paper/conference-paper.pdf | Bin 0 -> 15043 bytes .../publication/conference-paper/featured.jpg | Bin 0 -> 312700 bytes content/publication/conference-paper/index.md | 86 ++++ content/publication/journal-article/cite.bib | 8 + .../publication/journal-article/featured.jpg | Bin 0 -> 214168 bytes content/publication/journal-article/index.md | 75 ++++ content/publication/preprint/featured.jpg | Bin 0 -> 220813 bytes content/publication/preprint/index.md | 68 +++ content/slides/example/index.md | 169 ++++++++ content/terms.md | 15 + data/fonts/.gitkeep | 0 data/page_sharer.toml | 82 ++++ data/themes/.gitkeep | 0 go.mod | 9 + images/screenshot.png | Bin 0 -> 104518 bytes images/tn.png | Bin 0 -> 137246 bytes netlify.toml | 21 + preview.png | Bin 0 -> 222122 bytes static/uploads/resume.pdf | Bin 0 -> 40968 bytes theme.toml | 49 +++ 70 files changed, 2345 insertions(+) create mode 100644 .editorconfig create mode 100644 .github/FUNDING.yml create mode 100644 .github/workflows/import-publications.yml create mode 100644 .github/workflows/publish.yaml create mode 100644 .github/workflows/updater-wip.yml create mode 100644 .gitignore create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 academic.Rproj create mode 100644 assets/media/albums/.gitkeep create mode 100644 assets/media/albums/demo/chris-montgomery-smgTvepind4-unsplash.jpg create mode 100644 assets/media/albums/demo/dan-gold-4_jhDO54BYg-unsplash-f.jpg create mode 100644 assets/media/albums/demo/fotografierende-333oj7zFsdg-unsplash.jpg create mode 100644 assets/media/albums/demo/glenn-carstens-peters-npxXWgQ33ZQ-unsplash.jpg create mode 100644 assets/media/albums/demo/joseph-gonzalez-zcUgjyqEwe8-unsplash.jpg create mode 100644 assets/media/albums/demo/matthew-osborn-wMRIcT86SWU-unsplash-l.jpg create mode 100644 assets/media/albums/demo/priscilla-du-preez-K8XYGbw4Ahg-unsplash.jpg create mode 100644 assets/media/hero-academic.png create mode 100644 assets/media/icon.png create mode 100644 assets/media/icons/brands/org-gc.svg create mode 100644 assets/media/icons/brands/org-x.svg create mode 100644 config/_default/hugo.yaml create mode 100644 config/_default/languages.yaml create mode 100644 config/_default/menus.yaml create mode 100644 config/_default/module.yaml create mode 100644 config/_default/params.yaml create mode 100644 content/_index.md create mode 100644 content/authors/_index.md create mode 100644 content/authors/admin/_index.md create mode 100644 content/authors/admin/avatar.jpg create mode 100644 content/event/_index.md create mode 100644 content/event/example/featured.jpg create mode 100644 content/event/example/index.md create mode 100644 content/post/_index.md create mode 100644 content/post/blog-with-jupyter/featured.png create mode 100644 content/post/blog-with-jupyter/index.md create mode 100644 content/post/blog-with-jupyter/output_1_0.png create mode 100644 content/post/getting-started/featured.jpg create mode 100644 content/post/getting-started/index.md create mode 100644 content/post/writing-technical-content/featured.jpg create mode 100644 content/post/writing-technical-content/index.md create mode 100644 content/post/writing-technical-content/line-chart.json create mode 100644 content/post/writing-technical-content/results.csv create mode 100644 content/privacy.md create mode 100644 content/project/example/featured.gif create mode 100644 content/project/example/index.md create mode 100644 content/project/external-project/featured.jpg create mode 100644 content/project/external-project/index.md create mode 100644 content/publication/_index.md create mode 100644 content/publication/conference-paper/cite.bib create mode 100644 content/publication/conference-paper/conference-paper.pdf create mode 100644 content/publication/conference-paper/featured.jpg create mode 100644 content/publication/conference-paper/index.md create mode 100644 content/publication/journal-article/cite.bib create mode 100644 content/publication/journal-article/featured.jpg create mode 100644 content/publication/journal-article/index.md create mode 100644 content/publication/preprint/featured.jpg create mode 100644 content/publication/preprint/index.md create mode 100644 content/slides/example/index.md create mode 100644 content/terms.md create mode 100644 data/fonts/.gitkeep create mode 100644 data/page_sharer.toml create mode 100644 data/themes/.gitkeep create mode 100644 go.mod create mode 100644 images/screenshot.png create mode 100644 images/tn.png create mode 100644 netlify.toml create mode 100644 preview.png create mode 100644 static/uploads/resume.pdf create mode 100644 theme.toml diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..574c0a2 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,20 @@ +# editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.toml] +max_line_length = 100 + +[*.md] +trim_trailing_whitespace = false + +[layouts/shortcodes/*.html] +insert_final_newline = false diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..2ed14d2 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,2 @@ +github: gcushen +custom: https://hugoblox.com/sponsor/ diff --git a/.github/workflows/import-publications.yml b/.github/workflows/import-publications.yml new file mode 100644 index 0000000..8ee4b62 --- /dev/null +++ b/.github/workflows/import-publications.yml @@ -0,0 +1,57 @@ +# Hugo Blox GitHub Action to convert Bibtex publications to Markdown-based webpages +name: Import Publications From Bibtex + +# Require permission to create a PR +permissions: + contents: write + pull-requests: write + +# Run workflow when a `.bib` file is added or updated in the `data/` folder +on: + push: + branches: ['main'] + paths: ['publications.bib'] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + hugoblox: + if: github.repository_owner != 'HugoBlox' + runs-on: ubuntu-latest + steps: + - name: Checkout the repo + uses: actions/checkout@v3 + - name: Set up Python 3.12 + uses: actions/setup-python@v4 + with: + python-version: "3.12" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install academic==0.10.0 + - name: Run Academic (Bibtex To Markdown Converter) + # Check `.bib` file exists for case when action runs on `.bib` deletion + # Note GH only provides hashFiles func in `steps.if` context, not `jobs.if` context + if: ${{ hashFiles('publications.bib') != '' }} + run: academic import publications.bib content/publication/ --compact + - name: Create Pull Request + # Set ID for `Check outputs` stage + id: cpr + uses: peter-evans/create-pull-request@v5 + with: + commit-message: 'content: import publications from Bibtex' + title: Hugo Blox Builder - Import latest publications + body: | + Import the latest publications from `publications.bib` to `content/publication/`. + 将最新的出版物从`publications.bib`导入到`content/publication/`。 + [View Documentation](https://github.com/GetRD/academic-file-converter) + base: main + labels: automated-pr, content + branch: hugoblox-import-publications + delete-branch: true + - name: Check outputs + if: ${{ steps.cpr.outputs.pull-request-number }} + run: | + echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" + echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..ae3ee06 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,70 @@ +name: Deploy website to GitHub Pages + +env: + WC_HUGO_VERSION: '0.123.3' + +on: + # Trigger the workflow every time you push to the `main` branch + push: + branches: ["main"] + # Allows you to run this workflow manually from the Actions tab on GitHub. + workflow_dispatch: + +# Provide permission to clone the repo and deploy it to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build website + build: + if: github.repository_owner != 'HugoBlox' + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + # Fetch history for Hugo's .GitInfo and .Lastmod + fetch-depth: 0 + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: ${{ env.WC_HUGO_VERSION }} + extended: true + - uses: actions/cache@v3 + with: + path: /tmp/hugo_cache_runner/ + key: ${{ runner.os }}-hugomod-${{ hashFiles('**/go.mod') }} + restore-keys: | + ${{ runner.os }}-hugomod- + - name: Setup Pages + id: pages + uses: actions/configure-pages@v3 + - name: Build with Hugo + env: + HUGO_ENVIRONMENT: production + run: | + echo "Hugo Cache Dir: $(hugo config | grep cachedir)" + hugo --minify --baseURL "${{ steps.pages.outputs.base_url }}/" + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: ./public + + # Deploy website to GitHub Pages hosting + deploy: + if: github.repository_owner != 'HugoBlox' + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/.github/workflows/updater-wip.yml b/.github/workflows/updater-wip.yml new file mode 100644 index 0000000..43aacf1 --- /dev/null +++ b/.github/workflows/updater-wip.yml @@ -0,0 +1,22 @@ +name: Updater (WIP) + +on: + schedule: + - cron: 0 0 * * 0 + # Allows you to run this workflow manually from the Actions tab on GitHub. + workflow_dispatch: + +# Provide permission to clone the repo and deploy it to GitHub Pages +permissions: + contents: write + +jobs: + update: + if: github.repository_owner == 'HugoBlox' + runs-on: ubuntu-latest + steps: + - uses: HugoBlox/gh-action-updater@v1 + with: + feed-url: https://hugoblox.com/rss.xml + readme-section: news + branch: main diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a04655b --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# IDEs +.idea/ + +# Hugo +resources/ +public/ +jsconfig.json +node_modules/ +go.sum +.hugo_build.lock diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..1ae7dc1 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016-present George Cushen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a4005d8 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# [Hugo Academic CV Theme](https://github.com/HugoBlox/theme-academic-cv) + +[![Screenshot](./preview.png)](https://hugoblox.com/templates/) + +The Hugo **Academic Resumé Template** empowers you to easily create your job-winning online resumé, showcase your academic publications, and create online courses or knowledge bases to grow your audience. + +[![Get Started](https://img.shields.io/badge/-Get%20started-ff4655?style=for-the-badge)](https://hugoblox.com/templates/) +[![Discord](https://img.shields.io/discord/722225264733716590?style=for-the-badge)](https://discord.com/channels/722225264733716590/742892432458252370/742895548159492138) +[![Twitter Follow](https://img.shields.io/twitter/follow/GetResearchDev?label=Follow%20on%20Twitter)](https://twitter.com/GetResearchDev) + +️**Trusted by 250,000+ researchers, educators, and students.** Highly customizable via the integrated **no-code, Hugo Blox Builder**, making every site truly personalized ⭐⭐⭐⭐⭐ + +Easily write technical content with plain text Markdown, LaTeX math, diagrams, RMarkdown, or Jupyter, and import publications from BibTeX. + +[Check out the latest demo](https://academic-demo.netlify.app/) of what you'll get in less than 10 minutes, or [get inspired by our academics and research groups](https://hugoblox.com/creators/). + +The integrated [**Hugo Blox Builder**](https://hugoblox.com) and CMS makes it easy to create a beautiful website for free. Edit your site in the CMS (or your favorite editor), generate it with [Hugo](https://github.com/gohugoio/hugo), and deploy with GitHub or Netlify. Customize anything on your site with widgets, light/dark themes, and language packs. + +- 👉 [**Get Started**](https://hugoblox.com/templates/) +- 📚 [View the **documentation**](https://docs.hugoblox.com/) +- 💬 [Chat with the **Hugo Blox Builder community**](https://discord.gg/z8wNYzb) or [**Hugo community**](https://discourse.gohugo.io) +- 🐦 Twitter: [@GetResearchDev](https://twitter.com/GetResearchDev) [@GeorgeCushen](https://twitter.com/GeorgeCushen) [#MadeWithHugoBlox](https://twitter.com/search?q=%23MadeWithHugoBlox&src=typed_query) +- ⬇️ **Automatically import your publications from BibTeX** with the [Hugo Academic CLI](https://github.com/GetRD/academic-file-converter) +- 💡 [Suggest an improvement](https://github.com/HugoBlox/hugo-blox-builder/issues) +- ⬆️ **Updating?** View the [Update Guide](https://docs.hugoblox.com/reference/update/) and [Release Notes](https://github.com/HugoBlox/hugo-blox-builder/releases) + +## We ask you, humbly, to support this open source movement + +Today we ask you to defend the open source independence of the Hugo Blox Builder and themes 🐧 + +We're an open source movement that depends on your support to stay online and thriving, but 99.9% of our creators don't give; they simply look the other way. + +### [❤️ Click here to become a GitHub Sponsor, unlocking awesome perks such as _exclusive academic templates and widgets_](https://github.com/sponsors/gcushen) + +
+ +## Demo image credits + +- [Unsplash](https://unsplash.com) + +## Latest news + + +* [6 Compelling Reasons I Switched from WordPress to Hugo](https://hugoblox.com/vs/wordpress/) +* [The 7 best landing page builders in 2024](https://hugoblox.com/blog/7-best-landing-page-builders/) +* [Start a Blog and Make Money in 2024: Here's What You Need to Know](https://hugoblox.com/blog/start-a-blog-and-make-money/) +* [Hugo vs Quarto: Which One is Better for 2024?](https://hugoblox.com/vs/quarto/) +* [Easily make an academic CV website to get more cites and grow your audience 🚀](https://hugoblox.com/blog/easily-make-academic-website/) + diff --git a/academic.Rproj b/academic.Rproj new file mode 100644 index 0000000..e83436a --- /dev/null +++ b/academic.Rproj @@ -0,0 +1,16 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: Sweave +LaTeX: pdfLaTeX + +AutoAppendNewline: Yes +StripTrailingWhitespace: Yes diff --git a/assets/media/albums/.gitkeep b/assets/media/albums/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/assets/media/albums/demo/chris-montgomery-smgTvepind4-unsplash.jpg b/assets/media/albums/demo/chris-montgomery-smgTvepind4-unsplash.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bb8a0df071fa1fe1a7ad6d64956a5f20a2899165 GIT binary patch literal 245831 zcmbq)hhLK4`!{B0%go9w7cH~2q%^lcYHDd|=E?H=e+Lsbsw(H*5KA(z(I4<8>Rpe5dh%& z_5^HA0N$8{c|HOFZruW?004m905Oq60MTtqWP1WcWC3FTp#cDM5xM_M-w`?YU!ENR zK(r@d=YM&ewy*z=?VbN!{okwTCz1cRc{o+QRwu*f?)sFk*N;XwB;qcrhG*M5%pC?9nrnJnn
zoN56B)r7=G2N%IR2cNqHCtEe=Y_V^iP7dbwwodlW_R;w_-p0MTR@fh?0N12+(bMP-
zt^DSyE63%D_inuVSP&p%uzCL5Z;|Woy^ Zjmb`7Ga;%79Dr__aq5d}mIYT MmX%1gV81Zn20%MYdD*&)N-LH)jR&9)3b|Pw5pSybz0tDjN-3J9(K#=-umlp
z8->U!&-&JPZd7TX6TaGk=yA#sTd2~ndsnC;dGcovt{>T4vry8P&7xlt#yuOM{him~
zB=EC~Usc^Y!1n$(Wo9@_j0vIM4^>W=+eojU_>kD
zHF8Zs65?Uv^(FIJ!t*_+PTkPlgXuV-Cx1KSq`J-SLn>0{Qc2(LzS;-N>w0HV=J+bL
zI@hSPyzo$%Nf8nS4xPMTQyngo+Af5iEsK3iUAZR!+}
zx1%dIW=~2>&XsG0yQEF}%srd^GM;_kfDm1z6hQ??5{`R{nRBbvyRS=mo~?b?8Vc4K
zgLlC<$6Y_Q#Em=oVzcNCCBi@&IS1k~$yl{Jf;XcXnJ+T*e(yUtv{(8I=D2ea_cKvr
z=850XuEHZr*PoCeGT8>7
zqvuYY&T@B>s|8@Nua|VF+MQE}9-{DdQaXxqd+lo15@z!6OhioQ0U%r#YA1YC=w4Sw
zRMUH{KWqi6ZW7+&5oUbE4Hp`K<9LS^>M7uClwJV856+GbuH$=g#PdU4z_&n!7Yr!D
z6s4h6J_P@c8=Adb!^10w4`gl&a8!s`%lpD7GcmpbtxSi+#StM!Kx8QwvZykWLj!$b
zfj~0^&gyh$a5}trLYJwR5fk5!WEkM>R^ZvEe}H>|CM!^JZYX0tP9XV*e^-tEdIeIM
znh^fPlb-%me1s+Jq8}9^=TQj?PN}G7#z(Bt28h7h0;rC=aFZiQ5xw&b57W@&&2!K*
zXl0*SG~#?emul40D#(6mwhGJ6FY-V%MnG}vNJ<1&yMB#i)1L@i|F)?DeT&KA8ZV$^
zsrK|D4D&A}jth#JFpwn7^T@~NKwe+x8&)XE^8({OBq%@3iT{4g06&0=c4sImq5L-Y
zC+y`)6vy8LX%BO&akSIZWJPVC$v-;hTfd!
z*?pqxrgOo2>`30E=sXVfxWFufc&MSza1;NQDZH|@D$~8Hjdq2k&XF}aaOY*}XGx(C
z&zME2O+Uv1f58A@Y6@i4wpgzS
zFAzws9KC)%JWSX;`(ty}YT)sCM6FK%zs7Hxs=Y1}s$`=S^RsrH==0Udx1H`(AQwt!
z)y
!pjlxfZA8awt%D{
zx7Tg8>+kdk*G@veCKnYvrGSX44HZspX>K~^dgGUnKeyrH2=eR?EJ0!}C{HB`#?EVL
zZbq=GrGGl=QXG%nrju!(Yd#tgnCSh(=V1Y!zhVMWp`)FSiIHZty1Zc7i2MREdBl%f
zS|8+i<`O1#;OJc4(|&KAfAKIlaGx#)?Gl%HlP`yS75L0$w|#H6y);jJtl&L-pO3ms
zC0E(wC%L6z?pHO>nLMH=YXKf0@Q2ZWe42l~%ObY}^+>SMo$>`>4DbPI7C%3AW3CU#
zD!&JB29ci&22o1*-|cz
ay{H_!5Yx*&g
zl~32>X!%(w^d*wz630zH)>Wh3S|H~Kt9az`3tFuJuSesm*AL2bc&m8FpZ*Xp&$0g<
zlU4n)2+!m_z1P>#FV;BI0tfW1OE8&ee+i-1o_%B46C{WRx<(Fsa0gE?Q