From bbd158ec2609186cf1faa427da36a451fe644007 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 17 Jun 2024 16:22:06 -0400 Subject: [PATCH 01/64] add content for home, registration, and travel pages --- src/content/home.md | 10 ++++++---- src/content/registration.md | 8 ++++---- src/content/travel.md | 16 ++++++++++------ 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/content/home.md b/src/content/home.md index df7e794..63f65e8 100644 --- a/src/content/home.md +++ b/src/content/home.md @@ -11,11 +11,11 @@ Previous KNIT attendees and students are eligible to receive discounted pricing. See what [travel accommodations](/travel) are available, and [register now](/register)! - + --- -## What to Expect at KNIT 8? +## What to Expect at KNIT 9? We are excited to announce that FABRIC attendees will have the privilege to attend the NRP keynote about the NAIRR Pilot, given by Dr. Katie Antypas from the NSF Office of Advanced Cyberinfrastructure. Additional sessions include FABRIC keynotes from kc claffy and Arpit Gupta and an FPGA demo / tutorial led by Nik Sultana. We'll plan to share more information about our agenda in the coming weeks. @@ -23,7 +23,9 @@ The workshop will include small-group, hands-on FABRIC tutorial sessions and adv During the week, FABRIC and NRP will co-host two events — a demo night and a social program — giving attendees from both workshops a chance to connect and create pathways for collaboration. Additionally, attendees will have the chance to hear keynotes and plenary discussions built around the interests of both FABRIC users and NRP members. -##### Funding Details + + -This work is funded by NSF Grants No. CNS-1935966, CNS-2029261, CNS-2029235, CNS-2029200, CNS-2029260. +##### Funding Details +FABRIC is funded by NSF grants CNS-1935966, CNS-2029176, CNS-2029200, CNS-2029235, CNS-2029260, CNS-2029261 and CNS-2330891. diff --git a/src/content/registration.md b/src/content/registration.md index f09021f..30e8447 100644 --- a/src/content/registration.md +++ b/src/content/registration.md @@ -2,8 +2,8 @@ ## When -- Workshop: Tuesday March 19, 2024 – Thursday March 21, 2024 -- Registration deadline: Friday March 1, 2024 +- Workshop: Tuesday September 24 - Friday September 27, 2024 +- Registration deadline: Monday, September 2, 2024 ## Where @@ -14,8 +14,8 @@ San Diego Supercomputer Center, UC San Diego ## Cost - **Full registration** - - Early Bird: $200 (ends Feb. 1, 2024) + - Early Bird: $200 (ends July. 31, 2024) - Regular: $300 -- **Streaming pass**: $100 +- **Streaming pass**: $50 - **Student**: $100 - **Previous KNIT attendee**: $150 diff --git a/src/content/travel.md b/src/content/travel.md index 8fccefa..3c27a74 100644 --- a/src/content/travel.md +++ b/src/content/travel.md @@ -2,14 +2,18 @@ ## Hotel Block -February 16 is the last day reserve your room as part of our hotel block. -Our team has reserved a hotel block from the evening of -Monday March 18 through checkout on Thursday March 21 -at the Sheraton La Jolla Hotel. +September 4 is the last day to reserve your room as part of the hotel block. Our team has reserved a hotel block from the evening of Monday September 23 through checkout on Friday September 27 at the Residence Inn. -> Sheraton La Jolla Hotel +> Residence Inn -> 3299 Holiday Ct, La Jolla, CA 92037 +> 4601 Broadwas, Kansas City, MO 64112 Reservations can be made at the [hotel website](https://www.marriott.com/event-reservations/reservation-link.mi?id=1704930566970&key=GRP&app=resvlink). + + +## Travel Stipends + +Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. + + \ No newline at end of file From 99d397937c3d6d63a07891c81df21b2a4bdc0848 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 17 Jun 2024 16:22:40 -0400 Subject: [PATCH 02/64] change cfp to cfa (calls for action) and add cfa placeholder content and buttons --- src/content/cfa.md | 25 +++++++++++++++++++++++++ src/content/cfp.md | 5 ----- src/views/{cfp.js => cfa.js} | 6 +++--- src/views/index.js | 2 +- 4 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 src/content/cfa.md delete mode 100644 src/content/cfp.md rename src/views/{cfp.js => cfa.js} (61%) diff --git a/src/content/cfa.md b/src/content/cfa.md new file mode 100644 index 0000000..97c0ca0 --- /dev/null +++ b/src/content/cfa.md @@ -0,0 +1,25 @@ +# Calls for Action + +## Calls for Demos +Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. + +Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. + + + +## Calls for Tutorials +Incididunt id aliquip cillum in aliqua quis qui mollit exercitation in laborum. Nisi in dolore occaecat minim cillum dolor ut cupidatat. Lorem ipsum esse consectetur proident dolor consequat duis sed duis magna ullamco aliquip ut ut reprehenderit minim aliqua laborum proident laborum. + +Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. + + + + +## Calls for Presentations +In sit magna pariatur laborum id cillum excepteur nulla tempor occaecat fugiat dolor ut quis duis do in enim. Magna et enim velit in sed officia ut ut ut voluptate. + +Incididunt id aliquip cillum in aliqua quis qui mollit exercitation in laborum. Nisi in dolore occaecat minim cillum dolor ut cupidatat. Lorem ipsum esse consectetur proident dolor consequat duis sed duis magna ullamco aliquip ut ut reprehenderit minim aliqua laborum proident laborum. + + + +For more questions, email [Chelsea Davis](cdavis@renci.org) \ No newline at end of file diff --git a/src/content/cfp.md b/src/content/cfp.md deleted file mode 100644 index c28b268..0000000 --- a/src/content/cfp.md +++ /dev/null @@ -1,5 +0,0 @@ -# Call for Proposals - -Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. - -Lorem ipsum ullamco irure aliquip elit veniam occaecat adipisicing minim proident commodo occaecat dolor in aliquip sit dolor labore. Incididunt id aliquip cillum in aliqua quis qui mollit exercitation in laborum. Nisi in dolore occaecat minim cillum dolor ut cupidatat. Lorem ipsum esse consectetur proident dolor consequat duis sed duis magna ullamco aliquip ut ut reprehenderit minim aliqua laborum proident laborum. In sit magna pariatur laborum id cillum excepteur nulla tempor occaecat fugiat dolor ut quis duis do in enim. Magna et enim velit in sed officia ut ut ut voluptate. diff --git a/src/views/cfp.js b/src/views/cfa.js similarity index 61% rename from src/views/cfp.js rename to src/views/cfa.js index d3c7da9..3c9ddd2 100644 --- a/src/views/cfp.js +++ b/src/views/cfa.js @@ -1,12 +1,12 @@ -import cfp from '@content/cfp.md' +import cfa from '@content/cfa.md' import { Page } from '@components/layout' import { Markdown } from '@components/markdown' -export const CfpView = () => { +export const CfaView = () => { return ( - { cfp } + { cfa } ) } \ No newline at end of file diff --git a/src/views/index.js b/src/views/index.js index fd21046..e4d1720 100644 --- a/src/views/index.js +++ b/src/views/index.js @@ -1,4 +1,4 @@ -export * from './cfp' +export * from './cfa' export * from './home' export * from './not-found' export * from './registration' From 7f43d06d280a4b3f5c31452cdacba92a9711559f Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 17 Jun 2024 16:23:10 -0400 Subject: [PATCH 03/64] update cfa views and remove speaker, faqs and agenda pages from menu --- src/app.js | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/app.js b/src/app.js index a44b8ed..2deba80 100644 --- a/src/app.js +++ b/src/app.js @@ -2,13 +2,15 @@ import { Fragment } from 'react' import { Routes, Route } from 'react-router-dom' import { Menu } from '@components/menu' import { - CfpView, + CfaView, HomeView, MarkdownView, NotFoundView, RegistrationView, SpeakersView, TravelView, + FaqsView, + AgendaView } from './views' import { Header, Footer } from '@components/layout' @@ -24,21 +26,31 @@ const menuOptions = [ label: 'Registration', view: , }, - { - path: '/cfp', - label: 'CFP', - view: , - }, + // { + // path: '/agenda', + // label: 'Agenda', + // view: , + // }, { path: '/travel', label: 'Travel Info', view: , }, { - path: '/speakers', - label: 'Speakers', - view: , + path: '/cfa', + label: 'Calls for Action', + view: , }, + // { + // path: '/speakers', + // label: 'Speakers', + // view: , + // }, + // { + // path: '/faqs', + // label: 'FAQs', + // view: , + // }, ] // From 7f9c0aaa23fbbd0fb1507eb616a3817e4eec48c0 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Wed, 19 Jun 2024 23:53:24 -0400 Subject: [PATCH 04/64] update mailto link --- src/content/cfa.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/cfa.md b/src/content/cfa.md index 97c0ca0..0eee05d 100644 --- a/src/content/cfa.md +++ b/src/content/cfa.md @@ -22,4 +22,4 @@ Incididunt id aliquip cillum in aliqua quis qui mollit exercitation in laborum. -For more questions, email [Chelsea Davis](cdavis@renci.org) \ No newline at end of file +For more questions, email [Chelsea Davis](mailto:cdavis@renci.org) \ No newline at end of file From 9a0613e02e827da7d15dad61f1a1d2669cd3c510 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Wed, 19 Jun 2024 23:55:51 -0400 Subject: [PATCH 05/64] separate link components and move into dedicated link component folder --- src/components/link/external-link.js | 21 +++++ src/components/link/index.js | 4 + src/components/{link.js => link/link-icon.js} | 79 ++----------------- src/components/link/link.js | 44 +++++++++++ src/components/link/mail-to-link.js | 14 ++++ 5 files changed, 89 insertions(+), 73 deletions(-) create mode 100644 src/components/link/external-link.js create mode 100644 src/components/link/index.js rename src/components/{link.js => link/link-icon.js} (56%) create mode 100644 src/components/link/link.js create mode 100644 src/components/link/mail-to-link.js diff --git a/src/components/link/external-link.js b/src/components/link/external-link.js new file mode 100644 index 0000000..811e757 --- /dev/null +++ b/src/components/link/external-link.js @@ -0,0 +1,21 @@ +import { Fragment } from 'react' +import { BaseLinkPropTypes } from './' +import { ExternalLinkIcon } from './' +import { Button } from '@mui/joy' + +export const ExternalLink = ({ to, children, ...props }) => { + return ( + + { children } + + + ) +} + +ExternalLink.propTypes = { ...BaseLinkPropTypes } + diff --git a/src/components/link/index.js b/src/components/link/index.js new file mode 100644 index 0000000..905aa86 --- /dev/null +++ b/src/components/link/index.js @@ -0,0 +1,4 @@ +export * from './link' +export * from './link-icon' +export * from './external-link' +export * from './mail-to-link' \ No newline at end of file diff --git a/src/components/link.js b/src/components/link/link-icon.js similarity index 56% rename from src/components/link.js rename to src/components/link/link-icon.js index 84c5e96..7c2fb96 100644 --- a/src/components/link.js +++ b/src/components/link/link-icon.js @@ -1,73 +1,6 @@ -import { Fragment } from 'react' import PropTypes from 'prop-types' -import { Link as ReactLink } from 'react-router-dom' -import { NavLink as ReactNavLink } from 'react-router-dom' -// - -export const ExternalLink = ({ to, children }) => { - return ( - - { children } - - - ) -} - -export const MailtoLink = ({ to, children }) => { - return ( - - { children } - - - ) -} - -const BaseLinkPropTypes = { - to: PropTypes.string.isRequired, - children: PropTypes.node.isRequired, -} - -ExternalLink.propTypes = { ...BaseLinkPropTypes } -MailtoLink.propTypes = { ...BaseLinkPropTypes } - -// - -export const Link = ({ nav, to, children, ...props }) => { - // if this is a navigation menu link, we can bail out now. - if (nav) { - return { children } - } - // otherwise, we'll to determine the type of link and - // decorate it with an icon accordingly. - const externalUrlPattern = new RegExp(/^https?:\/\//) - const externalUrlMatch = externalUrlPattern.exec(to) - const mailtoPattern = new RegExp(/^mailto:/) - const mailtoMatch = mailtoPattern.exec(to) - const LinkComponent = externalUrlMatch - ? ExternalLink - : mailtoMatch - ? MailtoLink - : ReactLink - return {children} -} - -Link.propTypes = { - nav: PropTypes.bool, - ...BaseLinkPropTypes -} - -Link.defaultProps = { - nav: false, -} - -// - -const LinkIcon = ({ size, children }) => { +export const LinkIcon = ({ size, children }) => { return ( { ) } +ExternalLinkIcon.propTypes = { + size: PropTypes.number, +} + export const MailtoLinkIcon = ({ size = 12 }) => { return ( @@ -106,10 +43,6 @@ export const MailtoLinkIcon = ({ size = 12 }) => { ) } -ExternalLinkIcon.propTypes = { - size: PropTypes.number, -} - MailtoLinkIcon.propTypes = { size: PropTypes.number, -} +} \ No newline at end of file diff --git a/src/components/link/link.js b/src/components/link/link.js new file mode 100644 index 0000000..ad89c3b --- /dev/null +++ b/src/components/link/link.js @@ -0,0 +1,44 @@ +import { Fragment } from 'react' +import PropTypes from 'prop-types' +import { Link as ReactLink } from 'react-router-dom' +import { NavLink as ReactNavLink } from 'react-router-dom' +import { ExternalLink } from './' +import { MailtoLink } from './' +// + +export const BaseLinkPropTypes = { + to: PropTypes.string.isRequired, + children: PropTypes.node.isRequired, +} + +// + +export const Link = ({ nav, to, children, ...props }) => { + // if this is a navigation menu link, we can bail out now. + if (nav) { + return { children } + } + // otherwise, we'll to determine the type of link and + // decorate it with an icon accordingly. + const externalUrlPattern = new RegExp(/^https?:\/\//) + const externalUrlMatch = externalUrlPattern.exec(to) + const mailtoPattern = new RegExp(/^mailto:/) + const mailtoMatch = mailtoPattern.exec(to) + const LinkComponent = externalUrlMatch + ? ExternalLink + : mailtoMatch + ? MailtoLink + : ReactLink + return {children} +} + +Link.propTypes = { + nav: PropTypes.bool, + ...BaseLinkPropTypes +} + +Link.defaultProps = { + nav: false, +} + +// \ No newline at end of file diff --git a/src/components/link/mail-to-link.js b/src/components/link/mail-to-link.js new file mode 100644 index 0000000..bc5f1b9 --- /dev/null +++ b/src/components/link/mail-to-link.js @@ -0,0 +1,14 @@ +import { Fragment } from 'react' +import { BaseLinkPropTypes } from './' +import { MailtoLinkIcon } from './' + +export const MailtoLink = ({ to, children }) => { + return ( + + { children } + + + ) +} + +MailtoLink.propTypes = { ...BaseLinkPropTypes } \ No newline at end of file From fee4134e17d90886bc30927ccbaa1e443da0376b Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 20 Jun 2024 00:09:37 -0400 Subject: [PATCH 06/64] update footer --- src/components/layout/footer.js | 67 +++++++++++++++++---------------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/src/components/layout/footer.js b/src/components/layout/footer.js index 5f9949a..19d67b8 100644 --- a/src/components/layout/footer.js +++ b/src/components/layout/footer.js @@ -1,6 +1,10 @@ import { Divider, List, ListItem, Sheet, Stack, Typography } from '@mui/joy' import { KnitLogo } from '@components/brand' import { Link } from '@components/link' +import { + Container, + SIZES, +} from '@components/layout' export const Footer = () => { return ( @@ -16,6 +20,7 @@ export const Footer = () => { p: 2, py: 6, '.copyright': { color: 'var(--knit-palette-primary-900)', + marginTop: '1rem' }, '.links-list a': { color: 'var(--knit-palette-primary-400)', @@ -25,43 +30,39 @@ export const Footer = () => { }, }} > - + - - link - here's an external link - a link - and another - - - - - another link - so many links - last one - - - + + + + © { new Date().getFullYear() } + - + + + FABRIC Portal + Community Slack Channel + Contact Us + + + + - - - © { new Date().getFullYear() } ) } From c95a072c93459c585231294c4cd5005b94792446 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 28 Jun 2024 12:27:08 -0400 Subject: [PATCH 07/64] remove fabric text from hero --- src/components/brand.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/brand.js b/src/components/brand.js index 9bf5a02..0c00bc0 100644 --- a/src/components/brand.js +++ b/src/components/brand.js @@ -24,9 +24,10 @@ export const Brand = () => { }, }} > - FABRIC - + + 2024 + ) } From e5247295ab36b456ecd48626a23b2730f95975e4 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 28 Jun 2024 12:27:17 -0400 Subject: [PATCH 08/64] update typography styles --- src/theme/components.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/theme/components.js b/src/theme/components.js index 57b570c..5f28981 100644 --- a/src/theme/components.js +++ b/src/theme/components.js @@ -6,27 +6,29 @@ export const components = { color: theme.palette.primary[900], // color: 'var(--knit-palette-primary-900)', ...(ownerState.level === 'h1' && { - fontSize: '360%', + fontSize: '250%', color: theme.palette.primary[100], margin: '16px 0', + fontWeight: 600 }), ...(ownerState.level === 'h2' && { - fontSize: '250%', + fontSize: '175%', color: theme.palette.primary[400], margin: '16px 0', + fontWeight: 500, }), ...(ownerState.level === 'h3' && { - fontSize: '200%', + fontSize: '150%', color: theme.palette.secondary[900], margin: '16px 0', }), ...(ownerState.level === 'h4' && { - fontSize: '166%', + fontSize: '130%', color: theme.palette.secondary[400], margin: '16px 0', }), ...(ownerState.level === 'h5' && { - fontSize: '130%', + fontSize: '120%', color: theme.palette.tertiary[600], margin: '16px 0', }), From 32b52a940fd578c388226a28a7db773d1acda2c9 Mon Sep 17 00:00:00 2001 From: Suejin Kim Date: Mon, 1 Jul 2024 09:37:48 -0400 Subject: [PATCH 09/64] Create webpack.yml --- .github/workflows/webpack.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/webpack.yml diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml new file mode 100644 index 0000000..e91c31c --- /dev/null +++ b/.github/workflows/webpack.yml @@ -0,0 +1,28 @@ +name: NodeJS with Webpack + +on: + push: + branches: [ "develop" ] + pull_request: + branches: [ "develop" ] + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [14.x, 16.x, 18.x] + + steps: + - uses: actions/checkout@v4 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + + - name: Build + run: | + npm install + npx webpack From 3a8d355d366e7c186319e8444b4376df50a5d297 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 1 Jul 2024 10:25:17 -0400 Subject: [PATCH 10/64] update to knit 9 --- src/content/home.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/home.md b/src/content/home.md index 63f65e8..90e4525 100644 --- a/src/content/home.md +++ b/src/content/home.md @@ -1,10 +1,10 @@ -# KNIT 8 +# KNIT 9 ## Registration is Open! _March 19 – 21, 2024 | San Diego, CA_ -KNIT 8 will take place March 19–21, 2024 in San Diego, CA. The event is hosted by the [San Diego Supercomputer Center](https://www.sdsc.edu/) and co-located with the [Fifth National Research Platform (5NRP)](https://nationalresearchplatform.org/) Workshop. It will be the first workshop since [FABRIC](https://fabric-testbed.net) entered full operations. +KNIT 9 will take place March 19–21, 2024 in San Diego, CA. The event is hosted by the [San Diego Supercomputer Center](https://www.sdsc.edu/) and co-located with the [Fifth National Research Platform (5NRP)](https://nationalresearchplatform.org/) Workshop. It will be the first workshop since [FABRIC](https://fabric-testbed.net) entered full operations. The last day to register is _March 1, 2024_. Previous KNIT attendees and students are eligible to receive discounted pricing. From bd1d3344323c1899027ef88eeb703aa77e8b3aa0 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 1 Jul 2024 10:36:14 -0400 Subject: [PATCH 11/64] add deploy step to github action --- .github/workflows/webpack.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml index e91c31c..0b93c31 100644 --- a/.github/workflows/webpack.yml +++ b/.github/workflows/webpack.yml @@ -26,3 +26,24 @@ jobs: run: | npm install npx webpack + + deploy: + # Add a dependency to the build job + needs: build + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + # Specify runner + deployment step + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action From 419073b29a7b00fd7f4119e603ecfe207820bdfe Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 1 Jul 2024 10:42:17 -0400 Subject: [PATCH 12/64] remove extra comments --- .github/workflows/webpack.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml index 0b93c31..04e106e 100644 --- a/.github/workflows/webpack.yml +++ b/.github/workflows/webpack.yml @@ -28,22 +28,18 @@ jobs: npx webpack deploy: - # Add a dependency to the build job needs: build - # Grant GITHUB_TOKEN the permissions required to make a Pages deployment permissions: - pages: write # to deploy to Pages - id-token: write # to verify the deployment originates from an appropriate source + pages: write + id-token: write - # Deploy to the github-pages environment environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} - # Specify runner + deployment step runs-on: ubuntu-latest steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action + uses: actions/deploy-pages@v4 From 226e0f1459b609b6accf5732f66c51f8e2efb549 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 1 Jul 2024 10:43:25 -0400 Subject: [PATCH 13/64] update github action build steps --- .github/workflows/webpack.yml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml index 04e106e..68aa1e5 100644 --- a/.github/workflows/webpack.yml +++ b/.github/workflows/webpack.yml @@ -31,6 +31,7 @@ jobs: needs: build permissions: + contents: write pages: write id-token: write @@ -40,6 +41,23 @@ jobs: runs-on: ubuntu-latest steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Install dependencies and build + run: | + npm install + npx webpack + + - name: Deploy to GitHub Pages + id: deployment + uses: JamesIves/github-pages-deploy-action@v4.4.3 + with: + branch: gh-pages + folder: dist + token: ${{ secrets.GITHUB_TOKEN }} From 838cf527d0f6155dbc243c0a76bf398d0c4a08ee Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 1 Jul 2024 12:14:25 -0400 Subject: [PATCH 14/64] update knit date and location on home page --- src/content/home.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/home.md b/src/content/home.md index 90e4525..2e86676 100644 --- a/src/content/home.md +++ b/src/content/home.md @@ -2,9 +2,9 @@ ## Registration is Open! -_March 19 – 21, 2024 | San Diego, CA_ +September 24 - 27, 2024 | Kansas City, MO -KNIT 9 will take place March 19–21, 2024 in San Diego, CA. The event is hosted by the [San Diego Supercomputer Center](https://www.sdsc.edu/) and co-located with the [Fifth National Research Platform (5NRP)](https://nationalresearchplatform.org/) Workshop. It will be the first workshop since [FABRIC](https://fabric-testbed.net) entered full operations. +KNIT 9 will take place September 24 - 27, 2024 in Kansas City, MO. The event is hosted by the [San Diego Supercomputer Center](https://www.sdsc.edu/) and co-located with the [Fifth National Research Platform (5NRP)](https://nationalresearchplatform.org/) Workshop. It will be the first workshop since [FABRIC](https://fabric-testbed.net) entered full operations. The last day to register is _March 1, 2024_. Previous KNIT attendees and students are eligible to receive discounted pricing. From 497dc38e0df0d8655e472af2ee7e5afb2b8ac3c5 Mon Sep 17 00:00:00 2001 From: Suejin Kim Date: Wed, 10 Jul 2024 08:56:14 -0400 Subject: [PATCH 15/64] Update webpack.yml --- .github/workflows/webpack.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml index 68aa1e5..e0ca37a 100644 --- a/.github/workflows/webpack.yml +++ b/.github/workflows/webpack.yml @@ -61,3 +61,4 @@ jobs: branch: gh-pages folder: dist token: ${{ secrets.GITHUB_TOKEN }} + clean: true From 961fa56dbf9e86cce21eced3204fa33d60fc793f Mon Sep 17 00:00:00 2001 From: Suejin Kim Date: Thu, 11 Jul 2024 07:07:56 -0400 Subject: [PATCH 16/64] Update webpack.yml --- .github/workflows/webpack.yml | 85 ++++++++++++----------------------- 1 file changed, 29 insertions(+), 56 deletions(-) diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml index e0ca37a..f411e87 100644 --- a/.github/workflows/webpack.yml +++ b/.github/workflows/webpack.yml @@ -1,4 +1,4 @@ -name: NodeJS with Webpack +name: Build and Deploy on: push: @@ -6,59 +6,32 @@ on: pull_request: branches: [ "develop" ] -jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [14.x, 16.x, 18.x] - - steps: - - uses: actions/checkout@v4 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - - - name: Build - run: | - npm install - npx webpack - - deploy: - needs: build +permissions: + contents: write - permissions: - contents: write - pages: write - id-token: write - - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: 16 - - - name: Install dependencies and build - run: | - npm install - npx webpack - - - name: Deploy to GitHub Pages - id: deployment - uses: JamesIves/github-pages-deploy-action@v4.4.3 - with: - branch: gh-pages - folder: dist - token: ${{ secrets.GITHUB_TOKEN }} - clean: true +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + + - name: Install dependencies + run: npm install + + - name: Build the project + run: npm run build + + - name: Deploy to GitHub Pages + if: github.ref == 'refs/heads/develop' + uses: JamesIves/github-pages-deploy-action@v4.4.3 + with: + branch: gh-pages + folder: dist + token: ${{ secrets.GITHUB_TOKEN }} + clean: true From d20928d85668eb449ba9d772a86c72b5a6a51060 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 11 Jul 2024 11:22:13 -0400 Subject: [PATCH 17/64] update home page content --- src/content/home.md | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/content/home.md b/src/content/home.md index 2e86676..f1365aa 100644 --- a/src/content/home.md +++ b/src/content/home.md @@ -4,27 +4,17 @@ September 24 - 27, 2024 | Kansas City, MO -KNIT 9 will take place September 24 - 27, 2024 in Kansas City, MO. The event is hosted by the [San Diego Supercomputer Center](https://www.sdsc.edu/) and co-located with the [Fifth National Research Platform (5NRP)](https://nationalresearchplatform.org/) Workshop. It will be the first workshop since [FABRIC](https://fabric-testbed.net) entered full operations. +KNIT 9, the next FABRIC Community Workshop, will take place September 24, 2024 in Kansas City, MO, and will be co-located with the MERIF Workshop. The workshop will include small-group, hands-on FABRIC tutorial sessions and advanced training topics. During the event, experimenters across multiple science domains will highlight their use of FABRIC to push forward compelling experiments. The FABRIC team will set the stage for the future of FABRIC and solicit feedback from fellow participants during talks and open mic sessions. -The last day to register is _March 1, 2024_. +The last day to register is _Monday, September 2, 2024_. Previous KNIT attendees and students are eligible to receive discounted pricing. See what [travel accommodations](/travel) are available, and [register now](/register)! - - ---- - -## What to Expect at KNIT 9? - -We are excited to announce that FABRIC attendees will have the privilege to attend the NRP keynote about the NAIRR Pilot, given by Dr. Katie Antypas from the NSF Office of Advanced Cyberinfrastructure. Additional sessions include FABRIC keynotes from kc claffy and Arpit Gupta and an FPGA demo / tutorial led by Nik Sultana. We'll plan to share more information about our agenda in the coming weeks. - -The workshop will include small-group, hands-on FABRIC tutorial sessions and advanced training topics. During the event, experimenters across multiple science domains will highlight their use of FABRIC to push forward compelling experiments. The FABRIC team will set the stage for the future of FABRIC and solicit feedback from fellow participants during talks and open mic sessions. Additionally, the team will host an information session for users interested in becoming FABRIC Ambassadors. Attendees will get the chance to explore what FABRIC has to offer, connect with the FABRIC community, and provide feedback to the FABRIC team. - -During the week, FABRIC and NRP will co-host two events — a demo night and a social program — giving attendees from both workshops a chance to connect and create pathways for collaboration. Additionally, attendees will have the chance to hear keynotes and plenary discussions built around the interests of both FABRIC users and NRP members. - +
+
##### Funding Details From f750686071217d8534a24d5aaf26d42e6841fa57 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 11 Jul 2024 11:22:22 -0400 Subject: [PATCH 18/64] add button group css class --- src/theme/base.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/theme/base.css b/src/theme/base.css index 0a8dfc4..0ad38b7 100644 --- a/src/theme/base.css +++ b/src/theme/base.css @@ -38,3 +38,8 @@ main { ); background-attachment: fixed; } + +.button-container { + display: flex; + justify-content: center; +} \ No newline at end of file From 9edd62c11e67fdcbf29f6a92038ce52d459c08db Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 11 Jul 2024 11:22:36 -0400 Subject: [PATCH 19/64] update content --- src/content/cfa.md | 28 ++++++++++++---------------- src/content/registration.md | 10 ++++++---- src/content/travel.md | 16 ++++++++++++++-- 3 files changed, 32 insertions(+), 22 deletions(-) diff --git a/src/content/cfa.md b/src/content/cfa.md index 0eee05d..cef8b9e 100644 --- a/src/content/cfa.md +++ b/src/content/cfa.md @@ -1,25 +1,21 @@ # Calls for Action -## Calls for Demos -Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. - -Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. - - - -## Calls for Tutorials -Incididunt id aliquip cillum in aliqua quis qui mollit exercitation in laborum. Nisi in dolore occaecat minim cillum dolor ut cupidatat. Lorem ipsum esse consectetur proident dolor consequat duis sed duis magna ullamco aliquip ut ut reprehenderit minim aliqua laborum proident laborum. - -Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. +## Calls for Presentations +Call for Lightning Talks - +KNIT9 attendees have the opportunity to present lightning talks on the following topics: +1. Enabling experimentation in various science domains +2. Getting started with FABRIC -- Unique features, useful tricks, sharable services +3. Experiments across FABRIC and other testbeds +4. Propose a compelling new topic -## Calls for Presentations -In sit magna pariatur laborum id cillum excepteur nulla tempor occaecat fugiat dolor ut quis duis do in enim. Magna et enim velit in sed officia ut ut ut voluptate. +These talks should show active FABRIC experiment views and results. For planned experiments, we encourage presenting planned topology and resources (FABRIC and other) as specific as possible. -Incididunt id aliquip cillum in aliqua quis qui mollit exercitation in laborum. Nisi in dolore occaecat minim cillum dolor ut cupidatat. Lorem ipsum esse consectetur proident dolor consequat duis sed duis magna ullamco aliquip ut ut reprehenderit minim aliqua laborum proident laborum. +Submissions are due July 15 via our [submission form](https://docs.google.com/forms/d/1x-JXFHXTNgN6-wkqcoBcnFNAvkPdRSCIrX_poPTXazw/viewform?edit_requested=true). - +
+ +
For more questions, email [Chelsea Davis](mailto:cdavis@renci.org) \ No newline at end of file diff --git a/src/content/registration.md b/src/content/registration.md index 30e8447..6bfba58 100644 --- a/src/content/registration.md +++ b/src/content/registration.md @@ -7,15 +7,17 @@ ## Where -San Diego Supercomputer Center, UC San Diego -9836 Hopkins Drive, La Jolla CA 92093 - +Kansas City, MO ## Cost - **Full registration** - - Early Bird: $200 (ends July. 31, 2024) + - Early Bird: $200 (ends July 31, 2024) - Regular: $300 - **Streaming pass**: $50 - **Student**: $100 - **Previous KNIT attendee**: $150 + +
+ +
\ No newline at end of file diff --git a/src/content/travel.md b/src/content/travel.md index 3c27a74..da2fedc 100644 --- a/src/content/travel.md +++ b/src/content/travel.md @@ -10,10 +10,22 @@ September 4 is the last day to reserve your room as part of the hotel block. Our Reservations can be made at the [hotel website](https://www.marriott.com/event-reservations/reservation-link.mi?id=1704930566970&key=GRP&app=resvlink). +
+
## Travel Stipends -Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. +Travel grant applications will be evaluated on there ability to increase the diversity of the KNIT conference through ... - \ No newline at end of file +1. A wide range of institutions and organizations, +2. Providing opportunities for attendees to contribute ideas, share expertise, and receive training, and +3. The applicants ability to stimulate successful FABRIC experiments that can lead to important scientific impacts in a diverse range of science domains. + +Important Note: In order to receive travel grant reimbursements, you are required to serve as an active note taker during the FABRIC KNIT Workshop sessions and fill out a feedback survey provided after the workshop. Should you be awarded, you will be given additional instructions for your note taking assignment. + +Applications are due July 1 via our [application form](https://docs.google.com/forms/d/e/1FAIpQLSfxRFxaMFc5ZiPyg94vRhHtHUdDb-8I_qlxaZwXxYZO4SpzzQ/viewform). + +
+ +
\ No newline at end of file From 5bd010cf8f53fb65f5851d1b1f7fa4ec5ef3a94a Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 11 Jul 2024 11:22:44 -0400 Subject: [PATCH 20/64] add ordered list to markdown mapping --- src/components/markdown/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/markdown/index.js b/src/components/markdown/index.js index 9c58b0b..a301316 100644 --- a/src/components/markdown/index.js +++ b/src/components/markdown/index.js @@ -4,7 +4,7 @@ import rehypeRaw from 'rehype-raw' import { hr } from './hr' import { a } from './link' -import { ul, li } from './list' +import { ul, ol, li } from './list' import { pre } from './pre' import { button } from './button' import * as typography from './typography' @@ -21,7 +21,7 @@ const componentMap = { a, hr, pre, - ul, li, + ul, ol, li, ...typography, button, } From 2516a15b745f98e0dc1af0fe5f3e87a400178699 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 11 Jul 2024 11:55:59 -0400 Subject: [PATCH 21/64] add basename /knit-website to production deployment --- src/index.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 983260d..122bd44 100644 --- a/src/index.js +++ b/src/index.js @@ -9,7 +9,16 @@ const root = createRoot(container) const ProvisionedApp = () => ( - + From d4640a6e49f0a140685831673565c45e035a9924 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 11 Jul 2024 21:33:01 -0400 Subject: [PATCH 22/64] add button container class on travel page --- src/content/travel.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/travel.md b/src/content/travel.md index da2fedc..c8ea940 100644 --- a/src/content/travel.md +++ b/src/content/travel.md @@ -26,6 +26,6 @@ Important Note: In order to receive travel grant reimbursements, you are require Applications are due July 1 via our [application form](https://docs.google.com/forms/d/e/1FAIpQLSfxRFxaMFc5ZiPyg94vRhHtHUdDb-8I_qlxaZwXxYZO4SpzzQ/viewform). -
+
\ No newline at end of file From 566214f6fcbe0ecc0bd0a697b38aa680c6bd8562 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 11 Jul 2024 21:33:20 -0400 Subject: [PATCH 23/64] update contrastText color in theme --- src/theme/palette.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/theme/palette.js b/src/theme/palette.js index 5eea668..1e6e8d8 100644 --- a/src/theme/palette.js +++ b/src/theme/palette.js @@ -14,7 +14,7 @@ export const palette = { main: '#47aae1', light: '#93e1f1', dark: '#2e7197', - contrastText: 'rgba(0, 0, 0, 0.87)', + contrastText: 'rgba(255, 255, 255, 0.87)', solidBg: 'var(--knit-palette-primary-300)', solidActiveBg: 'var(--knit-palette-primary-300)', From 2cfdb838fc84c490e848b25759270cdc461a1a36 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 11 Jul 2024 21:33:41 -0400 Subject: [PATCH 24/64] customize mui button at theme component level --- src/theme/components.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/theme/components.js b/src/theme/components.js index 5f28981..1bc9e32 100644 --- a/src/theme/components.js +++ b/src/theme/components.js @@ -41,4 +41,20 @@ export const components = { }), }, }, + JoyButton: { + styleOverrides: { + root: ({ ownerState, theme }) => ({ + ...(ownerState.color === 'primary' && { + backgroundColor: theme.palette.primary[500] , + color: theme.palette.primary.contrastText, + fontWeight: 400, + ':hover': { + backgroundColor: theme.palette.primary[700] , + }, + margin: '0 1rem' + }), + }), + }, + }, + } From 6a62d74fca9f7d5d05e57f5f880fd53f2da5cb52 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 11 Jul 2024 21:34:10 -0400 Subject: [PATCH 25/64] update brand in hero/header to use numberless knit logo --- src/components/brand.js | 14 +++++++------- src/images/knit-logo-numberless.png | Bin 0 -> 53793 bytes 2 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 src/images/knit-logo-numberless.png diff --git a/src/components/brand.js b/src/components/brand.js index 0c00bc0..d366f05 100644 --- a/src/components/brand.js +++ b/src/components/brand.js @@ -1,31 +1,31 @@ import PropTypes from 'prop-types' import { Stack, Typography } from '@mui/joy' import { Link } from '@components/link' -import fabricLogo from '@images/fabric-logo.png' +import numberlessKnitLogo from '@images/knit-logo-numberless.png' export const Brand = () => { return ( - - + 2024 diff --git a/src/images/knit-logo-numberless.png b/src/images/knit-logo-numberless.png new file mode 100644 index 0000000000000000000000000000000000000000..ba98bce0a11e2d07126f529e6dce34cb24c9f51b GIT binary patch literal 53793 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 literal 0 HcmV?d00001 From ec90f2e1ac6759f40db842d28dbb36e7d88c9f8b Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 11 Jul 2024 22:52:46 -0400 Subject: [PATCH 26/64] update text for cfa button on home page --- src/content/home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/home.md b/src/content/home.md index f1365aa..47edd49 100644 --- a/src/content/home.md +++ b/src/content/home.md @@ -13,7 +13,7 @@ and [register now](/register)!
- +
##### Funding Details From 4228067b73ddba29dee070ab7ef6b4f428d66c3e Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 11:28:35 -0400 Subject: [PATCH 27/64] update mobile menu logo and colors --- src/components/menu/drawer-menu.js | 7 ++++--- src/images/knit-logo-numberless-dark.png | Bin 0 -> 54722 bytes 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 src/images/knit-logo-numberless-dark.png diff --git a/src/components/menu/drawer-menu.js b/src/components/menu/drawer-menu.js index b706ac2..825fe3b 100644 --- a/src/components/menu/drawer-menu.js +++ b/src/components/menu/drawer-menu.js @@ -4,6 +4,7 @@ import { Menu as MenuIcon } from 'react-feather' import { Link } from '@components/link' import { KnitLogo } from '@components/brand' import { menuPropTypes } from './menu' +import numberlessKnitLogo from '@images/knit-logo-numberless-dark.png' // @@ -31,7 +32,7 @@ export const DrawerMenu = ({ options = [] }) => { p: 2, }} > - + { backgroundColor: 'transparent', transition: 'background-color 250ms', '&:hover': { - 'backgroundColor': 'var(--knit-palette-primary-100)', + backgroundColor: '#0001', }, }, '.list-item > a': { @@ -68,7 +69,7 @@ export const DrawerMenu = ({ options = [] }) => { textTransform: 'uppercase', }, '[aria-current="page"]': { - 'backgroundColor': 'var(--knit-palette-primary-200)', + backgroundColor: '#0001', }, }} > diff --git a/src/images/knit-logo-numberless-dark.png b/src/images/knit-logo-numberless-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..8a0e74d8c938fa6297b0dc3a78b07029ebf48fc7 GIT binary patch literal 54722 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 WI70h{t$-c&r7$JU2WSPe!2bikIt-@( literal 0 HcmV?d00001 From b549ecdbf752a595457a1b3f059d6783e53784fc Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 11:29:00 -0400 Subject: [PATCH 28/64] allow color customization for link icon --- src/components/link/link-icon.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/link/link-icon.js b/src/components/link/link-icon.js index 7c2fb96..9a699e4 100644 --- a/src/components/link/link-icon.js +++ b/src/components/link/link-icon.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types' -export const LinkIcon = ({ size, children }) => { +export const LinkIcon = ({ size, color, children }) => { return ( { width={ `${ size }px` } height={ `${ size }px` } style={{ marginLeft: '4px' }} - fill="#789" + fill={color || "#789"} >{ children } ) } LinkIcon.propTypes = { size: PropTypes.number.isRequired, + color: PropTypes.string, children: PropTypes.node.isRequired, } -export const ExternalLinkIcon = ({ size = 10 }) => { +export const ExternalLinkIcon = ({ size = 10, color }) => { return ( - + ) @@ -33,6 +34,7 @@ export const ExternalLinkIcon = ({ size = 10 }) => { ExternalLinkIcon.propTypes = { size: PropTypes.number, + color: PropTypes.string, } export const MailtoLinkIcon = ({ size = 12 }) => { From 5fae624c560b0420c17fb5570fed594f6c6f2963 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 12:32:59 -0400 Subject: [PATCH 29/64] update external link buttons --- src/components/link/external-link.js | 32 ++++++++++++++++++++-------- src/components/markdown/button.js | 9 +++++--- src/components/menu/desktop-menu.js | 3 ++- src/theme/components.js | 2 +- 4 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/components/link/external-link.js b/src/components/link/external-link.js index 811e757..8522298 100644 --- a/src/components/link/external-link.js +++ b/src/components/link/external-link.js @@ -1,18 +1,32 @@ import { Fragment } from 'react' import { BaseLinkPropTypes } from './' import { ExternalLinkIcon } from './' -import { Button } from '@mui/joy' +import { Button, Link } from '@mui/joy' -export const ExternalLink = ({ to, children, ...props }) => { +export const ExternalLink = ({ to, children, button, ...props }) => { return ( -
{ children } - + { button ? ( + + ) : ( + + { children } + + + )} ) } diff --git a/src/components/markdown/button.js b/src/components/markdown/button.js index fceb412..e81cfb7 100644 --- a/src/components/markdown/button.js +++ b/src/components/markdown/button.js @@ -1,6 +1,6 @@ import { Button } from '@mui/joy' import { Link } from '@components/link' - +import { ExternalLinkIcon } from '../link' /* eslint-disable-next-line no-unused-vars */ export const button = ({ node, linkto, children }) => { if (typeof children !== 'string') { @@ -12,8 +12,11 @@ export const button = ({ node, linkto, children }) => { return ( + button + size="lg" + >{ children } + ) } diff --git a/src/components/menu/desktop-menu.js b/src/components/menu/desktop-menu.js index 52152e5..7326ce7 100644 --- a/src/components/menu/desktop-menu.js +++ b/src/components/menu/desktop-menu.js @@ -33,9 +33,10 @@ export const DesktopMenu = ({ options = [] }) => { textDecoration: 'none', color: 'var(--knit-palette-primary-600)', textTransform: 'uppercase', + letterSpacing: '0.5px' }, '[aria-current="page"]': { - backgroundColor: 'var(--knit-palette-secondary-light)', + backgroundColor: '#0001', }, }} > diff --git a/src/theme/components.js b/src/theme/components.js index 1bc9e32..e756557 100644 --- a/src/theme/components.js +++ b/src/theme/components.js @@ -51,7 +51,7 @@ export const components = { ':hover': { backgroundColor: theme.palette.primary[700] , }, - margin: '0 1rem' + margin: '0.5rem 1rem' }), }), }, From e8a7093be061e7e8fc48a5772cc3a2a45ee12698 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 12:51:13 -0400 Subject: [PATCH 30/64] darken and increase font weight for navigation text and body text --- src/components/menu/desktop-menu.js | 2 +- src/theme/base.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/menu/desktop-menu.js b/src/components/menu/desktop-menu.js index 7326ce7..b540211 100644 --- a/src/components/menu/desktop-menu.js +++ b/src/components/menu/desktop-menu.js @@ -31,7 +31,7 @@ export const DesktopMenu = ({ options = [] }) => { width: '100%', p: 2, textDecoration: 'none', - color: 'var(--knit-palette-primary-600)', + color: 'var(--knit-palette-primary-900)', textTransform: 'uppercase', letterSpacing: '0.5px' }, diff --git a/src/theme/base.css b/src/theme/base.css index 0ad38b7..92f5ec5 100644 --- a/src/theme/base.css +++ b/src/theme/base.css @@ -7,7 +7,7 @@ body { margin: 0; font-family: "IBM Plex Sans", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - font-weight: 300; + font-weight: 400; font-size: 13pt; } html { From cf170ba3c45fbdee978500c3022bb1b5d342f5e1 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 13:09:36 -0400 Subject: [PATCH 31/64] update hotel block button url --- src/content/travel.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/travel.md b/src/content/travel.md index c8ea940..6866a93 100644 --- a/src/content/travel.md +++ b/src/content/travel.md @@ -11,7 +11,7 @@ September 4 is the last day to reserve your room as part of the hotel block. Our Reservations can be made at the [hotel website](https://www.marriott.com/event-reservations/reservation-link.mi?id=1704930566970&key=GRP&app=resvlink).
- +
## Travel Stipends From 670d9df26f335c276996ed0dd75743e360d2d926 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 16:34:41 -0400 Subject: [PATCH 32/64] add homepage field to package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index b3bdb32..3991d85 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "private": "true", + "homepage": "https://fabric-testbed.github.io/knit-website/", "scripts": { "start": "SERVE=true webpack serve", "watch": "webpack --watch", From f04ae27859e91db5b3ff44d4b42cf0617aadda6f Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 16:35:14 -0400 Subject: [PATCH 33/64] update travel stipend deadline --- src/content/travel.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/travel.md b/src/content/travel.md index 6866a93..63de3dd 100644 --- a/src/content/travel.md +++ b/src/content/travel.md @@ -24,7 +24,7 @@ Travel grant applications will be evaluated on there ability to increase the div Important Note: In order to receive travel grant reimbursements, you are required to serve as an active note taker during the FABRIC KNIT Workshop sessions and fill out a feedback survey provided after the workshop. Should you be awarded, you will be given additional instructions for your note taking assignment. -Applications are due July 1 via our [application form](https://docs.google.com/forms/d/e/1FAIpQLSfxRFxaMFc5ZiPyg94vRhHtHUdDb-8I_qlxaZwXxYZO4SpzzQ/viewform). +Applications are due July 15 via our [application form](https://docs.google.com/forms/d/e/1FAIpQLSfxRFxaMFc5ZiPyg94vRhHtHUdDb-8I_qlxaZwXxYZO4SpzzQ/viewform).
From 3e40271f85457a762087b6ce41c5d814f280cd5e Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 16:40:34 -0400 Subject: [PATCH 34/64] fix typo on hotel address --- src/content/travel.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/travel.md b/src/content/travel.md index 63de3dd..5d6d52a 100644 --- a/src/content/travel.md +++ b/src/content/travel.md @@ -6,7 +6,7 @@ September 4 is the last day to reserve your room as part of the hotel block. Our > Residence Inn -> 4601 Broadwas, Kansas City, MO 64112 +> 4601 Broadway Blvd, Kansas City, MO 64112 Reservations can be made at the [hotel website](https://www.marriott.com/event-reservations/reservation-link.mi?id=1704930566970&key=GRP&app=resvlink). From fa3fe6821c1be89234df99dbae628602ef1b26fb Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 16:40:45 -0400 Subject: [PATCH 35/64] make external button links open in a new tab --- src/components/link/external-link.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/link/external-link.js b/src/components/link/external-link.js index 8522298..af1c493 100644 --- a/src/components/link/external-link.js +++ b/src/components/link/external-link.js @@ -12,6 +12,8 @@ export const ExternalLink = ({ to, children, button, ...props }) => { href={to} endDecorator={ } size="lg" + target="_blank" + rel="noopener noreferrer" > {children} From 98dc76d1c9e91ad9db634f59e823f437809fd52e Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 16:40:55 -0400 Subject: [PATCH 36/64] fix props on buttons --- src/content/cfa.md | 2 +- src/content/home.md | 4 ++-- src/content/registration.md | 2 +- src/content/travel.md | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/content/cfa.md b/src/content/cfa.md index cef8b9e..e06c7d7 100644 --- a/src/content/cfa.md +++ b/src/content/cfa.md @@ -15,7 +15,7 @@ These talks should show active FABRIC experiment views and results. For planned Submissions are due July 15 via our [submission form](https://docs.google.com/forms/d/1x-JXFHXTNgN6-wkqcoBcnFNAvkPdRSCIrX_poPTXazw/viewform?edit_requested=true).
- +
For more questions, email [Chelsea Davis](mailto:cdavis@renci.org) \ No newline at end of file diff --git a/src/content/home.md b/src/content/home.md index 47edd49..0395bef 100644 --- a/src/content/home.md +++ b/src/content/home.md @@ -12,8 +12,8 @@ See what [travel accommodations](/travel) are available, and [register now](/register)!
- - + +
##### Funding Details diff --git a/src/content/registration.md b/src/content/registration.md index 6bfba58..466e9ce 100644 --- a/src/content/registration.md +++ b/src/content/registration.md @@ -19,5 +19,5 @@ Kansas City, MO - **Previous KNIT attendee**: $150
- +
\ No newline at end of file diff --git a/src/content/travel.md b/src/content/travel.md index 5d6d52a..5432b58 100644 --- a/src/content/travel.md +++ b/src/content/travel.md @@ -8,10 +8,10 @@ September 4 is the last day to reserve your room as part of the hotel block. Our > 4601 Broadway Blvd, Kansas City, MO 64112 -Reservations can be made at the [hotel website](https://www.marriott.com/event-reservations/reservation-link.mi?id=1704930566970&key=GRP&app=resvlink). +Reservations can be made at the [hotel website](https://www.marriott.com/event-reservations/reservation-link.mi?id=1717098427388&key=GRP&app=resvlink).
- +
## Travel Stipends @@ -27,5 +27,5 @@ Important Note: In order to receive travel grant reimbursements, you are require Applications are due July 15 via our [application form](https://docs.google.com/forms/d/e/1FAIpQLSfxRFxaMFc5ZiPyg94vRhHtHUdDb-8I_qlxaZwXxYZO4SpzzQ/viewform).
- +
\ No newline at end of file From deca39252335f1097d56b57eb8b21d71afe331b3 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 16:43:48 -0400 Subject: [PATCH 37/64] update github action to run on push to main --- .github/workflows/webpack.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml index f411e87..ce32dd2 100644 --- a/.github/workflows/webpack.yml +++ b/.github/workflows/webpack.yml @@ -1,10 +1,8 @@ name: Build and Deploy on: - push: - branches: [ "develop" ] pull_request: - branches: [ "develop" ] + branches: [ "main" ] permissions: contents: write From 295da2983856b4b0cf91120b86375582af1226b7 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 17:00:03 -0400 Subject: [PATCH 38/64] Revert "update github action to run on push to main" This reverts commit deca39252335f1097d56b57eb8b21d71afe331b3. --- .github/workflows/webpack.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml index ce32dd2..f411e87 100644 --- a/.github/workflows/webpack.yml +++ b/.github/workflows/webpack.yml @@ -1,8 +1,10 @@ name: Build and Deploy on: + push: + branches: [ "develop" ] pull_request: - branches: [ "main" ] + branches: [ "develop" ] permissions: contents: write From d97ab8eb107256b925bebc76e3f610ddcd756eb3 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 12 Jul 2024 17:05:29 -0400 Subject: [PATCH 39/64] handla SPA routing for gh pages --- src/404.html | 22 ++++++++++++++++++++++ src/index.html | 13 ++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 src/404.html diff --git a/src/404.html b/src/404.html new file mode 100644 index 0000000..32f9544 --- /dev/null +++ b/src/404.html @@ -0,0 +1,22 @@ + + + + + + + FABRIC KNIT Workshop 404 + + + + + + + + + + + + + diff --git a/src/index.html b/src/index.html index 4272b75..fea7b66 100644 --- a/src/index.html +++ b/src/index.html @@ -6,6 +6,17 @@ FABRIC KNIT Workshop + + +
- \ No newline at end of file + From 0299b9dabf47ba037aba534007f7ef2bcad41e1b Mon Sep 17 00:00:00 2001 From: Matt Watson Date: Sat, 13 Jul 2024 13:21:19 -0400 Subject: [PATCH 40/64] install mdx deps --- package-lock.json | 565 ++++++++++++++++++++++++++++++++++++++-------- package.json | 2 + 2 files changed, 467 insertions(+), 100 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6aaa31c..d45799c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,8 @@ "dependencies": { "@emotion/react": "^11.11.3", "@emotion/styled": "^11.11.0", + "@mdx-js/loader": "^3.0.1", + "@mdx-js/react": "^3.0.1", "@mui/joy": "^5.0.0-beta.27", "core-js": "^3.35.1", "react": "^18.2.0", @@ -3155,7 +3157,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -3169,7 +3170,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -3178,7 +3178,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -3187,7 +3186,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -3196,14 +3194,12 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.22", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", - "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -3220,6 +3216,88 @@ "integrity": "sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==", "dev": true }, + "node_modules/@mdx-js/loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-3.0.1.tgz", + "integrity": "sha512-YbYUt7YyEOdFxhyuCWmLKf5vKhID/hJAojEUnheJk4D8iYVLFQw+BAoBWru/dHGch1omtmZOPstsmKPyBF68Tw==", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "webpack": ">=5" + } + }, + "node_modules/@mdx-js/loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", + "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-to-js": "^2.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", + "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, "node_modules/@mui/base": { "version": "5.0.0-beta.36", "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.36.tgz", @@ -3567,6 +3645,14 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/@types/body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", @@ -3617,7 +3703,6 @@ "version": "8.56.2", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", - "dev": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -3627,7 +3712,6 @@ "version": "3.7.3", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", - "dev": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -3729,8 +3813,7 @@ "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, "node_modules/@types/mdast": { "version": "4.0.3", @@ -3740,6 +3823,11 @@ "@types/unist": "*" } }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==" + }, "node_modules/@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", @@ -3760,8 +3848,7 @@ "node_modules/@types/node": { "version": "17.0.25", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz", - "integrity": "sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==", - "dev": true + "integrity": "sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==" }, "node_modules/@types/node-forge": { "version": "1.3.11", @@ -3883,7 +3970,6 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -3892,26 +3978,22 @@ "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -3921,14 +4003,12 @@ "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -3940,7 +4020,6 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -3949,7 +4028,6 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } @@ -3957,14 +4035,12 @@ "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -3980,7 +4056,6 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -3993,7 +4068,6 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -4005,7 +4079,6 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -4019,7 +4092,6 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" @@ -4072,14 +4144,12 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/accepts": { "version": "1.3.8", @@ -4098,7 +4168,6 @@ "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -4110,7 +4179,6 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, "peerDependencies": { "acorn": "^8" } @@ -4119,7 +4187,6 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -4128,7 +4195,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -4183,7 +4249,6 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, "peerDependencies": { "ajv": "^6.9.1" } @@ -4354,6 +4419,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "bin": { + "astring": "bin/astring" + } + }, "node_modules/asynciterator.prototype": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", @@ -4678,7 +4751,6 @@ "version": "4.22.3", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz", "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==", - "dev": true, "funding": [ { "type": "opencollective", @@ -4709,8 +4781,7 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/bytes": { "version": "3.0.0", @@ -4761,7 +4832,6 @@ "version": "1.0.30001585", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001585.tgz", "integrity": "sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==", - "dev": true, "funding": [ { "type": "opencollective", @@ -4866,7 +4936,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, "engines": { "node": ">=6.0" } @@ -4944,6 +5013,15 @@ "node": ">=6" } }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -5633,8 +5711,7 @@ "node_modules/electron-to-chromium": { "version": "1.4.661", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.661.tgz", - "integrity": "sha512-AFg4wDHSOk5F+zA8aR+SVIOabu7m0e7BiJnigCvPXzIGy731XENw/lmNxTySpVFtkFEy+eyt4oHhh5FF3NjQNw==", - "dev": true + "integrity": "sha512-AFg4wDHSOk5F+zA8aR+SVIOabu7m0e7BiJnigCvPXzIGy731XENw/lmNxTySpVFtkFEy+eyt4oHhh5FF3NjQNw==" }, "node_modules/emojis-list": { "version": "3.0.0", @@ -5658,7 +5735,6 @@ "version": "5.15.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -5801,8 +5877,7 @@ "node_modules/es-module-lexer": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", - "dev": true + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" }, "node_modules/es-set-tostringtag": { "version": "2.0.2", @@ -5848,7 +5923,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, "engines": { "node": ">=6" } @@ -5985,7 +6059,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -5998,7 +6071,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, "engines": { "node": ">=4.0" } @@ -6280,7 +6352,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -6292,11 +6363,37 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, "engines": { "node": ">=4.0" } }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/estree-util-is-identifier-name": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", @@ -6306,6 +6403,49 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -6334,7 +6474,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, "engines": { "node": ">=0.8.x" } @@ -6452,14 +6591,12 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -6918,8 +7055,7 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/globals": { "version": "11.12.0", @@ -6985,8 +7121,7 @@ "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "node_modules/graphemer": { "version": "1.4.0", @@ -7134,6 +7269,46 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree/node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/hast-util-to-estree/node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, "node_modules/hast-util-to-jsx-runtime": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", @@ -7878,6 +8053,14 @@ "node": ">=0.10.0" } }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -8224,8 +8407,7 @@ "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -8299,7 +8481,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, "engines": { "node": ">=6.11.5" } @@ -8392,6 +8573,17 @@ "node": ">=10" } }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/markdown-table": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", @@ -8554,6 +8746,22 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdast-util-mdx-expression": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", @@ -8706,8 +8914,7 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/methods": { "version": "1.1.2", @@ -8906,6 +9113,103 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/micromark-factory-destination": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", @@ -8947,6 +9251,31 @@ "micromark-util-types": "^2.0.0" } }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", + "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, "node_modules/micromark-factory-space": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", @@ -9138,6 +9467,31 @@ } ] }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, "node_modules/micromark-util-html-tag-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", @@ -9289,7 +9643,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -9298,7 +9651,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -9460,8 +9812,7 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/no-case": { "version": "3.0.4", @@ -9485,8 +9836,7 @@ "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -9936,11 +10286,20 @@ "node": ">=8" } }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -10920,7 +11279,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, "engines": { "node": ">=6" } @@ -10961,7 +11319,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -11336,6 +11693,19 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-parse": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", @@ -11536,8 +11906,7 @@ "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/safe-regex-test": { "version": "1.0.3", @@ -11574,7 +11943,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.2.0.tgz", "integrity": "sha512-0zTyLGyDJYd/MBxG1AhJkKa6fpEBds4OQO2ut0w7OYG+ZGhGea09lijvzsqegYSik88zc7cUtIlnnO+/BvD6gQ==", - "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -11665,7 +12033,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, "dependencies": { "randombytes": "^2.1.0" } @@ -11888,7 +12255,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -11898,7 +12264,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -12136,7 +12501,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -12145,7 +12509,6 @@ "version": "5.27.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", - "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -12163,7 +12526,6 @@ "version": "5.3.10", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -12197,7 +12559,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -12206,7 +12567,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -12220,7 +12580,6 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -12234,8 +12593,7 @@ "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "node_modules/text-table": { "version": "0.2.0", @@ -12512,6 +12870,18 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-remove-position": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", @@ -12577,7 +12947,6 @@ "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -12607,7 +12976,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -12707,7 +13075,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -12738,7 +13105,6 @@ "version": "5.90.1", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", - "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", @@ -13055,7 +13421,6 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, "engines": { "node": ">=10.13.0" } diff --git a/package.json b/package.json index b3bdb32..cad8213 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,8 @@ "dependencies": { "@emotion/react": "^11.11.3", "@emotion/styled": "^11.11.0", + "@mdx-js/loader": "^3.0.1", + "@mdx-js/react": "^3.0.1", "@mui/joy": "^5.0.0-beta.27", "core-js": "^3.35.1", "react": "^18.2.0", From 9faf79e1a60ad893eb26e2b1a63c921914e892e7 Mon Sep 17 00:00:00 2001 From: Matt Watson Date: Sat, 13 Jul 2024 13:21:49 -0400 Subject: [PATCH 41/64] tell webpack about mdx files --- webpack.config.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/webpack.config.js b/webpack.config.js index 951b4ee..5647e2d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -67,6 +67,13 @@ module.exports = { loader: 'babel-loader' } }, + { + test: /\.mdx$/, + use: [ + { loader: 'babel-loader', options: {} }, + { loader: '@mdx-js/loader', options: {} }, + ] + }, { test: /\.md$/, use: [ From 2aacb55426f0eab216d0f4d004f1fb00a7dc960d Mon Sep 17 00:00:00 2001 From: Matt Watson Date: Sat, 13 Jul 2024 13:22:19 -0400 Subject: [PATCH 42/64] setup and use react in some mdx file --- src/content/cfa.md | 25 ------------------------- src/content/cfp.mdx | 9 +++++++++ src/index.js | 5 ++++- src/views/cfa.js | 5 ++--- 4 files changed, 15 insertions(+), 29 deletions(-) delete mode 100644 src/content/cfa.md create mode 100644 src/content/cfp.mdx diff --git a/src/content/cfa.md b/src/content/cfa.md deleted file mode 100644 index 0eee05d..0000000 --- a/src/content/cfa.md +++ /dev/null @@ -1,25 +0,0 @@ -# Calls for Action - -## Calls for Demos -Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. - -Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. - - - -## Calls for Tutorials -Incididunt id aliquip cillum in aliqua quis qui mollit exercitation in laborum. Nisi in dolore occaecat minim cillum dolor ut cupidatat. Lorem ipsum esse consectetur proident dolor consequat duis sed duis magna ullamco aliquip ut ut reprehenderit minim aliqua laborum proident laborum. - -Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. - - - - -## Calls for Presentations -In sit magna pariatur laborum id cillum excepteur nulla tempor occaecat fugiat dolor ut quis duis do in enim. Magna et enim velit in sed officia ut ut ut voluptate. - -Incididunt id aliquip cillum in aliqua quis qui mollit exercitation in laborum. Nisi in dolore occaecat minim cillum dolor ut cupidatat. Lorem ipsum esse consectetur proident dolor consequat duis sed duis magna ullamco aliquip ut ut reprehenderit minim aliqua laborum proident laborum. - - - -For more questions, email [Chelsea Davis](mailto:cdavis@renci.org) \ No newline at end of file diff --git a/src/content/cfp.mdx b/src/content/cfp.mdx new file mode 100644 index 0000000..c5a6933 --- /dev/null +++ b/src/content/cfp.mdx @@ -0,0 +1,9 @@ +import { Brand } from '@components/brand' + +# Call for Proposals + +Enim voluptate elit ad reprehenderit laborum laborum magna consequat nostrud. Et ut velit velit pariatur incididunt laborum id esse velit duis. Adipisicing aute do proident in cillum duis in dolore tempor ut in officia velit cillum quis. Sint enim sed nulla occaecat quis amet nostrud consequat commodo id irure quis. + + + +Lorem ipsum ullamco irure aliquip elit veniam occaecat adipisicing minim proident commodo occaecat dolor in aliquip sit dolor labore. Incididunt id aliquip cillum in aliqua quis qui mollit exercitation in laborum. Nisi in dolore occaecat minim cillum dolor ut cupidatat. Lorem ipsum esse consectetur proident dolor consequat duis sed duis magna ullamco aliquip ut ut reprehenderit minim aliqua laborum proident laborum. In sit magna pariatur laborum id cillum excepteur nulla tempor occaecat fugiat dolor ut quis duis do in enim. Magna et enim velit in sed officia ut ut ut voluptate. diff --git a/src/index.js b/src/index.js index 983260d..48df8f7 100644 --- a/src/index.js +++ b/src/index.js @@ -9,7 +9,10 @@ const root = createRoot(container) const ProvisionedApp = () => ( - + diff --git a/src/views/cfa.js b/src/views/cfa.js index 3c9ddd2..48319cc 100644 --- a/src/views/cfa.js +++ b/src/views/cfa.js @@ -1,12 +1,11 @@ -import cfa from '@content/cfa.md' +import Cfp from '@content/cfp.mdx' import { Page } from '@components/layout' -import { Markdown } from '@components/markdown' export const CfaView = () => { return ( - { cfa } + ) } \ No newline at end of file From 9bce2eeccc6500868336e421d7aa1aa5bacded83 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 18 Jul 2024 13:16:46 -0400 Subject: [PATCH 43/64] copy 404.html file into build/dist folder --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3991d85..b890321 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "scripts": { "start": "SERVE=true webpack serve", "watch": "webpack --watch", - "build": "NODE_ENV=production webpack", + "build": "NODE_ENV=production webpack && cp ./src/404.html ./dist/404.html", "build-dev": "webpack", "lint": "eslint ./src/index.js ./src/components/**/*.js", "lint:fix": "eslint --fix ./src/index.js ./src/components/**/*.js", From f12eebb15ba89cbbed20e5d6515292f7dd68939c Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 19 Jul 2024 13:03:42 -0400 Subject: [PATCH 44/64] fix "register now" link url typo --- src/content/home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/home.md b/src/content/home.md index 0395bef..b77150a 100644 --- a/src/content/home.md +++ b/src/content/home.md @@ -9,7 +9,7 @@ KNIT 9, the next FABRIC Community Workshop, will take place September 24, 2024 i The last day to register is _Monday, September 2, 2024_. Previous KNIT attendees and students are eligible to receive discounted pricing. See what [travel accommodations](/travel) are available, -and [register now](/register)! +and [register now](/registration)!
From a8713fcf9e42b851c29f4443dba69806233494a9 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 19 Jul 2024 13:03:58 -0400 Subject: [PATCH 45/64] remove travel application button and indicate form is closed --- src/content/travel.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/content/travel.md b/src/content/travel.md index 5432b58..ea8422c 100644 --- a/src/content/travel.md +++ b/src/content/travel.md @@ -24,8 +24,4 @@ Travel grant applications will be evaluated on there ability to increase the div Important Note: In order to receive travel grant reimbursements, you are required to serve as an active note taker during the FABRIC KNIT Workshop sessions and fill out a feedback survey provided after the workshop. Should you be awarded, you will be given additional instructions for your note taking assignment. -Applications are due July 15 via our [application form](https://docs.google.com/forms/d/e/1FAIpQLSfxRFxaMFc5ZiPyg94vRhHtHUdDb-8I_qlxaZwXxYZO4SpzzQ/viewform). - -
- -
\ No newline at end of file +***Application form is now closed.*** \ No newline at end of file From b2e51ddb087d124d5feaaa212c62051ee8d58d9d Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 26 Jul 2024 09:27:38 -0400 Subject: [PATCH 46/64] remove unneeded imports --- src/app.js | 20 +------------------- src/components/layout/footer.js | 3 +-- src/components/link/link.js | 1 - src/components/markdown/button.js | 5 ++--- src/components/menu/drawer-menu.js | 1 - 5 files changed, 4 insertions(+), 26 deletions(-) diff --git a/src/app.js b/src/app.js index 2deba80..733f084 100644 --- a/src/app.js +++ b/src/app.js @@ -7,10 +7,7 @@ import { MarkdownView, NotFoundView, RegistrationView, - SpeakersView, TravelView, - FaqsView, - AgendaView } from './views' import { Header, Footer } from '@components/layout' @@ -26,11 +23,6 @@ const menuOptions = [ label: 'Registration', view: , }, - // { - // path: '/agenda', - // label: 'Agenda', - // view: , - // }, { path: '/travel', label: 'Travel Info', @@ -40,17 +32,7 @@ const menuOptions = [ path: '/cfa', label: 'Calls for Action', view: , - }, - // { - // path: '/speakers', - // label: 'Speakers', - // view: , - // }, - // { - // path: '/faqs', - // label: 'FAQs', - // view: , - // }, + } ] // diff --git a/src/components/layout/footer.js b/src/components/layout/footer.js index 19d67b8..ff5d33c 100644 --- a/src/components/layout/footer.js +++ b/src/components/layout/footer.js @@ -1,9 +1,8 @@ -import { Divider, List, ListItem, Sheet, Stack, Typography } from '@mui/joy' +import { List, ListItem, Sheet, Stack, Typography } from '@mui/joy' import { KnitLogo } from '@components/brand' import { Link } from '@components/link' import { Container, - SIZES, } from '@components/layout' export const Footer = () => { diff --git a/src/components/link/link.js b/src/components/link/link.js index ad89c3b..ebe2892 100644 --- a/src/components/link/link.js +++ b/src/components/link/link.js @@ -1,4 +1,3 @@ -import { Fragment } from 'react' import PropTypes from 'prop-types' import { Link as ReactLink } from 'react-router-dom' import { NavLink as ReactNavLink } from 'react-router-dom' diff --git a/src/components/markdown/button.js b/src/components/markdown/button.js index e81cfb7..04531cd 100644 --- a/src/components/markdown/button.js +++ b/src/components/markdown/button.js @@ -1,8 +1,7 @@ import { Button } from '@mui/joy' import { Link } from '@components/link' -import { ExternalLinkIcon } from '../link' -/* eslint-disable-next-line no-unused-vars */ -export const button = ({ node, linkto, children }) => { + +export const button = ({ linkto, children }) => { if (typeof children !== 'string') { return } diff --git a/src/components/menu/drawer-menu.js b/src/components/menu/drawer-menu.js index 825fe3b..36310cd 100644 --- a/src/components/menu/drawer-menu.js +++ b/src/components/menu/drawer-menu.js @@ -2,7 +2,6 @@ import { Fragment, useState } from 'react' import { Box, Divider, Drawer, IconButton, ModalClose, Stack } from '@mui/joy' import { Menu as MenuIcon } from 'react-feather' import { Link } from '@components/link' -import { KnitLogo } from '@components/brand' import { menuPropTypes } from './menu' import numberlessKnitLogo from '@images/knit-logo-numberless-dark.png' From d00f567451c3f1e7f39f18ab44113e50a66b093a Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 26 Jul 2024 09:27:45 -0400 Subject: [PATCH 47/64] update registration costs --- src/content/registration.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/registration.md b/src/content/registration.md index 466e9ce..75c70d9 100644 --- a/src/content/registration.md +++ b/src/content/registration.md @@ -14,9 +14,9 @@ Kansas City, MO - **Full registration** - Early Bird: $200 (ends July 31, 2024) - Regular: $300 -- **Streaming pass**: $50 -- **Student**: $100 -- **Previous KNIT attendee**: $150 +- **Full KNIT-Only Registration**: $70 + +*Please also stay the rest of the week for the MERIF Workshop. You can find the pricing information for MERIF on the registration link below.*
From 1c7fb7fe0e0c592935348b04d2985d53ea8becee Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Fri, 26 Jul 2024 11:03:54 -0400 Subject: [PATCH 48/64] remove unneeded registration cost lines --- src/content/registration.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/content/registration.md b/src/content/registration.md index 75c70d9..697e371 100644 --- a/src/content/registration.md +++ b/src/content/registration.md @@ -11,9 +11,6 @@ Kansas City, MO ## Cost -- **Full registration** - - Early Bird: $200 (ends July 31, 2024) - - Regular: $300 - **Full KNIT-Only Registration**: $70 *Please also stay the rest of the week for the MERIF Workshop. You can find the pricing information for MERIF on the registration link below.* From 2ad57c77f9a721591df298c9a6392463058fdf8e Mon Sep 17 00:00:00 2001 From: Matt Watson Date: Thu, 1 Aug 2024 14:39:58 -0400 Subject: [PATCH 49/64] remove gh-pages support remove base route for gh-pages remove gh-pages-specific script --- src/index.html | 11 ----------- src/index.js | 11 +---------- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/src/index.html b/src/index.html index fea7b66..e4d9def 100644 --- a/src/index.html +++ b/src/index.html @@ -6,17 +6,6 @@ FABRIC KNIT Workshop - - -
diff --git a/src/index.js b/src/index.js index 122bd44..983260d 100644 --- a/src/index.js +++ b/src/index.js @@ -9,16 +9,7 @@ const root = createRoot(container) const ProvisionedApp = () => ( - + From 28eda032976f63e11ccaf180d1f4d61eac5114cb Mon Sep 17 00:00:00 2001 From: Suejin Kim Date: Wed, 7 Aug 2024 15:14:01 -0400 Subject: [PATCH 50/64] Update github action to run on changes to main branch --- .github/workflows/webpack.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml index f411e87..09a77db 100644 --- a/.github/workflows/webpack.yml +++ b/.github/workflows/webpack.yml @@ -2,9 +2,9 @@ name: Build and Deploy on: push: - branches: [ "develop" ] + branches: [ "main" ] pull_request: - branches: [ "develop" ] + branches: [ "main" ] permissions: contents: write From 035b8c8cf3f585430e2a9cdf2d53e8e4758bb74e Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Wed, 14 Aug 2024 09:21:00 -0400 Subject: [PATCH 51/64] integrate componentMap into MDX components --- src/components/button.js | 27 +++++++++++ src/components/markdown/button.js | 21 --------- src/components/markdown/index.js | 45 +++---------------- src/components/markdown/markdown.js | 37 +++++++++++++++ src/content/cfp.mdx | 4 +- src/content/{home.md => home.mdx} | 8 ++-- .../{registration.md => registration.mdx} | 4 +- src/content/{travel.md => travel.mdx} | 4 +- src/views/cfa.js | 3 +- src/views/home.js | 6 +-- src/views/registration.js | 6 +-- src/views/travel.js | 6 +-- 12 files changed, 96 insertions(+), 75 deletions(-) create mode 100644 src/components/button.js delete mode 100644 src/components/markdown/button.js create mode 100644 src/components/markdown/markdown.js rename src/content/{home.md => home.mdx} (82%) rename src/content/{registration.md => registration.mdx} (71%) rename src/content/{travel.md => travel.mdx} (91%) diff --git a/src/components/button.js b/src/components/button.js new file mode 100644 index 0000000..c943cb7 --- /dev/null +++ b/src/components/button.js @@ -0,0 +1,27 @@ +import PropTypes from 'prop-types' +import { Button as MUIButton} from '@mui/joy' +import { Link } from '@components/link' + +export const Button = ({ linkto, children }) => { + if (typeof children !== 'string') { + return { children } + } + if (!linkto) { + return { children } + } + + return ( + { children } + + ) +} + +Button.propTypes = { + linkto: PropTypes.string, + children: PropTypes.node, +} \ No newline at end of file diff --git a/src/components/markdown/button.js b/src/components/markdown/button.js deleted file mode 100644 index 04531cd..0000000 --- a/src/components/markdown/button.js +++ /dev/null @@ -1,21 +0,0 @@ -import { Button } from '@mui/joy' -import { Link } from '@components/link' - -export const button = ({ linkto, children }) => { - if (typeof children !== 'string') { - return - } - if (!linkto) { - return - } - - return ( - - ) -} diff --git a/src/components/markdown/index.js b/src/components/markdown/index.js index a301316..c971a18 100644 --- a/src/components/markdown/index.js +++ b/src/components/markdown/index.js @@ -1,38 +1,7 @@ -import ReactMarkdown from 'react-markdown' -import remarkGfm from 'remark-gfm' -import rehypeRaw from 'rehype-raw' - -import { hr } from './hr' -import { a } from './link' -import { ul, ol, li } from './list' -import { pre } from './pre' -import { button } from './button' -import * as typography from './typography' - -/* - * this object defines a map, - * DOM elements -> React components, - * which allows us to map the HTML elements - * that result from our Markdown content - * to the React components used in the rest - * of the application. - */ -const componentMap = { - a, - hr, - pre, - ul, ol, li, - ...typography, - button, -} - -export const Markdown = props => { - return ( - - ) -} +export * from "../button" +export * from "./hr" +export * from "./link" +export * from "./list" +export * from "./markdown" +export * from "./pre" +export * from "./typography" \ No newline at end of file diff --git a/src/components/markdown/markdown.js b/src/components/markdown/markdown.js new file mode 100644 index 0000000..e9b49db --- /dev/null +++ b/src/components/markdown/markdown.js @@ -0,0 +1,37 @@ +import ReactMarkdown from 'react-markdown' +import remarkGfm from 'remark-gfm' +import rehypeRaw from 'rehype-raw' + +import { hr } from './hr' +import { a } from './link' +import { ul, ol, li } from './list' +import { pre } from './pre' +import { button } from '../button' +import * as typography from './typography' + +/* + * this object defines a map, + * DOM elements -> React components, + * which allows us to map the HTML elements + * that result from our Markdown content + * to the React components used in the rest + * of the application. + */ +export const componentMap = { + a, + hr, + pre, + ul, ol, li, + ...typography, +} + +export const Markdown = props => { + return ( + + ) +} diff --git a/src/content/cfp.mdx b/src/content/cfp.mdx index e06c7d7..5f8eb2d 100644 --- a/src/content/cfp.mdx +++ b/src/content/cfp.mdx @@ -1,3 +1,5 @@ +import { Button } from '../components/button' + # Calls for Action ## Calls for Presentations @@ -15,7 +17,7 @@ These talks should show active FABRIC experiment views and results. For planned Submissions are due July 15 via our [submission form](https://docs.google.com/forms/d/1x-JXFHXTNgN6-wkqcoBcnFNAvkPdRSCIrX_poPTXazw/viewform?edit_requested=true).
- +
For more questions, email [Chelsea Davis](mailto:cdavis@renci.org) \ No newline at end of file diff --git a/src/content/home.md b/src/content/home.mdx similarity index 82% rename from src/content/home.md rename to src/content/home.mdx index b77150a..55d85fe 100644 --- a/src/content/home.md +++ b/src/content/home.mdx @@ -1,3 +1,5 @@ +import { Button } from '../components/button' + # KNIT 9 ## Registration is Open! @@ -12,10 +14,10 @@ See what [travel accommodations](/travel) are available, and [register now](/registration)!
- - + +
##### Funding Details -FABRIC is funded by NSF grants CNS-1935966, CNS-2029176, CNS-2029200, CNS-2029235, CNS-2029260, CNS-2029261 and CNS-2330891. +FABRIC is funded by NSF grants CNS-1935966, CNS-2029176, CNS-2029200, CNS-2029235, CNS-2029260, CNS-2029261 and CNS-2330891. \ No newline at end of file diff --git a/src/content/registration.md b/src/content/registration.mdx similarity index 71% rename from src/content/registration.md rename to src/content/registration.mdx index 697e371..3773d9a 100644 --- a/src/content/registration.md +++ b/src/content/registration.mdx @@ -1,3 +1,5 @@ +import { Button } from '../components/button' + # Registration ## When @@ -16,5 +18,5 @@ Kansas City, MO *Please also stay the rest of the week for the MERIF Workshop. You can find the pricing information for MERIF on the registration link below.*
- +
\ No newline at end of file diff --git a/src/content/travel.md b/src/content/travel.mdx similarity index 91% rename from src/content/travel.md rename to src/content/travel.mdx index ea8422c..f72f534 100644 --- a/src/content/travel.md +++ b/src/content/travel.mdx @@ -1,3 +1,5 @@ +import { Button } from '../components/button' + # Travel ## Hotel Block @@ -11,7 +13,7 @@ September 4 is the last day to reserve your room as part of the hotel block. Our Reservations can be made at the [hotel website](https://www.marriott.com/event-reservations/reservation-link.mi?id=1717098427388&key=GRP&app=resvlink).
- +
## Travel Stipends diff --git a/src/views/cfa.js b/src/views/cfa.js index 48319cc..3c55431 100644 --- a/src/views/cfa.js +++ b/src/views/cfa.js @@ -1,11 +1,12 @@ import Cfp from '@content/cfp.mdx' import { Page } from '@components/layout' +import { componentMap } from "@components/markdown" export const CfaView = () => { return ( - + ) } \ No newline at end of file diff --git a/src/views/home.js b/src/views/home.js index 482ef0d..187aeaa 100644 --- a/src/views/home.js +++ b/src/views/home.js @@ -1,7 +1,7 @@ -import content from '@content/home.md' +import Home from '@content/home.mdx' import { Page } from '@components/layout' -import { Markdown } from '@components/markdown' +import { componentMap } from "@components/markdown" export const HomeView = () => { return ( @@ -9,7 +9,7 @@ export const HomeView = () => { title="Home" description="Home of FABRIC's KNIT Worksop" > - { content } + ) } \ No newline at end of file diff --git a/src/views/registration.js b/src/views/registration.js index 628955d..67a1d9e 100644 --- a/src/views/registration.js +++ b/src/views/registration.js @@ -1,7 +1,7 @@ -import registration from '@content/registration.md' +import Registration from '@content/registration.mdx' import { Page } from '@components/layout' -import { Markdown } from '@components/markdown' +import { componentMap } from "@components/markdown" export const RegistrationView = () => { return ( @@ -9,7 +9,7 @@ export const RegistrationView = () => { title="Registration" description="Register for the KNIT workshop" > - { registration } + ) } \ No newline at end of file diff --git a/src/views/travel.js b/src/views/travel.js index 16e1642..37c741a 100644 --- a/src/views/travel.js +++ b/src/views/travel.js @@ -1,7 +1,7 @@ -import travel from '@content/travel.md' +import Travel from '@content/travel.mdx' import { Page } from '@components/layout' -import { Markdown } from '@components/markdown' +import { componentMap } from "@components/markdown" export const TravelView = () => { return ( @@ -9,7 +9,7 @@ export const TravelView = () => { title="Travel" description="View travel and lodging accommodations" > - { travel } + ) } \ No newline at end of file From 9fcd1138b11cbf54d03105a96c16087ef6348929 Mon Sep 17 00:00:00 2001 From: Suejin Kim Date: Thu, 15 Aug 2024 13:27:28 -0400 Subject: [PATCH 52/64] Update README.md with content management --- README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/README.md b/README.md index 14c49da..49346aa 100644 --- a/README.md +++ b/README.md @@ -29,3 +29,33 @@ To spin up a container from your image, use a command such as the following. ``` docker run --rm -p 80:8080 knit-website ``` + +## Content Management + +Content for this site is located in the src directory in a content folder. The content is formatted using mdx, and utilizes [markdown formatting](https://www.markdownguide.org/basic-syntax/). + +```plaintext +. +└── src + ├── content + ├── cfp.mdx + ├── home.mdx + ├── registration.mdx + └── travel.mdx +``` + +To update the content, ensure you are on the `content` branch via the dropdown menu, or, click this [link](https://github.com/fabric-testbed/knit-website/tree/content/src/content)). + +![Screenshot 2024-08-15 at 1 22 19 PM](https://github.com/user-attachments/assets/94b0a507-766d-4dbe-a417-46a65a6ef78c) + +Then, navigate on the github UI to the file you'd like to change. Find the edit icon (pencil) and edit the text directly in the text editor. + +![Screenshot 2024-08-15 at 1 21 22 PM](https://github.com/user-attachments/assets/e7a1c2bb-229b-4143-b3d8-2d66a10ffa55) + +When you're changes are complete, click the "Commit changes ... " button. This will open a dialog box that will prompt you to write a commit message, optional description, email address, and the option to choose one of the following options: + + - Commit directly to the `content` branch + - Create a **new branch** for this commit and start a pull request + +Please select the second option (Create a new branch for this commit and start a pull request). Our team will be notified of the pull request and will review and merge the requested changes. Or, you can contact a developer who can review and merge the changes based on your timeline and needs. + From 215f16bb1491faa6a3a96107da28a68df3794fb6 Mon Sep 17 00:00:00 2001 From: Suejin Kim Date: Thu, 15 Aug 2024 13:30:15 -0400 Subject: [PATCH 53/64] Update README.md --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 49346aa..cf05c3f 100644 --- a/README.md +++ b/README.md @@ -44,13 +44,14 @@ Content for this site is located in the src directory in a content folder. The c └── travel.mdx ``` -To update the content, ensure you are on the `content` branch via the dropdown menu, or, click this [link](https://github.com/fabric-testbed/knit-website/tree/content/src/content)). +To update the content, ensure you are on the `content` branch via the dropdown menu, or, click this [link](https://github.com/fabric-testbed/knit-website/tree/content/src/content). + +![Screenshot 2024-08-15 at 1 21 22 PM](https://github.com/user-attachments/assets/e7a1c2bb-229b-4143-b3d8-2d66a10ffa55) -![Screenshot 2024-08-15 at 1 22 19 PM](https://github.com/user-attachments/assets/94b0a507-766d-4dbe-a417-46a65a6ef78c) Then, navigate on the github UI to the file you'd like to change. Find the edit icon (pencil) and edit the text directly in the text editor. -![Screenshot 2024-08-15 at 1 21 22 PM](https://github.com/user-attachments/assets/e7a1c2bb-229b-4143-b3d8-2d66a10ffa55) +![Screenshot 2024-08-15 at 1 22 19 PM](https://github.com/user-attachments/assets/94b0a507-766d-4dbe-a417-46a65a6ef78c) When you're changes are complete, click the "Commit changes ... " button. This will open a dialog box that will prompt you to write a commit message, optional description, email address, and the option to choose one of the following options: From ced81c914fed838e582f3b9958c83dd5f22c6f24 Mon Sep 17 00:00:00 2001 From: lena-char Date: Thu, 15 Aug 2024 13:57:58 -0400 Subject: [PATCH 54/64] Update cfp.mdx --- src/content/cfp.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/cfp.mdx b/src/content/cfp.mdx index 5f8eb2d..ebbaaa6 100644 --- a/src/content/cfp.mdx +++ b/src/content/cfp.mdx @@ -1,6 +1,6 @@ import { Button } from '../components/button' -# Calls for Action +# Calls for Action ## Calls for Presentations Call for Lightning Talks @@ -20,4 +20,4 @@ Submissions are due July 15 via our [submission form](https://docs.google.com/f
-For more questions, email [Chelsea Davis](mailto:cdavis@renci.org) \ No newline at end of file +For more questions, email [Chelsea Davis](mailto:cdavis@renci.org) From 520363dfa53a74b6e9983636d39bce987b9c9d7b Mon Sep 17 00:00:00 2001 From: Suejin Kim Date: Thu, 15 Aug 2024 14:04:02 -0400 Subject: [PATCH 55/64] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index cf05c3f..f19f793 100644 --- a/README.md +++ b/README.md @@ -58,5 +58,4 @@ When you're changes are complete, click the "Commit changes ... " button. This w - Commit directly to the `content` branch - Create a **new branch** for this commit and start a pull request -Please select the second option (Create a new branch for this commit and start a pull request). Our team will be notified of the pull request and will review and merge the requested changes. Or, you can contact a developer who can review and merge the changes based on your timeline and needs. - +Please select the first option (Commit directly to the `content` branch). Our team will be notified of the pull request and will review and merge the requested changes. Or, you can contact a developer who can review and merge the changes based on your timeline and needs. From da6e2965a6e4276dcfd5705912bddb14e3a58c25 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 19 Aug 2024 15:42:49 -0400 Subject: [PATCH 56/64] add agenda page --- src/app.js | 6 ++++++ src/views/agenda.js | 11 +++++++++++ src/views/index.js | 1 + 3 files changed, 18 insertions(+) create mode 100644 src/views/agenda.js diff --git a/src/app.js b/src/app.js index 733f084..8b047e1 100644 --- a/src/app.js +++ b/src/app.js @@ -2,6 +2,7 @@ import { Fragment } from 'react' import { Routes, Route } from 'react-router-dom' import { Menu } from '@components/menu' import { + AgendaView, CfaView, HomeView, MarkdownView, @@ -32,6 +33,11 @@ const menuOptions = [ path: '/cfa', label: 'Calls for Action', view: , + }, + { + path: '/agenda', + label: 'Agenda', + view: , } ] diff --git a/src/views/agenda.js b/src/views/agenda.js new file mode 100644 index 0000000..0c9ba8e --- /dev/null +++ b/src/views/agenda.js @@ -0,0 +1,11 @@ +import { Page } from '@components/layout' + +export const AgendaView = () => { + return ( + + + ) +} \ No newline at end of file diff --git a/src/views/index.js b/src/views/index.js index e4d1720..0f87365 100644 --- a/src/views/index.js +++ b/src/views/index.js @@ -1,3 +1,4 @@ +export * from './agenda' export * from './cfa' export * from './home' export * from './not-found' From 586cecc7891902d9035da6afcb931f3f79cdf019 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 19 Aug 2024 15:43:09 -0400 Subject: [PATCH 57/64] add agenda iframe --- src/views/agenda.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/views/agenda.js b/src/views/agenda.js index 0c9ba8e..cc1216f 100644 --- a/src/views/agenda.js +++ b/src/views/agenda.js @@ -6,6 +6,25 @@ export const AgendaView = () => { title="Agenda" description="Agenda" > +
+ +
) } \ No newline at end of file From 8b33a33e6dd0ce911b2c3ba623f391cfcec97fcf Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Mon, 19 Aug 2024 15:43:52 -0400 Subject: [PATCH 58/64] fix home page description typo --- src/views/home.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/home.js b/src/views/home.js index 187aeaa..bedf1ee 100644 --- a/src/views/home.js +++ b/src/views/home.js @@ -7,7 +7,7 @@ export const HomeView = () => { return ( From 22e896121b469e2de9cb7e9465a19d42ce4aa8f4 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 22 Aug 2024 14:47:08 -0400 Subject: [PATCH 59/64] add knit9 logo image --- src/images/KNIT9-logo.png | Bin 0 -> 34643 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/images/KNIT9-logo.png diff --git a/src/images/KNIT9-logo.png b/src/images/KNIT9-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..420f196b20de0b4c61925c4989a320d5e4ce336e GIT binary patch literal 34643 zcmeFZ1y@_$7A_1lK=1&;J*Bui6!(^5rMO#*TX1)RLn-dw;_mLnrMOFREnX9O~{ z=lp^18{?8aMt0U-doG)6$}{I8Tt!I^3!M}l0RaK)mAv#@1cYbd2ndLDKooe%#KWu{ z{0kBKR!$P3Vx0T{{zJuF>(zTjMFb}JJrDs25f9vi}q5r~Devx5*jyPKOEn;SQqz0(JFPC-FIb`CCfE-qGh4OXa!owKn! zs~z@r9!}fdcxEcM^81g~+gdS^C9_`n45}t)?K!LUe0PB=#qtO&S}y|-kn9&9E_-MR z=Nj)$S6hj=v2a0%|9x>B-9`oiVgCPpxdUkNMDSXO{`ZA&>2@?}aln6Fc<}o83|IeC zE-emGJ^LRbpa1}3cpm^=M7@ut>js8qGNz)Qtf ze-lMUy!b=fW05mU(i^q_lS!k4PsXCzBu~GUo=1oX(TyqH%Gv5xFQTf8UUnWy7&s1C zpcA&lU7y$Ow8d@SToP}gQi-zw`j2+2;;!48ViY1xL#qiDU}=S+jm zX(Lcu1@o+O_7RsOovttSk$-8Cf<%956P=60jgd@*D5_TE_&cA@_3*x?;}n7*w1<(0 zNo7@@;`bl>)gQHwiPG_v%q6(dOGQ8)mlVS0>vfCQxhdD;iz1|#x<@J6=HDLyQ%B?5 zeM|1&p4KR;8G)%gE)K80iiz>--jc?W){+Yt-Ge#^JVck@l2%FaN>~s4O0OeDKA5S7 zWqR_R4E3jqxS{Zy8wR>~vt4aAZ4pzRb52n7;iA(JGH(vp_Ia$Aer+84j(EG2zCS5( z(ns!ll2XISq!fiPH-+$_vKexlDPuy6S|HFi&1>H1SpAb4Tkb<1AC{xMX1uAL=tLzi zs!6?z!vLF`($afi|F3IgB@UDe(bVNZ3d!Gp>DI1~xNyecx)Qo@q83LCV2~h--gquV zc^TAlYrKjd@R)KYa$~T)k`SV(N7g4((8$_9^KPYKd-sx*TVQb;t@Z&FiVGaC_>!Ve zb+cIE1VyqnK=tUC)!XCQ<&xxlmieg-+kRE4f9!OG*Q-~z7{@8v_@j^7dkRnn>vP-( z2gM4CFXN6|W6PrVS%bN3WKwo7zLPA{V!XB2JtKcitsE@W^M1JF18;DW1^O46-n#dF zaQi9cTE#YxJ-^qz>iw&d%OD*DSP`J(5=`GF>5``F>U|l@AIrZAW!>IztN$?UYnxt$ z4eSpm5vZ+2-8`}<1E=)PaFX@P>{G-p_z1*#SzVqiv`Fge;(0%{w4E4v>i@NOr=>Tp zv&*KPB`Guj(i^jYeMuK7e|@r0{{V-=xcr&LKqS6chho|RQXr>$fQ)4Vcu<$JN2x|64f_gyM@?HQGsyZmr>_4b ztyCh$#8WfE-}{ z%S?bW=Fo}2a3OpvVX$?U+wwb1u|f)HgR5orH-37H2j{2PKZR~AL>NY%JHGUxUT&*bz zSa0)s)2}*%MCJnp9@gbAsP$%Zf*%BFUjmj2!|Lf)AbgpnB0P^@Q-s%9E}@#*h!w#o z8)nBo!AS_+Jm(m^jeaqHCTN#0z)sQVD3FXvalJb@PcrOT_+cp`zVc2vJ@W0L#g7*3 zt}l;dCjJw-JI4$?3JGkj>1@3brPVofP5$Ze+e5F5kllYfIOvAvbA7ltkRLk5%IU)D zc~^`$t}BHwXRN3?={mcseVUFZydCzf^FNCNiE~9_d>l%>X+8u%;&73^vFc*v-6$&d z4O3sOx%8RGk}z8&0h&5*M~`Cr0#hdFOkAO~luD^>=ESeJ7lS7VYPAjJ8=3BBL&V-| zZR<28tn;8a{(h85&^!t6Glun9Kf`UEBy*+7T1#alrOFRH5P7GR87p7lR3dqi%Fe%& z4;)L^=N^9^wauLvXL2IS6uuT5;mdVA%NXL{e?k1@+3q&r`fhhAD{aLCbo>7IPp_=> z#P<{V8)MBkXvq_)Dz5I)kFQl}T-cq^*9~~xBxa?oV4f^=~dNss@LMJ^| zxR0b2(0y+v@MPOX+7xDJ&scvl>rsJT(wKevH|6sMC{N2q;F0OJh_|u#U;^vCM&>Nl z@|XAaHHMmO-tT4qMnh&l;af7e%K!Xzr1!&fhsjfj--*vVL4Do0v=wO~&q*tgtEjHw z)%)rJ!H{Zwij1DO0xEJ8XnW$0AcS%hus9 z`j-^xZi+vZ+YX<0C0<4hOsbk0tk14lzGK1a`I159c6L|Ufv>o!&Vv*vZXdGsjBVy|-!Yx?vJLt>NhA>^a3s`mX<>!Uef}&{-PRQ5Z@Ww7y z;X1mrX6~wo=cSo9k}IsPZzPUuP`C7hL+LQ2D>^#_*g&^kzf8L+{eFa`4Td+P>{3<) z#F@hmoS0;JVh^nG|LrCPuuxOSryvt)E9i9q7`|w=Uy=5$JAe8?BkGhZ`7<470v zi%E5{_AuLIPZgH2F~V4yPml5jW-b%XI9bUd_I$~x*%(t%-64hPLmC8;BzoOI^ly4+ zsUAvKKiXJcL))qm?n5GRa0;6WUMjef{Pw3}?oiv6} zp!BjP_8{Ar9L#+(PF(EJwdZq~OpWIOF8GTvTXE=Lrb?LxQtG{Qqt1b)KBNkW zglT##sT+CJt13mRZ!#HODs{RZfDZe(<$fk|*3Sq`85~lykx_^eyx(e1Tk|?BRE5nj z`_Op#3({v(eFv2;mSZ4RFe1VcZl$rcKar=irVpk z!F3W6+nY@5fCX!k4`gA@=VN%V_;OI#vO{{PO0&>TZO39s@k)i)#|ar*Zs|pn!&(ku zD0<*$j6u`S`^XRnQ*du#sck=-sD;1>I=??B0D9sw!`CRAm7Hx z8^{-NdU7W2ebBN#X{UXliVfS16z#Zn^tSt*5s%eL%J$929qqP5mP)^v+7rp@jNk4; zrWVO5#O&isVf6zX)ts;zN(No$GOs6oc_ev>ch7geh? z#%jw$8x4Pm$lTEed-&DVM`8u4gkq`el)d@8!Y|GAm)^4K?9o|&i4PM8V}))&LK%R> zbKzSMB|#B(%!Dz1Wx2O>-?y^SlbLVxR?^bZG0KExDYsUqnj-hxd#V&$V3^#6ru|hj zB88l-oWaAnAX)NpMd_5o#O}|w(v{sIyMvtTcEU&!QBRS+D6!*8xBc2L;{_fd6Jy;j zTsYO(_)kD2M@@6ktdil%jBVNvKVs~kz~M9z+yprUrg&DaVIp(@>Nfhml2SX!>NTgH zZpx)zZpIGusQPcLO^5VT$D3DQvHXQOfVfXS6BJYJwz*8%x#gm)*lr>VhJbS$P74v^XYi!pG*|PWZWh&^e>6xxllqa9K)ed8|+BZ_u&Wcxxsw<-+Ic2B8ubZ~?C4wMVsM;_9!FDTAn9sL(IRc{NdOntwvhjN%$z!M@4*h`o>V~NNIWD+8Jd!c=gQ&P}jKBTB>%jM|llxD$ z{rXxQ#T0`c)#sxM)?Llbw(L$c*-<$qOg})&vb`2iT)DxM@H8L%+pbVsCa;HPL!m*a z@_E`|Z0e))iuP{*^k0Zsz^pQSh}VXu<>wS=0BY=caba85sAh)=ca1F!)ByKf*iO#F z4wmSk(IBhLgy!m%LGk@HCiaF)a2nlgo+Gl;T<-bEDHm*Xaoh8O}fFW0DO^3@i zvPYE**{g?sDvnwvRp%h@0(jS~!$qIq))6tQ@ z?2d#PrdMY@Ty1PSSQ{!ZL!hGM`h+DHDD3R|BeL z7o1lS66eiDNt7ep3+fTJf4+0o?$n8);N#fI|LaZiC!|ko32k!O#S zF`<_W@la!lNmNjT@<3oi22ErGQh_iI|$8uvGAq01l1khe4hlCy0Y zs!(7v{fGSMU3h(`ZyD%fRRD?lxJMY7u=$UMQ>Opc*@(DWK7cF757+u?^xfBy6ldTABjZ8hU(V2&JyA=U=*NEbpmOvjn?5kTn3mP5c(8(=P}^On zNHGEO_=5tCy7N zjY}ZNTPwoc20fKWfO!|I$3Y=dzJPe;EoEJ0I{MU#s8OMSUkMa&SyiDZAcy;|LQ^a3 z_yA&XnpR`0E&-JJb@-;`*puNuHo-7(KVh7yHAiRs2d%iVI~6MnrK0fQq!>*jyH zSDE55U>We@4GdC)d(BA@H;ykIQH@{o&Paah8j{z+0SvN~XHq_bJzCTGxg@O%g0@ul zz^*B818Vl4eL{bW6tLhU;f0UvNLrAVCi`Qc$%t-dR=Z!`JC}Vj{){7+KgYM(n91Ou zaB3lsu0~iw;!V^1u_oNO=cQ5~r23Cn3kOG7R-x6tG|?ryr< zm#KlR)L?d;zQzx6bk|Ehz^PNl-)%oBJAS>XTnikx;2$3|2!B=!nO&|yFe%18T{F1^ zFhWLfKY9Y}wt??%Vke4NgsmBVJmx#xvR%K?ruZqBWx?W*sMIc4u$8q}$taEUiu~d0 zP!zMyHbt@sjV{QQ)DzGhfiChu16EMQa}m{yg(Mr2*5x3KFW#UX1u_4;2!*_CYCxc= zyA%xM$5@U04?BtfggXF5vE?x=NENgF+plU{hvdv$-YTP1@oy%XblNgSX`dqXN$7V> z+~o0ZJ%dT2(_u#xE5RB|gE)bc3%V3+=!EE$yT7qewg=r;Uu?HEBkM{y=Y8*QJ|$_L zrt+{;1Pi)=G<09Dn>_D0rDYdZW^qBdrg0)VNU2$3*c<77c>{YSF)l`i*^7ko5o2&% z83=4&icKG^=%iZH&l4@KQ^xkrW?*<>1@z(r`#bZNCiA;VmetbFnDUaOSe!bEP%D1{ zOYmJ{Lrx5S*R2M3`JkvzY&$4AzmHX6=rCC)iY@#bNKCy7k6g_tY7I_UAz74vxQ&Zk zh^B@~+ZXU(9(+q_0v@#)SMC$dt!`d=#jZ6SVfGu$* zS*Fv|F@6Q_|0H2EW$ioIts%!?5qIdctFTiX$`nSwkR3cfv)$(7WFBh93DKt?U&oV$qhT4iuKyCu$W%LbX#;*3J?`L7n=b8=>+W8W7k;6iIqm zv>*zr(b#EFoG$4BZf4kStG4pu)rJQ06IJDs4fb#+Kjb?SjjOQ=C{0T>WnW|q%sS9! zX&yu*{|K%P3bc@uiJ>UL>X?3Y*`PZllG)7qUGV1qCldYi5^kO#S@qFR&IZYxUj$?H z&`H7|f>&yS#C*C~h(D)(N?vZ8{6fkd+TvZKPPMG^6T)l21`fP*K*QLy;W|!2N^TCD zQAw~VdDNZjx|QG(eoH+D0U zzF;NbD*;hp_$#_GqRIz{H`vN715~ZWD`G4wHO(wW^z%D9&q$Z)F>;#A37=qtrV~B- z`^pPqiS~XzT*l8Fw%R1(T`?lr2KWeow*?8w!zH ziqI&C0$p}rrdx-;3>~qPi_a(r!NkA(&B0SpqOQ*_O7a#=^9QovAbsMHPp&1)2MPwa z?qQ)b5t}rW3p7|rh+jzZJ1VE13EqYq$0@5W?B2+K`;O_kr*z$JO%MQ@@ktcC`QD

N+`$hEC^u=ox-fIr@#SHIU6)bb&Uh&H7@df27yRf*2a$f_PeO0%+9c6DTr!zM$_hIH0>+MP*$}hCoimy_>h6`-@cM5NH zXd{+$a+C%O5{=ubB;@HdF=XVh-0bWr^@8y0)+E=R>^eq$O5^N3EEEIqqug+HJd53y zmQ;RyqA85J^I6_>$8;)T9Fll4&a$oi>c+}3tnyV|>aS@?!hi?czdOC)iG4xS_1IPZ znM3HSR`()e?{EVon474Q)mepO2i3$CfsG2I>|Fj6qIEp|&>C!1Q=xw-AVSx0r&jq0 z=?0-Wb}ffkB3)wVcxvW~tge7p@*73@O{;K+nc#LXwc8t=idzoRu{&k(#Id1PAZU(> z+zTtFk#Mt+;7(9G&I7t3GXM2N)c={h?eO-60E=C1+*6<)(d{p9Da450I~$&6WYm}m z502kZOhNzewPU2u5GH!~!VWK0~utblri} z+`UgQiri9(^w`v7Ps$lWgAR^n%J=buzeT5w{3)rFT7(t$F_z&tt zLbK88c4qL1ZzQW!oB-?k0qL3?-K?4z*yYK?=b9AN2*?ogt8wxS`=Z7WCGE|&KCv8) z#7NbX;1LM6{Xz;ZIF29k4Fq$p<@gu)o2rtaCvgUw<#nL0%2W;v>Org;uvbMx6}hZGfi=ir*HoM`)1_H z0xWo}+ARNy=7{sb2Rj;CTE-gzm#!(|JfyW#Q=F}SzXKGNmD%qEmQ??mQ4MtXj3qi1 z@+jki0$$L7B4unH9438#9(-tZ+%8g7Qeyim?ELnxc^(1>WW33g-@}E^UO?h&f9$P% zx!AJKP8^714>qN+MMy{pvx{I_<6p|UEglYlkzMS|{2{_|c|R(dOJZ&7W5dnOExr|` zB21n8nLq4Lb$^7sAFHf^sPS5(A_Hm{UXP=jz3gwZ`$x}iNqQF?_Ur^7Q#;Lg;Y*uD z0PnQ9iy#jPyc6HwP?KZpdU=Iq3b_mu)ChXt#SwtPEPIUBc7L{KoDjjp%l7II>AGG!GPgF@s8tatZY&^ryy@e6hQCSB`)a;pC$M+f#6Q zrjbTe)kEEo8~BICwch?w#1V${hE_;!XKOOR&91!S_~c}3EG(>s_hV@?RMz$6)S>pV zsh#svQ2YVy)}L#bD<)nPVq~K-GFgM8sPc zcZxk^q%x-Exf}3S+piGKwO?`_?1zU|w%Y^Igh0UBF9iF=AVcc9dXa7~pBuFc-3Gsz zk;FuT2A89`PZO6tA?q6vVQbD-?MV=%`+JYMZ{N(mfB$~!CKG|(N*k6tnI6bMo`$}> z@$Q@Fpwt{cZud4U`i-0|xrqa5rE-{KZ1jD$IN0ym`}b7PX=e=RGiUs<9Gr^m9Py6Gekr*G}?n0KBUw2DuD>oA!6biMSDWZGnS!Xsif1{2Hdl_+Z z(~DEgf`_)e*&9aS`IAY7(ere!T(`nu(ga6NRr%KK*UxK4BEt+_1%*hThm%HkW$9?c zk1X$P);lQ9HWeAO_ZruI_nwyZMpx?29)ag)J^bt5wl7}1VAi00yQ7Nf8WmDzN^1sB zMYx5on=R1oSV;63Xer?b1StLc&Yk4{Q@s1ABI%g97(~aJOtUd);P=n^n-SX7`7#jG#b>aEvBc(va;6Es9%D1n{HXqSadVu~Mlo=aMvfr@ zhj+CQ5F-k5b7=&^lA{H)%FD|c(Hhgw-u?LT!)7Fj)d44VX|3HWnU;SNKf>=}nUTnV zPR_AIQ+YWYE}35-5*By}k-HsKxF~CrQ7Y%%VG60UjC5P7vNT|Zmf6xC15PT^gqJln zjiL)LGWyL09Ti^#G^pXMN8moiV~(rE1|T+Anwm21{N*~uX4nzvU6vIUnp|VG0ngH; z28lV`hk>IMcp1Q{XEJh}{QR)0`5+B_{rYz^QyzZ;y&KU06qVE~#EfPI3jDc1keUXQ z`7%0xl1GanCR397J1UwFHTFp5;j+CAogG~bn&0!dtYY-~`3*eU8IUfYQ^yO4DJ{JQ zNK=Q4x3%|w67jqm8qW|kov+ZB+sq0tV4Z%5JHc2O_TMZ#>+}QV7Fo}D^>|SFjH^B( zBEKCt+4&j^^3+MKo}BkkQcH)=h#4m$X~^of@k2SZht2g(OGF_HaV;L|C2g3h+1_iS zB~}{Ddh5EbHF#({VtFUGKNQZiT|MxaEn7zB4LG2TR-C3UkjI9i=Y|j*QFfT}MWWH+ za`*kt6NQ7F{;OAxMM@%-mvPE|ex3Lej|kAmJI>O|%Jlh;rGG$+)35wbmqm6co=_a! zYu(U&a8%2AW(X{&tHiDJG>m>-9|XJfY6~x^?EfH$ob-!7;pKs=qP0KaomTD{N=RHi zpl1_iE#q*pWna;boIb1uHaDsAWK5s4U+=&YVHA_hzhDI(jgIwwS-&S|x#18HFzbB$ z5m}9Nc;G2 z+6v#y?&W`uX3D9^8!0O^i-WtvD8@(cAXOjH-Y6@#=JAY*wK;{Hu*!1Lfk+H=^!1~M z3m=Xrb8q#zubdkjwT|oa+~13}U=Xo28AQ`7k;}o#$ou=9W}o1j<4o3Hi3WKqWSsHk ztxZo>p3?y)^W4Ir^TIw;4LXzVhc}^lY>#y*9Iy|uBjI*fiOIFxB<%+Xz#oZRT6K{ipJ9cDz4axHs=Z_8rU3tlTKzsGp| zR%e+%dR-chWiTK=&^>2syGkxjm=hs%QaqaRSt}G3g|cXm?w$d~GR2u=O`}6J3|VrU zzRk<*8EV7P56!vjX&V{pd;o(J3JQvzS7am+`_lHHvfiB;9i2pgmWqnea)WI>+)`PJ zp?GQ2{GDn%>={W+RMbKxs(d6W(?-8?gFjH*%{{7N-hG~jK z6}>?I1|>!$ZE=5Wli$*P}#6>0QBn;AK9gcPt|WLb1`?)Rn;RB|fYmbzv` zr1C{kR@d;aZ;76SLU}+K0ua6iZ*&wC6d-M%X5Vo026pF^qIhm}A<~0V2OCNIJ`E=3 zrRQDLPWaNxajMxfWy%3+UX~jM@ZF&%XGI=BwAP5SI==NU>cM&aR z#Qc0{i4;c(>ni<|C6N}HMF8J%8-fP>b}KxDpPT)DcZ5jhMpd2nDDc~8#hy>&z_oHa zkeyXqT?FNRGx|Og9KkYh`IVkZf#LnmYGDFQ{02mf(XWS{hryX?7Ku@&Z%b_h?77!_ z_*Ct;r5c>2v0Hj*dGn~5o5&Un-(`}YEvay|LI4XTxvi~aNV|AF3hYgT;OJChXLNWX zpPT#ff@)pkg4J=eZkuRWQ-h^RQsb*z!M25F0zG+2!zwb+Lfwi^3iSk{E27G*c*ZUvlw}{{GF1CkSSAsQ2 zekQi1RkqI2Asx_mMP%Xp{BTSJ>|+D=6*9fumg}MN3+kRFIyHAAoJ}EmN(C^&A?sA-{Af7F+aaun! zDq}PS*ayc%M=xf+bfW=HESKvxs%n|PpBl_OLtI$PtFA_D4wKW1#2_ry#<~x?)D{cb z+Sw_?y?BTPu8cw^O2#f!-4N}AqBeJt6cekb{M{TJ3?$25mSfNl57T%Sv zW!6N5gW<=cMkHZ5M8XVK`m|UtVRH-peY<$AZ#}BniXl@IAX_Hc;^%xZM1#15LR|RO zmY-LgVX~p?4VWR+VES^1m=W1XU`lfEmdX0FCBN%G35`DU@0jrdJaCQNE#Wd+zty!D zOaq8EgY`TcGZWKr-`0{>UBXt&xFsoV0{ATWg zTVune+i2%#sKkjdsILo-VQcA~^U)c{9{|crBbGVqALV(j9Hw)C!`vU$Yi+q@yNq zAgQz+VzX9b(awUT4G%1Ej<7W)F(c7-ned#PoUq--{lej1UhCOg(mh_j&BBL`jg4uu zN9?Z|z`NbtgejPq|M|DljLb%?-=mPJAnf-idN8ye<1?zV8)Iz2@9 zly3P11tm%=DqgqB7i=_#3->8xs_~%{v1JA!51`XL&E;|a8h~4XY&c6O0*pZP#f)GqQj_zpTXuhjL9oO*}%cLMq1XMz>U}!)71`I|T*B7%_T_ z`D0P`FPvCP5v$U|b{Qsw8usre%Z<@AP4IDW25-^ru@!AC2!#UO0em(K8zOpyx8>!r zG%Ra$%)9)vJv~U;$!>w~rYp2?alM5MX4=rOC`68Uv{x_Pi!Ziun9(4}H)<^X!)j z+J}#gV+74Wv1lFCzOCMF66@}AQx=n60lrHPBJQ7brmnb>)fEgzx+Om_)n?%yVG7*q z`P>)?G(!t;_lh*$)5;X_8mAQT{PYo2dB3qu<%8Z=R1|$PB}cUgw*;edjY%i)bMoD< z57ohVX>}7~zem+Q{so@|XyO{Nt=nggN@2E=cWBzyF6@0yFTsG?koD0p2ik>+v*e@& zibnQa9EE9-1qW$IdrMo$gUc_POG+jN@^64WcGlW41T^G{rsOArr`Vz8s5FIV>iP6+ z-=4=(1yT$n@xQ^^nfUsgh_gf;6sZohT~*DrR^DWo7HnVTx3zT_M&xZ#DIb#L!+~q) zcB0&38NpLw_AD_EHcu9$Mfmv}&h(0gxwLu!gJ?@j3$=JfuY|CDW~P2ct{0uZ3UyLa z($aY5OO^JkIBRIN&a!SnAbsU5+z`+^9UFZ!baTAOD#uA+(q;}e8nO6R5*MbW)4w96!O9C9Owr%R z&=u5CG;+ITv6@;a4~WaO%5Fe^N4TnwEE8USz_QkR32t+~N?Df2ece3-Pl4HULcxh} z5GG9f64GQ-0hDAIUkD1Y++*R&cBCq|6op!ywz4ptj=9S!?6(uFpH)rei^hy~HxkUyHs>4b( z=s423?t9}D^J%njlN(7)SHpIFNZtLujuv+ah^XhE?M)WFG%s_i!4Bdo=QDcFg{sEfL? zV53rSZ`Ns=BioiSP)R7rm!Za>DMBo7nnAxCs}N`&;=Y1{IAp>FE&ylZ4@r3o;W@>U z8Ea}t$)A26uBQVI(DQn@;zQ25#f32wn?o=7$S$9CbtXJhQ%#=unkSTz@F%k^RXT4C z8B+Bc?Hp%)Xb5I)-~HIT+;}F?of7^Xo^JWZX|+YRDJ(2n#;T;W6u+4+HKq5p7;34A zsK<}Kj)&7q1|D$3YOC8e(2zWKo;41Gt^ z%H)mO@RVN*Wc6fHoJW}v&E9yum&E_(1y*iGzsEHf&s8W5Eo?mQQ%F z%KU=8S~!wr!e`)8?lFshzND+y>@@59>zb!W;Uzbz!SD?s+{Se2wT|l0dQIj)ZRI0B8uh#>W55$`01G`F>G^Jt!0P9Mo8u*Kd~tQ4b|uPXHb1(qW4LdB{#?9_7s}q8?NcxSYMP7I|YfpSy1ov$}3`qqiNhiMDVU+aO zKa5>q1s5#_`|xj|K(PaHCvLkbf{m1=ATc4yNk~|-OjS`!-aR?x*^)G{0|6ogPViviWpIivEcch#! zUbgNvoorvEWS)hYqBc5u36{j?rC{yN1*%MYN#W9W@jaLRq^=@@sDVgS3Hg0Okiobj z&_tzc@4b*>uLkm-SN(oPPCok*$ZcK$iCiojJhGmAsKPv@)wTFW{m#YO-21oYuMu`t z?ZQM`KFT~0D04;;7{)phd28oAE9$8Ps0sM9L-fqc9cS@##L3CYYsmQR78Ywi=;x9W zihb?N5oci-lJknBd+D?T8xdn+Wc=FqrS_1#ZQ$gDf=!MyFs}R=>dlDiXo;IYAv2OA z5||rj@&_c5K=IxyLtRRlk5DH81z6<`E(WM(S#2XyB$CM!1mAE6y-ob#->u|1R{>hH^ z=}b~`@!1qc;HGJ4T2j|j{@u2om>z2KN0!MR6QJED$J1^-W|$uA$WtH)3)BLR1m|Jq z$|%SQ1pC6e+*`4-K9JsLU`m;9riBS$Ln%FCdK6{sva(WUy_Dfr(0`-`2<{s#u5C>h zj@&HU6X};mz6niEN=&5r?U3$s-i^E5;nT{jRcnR7UK>)CqNuy9_VD!3sg2Og;{;A# zM4on*rXB+@eAWS(d_Dgv&muzziP6TMKMo2-S`LlK#jH1L4NuP(_2NRr4T+nH3{ura zm2k)0ES&UU+xfN^v=Nvt&wn|`5xH13T(X#j-UM^NU=&_9W^TwEX6!X#q&$L$c}U|Q zFeSAHN+SkBmN)?G41H_hV6t9O{U_=~aukdejvsZ1$ky23_MU?YeaJRRZ}RP*Bby8o z@8J>^;^)Gw!@C`3nS$dqa{aL>`ritqgCjlMDb;!}#?VfDcQ{-nR$NUg5*a@#RwJzM9e1DWU-=Zmuh~EA66_2X#6|f!0uXZH4a-pwJdf*2R9K%pk+a@oE zd+<#vYNEyQ21w4}Y!RPs^iyNL3q9MPN#hEWhW~RF1`xZi2O!L;kYd z!K(nd!RS*8WcA;edi@?ZQKbtp|y=?XLz=f(b~RLq&K zQo*W6w&DT|{S2{UD4eb>(4~s!n$@UVQOLGhDkyGEn^ZQ+9>m+Gm~Z;SM`EfuO7ck2 zXTja@3^KDUm*>Z>;4#AZqWhI~v6{T|qhS1q7dqHaxjUD0a>*ZA*(Dd)LS;M+D`F%L zM9EAqGKr=0Ube%gva`0wV*P%ilD}lY39HuqkE??j*WXXi-gS-Yxid1`@bU3M z+ODdO0)`A=q^Zxv<>0}-7!v_Xi!%;&gKvn6bPN3KT_DVv3tPr{lDqoZCAyTu z2?NH0P*aEmtOED=)*;v=a*$iI4&~ZxWuG{9sgN=>EL7El%p-Au-$05W5L>rtIA6v2 zJ^&%ObUnm>dNcod6ZYjbL_-0Wba=R+?7b(MM;bW4lGIyNGM$_ABh~gRrh!F?siAEw z$(6ah&(VW@Ui!C?I952EQ~Uk3b!KTOLaF}E^>y=b;fIN=+L#z@f!ALiH0~91?oOOk zRpT+(;cz2INy@3JLMT6?!nXBep1-=y@5jC0P6W28I3;?MJV^7oGVmjm`)T505-=k4 zns?Ia(=x*TzQJUp`a_o7R;DMio*wgc>*_%BmjenxoKm0YBWC+lQs~y) zvjQuCFKboC#?isv-6E@lcECZU;L^8~bK)E78ysB;-X+oh6naA3Jd&3PLq2(z(||AO1a-(q85Z9T8_(s8TFcBN@booDRZ zy-QXynhL`Yk@LpRUmKz}6r$epF9FWuEK z`w+(r=MJR-@r|yO?`WC>vvg;Vl!e;`NL|6cm%uFe2)NQT&T@ z8y{+jXSj>)B+Au-YHNO&%Qx4gtX^Irdx*-Zk{F5F1!hm;7 z@CbMw%W{czw$>hbSh#nxJC?4*@g7~8W9Wv^I;uJBtn;_16K*NNQVQdpy&z7A2^``t z^&D38h~8o7Ku$9t3?PvApWb6^SyUD!;%hz+0jNG&!LvQAal4Hs$V`178rJQPF7s|; z;Q`@$)n$Y!H_Syq`+g)$34aJzI#zmz@@bMHXxYNGiE9lhXjZA0^BqrS{c0Sy}od)bU3gj42k^sw(VD5=QUHKurHxP{1)9NKf&Z*JCy?1`xj%5)gph z5b~dlrgFnkWGN+X&bz_P=;idZw8@8aAMh8!jUL7Owt*is;<-b&KnfY(FuyyF5R>YA z)l+?VriPIV$jA$35bO||XK=H&HP=rree=u=MlU7F9{aQ0cKQPxk+WrjX$fYC)$!In zGk+gDFlmS6=Q!7&hAmo#bV{%i z!ZgK--qYitas*d|xCWoOYPw@^Ud$yikcwi!aloS&g~hIS-SIIQ;-agbby7a!X5t9- zsL(&mk{GgV+p?N=CcKI(J6O_*m);6Quqq}{-njq$TJzDV4gpt7AHaZ;3Uz;aMAq#7 z)C@}{1rs|LxE?PUXL~zM^Vu#HoKL^$Hth0X0N+2|jTm;w#FzkNLa?>X%?rubk*mJ3 zL8{2nt{}1Ycs=2POawu;w1+hQDQW@%TU--#Q<6w@0%dPjPuRIa+KZ7V9K zj67Bp^u;$)d7OEdG)&39>mlf$JN!?WaJpnN(g~zqFXm*axx`Qb=yl(=34FdMh6wp5 za4A=ll{08{*J1Dr1#ZI}`*T$mP#$^)oaMSCUiq)9H{^D`fuApM)7V?|tSkE*mVZaw z@4zuDgM;3O3sb|w9r};8Xs+l_byr+eG`W^Hi`EB66&DtWUyqnuaJ1F6w4kVSuR{sm z%$MuZYcfe46G2Hk?6t0M!l-<^9zIMfWeJB1Pdn+i_KVMUK&svVtBR?Yh1yu^*L(uO zT8b9(6K!IYv8R-oQaAEu9UG&Z{ zzdn6)UvQN%O`1Cm*^P{MARhrfLz^Pvfu-~*Cvs#p&XMs$#N1{azUwORj9l90%h73o z;AB9-(9UC9ATOrESTFhIg*4@Ozg4jw28HYmj}6Ovt4bJ;4#mlVn5R`lKYnI>8}5cS{c9y6dC)=9LB<(Yr2m4Am_q(|*v#!v`ay zE~QK%a~3}5KVh4ak{(n>-*10TA8366cv62ZvTQHh5HoKHi+(k>b@|A-tczDKm*9Jp zb+ZWejm;qAk=j&a4u}MbSe|JTON##jxm$E|cRz}QYXd@Cgb)UCX!7uld0OOR;C647 z{Mdz1U5U87#j-_PA^`Gs)hKIg>?tnuEUf`m3KR-tGzVJifd`<(+8ZcgU5-c^p<8^T zmS(3W-)$(LulC~EsBonp$;XdO0p02_jq9W;oDR2wA-!JoRc!y)(!Zhxqc=lnH7oS0 z*L@$bSh2Hm!`|(7d>#GzwK_Bua=^Oj7#5MxRSi(A@9$ zgYqdxsIut&!tlstw`ib*U=~=|nZ>+$t$hgc@#V=Ao>;G_b!ZcfVHS>hs6kXQfvU-Z{e~H%Ns_Hsb|YY$D$?ip^ToKcjzt#Y!L^Ot7Scphtxo_c<>?&z04VN zkv(2r%Ohpp=RiH+*XwGE;r*_4y_FnMGlM_6j`@$SYyY8hTLamsZ_Hs3_Iql>;G`gv zD)h(1K_@0GNlhVceCc*d{jPdCA~JGHBe(BbYUhY4wB|gr2Zs*~Yjr)TIX$(rwzgJC zSJ_F%kdl(R*^U(>T{Uj$QCClF@x|!$UQz=jMIqD=1D+i7SdeQ!2kkTYQ!7wfJLS8Q zL(WM`l0{|D(ZB1G1#h_dU{Xadp1zf8MbGxp`9JM_Wmg>Cwk~uabdb;lcW8oJa1Cxr zfM5ZFySux)6C8qjaM$4O65QQgf^&;^-+lHu_b=SThaQX`T~(`Q%{BFTW(~4qG2IvT zTBcGR3uTH6USo8dJym@)c-&>Y5tM4fi#|~X%l_4|ACoO$q;xWr;tmnU8ZGSpNd-5GZN8@g)3s|6i;ZlYZS+dhRa!}zn}@Rj zL7;dAUL6fBEv;<_6FB<~^Bf5=x4WwQQl=J5#ewRj45$4pQ zK}J7xKk*&Rrc^)?d=gAUvcz>F%&E>6miIHzgYDk^hH}W#B}Oc>c9V#bdT7PTD}Fo@ zCKkrJSbOZh5_PbW@*ey~*YN~fjL<~yQvRd(f9MNIo0af(B+waH;tHatk5t=O%S|RA zl-lM$@3E3#H_6v}II0UBfd#7k^l-Yq6;UWBNe7Aw3Y$M^xWX=)OzhBs665jGD+mAU z9sXx{=ln=Ib)jfYA!Jlk9zkvv7IUB*S#ieQ!k}jAQ8cCqbVHNgLqzRIKUi3M*E`*I zKKT@L4`>bWY!v9Bpw+*HHwm$Nmen6>%y)Az#t}8NqQSFC2*7!VSH)QVXn;|njS#vr zRne)nvbZmb4qqW$)EMLU)sc0wyCnO4tuL++{NIW6+5N;cAG+r5%%8$?L*E@-wiOS@`0mJH0aFNgwr1^ z_*h7(Q}h)5S zVs&l(GK>CK>#r4@5%{!Ca(+Fh-Pp%J7y69;@CFR8r;WTX%GlnBF^3uLE+E3@!Wwjm z&YwAkmgfMHO2BB9P785 zwYb?Kx5vQjDZ2qAluNx9g-eq)2mPm`h;F=(o^r zinJbsLhY-E=F1qc9yVa04;zG7ivBn*+)?sePXlsQS9(eqX&5Keyy6nfG6i zCT_Kyj?p@@BkL(;A{G{7?3Na_Wvx#GTp<8NPOzTw(dQC*J2egHi(n4jK3t3zx3p-? zP<<@0S3r~a=$!yJB_s{oi=q<}m=&wT-&SGN=3zt6sN+zN3`JQ#kq{k{3HtLC(%dPH zC~78|>7*az!=yuL`f#nm^(#k6q12bwO4_ovQj(W*=h#4ztS} z(gMfVofZqJm{iif1G(S8AL+$^Qg^4Npi^|y6sVrwQDBt6(bYs$*cT?EbpD{1<{XPm zpR1L#DjAj&7`*c`g={qy=>cqP^KYuT>Y!$5RZU^+Bt!_X@&OX}{C6SYg%~W%;n}Kv# zRoW4SKUX-^NPfQueUX9zQD?foL&ajJMr7o6XW&H_M``=MX(aC1MVsxhpon1)jrKR; zE6(xVsgnN6_d&K<3uS^s9c*%53p9eDrxw6oSqV?5#qxHfXyezhvrOZ4UKe@<07&aX zY?=>>m#L`D$d0SY%1KvG?jhZVM%mUg5d>U*AO095yrLvMzYE23#Nb$Xz9D{IYI%OL z6myI}NwGr-;H^q#2%UGkno6j(-Vl3pYu7$)Evgj_XG5|{^;0g>eRm*Jpa5NoS0jzz z;KN(>-94xG8YGlYzcP175dZw?Qg0z9#YoR2f2}HfibEK~bT99UW6liZu6WKN1u_Ez z`B(6K_sEZED@7smD1OPyKCU-r$nb_T$btSQRJ*$$9E1cM)^1ZCskZ&OKETD*-9Z~; z?64mpL3|0W%3iM9_&sl&K5SH4A%;>5J=vLT{JweMAUaUw+ z^GFIN+#*MQw(f{FkL`BY!ADNExE9o>L3o;O=*5b~O3P8m#Rs^n-Ep$gxYze^G;mi_ zN+AtC7^bbykNhN-Y|9aT1d~io;W+zl2h-+ikzVd+-Na^{0arE{ld!727~Z1qz(U~hkZMht>O52Ez6;qg&Bb?=4)O7+jt0LP_=Z}1=OB7A?Is>brQrsX0wqe5 z1C|~3oNjbS^wCE#L!oOeD~e+x9i47vOW5rW2ONKypwij5=!8stB*zRrwh+gx%Dwg) z|JPCnE|g-6MWG2!XEcSp0KQO<_{FL;ZL3%ZfXjc2YHFt2`X#;s+JY?D7BQKVjG>b< z@2kRll2{Daa%$%)bcySyQ4bral+LCSfCZQjD z0(t=jASfhg&--7p4Mny3!DD;2T#kH*>D_}}q?<^UI@F>%C^m=}q+K*tKT<`Rs@uIL z1FLvNiF6n|h`%AM{b}##d6O9g%Dt8^8?|`LWQW1hu8?sS_8VhiEKi5g2IH^NojL6t z*>s1jh!pP3lMYJPI_agLS)l6;cuIPq7djoTh~>Lm)E96yDHB$lH6Wwt;oZ&KZ(Oaj zt{dT$DaVN2P-D#@RS>X~7iCoH_ZaZ5g!!M{P977L|H9;oNP5F+PUx|lM?4MjhKh*xQC<92SxB|5|KUM1Y>2O7} z5vu+7WT_frwVnR_9i)?Y71rdO9wf>ksop?m=?;ChwDMCK^TtnJh z`&Q)8u1pXk%L_$>`~qW6PFIWDz|f_`p@z7lYRHmjjlqIOJ5mJ9>-HA|m6%O6a%cK% z##60`+cWk)QizJ15;E%Qo0)57Er<}k9)7Wn9rn}o97l|aurX&WB$Vij*>o3Wa#AcM8ojo!$Gc3*^&=4MIK zh*4b|ep#xQnz807($2XoRRpw`P2D%*VW;=`@G;&vf^*=lBEVc9s6zX6a1hSCM# zG4O=xQ-38tTa+!@5PTDJU0ocXDiW*TJ3B96!-hViLZhOSQ7Hfl%ZIRmyuZ=nH#l|X zyP*=%eYhXqU%gUbR!3Uzg%tuxKc zs%PdiY8oQ~V9^@sY5)(P?LL58jsNK@6MkAM^a<#@U6(!M32AH+o8Mm_*V$g+zq8fHg`_ORY&!a7eTv(@zEjk^4E~wC< z#2dc@?VR6{Q>2F?WHm|1a{705e|q=;nu&^7bD52~0(0rFrBY^FD_u0WW8b{`o8 zdK1QFd6g6u=K(+*A{s}yj)c<0KGg)KrMYLUWPZ%lV)8-e6x$TlM~?-O|9z~cblw7y^+38TrGvz*U9y2j*6kK zom4IIgTglHvX62z|GOFsw**lR>vvfZagx-R%87YM-KLG10%cnCLri)L$jN~ip+oeW zqt?B4$8KsTI5sG~(J=j3zy!Ht?N^`6O7(BQ4V4%|bqMR3@}mz_54Fbew)sth1Zsg{ zWkb`nW%l{8FiY5qXMdbHK-QU@`*-5Z50{f)`76TlIR+YB;KjH@YHDh(d-*+%ZhrDO zE(afUdnmhg7cR;dk1R}__dRWCK20?w@;Dr}Ij<1BzHZdra|S@>-RN4xZOlPft;Af8 z)CJ3P!KY)Cy0V-uOgo#_0W4t5-zeA>2>#|!hz_}tU9tZu82hm)V8 ze-lC=>b<~1W_iTuH?}38fjl~*PBl@bevA<){Nikw_Vb(&MI>C+>ynDHu20r~ zofA0}s2`iX@GeS}G!C%5^@Y5ky|y|@=zjzGABZ0B*d?f1*6*BvqSlkh*;-fxbZOS^ zO*fbL+1FAD5!(w2S}H21?xD+ApzTZnE*528U22aC&lh+v-L}=_zwF;cqfE%U+BHWd zBuOj{{S*5cNmr_6ls%hXj8sVKjJCHF`m-8qw4}2P_F7R7^Upo_jIQgixIIP%oY7Jc8h&icpSj?Ne2Y$s)F zt$`@42n@SX4!lYbrb^g`{~5FUi4&{H`9qkDe2_drPYHR8kN@M~#x(XiuR=Z^G%6Q} zxT-EYOy_80V3yu5V2^PbyzI^Qpe`tF)YkAu1bLdz?)zA5upWwR z^93xrtTX8F5eRR;s!XO$l~-i5zjFBjwmsf#Z*Qn=t1%ON7OibNO^a-8EceV5EFp>@ z@6`Msom33i5TR=fJ#-gDKmUM7S!8C`cuy_i%<@4?UGgshE&)O;H(aq!?$j{dp?Qmr z7E?e8b}eKM&=xoHzMSIXA->y9-M{|r048+ZM%!6^lIf;pZ+~ATVm;l;{M;PKe_tX| z6(AC=gDA^yawu{g1+s9MUjNpQp zz=E|syFR9l1t56CQy20M8IEkHVZxx{$&a!MTqq0IazT9o8RlZMg@#=fQ0m8zV&3OP z{M>fAv&4q${Fa1t%C886)56ZKv0^QXc?Sjxgdsl@Tn%JOFgtEb#FJNEUs*9Ey~1PM zCd=gHH<>r7d8x0ND=8d&w}+zw1M{=gd3*q}%Gk22<%v%!fueSdkf36B^lcwum}7vG?C^e%$zzpg%H&XK6xcTIFC%|KTEEX~ZeHB7mLr&u zB_Je}s_*=ilDDZ1M?3;hf7Bz^XEZ&{0jiJc>HP2Qh zoC8uvX#;;4M3&P7jJ~AeS3XAFYR(vfUF;ogIF@q_v*f6JYe(?S=q``+?HbO6QMRj7 z=IG8H+1qx)=Ac?^WPbYgP}5A#Bzew|@;}SL!Ux zSpiT&dkXc#F>bGQV7?5_TTon_)Io@EEs~-E-&-q8Xu@seq{0ts9JAaCB69U2h~i)` zu&YX5cGcB@=@PAv*AC9ne9a`^!>Jz|2S<~KGg2zAKLDQH`_d%ODkmVv$!r&WM6JA3 z`TO@0<|Zx?k>E-5UiF)(%{Q{AGJTaQW}iL+FyS4!>1mG;aX zG{gZ%wz?tX6d5lxvQ{_nByB_)`)ymZXdUXjr5W|8^$3+e)L$EcCf$MLshZe1bV!|G z^J5qJ1tsneytb2Oio>b~5C~1X@T*w1!&?R&4h1t-QJ+%Cg(_;#fVgCP%9lXpaX@5B zms^vYN-W-5AA(LNXjoJDVZ3iLr~drO8J0zY14+9v&xC1*0Zc)M-LZQsEZ3v64N3<9 zDCl~gGyFy@L=9D^$D{ByNQGt__@ZvU7b%uGocViD?$1J=N3VK=~x~F~RKH>$k%W9u2qJPPTGoeOH@LWoL`t5U%8Ecvy9H>rl)$O0ya@0dD5!)Lp5OZnO7; z5$l$>bUz$x|MhD@2E5~lAF8H5sSWPcB(+erT2@eSwGVCQXH#ZP71<(l5wT1EFI^jq zhv7Gy%+>ZE1qd0W&6mHG8a?+kVAOlrOsAFA)l-j_nr67U=a0^}Xs-cu6_F$73{$Fh z!Go1Rh3(xXE@c$1!I!n-GiKNp!(E8y)9sG*rsv-!&D4yqGgoWYdsI&=&-W(`?{6Rf zt~iR?X{05k0U&n?Ht*L#oZAowNoYDRbI~6x=XZ!rNZQ_SrS_)gHtwoQVen36k0pyl*a?1?W|s{bBQr zsVoi+sBs!=7CmyCQ08VkdE8$GSw<+*!1#pkQb2}S#Mp|}x(Gh)^su(BFrTZ0KVGwb z;lur?^U09^rl4R1FfScCuKHsrcTI0nY_ad}?qp6WVsC0Wrg*8v0P}R%OYCV!nxDeX z*05h%$Tw=jNwmUK?BH@Zi*TI$aI>+Jihk&hp1#j^J}=Ytd^_rC9mr?1Sx#%v>1_0} zFC$@6`c4YL8H^b#jbjHNG%yU#c62xHHMxaL-MeLjYMD2wCdfs)^6j%Np%?FNZCMbf z6x#YFpT4F}NuXwLb*tBA3bd>v$CB^&bE3_JEp|^V5-4z@%!-@Zn8P46^FT!3l17Bq z;^gz>t6xoS+XQ_zv#qRv0ilUnjTKwJ(}|*I!b5x7;|e+)mN;|9V_1jj(Ato5I6K%u z`+W9s6ANQ`?T!@~h56EGyyp=(&}4_B>H!er03F5s`mC4I9LNF(KSRzs`3a@BMVSe% zo*vb$ZlxD|5m046=y&;Z=e?p3-OUy+0m!KQ%KBT+T_wzf`QO=k^`e0`%H0@d-0h&| zlg_JGdng|Xad66ky2P`cCI$hYTc3M>g^894DYP8;3SStDzk~6N?lEOwxJ2xEGiWv;-8e?@vH=rTeDZ>3J1nblt7czbjL| zW}5N;Fm(Y8#Cc^HL7K0+I^n(;b)urhD>!S6qjS#S!X_6Rw~g7D#fvYCdF6P3q~@KB z@QP&`Fg*9b98}d5Q{E*@&gH_0D0?BT#>sr6GmLCirdE3Z)o4@%lw^2bI&q!|Mvq^l zz1BmuW9{v094>d!Uf_A(zI~&=ZPws`4f&2m3)Ft=reh;|=t zpulUpRys5~G-z8hIcfb1(^Ik~-O2q%WBp2^E?Xks#>r{+={(`trrY){aeQ|D`ih83 zTP3ATIAkOhlWW>1YQ!U`Qb7!PEcM}d4p~HN=(>}T?oH335qwc{&sac*q3Y*T9s_oz zvnQjWn&823`PY?={H*2K1C0^dK;rMLay566NXCfmxUdR(<2!ZIM`ZbHDQJ3xILj zrBm;C)VdKEl$hd(m3gtuPTC$sY5}YxIZyZufc2LUZ!9l|0UfJiyCjbgh;oNKKb?5m z{AR~>830MV3@+Ux6+pAi;NBIP9Fv?K!-VE;;J$l&x|RLoZ<{8-u%_Xs#V!n%_FIDr zWk4G-cEaXHKY|(kogPjOK&9lbQ^f;f`Gj*P@n0ok3w@R?{`2jtxkzO1QXC`(;z3Nh zXC1p%GD=~6QpH5Knr}F%7!kthI-U`|R)i3hUXNhT;1gs`DA*LK*(7w0Zn4y-Z#O8l zmJUPo3m4u&SuZ~*KI;Vrer^N28^b#nD!|mIL+1MTxWcmKw&yLu>HD+J2Dz}q z#fHhJo8GcTyxAY5ghC1C+{zzz4(F*Z`DI%PNGuH5bA7#gHicOsoEF?d->V@COHNu@O(V7q2n{X9LzEA!X8p6y;Tj+zf?e(oWN_E_*HMpNkVyu_E(HqGb>0W{?;%`={-J$7 zYKcz^APP!ZOAwke2xN^Nv6d^Yo{6?SSMuKa2Fe^T$gC926=!zpaec_8^ymE) zRNKJdHN5R{BSfjTTPq@`C*@6f$(zu**tocP{^yI<`fJQR8;p;cefz(f6`xO0(-}YM zFLR)e1KlBR@Xa{3j%F@#3FU*;#h9K)?VS;gQZG>mM)21jU584(?GC0Seu=7Zi)D6< z++cy4C0`&Ur;>N(6~oY}dy-t8mZUoW(Bi?gQ+S=-o5Gz4Q5&}9ktx{-Un`7u|NTNT{)@J1m! ze?`0A+Kl52xxu~gmt8XND?CTXfDVSCi!@I1!yPM}PeiXbErL}nUxOZt#s0dMPEtvfk zP?uGBWnts+Mm)kB7&>Y^Jcv+8O8$uw~Dl*v+pUTI7pIG*bf&*^9j0bBuduSXbMQ zyfgqqJlO8*84YYou~$yLNJ%YC$b(dGQBh3=?i?*Ieri7MvxBC`ZFOGoYyg7# zZ@-q@>#tv(O@~l$h*UGiV_etiDb8E+ky9MLn-5qN& zKII>Gxv2RHBf%Y9HtVE{nLJ+@BpYQY=Uym>Uaf>8asR%mew}$@>Kx{I2dAI9CgHpjcXT=o3O(q9puQap;MwMKmy!co}17&WEM_a?^2jY*l??Mx)q_{AS# z;EosP_k?l#vmTji*~+m*_u66qiBXx(Qep{IG?Z0Ba(RBHb z_|{VWBj|`kW)=h&?Ele2%{>iC`BX>#F*!L|Z!ms1xql8Pm`!Eca*)bmp;ij1>8mqt zHxhP0YIr<6iM#twb4{@0vU6aab3|2-@N$$shIw+8`G-rO&NaA`o{r2aQ*B-65)KR+ zsdPNCupBmt!r%3CyV)fIC4iNkCV#;nTbfHslwtjPR{J88L*IsYS`Kp(CQVwi5X}N* z!_!mGHhot{{WU0Vr#z!b!B?s2d%%cKw=Bv-@nUySDLugiC{*$5S#^BdjnJ!3k4G1Z zAmr05MiUiA@v8L3K@(lMBeRY4P>;TRFv;p0$oq2<0TL2eS5h+`&)T{=*MrJpGvAW& zkO^(mak^}yE!t(51Nu~#f`v6MZiA}erKN+M?Ceh2qH&`hcIo}YW<{VIL^jHMQS5d- zXXp(dLSb@+XZ}#qk}LJGhM7XoGy6;}JD~x+yfHXMd_p7s_%PAQ6vp;yx3)iQ>1i_k zn!ToiI=5EWST39K-pKM$%1}pR4w*KUsn8VJes3*uT4tMBx{5mze_u|cA1NB- zu4Nx5zBeu6ZVRoAsr&%aw8p)|XGh-fM=EgBdMe@5m`^M9eWc@%M>XU2o!j=1+T%=R zfFf#zILB&5stOlGVD%ituK)8DEF1yiY^ViNSh0xj)LSzE4y5PB`NgDN6=1MqQ?YY! z40|l}iw{zGJe*l`IUYC1TxU%O>0>Ar8~ydEy}o8=)Iy$U19by)QdHACpPWymd^6Zb z-c+JihYRo_%~E{eNtUmao|&7w6L6;#V_x*oD=*Na5UAd(kYpL&F=Uyk9Ru_j=_82O z!wAmo?xz%``Ba7#@DecyQo5McxFuGkt z#B2)QjD~9oHdSp+jkBrI4(C*Vo%#NrY1!js%C?EFc*d?@oEYRrBcp+i!I55SFCw*Z zQ}C7OV}9@kk9Vw?{|tS|ph{}8s)Zmc0th@rEfB>?iNY_ix(`pMYOqCbwzLKm^f!C( zIre50=|glC+uVRzGx|UQLz+cV(PRx^WG^@N&h@Tm^TQ5O%{Pub-k;34gcLQaq&=ye zI@aoAthgL#o^Qq=Y=ttm*fn01w9>Ab!F5n-Wqu7c=yx!^4X&y3&dMD+L_lllp3-vm zk8duR8nzGV;5fbn!_EMrDHSzl`~j*J3@_nd{O#%}t)Yhvt<+aBH8E+1X)GtJDzQ`J4Tw9HsU#3PYFuEEcY_f*H^o)&e5wW zZLM0r#v)ZA?<`ohi!Z#S8|Ub%Rttuyc58E|NADXuO zy2y61@kxwH!gM|&&5InBUS_e0j(RE7aGFZYe!uX$a=Du?w+uRyODoc) zlLzR~f}5Y?*uRY&6i=dZa_ULnazB7Iq3}}nDt5| zSpWvs6Qr-NUumNs_-C5o%(0hiq?S6LjEt=D%>edcJXc`!ilu6XvXTwtRqAlWH+(%YTx*-pA`cLa{cc2{(;)eJp)i`Gp;D zWiV-4MqN`A^r?{EAb*A{jmQn(dk_(L{PF&lP%nWfP`n^8cOxEvdQr;T(Mu2z6UP8h z92Ncu1n0eIlLb)s_O=0I_Uz;&x)Wg0f?h1z)58wG>ttX*mDv8Cn4v9+OvzxF;~rjj z;CxJ@7~{77^g7lj|I6~mXpR}m+?t=sL8OE_jhGpL)%2=o4Tk~QA}J^;_Wk;%J~BWr zDJ|Wf#PXY&mzVjk?>YJkDE=cIW7$}$tD~`4MK69?21^L#*REhSUVFZj1!knYT(028|L1Y)qWo~IWqNs9ZCTBnXg_X zVb zy)J({nNF8|lQgTK@D>hYMXA*~N!TcTRuPfITWpFsGyR@5DmfUn^TX92&=Pq!R2BbS zvgjYS#N%C~H{N~VQ&;q)%)D&yW`dWLezlp7t7}S(4GxREbnkBgrdAicv?6MH`sk0Y z4ub(G2i*fLa7nV&g?Y6-mxcLnjZuas*93DY!JE-uupv|m-amf4D`U_E@b1XS z$a+gCs*z6ne+r8iGQ9_pl(jTfRcZe&IhM_C3j+^502u{E{YejDMe2a>@r9r~_D+h# zt4$45yJi>@A5iaVyoiLe!pTE_lJ<3wLl+nKu~aQU9~)__JgWA~jH*Sklo9)Q%Q|3R zZo!cEBjVxrBwk+V-au*65-+=mWIXTZ^>x~n3FGUeEt`p3ka?FHy+HFu1W)r-Fk{Qj zkFbac?n1}!8SmBDL79+p>H_*LC<^(TIkki+$C2Evg6VI(ACsfCm&}~x$V4q^Owz=| zw(bTTeB+yy^O}-P5;!3OT4{hmz3|(x0Fy-h_R`M-D8@AwI=%oxNa;I=kzkg7Ed>Py zXeF5CAe4UfHJwcHuV1k%58DowzgLUOh^A3|1KwaDIY~Cy!5P4Zu+`K{<{LB6e(5W@ zvgYz2CF{Mj-&xBHyL6fB4wF>J_^>TMq?{wWCYH+Qnrfk_J81woU9G2=71V8{0ct1E zhFHVF#>Q>*X=Q6#4hJ25Ln8yn4%UehTWvLb)^2UVa%HcC+I=rKp`Qxt#>wUu{GgE0 zNR{`!AradSMN)6`kA#Y^So8+ohqTEu`cBT$$qss>Kd8&YK4R+Q1?h&(LmS=ZBLU`u z@bOamOyA1{v!+Bg0qGyYf!|eKYycB|qjJ6A@oH`J^z-TZ2Cs35(@z~ZYieu>+7V|H zfy$o~uIPf%_UYQpW`{qLbPv-kZN5Dm#g{T`P9C_2YMyOM>W7kIfyqZC;MtnR?Ou zeuur%5>c~3&U|#h@0!4a-<2tbTtEa!Al`G-`GpDtDHO>^zJMK&qh(SRA^uy3?NK|q zm+H8@CPnzPu=1q(8Uf)AhC7Z84alD&YQi{mxN&>bBA(;tK$pH+c1xk;5YkiL6-p~L z%4_;2qb(|fw}ZR}n}uZ)=N6tl#!*J5s51)2J@OpIg{yH#j>~QWBs{Plah3lipWs?= zDWG&Uy+uohZj4K>8q*ie1B--V&XSU1xl9u*B9!KS%?0XSJiCwp)75*?KYw{LLRmG_ zy6Mc7GJ$cf=OELJ4CeTFbw7I+D8K!fG$pbqhn-+*m!QaAl*B>iD6%RJdcWz})s77& zDTjb+J;w6r8#(D>IJvpkv#94!skP(->&)ipnj9Xdk?!c7fF}qGC%IZJE#-dkbN7$J z0{PSvdwl~r8_i-hC$(wOy4*mKN}3s%6P+YxH|$3MpmQytGbf>{;KJMG$NT%}PY-E2 z?R-fn80K_o9(TCYR1C8cr)}WPNH2!(u`~D8$9w+ON}oGJQ3=)3{F4R;H*7kg{28Udsv^Y0{&OK{2*r%tw||${dX4`JkhOigUFUkE-`hu(NZr}Os#O8&2&r{ zk#B9&eZs=(C<;Jp!x>;K0sVUjzjKi?lI^0HonDfeMkg1Ws~5&qG*@31W;VO2Q9c{Vt$+ zJRx2;`4d3}BLPtj_wP$A%c|rs3&jnF8#||9R(}COq|<44K~!SwNEi@!v(D?tq0wL% zui@|V%ANsxoKDl64T+b)4Sez8QU6+4^Ae+t1q}l(%BI>aN zGx=abU6kyDM!;7Hm6>6Ku1UB$+B)Tc=-5pSF8f2$zmi*AmK?S=PfnKmOtvIX6jk+ z!3-96J3@`s6j@R%C7-u`aqzwcjbo8Wgk9fEx&n*RYKJr1H&#_GdRRk^{QLz8w;LWG zOoRiA0Gh-@AtDUxzxRcb8Q0+t%o?z992l^bLx7SR-fxr*VFs-KimR-1j5&*Bl zevwg0iMq%0y?9Phk-Ty?4uo|W3Mm&@$?4<2x2sC7NRl!+bX@4B&pa}lun#I?i&5?{ zV1tc>4wIew!U(RTVz~vp+#662t`)1u)lcF*@9V5InW6!3%uGQdmtDc{ zzg^f&F;bBxNkHx3+2l@7)Zpgal&PQTj*t}{u|ItQ`zd&l zFy*}ZQum?*Lg?j%##dMNcvO5D@?V<}kIox3;GonWN)J#`(<29;!+Z3&u^d&-*HxDK ztD9)ZrWz@tfyZt`3uu6+5XQDLjpJcwkr%mmr=unI zQ%w&(J^mf6HLsIk?suz7C*9};Zz^bg<|uH!Ra4_5iU>AW+c@8)8tsek#x0aGF8xsx z#9(ZUX4!4+Bzy+!%3^ouG8< zOU%4CY2H07kkr#Fnif%0fxe>@vfKVF48FkxEW1+J1=`Ejx1rGT)&aUK39^eVkBa+L z+mdMrLRuEymXtc@f2-bb>9e5`S{RvB7(`kqT!j9rj_oDPr`$Py%P$DyJqUzh8n68= zNdfu1*njwtxVX4V(-}+s$2%h6RHI{7iKm_j-6;m##~%b(2gs?T@lBa06bQ&d zaoTsV)JGTr`|*H>TKf8*hs6x4lK)EVv7<`OW3e^e`tNaiS|%vr&Sh6S>?AdgA_u8cEx7f&83;;6)e2Ll7BeO#i(=q{ZaJ^j z}FaRVx|05sxKGlGuD`Ux+KN+NZS7h%*LfR|7p_6WS8IGqUUSxn;XM$Cs zk$~G|IyE&l4p=3?;)Wg1PTB&C%E*AHlcA%fjUnWzJz#&pbzbww*0ZuI$hhz7CX0#$ zrJGvaxB;MBSIO*DpvrKk_rd%PVwmk zOZZl7dX-pv9$B+Cjoo}XYGVtF3GAD>NPqpf;?lGtU3T56`FV<(nz`2`ENsta^n`)< z-g9Sj4Hq-Z_54pau(|IspXCRkt%*)Ed2AC)BR>nByTmKj>JIMbzcRgD94=@m;G!L5r0bPewcD2uo2lNu?gYSDE;O4bQ^kO;e zVHZ*zhLhPUEm!#R*;uoWKR^FtFFR-jQoBwg=sybovy=b*@ql<4{ps>c&+Wg~_2Qgg zP8kHGBf`A(cK>*yfBzP83izl0GQck$^B?yB0fZgkWVMI)a^ydUzkIAJ0mX$foShdR z^q=oZfoKBxY;}U|<;Z^yfB9%D18P5-Oe5m|`3m??h)y61XT3ew^go9K|9NQwyR}v4 z=Sx`npUe3v1KzjG_sh(GKP?PwE0A=0baN8_*Ogu_0ImSsV-P|@>A#-Xzt`sh-11|H zHBdMD&uK{@I>6(Epfafczf${eVZ*;~g`^9(8Yz)l<3EAPzfb$(wInWS|5w1E{}u4R fbmIR@4SwL)lPG;pe Date: Thu, 22 Aug 2024 15:08:07 -0400 Subject: [PATCH 60/64] update agenda document link --- src/views/agenda.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/views/agenda.js b/src/views/agenda.js index cc1216f..55308ca 100644 --- a/src/views/agenda.js +++ b/src/views/agenda.js @@ -8,12 +8,12 @@ export const AgendaView = () => { >

From 1272190689f8fc7721b2f24cfb4363f45bf5d156 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 22 Aug 2024 15:08:21 -0400 Subject: [PATCH 61/64] add knit9 logo above agenda --- src/views/agenda.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/agenda.js b/src/views/agenda.js index 55308ca..52ece56 100644 --- a/src/views/agenda.js +++ b/src/views/agenda.js @@ -1,4 +1,5 @@ import { Page } from '@components/layout' +import knit9logo from '@images/KNIT9-logo.png' export const AgendaView = () => { return ( @@ -6,6 +7,7 @@ export const AgendaView = () => { title="Agenda" description="Agenda" > +
Date: Thu, 22 Aug 2024 15:53:21 -0400 Subject: [PATCH 62/64] update breakpoint pixels in theme --- src/theme/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/theme/index.js b/src/theme/index.js index 920ebbb..6981471 100644 --- a/src/theme/index.js +++ b/src/theme/index.js @@ -6,7 +6,7 @@ import { components } from './components' const breakpoints = { keys: ['xs', 'sm', 'md', 'lg', 'xl'], - values: { xs: 0, sm: 600, md: 900, lg: 1200, xl: 1536 }, + values: { xs: 0, sm: 500, md: 750, lg: 1200, xl: 1536 }, unit: 'px', } From 3983e67f2a6a00680db592229ab9232a8ca5d838 Mon Sep 17 00:00:00 2001 From: suejinkim20 Date: Thu, 22 Aug 2024 15:53:39 -0400 Subject: [PATCH 63/64] increase breakpoint for menu from sm to md --- src/components/menu/menu.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/menu/menu.js b/src/components/menu/menu.js index 9c1b707..b9c5bca 100644 --- a/src/components/menu/menu.js +++ b/src/components/menu/menu.js @@ -29,7 +29,7 @@ export const Menu = ({ options = [] }) => { }} > { - width < theme.breakpoints.values.sm + width < theme.breakpoints.values.md ? : } From a21599a84a6490dfd1c4656b4664297d896e0b64 Mon Sep 17 00:00:00 2001 From: Matt Watson Date: Thu, 22 Aug 2024 16:03:05 -0400 Subject: [PATCH 64/64] do not default markdown h1s, h2s to use linked headings --- src/components/markdown/typography.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/markdown/typography.js b/src/components/markdown/typography.js index 7f66696..fc8bb0d 100644 --- a/src/components/markdown/typography.js +++ b/src/components/markdown/typography.js @@ -1,15 +1,14 @@ /* eslint-disable no-unused-vars */ import { Typography } from '@mui/joy' -import { LinkedHeading } from '@components/linked-heading' // heading 1 export const h1 = ({ node, ...props }) => ( - + ) // heading 2 export const h2 = ({ node, ...props }) => ( - + ) // heading 3