diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b29a02f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +node_modules +dist +.astro +.git +.DS_Store +*.log +_site diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..81d21cc --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,49 @@ +# Builds the site and publishes it to GitHub Pages on every push to main. +# Pull requests are built (and the site uploaded as an artifact) but not deployed. +# Repo setting required once: Settings -> Pages -> Source: "GitHub Actions". +name: Deploy to GitHub Pages + +on: + push: + branches: [main] + pull_request: + # Rebuild on demand from the Actions tab. + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages-${{ github.ref }} + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - run: npm ci + - run: npm run build + + - uses: actions/upload-pages-artifact@v3 + with: + path: dist + + deploy: + if: github.event_name != 'pull_request' + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 7c9f716..6dee19c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,16 @@ -docs -.sass-cache -_site -docker/Gemfile -Gemfile.lock -_bibliography -bibliography-master +# build output +dist/ +.astro/ + +# dependencies +node_modules/ + +# old Jekyll build checkout (gh-pages branch) +_site/ + +# misc **/.DS_Store +*.log +npm-debug.log* +.env +.env.production diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index a74e0f5..0000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "bibliography"] - path = _bibliography - url = https://github.com/mit-acl/bibliography.git -[submodule "_bibliography"] - path = _bibliography - url = https://github.com/mit-acl/bibliography.git diff --git a/00_serve.sh b/00_serve.sh deleted file mode 100755 index b19790c..0000000 --- a/00_serve.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -# show commands -#set -x - -# Repo Links: -# https://github.com/mit-acl/mit-acl.github.io -# https://github.com/mit-acl/bibliography - -cd _docker - -# build and run the image -./build.sh && \ - ./run.sh serve diff --git a/01_discard-edits.sh b/01_discard-edits.sh deleted file mode 100755 index 2fb07ad..0000000 --- a/01_discard-edits.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -#set -x - -read -p "Reset _site and _bibliography to last commit? (yes/no) " yn - -case $yn in - yes ) echo "reseting..."; - rm -rfv $WORKSPACE/bags/*.bag;; - no ) echo exiting...; - exit;; - * ) echo invalid response;; -esac - -# make sure contents are not owned by root -sudo chown -R $USER:$USER _site -sudo chown -R $USER:$USER _bibliography - -git -C _site reset --hard -git -C _bibliography reset --hard - -git -C _site clean -f -d -git -C _bibliography clean -f -d diff --git a/02_build-and-deploy.sh b/02_build-and-deploy.sh deleted file mode 100755 index 73b71bb..0000000 --- a/02_build-and-deploy.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -# show commands -#set -x - -# Repo Links: -# https://github.com/mit-acl/mit-acl.github.io -# https://github.com/mit-acl/bibliography - -confirm_commit() { - if [ $(git -C $1 status -s | wc -l) -gt 0 ]; then - false - else - true - fi -} - -check_repo_fresh() { - if ! confirm_commit $1 ; then - echo "$1 :: please commit all changes before building and deploying" - exit 1 - fi -} - -# confirm repos are fresh -check_repo_fresh _site -check_repo_fresh _bibliography - -# pull updates -git -C _site pull -f -git -C _bibliography pull -f - -cd _docker - -# build and run the image -./build.sh && ./run.sh build && \ - cd .. && \ - git -C _site add -A && \ - git -C _site commit -m "docker build: $(date)" && \ - git -C _site push diff --git a/03_open-firefox.sh b/03_open-firefox.sh deleted file mode 100755 index f9e012c..0000000 --- a/03_open-firefox.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -# show commands -#set -x - -firefox -new-tab https://acl.mit.edu -firefox -new-tab https://github.com/mit-acl/mit-acl.github.io/settings/pages -firefox -new-tab https://github.com/mit-acl/mit-acl.github.io/actions diff --git a/404.html b/404.html deleted file mode 100644 index 86d74d9..0000000 --- a/404.html +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: default -title: Page Not Found -description: Sorry – the page your looking for doesn't exist. -featured_image: /images/social.jpg ---- - -
- -
- -

Page not found.

-

Sorry – the page your looking for doesn't exist.

-

Perhaps you typed the URL incorrectly, or it may have moved.

-

Back To Home

- -
- -
\ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..98f865c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +# Single image used for both local dev (astro dev) and producing the static +# build (astro build). Node lives only in here — the host needs just Docker. +FROM node:20-alpine + +WORKDIR /app + +# Install deps first so this layer is cached unless package.json changes. +COPY package.json package-lock.json* ./ +RUN npm install + +# App source is bind-mounted in dev (see docker-compose.yml); copying it here +# means the image also works standalone for `npm run build`. +COPY . . + +EXPOSE 4321 + +CMD ["npm", "run", "dev"] diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 17556c3..0000000 --- a/Gemfile +++ /dev/null @@ -1,11 +0,0 @@ -source 'https://rubygems.org' - -gem 'jekyll', '3.8.4' -gem 'unicode' -gem 'addressable', '2.8.1' - -group :jekyll_plugins do - gem 'jekyll-paginate' - gem 'jekyll-sitemap' - gem 'jekyll-scholar' -end diff --git a/Makefile b/Makefile deleted file mode 100644 index fa730b9..0000000 --- a/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -.PHONY: serve build install - -build: - bundle exec jekyll build - -serve: - bundle exec jekyll serve --watch --port 4001 - -install: - bundle install diff --git a/README.md b/README.md index 24ccdcb..52d89b6 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,95 @@ # mit-acl.github.io - -Jekyll website for Aerospace Controls Laboratory at MIT. + +Website for the Aerospace Controls Laboratory at MIT ([acl.mit.edu](https://acl.mit.edu)), built with +[Astro](https://astro.build). Content is Markdown with a short YAML block at the top of each file. ## Setup -We build the static site locally and then push it to the `gh-pages` branch for hosting. This requires you clone the repository and `_site` folder correctly. ```bash git clone git@github.com:mit-acl/mit-acl.github.io.git -cd mit-acl.github.io.git -git clone -b gh-pages `git config remote.origin.url` _site +cd mit-acl.github.io +``` + +## Running it locally + +You only need **Docker** installed (no Node.js, no Ruby). Then: + +```bash +./serve.sh # live preview at http://localhost:4321 (auto-reloads as you edit) +./serve.sh build # build the static site into ./dist +./serve.sh preview # build, then preview the production output at http://localhost:4321 +./serve.sh stop # stop the dev server ``` -## Easy build -- Update [bibliography repo](https://github.com/mit-acl/bibliography) and commit/push any changes - - Do not edit the contents of the `_bibliography` directory in this repo. The directory is pulled down fresh from the [bibliography repo](https://github.com/mit-acl/bibliography) on each build. Thus, edits should be made and committed directly to that repo separately. -- Build and commit the static site into `_site` with bash and Docker: `./build_and_deploy.bash` -- Check the deployment status [here](https://github.com/mit-acl/mit-acl.github.io/actions) -- Check the website at: [https://mit-acl.github.io/](https://mit-acl.github.io/) - -## Alternative manual build (not recommended) -If you don't want to install Docker, you can manually build, commit, and push: -- Update the `_bibliography` submodule with: `git submodule update --remote` -- Commit your changes to the source repo (i.e. `mit-acl.github.io`) -- Build the static site into `_site` with your local Jekyll installation: `bundle exec jekyll build` -- Commit your build to the `gh-pages` branch (i.e. inside `_site`) -- Check the deployment status [here](https://github.com/mit-acl/mit-acl.github.io/actions) -- Check the website at: [https://mit-acl.github.io/](https://mit-acl.github.io/) +The first run builds the Docker image (~30s); after that it starts in a few seconds. + +> **Heads up:** editing existing files hot-reloads automatically, but if you **add a new +> file to `public/`** (e.g. a new image) while the server is running, restart it so the +> file is picked up: `./serve.sh stop && ./serve.sh`. + +## Deploying + +Pushing to `main` deploys automatically: the [Deploy to GitHub Pages](.github/workflows/deploy.yml) +workflow builds the site and publishes it. Check its progress +[here](https://github.com/mit-acl/mit-acl.github.io/actions). To redeploy without a code change, +run the workflow manually from the Actions tab. + +## Editing content + +| What | Where | How to add one | +|------|-------|----------------| +| **People** | `src/content/members/.md` | Copy [`howto/template_member.md`](howto/template_member.md); put the headshot in `public/images/members/`. | +| **Projects** | `src/content/projects/.md` | Copy [`howto/template_project.md`](howto/template_project.md); `authors` are kerberos IDs, `papers` are BibTeX keys. | +| **News** | `src/content/news/YYYY-MM-DD-title.md` | Copy [`howto/template_news_post.md`](howto/template_news_post.md). | +| **Home page intro** | `src/content/pinned/` | The welcome text and statement of values pinned above the news. | +| **Contact / Thanks pages** | `src/content/pages/` | | +| **Publications** | `bibliography/ACL_Publications.bib` | Paste a BibTeX entry; see below. | +| **Faculty / UROPs** | `src/data/people.ts` | Directory-only entries that don't have a profile page. | +| **Menu, quick links, logos, People sections** | `src/data/site.ts` | Site-wide settings in one place. | +| **Colors, fonts** | `src/styles/style.scss` | Variables at the top of the file. | + +If you mistype a field, the build tells you exactly which file and field is wrong. + +Images and other files go under `public/` and are linked without the `public` prefix: a file at +`public/images/projects/foo.jpg` is linked as `/images/projects/foo.jpg`. + +### Publications + +All ACL publications live in [`bibliography/ACL_Publications.bib`](bibliography/ACL_Publications.bib) +(formerly the separate `mit-acl/bibliography` repo, merged here with its history). Add or fix entries +there and the Publications page rebuilds from it; see [`bibliography/README.md`](bibliography/README.md) +for the validation and merge scripts. The dev server reads the file once at startup, so restart it +(`./serve.sh stop && ./serve.sh`) to see bibliography edits. + +Projects can cite entries in their Markdown body with `{% reference %}`, or list them +under `papers:` in the front matter. ## New Students + If you're a new student, you need to be added to the website. Reach out to the [current ACL webmaster](https://wikis.mit.edu/confluence/pages/viewpage.action?pageId=123502773) via Slack and provide the following: 1. A headshot (i.e. `.jpg` or `.png`) -2. Markdown providing your information. [(See this example.)](https://raw.githubusercontent.com/mit-acl/mit-acl.github.io/master/howto/template_member.md) -Alternatively, if you're comfortable with GitHub/GitHub pages, you're welcome to make the changes yourself and submit a pull request. +2. Markdown providing your information. [(See this example.)](howto/template_member.md) + +Alternatively, if you're comfortable with GitHub, you're welcome to make the changes yourself and submit a pull request. + +## How it's organized + +``` +src/ + content/ Markdown content (members, projects, news, pinned, pages) + content.config.ts the allowed fields for each content type + data/ site.ts (settings), people.ts (faculty/UROPs) + lib/ bibtex.ts (BibTeX parser), citations.ts (AIAA formatting), Markdown plugins + components/ Header, Footer, ... + layouts/ Default.astro (the page shell) + pages/ one file per route (/, /people, /projects, /publications, ...) + styles/ style.scss + the theme's Sass partials +public/ static files served as-is (images, files, the theme's JS, CNAME) +bibliography/ ACL_Publications.bib, the AIAA citation style, and helper scripts +``` ## Notes -* Citations are stored in [this repo](https://github.com/mit-acl/bibliography). -* Static site builds are stored on [this branch](https://github.com/mit-acl/mit-acl.github.io/tree/gh-pages). + * Derived from [the old private website repo](https://github.com/mit-acl/website). (Didn't fork because of the LFS files committed directly to the old repo.) +* The visual theme is "Index" by JekyllThemes.io; see [`_LICENSE.md`](_LICENSE.md). diff --git a/_THEME_README.md b/_THEME_README.md deleted file mode 100644 index e0857c3..0000000 --- a/_THEME_README.md +++ /dev/null @@ -1,152 +0,0 @@ -# Index by JekyllThemes.io – Instructions - -If you have any questions or feedback about the theme, don't hesitate to reach out to hello@jekyllthemes.io for 1-to-1 support direct from the developers. - ---- - -## Getting started - -Copy the theme files to your website directory. - -To run the theme locally, navigate to the theme directory in your terminal and run `bundle install` to install the theme's dependencies. Then run `jekyll serve` to start the Jekyll server. - ---- - -## Jekyll basics - -If you're not familiar with how Jekyll works, check out [jekyllrb.com](https://jekyllrb.com/) for all the details, -or read up on just the basics of [front matter](https://jekyllrb.com/docs/frontmatter/), [writing posts](https://jekyllrb.com/docs/posts/), and [creating pages](https://jekyllrb.com/docs/pages/). - ---- - -## Customizing the theme - -Index comes packed with lots of options to let you customize the theme. - ---- - -### The `_config.yml` file - -The main things you might need to change here are: - -`site: Index Jekyll Theme` – change this to your website's name - -`paginate: 6` – change this to set the number of blog posts on each page - -You can also change more advanced things here like the path names, collections etc. You do not need to change any of these to achieve the same look as the demo, so best to leave everything else unless you are confident. - ---- - -### The `settings.yml` file - -You'll find this inside the `_data` folder – this is where you can set all of the theme options. - -**Basic settings** - -`site_title` – change this to your website's title. This shows up in the browser's title bar, and in the sidebar. -`site_tagline` – change this to be a description of your site. This shows up under the title/logo in the sidebar. -`favicon_image` – change this to the location of your favicon image, which shows up in the browser's title bar. - -**Header settings** - -`logo_image` – if you'd like to use a logo instead of plain text title in your sidebar, enter the link to it here. -`logo_width` – set the width (in pixels) that your logo should appear at. This is useful for adding retina display support – for example if your original image is 400px wide, you could set this value to `200` to display a retina-ready image. - -**Menu settings** - -This allows you to set the links inside your menu. Add each one as a list item with a `title` and `url`. When hosting on GitHub Pages, make sure you leave a trailing `/` at the end of links to category pages (e.g. `/blog/` or `/projects/`). - -**Grid settings** - -`overlay_opacity` – this sets the opacity of the overlay when you hover over grid items (portfolio and blog posts). Use a decimal value here, e.g. `0.8` will give you 80% opacity on hover. -`grid_spacing` – this sets the amount of spacing (in pixels) between each item in the grid layout. - -**Contact settings** - -The theme comes with a pre-made contact form that you can use with [Formspree](https://formspree.io/), which is free for up to 50 submissions per month. Please read through their website for instructions on how to set up your contact form. You could also easily adapt it to use another contact form service. - -`form_action` – this is the action attribute that you get from FormSpree, for example `https://formspree.io/your@email.com` -`confirmation_url` – by default the user is shown a default Formspree thank you page. You can use this setting to provide an alternative URL for that page, for example `/thanks` – we have included a basic thank you page with the theme. -`email_subject` – choose the subject of the email you receive from Formspree. -`send_button_text` – change the text used on the form submit button. - -Hint: you can add the contact form to any page of your site using the include – `{% include contact-form.html %}` – for example if you wanted to have the contact form on your About page. - -**Social settings** - -Here you can add links to your profiles on social networks, and they'll be shown in the sidebar. Simply add your URL next to the ones you want to show. - -**Color settings** - -Here you can set all the different colors used by the theme. Try them out and find the color pallette that works for you! - -**Font settings** - -`font_embed` – add an embed code from an external font service. This allows you to use services like Google Fonts or Typekit. -`title_font` – set the CSS name for the font used on titles. -`body_font` – set the CSS anme for the font used for body text. -`regular_weight` – set the font weight for regular styled text. -`bold_weight` – set the font weight for bold styled text. - -Below these options, you'll see options for each typographical element used in the theme. For each, you can set the following options: - -`small_size` – the size (in pixels) used for this element on small size screens like mobile phones. -`medium_size` – the size (in pixels) used for this element on medium size screens like tablets. -`large_size` – the size (in pixels) used for this element on largers screens like laptops and desktops. -`weight` – the font weight for this element. -`letter_spacing` – the letter spacing (in ems) for this element. -`line_height` – the line-height (in decimals) for this element. - -**Advanced options** - -`ajax_loading` – use `true` to enable Ajax loading throughout your site. Use `false` to disable it and load pages normally – this can be helpful if you're adding plugins or other javascript to your pages. -`analytics_code` – use this option to add your Google Analytics code. -`custom_styles` – use this option to add custom CSS styles to the theme. -`header_js` – use this option to insert javascript into the header of the page. -`footer_js` – use this option to insert javascript at the end of the page. - ---- - -### Images - -Inside the `/images/` folder you'll find a few images included with the theme. - -The images in the `/demo/` subfolder are used in the demo project, post and page – you delete those if you don't need them. - -`favicon.png` – you should replace this with the favicon image you'd like to use for your website. - -`social.jpg` – this image is used by default as the meta image on the Home and Blog pages. This shows up on social shares of your page, for example Facebook or Twitter – so you should change it to a relevant image, or change the image URL in that page's Front Matter (see below). - ---- - -## Main pages - -The theme comes with some pages set up ready for your content. - -### The home page – `/index.html` - -This is your website home page. You can edit some details in the Front Matter at the top of the page: - -`title` – this sets the page title, which shows up in the browser's title bar and on search engine results, social shares etc. -`description` – this sets the page meta description, which shows up on search engine results, social shares etc. -`featured_image` – this sets the page meta image, which shows up on social shares. - -### The blog page – `/blog/index.html` - -This is the blog listing page, which shows all your blog posts. You can edit the same things as on the home page to customise it for your website. - ---- - -## Projects, posts and pages - -These control the main content of your website, and are found inside the `_projects`, `_posts` and `_pages` folders. - -Take a look at the demo content inside each folder for full descriptions on what you can do inside these, and to use as a template for your own content. - ---- - -## Any questions? - -If you have any questions or feedback about the theme, don't hesitate to reach out to hello@jekyllthemes.io for 1-to-1 support direct from the developers! - -🤘 \ No newline at end of file diff --git a/_bibliography b/_bibliography deleted file mode 160000 index 735dee0..0000000 --- a/_bibliography +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 735dee0d1e6e11e1555ad9b8d3160acc5bbf3826 diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 93f7ce5..0000000 --- a/_config.yml +++ /dev/null @@ -1,106 +0,0 @@ -site: Aerospace Controls Laboratory - -collections: - pages: - output: true - permalink: /:name - projects: - output: true - permalink: /projects/:slug - members: - output: true - permalink: /people/:title - posts: - output: false - pinned_posts: - output: false - -defaults: - - - scope: - path: "" - values: - layout: "default" - description: "The Aerospace Controls Lab @ MIT" - - - scope: - path: "" - type: "pages" - values: - featured_image: "/images/social.jpg" - layout: "page" - - - scope: - path: "" - type: "posts" - values: - layout: "post" - - - scope: - path: "" - type: "projects" - values: - featured_image: "/images/social.jpg" - layout: "project" - - scope: - path: "" - type: "members" - values: - layout: "member" - portrait: "/images/members/default.png" - -markdown: kramdown - -kramdown: - input: GFM - syntax_highlighter: rouge - -sass: - style: compressed - -plugins: - - jekyll-paginate - - jekyll-sitemap - - jekyll-scholar - -paginate: 6 -paginate_path: "/page:num/" - -scholar: - use_raw_bibtex_entry: true - bibliography: ACL_Publications.bib - style: _bibliography/aiaa - - bibliography_template: bib_link - - bibliography_list_tag: ul - bibliography_item_tag: li - - sort_by: year, month - order: descending - # group_by: type - bibliography_group_tag: 'h3,h4,h5' - - missing_reference: '' - - type_names: - article: "Articles" - incollections: "Collections" - periodical: "Periodicals" - type_aliases: - conference: inproceedings - proceedings: inproceedings - other: misc - inbook: incollections - online: misc - type_order: ['article', 'inproceedings', 'theses'] - -exclude: - - Gemfile - - Gemfile.lock - - README.md - - 00_serve.sh - - 01_discard-edits.sh - - 02_build-and-deploy.sh - - 03_open-firefox.sh - - Makefile diff --git a/_data/people.yml b/_data/people.yml deleted file mode 100755 index f19298b..0000000 --- a/_data/people.yml +++ /dev/null @@ -1,42 +0,0 @@ -############################## -# This page should only be # -# used for members w/o their # -# own page (faculty/urop) # -############################## - -# Faculty -- kerberos: jhow - name: Prof. Jonathan P. How - position: Faculty - title: Ford Professor of Engineering, MIT - office: 31-233 - webpage: https://www.mit.edu/~jhow/ - portrait: /images/members/s_jon2.gif - active: true - -# UROPs - -- kerberos: sni - name: Susan Ni - position: UROP - active: false - -- kerberos: mnasir - name: Mohammed Nasir - position: UROP - active: false - -- kerberos: rewang - name: Rose Wang - position: SuperUROP - active: false - -- kerberos: jjgraves - name: Josh Graves - position: UROP - active: false - -- kerberos: bckoenig - name: Ben Koenig - position: UROP - active: false diff --git a/_data/settings.yml b/_data/settings.yml deleted file mode 100644 index 20a3056..0000000 --- a/_data/settings.yml +++ /dev/null @@ -1,231 +0,0 @@ -basic_settings: - site_title: Aerospace Controls Laboratory - site_tagline: Massachusetts Institute of Technology - favicon_folder: /images/favicons - -header_settings: - logo_image: /images/logos/acl_logo.svg - logo_width: 200 - mit_logo: /images/logos/mit_logo.svg - mit_url: https://mit.edu/ - lids_logo: /images/logos/lids_logo.png - lids_url: https://lids.mit.edu - aeroastro_logo: /images/logos/aeroastro_logo.svg - aeroastro_url: https://aeroastro.mit.edu/ - accessibility_url: https://accessibility.mit.edu/ - accessibility_str: Accessibility - -menu_settings: - menu_items: - - title: 'Home' - url: '/' - - title: 'People' - url: '/people' - - title: 'Projects' - url: '/projects' - - title: 'Publications' - url: '/publications' - - title: 'Contact' - url: '/contact' - quick_links: - - title: 'Prof. Jonathan How' - url: https://www.mit.edu/~jhow/ - - title: 'ACL Admin Assistant' - url: /people/bryt - - title: 'MIT AeroAstro' - url: https://aeroastro.mit.edu/ - - title: 'YouTube Channel' - url: https://www.youtube.com/user/AerospaceControlsLab - - title: 'GitHub' - url: https://www.github.com/mit-acl - - title: 'ACL Wiki (internal)' - url: https://wikis.mit.edu/confluence/display/acl/Home - -member_settings: - positions: - - type: Admin - header: Administrative Assistants - - type: Research - header: Research Scientists - - type: Postdoc - header: Postdoctoral Scholars - - type: PhD - header: PhD Students - - type: Master - header: Master's Students - - type: Visiting - header: Visiting Scholars - -grid_settings: - overlay_opacity: 0.95 - grid_spacing: 20 - -contact_settings: - form_action: 'https://formspree.io/acl-contact@mit.edu' - confirmation_url: '/thanks' - email_subject: 'Contact form submission' - send_button_text: 'Send Message' - -social_settings: - facebook_url: '' - twitter_url: '' - instagram_url: '' - snapchat_url: '' - youtube_url: '' - google-plus_url: '' - vimeo_url: '' - pinterest_url: '' - medium_url: '' - quora_url: '' - amazon_url: '' - apple_url: '' - android_url: '' - tumblr_url: '' - dribbble_url: '' - behance_url: '' - deviantart_url: '' - github_url: '' - reddit_url: '' - flickr_url: '' - etsy_url: '' - kickstarter_url: '' - soundcloud_url: '' - spotify_url: '' - bandcamp_url: '' - linkedin_url: '' - -color_settings: - background_color: '#ffffff' - background_alt_color: '#F5F7FA' - text_dark_color: '#1f2328' - text_medium_color: '#56606d' - text_light_color: '#ABB7B7' - accent_color: '#0C5DF2' - border_color: '#dddddd' - overlay_background_color: '#0C5DF2' - overlay_background_color_one: '#448EF6' - overlay_background_color_two: '#09619D' - overlay_background_color_three: '#00204A' - overlay_text_color: '#ffffff' - overlay_accent_color: '#2A2F36' - error_color: '#D64541' - -font_settings: - font_embed: '' - title_font: '"Montserrat", sans-serif' - body_font: '"Montserrat", sans-serif' - regular_weight: 300 - bold_weight: 500 - site_title: - small_size: 25 - medium_size: 35 - large_size: 45 - weight: 500 - letter_spacing: -0.02 - site_tagline: - small_size: 16 - medium_size: 18 - large_size: 20 - weight: 500 - letter_spacing: 0 - line_height: 1.5 - menu: - small_size: 30 - medium_size: 15 - large_size: 18 - weight: 500 - letter_spacing: 0 - grid_item_title: - small_size: 22 - medium_size: 26 - large_size: 30 - weight: 500 - letter_spacing: -0.02 - grid_item_subtitle: - small_size: 15 - medium_size: 16 - large_size: 17 - weight: 300 - letter_spacing: 0 - h1: - small_size: 25 - medium_size: 35 - large_size: 45 - weight: 500 - letter_spacing: -0.02 - line_height: 1.2 - h2: - small_size: 22 - medium_size: 30 - large_size: 35 - weight: 500 - letter_spacing: -0.02 - line_height: 1.2 - h3: - small_size: 22 - medium_size: 25 - large_size: 30 - weight: 500 - letter_spacing: -0.02 - line_height: 1.3 - h4: - small_size: 18 - medium_size: 22 - large_size: 24 - weight: 500 - letter_spacing: 0 - line_height: 1.6 - h5: - small_size: 17 - medium_size: 20 - large_size: 22 - weight: 500 - letter_spacing: 0 - line_height: 1.6 - h6: - small_size: 17 - medium_size: 20 - large_size: 20 - weight: 500 - letter_spacing: 0 - line_height: 1.6 - p: - small_size: 16 - medium_size: 18 - large_size: 20 - weight: 300 - letter_spacing: 0 - line_height: 1.6 - blockquote: - small_size: 25 - medium_size: 35 - large_size: 45 - weight: 300 - letter_spacing: -0.02 - line_height: 1.6 - buttons: - weight: 500 - letter_spacing: 0 - blogpost: - small_size: 15 - medium_size: 16 - large_size: 18 - weight: 300 - letter_spacing: 0 - line_height: 1.6 - -advanced_settings: - ajax_loading: true - analytics_code: " - - - " - custom_styles: "" - header_js: "" - footer_js: "" diff --git a/_docker/CONFIG.sh b/_docker/CONFIG.sh deleted file mode 100644 index dce02db..0000000 --- a/_docker/CONFIG.sh +++ /dev/null @@ -1 +0,0 @@ -DOCKER_TAG="acl-website" diff --git a/_docker/Dockerfile b/_docker/Dockerfile deleted file mode 100644 index 43b6732..0000000 --- a/_docker/Dockerfile +++ /dev/null @@ -1,40 +0,0 @@ -#FROM ros:melodic -FROM ubuntu:22.04 - -RUN apt-get update -RUN apt-get upgrade -y -RUN apt-get install -q -y --no-install-recommends apt-utils -RUN apt-get install -q -y --no-install-recommends net-tools iproute2 iputils-ping curl -RUN apt-get install -q -y --no-install-recommends git tmux vim apt-utils -RUN apt-get install -q -y --no-install-recommends gnupg2 ca-certificates -RUN apt-get autoremove -y -RUN apt-get clean -#RUN rm -rf /var/lib/apt/lists/* - -SHELL ["/bin/bash", "-c"] - -# https://rvm.io/ -#RUN gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB -RUN gpg2 -v --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB -#RUN \curl -sSL https://get.rvm.io | bash -s stable --rails -RUN curl -sSL https://get.rvm.io | bash -s stable - -# Need to install OpenSSL 1.1 to build successfully -# REFERENCE: https://stackoverflow.com/a/72991803 -RUN . /usr/local/rvm/scripts/rvm && rvm pkg install openssl -RUN . /usr/local/rvm/scripts/rvm && rvm install ruby-2.6 --with-openssl-dir=/usr/local/rvm/usr -RUN . /usr/local/rvm/scripts/rvm && gem update --system 3.2.3 -RUN . /usr/local/rvm/scripts/rvm && gem install bundler -v 2.4.22 - -# Copy Gem files to Docker so we can make install all the needed packages -COPY ./copy/install /install -WORKDIR /install -RUN . /usr/local/rvm/scripts/rvm && bundle install - -# Add rvm to .bashrc for user -RUN echo "source /usr/local/rvm/scripts/rvm" >> ~/.bashrc - -WORKDIR /root/bridge - -COPY ./copy/entrypoint.sh /entrypoint.sh -ENTRYPOINT ["/entrypoint.sh"] diff --git a/_docker/build.sh b/_docker/build.sh deleted file mode 100755 index 22ddb59..0000000 --- a/_docker/build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash -#docker build --no-cache -t $DOCKER_TAG . -#docker build -t $DOCKER_TAG . - -source CONFIG.sh - -ARGS='' -if [ "$1" == 'clean' ]; then - ARGS="--no-cache" -fi - -docker build $ARGS -t $DOCKER_TAG . diff --git a/_docker/copy/entrypoint.sh b/_docker/copy/entrypoint.sh deleted file mode 100755 index 49aff03..0000000 --- a/_docker/copy/entrypoint.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -source /usr/local/rvm/scripts/rvm -cd ~/bridge - -#if [[ "$1" == "serve"]]; then -# make serve -#fi -# -#make build - -make $1 diff --git a/_docker/copy/install/Gemfile b/_docker/copy/install/Gemfile deleted file mode 100644 index 5633f3f..0000000 --- a/_docker/copy/install/Gemfile +++ /dev/null @@ -1,19 +0,0 @@ -source 'https://rubygems.org' - -gem 'jekyll', '3.8.4' -gem 'unicode' -gem 'addressable', '2.8.1' -gem 'concurrent-ruby', '1.3.4' -gem 'citeproc', '1.0.10' -gem 'rexml', '3.3.9' -gem 'ffi', '1.17.0' -gem 'http_parser.rb', '0.8.1' -gem 'listen', '3.10.0' -gem 'latex-decode', '0.4.2' -gem 'logger', '1.7.0' - -group :jekyll_plugins do - gem 'jekyll-paginate' - gem 'jekyll-sitemap' - gem 'jekyll-scholar' -end diff --git a/_docker/copy/install/Makefile b/_docker/copy/install/Makefile deleted file mode 100644 index 154d515..0000000 --- a/_docker/copy/install/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -.PHONY: serve build install - -serve: - @bundle exec jekyll serve --watch --port 4001 - -build: - @bundle exec jekyll build - -install: - @bundle install diff --git a/_docker/run.sh b/_docker/run.sh deleted file mode 100755 index 5957b1f..0000000 --- a/_docker/run.sh +++ /dev/null @@ -1,10 +0,0 @@ -#/usr/bin/env bash -#docker run -it $DOCKER_TAG - -source CONFIG.sh - -OPTIONS="--rm" -NETWORK="--net=host" -VOLUMES="-v $(pwd)/..:/root/bridge" - -docker run -it $OPTIONS $NETWORK $VOLUMES $DOCKER_TAG $@ diff --git a/_includes/contact-form.html b/_includes/contact-form.html deleted file mode 100644 index 8c1ba77..0000000 --- a/_includes/contact-form.html +++ /dev/null @@ -1,30 +0,0 @@ -
- -
- -
- - -
- -
- - -
- -
- - -
- - - - - -
- -
- -
- -
\ No newline at end of file diff --git a/_includes/footer.html b/_includes/footer.html deleted file mode 100644 index f4de6a1..0000000 --- a/_includes/footer.html +++ /dev/null @@ -1,19 +0,0 @@ - diff --git a/_includes/header.html b/_includes/header.html deleted file mode 100644 index 4c4dec6..0000000 --- a/_includes/header.html +++ /dev/null @@ -1,68 +0,0 @@ -
- -
- - {% if site.data.settings.header_settings.logo_image %} - - {% else %} - - {{ site.data.settings.basic_settings.site_title }} - - {% endif %} - -

{{ site.data.settings.basic_settings.site_title }}

- - - -
- -
- -
- - - - - - {% include socials.html %} - - - - - -
- -
- -
diff --git a/_includes/socials.html b/_includes/socials.html deleted file mode 100644 index 64ea896..0000000 --- a/_includes/socials.html +++ /dev/null @@ -1,11 +0,0 @@ -
    - {% for url in site.data.settings.social_settings %} - {% if url[1] != '' %} -
  • - - - -
  • - {% endif %} - {% endfor %} -
\ No newline at end of file diff --git a/_layouts/bib_link.html b/_layouts/bib_link.html deleted file mode 100644 index 6f5877a..0000000 --- a/_layouts/bib_link.html +++ /dev/null @@ -1,10 +0,0 @@ ---- ---- -{{ reference }} -{% if entry.url %} - [PDF] -{% endif %} -[BibTeX] -
-{{ entry.bibtex }}
-
\ No newline at end of file diff --git a/_layouts/category.html b/_layouts/category.html deleted file mode 100644 index 4944952..0000000 --- a/_layouts/category.html +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: default -pagination: - enabled: true -autopages: - title: THECATTITLE ---- - -
- -
- -
- - {% for post in paginator.posts %} - -
- -
- - {% if post.featured_image %} - - {{ post.title }} - - {% endif %} - -
-

{{ post.title }}

- -

{{ post.excerpt | remove: '

' | remove: '

' }}

-
- -
- -
- - {% endfor %} - - {% if paginator.total_pages > 1 %} -
- {% if paginator.previous_page %} - Newer Posts - {% endif %} - {% if paginator.next_page %} - Older Posts - {% endif %} -
- {% endif %} - -
- - {% include sidebar.html %} - -
\ No newline at end of file diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index 3dbd50e..0000000 --- a/_layouts/default.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - {% if page.redirect_to %} - - - - {% endif %} - - - - - - - - - - - - - - {% if page.url == "/" %}{{ site.data.settings.basic_settings.site_title }} - {{ site.data.settings.basic_settings.site_tagline }}{% elsif page.url contains "/people/" %}{% if page.url contains "index" %}{{ page.title }} - {{ site.data.settings.basic_settings.site_title }}{% else %}{{ page.name }} - {{ site.data.settings.basic_settings.site_title }}{% endif %}{% else %}{{ page.title }} - {{ site.data.settings.basic_settings.site_title }}{% endif %} - - - - - - - - - - - - - - - {% if site.data.settings.font_settings.font_embed %} - - {{ site.data.settings.font_settings.font_embed }} - {% endif %} - - - - - - - - - - {% if site.data.settings.advanced_settings.custom_styles %} - - - {% endif %} - - {% if site.data.settings.advanced_settings.analytics_code %} - - {{ site.data.settings.advanced_settings.analytics_code }} - {% endif %} - - {% if site.data.settings.advanced_settings.header_js %} - - {{ site.data.settings.advanced_settings.header_js }} - {% endif %} - - - - - - - - {% include header.html %} - - -
- -
- - -
- -
- - {{ content }} - -
- -
- - - {% include footer.html %} - - - - - - - {% if site.data.settings.advanced_settings.footer_js %} - - {{ site.data.settings.advanced_settings.footer_js }} - {% endif %} - - - - - - - \ No newline at end of file diff --git a/_layouts/member.html b/_layouts/member.html deleted file mode 100644 index 448a246..0000000 --- a/_layouts/member.html +++ /dev/null @@ -1,198 +0,0 @@ ---- -layout: default ---- -
-
- - - - -
- - - - - - -
-
-

- {{ page.name }} -

-
- {% if page.active %} -

- {{ page.title }} -

- {% else %} -

- Alum -

- {% endif %} -
-
- -
-
-

- {{ page.content }} -

-
-

- {% if page.links %} - {% for link in page.links %} - {{ link.type }} - {% if forloop.last == false %} -  /  - {% endif %} - {% endfor %} -
- {% endif %} - {% if page.phone %} - {{ page.phone }}
- {% endif %} - {{ page.kerberos }} [at] mit [dot] edu -
- {{ page.office }} -

-
-
- -
-
- - - {% if page.education %} - - - - -
-

- Education -

-
- - - - -
-
    - {% for degree in page.education %} -
  • - {% if degree.current %} - {{ degree.type }} in {{ degree.study }}, {{ degree.school }}{% if degree.start %}, {{ degree.start }} - current{% endif %} - {% else %} - {{ degree.type }} in {{ degree.study }}, {{ degree.school }}{% if degree.graduation %}, {{ degree.graduation }}{% endif %} - {% endif %} -
  • - {% endfor %} -
-
- {% endif %} - - - {% if page.interests %} - - - - -
-

- Research Interests -

-
- - - - -
-
    - {% for interest in page.interests %} -
  • - {{ interest }} -
  • - {% endfor %} -
-
- {% endif %} - - - {% if page.awards %} - - - - -
-

- Awards -

-
- - - - -
-
    - {% for award in page.awards %} -
  • - {{ award.name }}, {{ award.date }} -
  • - {% endfor %} -
-
- {% endif %} - - - {% assign projects = site.projects | where: 'authors', page.kerberos | sort: 'date' %} - {% if projects.size > 0 %} - - - - -
-

- Projects -

-
- - {% for project in projects reversed %} - - {% if project.featured_image %} - - - - {% endfor %} -
- {{ project.image_alt }} - - {% else %} - - {% endif %} -

- - {{ project.title }} - -
- {% for author in project.authors %} - {% if author == page.kerberos %} - {{ page.name }}, - {% else %} - {% assign other_author = site.members | where: 'kerberos', author | first %} - {% if other_author %} - {{ other_author.name }}, - {% else %} - {{ author }}, - {% endif %} - {% endif %} - {% endfor %} {{ project.date | date: "%Y"}} -
-

- {{ project.description }} -

-

-
- {% endif %} -
-
-
diff --git a/_layouts/page.html b/_layouts/page.html deleted file mode 100644 index 15c02e0..0000000 --- a/_layouts/page.html +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: default ---- - -
- -
- -

{{ page.title }}

-

{{ page.subtitle }}

- -
- -
- -
- -
- - {{ page.content }} - -
- -
\ No newline at end of file diff --git a/_layouts/post.html b/_layouts/post.html deleted file mode 100644 index 5b5c978..0000000 --- a/_layouts/post.html +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: default ---- - -
- -
- -

{{ page.title }}

-

{{ page.date | date_to_long_string }}

- -
- -
- -
- -
- - {{ page.content }} - -
- -
\ No newline at end of file diff --git a/_layouts/project.html b/_layouts/project.html deleted file mode 100644 index cb8f80c..0000000 --- a/_layouts/project.html +++ /dev/null @@ -1,43 +0,0 @@ ---- -layout: default ---- - -
- -
- -

{{ page.title }}

-

- {% for author in page.authors %} - {% assign member = site.members | where: 'kerberos', author | first %} - {% if member %} - {{ member.name }}{% if forloop.last == false %},{% endif %} - {% else %} - {{ author }}{% if forloop.last == false %},{% endif %} - {% endif %} - {% endfor %} -

- -
- -
- -
- -
- - {{ page.content }} - - {% if page.papers %} -

Related Publications

-
    - {% for citation in page.papers %} -
  • - {% reference {{ citation }} %} -
  • - {% endfor %} -
- {% endif %} -
- -
\ No newline at end of file diff --git a/_pages/people.html b/_pages/people.html deleted file mode 100644 index 199ccc1..0000000 --- a/_pages/people.html +++ /dev/null @@ -1,147 +0,0 @@ ---- -layout: default -title: People -description: ACL Directory -featured_image: /images/social.jpg -permalink: /people/index.html ---- -
-
-

People

- - - - -
- - - {% assign faculty = site.data.people | where: 'position', "Faculty" %} - {% if faculty.size > 0 %} - - - - {% for member in faculty %} - - - - - {% endfor %} - {% endif %} - - - {% for position in site.data.settings.member_settings.positions %} - {% assign people = site.members | where: 'position', position.type | where: 'active', true | sort: "name", "first" %} - {% if people.size > 0 %} - - - - {% for member in people %} - - - - - {% endfor %} - {% endif %} - {% endfor %} - - - {% assign urops = site.data.people | where: 'position', "SuperUROP" | where: 'active', true | sort: "name", "first" %} - {% if urops.size > 0 %} - - - - - - - {% endif %} - - - {% assign urops = site.data.people | where: 'position', "UROP" | where: 'active', true | sort: "name", "first" %} - {% if urops.size > 0 %} - - - - - - - {% endif %} - - - {% assign alum = site.members | where: 'active', false |sort: "name", "first" %} - {% if alum.size > 0 %} - - - - - - - {% endif %} - -
-

Faculty

-
-
- {% if member.portrait %} - - {% else %} - - {% endif %} -
-
-
- {% if member.webpage %} - {{ member.name }} - {% else %} - {{ member.name }} - {% endif %} -
-

{{ member.title }}

-
-

{{ position.header }}

-
-
- -
-
-
- {{ member.name }} -
-
-

SuperUROPs

-
-
    - {% for member in urops %} -
  • -

    {{ member.name }}

    -
  • - {% endfor %} -
-
-

UROPs

-
-
    - {% for member in urops %} -
  • -

    {{ member.name }}

    -
  • - {% endfor %} -
-
-

Alumni

-
- -
-
-

- - Credit to Jon Barron for the source code used in ACL member portfolios - -

-
-
\ No newline at end of file diff --git a/_pages/projects.html b/_pages/projects.html deleted file mode 100644 index 0040136..0000000 --- a/_pages/projects.html +++ /dev/null @@ -1,80 +0,0 @@ ---- -layout: default -title: Projects -description: A minimal, fixed sidebar grid portfolio Jekyll theme. -featured_image: /images/social.jpg -permalink: '/projects/index.html' ---- - -{% assign active_projects = site.projects | where: 'active', 'true' %} -{% assign past_projects = site.projects | where: 'active', false %} - -
- - - - {% if past_projects.size > 0 %} -
- {% endif %} - -
- -{% if past_projects.size > 0 %} - -
- -
- - - - - - - - -
-

Previous projects

-
- -
- -
- -
- -{% endif %} \ No newline at end of file diff --git a/_pages/publications.html b/_pages/publications.html deleted file mode 100644 index 8da001a..0000000 --- a/_pages/publications.html +++ /dev/null @@ -1,44 +0,0 @@ ---- -layout: default -title: Publications -description: A collection of published works from ACL -featured_image: /images/social.jpg -permalink: /publications/index.html ---- - -{% assign current_year = site.time | date: "%Y" %} -{% assign latest_year = current_year %} -{% assign earliest_year = 1990 %} - -
- -
-

Publications

-
-
    -
  • Quick links:
  • - {% for year in (earliest_year..latest_year) reversed %} - {% assign remainder = year | modulo: 5 %} - {% if remainder == 0 and forloop.first == false %} -
  • - {{ year }} -
  • - {% else %} - {% continue %} - {% endif %} - {% endfor %} -
-
- - {% for year in (earliest_year..latest_year) reversed %} -
-

{{year}}

- {% if forloop.first == false %} - (Return to top) - {% endif %} - {% bibliography --query @*[year~={{year}}] --template bib_link %} -
- {% endfor %} -
- -
\ No newline at end of file diff --git a/_posts/2019-05-02-auvsi-xcellence-humanitarian-award.md b/_posts/2019-05-02-auvsi-xcellence-humanitarian-award.md deleted file mode 100644 index ebacf48..0000000 --- a/_posts/2019-05-02-auvsi-xcellence-humanitarian-award.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "Search and Rescue Work Recognized with 2019 AUVSI XCELLENCE Humanitarian Award" -date: 2019-05-02 -featured_image: '/images/posts/auvsi_logo.png' ---- - -{% assign yulun = site.members | where: 'kerberos', 'yulun' | first %} - -Congratulations to {{ yulun.name }} for being one of 5 innovators to share the 2019 AUVSI XCELLENCE Humanitarian Award. His work, Search and Rescue under the Canopy (SARUC), aims to locate humans and materials lost in challenging and cluttered forest areas. - -[Award Announcement](https://www.auvsi.org/five-innovators-share-2019-auvsi-xcellence-humanitarian-award) \ No newline at end of file diff --git a/_posts/2019-05-13-brett-graduation.md b/_posts/2019-05-13-brett-graduation.md deleted file mode 100644 index 43d3374..0000000 --- a/_posts/2019-05-13-brett-graduation.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Brett has graduated from ACL! -date: 2019-05-13 ---- - -{% assign brett = site.members | where: 'kerberos', 'btlopez' | first %} - -Congratulations to {{ brett.name }} who has succesfully defended his doctoral thesis entitled, [Adaptive Robust Model Predictive Control for Nonlinear Systems](http://acl.mit.edu/papers/LopezPhDThesis.pdf). - -[Brett's Homepage]({{ brett.url }}) \ No newline at end of file diff --git a/_posts/2019-05-24-jamieson-icra-debate-2019.md b/_posts/2019-05-24-jamieson-icra-debate-2019.md deleted file mode 100644 index f518b69..0000000 --- a/_posts/2019-05-24-jamieson-icra-debate-2019.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Master's Student Stewart Jamieson gives talk at ICRA 2019" -date: 2019-05-24 -featured_image: '/images/posts/jamieson_icra_2019.jpg' ---- - -{% assign stewart = site.members | where: 'kerberos', 'sjamieso' | first %} - -{{ stewart.name }} gave a lightning talk titled [The Pervasiveness of Deep Learning in Robotics Research Does Not Impede Scientific Insights into Robotics Problems](http://roboticsdebates.org/pdf/Stewart%20Jamieson%20-%20Pervasiveness%20of%20Deep%20Learning.pdf) at the *Debates on the Future of Robotics Research* workshop at ICRA 2019. \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..99432eb --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,25 @@ +// @ts-check +import { defineConfig } from 'astro/config'; +import remarkSmartypants from 'remark-smartypants'; +import remarkImageParagraphs from './src/lib/remark-image-paragraphs.ts'; +import remarkReferences from './src/lib/remark-references.ts'; + +// ACL website. Static output in ./dist, deployed to GitHub Pages by +// .github/workflows/deploy.yml. +export default defineConfig({ + site: 'https://acl.mit.edu', + trailingSlash: 'ignore', + build: { + // Keep the old site's URLs: `people/index.astro` -> /people/index.html, + // `people/[kerberos].astro` -> /people/.html (served at /people/). + format: 'preserve', + }, + markdown: { + // Typographic quotes and dashes as on the old (kramdown) site: `--` is an + // en dash, `---` an em dash. + smartypants: false, + remarkPlugins: [[/** @type {any} */ (remarkSmartypants), { dashes: 'oldschool' }], remarkReferences, remarkImageParagraphs], + syntaxHighlight: 'shiki', + shikiConfig: { theme: 'github-light' }, + }, +}); diff --git a/bibliography/.gitignore b/bibliography/.gitignore new file mode 100644 index 0000000..cd0640c --- /dev/null +++ b/bibliography/.gitignore @@ -0,0 +1,5 @@ +# Ignore all .bib files +*.bib + +# Except for ACL_Publications.bib +!ACL_Publications.bib \ No newline at end of file diff --git a/bibliography/ACL_Publications.bib b/bibliography/ACL_Publications.bib new file mode 100644 index 0000000..9306c98 --- /dev/null +++ b/bibliography/ACL_Publications.bib @@ -0,0 +1,9526 @@ +@string{aaai = {Association for the Advancement of Artificial Intelligence (AAAI)}} + +@string{aamas = {International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS)}} + +@string{acc = {American Control Conference (ACC)}} + +@string{aiaa_info = {AIAA Infotech@Aerospace Conference}} + +@string{aiaa_jacic = {Journal of Aerospace Computing, Information, and Communication}} + +@string{aiaa_jais = {Journal of Aerospace Information Systems}} + +@string{allerton = {Allerton Conference on Communication, Control, and Compution}} + +@string{cdc = {IEEE Conference on Decision and Control (CDC)}} + +@string{corl = {Conference on Robot Learning (CoRL)}} + +@string{dars = {International Symposium on Distributed Autonomous Robotic Systems (DARS)}} + +@string{ecml = {European Conference on Machine Learning (ECML)}} + +@string{gnc = {AIAA Guidance, Navigation, and Control Conference (GNC)}} + +@string{icml = {International Conference on Machine Learning (ICML)}} + +@string{icmla = {International Conference on Machine Learning and Applications (ICMLA)}} + +@string{icra = {IEEE International Conference on Robotics and Automation (ICRA)}} + +@string{ieee_csm = {IEEE Control Systems Magazine}} + +@string{ieee_j_ac = {IEEE Transactions on Automatic Control}} + +@string{ieeeaero = {IEEE Aerospace Conference}} + +@string{ieeecst = {IEEE Transactions on Control Systems Technology}} + +@string{ieeetac = {IEEE Transactions on Automatic Control}} + +@string{ieeetsp = {IEEE Transactions on Signal Processing}} + +@string{ijcai = {International Joint Conference on Artificial Intelligence (IJCAI)}} + +@string{ijrr = {International Journal of Robotics Research (IJRR)}} + +@string{iros = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}} + +@string{isrr = {International Symposium on Robotics Research (ISRR)}} + +@string{itsc = {IEEE Conference on Intelligent Transportation Systems (ITSC)}} + +@string{jair = {Journal of Artificial Intelligence and Research (JAIR)}} + +@string{jgcd = {AIAA Journal on Guidance, Control, and Dynamics}} + +@string{jmlr = {Journal of Machine Learning}} + +@string{jota = {Journal of Optimization Theory and Applications}} + +@string{lcss = {IEEE Control Systems Letters (L-CSS)}} + +@string{mit = {Massachusetts Institute of Technology}} + +@string{mitaa = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}} + +@string{mitee = {Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science}} + +@string{mitme = {Massachusetts Institute of Technology, Department of Mechanical Engineering}} + +@string{mor = {Mathematics of Operations Research}} + +@string{nips = {Advances in Neural Information Processing Systems (NeurIPS)}} + +@string{or = {Operations Research}} + +@string{ral = {IEEE Robotics and Automation Letters (RA-L)}} + +@string{rss = {Robotics: Science and Systems (RSS)}} + +@string{suaa = {Stanford University, Department of Aeronautics and Astronautics}} + +@string{suee = {Stanford University, Department of Electrical Engineering}} + +@string{sume = {Stanford University, Department of Mechanical Engineering}} + +@string{tac = {IEEE Transactions on Automatic Control}} + +@string{taes = {IEEE Transactions on Aerospace and Electronic Systems}} + +@string{tnnls = {IEEE Transactions on Neural Networks and Learning Systems (TNNLS)}} + +@string{tro = {IEEE Transactions on Robotics (TRO)}} + +@string{ojcsys = {IEEE Open Journal of Control Systems (OJ-CSYS)}} + +@inproceedings{08uai-ldyna, + author = {Sutton, R. S. and Szepesv{\'a}ri, Cs and Geramifard, A. and Bowling, M.}, + bdsk-url-1 = {https://arxiv.org/abs/1206.3285}, + bdsk-url-online-1 = {http://www.cs.ualberta.ca/~sutton/papers/SSGB-08.pdf}, + booktitle = {Proceedings of the 24th Conference on Uncertainty in Artificial Intelligence}, + citeulike-article-id = {3185864}, + citeulike-linkout-0 = {http://www.cs.ualberta.ca/~sutton/papers/SSGB-08.pdf}, + keywords = {learning, reenforcement}, + pages = {528--536}, + posted-at = {2008-09-03 13:09:41}, + priority = {4}, + title = {Dyna-Style Planning with Linear Function Approximation and Prioritized Sweeping}, + url = {c}, + url-online = {https://arxiv.org/abs/1206.3285}, + year = {2008} +} + +@inproceedings{Aaenz08, + author = {Saenz-Otero, A. and Aoude, G. and Jeffrey, MM and Mohan, S. and Fejzic, A. and Katz, J. and Edwards, CM and Miller, DW}, + booktitle = {59th International Astronautical Congress}, + date-added = {2012-06-22 10:57:13 -0400}, + date-modified = {2012-06-22 10:57:49 -0400}, + title = {{Distributed Satellite Systems Algorithm Maturation with SPHERES Aboard the ISS}}, + year = {2008} +} + +@article{Abbott02_LIGO, + author = {R.~Abbott and R.~Adhikari and G.~Allen and S.~Cowley and E.~Daw and D.~DeBra and J.~Giaime and G.~Hammond and M.~Hammond and C.~Hardham and J.~P.~How and W.~Hua and W.~Johnson and B.~Lantz and K.~Mason and R.~Mittleman and J.~Nichol and S.Richman and J.~Rollins and D.~Shoemaker and G.~Stapfer and R.~Stebbins}, + date-added = {2011-07-08 11:00:36 -0400}, + date-modified = {2011-07-08 11:03:23 -0400}, + journal = {Classical and Quantum Gravity}, + keywords = {robust control}, + month = {April}, + number = {7}, + pages = {1591--1598}, + title = {Seismic {Isolation for Advanced LIGO}}, + volume = {19}, + year = {2002} +} + +@conference{Adams00_IEEEAERO, + author = {Adams, J. C. and Corazzini, T. and Busse, F. and How, J. P. and Capots, L.}, + bdsk-url-1 = {http://acl.mit.edu/papers/IEEE00.pdf}, + bdsk-url-online-1 = {10.1109/AERO.2000.879278}, + booktitle = {IEEE Aerospace Conference}, + date-added = {2011-04-02 08:36:26 -0400}, + date-modified = {2011-04-02 08:36:26 -0400}, + keywords = {GPS}, + month = {March}, + pages = {89-98 vol.7}, + title = {Pseudolite augmented navigation for GEO communication satellite collocation}, + url = {http://acl.mit.edu/papers/IEEE00.pdf}, + volume = {7}, + year = {2000} +} + +@inproceedings{Adams96_ION, + address = {Kansas City, MO}, + author = {J. C. Adams and A. Robertson and K. Zimmerman and J. P. How}, + booktitle = {Proc. of the ION GPS-96 Conference}, + date-added = {2011-07-09 17:08:31 -0400}, + date-modified = {2011-07-09 17:09:01 -0400}, + keywords = {GPS}, + month = {September}, + title = {Technologies for Spacecraft Formation Flying}, + year = {1996} +} + +@inproceedings{Adams98_ION, + author = {Adams, J. C. and How, J. P.}, + booktitle = {Proceedings of the National Technical Meeting - INSTITUTE OF NAVIGATION}, + date-added = {2011-07-09 17:10:03 -0400}, + date-modified = {2011-07-09 20:38:58 -0400}, + keywords = {GPS}, + month = {January}, + pages = {93-102}, + title = {{GPS} Attitude Determination for Spinning Spacecraft with Non-aligned Antenna Arrays}, + year = {1998} +} + +@inproceedings{Adams98_IONa, + author = {Adams, J. C. and Olsen, E. and How, J. P.}, + booktitle = {Proceedings of the Institute of Navigation-GPS Conference (ION GPS-98)}, + date-added = {2011-07-09 20:32:40 -0400}, + date-modified = {2011-07-09 20:36:14 -0400}, + keywords = {GPS}, + month = {September}, + pages = {1743--1752}, + title = {Experiments in GPS attitude determination for spinning spacecraft with non-aligned antenna arrays}, + year = {1998} +} + +@phdthesis{Adams99_PhD, + address = {Cambridge MA}, + author = {John C. Adams}, + bdsk-url-1 = {http://acl.mit.edu/papers/Adams_PhD.pdf}, + keywords = {GPS}, + month = {December}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {Robust GPS Attitude Determination for Spacecraft}, + url = {http://acl.mit.edu/papers/Adams_PhD.pdf}, + year = {1999} +} + +@article{aggarwal2024sdp, + author = {Aggarwal, Naman and How, Jonathan P}, + journal = {arXiv preprint arXiv:2403.14605}, + title = {SDP Synthesis of Maximum Coverage Trees for Probabilistic Planning under Control Constraints}, + year = {2024} +} + +@article{aggarwal2025sdp, + author = {Aggarwal, Naman and How, Jonathan P}, + journal = {IEEE Transactions on Automatic Control}, + publisher = {IEEE}, + title = {SDP Synthesis of Distributionally Robust Backward Reachable Trees for Probabilistic Planning}, + year = {2025} +} + +@inproceedings{Agha14_IROS, + author = {Ali-akbar Agha-mohammadi and N. Kemal Ure and Jonathan P. How and John Vian}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + date-modified = {2014-10-06 23:35:30 +0000}, + title = {Health Aware Stochastic Planning For Persistent Package Delivery Missions using Quadrotors}, + year = {2014} +} + +@inproceedings{Agha14_RSS, + author = {A. Agha-mohammadi and Shayegan Omidshafiei and Christopher Amato and Jonathan P. How}, + booktitle = {Robotics: Science and Systems 2014 Workshop on Distributed Control and Estimation for Robotic Vehicle Networks}, + date-added = {2014-10-06 23:28:21 +0000}, + date-modified = {2014-10-06 23:29:16 +0000}, + title = {{Graph-based Planning to Solve Multi-agent POMDPs}}, + year = {2014} +} + +@mastersthesis{Ahrens08_Masters, + address = {Cambridge MA}, + author = {Spencer G. Ahrens}, + bdsk-url-1 = {http://acl.mit.edu/papers/sahrens_MechE_Masters_Thesis_MIT_2008.pdf}, + keywords = {UAV, Vision, flight control}, + month = {May}, + school = {Massachusetts Institute of Technology, Department of Mechanical Engineering}, + title = {Vision-Based Guidance and Control of a Hovering Vehicle in Unknown Environments}, + url = {http://acl.mit.edu/papers/sahrens_MechE_Masters_Thesis_MIT_2008.pdf}, + year = {2008} +} + +@conference{Ahrens09_ICRA, + author = {Ahrens, S. and Levine, D. and Andrews, G. and How, J. P.}, + bdsk-url-online-1 = {10.1109/ROBOT.2009.5152680}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2011-04-18 09:53:27 -0400}, + date-modified = {2011-04-18 09:53:27 -0400}, + isbn = {1050-4729}, + keywords = {aircraft landing guidance; collision avoidance; computer vision; helicopters; image sensors; position control; video cameras; GPS-denied environment; MAV; drifting position estimation; dual-use sensor; hovering vehicle control; micro aerial vehicle; obstacle avoidance; quadrotor helicopter navigation; video camera; vision-based vehicle guidance; flight control; estimation and tracking}, + month = {May}, + pages = {2643-2648}, + title = {Vision-based guidance and control of a hovering vehicle in unknown, {GPS}-denied environments}, + year = {2009} +} + +@book{Alfriend09_book, + author = {Alfriend, Kyle and Vadali, Srinivas Rao and Gurfil, Pini and How, Jonathan and Breger, Louis}, + date-added = {2013-04-13 12:17:49 +0000}, + date-modified = {2013-04-13 12:18:03 +0000}, + publisher = {Butterworth-Heinemann}, + title = {Spacecraft formation flying: dynamics, control, and navigation}, + volume = {2}, + year = {2009} +} + +@article{Ali14-IJRR, + author = {Agha-mohammadi, Ali-akbar and Chakravorty, Suman and Amato, Nancy}, + journal = {International Journal of Robotics Research (IJRR)}, + number = {2}, + pages = {268--304}, + publisher = {SAGE journals}, + title = {{FIRM}: Sampling-based Feedback Motion Planning Under Motion Uncertainty and Imperfect Measurements}, + volume = {33}, + year = {2014} +} + +@conference{Alighanbari03_ACC, + author = {Alighanbari, M. and Kuwata, Y. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/FP13_41.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2003.1242572}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 10:06:53 -0400}, + date-modified = {2011-04-18 10:06:53 -0400}, + isbn = {0743-1619}, + keywords = {aircraft control; linear programming; remotely operated vehicles; search problems; timing; MILP; Tabu search; approximate decomposition solution method; globally optimal solution; mission completion time; mixed-integer linear programming; multiple UAV control; multiple UAV coordination; timing constraints; unmanned aerial vehicles}, + month = {4-6 June}, + pages = {5311-5316 vol.6}, + title = {Coordination and control of multiple {UAV}s with timing constraints and loitering}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/FP13_41.pdf}, + url-online = {10.1109/ACC.2003.1242572}, + vo = {6}, + volume = {6}, + year = {2003} +} + +@mastersthesis{Alighanbari04_Masters, + address = {Cambridge MA}, + author = {Mehdi Alighanbari}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Alighanbari_SM.pdf}, + keywords = {task allocation}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Task Assignment Algorithms for Teams of UAVs in Dynamic Environments}}, + url = {http://www.mit.edu/people/jhow/papers/Alighanbari_SM.pdf}, + year = {2004} +} + +@inproceedings{Alighanbari04GNC, + address = {Providence, RI}, + author = {M. Alighanbari and L. F. Bertuccelli and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAA-2004-5251.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:44:34 -0400}, + date-modified = {2011-04-02 08:44:34 -0400}, + keywords = {task allocation}, + month = {August}, + number = {AIAA-2004-5251}, + title = {{Filter-Embedded UAV Task Assignment Algorithms For Dynamic Environments}}, + url = {http://acl.mit.edu/papers/AIAA-2004-5251.pdf}, + year = {2004} +} + +@conference{Alighanbari05_ACC, + address = {Portland, OR}, + author = {M. Alighanbari and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC05_ma.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2005.1470731}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 10:07:01 -0400}, + date-modified = {2011-04-18 10:07:01 -0400}, + isbn = {0743-1619}, + keywords = {aerospace control; cooperative systems; dynamic programming; failure analysis; probability; remotely operated vehicles; stochastic processes; adversarial environments; cooperative task assignment; dynamic programming; failure probabilities; one-step look-ahead; real-world air operations planning; stochastic formulation; survival probabilities; two-step look-ahead; unmanned aerial vehicles; task allocation}, + month = {8-10 June}, + pages = {4661-4666 vol. 7}, + title = {Cooperative task assignment of unmanned aerial vehicles in adversarial environments}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/ACC05_ma.pdf}, + url-online = {10.1109/ACC.2005.1470731}, + year = {2005} +} + +@inproceedings{Alighanbari05_CDC, + author = {Alighanbari, M. and How, J. P.}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-07-09 17:22:38 -0400}, + date-modified = {2011-07-09 17:23:17 -0400}, + keywords = {decision making}, + month = {12--15 Dec.}, + owner = {Jonathan P. How}, + pages = {5668--5673}, + timestamp = {2008.02.23}, + title = {Decentralized Task Assignment for Unmanned Aerial Vehicles}, + year = {2005} +} + +@conference{Alighanbari06_ACC, + address = {Minneapolis, MN}, + author = {Alighanbari, M. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC06_AlighanbariHow.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2006.1657263}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 10:05:42 -0400}, + date-modified = {2011-04-18 10:05:42 -0400}, + keywords = {Kalman filters; Kalman filtering; distributed Kalman consensus algorithm; distributed planning; dynamic communication network; static communication network; unbiased Kalman consensus; consensus}, + month = {14-16 June}, + pages = {3519-3524}, + title = {{An Unbiased Kalman Consensus Algorithm}}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/ACC06_AlighanbariHow.pdf}, + url-online = {10.1109/ACC.2006.1657263}, + year = {2006} +} + +@inproceedings{Alighanbari06_CDC, + author = {Alighanbari, M. and Bertuccelli, L. F. and How, J. P.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/CDC.2006.377012}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-07-09 17:21:18 -0400}, + date-modified = {2011-08-24 16:16:47 -0400}, + doi = {10.1109/CDC.2006.377012}, + keywords = {decision making}, + month = {13--15 Dec.}, + owner = {Jonathan P. How}, + pages = {5935--5940}, + timestamp = {2008.02.23}, + title = {{A Robust Approach to the UAV Task Assignment Problem}}, + url = {http://dx.doi.org/10.1109/CDC.2006.377012}, + year = {2006} +} + +@inproceedings{Alighanbari06_GNC, + address = {Keystone, CO}, + author = {Alighanbari, M. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC06_AlighanbariHow.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {task allocation}, + month = {August}, + title = {Robust decentralized task assignment for cooperative UAVs}, + url = {http://acl.mit.edu/papers/GNC06_AlighanbariHow.pdf}, + year = {2006} +} + +@phdthesis{Alighanbari07_PhD, + address = {Cambridge MA}, + author = {Mehdi Alighanbari}, + bdsk-url-1 = {http://acl.mit.edu/papers/AlighanbariPhD.pdf}, + bdsk-url-2 = {http://dspace.mit.edu/handle/1721.1/42177}, + date-modified = {2012-03-30 10:54:41 -0400}, + keywords = {task allocation}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Robust and Decentralized Task Assignment Algorithms for {UAVs}}, + url = {http://dspace.mit.edu/handle/1721.1/42177}, + year = {2007} +} + +@article{Alighanbari08, + author = {M. Alighanbari and J. P. How}, + date-added = {2011-04-18 10:05:52 -0400}, + date-modified = {2011-04-18 10:05:52 -0400}, + journal = {AIAA Journal of Aerospace Computing, Information, and Communication}, + keywords = {Kalman filters; Kalman filtering; distributed Kalman consensus algorithm; distributed planning; dynamic communication network; static communication network; unbiased Kalman consensus; consensus}, + month = {Sept}, + number = {9}, + owner = {Jonathan P. How}, + pages = {298-311}, + timestamp = {2008.07.19}, + title = {{An Unbiased Kalman Consensus Algorithm}}, + volume = {5}, + year = {2008} +} + +@article{Alighanbari08_IJRNC, + author = {M. Alighanbari and J. P. How}, + date-added = {2011-04-02 08:53:52 -0400}, + date-modified = {2011-07-23 14:16:55 -0400}, + journal = {International Journal of Robust and Nonlinear Control}, + keywords = {task allocation}, + month = {January}, + number = {2}, + owner = {Jonathan P. How}, + pages = {118-134}, + timestamp = {2008.07.19}, + title = {A Robust Approach to the {UAV} Task Assignment Problem}, + volume = {18}, + year = {2008} +} + +@article{Alighanbari08_JACIC, + author = {Alighanbari, Mehdi and How, Jonathan P}, + date-added = {2016-07-31 13:41:54 +0000}, + date-modified = {2016-07-31 13:42:06 +0000}, + journal = {Journal of Aerospace Computing, Information, and Communication}, + number = {9}, + pages = {298--311}, + title = {Unbiased Kalman consensus algorithm}, + volume = {5}, + year = {2008} +} + +@inproceedings{Amato13_CDC, + author = {Christopher Amato and Girish Chowdhary and Alborz Geramifard and Nazim Kemal Ure and Mykel J. Kochenderfer}, + booktitle = {Proceedings of the Fifty-Second IEEE Conference on Decision and Control}, + optaddress = {Florence, Italy}, + title = {Decentralized Control of Partially Observable {M}arkov Decision Processes}, + year = {2013} +} + +@techreport{Amato14_arxiv, + author = {Christopher Amato and George D. Konidaris and Gabriel Cruz and Christopher A. Maynor and Jonathan P. How and Leslie P. Kaelbling}, + date-added = {2014-02-13 14:18:18 +0000}, + date-modified = {2014-12-21 17:39:28 +0000}, + note = {\url{http://arxiv.org/abs/1402.2871}}, + title = {Planning for Decentralized Control of Multiple Robots Under Uncertainty}, + year = {2014} +} + +@inproceedings{Amato15_RSS_WS, + author = {Christopher Amato and Shayegan Omidshafiei and Ali-akbar Agha-mohammadi and George Konidaris and Jonathan P. How and Leslie P. Kaelbling}, + booktitle = {Robotics: Science and Systems 2015 Workshop on Principles of Multi-Robot Systems}, + title = {{Probabilistic Planning for Multi-Robot System}}, + year = {2015} +} + +@article{Amato16_IJRR, + author = {Christopher Amato and George Konidaris and Ariel Anders and Gabriel Cruz and Jonathan P. How and Leslie P. Kaelbling}, + bdsk-url-1 = {https://doi.org/10.1177/0278364916679611}, + date-added = {2016-08-22 00:40:46 +0000}, + date-modified = {2018-04-01 18:05:01 +0000}, + journal = {International Journal of Robotics Research (IJRR)}, + month = {August}, + number = {14}, + pages = {1760--1778}, + title = {Policy Search for Multi-Robot Coordination under Uncertainty}, + url = {https://doi.org/10.1177/0278364916679611}, + volume = {35}, + year = {2016} +} + +@conference{And91a, + author = {Anderson, Eric H. and How, Jonathan P.}, + booktitle = {Proceedings of SPIE Conference on Active and Adaptive Optical Systems}, + date-added = {2011-07-09 17:06:03 -0400}, + date-modified = {2011-07-09 17:06:03 -0400}, + location = {San Diego}, + month = {July}, + note = {SPIE Paper 1542--35}, + title = {Implementation Issues in the Control of a Flexible Mirror Testbed}, + year = {1991} +} + +@conference{And91b, + author = {E. H. Anderson and G. H. Blackwood and J. P. How}, + booktitle = {International Symposium on Active Materials and Adaptive Structures}, + date-added = {2011-07-09 17:04:46 -0400}, + date-modified = {2011-07-09 17:04:46 -0400}, + location = {Alexandria, VA}, + month = {November}, + title = {Passive Damping in the {MIT} {SERC} Controlled Structures Testbed}, + year = {1991} +} + +@conference{Anderson97_ACC, + author = {Anderson, E. H. and How, J. P.}, + bdsk-url-online-1 = {10.1109/ACC.1997.610892}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:35:54 -0400}, + keywords = {adaptive control}, + month = {4-6 June}, + pages = {1783-1788}, + title = {Active vibration isolation using adaptive feedforward control}, + ty = {CONF}, + url-online = {10.1109/ACC.1997.610892}, + vo = {3}, + volume = {3}, + year = {1997} +} + +@inproceedings{Anderson97_SDMC, + address = {Kissimmee, FL}, + author = {Anderson, E. H. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC97.pdf}, + booktitle = {AIAA/ASME/ASCE/AHS/ASC Structures, Structural Dynamics, and Materials Conference and Exhibit}, + date-modified = {2011-07-09 20:21:02 -0400}, + keywords = {adaptive control}, + month = {April}, + title = {Adaptive feedforward control for actively isolated spacecraft platforms}, + url = {http://acl.mit.edu/papers/GNC97.pdf}, + year = {1997} +} + +@inproceedings{ankenbauer2023global, + author = {Ankenbauer, Jacqueline and Lusk, Parker C and Thomas, Annika and How, Jonathan P}, + booktitle = {2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + organization = {IEEE}, + pages = {1358--1365}, + title = {Global localization in unstructured environments using semantic object maps built from various viewpoints}, + year = {2023} +} + +@conference{Aoude07_ISSF, + author = {Aoude, G. S. and How, J. P. and Garcia, I. M.}, + bdsk-url-1 = {http://acl.mit.edu/papers/Aoude_How_Garcia_ISSFD07.pdf}, + booktitle = {20th International Symposium on Space Flight Dynamics}, + date-added = {2011-04-18 10:07:21 -0400}, + date-modified = {2011-04-18 10:07:21 -0400}, + keywords = {path planning; spacecraft maneuvers}, + title = {{Two-Stage Path Planning Approach for Designing Multiple Spacecraft Reconfiguration Maneuvers}}, + url = {http://acl.mit.edu/papers/Aoude_How_Garcia_ISSFD07.pdf}, + year = {2007} +} + +@mastersthesis{Aoude07_Masters, + address = {Cambridge MA}, + author = {Aoude, Georges S.}, + bdsk-url-1 = {http://acl.mit.edu/papers/Aoude_SM.pdf}, + keywords = {spacecraft maneuvers}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Two-Stage Path Planning Approach for Designing Multiple Spacecraft Reconfiguration Maneuvers and Application to SPHERES Onboard ISS}}, + url = {http://acl.mit.edu/papers/Aoude_SM.pdf}, + year = {2007} +} + +@inproceedings{Aoude08_ISFFMT, + address = {Noordwijk, The Netherlands}, + author = {Aoude, G. S. and How, J. P. and Miller, D. W.}, + bdsk-url-1 = {http://acl.mit.edu/papers/Aoude_How_Miller_ESA2008.pdf}, + booktitle = {3rd International Symposium on Formation Flying, Missions and Technologies}, + keywords = {spacecraft maneuvers}, + title = {{Reconfiguration Maneuver Experiments using the SPHERES tesbed onboard the ISS}}, + url = {http://acl.mit.edu/papers/Aoude_How_Miller_ESA2008.pdf}, + year = {2008} +} + +@article{Aoude08_JAS, + author = {Aoude, G. S. and How, J. P. and Garcia, I. M.}, + bdsk-url-1 = {http://acl.mit.edu/papers/JAS08_AoudeHowGarcia.pdf}, + date-added = {2011-04-02 08:23:24 -0400}, + date-modified = {2011-04-02 08:23:24 -0400}, + journal = {Journal of the Astronautical Sciences}, + keywords = {spacecraft maneuvers}, + month = {Oct-Dec}, + number = {4}, + pages = {515-544}, + title = {Two-Stage Path Planning Approach for Solving Multiple Spacecraft Reconfiguration Maneuvers}, + url = {http://acl.mit.edu/papers/JAS08_AoudeHowGarcia.pdf}, + volume = {56}, + year = {2008} +} + +@techreport{Aoude09_MITTR, + address = {Cambridge, MA}, + author = {Aoude, G. S. and How, J. P.}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/46720}, + institution = {Massachusetts Institute of Technology}, + keywords = {decision making}, + month = {September}, + note = {{Aerospace Controls Lab}}, + number = {ACL09-02}, + title = {Using Support Vector Machines and {Bayesian} Filtering for Classifying Agent Intentions at Road Intersections}, + url = {http://dspace.mit.edu/handle/1721.1/46720}, + year = {2009} +} + +@inproceedings{Aoude10_IAV, + address = {Lecce, Italy}, + author = {Georges S. Aoude and Brandon D. Luders and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Aoude10_IAV.pdf}, + booktitle = {Proceedings of the IFAC Symposium on Intelligent Autonomous Vehicles}, + keywords = {decision making, path planning}, + month = {September}, + title = {Sampling-Based Threat Assessment Algorithms for Intersection Collisions Involving Errant Drivers}, + url = {http://acl.mit.edu/papers/Aoude10_IAV.pdf}, + year = {2010} +} + +@inproceedings{Aoude10_IROS, + address = {Taipei, Taiwan}, + author = {Georges S. Aoude and Brandon D. Luders and Daniel S. Levine and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/AoudeIROS2010.pdf}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + keywords = {decision making, path planning}, + month = {October}, + pages = {6058--6063}, + title = {Threat-aware Path Planning in Uncertain Urban Environments}, + url = {http://acl.mit.edu/papers/AoudeIROS2010.pdf}, + year = {2010} +} + +@inproceedings{Aoude10_ITSC, + address = {Maderia, Portugal}, + author = {Georges S. Aoude and Brandon D. Luders and Kenneth K. H. Lee and Daniel S. Levine and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Aoude10_ITSC.pdf}, + booktitle = {Proceedings of the IEEE Conference on Intelligent Transportation Systems}, + keywords = {decision making, path planning}, + month = {September}, + pages = {1855--1862}, + title = {Threat Assessment Design for Driver Assistance System at Intersections}, + url = {http://acl.mit.edu/papers/Aoude10_ITSC.pdf}, + year = {2010} +} + +@inproceedings{Aoude11_Info, + author = {Georges Aoude and Joshua Joseph and Nicholas Roy and Jonathan How}, + booktitle = {AIAA Infotech@Aerospace Conference}, + date-added = {2012-07-13 11:48:58 -0400}, + date-modified = {2012-07-13 11:49:35 -0400}, + publisher = {AIAA}, + title = {{Mobile Agent Trajectory Prediction using Bayesian Nonparametric Reachability Trees}}, + year = {2011} +} + +@inproceedings{Aoude11_Infotech, + author = {G. S. Aoude, J. Joseph, N. Roy and J. P. How}, + booktitle = {AIAA Infotech@Aerospace Conference}, + month = {March}, + note = {(AIAA-2011-1512)}, + title = {{Mobile Agent Trajectory Prediction using Bayesian Nonparametric Reachability Trees}}, + year = {2011} +} + +@article{Aoude11_ITS, + abstract = {The ability to classify driver behavior lays the foundation for more +advanced driver assistance systems. In particular, improving safety +at intersections has been identified as a high priority due to the +large number of intersection related fatalities. This paper focuses +on developing algorithms for estimating driver behavior at road intersections +and validating them on real traffic data. It introduces two classes +of algorithms that can classify drivers as compliant or violating. +They are based on i) Support Vector Machines (SVM) and ii) Hidden +Markov Models (HMM), which are two very popular machine learning +approaches that have been used successfully for classification in +multiple disciplines. However, existing work has not explored the +benefits of applying these techniques to the problem of driver behavior +classification at intersections. The developed algorithms are successfully +validated using naturalistic intersection data collected in Christiansburg, +VA, through the US Department of Transportation Cooperative Intersection +Collision Avoidance System for Violations (CICAS-V) initiative. Their +performances are also compared to those of three traditional methods, +and the results show significant improvements with the new algorithms.}, + author = {G. S. Aoude and V. R. Desaraju and L. H. Stephens and J. P. How}, + journal = {IEEE Transactions on Intelligent Transportation Systems}, + keywords = {decision making,driver behavior, intention prediction, driver warning systems}, + title = {Driver Behavior Classification at Intersections and Validation on Large Naturalistic Dataset}, + year = {2012} +} + +@inproceedings{Aoude11_IV, + author = {G. S. Aoude and V. R. Desaraju and L. H. Stephens and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/IV11AoudeDesarajuLaurensHow.pdf}, + booktitle = {Intelligent Vehicles Symposium}, + date-added = {2011-05-29 08:48:35 -0400}, + date-modified = {2011-05-29 08:51:12 -0400}, + keywords = {decision making}, + month = {June}, + organization = {IEEE}, + title = {Behavior Classification Algorithms at Intersections and Validation using Naturalistic Data}, + url = {http://acl.mit.edu/papers/IV11AoudeDesarajuLaurensHow.pdf}, + year = {2011} +} + +@phdthesis{Aoude11_PHD, + address = {Cambridge, MA}, + author = {G.~S.~Aoude}, + bdsk-url-1 = {http://acl.mit.edu/papers/PhD_thesis_sub.pdf}, + date-added = {2011-07-31 10:13:36 -0400}, + date-modified = {2011-10-03 14:55:22 -0400}, + month = {July}, + owner = {Georges}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + timestamp = {2011.07.18}, + title = {{Threat Assessment for Safe Navigation in Environments with Uncertainty in Predictability}}, + url = {http://acl.mit.edu/papers/PhD_thesis_sub.pdf}, + year = {2011} +} + +@article{Aoude13_AURO, + author = {Georges S. Aoude and Brandon D. Luders and Joshua M. Joseph and Nicholas Roy and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Aoude13_AURO.pdf}, + journal = {Autonomous Robots}, + keywords = {path planning, robust control}, + number = {1}, + pages = {51--76}, + title = {Probabilistically Safe Motion Planning to Avoid Dynamic Obstacles with Uncertain Motion Patterns}, + url = {http://acl.mit.edu/papers/Aoude13_AURO.pdf}, + volume = {35}, + year = {2013} +} + +@mastersthesis{Bae99_SM, + address = {Cambridge MA}, + author = {Hong Song Bae}, + date-modified = {2011-07-09 19:37:08 -0400}, + keywords = {feedback control}, + month = {August}, + school = {Stanford University, Department of Mechanical Engineering}, + title = {{Active Vibration Isolation and Alignment Issues for LIGO}}, + year = {1999} +} + +@inproceedings{Banerjee17_ACC, + author = {T. Banerjee and Miao Liu and J. P. How}, + bdsk-url-1 = {http://dx.doi.org/10.23919/ACC.2017.7962986}, + booktitle = {2017 American Control Conference (ACC)}, + doi = {10.23919/ACC.2017.7962986}, + month = {May}, + pages = {399-405}, + title = {{Quickest change detection approach to optimal control in Markov decision processes with model changes}}, + year = {2017} +} + +@article{Banjerdpongchai00_JGCD, + author = {Banjerdpongchai, D. and How, J. P.}, + date-added = {2011-07-08 08:54:38 -0400}, + date-modified = {2011-07-08 08:55:20 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {robust control}, + number = {1}, + pages = {138--142}, + title = {Parametric robust $\mathcal{H}_2$ control design using iterative linear matrix inequalities synthesis}, + volume = {23}, + year = {2000} +} + +@inproceedings{Banjerdpongchai96_CDC, + author = {Banjerdpongchai, D. and How, J. P.}, + bdsk-url-online-1 = {10.1109/CDC.1996.574312}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:35:26 -0400}, + journal = {IEEE Conference on Decision and Control (CDC)}, + journal1 = {Decision and Control, 1996., Proceedings of the 35th IEEE DOI - 10.1109/CDC.1996.574312}, + keywords = {robust control}, + month = {11-13 Dec}, + pages = {265-270}, + title = {Parametric robust H$_{2}$ control design with generalized multipliers via LMI synthesis}, + ty = {CONF}, + url-online = {10.1109/CDC.1996.574312}, + vo = {1}, + volume = {1}, + year = {1996} +} + +@conference{Banjerdpongchai96_GNC, + address = {San Diego, CA}, + author = {Banjerdpongchai, D. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC96.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2011-07-09 20:19:28 -0400}, + keywords = {robust control}, + month = {July}, + title = {{Parametric robust H$_{2}$ control design using LMI synthesis}}, + url = {http://acl.mit.edu/papers/GNC96.pdf}, + year = {1996} +} + +@inproceedings{Banjerdpongchai97_ACC, + author = {Banjerdpongchai, D. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/acc97.pdf}, + bdsk-url-online-1 = {10.1109/ACC.1997.611848}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 11:14:30 -0400}, + keywords = {robust control}, + month = {4-6 June}, + pages = {493-498}, + title = {LMI synthesis of parametric robust H$_{\infty}$ controllers}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/acc97.pdf}, + url-online = {10.1109/ACC.1997.611848}, + vo = {1}, + volume = {1}, + year = {1997} +} + +@conference{Banjerdpongchai97_CDC, + author = {Banjerdpongchai, D. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/cdc97.pdf}, + bdsk-url-online-1 = {10.1109/CDC.1997.657580}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + keywords = {Popov criterion; control system synthesis; convergence; iterative methods; matrix algebra; optimal control; robust control; D-K iteration; Lure system; Popov H$_{2}$ control; bilinear matrix inequality; control system synthesis; convergence; iterative method; optimal control; parametric robust control}, + month = {10-12 Dec}, + pages = {1020-1025}, + title = {Convergence analysis of a parametric robust H$_{2}$ controller synthesis algorithm}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/cdc97.pdf}, + url-online = {10.1109/CDC.1997.657580}, + vo = {2}, + volume = {2}, + year = {1997} +} + +@phdthesis{Banjerdpongchai97_PhD, + address = {Cambridge MA}, + author = {David Banjerdpongchai}, + bdsk-url-1 = {http://acl.mit.edu/papers/Ban_PhD.pdf}, + keywords = {robust control}, + month = {October}, + school = {Stanford University, Department of Electrical Engineering}, + title = {Parametric Robust Controller Synthesis Using Linear Matrix Inequalities}, + url = {http://acl.mit.edu/papers/Ban_PhD.pdf}, + year = {1997} +} + +@conference{Banjerdpongchai98_ACC, + author = {Banjerdpongchai, D. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/banj98.pdf}, + bdsk-url-online-1 = {10.1109/ACC.1998.703063}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 11:15:29 -0400}, + keywords = {robust control}, + month = {21-26 June}, + pages = {2403-2404}, + title = {Parametric robust $\mathcal{H}_{\infty}$ controller synthesis: comparison and convergence analysis}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/banj98.pdf}, + url-online = {10.1109/ACC.1998.703063}, + vo = {4}, + volume = {4}, + year = {1998} +} + +@article{Banjerdpongchai98_IJC, + author = {D. Banjerdpongchai and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/p481_s.pdf}, + journal = {{International Journal of Control}}, + keywords = {robust control}, + number = {3}, + pages = {481-503}, + title = {Parametric robust H$_{2}$ control design with generalized multipliers via LMI synthesis}, + url = {http://acl.mit.edu/papers/p481_s.pdf}, + volume = {70}, + year = {1998} +} + +@article{Bauer01_ST, + author = {F. H. Bauer and J.~O.~Bristow and J.~R.~Carpenter and J.~L.~Garrison and K. Hartman and T. Lee and A. Long and D. Kelbel and V. Lu and J. P. How and F. Busse and P. Axelrad and M. Moreau}, + date-added = {2011-07-08 10:51:58 -0400}, + date-modified = {2011-07-08 10:59:40 -0400}, + journal = {Space Technology}, + keywords = {GPS}, + number = {4}, + pages = {175--185}, + read = {0}, + title = {{Enabling Spacecraft Formation Flying through Spaceborne GPS and Enhanced Autonomy Technologies}}, + volume = {20}, + year = {2001} +} + +@inproceedings{bauer2000enabling, + author = {Bauer, FH and Bristow, JO and Carpenter, JR and Garrison, JL and Hartman, K. and Lee, T. and Long, A. and Kelbel, D. and Lu, V. and How, JP and others}, + booktitle = {Proceedings of the ION/IFAC/ESA International Workshop on Aerospace Applications of the Global Positioning System, Breckenridge, CO}, + date-added = {2011-07-08 08:58:08 -0400}, + date-modified = {2011-07-08 08:58:08 -0400}, + title = {Enabling Spacecraft Formation Flying in Any Earth Orbit Through Spaceborne GPS and Enhanced Autonomy Techniques}, + year = {2000} +} + +@inproceedings{Bauer97_GNC, + address = {New Orleans, LA}, + author = {F. Bauer and J. Bristow and D. Folta and K. Hartman and D. Quinn and J.~P. How}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-07-09 17:09:14 -0400}, + date-modified = {2011-07-09 20:25:12 -0400}, + keywords = {formation flying}, + month = {Aug.}, + title = {Satellite Formation Flying Using an Innovative Autonomous Control System ({AUTOCON}) Environment}, + year = {1997} +} + +@inproceedings{Bauer99_INGPS, + address = {Nashville, TN}, + author = {Bauer, F. H. and Hartman, K. and How, J. P. and Bristow, J. and Weidow, D. and Busse, F.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ion99-final.pdf}, + booktitle = {Proceedings of Institute of Navigation GPS Conference}, + keywords = {formation flying; GPS}, + month = {September}, + organization = {Citeseer}, + title = {Enabling spacecraft formation flying through spaceborne GPS and enhanced automation technologies}, + url = {http://acl.mit.edu/papers/ion99-final.pdf}, + year = {1999} +} + +@inproceedings{Bellingham01_CCCO, + author = {J. Bellingham and M. Tillerson and A. Richards and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/ccco.html}, + booktitle = {Cooperative Control: Models, Applications and Algorithms at the Conference on Coordination, Control and Optimization}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + keywords = {MILP, UAV, Task, path planning}, + month = {November}, + owner = {Brandon}, + pages = {1-19}, + timestamp = {2008.03.31}, + title = {Multi-Task Allocation and Path Planning for Cooperating {UAV}s}, + url = {http://acl.mit.edu/ccco.html}, + year = {2001} +} + +@inproceedings{Bellingham02_ACC, + author = {Bellingham, J. and Richards, A. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/acc_rh.html}, + bdsk-url-online-1 = {10.1109/ACC.2002.1024509}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:36:26 -0400}, + date-modified = {2011-04-02 08:36:26 -0400}, + isbn = {0743-1619}, + keywords = {aerospace control; integer programming; linear programming; position control; remotely operated vehicles; MILP; autonomous aerial vehicles; fixed horizon controller; fixed-wing aerial vehicles; integer linear programming; receding horizon control; trajectory optimization}, + pages = {3741-3746}, + title = {Receding horizon control of autonomous aerial vehicles}, + ty = {CONF}, + url = {http://acl.mit.edu/acc_rh.html}, + url-online = {10.1109/ACC.2002.1024509}, + vo = {5}, + volume = {5}, + year = {2002} +} + +@conference{Bellingham02_CDC, + address = {Las Vegas, NV}, + author = {Bellingham, J. S. and Tillerson, M. and Alighanbari, M. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/cdc02.html}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-18 10:05:00 -0400}, + date-modified = {2011-04-18 10:05:00 -0400}, + isbn = {0191-2216}, + keywords = {aircraft control; cooperative systems; integer programming; linear programming; path planning; probability; cooperative path planning; failure probability; integer programming; linear programming; optimization; survival probability; time-of flight; unmanned aerial vehicles}, + month = {10-13 December}, + pages = {2816-2822 vol.3}, + title = {Cooperative path planning for multiple {UAVs} in dynamic and uncertain environments}, + ty = {CONF}, + url = {http://acl.mit.edu/cdc02.html}, + vo = {3}, + volume = {3}, + year = {2002} +} + +@mastersthesis{Bellingham02_Masters, + address = {Cambridge MA}, + author = {John S. Bellingham}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/Bellingham_SM.pdf}, + keywords = {MILP}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Coordination and Control of UAV Fleets using Mixed-Integer Linear Programming}}, + url = {http://www.mit.edu/people/jhow/Bellingham_SM.pdf}, + year = {2002} +} + +@inproceedings{Bellingham03_GNC, + address = {Austin, TX}, + author = {J. Bellingham and Y. Kuwata and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAA-2003-5635.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:25:45 -0400}, + date-modified = {2011-04-02 08:25:45 -0400}, + keywords = {MILP, UAV, path planning}, + month = {August}, + note = {AIAA Paper 2003-5635}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Stable Receding Horizon Trajectory Control for Complex Environments}, + url = {http://acl.mit.edu/papers/AIAA-2003-5635.pdf}, + year = {2003} +} + +@conference{Bertuccelli04_CDC, + address = {Paradise Island, Bahamas}, + author = {Bertuccelli, L. F. and Alighanbari, M. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/CDC04Bertuccelli.pdf}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 08:26:37 -0400}, + date-modified = {2011-04-02 08:26:37 -0400}, + isbn = {0191-2216}, + keywords = {aerospace robotics; integer programming; linear programming; mobile robots; multi-robot systems; planning (artificial intelligence); remotely operated vehicles; assignment problem; autonomous high-level planning capabilities; coupled cooperative UAV missions; mixed-integer linear problem; MILP; reconnaissance tasks; robust planning; uncertain environment; decision making}, + month = {14-17 Dec.}, + pages = {2917-2922 Vol.3}, + title = {Robust planning for coupled cooperative UAV missions}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/CDC04Bertuccelli.pdf}, + vo = {3}, + volume = {3}, + year = {2004} +} + +@mastersthesis{Bertuccelli04_Masters, + address = {Cambridge MA}, + author = {Bertuccelli, Luca F.}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Bertuccelli_SM.pdf}, + keywords = {decision making}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Robust Planning for Heterogeneous UAVs in Uncertain Environments}}, + url = {http://www.mit.edu/people/jhow/papers/Bertuccelli_SM.pdf}, + year = {2004} +} + +@conference{Bertuccelli05_CDC, + address = {Seville, Spain}, + author = {Bertuccelli, L. F. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/CDC05_BertuccelliHow.pdf}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 08:26:37 -0400}, + date-modified = {2011-04-02 08:26:37 -0400}, + keywords = {estimation and tracking}, + month = {12-15 December}, + pages = {5680-5685}, + title = {Robust UAV Search for Environments with Imprecise Probability Maps}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/CDC05_BertuccelliHow.pdf}, + year = {2005} +} + +@conference{Bertuccelli06_ACC, + address = {Minneapolis, MN}, + author = {Bertuccelli, L. F. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC06_BertuccelliHow.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2006.1655444}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:26:03 -0400}, + date-modified = {2011-04-02 08:26:03 -0400}, + keywords = {estimation and tracking}, + month = {14-16 June}, + pages = {6 pp.-}, + title = {Search for dynamic targets with uncertain probability maps}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/ACC06_BertuccelliHow.pdf}, + url-online = {10.1109/ACC.2006.1655444}, + year = {2006} +} + +@conference{Bertuccelli06_CDC, + author = {Bertuccelli, L. F. and How, J. P.}, + bdsk-url-online-1 = {10.1109/CDC.2006.377010}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 08:24:26 -0400}, + date-modified = {2011-04-02 08:24:26 -0400}, + keywords = {{M}arkov processes; aircraft control; discrete time systems; matrix algebra; motion control; probability; remotely operated vehicles; UAV search; discrete-state {M}arkov chain-like model; discrete-time {M}arkov chain-like model; dynamic targets; probabilistic state transition matrix; stochastic sampling; target motion modeling; uncertain motion models; estimation and tracking}, + month = {13-15 Dec.}, + pages = {5941-5946}, + title = {UAV Search for Dynamic Targets with Uncertain Motion Models}, + ty = {CONF}, + url-online = {10.1109/CDC.2006.377010}, + year = {2006} +} + +@inproceedings{Bertuccelli06_GNC, + address = {Keystone, CO}, + author = {Bertuccelli, L. F. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC06_BertuccelliHow.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {estimation and tracking}, + month = {August}, + title = {{Bayesian} forecasting in multi-vehicle search operations}, + url = {http://acl.mit.edu/papers/GNC06_BertuccelliHow.pdf}, + year = {2006} +} + +@conference{Bertuccelli08_ACC, + author = {Bertuccelli, L. F. and How, J. P.}, + bdsk-url-online-1 = {10.1109/ACC.2008.4587287}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:34:24 -0400}, + date-modified = {2011-04-02 08:34:24 -0400}, + isbn = {0743-1619}, + keywords = {{M}arkov processes; decision making; optimal control; robust control; sampling methods; machine repair problem; optimal control policies; robust {M}arkov decision processes; robust control policies; robust decision-making algorithm; scenario-based robust optimization; sigma point sampling methods; decision making}, + month = {11-13 June}, + pages = {5003-5008}, + title = {Robust {M}arkov Decision Processes using Sigma Point sampling}, + ty = {CONF}, + url-online = {10.1109/ACC.2008.4587287}, + year = {2008} +} + +@conference{Bertuccelli08_CDC, + address = {Cancun, Mexico}, + author = {Bertuccelli, L. F. and How, J. P.}, + bdsk-url-online-1 = {10.1109/CDC.2008.4738904}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 08:46:02 -0400}, + date-modified = {2011-04-02 08:46:02 -0400}, + isbn = {0191-2216}, + keywords = {{M}arkov processes; maximum likelihood estimation; state estimation; a prior Dirichlet distribution; decision systems; hidden {M}arkov model estimation; maximum a posteriori estimator; nonstationary {M}arkov Chain transition models; online estimation; recursive mean-variance estimator; state observation; decision making}, + month = {9-11 Dec.}, + pages = {55-60}, + title = {Estimation of non-stationary {M}arkov Chain transition models}, + ty = {CONF}, + url-online = {10.1109/CDC.2008.4738904}, + year = {2008} +} + +@phdthesis{Bertuccelli08_PhD, + address = {Cambridge MA}, + author = {Bertuccelli, Luca F.}, + bdsk-url-1 = {http://acl.mit.edu/papers/Bertuccelli_PhD.pdf}, + keywords = {decision making}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Robust Decision-Making with Model Uncertainty in Aerospace Systems}, + url = {http://acl.mit.edu/papers/Bertuccelli_PhD.pdf}, + year = {2008} +} + +@conference{Bertuccelli09_ACC, + address = {St. Louis, MO}, + author = {Bertuccelli, L. F. and Bethke, B. and How, J. P.}, + bdsk-url-online-1 = {10.1109/ACC.2009.5160511}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:36:26 -0400}, + date-modified = {2011-04-02 08:36:26 -0400}, + isbn = {0743-1619}, + keywords = {{M}arkov processes; aircraft; probability; remotely operated vehicles; UAV testbed; flight experiments; multi-vehicle applications; optimal value function; robust adaptive {M}arkov decision processes; state transition observations; transition probabilities; unmanned aerial vehicle; decision making}, + month = {10-12 June}, + pages = {1304-1309}, + title = {Robust adaptive {M}arkov Decision Processes in multi-vehicle applications}, + ty = {CONF}, + url-online = {10.1109/ACC.2009.5160511}, + year = {2009} +} + +@inproceedings{Bertuccelli09_GNC, + author = {Bertuccelli, L. F. and Choi, H.-L. and Cho, P. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC09_CBBA_LL.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {CBBA; task allocation}, + month = {August}, + title = {{Real-time Multi-UAV Task Assignment in Dynamic and Uncertain Environments}}, + url = {http://acl.mit.edu/papers/GNC09_CBBA_LL.pdf}, + year = {2009} +} + +@article{Bertuccelli11_CSM, + author = {L. F. Bertuccelli and A. Wu and J. P. How}, + date-added = {2011-04-18 10:07:46 -0400}, + date-modified = {2012-01-11 09:29:04 -0500}, + journal = {IEEE Control Systems Magazine}, + keywords = {decision making}, + title = {{P}lanning {A}daptively and {R}obustly - {R}obust adaptive {{M}arkov} decision processes for {UAV} surveillance}, + year = {2011} +} + +@article{Bertuccelli11_JACIC, + author = {Luca Bertuccelli and Jonathan How}, + bdsk-url-1 = {http://dx.doi.org/10.2514/1.50671}, + date-added = {2011-09-29 16:12:37 -0400}, + date-modified = {2012-06-12 07:07:36 -0400}, + doi = {10.2514/1.50671}, + journal = {Journal of Aerospace Computing, Information, and Communication}, + pages = {250-268}, + title = {Active Exploration in Robust Unmanned Vehicle Task Assignment}, + url = {http://dx.doi.org/10.2514/1.50671}, + volume = {8}, + year = {2011} +} + +@article{Bertuccelli12_CSM, + author = {Luca F. Bertuccelli and Alber Wu and Jonathan P. How}, + date-modified = {2012-09-02 08:49:52 -0400}, + journal = {IEEE Control Systems Magazine}, + publisher = {IEEE}, + title = {Robust Adaptive Markov Decision Processes}, + year = {2012} +} + +@inproceedings{BertuccelliCCCO08, + address = {Gainesville, FL}, + author = {L. Bertuccelli and B. Bethke and J. P. How}, + booktitle = {Conference on Cooperative Control and Optimization}, + date-added = {2011-04-02 08:27:20 -0400}, + date-modified = {2011-04-02 08:27:20 -0400}, + keywords = {decision making}, + month = {January}, + owner = {Jonathan P. How}, + timestamp = {2008.07.19}, + title = {{Robust Decision-Making in Infinite Horizon {MDP}s using Scenarios}}, + year = {2008} +} + +@techreport{BertuccelliDspace08, + author = {Luca F. Bertuccelli and Jonathan P. How}, + date-added = {2011-07-27 19:11:25 -0400}, + date-modified = {2011-07-27 19:11:25 -0400}, + institution = {MIT}, + note = {http://hdl.handle.net/1721.1/43949}, + title = {Reaching Consensus with Imprecise Probabilities over a Network}, + year = {2008} +} + +@inproceedings{BertuccelliGNC08, + author = {L. Bertuccelli}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-12 09:38:25 -0400}, + date-modified = {2011-04-12 09:38:25 -0400}, + keywords = {decision making}, + month = {August}, + owner = {Jonathan P. How}, + timestamp = {2008.07.19}, + title = {Robust Multiple Model Filtering with Uncertain Transition Models}, + year = {2008} +} + +@inproceedings{Bethke07_CCC0, + address = {Gainesville, FL}, + author = {Bethke, B. and Valenti, M. and How, J.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ccco_vision_bb.pdf}, + booktitle = {Conference of Cooperative Control and Optimization}, + keywords = {estimation and tracking}, + month = {January}, + title = {{Cooperative vision based estimation and tracking using multiple UAVs}}, + url = {http://acl.mit.edu/papers/ccco_vision_bb.pdf}, + year = {2007} +} + +@mastersthesis{Bethke07_Masters, + address = {Cambridge MA}, + author = {Brett M. Bethke}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/40392}, + keywords = {estimation and tracking}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Persistent Vision-Based Search and Track Using Multiple {UAV}s}, + url = {http://dspace.mit.edu/handle/1721.1/40392}, + year = {2007} +} + +@conference{Bethke08_ACC, + address = {Seattle, WA}, + author = {Bethke, B. and How, J. P. and Vian, J.}, + bdsk-url-1 = {http://acl.mit.edu/papers/acc-fuel-2008-bbethke.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2008.4586976}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:44:34 -0400}, + date-modified = {2011-04-02 08:44:34 -0400}, + isbn = {0743-1619}, + keywords = {aircraft control; mobile robots; multi-robot systems; remotely operated vehicles; autonomous mission system; border patrol; group health management; military surveillance; mission system design; persistent surveillance; search and rescue; unmanned aerial vehicles; decision making}, + month = {11-13 June}, + pages = {3145-3150}, + title = {Group health management of {UAV} teams with applications to persistent surveillance}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/acc-fuel-2008-bbethke.pdf}, + url-online = {10.1109/ACC.2008.4586976}, + year = {2008} +} + +@inproceedings{Bethke08_CDC, + address = {Cancun, Mexico}, + author = {{B. Bethke and J. How and A. Ozdaglar}}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-18 10:04:12 -0400}, + date-modified = {2011-07-23 14:14:17 -0400}, + keywords = {decision making}, + owner = {bbethke}, + timestamp = {2008.04.01}, + title = {{Approximate Dynamic Programming Using Support Vector Regression}}, + year = {2008} +} + +@inproceedings{Bethke08_GNC, + address = {Honolulu, Hawaii}, + author = {B. Bethke and L. F. Bertuccelli and J. P. How}, + booktitle = {AIAA Guidance Navigation and Control}, + date-added = {2011-04-02 08:46:02 -0400}, + date-modified = {2011-11-24 20:08:00 -0500}, + keywords = {decision making}, + owner = {bbethke}, + timestamp = {2008.04.01}, + title = {Experimental Demonstration of Adaptive {MDP}-Based Planning with Model Uncertainty}, + year = {2008} +} + +@article{Bethke08_RAM, + author = {Bethke, B. and Valenti, M. and How, J. P.}, + bdsk-url-online-1 = {10.1109/M-RA.2007.914931}, + date-added = {2011-04-18 10:08:00 -0400}, + date-modified = {2011-07-08 11:34:56 -0400}, + isbn = {1070-9932}, + journal = {IEEE Robotics and Automation Magazine}, + keywords = {decision making}, + month = {March}, + number = {1}, + pages = {39-44}, + title = {{UAV Task Assignment}}, + ty = {JOUR}, + url-online = {10.1109/M-RA.2007.914931}, + vo = {15}, + volume = {15}, + year = {2008} +} + +@inproceedings{Bethke09_ACC, + address = {St. Louis, MO}, + author = {B. Bethke and J. How}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 10:08:15 -0400}, + date-modified = {2011-07-23 14:14:28 -0400}, + keywords = {decision making}, + title = {{Approximate Dynamic Programming Using Bellman Residual Elimination and Gaussian Process Regression}}, + year = {2009} +} + +@inproceedings{Bethke09_GNC, + author = {Bethke, B. and How, J. P. and Vian, J.}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-18 10:04:12 -0400}, + date-modified = {2011-08-06 07:41:29 -0400}, + keywords = {decision making}, + month = {August}, + note = {(AIAA-2009-5654)}, + title = {{Multi-UAV Persistent Surveillance With Communication Constraints and Health Management}}, + year = {2009} +} + +@conference{Bethke09_GNCa, + author = {Bethke, B. and How, J. P. and Vian, J.}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-18 10:04:12 -0400}, + date-modified = {2011-08-06 07:41:29 -0400}, + keywords = {decision making}, + month = {August}, + note = {(AIAA-2009-5654)}, + title = {{Multi-UAV Persistent Surveillance With Communication Constraints and Health Management}}, + year = {2009} +} + +@inproceedings{Bethke10_ACC, + address = {Baltimore, MD}, + author = {B. Bethke and J. How}, + booktitle = {American Control Conference (ACC)}, + date-added = {2010-07-26 20:17:51 -0400}, + date-modified = {2010-07-26 20:17:51 -0400}, + keywords = {decision making}, + month = {July}, + title = {Approximate Dynamic Programming Using Model-Free {B}ellman Residual Elimination}, + year = {2010} +} + +@inproceedings{Bethke10_ACCb, + address = {Baltimore, MD}, + author = {B. Bethke and J. Redding and J. How and M. Vavrina and J. Vian}, + booktitle = {American Control Conference (ACC)}, + date-added = {2010-07-26 20:17:51 -0400}, + date-modified = {2011-07-23 13:58:18 -0400}, + keywords = {decision making}, + month = {July}, + title = {Agent Capability in Persistent Mission Planning using Approximate Dynamic Programming}, + year = {2010} +} + +@phdthesis{Bethke10_PhD, + address = {Cambridge MA}, + author = {Brett M. Bethke}, + bdsk-url-1 = {http://acl.mit.edu/papers/BethkePhD.pdf}, + keywords = {decision making}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Kernel-Based Approximate Dynamic Programming Using Bellman Residual Elimination}, + url = {http://acl.mit.edu/papers/BethkePhD.pdf}, + year = {2010} +} + +@inproceedings{BethkeGNC08, + author = {B. Bethke and L. Bertuccelli and J. P. How}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:46:02 -0400}, + date-modified = {2011-04-02 08:46:02 -0400}, + keywords = {decision making}, + month = {August}, + note = {AIAA-2008-6322}, + owner = {Jonathan P. How}, + timestamp = {2008.07.19}, + title = {{Experimental Demonstration of {MDP} - Based Planning with Model Uncertainty}}, + year = {2008} +} + +@inproceedings{Bieniawski_Infotech_2009, + address = {Seattle, WA}, + author = {S. R. Bieniawski and P. Pigg and J. Vian and B. Bethke and J. How}, + booktitle = {{AIAA Infotech@Aerospace}}, + date-added = {2011-04-02 08:44:34 -0400}, + date-modified = {2011-04-02 08:44:34 -0400}, + keywords = {decision making}, + title = {{Exploring Health-Enabled Mission Concepts in the Vehicle Swarm Technology Laboratory}}, + year = {2009} +} + +@inproceedings{Breger03_GNC, + author = {Breger, L. and Ferguson, P. and How, J. P. and Thomas, S. and McLoughlin, T. and Campbell, M.}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC_TestbedOA_021.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2011-07-08 13:14:59 -0400}, + keywords = {formation flight}, + month = {August}, + title = {Distributed control of formation flying spacecraft built on {OA}}, + url = {http://acl.mit.edu/papers/GNC_TestbedOA_021.pdf}, + year = {2003} +} + +@inproceedings{Breger04_IFFS, + address = {Washington, DC}, + author = {Breger, L. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/BregerHow_Paper.pdf}, + booktitle = {2nd International Symposium on Formation Flying Missions and Technologies}, + keywords = {formation flight}, + month = {September}, + title = {GVE based dynamics and control for formation flying spacecraft}, + url = {http://acl.mit.edu/papers/BregerHow_Paper.pdf}, + year = {2004} +} + +@mastersthesis{Breger04_Masters, + address = {Cambridge MA}, + author = {Louis S. Breger}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Breger_SM.pdf}, + keywords = {formation flight; MPC}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Model Predictive Control for Formation Flying Spacecraft}, + url = {http://www.mit.edu/people/jhow/papers/Breger_SM.pdf}, + year = {2004} +} + +@inproceedings{Breger05_ACC, + address = {Portland, OR}, + author = {L. Breger and J. P. How and A. Richards}, + bdsk-url-1 = {http://acl.mit.edu/papers/breger_acc05_submitted_revised.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 10:13:33 -0400}, + date-modified = {2011-04-18 10:13:33 -0400}, + keywords = {Space, MPC, formation flight}, + month = {June}, + owner = {Brandon}, + pages = {2385-2390}, + timestamp = {2008.03.31}, + title = {Model Predictive Control of Spacecraft Formations with Sensing Noise}, + url = {http://acl.mit.edu/papers/breger_acc05_submitted_revised.pdf}, + year = {2005} +} + +@conference{Breger05_CCA, + author = {Breger, L. and How, J. P.}, + bdsk-url-online-1 = {10.1109/CCA.2005.1507186}, + booktitle = {Proceedings IEEE Conference on Control Applications}, + date-added = {2011-04-18 10:13:33 -0400}, + date-modified = {2011-07-09 17:26:51 -0400}, + isbn = {1085-1992}, + keywords = {aerospace control; control system synthesis; linear systems; linearisation techniques; predictive control; space vehicles; variational techniques; GVE; Gauss variational equations; MMS mission; MPC controller; controller design; formation flying control; linear parameter-varying; linearization; model predictive control; orbit propagator; space mission; formation flight}, + month = {28-31 August}, + pages = {565-570}, + title = {Formation flying control for the {MMS} mission using {GVE}-based {MPC}}, + ty = {CONF}, + url-online = {10.1109/CCA.2005.1507186}, + year = {2005} +} + +@inproceedings{Breger05_GNC, + address = {San Francisco, CA}, + author = {L. Breger and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/BregerHowGNC05.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-18 10:13:33 -0400}, + date-modified = {2011-07-08 13:17:14 -0400}, + keywords = {Space, MPC, formation flight}, + month = {August}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {{J}$_2$-Modified {GVE}-Based {MPC} for Formation Flying Spacecraft}, + url = {http://acl.mit.edu/papers/BregerHowGNC05.pdf}, + year = {2005} +} + +@conference{Breger05_NASAFMS, + author = {Breger, L. and How, J. P. and Alfriend, K. T.}, + booktitle = {NASA 2005 Flight Mechanics Symposium}, + keywords = {spacecraft maneuvers}, + month = {October}, + title = {Maneuver-optimized J2-Invariant Initial Conditions}, + year = {2005} +} + +@conference{Breger06_GNC, + author = {Breger, L. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC06_BregerHow_safety.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2011-07-09 19:44:42 -0400}, + keywords = {spacecraft maneuvers}, + month = {Aug}, + title = {Safe Trajectories for Autonomous Rendezvous of Spacecraft}, + url = {http://acl.mit.edu/papers/GNC06_BregerHow_safety.pdf}, + year = {2006} +} + +@inproceedings{Breger06_GNC_J2, + author = {Breger, L. and How, J. P. and Alfriend, K. T.}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC06_BregerHow_ICs.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2011-07-09 19:45:08 -0400}, + keywords = {formation flight}, + month = {Aug}, + title = {Partial {$J_2$}-Invariance for Spacecraft Formations}, + url = {http://acl.mit.edu/papers/GNC06_BregerHow_ICs.pdf}, + year = {2006} +} + +@inproceedings{Breger07_GNC, + author = {Breger, L. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/Breger_How_AIAA_2007_6860.pdf}, + booktitle = {AIAA Guidance, Navigation and Control Conference}, + keywords = {spacecraft maneuvers}, + title = {Powered Safe Abort for Autonomous Rendezvous of Spacecraft}, + url = {http://acl.mit.edu/papers/Breger_How_AIAA_2007_6860.pdf}, + year = {2007} +} + +@article{Breger07_JGCD, + author = {Breger, L. and How, J. P.}, + date-added = {2011-07-08 11:27:39 -0400}, + date-modified = {2011-07-08 11:28:15 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {formation flying}, + number = {2}, + pages = {437--448}, + publisher = {American Institute of Aeronautics and Astronautics}, + title = {Gauss's variational equation-based dynamics and control for formation flying spacecraft}, + volume = {30}, + year = {2007} +} + +@phdthesis{Breger07_PhD, + address = {Cambridge MA}, + author = {Louis S. Breger}, + bdsk-url-1 = {http://acl.mit.edu/papers/LSB_PhDthesis_main.pdf}, + keywords = {spacecraft maneuvers; feedback control}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Control of Spacecraft in Proximity Orbits}, + url = {http://acl.mit.edu/papers/LSB_PhDthesis_main.pdf}, + year = {2007} +} + +@article{Breger08_JGCD, + author = {Breger, L. and How, J. P.}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {spacecraft maneuvers}, + number = {5}, + pages = {1478-1489}, + title = {Safe Trajectories for Autonomous Rendezvous of Spacecraft}, + volume = {31}, + year = {2008} +} + +@article{Brito21_RAL, + author = {Bruno Brito and Michael Everett and Jonathan P. How and Javier Alonso-Mora}, + journal = {IEEE Robotics and Automation Letters (RA-L)}, + number = {3}, + pages = {pp. 4616-4623}, + title = {Where to go next: Learning a Subgoal Recommendation Policy for Navigation in Dynamic Environments}, + url = {https://arxiv.org/pdf/2102.13073.pdf}, + volume = {6}, + year = {2021} +} + +@inproceedings{Brunet08_GNC, + address = {Honolulu, HI}, + author = {L. Brunet and H.-L. Choi and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/BrunetChoiHow_GNC08.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2010-07-23 20:31:53 -0400}, + date-modified = {2011-04-02 08:02:27 -0400}, + keywords = {CBBA; task allocation}, + month = {August}, + title = {Consensus-Based Auction Approaches for Decentralized Task Assignment}, + url = {http://acl.mit.edu/papers/BrunetChoiHow_GNC08.pdf}, + year = {2008} +} + +@mastersthesis{Brunet08_Masters, + address = {Cambridge MA}, + author = {Luc Brunet}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/44926}, + keywords = {task allocation; CBBA}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Consensus-Based Auctions for Decentralized Task Assignments}, + url = {http://dspace.mit.edu/handle/1721.1/44926}, + year = {2008} +} + +@inproceedings{Buckman17_RSS, + author = {Buckman, Noam and How, Jonathan P}, + booktitle = {RSS 2017 Robot Communication in the Wild: Meeting the Challenges of Real-world Systems}, + title = {Effects of Broadcasting Over Real Ad-Hoc Networks for Distributed Mobile Robotics (Poster)}, + year = {2017} +} + +@inproceedings{Buckman2019partial, + author = {Buckman, Noam and Choi, Han-Lim and How, Jonathan P}, + booktitle = {AIAA Scitech 2019 Forum}, + pages = {0915}, + title = {Partial Replanning for Decentralized Dynamic Task Allocation}, + year = {2019} +} + +@conference{Busse01_IEEEAERO, + author = {Busse, F. D. and How, J. P. and Simpson, J. and Leitner, J.}, + bdsk-url-online-1 = {10.1109/AERO.2001.931233}, + booktitle = {IEEE Aerospace Conference}, + date-added = {2011-04-18 10:03:34 -0400}, + date-modified = {2011-04-18 10:03:34 -0400}, + keywords = {Global Positioning System; aerospace testing; artificial satellites; LEO formation flying; Orion-Emerald; baseline performance; bias estimation; carrier differential GPS; expected noise levels; ground-based tests; hardware-in-the-loop tests; low Earth orbit; micro-satellites; relative navigation; tuning}, + pages = {2/523-2/534 vol.2}, + title = {Orion-Emerald: carrier differential GPS for LEO formation flying}, + volume = {2}, + year = {2001} +} + +@inproceedings{Busse02_GNC, + address = {Monterey, CA}, + author = {Busse, F. D. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/BusseGNC02.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {formation flight}, + month = {August}, + title = {Real-time experimental demonstration of precise decentralized relative navigation for formation flying spacecraft}, + url = {http://acl.mit.edu/papers/BusseGNC02.pdf}, + year = {2002} +} + +@inproceedings{Busse02_INGPS, + author = {Busse, F. D. and How, J. P. and Simpson, J.}, + bdsk-url-1 = {http://acl.mit.edu/papers/Busse_ION02.pdf}, + booktitle = {Proceedings of Institute of Navigation GPS Conference}, + keywords = {GPS}, + month = {September}, + title = {Demonstration of Adaptive Extended Kalman Filter for Low Earth Orbit Formation Estimation Using CDGPS}, + url = {http://acl.mit.edu/papers/Busse_ION02.pdf}, + year = {2002} +} + +@article{Busse03_JIN, + author = {Busse, F. D. and How, J. P. and Simpson, J.}, + date-modified = {2011-07-08 10:45:17 -0400}, + journal = {Journal of the Institute of Navigation}, + keywords = {GPS}, + number = {2}, + pages = {79-93}, + publisher = {Institute of Navigation}, + title = {{Demonstration of Adaptive Extended Kalman Filter for Low Earth Orbit Formation Estimation Using CDGPS}}, + volume = {50}, + year = {2003} +} + +@phdthesis{Busse03_PhD, + address = {Cambridge MA}, + author = {Franz D. Busse}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Busse_Thesis.pdf}, + keywords = {GPS}, + month = {March}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {Precise Formation-State Estimation in Low Earth Orbit Using Carrier Differential GPS}, + url = {http://www.mit.edu/people/jhow/papers/Busse_Thesis.pdf}, + year = {2003} +} + +@inproceedings{cai2021non, + author = {Cai, Xiaoyi and Schlotfeldt, Brent and Khosoussi, Kasra and Atanasov, Nikolay and Pappas, George J and How, Jonathan P}, + booktitle = {2021 IEEE International Conference on Robotics and Automation (ICRA)}, + organization = {IEEE}, + pages = {8859--8865}, + title = {{Non-Monotone Energy-Aware Information Gathering for Heterogeneous Robot Teams}}, + year = {2021} +} + +@inproceedings{cai2022risk, + author = {Cai, Xiaoyi and Everett, Michael and Fink, Jonathan and How, Jonathan P}, + booktitle = {2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + organization = {IEEE}, + pages = {2931--2937}, + title = {{Risk-Aware Off-Road Navigation via a Learned Speed Distribution Map}}, + year = {2022} +} + +@article{cai2023energy, + author = {Cai, Xiaoyi and Schlotfeldt, Brent and Khosoussi, Kasra and Atanasov, Nikolay and Pappas, George J and How, Jonathan P}, + journal = {IEEE Transactions on Robotics}, + publisher = {IEEE}, + title = {{Energy-Aware, Collision-Free Information Gathering for Heterogeneous Robot Teams}}, + year = {2023} +} + +@inproceedings{cai2023probabilistic, + author = {Cai, Xiaoyi and Everett, Michael and Sharma, Lakshay and Osteen, Philip R and How, Jonathan P}, + booktitle = {2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + title = {{Probabilistic Traversability Model for Risk-Aware Motion Planning in Off-Road Environments}}, + year = {2023} +} + +@article{cai2024evora, + author = {Cai, Xiaoyi and Ancha, Siddharth and Sharma, Lakshay and Osteen, Philip R and Bucher, Bernadette and Phillips, Stephen and Wang, Jiuguang and Everett, Michael and Roy, Nicholas and How, Jonathan P}, + journal = {IEEE Transactions on Robotics}, + pages = {3756-3777}, + title = {{EVORA: Deep Evidential Traversability Learning for Risk-Aware Off-Road Autonomy}}, + volume = {40}, + year = {2024} +} + +@article{cai2024pietra, + author = {Xiaoyi Cai and James Queeney and Tong Xu and Aniket Datar and Chenhui Pan and Max Miller and Ashton Flather and Philip R. Osteen and Nicholas Roy and Xuesu Xiao and Jonathan P. How}, + journal = {arXiv:2409.03005}, + title = {{PIETRA: Physics-Informed Evidential Learning for Traversing Out-of-Distribution Terrain}}, + year = {2024} +} + +@article{cai2025pietra, + author = {Xiaoyi Cai and James Queeney and Tong Xu and Aniket Datar and Chenhui Pan and Max Miller and Ashton Flather and Philip R. Osteen and Nicholas Roy and Xuesu Xiao and Jonathan P. How}, + journal = {IEEE Robotics and Automation Letters}, + number = {3}, + pages = {2359--2366}, + title = {{PIETRA: Physics-Informed Evidential Learning for Traversing Out-of-Distribution Terrain}}, + volume = {10}, + year = {2025} +} + +@article{Campbell10_PTRS, + author = {Campbell, M. and Egerstedt, M. and How, J. P. and Murray, R. M.}, + date-added = {2011-07-08 11:38:02 -0400}, + date-modified = {2011-07-08 11:38:41 -0400}, + journal = {Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences}, + keywords = {decision making, DGC}, + number = {1928}, + pages = {4649}, + publisher = {The Royal Society}, + title = {Autonomous driving in urban environments: approaches, lessons and challenges}, + volume = {368}, + year = {2010} +} + +@inproceedings{Campbell12_GNC, + author = {Trevor Campbell and Sameera S. Ponda and Girish Chowdhary and Jonathan P. How}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2012-10-19 11:41:23 -0400}, + date-modified = {2012-10-19 11:41:36 -0400}, + month = {August}, + title = {Planning under Uncertainty using Nonparametric Bayesian Models}, + year = {2012} +} + +@inproceedings{Campbell12_NIPS, + author = {Trevor Campbell and Luke Johnson and Miao Liu and Jonathan How and Lawrence Carin}, + booktitle = {NIPS Workshop on Bayesian Nonparametric Models for Reliable Planning and Decision-making Under Uncertainty}, + title = {Multiagent Allocation of Bayesian Nonparametric Markov Decision Process tasks (Poster)}, + year = {2012} +} + +@conference{Campbell13_ACC, + author = {Trevor Campbell and Luke Johnson and Jonathan P. How}, + booktitle = {American Control Conference (ACC)}, + title = {Multiagent Allocation of Markov Decision Process Tasks}, + year = {2013} +} + +@mastersthesis{Campbell13_Masters, + author = {Trevor Campbell}, + month = {August}, + school = {Massachusetts Institute of Technology}, + title = {Multiagent Planning with Bayesian Nonparametric Asymptotics}, + year = {2013} +} + +@inproceedings{Campbell13_NIPS, + author = {Trevor Campbell and Miao Liu and Brian Kulis and Jonathan P. How and Lawrence Carin}, + booktitle = {Advances in Neural Information Processing Systems (NeurIPS)}, + title = {Dynamic Clustering via Asymptotics of the Dependent Dirichlet Process}, + year = {2013} +} + +@inproceedings{Campbell13_RLDM, + author = {Trevor Campbell and Robert Klein and Alborz Geramifard and Jonathan How}, + booktitle = {1st Multidisciplinary Conference on Reinforcement Learning and Decision Making}, + title = {Simultaneous Clustering on Representation Expansion for Learning Multimodel MDPs}, + year = {2013} +} + +@inproceedings{Campbell14_UAI, + author = {Trevor Campbell and Jonathan P.~How}, + booktitle = {Uncertainty in Artificial Intelligence (UAI)}, + date-modified = {2016-05-09 14:30:14 +0000}, + title = {{Approximate Decentralized Bayesian Inference}}, + year = {2014} +} + +@inproceedings{Campbell15_ACC, + author = {Trevor Campbell and Jonathan P.~How}, + booktitle = {American Control Conference (ACC)}, + title = {Bayesian Nonparametric Set Construction for Robust Optimization}, + year = {2015} +} + +@inproceedings{Campbell15_NIPS, + author = {Campbell, Trevor and Straub, Julian and Fisher III, John W. and How, Jonathan}, + booktitle = {Advances in Neural Information Processing Systems (NIPS)}, + date-modified = {2016-05-09 14:33:43 +0000}, + title = {Streaming, Distributed Variational Inference for {Bayesian} Nonparametrics}, + year = {2015} +} + +@article{Campbell18_TPAMI, + author = {T. Campbell and B. Kulis and J. P. How}, + bdsk-url-1 = {https://arxiv.org/abs/1707.08493}, + date-added = {2018-05-16 13:17:57 +0000}, + date-modified = {2018-05-16 13:19:05 +0000}, + journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence}, + title = {{Dynamic clustering algorithms via small-variance analysis of Markov chain mixture models}}, + url = {https://arxiv.org/abs/1707.08493}, + year = {2018} +} + +@article{Campbell2019_Bern, + author = {Trevor Campbell and Jonathan H. Huggins and Jonathan P. How and Tamara Broderick}, + bdsk-url-1 = {https://doi.org/10.3150/18-BEJ1020}, + date-added = {2019-03-06 08:42:53 -0500}, + date-modified = {2019-03-06 08:43:13 -0500}, + doi = {10.3150/18-BEJ1020}, + fjournal = {Bernoulli}, + issn = {1350-7265}, + journal = {Bernoulli}, + number = {2}, + pages = {1256-1288}, + sici = {1350-7265(2019)25:2<1256:TRM>2.0.CO;2-9}, + title = {Truncated random measures}, + volume = {25}, + year = {2019} +} + +@conference{Campbell95_ACC, + author = {Campbell, M. E. and Grocott, S. C. O. and How, J. P. and Miller, D. W. and Crawley, E. F.}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:34:16 -0400}, + keywords = {robust control}, + month = {21-23 June}, + pages = {3600-3605}, + title = {{Verification procedure for on-orbit controllers for the MIT Middeck Active Control Experiment}}, + ty = {CONF}, + vo = {5}, + volume = {5}, + year = {1995} +} + +@article{Campbell99_JGCD, + author = {M. Campbell and J. P. How and S. Grocott and D. Miller}, + bdsk-url-1 = {http://acl.mit.edu/papers/mace_jgcd.pdf}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {feedback control; spacecraft maneuvers}, + month = {April}, + number = {2}, + pages = {267-277}, + title = {On-Orbit Closed-Loop Control Results for the Middeck Active Control Experiment}, + url = {http://acl.mit.edu/papers/mace_jgcd.pdf}, + volume = {22}, + year = {1999} +} + +@article{carrio2020onboard, + author = {Carrio, Adrian and Tordesillas, Jesus and Vemprala, Sai and Saripalli, Srikanth and Campoy, Pascual and How, Jonathan P}, + journal = {IEEE Access}, + pages = {30480--30490}, + publisher = {IEEE}, + title = {Onboard detection and localization of drones using depth maps}, + url = {https://ieeexplore.ieee.org/abstract/document/8984298}, + volume = {8}, + year = {2020} +} + +@mastersthesis{Chabot05_Masters, + address = {Cambridge MA}, + author = {Chabot, Thomas}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/32440}, + keywords = {spacecraft maneuvers}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Integrated Navigation Architecture Analysis for Moon and Mars Exploration}, + url = {http://dspace.mit.edu/handle/1721.1/32440}, + year = {2005} +} + +@inproceedings{Chang21_ICRA, + author = {Chang, Yun and Tian, Yulun and How, Jonathan P. and Carlone, Luca}, + booktitle = {2021 IEEE International Conference on Robotics and Automation (ICRA)}, + doi = {10.1109/ICRA48506.2021.9561090}, + pages = {11210-11218}, + title = {Kimera-Multi: a System for Distributed Multi-Robot Metric-Semantic Simultaneous Localization and Mapping}, + year = {2021} +} + +@mastersthesis{Chen14_Masters, + author = {Yu Fan Chen}, + month = {August}, + school = {Massachusetts Institute of Technology}, + title = {Hierarchical Decomposition of Multi-agent Markov Decision Processes with Application to Health Aware Planning}, + year = {2014} +} + +@inproceedings{Chen14_planning_ACC, + address = {Portland, OR}, + author = {Yu Fan Chen and N. Kemal Ure and Girish Chowdhary and Jonathan P. How and John Vian}, + booktitle = {American Control Conference (ACC)}, + month = {June}, + title = {Planning for Large-Scale Multiagent Problems via Hierarchical Decomposition with Applications to UAV Health Management}, + year = {2014} +} + +@conference{Chen15_ICRA, + address = {Seattle, WA}, + author = {Chen, Yu Fan and Cutler, Mark and How, Jonathan P.}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + month = {May}, + organization = {IEEE}, + title = {Decoupled Multiagent Path Planning via Incremental Seqential Convex Programming}, + year = {2015} +} + +@inproceedings{Chen16_augmented_ICRA, + address = {Stockholm, Sweden}, + author = {Yu Fan Chen and Shih-Yuan Liu and Miao Liu and Justin Miller and Jonathan P. How}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + month = {May}, + title = {Augmented Dictionary Learning for Motion Prediction}, + year = {2016} +} + +@inproceedings{Chen16_motion_IROS, + address = {Daejeon, Korea}, + author = {Yu Fan Chen and Shih-Yuan Liu and Miao Liu and Justin Miller and Jonathan P. How}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + month = {October}, + title = {Motion Planning with Diffusion Maps}, + year = {2016} +} + +@inproceedings{Chen16_predictive_GNC, + author = {Yu Fan Chen and Shih-Yuan Liu and Miao Liu and Justin Miller and Jonathan P. How}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + title = {Predictive Modeling of Pedestrian Motion Patterns with {B}ayesian Nonparametrics}, + year = {2016} +} + +@inproceedings{Chen17_decentralized_ICRA, + address = {Singapore}, + author = {Yu Fan Chen and Miao Liu and Michael Everett and Jonathan P. How}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + month = {May}, + title = {Decentralized Non-Communicating Multiagent Collision Avoidance with Deep Reinforcement Learning}, + year = {2017} +} + +@inproceedings{Chen17_IROS, + address = {Vancouver, BC, Canada}, + author = {Yu Fan Chen and Michael Everett and Miao Liu and Jonathan P. How}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + date-modified = {2017-06-11 01:34:22 +0000}, + month = {September}, + title = {Socially Aware Motion Planning with Deep Reinforcement Learning}, + year = {2017} +} + +@article{cho2024out, + author = {Cho, Minjae and How, Jonathan P and Sun, Chuangchuang}, + journal = {arXiv preprint arXiv:2405.03892}, + title = {Out-of-Distribution Adaptation in Offline RL: Counterfactual Reasoning via Causal Normalizing Flows}, + year = {2024} +} + +@conference{Choi07_ACC, + address = {New York City, NY}, + author = {H.-L. Choi and How, J. P. and Hansen, J. A.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ChoiHowHansen_ACC07.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2007.4282882}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:31:15 -0400}, + date-modified = {2011-04-18 09:31:15 -0400}, + isbn = {0743-1619}, + keywords = {mobile radio; wireless sensor networks; Lorenz-95 chaos model; ensemble-based adaptive targeting problem; mobile sensor network; estimation and tracking}, + month = {9-13 July}, + pages = {2393-2398}, + title = {Ensemble-Based Adaptive Targeting of Mobile Sensor Networks}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/ChoiHowHansen_ACC07.pdf}, + url-online = {10.1109/ACC.2007.4282882}, + year = {2007} +} + +@conference{Choi08_ACC, + address = {Seattle, WA}, + author = {H.-L. Choi and How, J. P. and Barton, P. I.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ChoiHowBarton_ACC08.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2008.4586756}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:31:15 -0400}, + date-modified = {2011-04-18 09:31:15 -0400}, + isbn = {0743-1619}, + keywords = {Gaussian distribution; approximation theory; integer programming; maximum entropy methods; nonlinear programming; signal sampling; tree searching; Gaussian distribution; branch-and-bound method; constraint functions; generalized maximum entropy sampling; mixed-integer semidefinite program formulation; nonlinear programming relaxation; outer-approximation algorithm; quadratic constraints; search space; estimation and tracking}, + month = {11-13 June}, + pages = {1818-1823}, + title = {An outer-approximation algorithm for generalized maximum entropy sampling}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/ChoiHowBarton_ACC08.pdf}, + url-online = {10.1109/ACC.2008.4586756}, + year = {2008} +} + +@inproceedings{Choi08_AMSAM, + address = {New Orleans, LA}, + author = {H.-L. Choi and J. P. How and J. A. Hansen}, + bdsk-url-1 = {http://acl.mit.edu/papers/ChoiHowHansen_AMS08.pdf}, + booktitle = {American Meteorological Society Annual Meeting}, + keywords = {estimation and tracking}, + month = {January}, + title = {Algorithm and Sensitivity Analysis of Information-Theoretic Ensemble-Based Observation Targeting}, + url = {http://acl.mit.edu/papers/ChoiHowHansen_AMS08.pdf}, + year = {2008} +} + +@conference{Choi08_CDC, + address = {Cancun, Mexico}, + author = {Han-Lim Choi and How, J. P.}, + bdsk-url-online-1 = {10.1109/CDC.2008.4738972}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-18 09:30:44 -0400}, + date-modified = {2011-04-18 09:30:44 -0400}, + isbn = {0191-2216}, + keywords = {interpolation; linear systems; matrix algebra; path planning; sensors; time-varying systems; weather forecasting; conditional independence structure; continuous measurement path; continuous motion planning; continuous path planning; filter form; information forecast; information gain; linear time-varying system; mobile sensors; observation matrix evolution; optimal path planning; real-time steering law; sensor movement; smoother form; spatial interpolation technique; time derivative; verification variables; weather forecast; estimation and tracking}, + month = {9-11 December}, + pages = {1721-1728}, + title = {Continuous motion planning for information forecast}, + ty = {CONF}, + url-online = {10.1109/CDC.2008.4738972}, + year = {2008} +} + +@conference{Choi09_ACC, + address = {St. Louis, MO}, + author = {H.-L. Choi and How, J. P.}, + bdsk-url-online-1 = {10.1109/ACC.2009.5160721}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + isbn = {0743-1619}, + keywords = {mobile radio; path planning; wireless sensor networks; information-gathering paths; informative paths planning; mobile sensors; optimal path planning problem; receding-horizon approximation; sensor scheduling; smoothing roles; target localization; weather forecasting; estimation and tracking}, + month = {10-12 June}, + pages = {2154-2159}, + title = {On the roles of smoothing in planning of informative paths}, + ty = {CONF}, + url-online = {10.1109/ACC.2009.5160721}, + year = {2009} +} + +@phdthesis{Choi09_PhD, + address = {Cambridge MA}, + author = {Han-Lim Choi}, + bdsk-url-1 = {http://acl.mit.edu/papers/hanlimc_main.pdf}, + keywords = {estimation and tracking}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Adaptive Sampling and Forecasting With Mobile Sensor Networks}, + url = {http://acl.mit.edu/papers/hanlimc_main.pdf}, + year = {2009} +} + +@article{Choi09_TRO, + author = {Choi, H.-L. and Brunet, L. and How, J. P.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/TRO.2009.2022423}, + date-added = {2011-04-18 09:28:30 -0400}, + date-modified = {2012-03-07 17:35:39 -0500}, + doi = {10.1109/TRO.2009.2022423}, + issn = {1552-3098}, + journal = {IEEE Transactions on Robotics}, + keywords = {CBBA; task allocation}, + month = {August}, + number = {4}, + pages = {912-926}, + title = {Consensus-Based Decentralized Auctions for Robust Task Allocation}, + url = {http://dx.doi.org/10.1109/TRO.2009.2022423}, + volume = {25}, + year = {2009} +} + +@inproceedings{Choi10_ACC, + address = {Baltimore, MD}, + author = {H.-L. Choi and A. K. Whitten and J. P. How}, + booktitle = {American Control Conference (ACC)}, + date-modified = {2010-09-03 14:57:07 -0400}, + keywords = {task allocation}, + month = {July}, + pages = {3057-3062}, + title = {Decentralized Task Allocation for Heterogeneous Teams with Cooperation Constraints}, + year = {2010} +} + +@inproceedings{Choi10_ICARCV, + address = {Singapore}, + author = {H.-L. Choi and J. P. How}, + booktitle = {International Conference on Control, Automation, Robotics and Vision (ICARCV)}, + date-added = {2011-05-29 08:59:43 -0400}, + date-modified = {2011-05-29 09:01:10 -0400}, + keywords = {estimation and tracking}, + month = {December}, + pages = {1245-1250}, + title = {Analysis of mutual information for informative forecasting using mobile sensors}, + year = {2010} +} + +@article{Choi11_CST, + author = {H.-L. Choi and J. P. How}, + bdsk-url-1 = {https://ieeexplore.ieee.org/document/5675754}, + bdsk-url-2 = {http://dx.doi.org/10.1109/TCST.2010.2093134}, + date-added = {2011-04-18 09:28:43 -0400}, + date-modified = {2011-09-27 17:19:18 -0400}, + doi = {10.1109/TCST.2010.2093134}, + journal = {IEEE Transactions on Control Systems Technology}, + keywords = {estimation and tracking}, + month = {Nov}, + number = {6}, + pages = {1569 - 1577}, + title = {Efficient Targeting of Sensor Networks for Large-Scale Systems}, + url = {https://ieeexplore.ieee.org/document/5675754}, + volume = {19}, + year = {2011} +} + +@article{Choi11_IEEE, + author = {Choi, H. L. and How, J. P.}, + date-added = {2011-07-08 14:59:15 -0400}, + date-modified = {2011-07-08 14:59:35 -0400}, + journal = {Sensors Journal, IEEE}, + keywords = {UAVs}, + number = {3}, + pages = {621--633}, + publisher = {IEEE}, + title = {Coordinated targeting of mobile sensor networks for ensemble forecast improvement}, + volume = {11}, + year = {2011} +} + +@article{choi2013outer, + author = {Choi, Han-Lim and How, Jonathan P and Barton, Paul I}, + date-added = {2016-06-06 14:04:37 +0000}, + date-modified = {2016-06-06 14:04:37 +0000}, + journal = {Optimization Letters}, + number = {4}, + pages = {745--764}, + publisher = {Springer}, + title = {An outer-approximation approach for information-maximizing sensor selection}, + volume = {7}, + year = {2013} +} + +@article{ChoiHow_Auto10, + author = {Choi, H.-L. and How, J. P.}, + bdsk-url-1 = {http://www.sciencedirect.com/science/article/pii/S0005109810002104}, + bdsk-url-2 = {http://dx.doi.org/10.1016/j.automatica.2010.05.004}, + date-modified = {2011-09-27 17:16:40 -0400}, + doi = {10.1016/j.automatica.2010.05.004}, + journal = {Automatica}, + keywords = {path planning, estimation and tracking}, + number = {8}, + pages = {1266-1275}, + publisher = {Elsevier}, + title = {Continuous trajectory planning of mobile sensors for informative forecasting}, + url = {http://www.sciencedirect.com/science/article/pii/S0005109810002104}, + volume = {46}, + year = {2010} +} + +@inproceedings{ChoiHow_CDC08, + address = {Cancun, Mexico}, + author = {H.-L. Choi and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/ChoiHow_CDC08.pdf}, + booktitle = {{IEEE} Conference on Decision and Control}, + date-added = {2011-04-18 10:09:06 -0400}, + date-modified = {2011-04-18 10:09:06 -0400}, + keywords = {path planning}, + month = {December}, + pages = {1721 - 1728}, + title = {Continuous Motion Planning for Information Forecast}, + url = {http://acl.mit.edu/papers/ChoiHow_CDC08.pdf}, + year = {2008} +} + +@inproceedings{ChoiHow_GNC07, + address = {Hilton Head, SC}, + author = {H.-L. Choi and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/ChoiHow_GNC07.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:53:52 -0400}, + date-modified = {2011-04-02 08:53:52 -0400}, + keywords = {estimation and tracking}, + month = {August}, + pages = {{AIAA-2007-6753}}, + title = {A Multi-{UAV} Targeting Algorithm for Ensemble Forecast Improvement}, + url = {http://acl.mit.edu/papers/ChoiHow_GNC07.pdf}, + year = {2007} +} + +@inproceedings{Chowdhary12_GNC, + address = {Minneapolis, MN}, + author = {Chowdhary, Girish and How, Jonathan and Kingravi, Hassan}, + booktitle = {Conference on Guidance Navigation and Control}, + month = {August}, + note = {Invited}, + organization = {AIAA}, + title = {Model Reference Adaptive Control using Nonparametric Adaptive Elements}, + year = {2012} +} + +@inproceedings{Chowdhary12_GNC2, + address = {Minneapolis, MN}, + author = {Chowdhary, Girish and Wu, Tongbin and Cutler, Mark and \"Ure, Nazim Kemal and How, Jonathan}, + bdsk-url-1 = {http://acl.mit.edu/papers/chow_GNC12_conc_applications.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2012-06-22 15:33:35 -0400}, + month = {August}, + note = {Invited}, + organization = {AIAA}, + title = {Experimental Results of Concurrent Learning Adaptive Controller}, + url = {http://acl.mit.edu/papers/chow_GNC12_conc_applications.pdf}, + year = {2012} +} + +@conference{Chowdhary12_NEML, + address = {Cambridge, MA}, + author = {Chowdhary, Giris and How, Jonathan}, + booktitle = {New England Machine Learning Day}, + date-modified = {2018-11-07 10:48:54 -0500}, + month = {May}, + title = {{Nonparameteric Adaptive Control using Gaussian Processes}}, + year = {2012} +} + +@inproceedings{Chowdhary12_NIPS, + address = {Lake Tahoe, NV}, + author = {Chowdhary, Girish and How, Jonathan P. and Kingravi, Hassan}, + booktitle = {Neural Information and Processing Systems}, + date-modified = {2013-01-04 16:31:30 +0000}, + month = {December}, + note = {workshop on Bayesian Nonparametric Models For Reliable Planning And Decision-Making Under Uncertainty}, + title = {Bayesian Nonparameteric Adaptive Control using Gaussian Process}, + year = {2012} +} + +@inbook{Chowdhary12_UAVHandbook, + author = {Girish Chowdhary and Emilio Frazzoli and Jonathan P. How and Hugh Lui}, + chapter = {{Nonlinear Flight Contol Techniques for Unmanned Aerial Vehicles}}, + keywords = {UAV; control}, + publisher = {Springer}, + title = {{Handbook of Unmanned Aerial Vehicles}}, + year = {2012} +} + +@conference{Chowdhary13_ACC2, + author = {Chowdhary, Girish and Kingravi, Hassan and How, Jonathan P. and Vela, Patricio}, + booktitle = {American Control Conference (ACC)}, + date-modified = {2018-11-07 10:49:07 -0500}, + organization = {IEEE}, + title = {{Bayesian Nonparametric Adaptive Control of Time Varying Systems using {G}aussian Processes}}, + year = {2013} +} + +@conference{Chowdhary13_CDC1, + author = {Chowdhary, G. and Kingravi, H. and How, J.P. and Vela, P.}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-modified = {2017-06-19 09:51:08 +0000}, + organization = {IEEE}, + title = {{Nonparametric Adaptive Control using Gaussian Processes}}, + year = {2013} +} + +@techreport{Chowdhary13_dspaceGP, + address = {http://hdl.handle.net/1721.1/71875}, + author = {Chowdhary, Girish and Kingravi, Hassan and How, Jonathan P. and Vela, Patricio A.}, + institution = {Massachusetts Institute of Technology}, + month = {March}, + title = {Nonparameteric Adaptive Control of Time Varying Systems using Gaussian Processes}, + type = {Aerospace Control Laboratory Technical Report}, + year = {2013} +} + +@inproceedings{Chowdhary13_ECC, + address = {Zurich, Switzerland}, + author = {Chowdhary, Girish and M\"uhlegg, Maximillian and How, Jonathan P. and Holzapfel, Florian}, + booktitle = {Proceedings of the European Control Conference}, + date-modified = {2019-04-15 08:57:10 -0400}, + month = {July}, + title = {A Concurrent Learning Adaptive-Optimal Control Architecture for Nonlinear Systems}, + year = {2013} +} + +@conference{Chowdhary13_GNC, + author = {Chowdhary, G. and Kingravi, H. and Grande, R.C. and How, J.P. and Vela, P.}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2018-11-07 10:49:23 -0500}, + organization = {IEEE}, + title = {{Nonparametric Adaptive Control using Gaussian Processes}}, + year = {2013} +} + +@conference{Chowdhary13_ICRA, + author = {Chowdhary, Girish and Wu, Tongbin and Cutler, Mark and How, Jonathan P.}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-modified = {2012-09-02 08:50:39 -0400}, + organization = {IEEE}, + title = {Rapid Transfer of Controllers Between {UAVs} using Learning Based Adaptive Control}, + year = {2013} +} + +@conference{Chowdhary13_RLDM, + author = {Girish Chowdhary and Miao Liu and Robert C. Grande and Thomas J. Walsh and Jonathan P. How}, + booktitle = {Multidisciplinary Conference on Reinforcement Learning and Decision Making}, + date-added = {2014-09-21 15:38:49 +0000}, + date-modified = {2018-11-07 10:49:33 -0500}, + title = {{Off-Policy Reinforcement Learning with Gaussian Processes}}, + year = {2013} +} + +@inproceedings{Chowdhary13_RLDM2, + author = {Girish Chowdhary and Hassan Kingravi and Robert C. Grande and Patricio Vela and Jonathan P. How}, + booktitle = {1st Multidisciplinary Conference on Reinforcement Learning and Decision Making}, + date-modified = {2018-11-07 10:49:40 -0500}, + title = {{Nonparametric Adaptive Control using Gaussian Processes}}, + year = {2013} +} + +@article{Chowdhary13_TNN, + author = {Chowdhary, Girish and Kingravi, Hassan and How, Jonathan P. and Vela, Patricio A.}, + date-modified = {2014-10-06 21:42:29 +0000}, + journal = {IEEE Transactions on Neural Networks}, + title = {{Bayesian Nonparametric Adaptive Control using Gaussian Processes}}, + year = {2013} +} + +@article{Chowdhary14_AAS, + author = {Chowdhary, Girish and Liu, Miao and Grande, Robert and Walsh, Thomas and How, Jonathan and Carin, Lawrence}, + date-added = {2015-05-05 12:45:20 +0000}, + date-modified = {2018-11-07 10:49:53 -0500}, + journal = {IEEE/CAA Journal of Automatica Sinica}, + number = {3}, + pages = {227--238}, + publisher = {IEEE}, + title = {{Off-policy reinforcement learning with Gaussian processes}}, + volume = {1}, + year = {2014} +} + +@incollection{Chowdhary14_UAVHandbook, + author = {Girish Chowdhary and Emilio Frazzoli and Jonathan P. How and Hugh Liu}, + booktitle = {Handbook of Unmanned Aerial Vehicles}, + date-modified = {2015-05-05 12:43:27 +0000}, + pages = {577--612}, + publisher = {Springer}, + title = {Nonlinear Flight Control Techniques for Unmanned Aerial Vehicles}, + year = {2014} +} + +@article{Chowdhary15_TNNLS, + author = {G. Chowdhary and H. A. Kingravi and J. P. How and P. A. Vela}, + bdsk-url-1 = {http://dx.doi.org/10.1109/TNNLS.2014.2319052}, + date-added = {2016-04-30 19:46:06 +0000}, + date-modified = {2018-11-07 10:50:03 -0500}, + doi = {10.1109/TNNLS.2014.2319052}, + issn = {2162-237X}, + journal = {IEEE Transactions on Neural Networks and Learning Systems}, + keywords = {Bayes methods;Gaussian processes;closed loop systems;model reference adaptive control systems;stability;Bayesian nonparametric uncertainty model;GP-MRAC;Gaussian process-based Bayesian MRAC architecture;closed-loop performance;model reference adaptive control;stochastic stability;Adaptation models;Adaptive control;Approximation methods;Bayes methods;Kernel;Stability analysis;Uncertainty;Adaptive control;Bayesian nonparametric models;Gaussian processes (GPs);kernel;nonlinear control systems;nonlinear control systems.}, + month = {March}, + number = {3}, + pages = {537-550}, + title = {{Bayesian Nonparametric Adaptive Control Using Gaussian Processes}}, + volume = {26}, + year = {2015} +} + +@phdthesis{Corazzini00_PhD, + address = {Cambridge MA}, + author = {Tobe Corazzini}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/ff_nmi.html}, + keywords = {formation flight}, + month = {August}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {Onboard Pseudolite Augmentation For Spacecraft Formation Flying}, + url = {http://www.mit.edu/people/jhow/ff_nmi.html}, + year = {2000} +} + +@inproceedings{Corazzini97_INGPS, + address = {Kansas City, MO}, + author = {Corazzini, T. and Robertson, A. and Adams, J. C. and Hassibi, A. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/FF_ION.pdf}, + bdsk-url-online-1 = {http://acl.mit.edu/papers/FF_ION.pdf}, + booktitle = {Proceedings of Institute of Navigation GPS Conference}, + keywords = {GPS, formation flight}, + month = {September}, + title = {{GPS} Sensing for Spacecraft Formation Flying}, + url = {http://acl.mit.edu/papers/FF_ION.pdf}, + year = {1997} +} + +@inproceedings{Corazzini98_INGPS, + author = {Corazzini, T. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ION98_tc.pdf}, + booktitle = {Proceedings of Institute of Navigation GPS Conference}, + keywords = {formation flight, GPS}, + month = {September}, + organization = {Citeseer}, + pages = {1937-1946}, + title = {Onboard GPS signal augmentation for spacecraft formation flying}, + url = {http://acl.mit.edu/papers/ION98_tc.pdf}, + volume = {11}, + year = {1998} +} + +@inproceedings{Corazzini98_ION, + author = {T. Corazzini and J. P. How}, + booktitle = {Proc. of the Institute of Navigation {GPS}-98 Conference}, + date-added = {2011-07-09 17:11:28 -0400}, + date-modified = {2011-07-09 17:11:49 -0400}, + keywords = {GPS}, + month = {Sept.}, + title = {{GPS} Self-Constellation Sensing for Spacecraft Formation Flying}, + year = {1998} +} + +@article{Corazzini98_Nav, + author = {Corazzini, T. and Robertson, A. and Adams, J.C. and Hassibi, A. and How, J. P.}, + date-added = {2011-07-08 07:29:54 -0400}, + date-modified = {2011-07-08 07:30:46 -0400}, + journal = {ION Journal of Navigation}, + keywords = {GPS}, + number = {3}, + pages = {195--207}, + publisher = {Institute of Navigation}, + title = {Experimental demonstration of {GPS} as a relative sensor for formation flying spacecraft}, + volume = {45}, + year = {1998} +} + +@inproceedings{Corazzini99_INGPS, + author = {Corazzini, T. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ion99_tc.pdf}, + booktitle = {Proceedings of Institute of Navigation GPS Conference}, + keywords = {GPS}, + month = {September}, + pages = {1559-1568}, + title = {Onboard pseudolite augmentation system for relative navigation}, + url = {http://acl.mit.edu/papers/ion99_tc.pdf}, + year = {1999} +} + +@inproceedings{Craparo07_GNC, + author = {E. Craparo and J. How and N. Roy and E. Modiano}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-07-23 14:02:51 -0400}, + date-modified = {2011-07-23 14:03:03 -0400}, + title = {Cooperative Exploration under Communication Constraints}, + year = {2007} +} + +@conference{Craparo08_ACC, + author = {Craparo, E. M. and How, J. P. and Modiano, E.}, + bdsk-url-online-1 = {10.1109/ACC.2008.4586789}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 10:02:47 -0400}, + date-modified = {2011-04-18 10:02:47 -0400}, + isbn = {0743-1619}, + keywords = {approximation theory; integer programming; linear programming; mobile robots; multi-robot systems; sensors; approximation algorithm; communication capability; large-scale problems; mixed-integer linear programming; mobile backbone networks; mobility capability; sensing approach; estimation and tracking}, + month = {11-13 June}, + pages = {2016-2021}, + title = {Optimization of mobile backbone networks: Improved algorithms and approximation}, + ty = {CONF}, + url-online = {10.1109/ACC.2008.4586789}, + year = {2008} +} + +@phdthesis{Craparo08_PhD, + address = {Cambridge MA}, + author = {Emily M. Craparo}, + bdsk-url-1 = {http://acl.mit.edu/papers/Craparo_PhD.pdf}, + keywords = {estimation and tracking}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Cooperative Exploration under Communication Constraints}, + url = {http://acl.mit.edu/papers/Craparo_PhD.pdf}, + year = {2008} +} + +@inproceedings{CraparoACC08, + author = {E. Craparo and J. P. How and E. Modiano}, + booktitle = {American Control Conference}, + date-added = {2011-04-02 08:26:03 -0400}, + date-modified = {2011-04-02 08:26:03 -0400}, + keywords = {estimation and tracking}, + month = {June}, + owner = {Jonathan P. How}, + pages = {2016-2021}, + timestamp = {2008.07.19}, + title = {Sensing Spatially Distributed Phenomena via Mobile Backbone Networks}, + year = {2008} +} + +@inproceedings{CraparoCDC08, + author = {E. Craparo and J. P. How and E. Modiano}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-18 10:02:47 -0400}, + date-modified = {2011-04-18 10:02:47 -0400}, + keywords = {estimation and tracking}, + month = {December}, + owner = {Jonathan P. How}, + pages = {1696-1701}, + timestamp = {2008.07.19}, + title = {Simultaneous Placement and Assignment for Exploration in Mobile Backbone Networks}, + year = {2008} +} + +@inproceedings{CraparoGNC07, + author = {E. Craparo and J. P. How and N. Roy and D. Pucci de Farias}, + booktitle = {AIAA Guidance, Navigation and Control Conference}, + date-added = {2011-04-18 10:02:47 -0400}, + date-modified = {2011-04-18 10:02:47 -0400}, + keywords = {estimation and tracking}, + month = {August}, + number = {AIAA-2007-6751}, + owner = {Jonathan P. How}, + timestamp = {2008.07.19}, + title = {Decentralized Estimation under Communication Constraints}, + year = {2007} +} + +@article{CraparoMBN10, + author = {E. M. Craparo and J. P. How and E. Modiano}, + date-added = {2011-04-18 10:02:47 -0400}, + date-modified = {2011-08-24 16:22:28 -0400}, + journal = {IEEE Transactions on Mobile Computing}, + keywords = {estimation and tracking}, + month = {June}, + note = {10.1109/TMC.2010.187}, + number = {4}, + pages = {560--572}, + title = {Throughput Optimization in Mobile Backbone Networks}, + volume = {10}, + year = {2011} +} + +@inproceedings{CraparoSIAM08, + author = {E. Craparo and J. P. How and E. Modiano}, + booktitle = {SIAM Conference on Optimization}, + date-added = {2011-04-18 10:02:47 -0400}, + date-modified = {2011-04-18 10:02:47 -0400}, + keywords = {estimation and tracking}, + month = {May}, + owner = {Jonathan P. How}, + timestamp = {2008.07.19}, + title = {Throughput Optimization in Mobile Backbone Networks}, + year = {2008} +} + +@mastersthesis{Culligan06_Masters, + address = {Cambridge MA}, + author = {Culligan, Kieran F.}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/37952}, + keywords = {path planning}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Online Trajectory Planning for {UAV}s Using {Mixed Integer Linear Programming}}, + url = {http://dspace.mit.edu/handle/1721.1/37952}, + year = {2006} +} + +@conference{Culligan07_ACC, + author = {Culligan, K. and Valenti, M. and Kuwata, Y. and How, J. P.}, + bdsk-url-online-1 = {10.1109/ACC.2007.4283101}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:33:08 -0400}, + date-modified = {2011-04-18 09:33:08 -0400}, + isbn = {0743-1619}, + keywords = {aircraft testing; integer programming; interpolation; linear programming; path planning; remotely operated vehicles; linear interpolation point; multivehicle test; online mixed-integer linear programming trajectory optimization; online path planner formulation; receding horizon minimization problem; three-dimensional flight testing; unmanned aerial vehicle}, + month = {9-13 July}, + pages = {5322-5327}, + title = {Three-Dimensional Flight Experiments Using On-Line Mixed-Integer Linear Programming Trajectory Optimization}, + ty = {CONF}, + url-online = {10.1109/ACC.2007.4283101}, + year = {2007} +} + +@article{Cummings11_IEEE, + abstract = {For future systems that require one or a small team of operators to +supervise a network of automated agents, automated planners are critical +since they are faster than humans for path planning and resource +allocation in multivariate, dynamic, time-pressured environments. +However, such planners can be brittle and unable to respond to emergent +events. Human operators can aid such systems by bringing their knowledge-based +reasoning and experience to bear. Given a decentralized task planner +and a goal-based operator interface for a network of unmanned vehicles +in a search, track, and neutralize mission, we demonstrate with a +human-on-the-loop experiment that humans guiding these decentralized +planners improved system performance by up to 50%. However, those +tasks that required precise and rapid calculations were not significantly +improved with human aid. Thus, there is a shared space in such complex +missions for human #x02013;automation collaboration.}, + author = {Cummings, M. L. and How, J. P. and Whitten, A. and Toupet, O.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/JPROC.2011.2174104}, + date-added = {2012-01-30 10:40:24 -0500}, + date-modified = {2012-01-30 10:43:56 -0500}, + doi = {10.1109/JPROC.2011.2174104}, + issn = {0018-9219}, + journal = {Proceedings of the IEEE}, + month = {December}, + number = {99}, + pages = {1--12}, + title = {{The Impact of Human-Automation Collaboration in Decentralized Multiple Unmanned Vehicle Control}}, + url = {http://dx.doi.org/10.1109/JPROC.2011.2174104}, + year = {2011} +} + +@inproceedings{Cutler11_GNC, + address = {Portland, OR}, + author = {M. Cutler and N. Kemal Ure and B. Michini and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC11_Cutler_uber.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-05-29 08:39:24 -0400}, + date-modified = {2011-08-22 16:31:45 -0400}, + keywords = {flight control}, + month = {August}, + pages = {1--17}, + title = {Comparison of Fixed and Variable Pitch Actuators for Agile Quadrotors}, + url = {http://acl.mit.edu/papers/GNC11_Cutler_uber.pdf}, + year = {2011} +} + +@inproceedings{Cutler12_GNC, + address = {Minneapolis, Minnesota}, + author = {Mark Cutler and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/2012-uber-compressed.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2012-04-11 17:34:28 -0400}, + keywords = {quadrotor, UAV, variable-pitch, trajectory generation, control}, + month = {August}, + owner = {mark}, + pages = {1--15}, + timestamp = {2012.01.20}, + title = {Actuator Constrained Trajectory Generation and Control for Variable-Pitch Quadrotors}, + url = {http://acl.mit.edu/papers/2012-uber-compressed.pdf}, + year = {2012} +} + +@mastersthesis{Cutler12_Masters, + author = {Mark Cutler}, + bdsk-url-1 = {http://acl.mit.edu/papers/Cutler_Masters12.pdf}, + month = {August}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Design and Control of an Autonomous Variable-Pitch Quadrotor Helicopter}}, + url = {http://acl.mit.edu/papers/Cutler_Masters12.pdf}, + year = {2012} +} + +@inproceedings{Cutler13_ICUAS, + address = {Atlanta GA}, + author = {Cutler, Mark and Michini, Bernard and How, Jonathan P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/Cutler13_ICUAS.pdf}, + booktitle = {International Conference on Unmanned Aircraft Systems}, + month = {August}, + organization = {IEEE}, + title = {Lightweight Infrared Sensing for Relative Navigation of Quadrotors}, + url = {http://acl.mit.edu/papers/Cutler13_ICUAS.pdf}, + year = {2013} +} + +@inproceedings{Cutler13_NIPS, + author = {Cutler, Mark and Walsh, Thomas J. and How, Jonathan P.}, + booktitle = {NIPS Transfer and Multi-Task Learning Workshop}, + title = {Reinforcement Learning with Multi-Fidelity Simulators (Poster)}, + year = {2013} +} + +@conference{Cutler14_ICRA, + address = {Hong Kong}, + author = {Cutler, Mark and Walsh, Thomas J. and How, Jonathan P.}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + pages = {3888--3895}, + title = {Reinforcement Learning with Multi-Fidelity Simulators}, + year = {2014} +} + +@article{Cutler15_DSMC, + author = {Mark Cutler and Jonathan P. How}, + bdsk-url-1 = {http://markjcutler.com/papers/Cutler15_DSMC.pdf}, + journal = {ASME Journal of Dynamic Systems, Measurement and Control}, + month = {October}, + number = {10}, + pages = {101002--101002-14}, + title = {Analysis and Control of a Variable-Pitch Quadrotor for Agile Flight}, + url = {http://markjcutler.com/papers/Cutler15_DSMC.pdf}, + volume = {137}, + year = {2015} +} + +@conference{Cutler15_ICRA, + address = {Seattle, WA}, + author = {Cutler, Mark and How, Jonathan P.}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + month = {May}, + organization = {IEEE}, + title = {Efficient Reinforcement Learning for Robots using Informative Simulated Priors}, + year = {2015} +} + +@article{Cutler15_TRO, + author = {Mark Cutler and Thomas J. Walsh and Jonathan P. How}, + bdsk-url-1 = {http://markjcutler.com/papers/Cutler15_TRO.pdf}, + journal = {IEEE Transactions on Robotics}, + month = {June}, + number = {3}, + pages = {655-671}, + title = {Real-World Reinforcement Learning via Multifidelity Simulators}, + url = {http://markjcutler.com/papers/Cutler15_TRO.pdf}, + volume = {31}, + year = {2015} +} + +@mastersthesis{Dale07_Masters, + address = {Cambridge MA}, + author = {Daniel R. Dale}, + bdsk-url-1 = {http://acl.mit.edu/papers/dale_thesis.pdf}, + keywords = {decision making}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science}, + title = {Automated Ground Maintenance and Health Management for Autonomous Unmanned Aerial Vehicles}, + url = {http://acl.mit.edu/papers/dale_thesis.pdf}, + year = {2007} +} + +@article{Debruijn2011_JAE, + author = {de Bruijn, F. and Gill, E. and How, J. P.}, + date-added = {2012-02-19 19:16:15 -0500}, + date-modified = {2019-04-15 08:57:46 -0400}, + journal = {Journal of Aerospace Engineering, Sciences and Applications}, + number = {2}, + pages = {1--15}, + title = {COMPARATIVE ANALYSIS OF CARTESIAN AND CURVILINEAR CLOHESSY-WILTSHIRE EQUATIONS}, + volume = {3}, + year = {2011} +} + +@mastersthesis{Desaraju10_Masters, + address = {Cambridge MA}, + author = {Desaraju, Vishnu R.}, + bdsk-url-1 = {http://acl.mit.edu/papers/DesarajuSM.pdf}, + keywords = {path planning; RRT}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Decentralized Path Planning for Multiple Agents in Complex Environments Using Rapidly-Exploring Random Trees}, + url = {http://acl.mit.edu/papers/DesarajuSM.pdf}, + year = {2010} +} + +@inproceedings{Desaraju11_ICRA, + author = {V. R. Desaraju and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Desaraju11_ICRA.pdf}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + keywords = {path planning; RRT}, + month = {May}, + organization = {IEEE}, + title = {Decentralized Path Planning for Multi-Agent Teams in Complex Environments using Rapidly-exploring Random Trees}, + url = {http://acl.mit.edu/papers/Desaraju11_ICRA.pdf}, + year = {2011} +} + +@article{Desaraju12_AURO, + author = {V. R. Desaraju and J. P. How}, + date-modified = {2012-11-05 16:06:35 -0500}, + journal = {Autonomous Robots}, + keywords = {path planning; RRT}, + month = {January}, + pages = {1--19}, + title = {Decentralized path planning for multi-agent teams with complex constraints}, + year = {2012} +} + +@inproceedings{Deshpande_VLDB04, + acmid = {1316741}, + author = {Deshpande, Amol and Guestrin, Carlos and Madden, Samuel R. and Hellerstein, Joseph M. and Hong, Wei}, + bdsk-url-1 = {http://dl.acm.org/citation.cfm?id=1316689.1316741}, + booktitle = {Proceedings of the Thirtieth international conference on Very large data bases - Volume 30}, + date-added = {2012-08-01 09:09:36 -0400}, + date-modified = {2012-08-01 09:09:36 -0400}, + isbn = {0-12-088469-0}, + location = {Toronto, Canada}, + numpages = {12}, + pages = {588--599}, + publisher = {VLDB Endowment}, + series = {VLDB '04}, + title = {Model-driven data acquisition in sensor networks}, + url = {http://dl.acm.org/citation.cfm?id=1316689.1316741}, + year = {2004} +} + +@article{downes2021luna, + author = {Downes, Lena M and Steiner, Ted J, and How, Jonathan P}, + journal = {AIAA Journal of Aerospace Information Systems}, + number = {7}, + pages = {391-403}, + publisher = {AIAA}, + title = {Neural Network Approach to Crater Detection for Lunar Terrain Relative Navigation}, + url = {https://doi.org/10.2514/1.I010884}, + volume = {18}, + year = {2021} +} + +@inproceedings{Downes20_ACC, + author = {Downes, Lena M and Steiner, Ted J and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/abs/2007.07702}, + booktitle = {American Control Conference}, + title = {Lunar Terrain Relative Navigation Using a Convolutional Neural Network for Visual Crater Detection}, + url = {https://arxiv.org/abs/2007.07702}, + year = {2020} +} + +@inproceedings{Downes20_SciTech, + author = {Downes, Lena M and Steiner, Ted J and How, Jonathan P}, + bdsk-url-1 = {https://arc.aiaa.org/doi/abs/10.2514/6.2020-1838}, + booktitle = {AIAA SciTech Forum}, + title = {Deep Learning Crater Detection for Lunar Terrain Relative Navigation}, + url = {https://arc.aiaa.org/doi/abs/10.2514/6.2020-1838}, + year = {2020} +} + +@mastersthesis{Downes20_SM, + author = {Lena M. Downes}, + month = {June}, + school = {MIT Department of Aeronautics and Astronautics}, + title = {Lunar Orbiter State Estimation Using Neural Network-based Crater Detection}, + year = {2020} +} + +@inproceedings{Downes22_IROS, + author = {Downes, Lena M. and Kim, Dong Ki and Steiner, Ted J. and How, Jonathan P.}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + title = {City-wide Street-to-Satellite Image Geolocalization of a Mobile Ground Agent}, + year = {2022} +} + +@inproceedings{Downes23_ICRA, + author = {Downes, Lena M. and Steiner, Ted J. and Russell, Rebecca L. and How, Jonathan P.}, + booktitle = {2023 {{IEEE International Conference}} on {{Robotics}} and {{Automation}} ({{ICRA}})}, + title = {Wide-Area Geolocalization with a Limited Field of View Camera}, + year = {2023} +} + +@inproceedings{elias2026scitech, + author = {Eric J. Elias and Michael Esswein and Jonathan P. How and David W. Miller}, + booktitle = {AIAA SciTech 2026 Forum}, + doi = {10.2514/6.2026-2706}, + title = {Navigation Around Unknown Space Objects Using Visible-Thermal Image Fusion}, + url = {https://arc.aiaa.org/doi/abs/10.2514/6.2026-2706}, + year = {2026} +} + +@inproceedings{Evans18_GNC, + author = {Evans, Erin and How, Jonathan P and Thrasher, Stephen and Yang, Lee C}, + bdsk-url-1 = {https://arc.aiaa.org/doi/pdf/10.2514/6.2018-1603}, + booktitle = {2018 AIAA Guidance, Navigation, and Control Conference}, + pages = {1603}, + title = {On-Orbit Mass Property Estimation for the Space Shuttle Orbiter with Uncertain Thruster Outputs}, + url = {https://arc.aiaa.org/doi/pdf/10.2514/6.2018-1603}, + year = {2018} +} + +@mastersthesis{Everett17_SM, + author = {Michael Everett}, + month = {May}, + school = {Massachusetts Institute of Technology, Department of Mechanical Engineering}, + title = {Robot Designed for Socially Acceptable Navigation}, + year = {2017} +} + +@inproceedings{Everett18_IROS, + address = {Madrid, Spain}, + author = {Michael Everett and Yu Fan Chen and Jonathan P. How}, + bdsk-url-1 = {https://arxiv.org/pdf/1805.01956.pdf}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + date-modified = {2018-10-03 06:18:08 -0400}, + month = {September}, + title = {Motion Planning Among Dynamic, Decision-Making Agents with Deep Reinforcement Learning}, + url = {https://arxiv.org/pdf/1805.01956.pdf}, + year = {2018} +} + +@inproceedings{Everett18_IROS_WS, + address = {Madrid, Spain}, + author = {Michael Everett and Jonathan P. How}, + bdsk-url-1 = {https://personalrobotics.cs.washington.edu/workshops/mlmp2018/assets/docs/18_CameraReadySubmission.pdf}, + booktitle = {Machine Learning in Robot Motion Planning Workshop at the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + month = {October}, + title = {Planning Beyond The Sensing Horizon Using a Learned Context}, + url = {https://personalrobotics.cs.washington.edu/workshops/mlmp2018/assets/docs/18_CameraReadySubmission.pdf}, + year = {2018} +} + +@inproceedings{Everett19_IROS, + address = {Macau, China}, + author = {Michael Everett and Justin Miller and Jonathan P. How}, + bdsk-url-1 = {https://arxiv.org/pdf/1908.09171.pdf}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + date-modified = {2019-06-22 06:18:08 -0400}, + month = {November}, + title = {Planning Beyond The Sensing Horizon Using a Learned Context}, + url = {https://arxiv.org/pdf/1908.09171.pdf}, + year = {2019} +} + +@phdthesis{Everett20_PhD, + author = {Michael Everett}, + bdsk-url-1 = {http://mfe.mit.edu/portfolio/img/portfolio/phd_thesis.pdf}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Mechanical Engineering}, + title = {Algorithms for Robust Autonomous Navigation in Human Environments}, + url = {http://mfe.mit.edu/portfolio/img/portfolio/phd_thesis.pdf}, + year = {2020} +} + +@article{Everett21_Accessa, + author = {Michael Everett and Golnaz Habibi and Chuangchuang Sun and Jonathan P. How}, + doi = {10.1109/ACCESS.2021.3133370}, + journal = {IEEE Access}, + title = {Reachability Analysis of Neural Feedback Loops}, + url = {https://arxiv.org/pdf/2108.04140.pdf}, + year = {2021} +} + +@inproceedings{Everett21_CDC, + author = {Michael Everett}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + pages = {(to appear)}, + title = {Neural Network Verification in Control (Tutorial)}, + url = {https://arxiv.org/pdf/2110.01388.pdf}, + year = {2021} +} + +@inproceedings{Everett21_ICRA, + author = {Michael Everett and Golnaz Habibi and Jonathan P. How}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + title = {Efficient Reachability Analysis for Closed-Loop Systems with Neural Network Controllers}, + url = {https://arxiv.org/pdf/2101.01815.pdf}, + year = {2021} +} + +@article{Everett21_IEEEAccess, + author = {Michael Everett and Yu Fan Chen and Jonathan P. How}, + date-modified = {2019-09-14 06:18:08 -0400}, + doi = {10.1109/ACCESS.2021.3050338}, + journal = {IEEE Access: Special Section on Real-Time Machine Learning Applications in Mobile Robotics}, + pages = {10357-10377}, + title = {Collision Avoidance in Pedestrian-Rich Environments with Deep Reinforcement Learning}, + url = {https://arxiv.org/pdf/1910.11689.pdf}, + volume = {9}, + year = {2021} +} + +@article{Everett21_LCSS, + author = {Michael Everett and Golnaz Habibi and Jonathan P. How}, + doi = {10.1109/LCSYS.2020.3045323}, + journal = {IEEE Control Systems Letters (L-CSS)}, + number = {6}, + pages = {pp. 2114--2119}, + title = {Robustness Analysis of Neural Networks via Efficient Partitioning with Applications in Control Systems}, + url = {https://arxiv.org/pdf/2010.00540.pdf}, + volume = {5}, + year = {2021} +} + +@article{Everett21_TNNLS, + author = {Michael Everett* and Bj\"{o}rn L\"{u}tjens* and Jonathan P. How}, + doi = {10.1109/TNNLS.2021.3056046}, + journal = {IEEE Transactions on Neural Networks and Learning Systems (TNNLS)}, + title = {Certified Adversarial Robustness in Deep Reinforcement Learning}, + url = {https://arxiv.org/pdf/2004.06496.pdf}, + year = {2021 (to appear)} +} + +@conference{Faris1998, + author = {Faris, D. and Pare, T. and Packard, A. and Ali, K.A. and J. P. How}, + booktitle = {Proceedings of the Annual Allerton Conference on Communication Control and Computing}, + date-added = {2011-05-03 09:53:55 -0400}, + date-modified = {2011-07-09 20:51:17 -0400}, + issn = {0732-6181}, + keywords = {flight control}, + month = {Oct}, + organization = {University of Illinois}, + pages = {600-609}, + title = {{Controller Fragility: What's All the Fuss?}}, + volume = {36}, + year = {1998} +} + +@article{Fathian2019, + author = {Fathian, Kaveh and Khosoussi, Kasra and Lusk, Parker and Tian, Yulun and How, Jonathan P}, + journal = {IEEE Transactions on Robotics}, + number = {6}, + pages = {1686--1703}, + publisher = {IEEE}, + title = {{CLEAR: A} Consistent Lifting, Embedding, and Alignment Rectification Algorithm for Multi-Agent Data Association}, + volume = {36}, + year = {2020} +} + +@inproceedings{Ferguson02_GNC, + address = {Monterey, CA}, + author = {Ferguson, P. and Yang, T. and Tillerson, M. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/testbed_gnc.html}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {formation flight}, + month = {August}, + title = {New formation flying testbed for analyzing distributed estimation and control architectures}, + url = {http://acl.mit.edu/testbed_gnc.html}, + year = {2002} +} + +@inproceedings{Ferguson02_IFFS, + author = {Ferguson, P. and Busse, F. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/FF_How_MIT.pdf}, + booktitle = {International Symposium on Formation Flying: Missions and Technologies}, + keywords = {formation flight}, + month = {October}, + organization = {Citeseer}, + title = {Navigation performance predictions for the orion formation flying mission}, + url = {http://acl.mit.edu/papers/FF_How_MIT.pdf}, + year = {2002} +} + +@inproceedings{Ferguson03_GNC, + author = {Ferguson, P. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ferguson_how_gnc_03.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {formation flight}, + month = {August}, + organization = {Citeseer}, + title = {Decentralized estimation algorithms for formation flying spacecraft}, + url = {http://acl.mit.edu/papers/ferguson_how_gnc_03.pdf}, + year = {2003} +} + +@mastersthesis{Ferguson03_Masters, + address = {Cambridge MA}, + author = {Philip Ferguson}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/fergusonMITa.pdf}, + keywords = {formation flight}, + month = {January}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Distributed Estimation and Control Technologies for Formation Flying Spacecraft}, + url = {http://www.mit.edu/people/jhow/papers/fergusonMITa.pdf}, + year = {2003} +} + +@inproceedings{Ferguson14_WAFR_SUBMIT, + address = {Istanbul, Turkey}, + author = {S. Ferguson and B. Luders and R. C. Grande and J. P. How}, + booktitle = {Proceedings of the Workshop on the Algorithmic Foundations of Robotics}, + keywords = {path planning, robust control, hardware}, + month = {August}, + title = {Real-Time Predictive Modeling and Robust Avoidance of Pedestrians with Uncertain, Changing Intentions}, + year = {2014} +} + +@mastersthesis{Fiore08_Masters, + address = {Cambridge MA}, + author = {Gaston A. Fiore}, + bdsk-url-1 = {http://acl.mit.edu/papers/FioreSM.pdf}, + keywords = {path planning}, + month = {May}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {A Robust Motion Planning Approach for Autonomous Driving in Urban Areas}, + url = {http://acl.mit.edu/papers/FioreSM.pdf}, + year = {2008} +} + +@article{fishberg2022multi, + author = {Fishberg, Andrew and How, Jonathan P}, + journal = {arXiv preprint arXiv:2203.11004}, + title = {Multi-Agent Relative Pose Estimation with UWB and Constrained Communications}, + year = {2022} +} + +@article{fishberg2024murp, + author = {Fishberg, Andrew and Quiter, Brian and How, Jonathan P}, + journal = {IEEE Robotics and Automation Letters}, + publisher = {IEEE}, + title = {MURP: Multi-Agent Ultra-Wideband Relative Pose Estimation with Constrained Communications in 3D Environments}, + year = {2024} +} + +@article{Fletcher08_JFR, + author = {L. Fletcher and S. Teller and E. Olson and D. Moore and Y. Kuwata and J. P. How and J. Leonard and I. Miller and M. Campbell and D. Huttenlocher and A. Nathan and F. R. Kline}, + bdsk-url-1 = {http://acl.mit.edu/papers/FletcherJFR08.pdf}, + date-added = {2011-04-18 10:12:13 -0400}, + date-modified = {2011-04-18 10:12:13 -0400}, + journal = {Journal of Field Robotics}, + keywords = {AI, DGC, path planning}, + month = {October}, + number = {10}, + owner = {Brandon}, + pages = {775-807}, + timestamp = {2008.11.25}, + title = {{The MIT-Cornell Collision and Why it Happened}}, + url = {http://acl.mit.edu/papers/FletcherJFR08.pdf}, + volume = {25}, + year = {2008} +} + +@inbook{Fletcher10_DARPA, + author = {L. Fletcher and S. Teller and E. Olson and D. Moore and Y. Kuwata and J. P. How and J. Leonard and I. Miller and M. Campbell and D. Huttenlocher and A. Nathan and F. R. Kline}, + chapter = {{The MIT-Cornell Collision and Why it Happened}}, + date-modified = {2011-07-08 10:53:51 -0400}, + keywords = {AI, DGC, RRT, Vision, path planning}, + publisher = {Springer Verlag}, + title = {{The DARPA Urban Challenge: Autonomous Vehicles in City Traffic}}, + volume = {56}, + year = {2010} +} + +@inproceedings{FrankGNC07, + address = {Hilton Head, SC}, + author = {A. Frank and J. S. McGrew and M. Valenti and D. Levine and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC_airplane_Aug_2007_v0.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:43:06 -0400}, + date-modified = {2011-04-02 08:43:06 -0400}, + keywords = {flight control}, + month = {August}, + owner = {Jonathan P. How}, + timestamp = {2008.07.19}, + title = {Hover, Transition, and Level Flight Control Design for a Single-Propeller Indoor Airplane}, + url = {http://acl.mit.edu/papers/GNC_airplane_Aug_2007_v0.pdf}, + year = {2007} +} + +@mastersthesis{Fraser09_Masters, + address = {Cambridge MA}, + author = {Cameron S. R. Fraser}, + bdsk-url-1 = {http://acl.mit.edu/papers/FraserSM.pdf}, + keywords = {consensus}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Reaching Consensus with Uncertainty on a Network}, + url = {http://acl.mit.edu/papers/FraserSM.pdf}, + year = {2009} +} + +@inproceedings{Fraser10_ACC, + address = {Baltimore, MD}, + author = {C. S. R. Fraser and L. F. Bertuccelli and H.-L. Choi and J. P. How}, + booktitle = {American Control Conference (ACC)}, + date-added = {2010-07-23 21:13:24 -0400}, + date-modified = {2011-05-29 09:05:25 -0400}, + keywords = {consensus}, + month = {July}, + pages = {3192-3197}, + title = {Hyperparameter Consensus Methods for Agreement Under non-{G}aussian Uncertainties}, + year = {2010} +} + +@article{Fraser10_Auto, + author = {Cameron S.R. Fraser and Luca F. Bertuccelli and Han-Lim Choi and Jonathan P. How}, + bdsk-url-1 = {http://dx.doi.org/10.1016/j.automatica.2011.11.003}, + date-added = {2011-07-08 14:55:49 -0400}, + date-modified = {2012-03-07 17:17:37 -0500}, + doi = {10.1016/j.automatica.2011.11.003}, + journal = {Automatica}, + keywords = {decision making}, + month = {February}, + number = {2}, + pages = {374-380}, + title = {A Hyperparameter Consensus Method for Agreement Under Uncertainty}, + url = {http://dx.doi.org/10.1016/j.automatica.2011.11.003}, + volume = {48}, + year = {2012} +} + +@inproceedings{FraserGNC09, + address = {Chicago, IL}, + author = {C. S. R. Fraser and L. F. Bertuccelli and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC09_ProbabilityConsensus.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:36:26 -0400}, + date-modified = {2011-04-02 08:36:26 -0400}, + keywords = {consensus}, + month = {August}, + title = {Reaching Consensus with Imprecise Probabilities Over a Network}, + url = {http://acl.mit.edu/papers/GNC09_ProbabilityConsensus.pdf}, + year = {2009} +} + +@mastersthesis{Frey17_SM, + author = {Kristoffer M. Frey}, + month = {August}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Sparsity and Computation Reduction for High-Rate Visual-Inertial Odometry}, + year = {2017} +} + +@inproceedings{Frey18_ICRA, + author = {Frey, Kristoffer M. and Steiner, Ted J. and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/abs/1709.06821}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + title = {Complexity Analysis and Efficient Measurement Selection Primitives for High-Rate Graph SLAM}, + url = {https://arxiv.org/abs/1709.06821}, + year = {2018} +} + +@inproceedings{Frey19_ICRA, + address = {Montreal, Canada}, + author = {Frey, Kristoffer M and Steiner, Ted J and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/abs/1809.09646}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-modified = {2019-05-18 11:24:35 -0400}, + month = {May}, + title = {Efficient Constellation-Based Map-Merging for Semantic SLAM}, + url = {https://arxiv.org/abs/1809.09646}, + year = {2019} +} + +@inproceedings{Frey20_RSS, + author = {Frey, Kristoffer M and Steiner, Ted J and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/abs/2006.01109}, + booktitle = {Robotics: Science and Systems (RSS)}, + month = {July}, + title = {Collision Probabilities for Continuous-Time Systems Without Sampling}, + url = {https://arxiv.org/abs/2006.01109}, + year = {2020} +} + +@inproceedings{FreyOkLiu19_ICRA, + address = {Montreal, Canada}, + author = {Ok, Kyel and Liu, Katherine and Frey, Kristoffer M. and How, Jonathan P. and Roy, Nicholas}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-modified = {2019-05-18 07:45:23 -0400}, + month = {May}, + title = {Robust Object-Based SLAM for High-Speed Autonomous Navigation}, + year = {2019} +} + +@conference{Garcia05_ACC, + address = {Portland, OR}, + author = {Garcia, I. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC05paper.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2005.1470072}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 10:11:55 -0400}, + date-modified = {2011-04-18 10:11:55 -0400}, + isbn = {0743-1619}, + keywords = {artificial satellites; attitude control; linear programming; nonlinear control systems; position control; attitude constraints; linear programming; nonconvex constraints; nonlinear attitude dynamics; path planning problem; position constraints; satellite reconfiguration maneuvers; spacecraft reconfiguration maneuvers; spacecraft maneuvers; trajectory design problem; trajectory optimization}, + month = {8-10 June}, + pages = {889-894 vol. 2}, + title = {Trajectory optimization for satellite reconfiguration maneuvers with position and attitude constraints}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/ACC05paper.pdf}, + url-online = {10.1109/ACC.2005.1470072}, + year = {2005} +} + +@conference{Garcia05_CDC, + address = {Seville, Spain}, + author = {Garcia, I. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/CDC05_GarciaHow.pdf}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-18 10:11:55 -0400}, + date-modified = {2011-04-18 10:11:55 -0400}, + keywords = {path planning; RRT}, + month = {12-15 December}, + pages = {7965-7970}, + title = {Improving the Efficiency of Rapidly-exploring Random Trees Using a Potential Function Planner}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/CDC05_GarciaHow.pdf}, + year = {2005} +} + +@mastersthesis{Garcia05_Masters, + address = {Cambridge MA}, + author = {Ian M. Garcia}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Garcia_SM05.pdf}, + keywords = {spacecraft maneuvers}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Nonlinear Trajectory Optimization with Path Constraints Applied to Spacecraft Reconfiguration Maneuvers}, + url = {http://www.mit.edu/people/jhow/papers/Garcia_SM05.pdf}, + year = {2005} +} + +@inproceedings{Geramifard06_AIIDE, + added-at = {2007-02-26T00:00:00.000+0100}, + author = {Alborz Geramifard and Pirooz Chubak and Vadim Bulitko}, + bdsk-url-1 = {http://dblp.uni-trier.de/db/conf/aiide/aiide2006.html#GeramifardCB06}, + biburl = {http://www.bibsonomy.org/bibtex/250cd8f1bec3619a6fffae64147f959d1/dblp}, + booktitle = {AIIDE}, + date = {2007-02-26}, + description = {dblp}, + editor = {Laird, John E. and Schaeffer, Jonathan}, + interhash = {3ca37932a50f86761a7b5249e3025c22}, + intrahash = {50cd8f1bec3619a6fffae64147f959d1}, + isbn = {978-1-57735-235-8}, + keywords = {dblp}, + pages = {112-114}, + publisher = {The AAAI Press}, + timestamp = {2007-02-26T00:00:00.000+0100}, + title = {Biased Cost Pathfinding.}, + url = {http://dblp.uni-trier.de/db/conf/aiide/aiide2006.html#GeramifardCB06}, + year = {2006} +} + +@inproceedings{Geramifard08_AAMAS, + address = {Richland, SC}, + author = {Michael Bowling and Alborz Geramifard and David Wingate}, + bdsk-url-1 = {http://dl.acm.org/citation.cfm?id=1402439}, + booktitle = {International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS)}, + isbn = {978-0-9817381-0-9}, + keywords = {least-squares, policy iteration, reinforcement learning}, + location = {Estoril, Portugal}, + numpages = {8}, + pages = {379--386}, + title = {{Sigma Point Policy Iteration}}, + url = {http://dl.acm.org/citation.cfm?id=1402439}, + volume = {1}, + year = {2008} +} + +@inproceedings{Geramifard11_ACC, + author = {A. Geramifard and J. Redding and N. Roy and J. P. How}, + bdsk-url-1 = {http://people.csail.mit.edu/agf/Files/11ACC-iCCARisk.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:24:26 -0400}, + date-modified = {2011-11-08 19:19:34 -0500}, + keywords = {decision making}, + month = {June}, + pages = {3393 - 3398}, + title = {{UAV Cooperative Control with Stochastic Risk Models}}, + url = {http://people.csail.mit.edu/agf/Files/11ACC-iCCARisk.pdf}, + year = {2011} +} + +@inproceedings{Geramifard11_ICML, + author = {Alborz Geramifard and Finale Doshi and Joshua Redding and Nicholas Roy and Jonathan How}, + bdsk-url-1 = {http://people.csail.mit.edu/agf/Files/11ICML-iFDD.pdf}, + booktitle = {International Conference on Machine Learning (ICML)}, + date-added = {2012-06-12 10:05:27 -0400}, + date-modified = {2012-06-12 10:05:34 -0400}, + editor = {Lise Getoor and Tobias Scheffer}, + isbn = {978-1-4503-0619-5}, + location = {Bellevue, Washington, USA}, + month = {June}, + pages = {881--888}, + publisher = {ACM}, + title = {Online Discovery of Feature Dependencies}, + url-hide = {http://people.csail.mit.edu/agf/Files/11ICML-iFDD.pdf}, + year = {2011} +} + +@conference{Geramifard11_ICMLs, + author = {Alborz Geramifard and Finale Doshi and Joshua Redding and Nicholas Roy and Jonathan How}, + bdsk-url-1 = {http://people.csail.mit.edu/agf/Files/11ICML-iFDD.pdf}, + booktitle = {International Conference on Machine Learning (ICML)}, + date-modified = {2012-06-12 10:06:12 -0400}, + month = {June}, + pages = {881--888}, + title = {Online Discovery of Feature Dependencies}, + url-hide = {http://people.csail.mit.edu/agf/Files/11ICML-iFDD.pdf}, + year = {2011} +} + +@inproceedings{Geramifard11_ICMLW, + author = {A. Geramifard and J. Redding and J. Joseph and J. P. How}, + booktitle = {Workshop on Planning and Acting with Uncertain Models, ICML, Bellevue, WA, USA}, + date-added = {2011-04-02 08:24:26 -0400}, + date-modified = {2011-04-02 08:24:26 -0400}, + keywords = {decision making}, + month = {June}, + title = {{Model Estimation Within Planning and Learning}}, + year = {2011} +} + +@conference{Geramifard12_ACC, + author = {Alborz Geramifard and Joshua Redding and Joshua Joseph and Nicholas Roy and Jonathan P. How}, + booktitle = {American Control Conference (ACC)}, + date-added = {2012-02-27 11:31:28 -0500}, + date-modified = {2012-02-27 11:32:40 -0500}, + month = {June}, + title = {Model Estimation Within Planning and Learning}, + year = {2012} +} + +@inproceedings{Geramifard12_EWRL, + author = {A. Geramifard and S. Tellex and D. Wingate and N. Roy and J. P. How}, + booktitle = {The 10th European Workshop on Reinforcement Learning (EWRL)}, + date-added = {2012-06-22 05:57:41 -0400}, + date-modified = {2012-06-22 05:58:00 -0400}, + keywords = {decision making}, + title = {{A Bayesian Approach to Finding Compact Representations for Reinforcement Learning}}, + year = {2012} +} + +@phdthesis{Geramifard12_PhD, + author = {Alborz Geramifard}, + date-modified = {2012-02-29 20:12:01 -0500}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Practical Reinforcement Learning Using Representation Learning and Safe Exploration for Large Scale Markov Decision Processes}}, + year = {2012} +} + +@article{Geramifard13_FTML, + author = {Alborz Geramifard and Thomas J. Walsh and Stefanie Tellex and Girish Chowdhary and Nicholas Roy and Jonathan P. How}, + bdsk-url-1 = {http://dx.doi.org/10.1561/2200000042}, + doi = {10.1561/2200000042}, + issn = {1935-8237}, + journal = {Foundations and Trends in Machine Learning}, + number = {4}, + pages = {375-451}, + title = {A Tutorial on Linear Function Approximators for Dynamic Programming and Reinforcement Learning}, + volume = {6}, + year = {2013} +} + +@article{Geramifard13_JIRS, + annote = {(\url{https://doi.org/10.1007/s10846-013-9826-6}) }, + author = {Alborz Geramifard and Joshua Redding and Jonathan P. How}, + bdsk-url-1 = {https://doi.org/10.1007/s10846-013-9826-6}, + date-modified = {2018-11-06 13:26:07 -0500}, + journal = {Journal of Intelligent and Robotic Systems}, + month = {October}, + number = {1}, + pages = {83--103}, + publisher = {Springer}, + title = {Intelligent Cooperative Control Architecture: A framework for performance improvement using safe learnings}, + url = {https://doi.org/10.1007/s10846-013-9826-6}, + volume = {72}, + year = {2013} +} + +@inproceedings{Geramifard13_UAI, + address = {Bellevue, Washington, USA}, + author = {Alborz Geramifard and Thomas J. Walsh and Nicholas Roy and Jonathan How}, + booktitle = {{Proceedings of the 29th Annual Conference on Uncertainty in Artificial Intelligence (UAI)}}, + publisher = {AUAI Press}, + title = {{Batch iFDD: A Scalable Matching Pursuit Algorithm for Solving MDPs}}, + year = {2013} +} + +@inproceedings{Giamou18_ICRA, + author = {Giamou, Matthew and Khosoussi, Kasra and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/abs/1709.06675}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + title = {Talk Resource-Efficiently to Me: Optimal Communication Planning for Distributed Loop Closure Detection}, + url = {https://arxiv.org/abs/1709.06675}, + year = {2018} +} + +@inproceedings{Giannakis_2011, + author = {Msechu, E.J. and Giannakis, G.B.}, + booktitle = {IEEE 12th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC)}, + date-added = {2012-08-01 09:09:36 -0400}, + date-modified = {2012-08-01 09:09:36 -0400}, + issn = {1948-3244}, + month = {June}, + pages = {176 -180}, + title = {Distributed measurement censoring for estimation with wireless sensor networks}, + year = {2011} +} + +@inproceedings{Girdhar2019_ICRA, + address = {Montreal, Canada}, + author = {Girdhar, Yogesh and Cai, Levi and Jamieson, Stewart and McGuire, Nathan and Flaspohler, Genevieve and Suman, Stefano and Claus, Brian}, + bdsk-url-1 = {https://arxiv.org/abs/1903.03214}, + booktitle = {IEEE Int. Conf. Robot. Autom.}, + title = {{Streaming Scene Maps for Co-Robotic Exploration in Bandwidth Limited Environments}}, + url = {https://arxiv.org/abs/1903.03214}, + year = {2019} +} + +@conference{Grande13_CDC, + author = {Grande, Robert and Chowdhary, Girish and How, Jonathan P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/Grande13_CDC.pdf}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-modified = {2017-06-19 09:51:23 +0000}, + keywords = {adaptive control}, + organization = {IEEE}, + title = {{Nonparametric Adaptive Control using Gaussian Processes with Online Hyperparameter Estimation}}, + url = {http://acl.mit.edu/papers/Grande13_CDC.pdf}, + year = {2013} +} + +@article{Grande13_JAIS, + author = {Robert Grande and Girish Chowdhary and Jonathan How}, + journal = {Journal of Aerospace Information Systems}, + title = {Experimental Validation of Bayesian Nonparametric Adaptive Control using Gaussian Processes}, + year = {2014} +} + +@inproceedings{Grande14_ICML, + author = {Robert C. Grande and Thomas J. Walsh and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Grande14_ICML.pdf}, + booktitle = {International Conference on Machine Learning (ICML)}, + location = {Beijing, China}, + month = {June}, + pages = {1332--1340}, + title = {Sample Efficient Reinforcement Learning with {G}aussian Processes}, + url = {http://acl.mit.edu/papers/Grande14_ICML.pdf}, + year = {2014} +} + +@inproceedings{Grande14_ICML_nourl, + author = {Robert C. Grande and Thomas J. Walsh and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Grande14_ICML.pdf}, + booktitle = {International Conference on Machine Learning (ICML)}, + location = {Beijing, China}, + month = {June}, + pages = {1332--1340}, + title = {Sample Efficient Reinforcement Learning with {G}aussian Processes}, + year = {2014} +} + +@mastersthesis{Grande14_Masters, + address = {Cambridge MA}, + author = {Grande, Robert C.}, + bdsk-url-1 = {http://acl.mit.edu/papers/Grande14_Masters.pdf}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Computationally Efficient {G}aussian Process Changepoint Detection and Regression}, + url = {http://acl.mit.edu/papers/Grande14_Masters.pdf}, + year = {2014} +} + +@mastersthesis{Griffith07_Masters, + address = {Cambridge MA}, + author = {Griffith, John D.}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/39703}, + keywords = {formation flight}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Design and Control of Microsatellite Clusters for Tracking Missions}, + url = {http://dspace.mit.edu/handle/1721.1/39703}, + year = {2007} +} + +@inproceedings{Grocott94_GNC, + author = {S. C. Grocott and J. P. How and D. W. Miller}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-07-09 19:58:11 -0400}, + date-modified = {2011-07-09 19:59:45 -0400}, + keywords = {robust control}, + month = {Aug}, + title = {Comparison of Robust Control Techniques for Uncertain Structural Systems}, + year = {1994} +} + +@article{Grocott94_JGCD, + author = {Grocott, S. and How, J. and Miller, D. and MacMartin, D. and Liu, K.}, + date-added = {2011-07-08 06:44:38 -0400}, + date-modified = {2011-07-09 19:57:29 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {robust control}, + number = {6}, + pages = {1163--1170}, + title = {Robust control design and implementation on the {Middeck Active Control Experiment}}, + volume = {17}, + year = {1994} +} + +@article{Grocott97_JGCD, + author = {Grocott, S. and How, J. P. and Miller, D. W.}, + bdsk-url-1 = {http://acl.mit.edu/papers/groccot_jgcd.pdf}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {robust control}, + number = {3}, + pages = {611-614}, + title = {Experimental comparison of robust H$_2$ control techniques for uncertain structural systems}, + url = {http://acl.mit.edu/papers/groccot_jgcd.pdf}, + volume = {20}, + year = {1997} +} + +@inproceedings{Habibi19_ICRA, + author = {Golnaz Habibi and Nikita Jaipuria and Jonathan P. How}, + bdsk-url-1 = {https://arxiv.org/abs/1806.09453}, + month = {August}, + title = {Context-Aware Pedestrian Motion Prediction In Urban Intersections}, + url = {https://arxiv.org/abs/1806.09453}, + year = {2018} +} + +@inproceedings{Haddad92_CDC, + author = {Haddad, W. M. and How, J. P. and Hall, S. R. and Bernstein, D. S.}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:32:30 -0400}, + keywords = {robust control}, + month = {16-18 Dec.}, + owner = {Jonathan P. How}, + pages = {2813-2819}, + timestamp = {2008.02.23}, + title = {Extensions of mixed-mu bounds to monotonic and odd monotonic nonlinearities using absolute stability theory. {I}}, + year = {1992} +} + +@inproceedings{Haddad92_CDCa, + author = {Haddad, W. M. and How, J. P. and Hall, S. R. and Bernstein, D. S.}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-07-09 19:47:38 -0400}, + date-modified = {2011-07-09 19:48:08 -0400}, + keywords = {robust control}, + month = {Dec}, + pages = {2820 - 2823}, + title = {Extensions of mixed- mu bounds to monotonic and odd monotonic nonlinearities using absolute stability theory. II}, + year = {1992} +} + +@article{Haddad94_IJC, + author = {Haddad, W. M. and How, J. P. and Hall, S. R. and Bernstein, D. S.}, + date-added = {2011-07-08 06:42:45 -0400}, + date-modified = {2011-07-08 06:43:31 -0400}, + journal = {International Journal of Control}, + keywords = {robust control}, + number = {5}, + pages = {905--951}, + publisher = {Taylor and Francis}, + title = {Extensions of mixed-$\mu$ bounds to monotonic and odd monotonic nonlinearities using absolute stability theory}, + volume = {60}, + year = {1994} +} + +@inproceedings{Hall90_GNC, + author = {Hall, S. and Crawley, E. and How, J. and Ward, B.}, + bdsk-url-1 = {https://arc.aiaa.org/doi/abs/10.2514/6.1990-3362}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-07-09 16:59:12 -0400}, + date-modified = {2011-07-09 19:52:43 -0400}, + keywords = {robust control}, + month = {Aug}, + pages = {425--435}, + title = {A Hierarchic Control Architecture for Intelligent Structures}, + url = {https://arc.aiaa.org/doi/abs/10.2514/6.1990-3362}, + year = {1990} +} + +@article{Hall91_JGCD, + author = {Hall, S. and Crawley, E. and How, J. P. and Ward, B.}, + date-added = {2011-07-07 21:12:29 -0400}, + date-modified = {2011-07-08 06:30:46 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {robust control}, + pages = {503--512}, + title = {Hierarchic control architecture for intelligent structures}, + volume = {14}, + year = {1991} +} + +@conference{Hall93_CDC, + author = {Hall, S. R. and How, J. P.}, + bdsk-url-online-1 = {10.1109/CDC.1993.325444}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-09 19:51:59 -0400}, + keywords = {robust control}, + month = {15-17 December}, + pages = {1536-1541}, + title = {Mixed {H}$_{2}$/{$\mu$} performance bounds using dissipation theory}, + ty = {CONF}, + url-online = {10.1109/CDC.1993.325444}, + volume = {2}, + year = {1993} +} + +@mastersthesis{hasfura_sm, + author = {Andres Hasfura}, + school = {Massachusetts Institute of Technology}, + title = {Pedestrian detection and tracking for mobility on demand}, + year = {2016} +} + +@phdthesis{Hassibi00_PhD, + address = {Cambridge MA}, + author = {Arash Hassibi}, + bdsk-url-1 = {http://acl.mit.edu/papers/Arash_PhD.pdf}, + keywords = {nonlinear control}, + month = {August}, + school = {Stanford University, Department of Electrical Engineering}, + title = {Lyapunov Methods in the Analysis of Complex Dynamical Systems}, + url = {http://acl.mit.edu/papers/Arash_PhD.pdf}, + year = {2000} +} + +@inproceedings{Hassibi98_CDC, + author = {Hassibi, A. and How, J. and Boyd, S.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/CDC.1998.760605}, + bdsk-url-2 = {http://stanford.edu/~boyd/papers/lac.html}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/CDC.1998.760605}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + doi = {10.1109/CDC.1998.760605}, + keywords = {feedback control}, + month = {16-18 Dec.}, + owner = {Jonathan P. How}, + pages = {140-145}, + timestamp = {2008.02.23}, + title = {Low-authority controller design via convex optimization}, + url = {http://stanford.edu/~boyd/papers/lac.html}, + volume = {1}, + year = {1998} +} + +@conference{Hassibi99_ACC, + author = {Hassibi, A. and Boyd, S. P. and How, J. P.}, + bdsk-url-1 = {http://stanford.edu/~boyd/papers/hybrid.html}, + bdsk-url-online-1 = {10.1109/ACC.1999.786489}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + keywords = {Lyapunov methods; continuous time systems; control system analysis; discrete systems; functional equations; hysteresis; linear systems; mathematical programming; matrix algebra; stability; Lyapunov functional; Lyapunov functionals; hybrid dynamical systems; hysteresis nonlinearities; path integrals; path-dependence; semidefinite program; nonlinear control}, + month = {2-4 June}, + pages = {2455-2460 vol.4}, + title = {A class of {L}yapunov functionals for analyzing hybrid dynamical systems}, + ty = {CONF}, + url = {http://stanford.edu/~boyd/papers/hybrid.html}, + url-online = {10.1109/ACC.1999.786489}, + vo = {4}, + volume = {4}, + year = {1999} +} + +@inproceedings{Hassibi99_ACC_path, + author = {Hassibi, A. and How, J. and Boyd, S.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/ACC.1999.783595}, + bdsk-url-2 = {http://stanford.edu/~boyd/papers/homotopy.html}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/ACC.1999.783595}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + doi = {10.1109/ACC.1999.783595}, + keywords = {feedback control}, + month = {2-4 June}, + owner = {Jonathan P. How}, + pages = {1385-1389}, + timestamp = {2008.02.23}, + title = {A path-following method for solving BMI problems in control}, + url = {http://stanford.edu/~boyd/papers/homotopy.html}, + volume = {2}, + year = {1999} +} + +@inproceedings{Hassibi99_CDC, + author = {Hassibi, A. and Boyd, S. P. and How, J. P.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/CDC.1999.830133}, + bdsk-url-2 = {http://stanford.edu/~boyd/papers/async.html}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/CDC.1999.830133}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + doi = {10.1109/CDC.1999.830133}, + keywords = {feedback control}, + month = {7-10 Dec.}, + owner = {Jonathan P. How}, + pages = {1345-1351}, + timestamp = {2008.02.23}, + title = {Control of asynchronous dynamical systems with rate constraints on events}, + url = {http://stanford.edu/~boyd/papers/async.html}, + volume = {2}, + year = {1999} +} + +@article{Hassibi99_JGCD, + author = {A. Hassibi and J. P. How and S. Boyd}, + bdsk-url-1 = {http://acl.mit.edu/papers/hac_lac.pdf}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {feedback control}, + month = {December}, + number = {6}, + pages = {862-872}, + title = {Low-Authority Controller Design by Means of Convex Optimization}, + url = {http://acl.mit.edu/papers/hac_lac.pdf}, + volume = {22}, + year = {1999} +} + +@conference{HoangICRA_18, + author = {Trong Nghia Hoang and Yuchen Xiao and Kavinayan Sivakumar and Christopher Amato and Jonathan P. How}, + bdsk-url-1 = {https://arxiv.org/abs/1710.06525}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2017-10-09 12:21:43 +0000}, + date-modified = {2018-05-16 14:08:35 +0000}, + title = {Near-Optimal Adversarial Policy Switching for Decentralized Asynchronous Multi-Agent Systems}, + type = {@unpublished}, + url = {https://arxiv.org/abs/1710.06525}, + year = {2018} +} + +@article{Hoseini20_RAL, + author = {Semnani, Samaneh Hosseini and Liu, Hugh and Everett, Michael and de Ruiter, Anton and How, Jonathan P}, + doi = {10.1109/LRA.2020.2974695}, + journal = {IEEE Robotics and Automation Letters (RA-L)}, + number = {2}, + pages = {3221--3226}, + publisher = {IEEE}, + title = {Multi-Agent Motion Planning for Dense and Dynamic Environments via Deep Reinforcement Learning}, + url = {https://arxiv.org/pdf/2001.06627.pdf}, + volume = {5}, + year = {2020} +} + +@conference{How01_ACC, + author = {How, J. P. and Tillerson, M.}, + bdsk-url-online-1 = {10.1109/ACC.2001.946298}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:35:34 -0400}, + date-modified = {2011-04-18 09:35:34 -0400}, + keywords = {electron device noise; fuel optimal control; optimisation; path planning; position control; sensors; space vehicles; distributed spacecraft systems; formation flying control; fuel-optimization; position control; sensor noise; station-keeping optimization; trajectory planning; velocity errors; formation flight}, + pages = {3986-3991 vol.5}, + title = {Analysis of the impact of sensor noise on formation flying control}, + ty = {CONF}, + url-online = {10.1109/ACC.2001.946298}, + vo = {5}, + volume = {5}, + year = {2001} +} + +@article{How02_SAE, + author = {How, J. and Pohlman, N. and Park, C.W.}, + date-added = {2011-07-08 11:08:50 -0400}, + date-modified = {2011-07-08 11:09:49 -0400}, + journal = {SAE Transactions}, + keywords = {GPS}, + month = {(2002-01-3336)}, + number = {6}, + pages = {2414--2421}, + publisher = {AMERICAN TECHNICAL PUBLISHERS LTD}, + title = {{GPS Estimation Algorithms for Precise Velocity, Slip and Race-Track Position Measurements}}, + volume = {111}, + year = {2002} +} + +@inproceedings{How02_SAEConf, + author = {How, J. P. and Pohlman, N. A. and Park, C. W.}, + bdsk-url-1 = {http://acl.mit.edu/papers/2002_MSEC_93.pdf}, + booktitle = {Proceedings of the SAE Motorsports Engineering Conference and Exhibition}, + date-modified = {2011-07-08 11:10:20 -0400}, + keywords = {GPS}, + publisher = {SAE International}, + title = {GPS estimation algorithms for precise velocity, slip and race-track position measurements}, + url = {http://acl.mit.edu/papers/2002_MSEC_93.pdf}, + year = {2002} +} + +@inproceedings{How04_IFFS, + address = {Washington, DC}, + author = {How, J. P. and Alfriend, K. T. and Breger, L. and Mitchell, M.}, + bdsk-url-1 = {http://acl.mit.edu/papers/FFsympSMA_040913.pdf}, + booktitle = {2nd International Symposium on Formation Flying Missions and Technologies}, + keywords = {formation flight}, + month = {September}, + title = {Semimajor Axis Estimation Strategies}, + url = {http://acl.mit.edu/papers/FFsympSMA_040913.pdf}, + year = {2004} +} + +@inproceedings{How04_UUTC, + address = {Chicago, IL}, + author = {J. P. How and E. King and Y. Kuwata}, + bdsk-url-1 = {http://acl.mit.edu/papers/UAV_paper04.pdf}, + booktitle = {{AIAA 3rd Unmanned Unlimited Technical Conference, Workshop and Exhibit}}, + date-added = {2011-04-18 09:39:20 -0400}, + date-modified = {2012-09-19 06:52:40 -0400}, + keywords = {decision making}, + month = {September}, + note = {{AIAA-2004-6490}}, + title = {{Flight demonstrations of cooperative control for UAV teams}}, + url = {http://acl.mit.edu/papers/UAV_paper04.pdf}, + year = {2004} +} + +@article{How07_JGCD, + author = {How, J. P. and Breger, L. S. and Mitchell, M. and Alfriend, K. T. and Carpenter, R.}, + date-added = {2011-07-08 11:29:31 -0400}, + date-modified = {2011-07-08 11:30:39 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {formation flying}, + number = {2}, + pages = {301--313}, + publisher = {American Institute of Aeronautics and Astronautics}, + title = {Differential semimajor axis estimation performance using carrier-phase differential global positioning system measurements}, + volume = {30}, + year = {2007} +} + +@article{How08_CSM, + author = {J. P. How and B. Bethke and A. Frank and D. Dale and J. Vian}, + date-added = {2011-04-02 08:36:26 -0400}, + date-modified = {2011-04-02 08:36:26 -0400}, + journal = {IEEE Control Systems Magazine}, + keywords = {UAV, flight control, hardware}, + month = {April}, + number = {2}, + owner = {Brandon}, + pages = {51-64}, + timestamp = {2008.08.18}, + title = {Real-Time Indoor Autonomous Vehicle Test Environment}, + volume = {28}, + year = {2008} +} + +@conference{How08_ICRA, + author = {How, J. P. and McGrew, J. S. and Frank, A. A. and Hines, G. H.}, + bdsk-url-online-1 = {10.1109/ROBOT.2008.4543539}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2011-04-18 10:10:06 -0400}, + date-modified = {2011-04-18 10:10:06 -0400}, + isbn = {1050-4729}, + keywords = {aerospace control; microrobots; mobile robots; real-time systems; MIT Aerospace Controls Laboratory; aerobatic aircraft maneuvers; aggressive aircraft maneuvers; autonomous aircraft flight control; constrained environments; micro air vehicles; nano air vehicles; realtime indoor autonomous vehicle test environment}, + month = {19-23 May}, + pages = {2213-2214}, + title = {Autonomous aircraft flight control for constrained environments}, + ty = {CONF}, + url-online = {10.1109/ROBOT.2008.4543539}, + year = {2008} +} + +@article{How09_RAM, + author = {How, J. P. and Fraser, C. and Kulling, K. C. and Bertuccelli, L. F. and Toupet, O. and Brunet, L. and Bachrach, A. and Roy, N.}, + bdsk-url-online-1 = {10.1109/MRA.2009.932530}, + booktitle = {Robotics and Automation Magazine, IEEE}, + date-added = {2011-04-02 08:39:34 -0400}, + date-modified = {2011-04-02 08:39:34 -0400}, + isbn = {1070-9932}, + journal = {Robotics and Automation Magazine, IEEE}, + keywords = {aircraft; decentralised control; remotely operated vehicles; UAV; decentralized CSAT mission management; integrated systems architecture; unmanned aerial vehicles; decision making}, + month = {June}, + number = {2}, + pages = {43-51}, + title = {{Increasing autonomy of UAVs}}, + ty = {JOUR}, + url-online = {10.1109/MRA.2009.932530}, + vo = {16}, + volume = {16}, + year = {2009} +} + +@inbook{How12_UAVHandbook, + author = {Jonathan P. How and Emilio Frazzoli and Girish Chowdhary}, + chapter = {{Linear Flight Contol Techniques for Unmanned Aerial Vehicles}}, + keywords = {UAV; control}, + publisher = {Springer}, + title = {{Handbook of Unmanned Aerial Vehicles}}, + year = {2012} +} + +@incollection{How14_UAVHandbook, + author = {How, Jonathan P and Frazzoli, Emilio and Chowdhary, Girish Vinayak}, + booktitle = {Handbook of Unmanned Aerial Vehicles}, + pages = {529--576}, + publisher = {Springer}, + title = {Linear Flight Control Techniques for Unmanned Aerial Vehicles}, + year = {2014} +} + +@conference{How91, + author = {How, Jonathan P. and Anderson, Eric H. and Miller, David L. and Hall, Steven R.}, + booktitle = {Proceedings of SPIE/AIAA Aerospace Sensing Conference}, + date-added = {2011-07-09 17:06:28 -0400}, + date-modified = {2011-07-09 17:06:28 -0400}, + location = {Orlando}, + month = {April}, + note = {SPIE Paper 1489--19}, + title = {High Bandwidth Control of Low Area Density Deformable Mirrors}, + year = {1991} +} + +@inproceedings{How91_GNC, + author = {How, J. P. and Hall, S. R.}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-07-08 14:29:23 -0400}, + date-modified = {2011-07-09 19:44:17 -0400}, + keywords = {robust control}, + month = {Aug}, + pages = {1728--1738}, + title = {Local control design methodologies for a hierarchic control architecture}, + volume = {3}, + year = {1991} +} + +@article{How92_JGCD, + author = {HOW, J. P. and HALL, S. R.}, + date-added = {2011-07-08 14:30:11 -0400}, + date-modified = {2011-07-08 14:30:56 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {robust control}, + number = {3}, + pages = {654--663}, + publisher = {American Institute of Aeronautics and Astronautics}, + title = {Local control design methodologies for a hierarchic control architecture}, + volume = {15}, + year = {1992} +} + +@conference{How93_ACC, + author = {How, J. P. and Hall, S. R.}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-09 19:49:00 -0400}, + keywords = {robust control}, + month = {2-4 June}, + pages = {1084-1089}, + title = {Connections between the Popov Stability Criterion and Bounds for Real Parameter Uncertainty}, + year = {1993} +} + +@conference{How93_ACCa, + author = {How, J. P. and Haddad, W. M. and Hall, S. R.}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-07 20:44:20 -0400}, + keywords = {robust control}, + month = {2-4 June}, + pages = {1090-1095}, + title = {Robust Control Synthesis Examples with Real Parameter Uncertainty using the Popov Criterion}, + ty = {CONF}, + year = {1993} +} + +@inproceedings{How93_GNC, + author = {How, J. P. and Hall, S. R.}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-07-09 19:50:08 -0400}, + date-modified = {2011-07-09 19:51:42 -0400}, + keywords = {robust control}, + month = {Aug}, + pages = {1611--1621}, + title = {Robust controllers for the Middeck Active Control Experiment using Popov controller synthesis}, + volume = {1}, + year = {1993} +} + +@phdthesis{How93_PHD, + address = {Cambridge, MA}, + author = {How, J. P.}, + date-added = {2011-07-09 17:17:08 -0400}, + date-modified = {2011-07-09 17:17:42 -0400}, + keywords = {robust control}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Robust Control Design with Real Parameter Uncertainty using Absolute Stability Theory}, + year = {1993} +} + +@inproceedings{How94_AAS_Conf, + author = {Jonathan P. How and David W. Miller}, + booktitle = {AAS Guidance Navigation and Control Conference}, + date-added = {2011-07-09 19:53:54 -0400}, + date-modified = {2011-07-09 19:55:34 -0400}, + keywords = {robust control}, + pages = {395-414}, + title = {Assessment of Modelling and Robust Control Techniques for Future Spacecraft: Middeck Active Control Experiment}, + type = {AAS 94-053}, + year = {1994} +} + +@inproceedings{How94_ACC, + author = {How, J. P. and Glaese, R. and Grocott, S. and Miller, D.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/ACC.1994.751741}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/ACC.1994.751741}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:33:33 -0400}, + doi = {10.1109/ACC.1994.751741}, + keywords = {robust control}, + owner = {Jonathan P. How}, + pages = {272-277}, + timestamp = {2008.02.23}, + title = {{Finite element model based robust controllers for the MIT Middeck Active Control Experiment (MACE)}}, + url = {http://dx.doi.org/10.1109/ACC.1994.751741}, + volume = {1}, + year = {1994} +} + +@article{How94_CST, + author = {How, J. P. and Hall, S. R. and Haddad, W. M.}, + bdsk-url-online-1 = {10.1109/87.294331}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:38:47 -0400}, + isbn = {1063-6536}, + journal = {IEEE Transactions on Control Systems Technology}, + keywords = {robust control}, + month = {June}, + number = {2}, + pages = {73-87}, + title = {Robust controllers for the Middeck Active Control Experiment using {Popov} controller synthesis}, + ty = {JOUR}, + url-online = {10.1109/87.294331}, + vo = {2}, + volume = {2}, + year = {1994} +} + +@article{How94_JGCD, + author = {How, J. P. and Hall, S. R. and Haddad, W. M.}, + date-added = {2011-07-08 06:41:12 -0400}, + date-modified = {2011-07-08 06:41:40 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {robust control}, + number = {4}, + pages = {759--768}, + title = {Applications of Popov controller synthesis to benchmark problems with real parameter uncertainty}, + volume = {17}, + year = {1994} +} + +@article{How95_CEP, + author = {How, J. P. and Miller, D. W.}, + date-added = {2011-07-08 06:47:16 -0400}, + date-modified = {2011-07-08 06:48:45 -0400}, + journal = {Control Engineering Practice}, + keywords = {robust control}, + number = {8}, + pages = {1105--1111}, + publisher = {Elsevier}, + title = {Development of on-orbit predictions for the {M}iddeck {A}ctive {C}ontrol {E}xperiment}, + volume = {3}, + year = {1995} +} + +@inproceedings{How95_GNC, + author = {How, J. P. and Collins, E. G. and W. M. Haddad}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-07-09 20:04:29 -0400}, + date-modified = {2011-07-09 20:07:36 -0400}, + month = {Aug}, + pages = {141--150}, + title = {Optimal Popov controller analysis and synthesis for systems with real parameter uncertainties}, + year = {1995} +} + +@inproceedings{How95_IFAC, + author = {How, J. P. and Miller, D. W.}, + booktitle = {IFAC Symposium on Automatic control in aerospace}, + date-added = {2011-07-09 20:01:34 -0400}, + date-modified = {2011-07-09 20:03:00 -0400}, + month = {12-16 September}, + organization = {Pergamon}, + pages = {228-233}, + publisher = {IFAC}, + title = {Development of On-orbit Predictions for the Middeck Active Control Experiment}, + year = {1994} +} + +@article{How96_AAS, + author = {How, J. P. and Miller, D. W.}, + date-added = {2011-07-08 06:49:48 -0400}, + date-modified = {2011-07-08 14:43:01 -0400}, + journal = {The Journal of the Astronautical Sciences}, + keywords = {robust control}, + number = {2}, + pages = {223-240}, + publisher = {UNIVELT INC}, + title = {Assessment of modelling and robust control techniques for future spacecraft: {Middeck Active Control Experiment}}, + volume = {44}, + year = {1996} +} + +@article{How96_CST_Finite, + author = {How, J. P. and Glaese, R. and Grocott, S. and Miller, D.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/87.553669}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/87.553669}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:35:05 -0400}, + doi = {10.1109/87.553669}, + editor = {Glaese, R.}, + issn = {1063-6536}, + journal = {IEEE Transactions on Control Systems Technology}, + keywords = {robust control}, + number = {1}, + owner = {Jonathan P. How}, + pages = {110-118}, + timestamp = {2008.02.23}, + title = {{Finite element model-based robust controllers for the middeck active control experiment (MACE)}}, + url = {http://dx.doi.org/10.1109/87.553669}, + volume = {5}, + year = {1996} +} + +@article{How96_CST_Optimal, + author = {How, J. P. and Collins, E. G. and Haddad, W. M.}, + bdsk-url-1 = {http://acl.mit.edu/papers/popov_paper.pdf}, + bdsk-url-online-1 = {10.1109/87.486347}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:34:41 -0400}, + isbn = {1063-6536}, + journal = {IEEE Transactions on Control Systems Technology}, + keywords = {robust control}, + month = {March}, + number = {2}, + pages = {200-207}, + title = {Optimal Popov controller analysis and synthesis for systems with real parameter uncertainties}, + ty = {JOUR}, + url = {http://acl.mit.edu/papers/popov_paper.pdf}, + url-online = {10.1109/87.486347}, + vo = {4}, + volume = {4}, + year = {1996} +} + +@inproceedings{How98_AIAA_AAS, + address = {Boston, MA}, + author = {J. How and R. Twiggs and D. Weidow and K. Hartman and F. Bauer}, + booktitle = {AIAA/AAS Astrodynamics Specialists Conference}, + date-added = {2011-07-09 17:13:46 -0400}, + date-modified = {2011-07-09 17:15:51 -0400}, + keywords = {formation flying}, + month = {Aug.}, + title = {{Orion}: A low-cost demonstration of formation flying in space using {GPS}}, + year = {1998} +} + +@incollection{How_20, + author = {J.P. How and D..K Kim and S. Wadhwania}, + booktitle = {Encyclopedia of Systems and Control}, + date-added = {2020-08-16 13:32:55 -0400}, + date-modified = {2020-08-16 13:36:16 -0400}, + editor = {J. Baillieul and T. Samad}, + month = {\url{https://doi.org/10.1007/978-1-4471-5102-9 100066-1}}, + publisher = {Springer-Verlag London Ltd.}, + title = {Multiagent Reinforcement Learning}, + year = {2020} +} + +@conference{How_ACC94, + author = {How, J. P. and Haddad, W. M.}, + bdsk-url-online-1 = {10.1109/ACC.1994.752295}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-09 19:56:20 -0400}, + keywords = {robust control}, + month = {June}, + pages = {1418-1419}, + title = {Robust stability and performance analysis using {LC} multipliers and the {Nyquist} criterion}, + ty = {CONF}, + url-online = {10.1109/ACC.1994.752295}, + vo = {2}, + volume = {2}, + year = {1994} +} + +@inproceedings{HowYWALS08, + address = {New Haven, CT}, + author = {J. P. How and J. Teo and B. Michini}, + bdsk-url-1 = {http://acl.mit.edu/papers/HowYWALS08.pdf}, + booktitle = {Proceedings of 14th Yale Workshop on Adaptive and Learning Systems}, + date-added = {2011-04-18 09:36:17 -0400}, + date-modified = {2011-04-18 09:36:17 -0400}, + keywords = {adaptive control; flight control}, + month = {June}, + owner = {oldman}, + pages = {205 - 210}, + timestamp = {2008.06.30}, + title = {Adaptive Flight Control Experiments using {RAVEN}}, + url = {http://acl.mit.edu/papers/HowYWALS08.pdf}, + year = {2008} +} + +@phdthesis{Huntington07_PhD, + address = {Cambridge MA}, + author = {Huntington, Geoffrey T.}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/42180}, + keywords = {trajectory optimization}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Advancement and Analysis of Gauss Pseudospectral Transcription for Optimal Control Problems}, + url = {http://dspace.mit.edu/handle/1721.1/42180}, + year = {2007} +} + +@inproceedings{iLSTD, + author = {Alborz Geramifard and Michael Bowling and Richard S. Sutton}, + booktitle = {Association for the Advancement of Artificial Intelligence (AAAI)}, + date-added = {2010-07-27 09:32:48 -0400}, + date-modified = {2010-07-27 09:32:48 -0400}, + pages = {356-361}, + title = {Incremental Least-Square Temporal Difference Learning}, + year = {2006} +} + +@mastersthesis{iLSTD-Thesis, + author = {Alborz Geramifard}, + date-added = {2010-07-27 09:32:48 -0400}, + date-modified = {2010-07-27 09:32:48 -0400}, + month = {January}, + school = {University of Alberta}, + title = {{incremental Least-Squares Temporal Difference Learning}}, + year = {2007} +} + +@incollection{iLSTDL, + address = {Cambridge, MA}, + author = {Alborz Geramifard and Michael Bowling and Martin Zinkevich and Richard Sutton}, + booktitle = {Advances in Neural Information Processing Systems (NeurIPS)}, + date-added = {2010-07-27 09:32:48 -0400}, + date-modified = {2010-07-27 09:32:48 -0400}, + editor = {B. Sch\"{o}lkopf and J. Platt and T. Hoffman}, + publisher = {MIT Press}, + title = {{iLSTD}: Eligibility Traces and Convergence Analysis}, + year = {2007} +} + +@article{Inalhan02_JGCD, + author = {Inalhan, G. and Tillerson, M. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ecc_orb_jgcd.pdf}, + date-modified = {2011-07-08 11:00:13 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {formation flight}, + number = {1}, + pages = {48-59}, + title = {Relative dynamics and control of spacecraft formations in eccentric orbits}, + url = {http://acl.mit.edu/papers/ecc_orb_jgcd.pdf}, + volume = {25}, + year = {2002} +} + +@conference{Inalhan06_ACC, + author = {Inalhan, G. and How, J. P.}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:38:05 -0400}, + date-modified = {2011-04-18 09:38:05 -0400}, + keywords = {decision making}, + month = {14-16 June}, + title = {Decentralized inventory control for large-scale supply chains}, + year = {2006} +} + +@inproceedings{Jaipuria18_curb_ITSC, + author = {Jaipuria, Nikita and Habibi, Golnaz and How, Jonathan P}, + booktitle = {IEEE Conference on Intelligent Transportation Systems (ITSC)}, + month = {November}, + title = {Learning in the Curbside Coordinate Frame for a Transferable Pedestrian Trajectory Prediction Model}, + year = {2018} +} + +@inproceedings{Jaipuria19_geom_IROS, + author = {Nikita Jaipuria and Golnaz Habibi and Jonathan P. How}, + bdsk-url-1 = {http://arxiv.org/abs/1806.09444}, + month = {August}, + title = {A Transferable Pedestrian Motion Prediction Model for Intersections with Different Geometries}, + url = {http://arxiv.org/abs/1806.09444}, + year = {2018} +} + +@inproceedings{Jamieson2019_ICRA_Workshop, + address = {Montreal, Canada}, + author = {Jamieson, Stewart}, + booktitle = {Debates on the {Future} of {Robotics} {Research} {Workshop} at {ICRA} 2019}, + copyright = {All rights reserved}, + month = {May}, + title = {The {Pervasiveness} of {Deep} {Learning} in {Robotics} {Research} {Does} {Not} {Impede} {Scientific} {Insights} into {Robotics} {Problems}}, + year = {2019} +} + +@inproceedings{Jamieson2020_ICRA, + abstract = {We present a novel POMDP problem formulation for a robot that must autonomously decide where to go to collect new and scientifically relevant images, given a limited ability to communicate with its human operator. From this formulation we derive constraints and design principles for the observation model, reward model, and communication strategy of such a robot, exploring techniques to deal with the very high-dimensional observation space and scarcity of relevant training data. We introduce a novel active reward learning strategy based on making queries to help the robot minimize path ``regret'' online and evaluate it for suitability in autonomous visual exploration through simulations. We demonstrate that, in some bandwidth limited environments, this novel regret-based criterion enables the robotic explorer to collect up to 17{\textbackslash}\% more reward per mission than the next-best criterion.}, + address = {Paris, France}, + author = {Jamieson, Stewart and How, Jonathan P. and Girdhar, Yogesh}, + booktitle = {2020 {International} {Conference} on {Robotics} and {Automation} ({ICRA})}, + copyright = {All rights reserved}, + keywords = {Video: https://www.youtube.com/watch?v=NH1G8u2hbEU, Award: Winner of Best Paper Award in Service Robotics}, + month = {May}, + publisher = {IEEE}, + title = {Active {Reward} {Learning} for {Co}-{Robotic} {Vision} {Based} {Exploration} in {Bandwidth} {Limited} {Environments}}, + url = {https://arxiv.org/abs/2003.05016}, + year = {2020} +} + +@mastersthesis{Jamieson2020_SM, + abstract = {Contemporary scientific exploration most often takes place in highly remote and dangerous environments, such as in the deep sea and on other planets. These environments are very hostile to humans, which makes robotic exploration the first and often the only option. However, they also impose restrictive limits on how much communication is possible, creating challenges in implementing remote command and control.}, + address = {Cambridge, MA, USA}, + author = {Jamieson, Stewart}, + copyright = {All rights reserved}, + doi = {10.1575/1912/25831}, + month = {May}, + school = {Massachusetts Institute of Technology}, + title = {Enabling {Human}-{Robot} {Cooperation} in {Scientific} {Exploration} of {Bandwidth}-{Limited} {Environments}}, + url = {https://dspace.mit.edu/handle/1721.1/127067}, + year = {2020} +} + +@inproceedings{Jamieson2021, + address = {{Xi'an, China}}, + archiveprefix = {arxiv}, + author = {Jamieson, Stewart and Fathian, Kaveh and Khosoussi, Kasra and How, Jonathan P. and Girdhar, Yogesh}, + booktitle = {2021 {{IEEE International Conference}} on {{Robotics}} and {{Automation}} ({{ICRA}})}, + copyright = {All rights reserved}, + doi = {10/gnp92f}, + eprint = {2103.14805}, + keywords = {Computer Science - Multiagent Systems,Computer Science - Robotics}, + month = {May}, + pages = {8587--8593}, + publisher = {{IEEE}}, + title = {Multi-{{Robot Distributed Semantic Mapping}} in {{Unfamiliar Environments}} through {{Online Matching}} of {{Learned Representations}}}, + urldate = {2021-03-30}, + year = {2021} +} + +@inproceedings{Jamieson2021a, + address = {{Yokohama, Japan}}, + author = {Jamieson, Stewart and Todd, Jessica E. and How, Jonathan P. and Girdhar, Yogesh}, + booktitle = {Proceedings of {{SpaceCHI}}: {{Human-Computer Interaction}} for {{Space Exploration}}}, + copyright = {All rights reserved}, + month = {May}, + title = {Communicating {{Efficiently}} to {{Enable Human-Multi-Robot Collaboration}} in {{Space Exploration}}}, + year = {2021} +} + +@inproceedings{Jamieson2023, + address = {{London, UK}}, + archiveprefix = {arxiv}, + author = {Jamieson, Stewart and How, Jonathan P. and Girdhar, Yogesh}, + booktitle = {2023 {{International Conference}} on {{Robotics}} and {{Automation}} ({{ICRA}})}, + copyright = {All rights reserved}, + doi = {10.48550/arXiv.2303.04025}, + eprint = {2303.04025}, + keywords = {Computer Science - Computer Vision and Pattern Recognition,Computer Science - Robotics}, + month = {May}, + primaryclass = {cs}, + publisher = {{IEEE}}, + shorttitle = {{{DeepSeeColor}}}, + title = {{{DeepSeeColor}}: {{Realtime Adaptive Color Correction}} for {{Autonomous Underwater Vehicles}} via {{Deep Learning Methods}}}, + urldate = {2023-03-23}, + year = {2023} +} + +@article{jamieson2024finding, + author = {Jamieson, Stewart and How, Jonathan P and Girdhar, Yogesh}, + journal = {Artificial Intelligence}, + pages = {104096}, + publisher = {Elsevier}, + title = {Finding the optimal exploration-exploitation trade-off online through Bayesian risk estimation and minimization}, + volume = {330}, + year = {2024} +} + +@inproceedings{Japuria17_NIPS, + author = {Japuria, Nikita and Habibi, Golnaz and How, Jonathan P}, + bdsk-url-1 = {http://acl.mit.edu/papers/JaipuriaNIPS2017.pdf}, + booktitle = {NIPS 2017 Machine Learning for Intelligent Transportation Systems Workshop}, + title = {CASNSC: A context-based approach for accurate pedestrian motion prediction at intersections (Poster)}, + url = {http://acl.mit.edu/papers/JaipuriaNIPS2017.pdf}, + year = {2017} +} + +@inproceedings{Jeffrey07_ISSFD, + author = {Jeffrey, M. and Breger, L. and How, J. P.}, + booktitle = {International Symposium on Space Flight Dynamics}, + date-added = {2012-06-15 11:26:44 -0400}, + date-modified = {2012-06-15 11:27:12 -0400}, + title = {MULTI-OBJECTIVE ONLINE INITIALIZATION OF SPACECRAFT FORMATIONS}, + year = {2007} +} + +@mastersthesis{Jeffrey08_Masters, + address = {Cambridge MA}, + author = {Matthew M. Jeffrey}, + bdsk-url-1 = {http://acl.mit.edu/papers/JefferySM.pdf}, + keywords = {feedback control; spacecraft maneuvers; formation flight}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Closed-loop Control of Spacecraft Formations with Applications on SPHERES}}, + url = {http://acl.mit.edu/papers/JefferySM.pdf}, + year = {2008} +} + +@inproceedings{jia2025real, + author = {Jia, Yixuan and Tagliabue, Andrea and How, Jonathan P}, + booktitle = {AIAA AVIATION FORUM AND ASCEND 2025}, + pages = {3396}, + title = {Real-Time Pose-Aware Dynamic Path Planning}, + year = {2025} +} + +@article{jia2026trail, + author={Jia, Yixuan and Li, Qingyuan and How, Jonathan P.}, + journal={IEEE Robotics and Automation Letters}, + title={Off-Road Navigation via Implicit Neural Representation of Terrain Traversability}, + year={2026}, + volume={11}, + number={6}, + pages={7126-7133}, + doi={10.1109/LRA.2026.3685928} + } + + @inproceedings{jia2026terrainaware, + author={Jia, Yixuan and Tagliabue, Andrea and Thomas, Annika and Tehrani, Navid Dadkhah and How, Jonathan P.}, + booktitle={2026 IEEE Aerospace Conference}, + title={Terrain-Aware Low-Altitude Path Planning}, + year={2026}, + doi={10.1109/AERO66936.2026.11520152} +} + +@inproceedings{Johnson10_GNC, + author = {Luke B. Johnson and Sameera S. Ponda and Han-Lim Choi and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACBBA_GNC10_submitted_07272010.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:39:34 -0400}, + date-modified = {2011-04-02 08:39:34 -0400}, + keywords = {task allocation}, + month = {August}, + title = {Improving the Efficiency of a Decentralized Tasking Algorithm for {UAV} Teams with Asynchronous Communications}, + url = {http://acl.mit.edu/papers/ACBBA_GNC10_submitted_07272010.pdf}, + year = {2010} +} + +@inproceedings{Johnson11_Infotech, + address = {St. Louis, MO}, + author = {Luke B. Johnson and Sameera S. Ponda and Han-Lim Choi and Jonathan P. How}, + booktitle = {Proceedings of the AIAA Infotech@Aerospace Conference}, + date-added = {2011-04-18 10:10:48 -0400}, + date-modified = {2011-05-29 09:12:51 -0400}, + keywords = {task allocation}, + month = {March}, + owner = {Sam}, + timestamp = {2011.02.27}, + title = {Asynchronous Decentralized Task Allocation for Dynamic Environments}, + year = {2011} +} + +@inproceedings{Johnson12_CDC, + author = {Luke B. Johnson and Han-Lim Choi and Sameera S. Ponda and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/cdc_12_cbba_submitted.pdf}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + keywords = {task allocation; CBBA}, + month = {Dec}, + title = {Allowing Non-Submodular Score Functions in Distributed Task Allocation}, + url = {http://acl.mit.edu/papers/cdc_12_cbba_submitted.pdf}, + year = {2012} +} + +@mastersthesis{Johnson12_Masters, + author = {Luke Johnson}, + bdsk-url-1 = {http://acl.mit.edu/papers/Johnson_Masters12.pdf}, + month = {January}, + school = {Massachusetts Institute of Technology}, + title = {{Decentralized Task Allocation for Dynamic Environments}}, + url = {http://acl.mit.edu/papers/Johnson_Masters12.pdf}, + year = {2012} +} + +@inproceedings{Johnson13_GNC, + author = {Luke Johnson and Han-Lim Choi and Jonathan P. How}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2013-05-08 19:10:54 +0000}, + month = {August}, + title = {Hybrid Information and Plan Consensus in Distributed Task Allocation}, + year = {2013} +} + +@inproceedings{Johnson14_ACC, + address = {Portland, OR}, + author = {Luke Johnson and Han-Lim Choi and Jonathan P. How}, + booktitle = {American Control Conference (ACC)}, + month = {June}, + title = {Convergence Analysis of the Hybrid Information and Plan Consensus Algorithm}, + year = {2014} +} + +@inproceedings{Johnson14_DARS, + address = {Daejeon, Korea}, + author = {Luke Johnson and Han-Lim Choi and Jonathan P. How}, + booktitle = {International Symposium on Distributed Autonomous Robotic Systems (DARS)}, + month = {November}, + title = {The Hybrid Information and Plan Consensus Algorithm with Imperfect Situational Awareness}, + year = {2014} +} + +@article{Johnson16_CSM, + author = {Johnson, Luke B and Choi, Han-Lim and How, Jonathan P}, + date-added = {2016-07-31 13:30:33 +0000}, + date-modified = {2016-07-31 13:30:47 +0000}, + journal = {IEEE Control Systems}, + number = {4}, + pages = {45--58}, + publisher = {IEEE}, + title = {The Role of Information Assumptions in Decentralized Task Allocation: A Tutorial}, + volume = {36}, + year = {2016} +} + +@article{Johnson16_JAIS, + author = {Luke B. Johnson and Sameera S. Ponda and Han-Lim Choi and Jonathan P How}, + date-added = {2016-12-08 11:34:01 +0000}, + date-modified = {2016-12-08 11:35:22 +0000}, + journal = {AIAA Journal of Aerospace Information Systems}, + title = {Decentralized Task Allocation Using Local Information Consistency Assumptions}, + year = {2016} +} + +@phdthesis{Johnson16_PhD, + address = {Cambridge MA}, + author = {Luke Johnson}, + keywords = {task allocation}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Decentralized Task Allocation in Communication Contested Environments}, + year = {2016} +} + +@inproceedings{Joseph13_ICRA, + acceptancerate = {39\%}, + author = {J. Joseph and A. Geramifard and W. Roberts and J. How and N. Roy}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + title = {{Reinforcement Learning with Misspecified Model Classes}}, + year = {2013} +} + +@conference{JQ_ACC18a, + author = {John F. Quindlen and Ufuk Topcu and Girish Chowdhary and Jonathan P How}, + bdsk-url-1 = {https://ieeexplore.ieee.org/document/8431662}, + booktitle = {American Control Conference}, + date-added = {2018-05-16 13:57:03 +0000}, + date-modified = {2018-05-16 13:58:04 +0000}, + title = {Active Sampling for Closed-Loop Statistical Verification of Uncertain Nonlinear Systems}, + url = {https://ieeexplore.ieee.org/document/8431662}, + year = {2018} +} + +@conference{JQ_ACC18b, + author = {John F. Quindlen and Ufuk Topcu and Girish Chowdhary and Jonathan P. How}, + bdsk-url-1 = {https://arxiv.org/pdf/1709.06645.pdf}, + booktitle = {American Control Conference}, + date-added = {2018-05-16 13:58:14 +0000}, + date-modified = {2018-05-16 13:59:23 +0000}, + title = {Closed-Loop Statistical Verification of Stochastic Nonlinear Systems Subject to Parametric Uncertainties}, + url = {https://arxiv.org/pdf/1709.06645.pdf}, + year = {2018} +} + +@article{Khosoussi18_IJRR, + author = {Kasra Khosoussi and Matthew Giamou and Gaurav Sukhatme and Shoudong Huang and Gamini Dissanayake and Jonathan P. How}, + bdsk-url-1 = {https://journals.sagepub.com/doi/full/10.1177/0278364918823086}, + date-added = {2018-05-16 21:34:32 +0000}, + date-modified = {2018-05-16 21:38:02 +0000}, + journal = {International Journal of Robotics Research (IJRR)}, + title = {{Reliable Graphs for SLAM}}, + url = {https://journals.sagepub.com/doi/full/10.1177/0278364918823086}, + year = {2019} +} + +@article{Kim19_ICML, + author = {Kim, Dong-Ki and Liu, Miao and Omidshafiei, Shayegan and Lopez-Cot, Sebastian and Riemer, Matthew and Habibi, Golnaz and Tesauro, Gerald and Mourad, Sami and Campbell, Murray and How, Jonathan P}, + date-modified = {2019-05-01 13:02:17 -0400}, + journal = {arXiv preprint arXiv:1903.03216}, + title = {Learning Hierarchical Teaching in Cooperative Multiagent Reinforcement Learning}, + year = {2019} +} + +@inproceedings{kim2020whisker, + author = {Kim, Suhan and Kubicek, Regan and Paris, Aleix and Tagliabue, Andrea and How, Jonathan P and Bergbreiter, Sarah}, + booktitle = {2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + organization = {IEEE}, + pages = {1330--1337}, + title = {A whisker-inspired fin sensor for multi-directional airflow sensing}, + year = {2020} +} + +@article{King04_AAS, + author = {King, E. and Kuwata, Y. and Alighanbari, M. and How, J.}, + date-added = {2011-07-09 17:35:27 -0400}, + date-modified = {2011-07-09 17:35:53 -0400}, + journal = {Advances in the Astronautical Sciences}, + keywords = {decision making}, + pages = {1--11}, + publisher = {Univelt, Inc, P. O. Box 28130, San Diego, CA, 92198, USA,}, + title = {Coordination and control experiments for UAV teams}, + volume = {118}, + year = {2004} +} + +@inproceedings{King04_ACC, + address = {Boston, MA}, + author = {E. King and Y. Kuwata and M. Alighanbari and L. Bertuccelli and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/0949_FrP05.1.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:55:12 -0400}, + date-modified = {2011-04-18 09:55:12 -0400}, + keywords = {MILP, UAV, Task, decision making}, + month = {30 June-2 July}, + owner = {Brandon}, + pages = {5315-5320}, + timestamp = {2008.03.31}, + title = {Coordination and Control Experiments on a Multi-Vehicle Testbed}, + url = {http://acl.mit.edu/papers/0949_FrP05.1.pdf}, + year = {2004} +} + +@conference{King04_IFAC, + address = {St. Petersburg, Russia}, + author = {E. King and M. Alighanbari and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/04-02.pdf}, + booktitle = {Proceedings of the 16th IFAC Symposium on Automatic Control in Aerospace}, + date-added = {2011-04-02 08:46:02 -0400}, + date-modified = {2011-04-02 08:46:02 -0400}, + keywords = {decision making}, + month = {June}, + title = {Experimental Demonstration of Coordinated Control for Multi-Vehicle Teams}, + url = {http://acl.mit.edu/papers/04-02.pdf}, + year = {2004} +} + +@mastersthesis{King04_Masters, + address = {Cambridge MA}, + author = {Ellis T. King}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/King_SM.pdf}, + keywords = {UAV; flight control}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Distributed Coordination and Control Experiments on a Multi-UAV Testbed}}, + url = {http://www.mit.edu/people/jhow/papers/King_SM.pdf}, + year = {2004} +} + +@article{King06_IJSS, + author = {E. King and Y. Kuwata and J. P. How}, + date-added = {2011-04-02 08:46:02 -0400}, + date-modified = {2011-04-02 08:46:02 -0400}, + journal = {International Journal of Systems Science}, + keywords = {MILP, UAV, Task, decision making}, + month = {May}, + number = {6}, + owner = {Brandon}, + pages = {385-398}, + timestamp = {2008.03.31}, + title = {Experimental Demonstration of Coordinated Control for Multi-Vehicle Teams}, + volume = {37}, + year = {2006} +} + +@inproceedings{Kiraly99_Orion, + address = {Logan, UT}, + author = {Kiraly, Z. and Engberg, B. and Busse, F. and Twiggs, R.J. and How, J. P.}, + booktitle = {13th Annual AIAA/Utah State University Conference on Small Satellites}, + date-added = {2011-07-09 21:03:43 -0400}, + date-modified = {2011-07-09 21:05:19 -0400}, + keywords = {formation flying}, + month = {Aug}, + title = {The {Orion} microsatellite--A demonstration of formation flying in orbit}, + year = {1999} +} + +@inproceedings{Kitts99_IEEE, + address = {Snowmass CO}, + author = {Kitts, C. and Twiggs, R. and Pranajaya, F. and Palmintier, B. and How, J.}, + booktitle = {Proceedings of the IEEE Aerospace Conference}, + date-added = {2011-07-09 20:57:29 -0400}, + date-modified = {2011-07-09 20:58:16 -0400}, + month = {March}, + organization = {IEEE}, + pages = {217--226}, + title = {Emerald: a low-cost spacecraft mission for validating formation flying technologies}, + volume = {2}, + year = {1999} +} + +@inproceedings{kondo2022robust, + author = {Kondo, Kota and Tordesillas, Jesus and Figueroa, Reinaldo and Rached, Juan and Merkel, Joseph and Lusk, Parker C. and How, Jonathan P.}, + booktitle = {2023 IEEE International Conference on Robotics and Automation (ICRA)}, + doi = {10.1109/ICRA48891.2023.10161244}, + number = {}, + pages = {1687-1693}, + title = {Robust MADER: Decentralized and Asynchronous Multiagent Trajectory Planner Robust to Communication Delay}, + volume = {}, + year = {2023} +} + +@article{kondo2023puma, + author = {Kondo, Kota and Tewari T. Claudius and Peterson, B. Mason and Thomas, Annika and Kinnari, Jouko and Tagliabue, Andrea and How, Jonathan P}, + journal = {arXiv preprint arXiv:2311.03655}, + title = {{PUMA}: Fully Decentralized Uncertainty-aware Multiagent Trajectory Planner with Real-time Image Segmentation-based Frame Alignment}, + year = {2023} +} + +@article{kondo2023robust, + author = {Kondo, Kota and Figueroa, Reinaldo and Rached, Juan and Tordesillas, Jesus and Lusk, Parker C and How, Jonathan P}, + journal = {arXiv preprint arXiv:2303.06222}, + title = {Robust MADER: Decentralized Multiagent Trajectory Planner Robust to Communication Delay in Dynamic Environments}, + year = {2023} +} + +@misc{kondo2024cgd, + archiveprefix = {arXiv}, + author = {Kota Kondo and Andrea Tagliabue and Xiaoyi Cai and Claudius Tewari and Olivia Garcia and Marcos Espitia-Alvarez and Jonathan P. How}, + eprint = {2405.01758}, + primaryclass = {cs.RO}, + title = {CGD: Constraint-Guided Diffusion Policies for UAV Trajectory Planning}, + year = {2024} +} + +@article{kondo2024primer, + author = {Kondo, Kota and Tewari, Claudius T and Tagliabue, Andrea and Tordesillas, Jesus and Lusk, Parker C and How, Jonathan P}, + journal = {arXiv preprint arXiv:2406.10060}, + title = {PRIMER: Perception-Aware Robust Learning-based Multiagent Trajectory Planner}, + year = {2024} +} + +@article{kondo2025dynus, + author = {Kondo, Kota and Peterson, Mason and Rober, Nicholas and Viso, Juan Rached and Jia, Lucas and Chen, Jialin and Merton, Harvey and How, Jonathan P}, + journal = {arXiv preprint arXiv:2504.16734}, + title = {DYNUS: Uncertainty-aware Trajectory Planner in Dynamic Unknown Environments} +} + +@article{kondo2026sando, + title={SANDO: Safe Autonomous Trajectory Planning for Dynamic Unknown Environments}, + author={Kota Kondo and Jes{\'u}s Tordesillas and Jonathan P. How}, + year={2026}, + journal={arXiv preprint arXiv:2604.07599} +} + +@ARTICLE{kondo2026mighty, + author={Kondo, Kota and Wu, Yuwei and Kumar, Vijay and How, Jonathan P.}, + journal={IEEE Robotics and Automation Letters}, + title={MIGHTY: Hermite Spline-Based Efficient Trajectory Planning}, + year={2026}, + volume={11}, + number={6}, + pages={6664-6671}, + doi={10.1109/LRA.2026.3681187} +} + +@inproceedings{Kopeikin11_AUVSI, + author = {Andrew N. Kopeikin and Olivier Toupet and Andrew Clare and Mary L. Cummings and Jonathan P. How}, + booktitle = {Association for Unmanned Vehicle Systems International}, + date-added = {2012-01-13 15:21:23 -0500}, + date-modified = {2012-01-23 19:22:10 -0500}, + month = {August}, + title = {{Design of a Decentralized Multi-UAV System with Human Supervision}}, + year = {2011} +} + +@inproceedings{Kopeikin11_WiUAV, + author = {Andrew N. Kopeikin and Sameera S. Ponda and Luke B. Johnson and Olivier Toupet and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Globecom_WiUAV_1401491358.pdf}, + booktitle = {Wi-UAV 2011, 2nd International Workshop on Wireless Networking for Unmanned Autonomous Vehicles at the IEEE GlobeComm Conference}, + date-added = {2012-01-13 15:16:34 -0500}, + date-modified = {2012-01-13 15:18:25 -0500}, + keywords = {task allocation; CBBA}, + month = {Dec}, + title = {{Real-Time Dynamic Planning to Maintain Network Connectivity in a Team of Heterogeneous Unmanned Systems}}, + url = {http://acl.mit.edu/papers/Globecom_WiUAV_1401491358.pdf}, + year = {2011} +} + +@inproceedings{Kopeikin12_GNC, + author = {Andrew N. Kopeikin and Andrew Clare and Olivier Toupet and Jonathan P. How and Mary L. Cummings}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2012-01-13 15:21:23 -0500}, + date-modified = {2012-04-11 17:34:42 -0400}, + month = {August}, + title = {Flight Testing a Heterogeneous Multi-UAV System with Human Supervision}, + year = {2012} +} + +@mastersthesis{Kopeikin12_Masters, + author = {Andrew N. Kopeikin}, + month = {June}, + school = {Massachusetts Institute of Technology}, + title = {{Dynamic Mission Planning for Communication Control in Multiple Unmanned Aircraft Teams}}, + year = {2012} +} + +@inbook{Kopeikin12_UAVHandbook, + author = {Andrew N. Kopeikin and Sameera S. Ponda and Jonathan P. How}, + chapter = {{Control of Communication Networks for Teams of UAVs}}, + keywords = {task allocation; CBBA}, + publisher = {Springer}, + title = {{Handbook of Unmanned Aerial Vehicles}}, + year = {2012} +} + +@inproceedings{Kopeikin12_WiUAV, + author = {Andrew N. Kopeikin and Sameera S. Ponda and Luke B. Johnson and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/2012_WiUAV_Globecom_submitted_06152012.pdf}, + booktitle = {Wi-UAV 2012, 3rd International Workshop on Wireless Networking and Control for Unmanned Autonomous Vehicles at the IEEE GlobeComm Conference}, + keywords = {task allocation; CBBA}, + month = {Dec}, + title = {{Multi-UAV Network Control through Dynamic Task Allocation: Ensuring Data-Rate and Bit-Error-Rate Support}}, + url = {http://acl.mit.edu/papers/2012_WiUAV_Globecom_submitted_06152012.pdf}, + year = {2012} +} + +@inproceedings{KopeikinGLOBECOM11, + author = {Andrew Kopeikin and Sameera Ponda and Luke B. Johnson and Olivier Toupet and Jonathan P. How}, + booktitle = {IEEE Globecom}, + date-added = {2013-01-19 19:48:29 +0000}, + date-modified = {2013-01-19 19:48:29 +0000}, + month = {December}, + title = {Real Time Dynamic Planning to Maintain Network Connectivity in a Team of Unmanned Air Vehicles}, + year = {2011} +} + +@inproceedings{Kozarev16_HSCC, + author = {Alexandar Kozarev and John F. Quindlen and Jonathan P. How and Ufuk Topcu}, + booktitle = {Hybrid Systems: Computation and Control}, + title = {{Case Studies in Data-Driven Verification of Dynamical Systems}}, + year = {2016} +} + +@mastersthesis{Kulling09_Masters, + address = {Cambridge MA}, + author = {Karl C. Kulling}, + bdsk-url-1 = {http://acl.mit.edu/papers/KullingSM.pdf}, + keywords = {path planning}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Optimal and Receding-Horizon Path Planning Algorithms for Communications Relay Vehicles in Complex Environments}, + url = {http://acl.mit.edu/papers/KullingSM.pdf}, + year = {2009} +} + +@inproceedings{Kuwata03_CCC0, + author = {Y. Kuwata and J. P. How}, + booktitle = {Conference of Cooperative Control and Optimization}, + keywords = {decision making}, + month = {December}, + title = {{Decentralized Receding Horizon Control of Multiple UAVs}}, + year = {2003} +} + +@mastersthesis{Kuwata03_Masters, + address = {Cambridge MA}, + author = {Yoshiaki Kuwata}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Kuwata_thesis.pdf}, + keywords = {path planning}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Real-time Trajectory Design for Unmanned Aerial Vehicles using Receding Horizon Control}, + url = {http://www.mit.edu/people/jhow/papers/Kuwata_thesis.pdf}, + year = {2003} +} + +@conference{Kuwata04_ACC, + address = {Boston, MA}, + author = {Kuwata, Y. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/0155_WeM08.4.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:56:23 -0400}, + date-modified = {2011-04-18 09:56:23 -0400}, + isbn = {0743-1619}, + keywords = {aerospace control; control system synthesis; linear programming; position control; vehicle dynamics; finite-time arrival; graph-search algorithms; mixed-integer linear programming; MILP; online optimization; receding horizon control; stable trajectory design; trajectory optimization problem; vehicle dynamics model}, + month = {30 June-2 July}, + pages = {902-907 vol.1}, + title = {Stable trajectory design for highly constrained environments using receding horizon control}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/0155_WeM08.4.pdf}, + vo = {1}, + volume = {1}, + year = {2004} +} + +@inproceedings{Kuwata04_GNC, + address = {Providence, RI}, + author = {Y. Kuwata and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAA-2004-5144.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:24:26 -0400}, + date-modified = {2011-04-02 08:24:26 -0400}, + keywords = {MILP, UAV, path planning}, + month = {August}, + note = {AIAA Paper 2004-5141}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Three Dimensional Receding Horizon Control for {UAV}s}, + url = {http://acl.mit.edu/papers/AIAA-2004-5144.pdf}, + year = {2004} +} + +@inproceedings{Kuwata05_GNC, + address = {San Francisco, CA}, + author = {Y. Kuwata and T. Schouwenaars and A. Richards and J. P. How}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:34:24 -0400}, + date-modified = {2011-04-02 08:34:24 -0400}, + keywords = {MILP, UAV, RMPC; path planning}, + month = {August}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Robust Constrained Receding Horizon Control for Trajectory Planning}, + year = {2005} +} + +@inproceedings{Kuwata06_ACC, + address = {Minneapolis, MN}, + author = {Y. Kuwata and A. Richards and T. Schouwenaars and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC06_KuwataHow.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:56:23 -0400}, + date-modified = {2011-04-18 09:56:23 -0400}, + keywords = {MILP, UAV, RMPC}, + month = {June}, + owner = {Brandon}, + pages = {2047-2052}, + timestamp = {2008.03.31}, + title = {Decentralized Robust Receding Horizon Control for Multi-vehicle Guidance}, + url = {http://acl.mit.edu/papers/ACC06_KuwataHow.pdf}, + year = {2006} +} + +@inproceedings{Kuwata07_ACC, + address = {New York City, NY}, + author = {Y. Kuwata and A. Richards and J. How}, + booktitle = {Proceedings of the American Control Conference}, + date-added = {2011-04-02 08:26:37 -0400}, + date-modified = {2011-04-02 08:26:37 -0400}, + keywords = {RMPC, path planning}, + month = {July}, + owner = {Brandon}, + pages = {4482-4487}, + timestamp = {2008.03.31}, + title = {Robust Receding Horizon Control using Generalized Constraint Tightening}, + year = {2007} +} + +@conference{Kuwata07_ACCa, + author = {Kuwata, Y. and How, J. P.}, + bdsk-url-online-1 = {10.1109/ACC.2007.4283003}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:56:23 -0400}, + date-modified = {2012-07-13 11:00:02 -0400}, + isbn = {0743-1619}, + keywords = {cooperative systems; decentralised control; distributed control; integer programming; linear programming; position control; predictive control; robust control; distributed robust model predictive control; mixed-integer linear programming; multivehicle trajectory optimization; receding horizon MILP; robust cooperative decentralized trajectory optimization}, + month = {9-13 July}, + pages = {522-527}, + title = {{Robust Cooperative Decentralized Trajectory Optimization using Receding Horizon MILP}}, + ty = {CONF}, + url-online = {10.1109/ACC.2007.4283003}, + year = {2007} +} + +@article{Kuwata07_CST, + author = {Kuwata, Y. and Richards, A. and Schouwenaars, T. and How, J. P.}, + bdsk-url-online-1 = {10.1109/TCST.2007.899152}, + booktitle = {Control Systems Technology, IEEE Transactions on}, + date-added = {2011-04-18 09:56:23 -0400}, + date-modified = {2011-04-18 09:56:23 -0400}, + isbn = {1063-6536}, + journal = {IEEE Transactions on Control Systems Technology}, + keywords = {distributed control; optimisation; position control; predictive control; road vehicles; robust control; distributed robust model predictive control; distributed robust receding horizon control; distributed trajectory optimization; intelligent trajectory; multivehicle guidance; multivehicle trajectory optimization; numerical simulation; robust-safe-but-knowledgeable algorithm; decision making}, + month = {July}, + number = {4}, + pages = {627-641}, + title = {Distributed Robust Receding Horizon Control for Multivehicle Guidance}, + ty = {JOUR}, + url-online = {10.1109/TCST.2007.899152}, + vo = {15}, + volume = {15}, + year = {2007} +} + +@phdthesis{Kuwata07_PhD, + address = {Cambridge MA}, + author = {Yoshiaki Kuwata}, + bdsk-url-1 = {http://acl.mit.edu/papers/Kuwata_PhD.pdf}, + keywords = {path planning}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Trajectory Planning for Unmanned Vehicles using Robust Receding Horizon Control}, + url = {http://acl.mit.edu/papers/Kuwata_PhD.pdf}, + year = {2007} +} + +@conference{Kuwata08_GNC, + address = {Honolulu, HI}, + author = {Y. Kuwata and J. Teo and S. Karaman and G. Fiore and E. Frazzoli and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/KuwataGNC08.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-18 09:56:23 -0400}, + date-modified = {2011-08-09 13:26:10 -0400}, + keywords = {AI, RRT, DGC, path planning}, + month = {Aug}, + note = {(AIAA-2008-7166)}, + owner = {Brandon}, + timestamp = {2008.04.16}, + title = {Motion Planning in Complex Environments using Closed-loop Prediction}, + url = {http://acl.mit.edu/papers/KuwataGNC08.pdf}, + year = {2008} +} + +@inproceedings{Kuwata08_IROS, + address = {Nice, France}, + author = {Y. Kuwata and G. A. Fiore and J. Teo and E. Frazzoli and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/KuwataIROS08.pdf}, + booktitle = {Proceedings of the IEEE International Conference on Intelligent Robots and Systems}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + keywords = {AI, DGC, RRT, Vision, path planning}, + month = {September}, + owner = {Brandon}, + pages = {1681-1686}, + timestamp = {2009.08.21}, + title = {Motion Planning for Urban Driving using {RRT}}, + url = {http://acl.mit.edu/papers/KuwataIROS08.pdf}, + year = {2008} +} + +@article{Kuwata09_CST, + author = {Kuwata, Y. and Teo, J. and Fiore, G. and Karaman, S. and Frazzoli, E. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/KuwataTCST09.pdf}, + bdsk-url-online-1 = {10.1109/TCST.2008.2012116}, + booktitle = {IEEE Transactions on Control Systems Technology}, + date-added = {2010-07-29 09:19:49 -0400}, + date-modified = {2010-08-18 11:32:51 -0400}, + isbn = {1063-6536}, + journal = {IEEE Transactions on Control Systems Technology}, + keywords = {path planning}, + month = {September}, + number = {5}, + pages = {1105-1118}, + title = {Real-Time Motion Planning With Applications to Autonomous Urban Driving}, + ty = {JOUR}, + url = {http://acl.mit.edu/papers/KuwataTCST09.pdf}, + url-online = {10.1109/TCST.2008.2012116}, + vo = {17}, + volume = {17}, + year = {2009} +} + +@article{Kuwata11_CST, + author = {Y. Kuwata and J. P. How}, + bdsk-url-1 = {http://dx.doi.org/10.1109/TCST.2010.2045501}, + date-added = {2011-04-18 09:56:23 -0400}, + date-modified = {2011-07-08 14:54:33 -0400}, + journal = {IEEE Transactions on Control Systems Technology}, + keywords = {Decentralized, RMPC, trajectory optimization}, + month = {March}, + number = {2}, + pages = {423--431}, + title = {Cooperative Distributed Robust Trajectory Optimization using Receding Horizon {MILP}}, + url = {http://dx.doi.org/10.1109/TCST.2010.2045501}, + volume = {19}, + year = {2011} +} + +@inproceedings{Kuwata2005a, + author = {Kuwata, Y. and How, J. P.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/ACC.2005.1470373}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/ACC.2005.1470373}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:36:26 -0400}, + date-modified = {2011-04-02 08:36:26 -0400}, + doi = {10.1109/ACC.2005.1470373}, + keywords = {MILP, path planning}, + month = {8-10 June}, + owner = {Jonathan P. How}, + pages = {2684-2685}, + timestamp = {2008.02.23}, + title = {{Receding horizon implementation of MILP for vehicle guidance}}, + url = {http://dx.doi.org/10.1109/ACC.2005.1470373}, + year = {2005} +} + +@mastersthesis{Lee10_Masters, + address = {Cambridge MA}, + author = {Kenneth Lee}, + bdsk-url-1 = {http://acl.mit.edu/papers/LeeSM.pdf}, + keywords = {path planning}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Visibility Maximization with Unmanned Aerial Vehicles in Complex Environments}, + url = {http://acl.mit.edu/papers/LeeSM.pdf}, + year = {2010} +} + +@mastersthesis{Lefebvre06_Masters, + address = {Cambridge MA}, + author = {Lefebvre de Plinval-Salgues, Henry J.}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/35575}, + keywords = {formation flight}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Analysis of Relative Navigation Architectures for Formation Flying Spacecrafts}, + url = {http://dspace.mit.edu/handle/1721.1/35575}, + year = {2006} +} + +@inproceedings{Leo97_SPIE, + author = {Leo, D. J. and How, J. P.}, + booktitle = {SPIE Conference on Smart Structures and Integrated Systems}, + date-added = {2011-07-09 20:21:41 -0400}, + date-modified = {2011-07-09 20:22:33 -0400}, + month = {March}, + pages = {100-111}, + title = {Reconfigurable actuator-sensor arrays for the active control of sound}, + volume = {3041-10}, + year = {1997} +} + +@techreport{leonard07a, + author = {J. Leonard and D. Barrett and J. How and S. Teller and M. Antone and M. Berger and S. Campbell and A. Epstein and G. Fiore and L. Fletcher and E. Frazzoli and A. Huang and T. Jones and O. Koch and Y. Kuwata and K. Mahelona and D. Moore and K. Moyer and E. Olson and S. Peters and C. Sanders and J. Teo and M. Walter}, + date-added = {2011-07-27 19:05:17 -0400}, + date-modified = {2011-07-27 19:05:17 -0400}, + number = {{MIT-CSAIL-TR-2007-058}}, + title = {Team {MIT} Urban Challenge Technical Report}, + year = {2007} +} + +@article{Leonard08_JFR, + author = {J. Leonard and J. P. How and S. Teller and M. Berger and S. Campbell and G. Fiore and L. Fletcher and E. Frazzoli and A. Huang and S. Karaman and O. Koch and Y. Kuwata and D. Moore and E. Olson and S. Peters and J. Teo and R. Truax and M. Walter and D. Barrett and A. Epstein and K. Maheloni and K. Moyer and T. Jones and R. Buckley and M. Antone and R. Galejs and S. Krishnamurthy and J. Williams}, + bdsk-url-1 = {http://acl.mit.edu/papers/LeonardJFR08.pdf}, + date-added = {2011-04-02 08:53:52 -0400}, + date-modified = {2011-09-20 10:30:04 -0400}, + journal = {Journal of Field Robotics}, + keywords = {AI, DGC, RRT, Vision, path planning}, + number = {10}, + owner = {Brandon}, + pages = {727-774}, + timestamp = {2008.11.25}, + title = {A Perception-Driven Autonomous Urban Vehicle}, + url = {http://acl.mit.edu/papers/LeonardJFR08.pdf}, + volume = {25}, + year = {2008} +} + +@inbook{Leonard10_DARPA, + author = {J. Leonard and J. P. How and S. Teller and M. Berger and S. Campbell and G. Fiore and L. Fletcher and E. Frazzoli and A. Huang and S. Karaman and O. Koch and Y. Kuwata and D. Moore and E. Olson and S. Peters and J. Teo and R. Truax and M. Walter and D. Barrett and A. Epstein and K. Maheloni and K. Moyer and T. Jones and R. Buckley and M. Antone and R. Galejs and S. Krishnamurthy and J. Williams}, + chapter = {A Perception-Driven Autonomous Urban Vehicle}, + date-modified = {2011-07-08 10:54:05 -0400}, + keywords = {AI, DGC, RRT, Vision, path planning}, + publisher = {Springer Verlag}, + title = {{The DARPA Urban Challenge: Autonomous Vehicles in City Traffic}}, + volume = {56}, + year = {2010} +} + +@book{leonard2009perception, + author = {Leonard, J. and How, J. and Teller, S. and Berger, M. and Campbell, S. and Fiore, G. and Fletcher, L. and Frazzoli, E. and Huang, A. and Karaman, S. and others}, + date-added = {2012-01-26 09:05:47 -0500}, + date-modified = {2012-01-26 09:06:30 -0500}, + journal = {The DARPA Urban Challenge}, + pages = {163--230}, + publisher = {Springer}, + title = {A perception-driven autonomous urban vehicle}, + year = {2009} +} + +@inproceedings{Levine10_Info, + address = {Atlanta, GA}, + author = {Daniel Levine and Brandon Luders and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Levine10_InfoTech.pdf}, + booktitle = {AIAA Infotech@Aerospace Conference}, + keywords = {path planning}, + month = {April}, + note = {(AIAA-2010-3360)}, + title = {Information-rich Path Planning with General Constraints using Rapidly-exploring Random Trees}, + url = {http://acl.mit.edu/papers/Levine10_InfoTech.pdf}, + year = {2010} +} + +@mastersthesis{Levine10_SM, + address = {Cambridge MA}, + author = {Daniel S. Levine}, + bdsk-url-1 = {http://acl.mit.edu/papers/LevineSM.pdf}, + date-modified = {2011-09-27 16:57:31 -0400}, + keywords = {path planning; RRT}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Information-rich Path Planning under General Constraints using Rapidly-exploring Random Trees}, + url = {http://acl.mit.edu/papers/LevineSM.pdf}, + year = {2010} +} + +@article{Levine13_JAIS, + author = {Daniel Levine and Brandon Luders and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Levine13_JAIS.pdf}, + date-modified = {2013-11-18 21:39:08 +0000}, + journal = {Journal of Aerospace Information Systems}, + keywords = {path planning}, + number = {10}, + pages = {477--496}, + title = {Information-Theoretic Motion Planning for Constrained Sensor Networks}, + url = {http://acl.mit.edu/papers/Levine13_JAIS.pdf}, + volume = {10}, + year = {2013} +} + +@inproceedings{Levine13_NIPS, + author = {Levine, Daniel S and How, Jonathan P}, + booktitle = {Advances in Neural Information Processing Systems}, + date-added = {2016-05-09 13:59:02 +0000}, + date-modified = {2016-05-09 13:59:22 +0000}, + pages = {2211--2219}, + title = {Sensor selection in high-dimensional gaussian trees with nuisances}, + year = {2013} +} + +@phdthesis{Levine14_phd, + author = {Levine, Daniel S}, + date-added = {2016-05-09 14:05:26 +0000}, + date-modified = {2016-05-09 14:06:04 +0000}, + school = {Department of Aeronautics and Astronautics, Massachusetts Institute of Technology}, + title = {Focused active inference}, + year = {2014} +} + +@inproceedings{Levine14_UAI, + author = {Levine, D. and How, J. P.}, + booktitle = {Proceedings of the Conference on Uncertainty in Artificial Intelligence (UAI)}, + date-added = {2019-02-24 17:02:38 -0500}, + date-modified = {2019-02-24 17:03:02 -0500}, + owner = {Dan}, + timestamp = {2014.06.24}, + title = {{Quantifying Nonlocal Informativeness in High-Dimensional, Loopy Gaussian Graphical Models}}, + year = {2014} +} + +@article{Lim02_IJRNC, + author = {Lim, S. and How, J. P.}, + date-added = {2011-07-08 11:06:00 -0400}, + date-modified = {2011-07-08 11:06:21 -0400}, + journal = {International Journal of Robust and Nonlinear Control}, + keywords = {robust control}, + number = {12}, + pages = {1067--1092}, + publisher = {Wiley Online Library}, + title = {Analysis of linear parameter-varying systems using a non-smooth dissipative systems framework}, + volume = {12}, + year = {2002} +} + +@article{Lim03_CST, + author = {Lim, S. and How, J. P.}, + bdsk-url-online-1 = {10.1109/TCST.2003.815610}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-07-08 11:14:01 -0400}, + isbn = {1063-6536}, + journal = {IEEE Transactions on Control Systems Technology}, + keywords = {robust control}, + month = {November}, + number = {6}, + pages = {830-838}, + title = {Modeling and $\mathcal{H}_\infty$ control for switched linear parameter-varying missile autopilot}, + ty = {JOUR}, + url-online = {10.1109/TCST.2003.815610}, + volume = {11}, + year = {2003} +} + +@conference{Lim96_GNC, + address = {San Diego, CA}, + author = {S. Lim and How, J. P.}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2011-07-09 20:19:52 -0400}, + keywords = {robust control}, + month = {July}, + title = {Input command shaping techniques for robust, high-performance control of flexible structures}, + year = {1996} +} + +@conference{Lim97_CDC, + author = {S. Lim and How, J. P.}, + bdsk-url-online-1 = {10.1109/CDC.1997.657571}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + keywords = {Lyapunov methods; control system analysis; matrix algebra; multidimensional systems; optimal control; stability; time-varying systems; LMI; LPV system analysis; PAPDLF; computationally intensive approach; continuous piecewise affine parameter-dependent Lyapunov function; finite-dimensional linear matrix inequality; induced L$_{2}$ performance analysis; linear parameter-varying systems; nonsmooth dissipative system theory; parameter-dependent Lyapunov functions; stability; nonlinear control}, + month = {10-12 December}, + pages = {978-983}, + title = {Analysis of LPV systems using a piecewise affine parameter-dependent Lyapunov function}, + ty = {CONF}, + url-online = {10.1109/CDC.1997.657571}, + vo = {2}, + volume = {2}, + year = {1997} +} + +@conference{Lim98_ACC, + author = {S. Lim and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/lpv98.pdf}, + bdsk-url-online-1 = {10.1109/ACC.1998.703604}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + keywords = {Lyapunov methods; control system synthesis; linear systems; matrix algebra; robust control; Lyapunov function; linear matrix inequality; linear parameter-varying systems; nonsmooth dissipative systems; robust control}, + month = {21-26 Jun}, + pages = {1200-1204}, + title = {Control of LPV systems using a quasi-piecewise affine parameter-dependent {L}yapunov function}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/lpv98.pdf}, + url-online = {10.1109/ACC.1998.703604}, + vo = {2}, + volume = {2}, + year = {1998} +} + +@phdthesis{Lim98_PhD, + address = {Cambridge MA}, + author = {Sungyung Lim}, + bdsk-url-1 = {http://acl.mit.edu/papers/Lim_PhD.pdf}, + keywords = {feedback control}, + month = {September}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {Analysis and Control of Linear Parameter-Varying Systems}, + url = {http://acl.mit.edu/papers/Lim_PhD.pdf}, + year = {1998} +} + +@conference{Lim99_ACC, + author = {S. Lim and How, J. P.}, + bdsk-url-online-1 = {10.1109/ACC.1999.786188}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + keywords = {Lyapunov methods; closed loop systems; control system synthesis; linear systems; matrix algebra; missile control; robust control; L$_{2}$-gain synthesis; computational efficiency; continuous quasi-piecewise-affine parameter-dependent Lyapunov function; convexifying technique; finite-dimensional linear matrix inequality formulation; missile autopilot; nonsmooth dissipative systems; piecewise-affine linear parameter-varying system}, + pages = {3733-3737 vol.6}, + title = {Application of improved L$_{2}$-gain synthesis on LPV missile autopilot design}, + ty = {CONF}, + url-online = {10.1109/ACC.1999.786188}, + vo = {6}, + volume = {6}, + year = {1999} +} + +@article{Lim99_ASME, + author = {Lim, S. and Stevens, H.D. and How, J. P.}, + date-added = {2011-07-08 07:36:26 -0400}, + date-modified = {2011-07-08 07:37:01 -0400}, + journal = {Journal of Dynamic Systems, Measurement, and Control}, + keywords = {robust control}, + pages = {443}, + title = {Input shaping design for multi-input flexible systems}, + volume = {121}, + year = {1999} +} + +@inproceedings{Liu13_NIPS, + address = {Lake Tahoe, NV}, + author = {Liu, Miao and Chowdhary, Girish and How, Jonathan P. and Carin, Lawrence}, + booktitle = {Neural Information and Processing Systems}, + date-modified = {2014-12-21 17:40:08 +0000}, + month = {December}, + note = {workshop on Bayesian Nonparametric Models For Reliable Planning And Decision-Making Under Uncertainty}, + title = {Transfer Learning for Reinforcement Learning with Dependent Dirichlet Process and Gaussian Process}, + year = {2012} +} + +@inproceedings{Liu15_learn_RLDM, + author = {M. Liu and C. Amato and E. Anesta and J. D. Griffith and J. P. How}, + booktitle = {The 2nd Multidisciplinary Conference on Reinforcement Learning and Decision Making (RLDM)}, + title = {{L}earning for {M}ultiagent {D}ecentralized {C}ontrol in {L}arge {P}artially {O}bservable {S}tochastic {E}nvironments}, + year = {2015} +} + +@inproceedings{Liu15_stick_IJCAI, + address = {Buenos aires, Argentina}, + author = {M. Liu and C. Amato and X. Liao and J. P. How and L. Carin}, + booktitle = {Proceedings of the 24rd International Joint Conference on Artificial Intelligence (IJCAI)}, + title = {{S}tick-{B}reaking {P}olicy {L}earning in {DEC-POMDP}s}, + year = {2015} +} + +@inproceedings{Liu16_AAAI, + author = {M. Liu and C. Amato and E. Anesta and J. D. Griffith and J. P. How}, + booktitle = {Proc. of the 30th AAAI Conference on Artificial Intelligence (AAAI)}, + title = {{L}earning for {M}ultiagent {D}ecentralized {C}ontrol in {L}arge, {P}artially-{O}bservable {S}tochastic {E}nvironments}, + year = {2016} +} + +@conference{Liu17_IROS, + author = {Miao Liu and Kavinayan Sivakumar and Shayegan Omidshafiei and Christopher Amato and Jonathan P. How}, + bdsk-url-1 = {https://arxiv.org/abs/1707.07399}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + date-added = {2017-05-31 16:19:58 +0000}, + date-modified = {2017-05-31 16:22:04 +0000}, + title = {{Learning for Multi-robot Cooperation in Partially Observable Stochastic Environments with Macro-actions}}, + url = {https://arxiv.org/abs/1707.07399}, + year = {2017} +} + +@article{Liu18_GP_CSM, + author = {Miao Liu and Girish Chowdhary and Bruno Castro da Silva and Shih-Yuan Liu and Jonathan P. How}, + bdsk-url-1 = {https://ieeexplore.ieee.org/document/8467518}, + date-modified = {2019-04-15 09:05:00 -0400}, + journal = {IEEE Control Systems Magazine}, + month = {October}, + number = {5}, + pages = {53 - 86}, + publisher = {IEEE}, + title = {{Gaussian Processes for Learning and Control: Tutorial with Examples}}, + url = {https://ieeexplore.ieee.org/document/8467518}, + volume = {38}, + year = {2018} +} + +@inproceedings{liu2016learning, + author = {Liu, Miao and Amato, Christopher and Anesta, Emily P and Griffith, J Daniel and How, Jonathan P}, + booktitle = {Thirtieth AAAI Conference on Artificial Intelligence}, + title = {Learning for Decentralized Control of Multiagent Systems in Large, Partially-Observable Stochastic Environments}, + year = {2016} +} + +@mastersthesis{Lopez16_SM, + author = {Brett Lopez}, + date-added = {2016-09-20 13:20:38 +0000}, + date-modified = {2016-09-20 13:21:22 +0000}, + school = {Department of Aeronautics and Astronautics, Massachusetts Institute of Technology}, + title = {Low-Latency Trajectory Planning for High-Speed Navigation in Unknown Environments}, + year = {2016} +} + +@conference{Lopez17_ICRA, + author = {Brett Lopez and Jonathan P How}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2016-09-20 13:17:41 +0000}, + date-modified = {2017-06-11 01:28:12 +0000}, + title = {{Aggressive 3-D Collision Avoidance for High-Speed Navigation}}, + year = {2017} +} + +@inproceedings{Lopez17_IROS, + address = {Vancouver, BC, Canada}, + author = {Brett T. Lopez and Jonathan P. How}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + date-modified = {2018-05-16 14:13:12 +0000}, + month = {September}, + title = {{Aggressive Collision Avoidance with Limited Field-of-View Sensing}}, + year = {2017} +} + +@conference{Lopez18_ICRA, + author = {Brett Lopez and Jonathan P How and Jean Jacques Slotine}, + bdsk-url-1 = {https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8460817}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2018-05-31 09:57:34 +0000}, + date-modified = {2018-05-31 09:58:54 +0000}, + title = {Robust Planning via Sliding Control}, + url = {https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8460817}, + year = {2018} +} + +@phdthesis{Lopez_phd, + author = {Brett Lopez}, + bdsk-url-1 = {http://acl.mit.edu/papers/LopezPhDThesis.pdf}, + date-added = {2019-06-24 15:29:24 -0500}, + school = {Massachusetts Institute of Technology}, + title = {Adaptive Robust Model Predictive Control for Nonlinear Systems}, + url = {http://acl.mit.edu/papers/LopezPhDThesis.pdf}, + year = {2019} +} + +@mastersthesis{Luders08_Masters, + address = {Cambridge, MA}, + author = {Brandon D. Luders}, + bdsk-url-1 = {http://acl.mit.edu/papers/LudersSM.pdf}, + keywords = {path planning, robust control, MILP}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Robust Trajectory Planning for Unmanned Aerial Vehicles in Uncertain Environments}, + url = {http://acl.mit.edu/papers/LudersSM.pdf}, + year = {2008} +} + +@inproceedings{Luders10_ACC, + address = {Baltimore, MD}, + author = {Brandon Luders and Sertac Karaman and Emilio Frazzoli and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Luders10_ACC.pdf}, + booktitle = {American Control Conference (ACC)}, + keywords = {path planning, robust control}, + month = {June/July}, + pages = {5406--5412}, + title = {Bounds on Tracking Error using Closed-Loop Rapidly-Exploring Random Trees}, + url = {http://acl.mit.edu/papers/Luders10_ACC.pdf}, + year = {2010} +} + +@inproceedings{Luders10_GNC, + address = {Toronto, Canada}, + author = {Brandon Luders and Mangal Kothari and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Luders10_GNC.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {path planning, robust control}, + month = {August}, + note = {(AIAA-2010-8160)}, + title = {Chance Constrained {RRT} for Probabilistic Robustness to Environmental Uncertainty}, + url = {http://acl.mit.edu/papers/Luders10_GNC.pdf}, + year = {2010} +} + +@inproceedings{Luders11_Info_CCRRT, + address = {St. Louis, MO}, + author = {Brandon Luders and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Luders11_Infotech.pdf}, + booktitle = {AIAA Infotech@Aerospace Conference}, + keywords = {path planning, robust control}, + month = {March}, + organization = {(AIAA-2011-1589)}, + title = {Probabilistic Feasibility for Nonlinear Systems with Non-{G}aussian Uncertainty using {RRT}}, + url = {http://acl.mit.edu/papers/Luders11_Infotech.pdf}, + year = {2011} +} + +@inproceedings{Luders11_Info_IRRT, + address = {St. Louis, MO}, + author = {Brandon Luders and Daniel Levine and Sameera S. Ponda and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Luders11_Infotech2.pdf}, + booktitle = {AIAA Infotech@Aerospace Conference}, + keywords = {task allocation; path planning; RRT}, + month = {March}, + note = {(AIAA-2011-1588)}, + title = {Information-rich Task Allocation and Motion Planning for Heterogeneous Sensor Platforms}, + url = {http://acl.mit.edu/papers/Luders11_Infotech2.pdf}, + year = {2011} +} + +@techreport{Luders11_Tech, + author = {Brandon D. Luders and Georges S. Aoude and Joshua M. Joseph and Nicholas Roy and Jonathan P. How}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/64738}, + institution = {Massachusetts Institute of Technology}, + keywords = {path planning, robust control}, + month = {July}, + title = {Probabilistically Safe Avoidance of Dynamic Obstacles with Uncertain Motion Patterns}, + url = {http://dspace.mit.edu/handle/1721.1/64738}, + year = {2011} +} + +@inproceedings{Luders13_GNC, + address = {Boston, MA}, + author = {Brandon D. Luders and Sertac Karaman and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Luders13_GNC.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {path planning, robust control}, + month = {August}, + title = {Robust Sampling-based Motion Planning with Asymptotic Optimality Guarantees}, + url = {http://acl.mit.edu/papers/Luders13_GNC.pdf}, + year = {2013} +} + +@inproceedings{Luders13_Infotech, + address = {Boston, MA}, + author = {Brandon Luders and Ian Sugel and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Luders13_Infotech.pdf}, + booktitle = {AIAA Infotech@Aerospace Conference}, + keywords = {path planning, robust control}, + month = {August}, + title = {Robust Trajectory Planning for Autonomous Parafoils under Wind Uncertainty}, + url = {http://acl.mit.edu/papers/Luders13_Infotech.pdf}, + year = {2013} +} + +@inproceedings{Luders14_ACC, + address = {Portland, OR}, + author = {Brandon D. Luders and Jonathan P. How}, + booktitle = {American Control Conference (ACC)}, + keywords = {path planning, robust control}, + month = {June}, + title = {An Asymptotically Optimal Sampling-based Motion Planner with Guaranteed Robustness to Bounded Uncertainty}, + year = {2014} +} + +@phdthesis{Luders14_PhD, + author = {Brandon D. Luders}, + month = {May}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Robust Sampling-based Motion Planning for Autonomous Vehicles in Uncertain Environments}}, + year = {2014} +} + +@article{lusk2022graffmatch, + author = {Lusk, Parker C and Parikh, Devarth and How, Jonathan P}, + journal = {IEEE Robotics and Automation Letters}, + number = {2}, + pages = {632--639}, + title = {{GraffMatch}: Global Matching of 3D Lines and Planes for Wide Baseline LiDAR Registration}, + volume = {8}, + year = {2022} +} + +@article{lusk2023mixer, + author = {Lusk, Parker C and Fathian, Kaveh and How, Jonathan P}, + journal = {IEEE Robotics and Automation Letters}, + title = {MIXER: Multiattribute, Multiway Fusion of Uncertain Pairwise Affinities}, + year = {2023} +} + +@article{lusk2024clipper, + author = {Lusk, Parker C and How, Jonathan P}, + journal = {IEEE Robotics and Automation Letters}, + publisher = {IEEE}, + title = {CLIPPER: Robust Data Association without an Initial Guess}, + year = {2024} +} + +@inproceedings{Lusk21_ICRA, + author = {Lusk, Parker C and Fathian, Kaveh and How, Jonathan P}, + booktitle = {2021 IEEE International Conference on Robotics and Automation (ICRA)}, + organization = {IEEE}, + pages = {13828--13834}, + title = {CLIPPER: A Graph-Theoretic Framework for Robust Data Association}, + year = {2021} +} + +@inproceedings{Lusk21_ICRA_workshop, + author = {Lusk, Parker C and Roy, Ronak and Fathian, Kaveh and How, Jonathan P}, + booktitle = {ICRA 2021 Workshop on Robust Perception For Autonomous Field Robots in Challenging Environments}, + title = {{MIXER: A Principled Framework for Multimodal, Multiway Data Association}}, + url = {http://robustperception.net/papers/ICRA-21-WRPCE_paper_3.pdf}, + year = {2021} +} + +@inproceedings{Lusk22_IROS, + author = {Lusk, Parker C and How, Jonathan P}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + title = {Global Data Association for SLAM with 3D Grassmannian Manifold Objects}, + year = {2022} +} + +@conference{Lusk_IROS20, + author = {Parker C. Lusk and Xiaoyi Cai and Samir Wadhwania and Aleix Paris andKaveh Fathian and Jonathan Patrick How}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + date-added = {2020-08-16 13:23:45 -0400}, + date-modified = {2020-08-16 13:41:32 -0400}, + organization = {IEEE}, + title = {A Distributed Pipeline for Scalable, Deconflicted Formation Flying}, + year = {2020} +} + +@article{Lusk_RAL20, + author = {Parker C. Lusk and Xiaoyi Cai and Samir Wadhwania and Aleix Paris andKaveh Fathian and Jonathan Patrick How}, + date-added = {2020-08-16 13:38:06 -0400}, + date-modified = {2020-08-16 13:38:06 -0400}, + journal = {IEEE Robotics and Automation Letters (RA-L)}, + title = {A Distributed Pipeline for Scalable, Deconflicted Formation Flying}, + year = {2020} +} + +@inproceedings{Lutjens18_IROS_WS, + author = {Bjorn Lutjens and Michael Everett and Jonathan P. How}, + bdsk-url-1 = {https://arxiv.org/abs/1810.08700}, + booktitle = {Machine Learning in Robot Motion Planning Workshop at the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + month = {October}, + title = {Safe Reinforcement Learning with Model Uncertainty Estimates}, + url = {https://arxiv.org/abs/1810.08700}, + year = {2018} +} + +@inproceedings{Lutjens19_CORL, + address = {Osaka, Japan}, + author = {Bjorn Lutjens and Michael Everett and Jonathan P. How}, + bdsk-url-1 = {https://arxiv.org/pdf/1910.12908.pdf}, + booktitle = {Conference on Robot Learning (CoRL)}, + date-modified = {2019-09-14 06:18:08 -0400}, + month = {October}, + title = {Certified Adversarial Robustness for Deep Reinforcement Learning}, + url = {https://arxiv.org/pdf/1910.12908.pdf}, + year = {2019} +} + +@inproceedings{Lutjens19_ICRA, + address = {Montreal, Canada}, + author = {Bjorn Lutjens and Michael Everett and Jonathan P. How}, + bdsk-url-1 = {https://arxiv.org/abs/1810.08700}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + month = {May}, + title = {Safe Reinforcement Learning with Model Uncertainty Estimates}, + url = {https://arxiv.org/abs/1810.08700}, + year = {2019} +} + +@mastersthesis{Lutjens19_SM, + author = {Bj\"{o}rn M. L\"{u}tjens}, + date-added = {2019-06-30 16:11:34 -0400}, + date-modified = {2019-06-30 16:14:23 -0400}, + month = {June}, + school = {MIT Department of Aeronautics and Astronautics}, + title = {Safe and Robust Reinforcement Learning with Neural Network Policies}, + year = {2019} +} + +@conference{MacMartin94_ACC, + author = {MacMartin, D. G. and How, J. P.}, + bdsk-url-online-1 = {10.1109/ACC.1994.752464}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:31:57 -0400}, + keywords = {robust control}, + month = {June}, + pages = {2190-2195}, + title = {Implementation and prevention of unstable optimal compensators}, + ty = {CONF}, + url-online = {10.1109/ACC.1994.752464}, + vo = {2}, + volume = {2}, + year = {1994} +} + +@article{mahesh2025safe, + author = {Mahesh, Karan and Paine, Tyler M and Greene, Max L and Rober, Nicholas and Lee, Steven and Monteiro, Sildomar T and Annaswamy, Anuradha and Benjamin, Michael R and How, Jonathan P}, + journal = {IEEE Transactions on Control Systems Technology}, + publisher = {IEEE}, + title = {Safe Autonomy for Uncrewed Surface Vehicles Using Adaptive Control and Reachability Analysis}, + year = {2025} +} + +@inproceedings{Maleki99_GComm, + author = {Maleki-Tehrani, A. and Sayyarrodsari, B. and Hassibi, B. and How, JP and Cioffi, JM}, + booktitle = {Global Telecommunications Conference (GLOBECOM'99)}, + date-added = {2011-07-09 21:06:04 -0400}, + date-modified = {2011-07-09 21:06:57 -0400}, + month = {Dec}, + organization = {IEEE}, + pages = {457--461}, + title = {Estimation-based synthesis of $H_\infty$-optimal adaptive equalizers over wireless channels}, + volume = {1}, + year = {1999} +} + +@inproceedings{Mandic04_GNC, + address = {Providence, RI}, + author = {Mandic, M. and Breger, L. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAA-2004-5135.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2011-07-08 13:17:02 -0400}, + keywords = {formation flight}, + month = {August}, + title = {Analysis of decentralized estimation filters for formation flying spacecraft}, + url = {http://acl.mit.edu/papers/AIAA-2004-5135.pdf}, + year = {2004} +} + +@mastersthesis{Mandic06_Masters, + address = {Cambridge MA}, + author = {Mandic, Milan}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/35572}, + keywords = {formation flight}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Distributed Estimation Architectures and Algorithms for Formation Flying Spacecraft}, + url = {http://dspace.mit.edu/handle/1721.1/35572}, + year = {2006} +} + +@mastersthesis{Matczynski06_Masters, + address = {Cambridge MA}, + author = {Matczynski, Michael J.}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/37210}, + keywords = {flight control}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science}, + title = {A Distributed Embedded Software Architecture for Multiple Unmanned Aerial Vehicles}, + url = {http://dspace.mit.edu/handle/1721.1/37210}, + year = {2006} +} + +@article{matteson2025softfly, + author = {Hsiao, Yi-Hsuan and Tagliabue, Andrea and Matteson, Owen and Kim, Suhan and Zhao, Tong and How, Jonathan P. and Chen, YuFeng}, + journal = {arXiv preprint arXiv:2508.03043}, + title = {Aerobatic maneuvers in insect-scale flapping-wing aerial robots via deep-learned robust tube model predictive control}, + year = {2025} +} + +@mastersthesis{McGrew08_Masters, + address = {Cambridge MA}, + author = {James S. McGrew}, + bdsk-url-1 = {http://acl.mit.edu/papers/McGrewSM.pdf}, + keywords = {flight control; decision making}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Real-Time Maneuvering Decisions for Autonomous Air Combat}, + url = {http://acl.mit.edu/papers/McGrewSM.pdf}, + year = {2008} +} + +@article{Mcgrew10_JGCD, + author = {J. S. McGrew and J. P. How and B. Williams and N. Roy}, + date-added = {2011-04-18 09:50:57 -0400}, + date-modified = {2011-07-08 14:08:47 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {decision making}, + month = {Sept./Oct.}, + number = {5}, + pages = {1641-1654}, + title = {Air Combat Strategy Using Approximate Dynamic Programming}, + volume = {33}, + year = {2010} +} + +@inproceedings{McGrewGNC08, + author = {J. McGrew and L. Bush and F. Fan and J. P. How and N. Roy}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-18 09:59:07 -0400}, + date-modified = {2011-04-18 09:59:07 -0400}, + keywords = {flight control; decision making}, + note = {AIAA-2008-6796}, + owner = {Jonathan P. How}, + timestamp = {2008.07.19}, + title = {Air Combat Strategy using Function Approximation Dynamic Programming}, + year = {2008} +} + +@inproceedings{Meehan98_ION, + author = {Meehan, T. and Duncan, C. and Dunn, C. and Spitzmesser, D. and Srinivasan, J. and Munson, T. and Ward, J. and Adams, JC and How, J.}, + booktitle = {Institute of Navigation-GPS Conference (ION GPS-98)}, + date-added = {2011-07-09 20:54:15 -0400}, + date-modified = {2011-07-09 20:55:09 -0400}, + keywords = {GPS}, + month = {September}, + pages = {1509--1517}, + title = {GPS on a Chip- An advanced GPS receiver for spacecraft}, + year = {1998} +} + +@inproceedings{Mettler03_GNC, + address = {Austin, TX}, + author = {Mettler, B. and Schouwenaars, T. and How, J. P. and Paunicka, J. and Feron, E.}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAAGNC03_mettler.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {path planning; flight control}, + month = {August}, + title = {Autonomous UAV guidance build-up: Flight-test Demonstration and evaluation plan}, + url = {http://acl.mit.edu/papers/AIAAGNC03_mettler.pdf}, + year = {2003} +} + +@inproceedings{Michini09_GNC, + address = {Chicago, IL}, + author = {B. Michini and J. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/L1GNC09.pdf}, + booktitle = {Proc. AIAA Guidance, Navigation and Control}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + keywords = {adaptive control}, + month = {August}, + owner = {Buddy}, + timestamp = {2009.06.25}, + title = {{L}$_1$ Adaptive Control for Indoor Autonomous Vehicles: Design Process and Flight Testing}, + url = {http://acl.mit.edu/papers/L1GNC09.pdf}, + year = {2009} +} + +@mastersthesis{Michini09_Masters, + address = {Cambridge MA}, + author = {Bernard Michini}, + bdsk-url-1 = {http://acl.mit.edu/papers/MichiniSM.pdf}, + keywords = {adaptive control}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Modeling and Adaptive Control of Indoor Unmanned Aerial Vehicles}, + url = {http://acl.mit.edu/papers/MichiniSM.pdf}, + year = {2009} +} + +@conference{Michini11_ICRA, + author = {Michini, B. and Redding, J. and Ure, N. K. and Cutler, M. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/Michini11_ICRA.pdf}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2011-04-18 09:59:18 -0400}, + date-modified = {2011-11-08 19:13:47 -0500}, + keywords = {flight control}, + month = {May}, + pages = {2978 - 2979}, + title = {Design and Flight Testing of an Autonomous Variable-Pitch Quadrotor}, + url = {http://acl.mit.edu/papers/Michini11_ICRA.pdf}, + year = {2011} +} + +@inproceedings{Michini11_Infotech, + author = {B. Michini and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/MichiniInfotech2011.pdf}, + booktitle = {AIAA Infotech@Aerospace Conference}, + date-added = {2011-04-12 09:19:16 -0400}, + date-modified = {2011-04-12 09:20:42 -0400}, + keywords = {decision making}, + month = {March}, + title = {A Human-Interactive Course of Action Planner for Aircraft Carrier Deck Operations}, + url = {http://acl.mit.edu/papers/MichiniInfotech2011.pdf}, + year = {2011} +} + +@inproceedings{Michini12_ECML, + address = {Bristol, UK}, + author = {B. Michini and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/michini-ecml-2012.pdf}, + booktitle = {European Conference on Machine Learning (ECML)}, + date-added = {2012-06-22 15:30:25 -0400}, + date-modified = {2012-06-22 15:31:35 -0400}, + month = {Sept.}, + title = {{Bayesian Nonparametric Inverse Reinforcement Learning}}, + url = {http://acl.mit.edu/papers/michini-ecml-2012.pdf}, + year = {2012} +} + +@inproceedings{Michini12_ICRA, + author = {Michini, B. and How, Jonathan P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/michini-icra-2012.pdf}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + organization = {IEEE}, + title = {Improving the Efficiency of Bayesian Inverse Reinforcement Learning}, + url = {http://acl.mit.edu/papers/michini-icra-2012.pdf}, + year = {2012} +} + +@conference{Michini13_ICRA, + author = {Bernard Michini and Mark Cutler and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/michini-icra-2013.pdf}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + organization = {IEEE}, + title = {Scalable Reward Learning from Demonstration}, + url = {http://acl.mit.edu/papers/michini-icra-2013.pdf}, + year = {2013} +} + +@article{Michini13_TRO, + author = {Bernard Michini and Thomas J. Walsh and Ali-akbar Agha-mohammadi and Jonathan P. How}, + date-added = {2013-09-20 14:13:28 +0000}, + date-modified = {2017-06-11 01:31:26 +0000}, + journal = {Transactions on Robotics}, + month = {April}, + number = {2}, + pages = {369-386}, + title = {{Bayesian Nonparametric Reward Learning from Demonstration}}, + volume = {31}, + year = {2015} +} + +@inproceedings{Miller16_IROS, + author = {Justin Miller and Andres Hasfura and Shih-Yuan Liu and Jonathan P. How}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + date-modified = {2017-06-11 01:35:39 +0000}, + title = {Dynamic Arrival Rate Estimation for Campus Mobility on Demand Network Graphs}, + year = {2016} +} + +@inproceedings{Miller17_predictive_ICRA, + author = {Justin Miller and Jonathan P. How}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + title = {Predictive Positioning and Quality Of Service Ridesharing for Campus Mobility On Demand Systems}, + year = {2017} +} + +@inproceedings{Miller96_AAS, + author = {David W. Miller and Jonathan P. How 615}, + booktitle = {Proceedings of 19th Annual AAS Guidance Navigation and Control Conference}, + date-added = {2011-07-09 20:15:06 -0400}, + date-modified = {2011-07-09 20:16:37 -0400}, + keywords = {robust control}, + month = {Feb}, + title = {{Extended Bandwidth Instrument Pointing and S/C G\&C - The Middeck Active Control Experiment (MACE)}}, + year = {1996} +} + +@article{Miller98_AIAA, + author = {Miller, D.W. and How, J. P. and Campbell, M.E. and Grocott, S. and Ketao, Liu and Glaese, R.M. and Tuttle, T.}, + date-added = {2011-07-08 07:26:39 -0400}, + date-modified = {2011-07-08 07:27:35 -0400}, + journal = {AIAA Journal}, + keywords = {robust control}, + number = {3}, + pages = {432--440}, + publisher = {American Institute of Aeronautics and Astronautics}, + title = {{Flight results from the middeck active control experiment (MACE)}}, + volume = {36}, + year = {1998} +} + +@conference{Miller_ACC95, + author = {Miller, D. W. and de Luis, J. and Stover, G. and How, J. P. and Ketao Liu and Grocott, S. C. O. and Campbell, M. E. and Glaese, R. and Crawley, E. F.}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:33:53 -0400}, + keywords = {robust control}, + month = {21-23 June}, + pages = {397-401}, + title = {The Middeck Active Control Experiment ({MACE}): using space for technology research and development}, + ty = {CONF}, + vo = {1}, + volume = {1}, + year = {1995} +} + +@inproceedings{Mitchell04_GNC, + address = {Providence, RI}, + author = {Mitchell, M. and Breger, L. and How, J. P. and Alfriend, K. T.}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAA-2004-5024.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2011-07-08 13:17:42 -0400}, + keywords = {formation flight}, + month = {August}, + title = {Effects of navigation filter properties on formation flying control}, + url = {http://acl.mit.edu/papers/AIAA-2004-5024.pdf}, + year = {2004} +} + +@mastersthesis{Mitchell04_Masters, + address = {Cambridge MA}, + author = {Megan L. Mitchell}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Mitchell_SM.pdf}, + keywords = {GPS}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{CDGPS-Based Relative Navigation for Multiple Spacecraft}}, + url = {http://www.mit.edu/people/jhow/papers/Mitchell_SM.pdf}, + year = {2004} +} + +@inproceedings{Morozov21_SciTech, + author = {Morozov, Savva and Lusk, Parker C and Lopez, Brett and How, Jonathan P}, + booktitle = {AIAA Scitech 2021 Forum}, + pages = {0785}, + title = {Performance Analysis of Adaptive Dynamic Tube MPC}, + year = {2021} +} + +@techreport{Mu12_dspace, + address = {http://hdl.handle.net/1721.1/71875}, + author = {Mu, Beipeng and Chowdhary, Girish and How, Jonathan P.}, + date-modified = {2012-08-01 09:07:33 -0400}, + institution = {Massachusetts Institute of Technology}, + month = {July}, + title = {Efficient Distributed Information Fusion using Value of Information based Censoring}, + type = {Aerospace Control Laboratory Technical Report}, + year = {2012} +} + +@conference{Mu13_ACC, + address = {Washington DC}, + author = {Mu, Beipeng and Chowdhary, Girish and How, Jonathan P.}, + bdsk-url-1 = {http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6580477}, + booktitle = {American Control Conference (ACC)}, + date-added = {2012-08-01 09:04:08 -0400}, + date-modified = {2012-08-01 09:04:41 -0400}, + month = {July}, + title = {Efficient Distributed Information Fusion using Adaptive Decentralized Censoring Algorithms}, + url = {http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6580477}, + year = {2013} +} + +@inproceedings{Mu13_GNC, + address = {Boston}, + author = {Mu, Beipeng and Chowdhary, Girish and How, Jonathan P.}, + bdsk-url-1 = {http://arc.aiaa.org/doi/pdf/10.2514/6.2013-4997}, + booktitle = {AIAA Guidance Navigation and Control}, + month = {August}, + title = {Value-of-information aware active task assignment}, + url = {http://arc.aiaa.org/doi/pdf/10.2514/6.2013-4997}, + year = {2013} +} + +@mastersthesis{Mu13_Masters, + author = {Mu, Beipeng}, + month = {June}, + school = {Massachusetts Institute of Technology}, + title = {Value of Information Based Distributed Inference and Planning}, + year = {2013} +} + +@conference{Mu13_SPIE, + address = {Baltimore}, + author = {Mu, Beipeng and Chowdhary, Girish and How, Jonathan P.}, + bdsk-url-1 = {http://proceedings.spiedigitallibrary.org/proceeding.aspx?articleid=1691365}, + booktitle = {Defense Security and Sensing}, + month = {May}, + organization = {SPIE}, + title = {Value-of-information aware active task assignment}, + url = {http://proceedings.spiedigitallibrary.org/proceeding.aspx?articleid=1691365}, + year = {2013} +} + +@article{Mu14_Auto, + author = {Mu, Beipeng and Chowdhary, Girish and How, Jonathan P}, + date-added = {2015-04-23 02:28:13 +0000}, + date-modified = {2015-04-23 02:28:26 +0000}, + journal = {Automatica}, + number = {6}, + pages = {1590--1602}, + publisher = {Elsevier}, + title = {Efficient distributed sensing using adaptive censoring-based inference}, + volume = {50}, + year = {2014} +} + +@inproceedings{Mu16_CDC, + address = {Las Vegas, USA}, + author = {B. Mu AND M. Giamou and L. Paull AND A. Agha-mohammadi AND J. Leonard AND J. How}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2016-05-09 14:58:46 +0000}, + date-modified = {2017-06-19 09:50:40 +0000}, + month = {December}, + title = {{Information-based Active SLAM via Topological Feature Graphs}}, + year = {2016} +} + +@inproceedings{Mu16_IROS, + address = {Daejeon, Korea}, + author = {B. Mu AND S. Liu and L. Paull AND J. Leonard AND J. How}, + booktitle = {Proceedings of the IEEE International Conference on Intelligent Robots and Systems}, + date-added = {2016-05-09 14:58:28 +0000}, + date-modified = {2017-06-11 01:35:05 +0000}, + keywords = {AI, DGC, RRT, Vision, path planning}, + month = {Oct.}, + title = {{SLAM with Objects using a Nonparametric Pose Graph}}, + year = {2016} +} + +@article{Mu17_TRO, + author = {Mu, Beipeng and Paull, Liam and Agha-Mohammadi, Ali-Akbar and Leonard, John J and How, Jonathan P}, + bdsk-url-1 = {https://ieeexplore.ieee.org/document/7811270}, + journal = {IEEE Transactions on Robotics}, + number = {1}, + pages = {124--140}, + publisher = {IEEE}, + title = {{Two-Stage Focused Inference for Resource-Constrained Minimal Collision Navigation}}, + url = {https://ieeexplore.ieee.org/document/7811270}, + volume = {33}, + year = {2017} +} + +@inproceedings{mu2015adaptive, + author = {Mu, Beipeng and Newstadt, Gregory E and Wei, Dennis L and Hero, Alfred O and How, Jonathan P}, + booktitle = {Information Fusion (Fusion), 2015 18th International Conference on}, + date-added = {2016-05-09 14:10:45 +0000}, + date-modified = {2016-05-09 14:10:45 +0000}, + organization = {IEEE}, + pages = {28--33}, + title = {Adaptive search for multi-class targets with heterogeneous importance}, + year = {2015} +} + +@inproceedings{Mu_RSS_15, + address = {Rome, Italy}, + author = {Beipeng Mu AND Ali-akbar Agha-mohammadi AND Liam Paull AND Matthew Graham AND Jonathan How AND John Leonard}, + booktitle = {Proceedings of Robotics: Science and Systems}, + month = {July}, + title = {Two-Stage Focused Inference for Resource-Constrained Collision-Free Navigation}, + year = {2015} +} + +@misc{Newstadt14_arxiv, + author = {Gregory Newstadt and Beipeng Mu and Dennis Wei and Jonathan P. How and Alfred O. Hero}, + bdsk-url-1 = {http://arxiv.org/abs/1409.7808}, + bibsource = {dblp computer science bibliography, http://dblp.org}, + biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/NewstadtMWHH14}, + date-added = {2015-04-23 09:38:19 +0000}, + date-modified = {2015-04-23 09:41:48 +0000}, + howpublished = {http://arxiv.org/abs/1409.7808}, + journal = {CoRR}, + month = {Sept}, + timestamp = {Wed, 01 Oct 2014 15:00:04 +0200}, + title = {Resource-Constrained Adaptive Search for Sparse Multi-Class Targets with Varying Importance}, + url = {http://arxiv.org/abs/1409.7808}, + volume = {abs/1409.7808}, + year = {2014} +} + +@article{Newstadt15_TSP, + author = {Newstadt, Gregory E and Mu, Beipeng and Wei, Dennis and How, Jonathan P and Hero, Alfred O}, + date-added = {2016-05-09 14:12:18 +0000}, + date-modified = {2016-05-09 14:12:37 +0000}, + journal = {Signal Processing, IEEE Transactions on}, + number = {23}, + pages = {6299--6314}, + publisher = {IEEE}, + title = {Importance-Weighted Adaptive Search for Multi-Class Targets}, + volume = {63}, + year = {2015} +} + +@conference{Nghia19_AAAI, + author = {Trong Nghia Hoang and Quang Minh Hoang and Bryan Kian Hsiang Low and Jonathan P. How}, + bdsk-url-1 = {https://arxiv.org/pdf/1805.09266.pdf}, + booktitle = {AAAI}, + date-added = {2018-06-04 18:46:38 +0000}, + date-modified = {2019-04-25 10:48:58 -0400}, + title = {{Collective Online Learning via Decentralized Gaussian Processes in Massive Multi-Agent Systems}}, + year = {2019} +} + +@inproceedings{Olsen98_ION, + author = {E. Olsen and C.-W. Park and J. P. How}, + booktitle = {Proc. of the Institute of Navigation {GPS}-98 Conference}, + date-added = {2011-07-09 17:11:54 -0400}, + date-modified = {2011-07-09 17:12:16 -0400}, + keywords = {GPS}, + month = {Sept.}, + title = {{3D} Formation Flight using Differential Carrier-Phase {GPS} Sensors}, + year = {1998} +} + +@article{Olsen99_NAV, + author = {Olsen, E. A. and Park, C. W. and How, J. P.}, + date-added = {2011-07-08 07:32:28 -0400}, + date-modified = {2011-07-08 07:33:17 -0400}, + journal = {ION Journal of Navigation}, + keywords = {GPS}, + number = {1}, + pages = {35--48}, + publisher = {Institute of Navigation}, + title = {{3D Formation flight using differential carrier-phase GPS sensors}}, + volume = {46}, + year = {1999} +} + +@phdthesis{Olsen99_PhD, + address = {Cambridge MA}, + author = {Eric A. Olsen}, + bdsk-url-1 = {http://acl.mit.edu/papers/Olsen_PhD.pdf}, + keywords = {GPS; formation flight}, + month = {November}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {{GPS} Sensing for Formation Flying Vehicles}, + url = {http://acl.mit.edu/papers/Olsen_PhD.pdf}, + year = {1999} +} + +@inproceedings{Omidshafiei15_ICRA, + author = {Omidshafiei, Shayegan and Agha-Mohammadi, Ali-Akbar and Amato, Christopher and How, Jonathan P}, + booktitle = {Robotics and Automation (ICRA), 2015 IEEE International Conference on}, + organization = {IEEE}, + pages = {5962--5969}, + title = {Decentralized control of partially observable Markov decision processes using belief space macro-actions}, + year = {2015} +} + +@inproceedings{Omidshafiei15_Infotech, + author = {Shayegan Omidshafiei and Ali-akbar Agha-mohammadi and Yu Fan Chen and N. Kemal Ure and Jonathan How and John Vian and Rajeev Surati}, + booktitle = {AIAA Infotech@Aerospace Conference}, + title = {{MAR-CPS: Measurable Augmented Reality for Prototyping Cyber-Physical Systems}}, + year = {2015} +} + +@mastersthesis{Omidshafiei15_Masters, + author = {Shayegan Omidshafiei}, + month = {August}, + school = {Massachusetts Institute of Technology}, + title = {Decentralized Control of Multi-Robot Systems using Partially Observable Markov Decision Processes and Belief Space Macro-actions}, + year = {2015} +} + +@article{Omidshafiei16_CSM, + author = {Omidshafiei, Shayegan and Agha-Mohammadi, Ali-Akbar and Chen, Yu Fan and Ure, Nazim Kemal and Liu, Shih-Yuan and Lopez, Brett T and Surati, Rajeev and How, Jonathan P and Vian, John}, + journal = {IEEE Control Systems}, + number = {6}, + pages = {65--87}, + publisher = {IEEE}, + title = {Measurable augmented reality for prototyping cyberphysical systems: A robotics platform to aid the hardware prototyping and performance testing of algorithms}, + volume = {36}, + year = {2016} +} + +@techreport{Omidshafiei16_HBNIarxiv, + author = {Shayegan Omidshafiei and Brett T. Lopez and Jonathan P. How and John Vian}, + note = {\url{http://arxiv.org/abs/1605.01042}}, + title = {Hierarchical Bayesian Noise Inference for Robust Real-time Probabilistic Object Classification}, + year = {2016} +} + +@inproceedings{Omidshafiei16_ICRA, + author = {Omidshafiei, Shayegan and Agha-Mohammadi, Ali-Akbar and Amato, Christopher and Liu, Shih-Yuan and How, Jonathan P and Vian, John}, + booktitle = {2016 IEEE International Conference on Robotics and Automation (ICRA)}, + date-modified = {2017-06-19 00:17:36 +0000}, + organization = {IEEE}, + pages = {5395--5402}, + title = {{Graph-based Cross Entropy method for solving multi-robot decentralized POMDPs}}, + year = {2016} +} + +@article{Omidshafiei16_IJRR, + author = {Omidshafiei, Shayegan and Agha-Mohammadi, Ali-Akbar and Amato, Christopher and Liu, Shih-Yuan and How, Jonathan P.}, + bdsk-url-1 = {https://doi.org/10.1177/0278364917692864}, + date-added = {2016-06-03 14:22:31 +0000}, + date-modified = {2018-04-01 18:03:10 +0000}, + journal = {International Journal of Robotics Research}, + number = {2}, + pages = {231--258}, + publisher = {SAGE Publications Sage UK: London, England}, + title = {{Decentralized Control of Multi-Robot Partially Observable Markov Decision Processes using Belief Space Macro-actions}}, + url = {https://doi.org/10.1177/0278364917692864}, + volume = {36}, + year = {2017} +} + +@inproceedings{Omidshafiei16_Infotech, + author = {Shayegan Omidshafiei and Ali-akbar Agha-mohammadi and Christopher Amato and Shih-Yuan Liu and Jonathan How and John Vian}, + booktitle = {AIAA Infotech@Aerospace Conference}, + title = {{Health-Aware Multi-UAV Planning using Decentralized Partially Observable Semi-Markov Decision Processes}}, + year = {2016} +} + +@inproceedings{Omidshafiei17_continuous_ICRA, + author = {Omidshafiei, Shayegan and Amato, Christopher and Liu, Miao and Everett, Michael and How, Jonathan P and Vian, John}, + booktitle = {Robotics and Automation (ICRA), 2017 IEEE International Conference on}, + organization = {IEEE}, + pages = {863--870}, + title = {Scalable accelerated decentralized multi-robot policy search in continuous observation spaces}, + year = {2017} +} + +@inproceedings{Omidshafiei17_ICML, + author = {Omidshafiei, Shayegan and Pazis, Jason and Amato, Christopher and How, Jonathan P and Vian, John}, + booktitle = {International Conference on Machine Learning (ICML)}, + title = {Deep Decentralized Multi-task Multi-Agent Reinforcement Learning under Partial Observability}, + year = {2017} +} + +@inproceedings{Omidshafiei17_macobs_ICRA, + author = {Omidshafiei, Shayegan and Liu, Shih-Yuan and Everett, Michael and Lopez, Brett T and Amato, Christopher and Liu, Miao and How, Jonathan P and Vian, John}, + booktitle = {Robotics and Automation (ICRA), 2017 IEEE International Conference on}, + organization = {IEEE}, + pages = {871--878}, + title = {Semantic-level decentralized multi-robot decision-making using probabilistic macro-observations}, + year = {2017} +} + +@inproceedings{Omidshafiei17_NIPS_DRL, + author = {Omidshafiei, Shayegan and Kim, Dong-Ki and Pazis, Jason and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/pdf/1711.10314.pdf}, + booktitle = {NIPS 2017 Deep Reinforcement Learning Symposium}, + title = {Crossmodal Attentive Skill Learner}, + url = {https://arxiv.org/pdf/1711.10314.pdf}, + year = {2017} +} + +@inproceedings{Omidshafiei18_AAMAS, + author = {Omidshafiei, Shayegan and Kim, Dong-Ki and Pazis, Jason and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/pdf/1711.10314.pdf}, + booktitle = {International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS)}, + title = {Crossmodal Attentive Skill Learner}, + url = {https://arxiv.org/pdf/1711.10314.pdf}, + year = {2018} +} + +@article{Omidshafiei18_JAAMAS, + author = {Omidshafiei, Shayegan and Kim, Dong-Ki and Pazis, Jason and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/pdf/1711.10314.pdf}, + date-added = {2019-04-15 09:08:52 -0400}, + date-modified = {2020-08-16 14:01:51 -0400}, + journal = {Autonomous Agents and Multi-Agent Systems (JAAMAS).}, + month = {January}, + number = {16}, + title = {Crossmodal Attentive Skill Learner}, + volume = {34}, + year = {2020} +} + +@inproceedings{Omidshafiei18_LLARLA, + author = {Omidshafiei, Shayegan and Kim, Dong-Ki and Liu, Miao and Tesauro, Gerald and Riemer, Matthew and Amato, Christopher and Campbell, Murray and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/pdf/1805.07830.pdf}, + booktitle = {Lifelong Learning: A Reinforcement Learning Approach Workshop at the Federated Artificial Intelligence Meeting (FAIM)}, + title = {Learning to Teach in Cooperative Multiagent Reinforcement Learning}, + url = {https://arxiv.org/pdf/1805.07830.pdf}, + year = {2018} +} + +@inproceedings{Omidshafiei18_NIPS, + author = {Omidshafiei, Shayegan and Kim, Dong-Ki and Liu, Miao and Tesauro, Gerald and Riemer, Matthew and Amato, Christopher and Campbell, Murray and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/pdf/1805.07830.pdf}, + booktitle = {Advances in Neural Information Processing Systems (submitted)}, + title = {Learning to Teach in Cooperative Multiagent Reinforcement Learning}, + url = {https://arxiv.org/pdf/1805.07830.pdf}, + year = {2018} +} + +@phdthesis{Omidshafiei18_phd, + author = {Shayegan Omidshafiei}, + bdsk-url-1 = {http://www.mit.edu/~shayegan/files/omidshafiei_phd_thesis.pdf}, + date-added = {2018-11-06 15:12:24 -0500}, + date-modified = {2018-11-06 15:13:07 -0500}, + school = {Massachusetts Institute of Technology}, + title = {Decentralized Teaching and Learning in Cooperative Multiagent Systems}, + url = {http://www.mit.edu/~shayegan/files/omidshafiei_phd_thesis.pdf}, + year = {2018} +} + +@inproceedings{Omidshafiei19_AAAI, + author = {Omidshafiei, Shayegan and Kim, Dong-Ki and Liu, Miao and Tesauro, Gerald and Riemer, Matthew and Amato, Christopher and Campbell, Murray and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/pdf/1805.07830.pdf}, + booktitle = {Association for the Advancement of Artificial Intelligence (AAAI)}, + title = {Learning to Teach in Cooperative Multiagent Reinforcement Learning}, + url = {https://arxiv.org/pdf/1805.07830.pdf}, + year = {2018} +} + +@article{papalia2023certifiably, + author = {Papalia, Alan and Fishberg, Andrew and O'Neill, Brendan W and How, Jonathan P and Rosen, David M and Leonard, John J}, + journal = {arXiv preprint arXiv:2302.11614}, + title = {Certifiably Correct Range-Aided SLAM}, + year = {2023} +} + +@article{papalia2024certifiably, + author = {Papalia, Alan and Fishberg, Andrew and O'Neill, Brendan W and How, Jonathan P and Rosen, David M and Leonard, John J}, + journal = {IEEE Transactions on Robotics}, + publisher = {IEEE}, + title = {Certifiably correct range-aided SLAM}, + year = {2024} +} + +@phdthesis{Pare00_PhD, + address = {Cambridge MA}, + author = {Thomas Pare}, + bdsk-url-1 = {http://acl.mit.edu/papers/Pare_PhD.pdf}, + keywords = {nonlinear control}, + month = {November}, + school = {Stanford University, Department of Mechanical Engineering}, + title = {Passivity Based Analysis and Control of Nonlinear Systems}, + url = {http://acl.mit.edu/papers/Pare_PhD.pdf}, + year = {2000} +} + +@article{Pare01_IJC, + author = {T. Pare and A. Hassibi and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/p1140_s.pdf}, + journal = {{International Journal of Control}}, + keywords = {nonlinear control}, + month = {February}, + number = {11}, + pages = {1140-1157}, + title = {{A KYP lemma and invariance principle for systems with multiple hysteresis non-linearities}}, + url = {http://acl.mit.edu/papers/p1140_s.pdf}, + volume = {74}, + year = {2001} +} + +@conference{Pare98_ACC, + author = {Pare, T. E. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/hyster.pdf}, + bdsk-url-online-1 = {10.1109/ACC.1998.707353}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + keywords = {Nyquist criterion; control nonlinearities; control system analysis; control system synthesis; hysteresis; matrix algebra; robust control; uncertain systems; LMI; Nyquist test; SISO system; hysteresis nonlinearities; linear matrix inequality; memoryless sector-bounded nonlinearities; performance analysis; robust performance test; robust stability; uncertainties}, + month = {21-26 June}, + pages = {1904-1908}, + title = {Robust stability and performance analysis of systems with hysteresis nonlinearities}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/hyster.pdf}, + url-online = {10.1109/ACC.1998.707353}, + vo = {3}, + volume = {3}, + year = {1998} +} + +@conference{Pare98_CDC, + author = {Pare, T. E. and Hindi, H. and How, J. P. and Boyd, S. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/cdc98_tp.pdf}, + bdsk-url-online-1 = {10.1109/CDC.1998.758615}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + keywords = {actuators; control system synthesis; matrix algebra; nonlinear control systems; optimal control; stability criteria; LMI; controller synthesis; input saturation; limited control; output feedback design; partial state information; saturating actuators; stability region synthesis; state space attraction regions}, + month = {16-18 December}, + pages = {1981-1982}, + title = {Synthesizing stability regions for systems with saturating actuators}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/cdc98_tp.pdf}, + url-online = {10.1109/CDC.1998.758615}, + vo = {2}, + volume = {2}, + year = {1998} +} + +@conference{Pare98_CDC_robust, + author = {Pare, T. E. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/cdc98_tp2.pdf}, + bdsk-url-online-1 = {10.1109/CDC.1998.761933}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 11:17:55 -0400}, + keywords = {robust control}, + month = {16-18 December}, + pages = {4057-4062}, + title = {Robust $\mathcal{H}_{\infty}$ controller design for systems with hysteresis nonlinearities}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/cdc98_tp2.pdf}, + url-online = {10.1109/CDC.1998.761933}, + vo = {4}, + volume = {4}, + year = {1998} +} + +@inproceedings{Pare99_ACC, + author = {Pare, T. and Hassibi, A. and How, J.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/ACC.1999.782319}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/ACC.1999.782319}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + doi = {10.1109/ACC.1999.782319}, + keywords = {nonlinear control}, + month = {2-4 June}, + owner = {Jonathan P. How}, + pages = {3038-3043}, + timestamp = {2008.02.23}, + title = {Asymptotic stability for systems with multiple hysteresis nonlinearities}, + url = {http://dx.doi.org/10.1109/ACC.1999.782319}, + volume = {5}, + year = {1999} +} + +@inproceedings{Pare99_ACC_local, + author = {Pare, T. and Hindi, H. and How, J. and Banjerdpongchai, D.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/ACC.1999.782357}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/ACC.1999.782357}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + doi = {10.1109/ACC.1999.782357}, + keywords = {nonlinear control}, + month = {2-4 June}, + owner = {Jonathan P. How}, + pages = {3211-3215}, + timestamp = {2008.02.23}, + title = {Local control design for systems with saturating actuators using the Popov criteria}, + url = {http://dx.doi.org/10.1109/ACC.1999.782357}, + volume = {5}, + year = {1999} +} + +@conference{Pare99_CDC, + author = {Pare, T. E. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/cdc99_tp3.pdf}, + bdsk-url-online-1 = {10.1109/CDC.1999.830905}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 11:18:22 -0400}, + keywords = {robust control}, + pages = {1863-1868}, + title = {Algorithms for reduced order robust $\mathcal{H}_{\infty}$ control design}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/cdc99_tp3.pdf}, + url-online = {10.1109/CDC.1999.830905}, + vo = {2}, + volume = {2}, + year = {1999} +} + +@article{Pare99_JSV, + author = {Pare, T. E. and How, J. P.}, + date-added = {2011-07-08 07:34:43 -0400}, + date-modified = {2011-07-08 07:35:34 -0400}, + journal = {Journal of sound and vibration}, + keywords = {robust control}, + number = {1}, + pages = {25--39}, + publisher = {Elsevier}, + title = {Hybrid $\mathcal{H}_2$ Control Design for Vibration Isolation}, + volume = {226}, + year = {1999} +} + +@inproceedings{paris2021autonomous, + author = {Paris, Aleix and Tagliabue, Andrea and How, Jonathan P}, + booktitle = {AIAA Scitech 2021 Forum}, + pages = {0378}, + title = {Autonomous MAV Landing on a Moving Platform with Estimation of Unknown Turbulent Wind Conditions}, + year = {2021} +} + +@inproceedings{Park01_INGPS, + author = {Park, C. W. and Ferguson, P. and Pohlman, N. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ION2001F4_PARK.pdf}, + booktitle = {Proceedings of Institute of Navigation GPS Conference}, + keywords = {formation flight}, + month = {September}, + organization = {Citeseer}, + title = {Decentralized relative navigation for formation flying spacecraft using augmented CDGPS}, + url = {http://acl.mit.edu/papers/ION2001F4_PARK.pdf}, + year = {2001} +} + +@phdthesis{Park01_PhD, + address = {Cambridge MA}, + author = {Chan-Woo Park}, + bdsk-url-1 = {http://acl.mit.edu/papers/Park_PhD.pdf}, + keywords = {GPS}, + month = {June}, + school = {Stanford University, Department of Mechanical Engineering}, + title = {Precise Relative Navigation using Augmented {CDGPS}}, + url = {http://acl.mit.edu/papers/Park_PhD.pdf}, + year = {2001} +} + +@article{Park02_JIN, + author = {Park, C. W. and How, J. P. and Capots, L.}, + bdsk-url-1 = {https://www.ion.org/publications/abstract.cfm?articleID=102322}, + journal = {Journal of the Institute of Navigation}, + keywords = {formation flight}, + number = {1}, + pages = {45-60}, + publisher = {Institute of Navigation}, + title = {Sensing technologies for formation-flying spacecraft in LEO using CDGPS and an interspacecraft communications system}, + url = {https://www.ion.org/publications/abstract.cfm?articleID=102322}, + volume = {49}, + year = {2002} +} + +@conference{Park04_GNC, + address = {Providence, RI}, + author = {Park, S. and Deyst, J. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/gnc_park_deyst_how.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:53:52 -0400}, + date-modified = {2011-04-18 10:11:35 -0400}, + keywords = {trajectory optimization}, + month = {August}, + title = {{A new nonlinear guidance logic for trajectory tracking}}, + url = {http://acl.mit.edu/papers/gnc_park_deyst_how.pdf}, + year = {2004} +} + +@article{Park07_JGCD, + author = {S. Park and J. Deyst and J. P. How}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:43 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {UAV, nonlinear control}, + month = {November-December}, + number = {6}, + owner = {Brandon}, + pages = {1718-1728}, + timestamp = {2008.11.25}, + title = {Performance and {Lyapunov} Stability of a Nonlinear Path-Following Guidance Method}, + volume = {30}, + year = {2007} +} + +@conference{Park09_GNC, + address = {Chicago, IL}, + author = {Park, S. and Choi, H.-L. and Roy, N. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC09_Learning.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:53:52 -0400}, + date-modified = {2011-04-18 10:11:35 -0400}, + keywords = {path planning}, + month = {August}, + title = {{Learning covariance dynamics for path planning of UAV sensors in a large-scale dynamic environment}}, + url = {http://acl.mit.edu/papers/GNC09_Learning.pdf}, + year = {2009} +} + +@article{Park10_IJASS, + author = {Park, S. and Choi, H. L. and Roy, N. and How, J. P.}, + date-added = {2011-07-08 14:51:24 -0400}, + date-modified = {2011-07-08 14:52:52 -0400}, + journal = {International Journal of Aeronautical \& Space Sciences}, + keywords = {decision making}, + number = {4}, + pages = {326--337}, + title = {Learning the Covariance Dynamics of a Large-Scale Environment for Informative Path Planning of Unmanned Aerial Vehicle Sensors}, + volume = {11}, + year = {2010} +} + +@conference{Pazis16_NIPS, + author = {Jason Pazis and Ronald Parr and Jonathan How}, + booktitle = {{Neural Information Processing Systems (NIPS) }}, + date-added = {2017-05-31 16:11:02 +0000}, + date-modified = {2017-05-31 16:47:56 +0000}, + title = {{Improving PAC Exploration Using the Median Of Means}}, + year = {2016} +} + +@conference{Pazis17_NIPS, + author = {Jason Pazis and Ronald Parr and Jonathan P How}, + booktitle = {{Neural Information Processing Systems (NIPS) }}, + date-added = {2017-05-31 16:13:46 +0000}, + date-modified = {2017-05-31 16:14:52 +0000}, + title = {{Sample Efficient PAC Reinforcement Learning in MDPs via Inter and Intra-task Knowledge Transfer}}, + year = {2017 (submitted)} +} + +@inproceedings{Perea07_GNC, + author = {Perea, L. and How, J. and Breger, L. and Elosegui, P.}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-07-08 13:09:41 -0400}, + date-modified = {2011-07-09 19:45:00 -0400}, + month = {Aug}, + title = {Nonlinearity in sensor fusion: {Divergence issues in EKF, modified truncated SOF, and UKF}}, + year = {2007} +} + +@inproceedings{peterson2023motlee, + author = {Peterson, Mason B and Lusk, Parker C and How, Jonathan P}, + booktitle = {2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + organization = {IEEE}, + pages = {719--726}, + title = {MOTLEE: Distributed mobile multi-object tracking with localization error elimination}, + year = {2023} +} + +@article{peterson2024motlee, + author = {Peterson, Mason B and Lusk, Parker C and Avila, Antonio and How, Jonathan P}, + journal = {arXiv preprint arXiv:2405.05210}, + title = {MOTLEE: Collaborative Multi-Object Tracking Using Temporal Consistency for Neighboring Robot Frame Alignment}, + year = {2024} +} + +@inproceedings{peterson2025roman, + author = {Peterson, Mason B and Jia, Yi Xuan and Tian, Yulun and Thomas, Annika and How, Jonathan P}, + booktitle = {Robotics: Science and Systems (RSS)}, + pdf = {https://www.roboticsproceedings.org/rss21/p029.pdf}, + title = {{ROMAN: Open-Set Object Map Alignment for Robust View-Invariant Global Localization}}, + year = {2025} +} + +@inproceedings{peterson2025tcaff, + author = {Peterson, Mason B and Lusk, Parker C and Avila, Antonio and How, Jonathan P}, + booktitle = {2025 IEEE International Conference on Robotics and Automation (ICRA)}, + organization = {IEEE}, + pages = {15821--15827}, + title = {{TCAFF: Temporal Consistency for Robot Frame Alignment}}, + year = {2025} +} + +@article{peterson2026meridianmetricsemanticprimitivematching, + title={Meridian: Metric-Semantic Primitive Matching for Cross-View Geo-Localization Beyond Urban Environments}, + author={Mason Peterson and Qingyuan Li and Yixuan Jia and Fernando Cladera and Carlos Nieto-Granda and Camillo Jose Taylor and Jonathan P. How}, + year={2026}, + journal = {arXiv preprint arXiv:2606.06312} +} + +@mastersthesis{Pohlman02_Masters, + address = {Cambridge MA}, + author = {Nicholas Pohlman}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/racing/nhis/}, + bdsk-url-2 = {http://www.mit.edu/people/jhow/papers/Pohlmanthesis.pdf}, + date-modified = {2011-07-12 16:58:31 -0400}, + keywords = {GPS}, + month = {August}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Estimation and Control of a Multi-Vehicle Testbed Using GPS Doppler Sensing}}, + url = {http://www.mit.edu/people/jhow/papers/Pohlmanthesis.pdf}, + year = {2002} +} + +@mastersthesis{Ponda08_Masters, + address = {Cambridge MA}, + author = {Sameera S. Ponda}, + bdsk-url-1 = {https://dspace.mit.edu/handle/1721.1/47794}, + keywords = {estimation and tracking}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Trajectory Optimization for Target Localization Using Small Unmanned Aerial Vehicles}, + url = {https://dspace.mit.edu/handle/1721.1/47794}, + year = {2008} +} + +@conference{Ponda09_GNC, + address = {Chicago, IL}, + author = {Sameera S. Ponda and Richard M. Kolacinski and Emilio Frazzoli}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAA-2009-6015_Ponda.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-07-05 10:28:16 -0400}, + date-modified = {2011-07-05 10:28:16 -0400}, + keywords = {trajectory optimization; estimation}, + month = {August}, + title = {{Trajectory Optimization for Target Localization Using Small Unmanned Aerial Vehicles}}, + url = {http://acl.mit.edu/papers/AIAA-2009-6015_Ponda.pdf}, + year = {2009} +} + +@inproceedings{Ponda10_ACC, + address = {Baltimore, MD}, + author = {Sameera S. Ponda and Joshua Redding and Han-Lim Choi and Jonathan P. How and Matt A. Vavrina and John Vian}, + bdsk-url-1 = {http://acl.mit.edu/papers/CBBA_TW_ACC2010.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2010-07-23 20:31:53 -0400}, + date-modified = {2010-07-26 15:34:10 -0400}, + keywords = {task allocation; CBBA}, + month = {July}, + title = {Decentralized Planning for Complex Missions with Dynamic Communication Constraints}, + url = {http://acl.mit.edu/papers/CBBA_TW_ACC2010.pdf}, + year = {2010} +} + +@inproceedings{Ponda10_Globecom, + address = {Miami, FL}, + author = {Sameera S. Ponda and Olivier Huber and Han-Lim Choi and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Ponda_GlobeComm2010_CBBAwRelays.pdf}, + booktitle = {{IEEE} GLOBECOM Workshops (GC Wkshps)}, + date-added = {2011-04-18 10:10:48 -0400}, + date-modified = {2011-04-18 10:10:48 -0400}, + keywords = {task allocation; CBBA}, + month = {December}, + pages = {1756-1759}, + title = {Avoid Communication Outages in Decentralized Planning}, + url = {http://acl.mit.edu/papers/Ponda_GlobeComm2010_CBBAwRelays.pdf}, + year = {2010} +} + +@inproceedings{Ponda10_Infotech, + author = {Sameera S. Ponda and Han-Lim Choi and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/PondaInfotech2010.pdf}, + booktitle = {AIAA Infotech@Aerospace Conference}, + date-added = {2011-04-02 08:36:26 -0400}, + date-modified = {2011-04-02 08:36:26 -0400}, + keywords = {task allocation; CBBA}, + month = {April}, + title = {Predictive planning for heterogeneous human-robot teams}, + url = {http://acl.mit.edu/papers/PondaInfotech2010.pdf}, + year = {2010} +} + +@inproceedings{Ponda11_GNC, + address = {Portland, OR}, + author = {Sameera S. Ponda and Nisar Ahmed and Brandon Luders and Eric Sample and Tauhira Hoossainy and Danelle Shah and Mark Campbell and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC11_MITCornell_submitted_073111.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {path planning; task allocation; CBBA; RRT}, + month = {August}, + note = {(AIAA-2011-6238)}, + title = {Decentralized Information-Rich Planning and Hybrid Sensor Fusion for Uncertainty Reduction in Human-Robot Missions}, + url = {http://acl.mit.edu/papers/GNC11_MITCornell_submitted_073111.pdf}, + year = {2011} +} + +@inproceedings{Ponda11_Infotech, + address = {St. Louis, MO}, + author = {Sameera S. Ponda and Luke B. Johnson and Han-Lim Choi and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Infotech2011_CBBAwRelays_submitted_040811.pdf}, + booktitle = {Proceedings of the AIAA Infotech@Aerospace Conference}, + date-added = {2011-04-18 10:10:48 -0400}, + date-modified = {2011-05-29 09:12:51 -0400}, + keywords = {task allocation; CBBA}, + month = {March}, + owner = {Sam}, + timestamp = {2011.02.27}, + title = {Ensuring Network Connectivity for Decentralized Planning in Dynamic Environments}, + url = {http://acl.mit.edu/papers/Infotech2011_CBBAwRelays_submitted_040811.pdf}, + year = {2011} +} + +@inproceedings{Ponda12_ACC, + author = {Sameera S. Ponda and Luke B. Johnson and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC2012_ChanceConstrainedCBBA_final_submitted.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2012-01-13 12:05:00 -0500}, + date-modified = {2012-02-27 11:30:20 -0500}, + keywords = {task allocation; CBBA}, + month = {June}, + title = {Distributed Chance-Constrained Task Allocation for Autonomous Multi-Agent Teams}, + url = {http://acl.mit.edu/papers/ACC2012_ChanceConstrainedCBBA_final_submitted.pdf}, + year = {2012} +} + +@article{Ponda12_JSAC, + author = {Ponda, S. S. and Johnson, L. B. and Kopeikin, A. N. and Choi, H. and How, J. P.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/JSAC.2012.120603}, + journal = {IEEE Journal on Selected Areas in Communications}, + keywords = {task allocation; CBBA}, + month = {June}, + number = {5}, + pages = {861 -869}, + title = {Distributed Planning Strategies to Ensure Network Connectivity for Dynamic Heterogeneous Teams}, + url = {http://dx.doi.org/10.1109/JSAC.2012.120603}, + volume = {30}, + year = {2012} +} + +@phdthesis{Ponda12_PhD, + author = {Sameera S. Ponda}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Robust Distributed Planning Strategies for Autonomous Multi-Agent Teams}}, + year = {2012} +} + +@inbook{Ponda12_UAVHandbook, + author = {Sameera S. Ponda and Luke B. Johnson and Alborz Geramifard and Jonathan P. How}, + chapter = {{Cooperative Mission Planning for Multi-UAV Teams}}, + keywords = {task allocation; CBBA}, + publisher = {Springer}, + title = {{Handbook of Unmanned Aerial Vehicles}}, + year = {2012} +} + +@inproceedings{Ponda13_ACC, + author = {Sameera S. Ponda and Luke B. Johnson and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC2013_DistributedRisk_submitted_092412.pdf}, + booktitle = {American Control Conference (ACC)}, + date-modified = {2013-05-08 19:11:58 +0000}, + keywords = {task allocation; CBBA}, + month = {June}, + title = {Risk Allocation Strategies for Distributed Chance-Constrained Task Allocation}, + url = {http://acl.mit.edu/papers/ACC2013_DistributedRisk_submitted_092412.pdf}, + year = {2013} +} + +@inproceedings{Prigge00_ICRA, + author = {Prigge, E. and How, J.}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2011-07-07 21:09:46 -0400}, + date-modified = {2011-07-07 21:10:26 -0400}, + organization = {IEEE}, + pages = {1015--1022}, + title = {An indoor absolute positioning system with no line of sight restrictions and building-wide coverage}, + volume = {2}, + year = {2000} +} + +@article{Prigge04, + author = {Prigge, E. A. and How, J. P.}, + bdsk-url-online-1 = {10.1109/JSEN.2004.833512}, + booktitle = {Sensors Journal, IEEE}, + date-added = {2011-04-02 08:26:03 -0400}, + date-modified = {2011-07-08 11:21:40 -0400}, + isbn = {1530-437X}, + journal = {IEEE Sensors Journal}, + keywords = {GPS}, + month = {December}, + number = {6}, + pages = {864-873}, + title = {Signal architecture for a distributed magnetic local positioning system}, + ty = {JOUR}, + url-online = {10.1109/JSEN.2004.833512}, + vo = {4}, + volume = {4}, + year = {2004} +} + +@phdthesis{Prigge04_PhD, + address = {Cambridge MA}, + author = {Eric A. Prigge}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Prigge_thesis_draft.pdf}, + keywords = {trajectory optimization}, + month = {August}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {A Positioning System with No Line-of-sight Restrictions For Cluttered Environments}, + url = {http://www.mit.edu/people/jhow/papers/Prigge_thesis_draft.pdf}, + year = {2004} +} + +@article{queeney2026gram, + author={Queeney, James and Cai, Xiaoyi and Schperberg, Alexander and Corcodel, Radu and Benosman, Mouhacine and How, Jonathan P.}, + journal={IEEE Robotics and Automation Letters}, + title={{GRAM}: Generalization in Deep {RL} with a Robust Adaptation Module}, + year={2026}, + volume={11}, + number={2}, + pages={2218--2225} +} + +@inproceedings{Quindlen13_Info, + author = {John Quindlen and Jonathan How and Girish Chowdhary and Nhan Nguyen and Tansel Yucelen}, + booktitle = {AIAA Infotech Conference}, + owner = {JackQ}, + publisher = {American Institute of Aeronautics and Astronautics}, + timestamp = {2014.02.26}, + title = {Concurrent Learning Adaptive Control of the Aeroelastic Generic Transport Model}, + year = {2013} +} + +@inproceedings{Quindlen15_ACC, + author = {John F. Quindlen and Girish Chowdhary and Jonathan P. How}, + booktitle = {American Control Conference}, + title = {{Hybrid Model Reference Adaptive Control for Unmatched Uncertainties}}, + year = {2015} +} + +@inproceedings{Quindlen15_GNC, + author = {John F. Quindlen and Girish Chowdhary and Jonathan P. How}, + booktitle = {AIAA Guidance, Navigation, and Control Conference}, + title = {{Output Feedback Concurrent Learning Model Reference Adaptive Control}}, + year = {2015} +} + +@inproceedings{Quindlen16_ACC, + author = {John F. Quindlen and Ufuk Topcu and Girish Chowdhary and Jonathan P. How}, + booktitle = {American Control Conference}, + title = {{Region-of-Convergence Estimation for Learning-Based Adaptive Controllers}}, + year = {2016} +} + +@inproceedings{Quindlen17_GNC, + author = {John F. Quindlen and Jonathan P. How}, + booktitle = {AIAA SciTech Conference}, + title = {{Machine Learning for Efficient Sampling-based Algorithms in Robust Multi-Agent Planning under Uncertainty}}, + year = {2017} +} + +@inproceedings{Quindlen18_GNC, + author = {John F. Quindlen and Ufuk Topcu and Girish Chowdhary and Jonathan P. How}, + bdsk-url-1 = {http://arxiv.org/abs/1706.04268}, + bibsource = {dblp computer science bibliography, http://dblp.org}, + biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/QuindlenTCH17a}, + booktitle = {AIAA Guidance, Navigation, and Control Conference}, + journal = {CoRR}, + timestamp = {Mon, 03 Jul 2017 13:29:02 +0200}, + title = {Active Sampling-based Binary Verification of Dynamical Systems}, + url = {http://arxiv.org/abs/1706.04268}, + year = {2018} +} + +@misc{rechargevideo, + author = {{T. Toksoz and N. K. Ure and G. Chowdhary and A. Geramifard and J. P. How}}, + date-modified = {2014-12-21 17:41:09 +0000}, + howpublished = {Available at http://acl.mit.edu/projects/recharge.htm}, + title = {3 Hours Persistent Search and Track Mission with Autonomous Recharge Station}, + year = {2012} +} + +@conference{RedAAAI10, + author = {J. Redding and A. Geramifard and J. P. How}, + bdsk-url-1 = {http://www.aaai.org/ocs/index.php/SSS/SSS10/paper/view/1190}, + booktitle = {AAAI Spring Symposium Series}, + date-added = {2011-04-18 09:45:10 -0400}, + date-modified = {2011-04-18 09:45:10 -0400}, + keywords = {decision making}, + title = {Actor-Critic Policy Learning in Cooperative Planning}, + url = {http://www.aaai.org/ocs/index.php/SSS/SSS10/paper/view/1190}, + year = {2010} +} + +@inproceedings{Redding09_Infotech, + author = {J. Redding and B. Bethke and L. Bertuccelli and J. How}, + booktitle = {AIAA Infotech@Aerospace Conference}, + date-added = {2011-04-02 08:46:02 -0400}, + date-modified = {2011-11-24 20:08:35 -0500}, + keywords = {decision making}, + month = {April}, + title = {Active Learning in Persistent Surveillance UAV Missions}, + year = {2009} +} + +@inproceedings{Redding10_ACC, + address = {Baltimore, MD}, + author = {J. Redding and A. Geramifard and A. Undurti and H. Choi and J. How}, + bdsk-url-1 = {http://people.csail.mit.edu/agf/Files/10ACC-iCCA.pdf}, + booktitle = {American Control Conference (ACC)}, + date-modified = {2011-04-18 09:42:18 -0400}, + keywords = {decision making}, + month = {July}, + pages = {57-62}, + title = {An Intelligent Cooperative Control Architecture}, + year = {2010} +} + +@conference{Redding10_GNC, + author = {J. Redding and A. Geramifard and H.-L. Choi and J. P. How}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-18 09:44:45 -0400}, + date-modified = {2011-04-18 09:44:45 -0400}, + keywords = {decision making}, + month = {August}, + note = {(AIAA-2010-7586)}, + title = {{Actor-Critic Policy Learning in Cooperative Planning}}, + year = {2010} +} + +@inproceedings{Redding11_ACC, + author = {J. Redding and Z. Dydek and J. P. How and M. Vavrina and J. Vian}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:36:26 -0400}, + date-modified = {2011-08-24 16:19:43 -0400}, + keywords = {decision making, adaptive control}, + month = {June}, + pages = {2332--2337}, + title = {Proactive Planning for Persistent Missions using Composite Model-Reference Adaptive Control and Approximate Dynamic Programming}, + year = {2011} +} + +@inproceedings{Redding11_GNC, + author = {J. D. Redding and T. Toksoz and N. Kemal Ure and A. Geramifard and J. P. How and M. Vavrina and J. Vian}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-05-29 08:37:29 -0400}, + date-modified = {2011-08-22 16:30:46 -0400}, + keywords = {decision making}, + month = {August}, + note = {(AIAA-2011-6480)}, + title = {Persistent Distributed Multi-Agent Missions with Automated Battery Management}, + year = {2011} +} + +@inproceedings{Redding12_ACC, + author = {J. D. Redding and N. Kemal Ure and J. P. How and M. Vavrina and J. Vian}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-12-6 15:37:29 -0400}, + date-modified = {2012-02-27 11:25:54 -0500}, + keywords = {decision making}, + month = {June}, + title = {{Scalable, MDP-based Planning for Multiple, Cooperating Agents}}, + year = {2012} +} + +@phdthesis{Redding12_PhD, + address = {Cambridge MA}, + author = {Joshua D. Redding}, + date-modified = {2012-02-29 20:11:11 -0500}, + keywords = {Decision Systems}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Approximate Multi-Agent Planning in Dynamic and Uncertain Environments}, + year = {2012} +} + +@inproceedings{Richards01_GNC, + address = {Montreal, Canada}, + author = {A. Richards and J. P. How and T. Schouwenaars and E. Feron}, + bdsk-url-1 = {http://acl.mit.edu/gnc01.html}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + keywords = {MILP, Space}, + month = {August}, + note = {AIAA Paper 2001-4091}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Plume Avoidance Maneuver Planning Using Mixed Integer Linear Programming}, + url = {http://acl.mit.edu/gnc01.html}, + year = {2001} +} + +@conference{Richards02_ACC, + author = {Richards, A. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/acc02_1.html}, + bdsk-url-online-1 = {10.1109/ACC.2002.1023918}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + isbn = {0743-1619}, + keywords = {aircraft control; collision avoidance; dynamics; integer programming; linear programming; aircraft dynamics; aircraft trajectory planning; approximate model; collision avoidance; mixed integer linear programming; multiple waypoint path-planning; trajectory optimization; MILP}, + pages = {1936-1941}, + title = {Aircraft trajectory planning with collision avoidance using mixed integer linear programming}, + ty = {CONF}, + url = {http://acl.mit.edu/acc02_1.html}, + url-online = {10.1109/ACC.2002.1023918}, + vo = {3}, + volume = {3}, + year = {2002} +} + +@inproceedings{Richards02_GNC, + address = {Monterey, CA}, + author = {A. Richards and J. Bellingham and M. Tillerson and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/2002_4588.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + keywords = {MILP, UAV, Task}, + month = {August}, + note = {AIAA Paper 2002-4588}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Coordination and Control of Multiple {UAV}s}, + url = {http://acl.mit.edu/papers/2002_4588.pdf}, + year = {2002} +} + +@article{Richards02_JGCD, + author = {A. Richards and T. Schouwenaars and J. P. How and E. Feron}, + bdsk-url-1 = {http://acl.mit.edu/jgcd01.html}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {MILP, Space}, + month = {July-August}, + number = {4}, + owner = {Brandon}, + pages = {755-764}, + timestamp = {2008.03.31}, + title = {Spacecraft Trajectory Planning with Avoidance Constraints Using Mixed-Integer Linear Programming}, + url = {http://acl.mit.edu/jgcd01.html}, + volume = {25}, + year = {2002} +} + +@mastersthesis{Richards02_Masters, + address = {Cambridge MA}, + author = {Arthur G. Richards}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/Richards_SM.pdf}, + keywords = {path planning; MILP}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Trajectory Optimization using Mixed-Integer Linear Programming}, + url = {http://www.mit.edu/people/jhow/Richards_SM.pdf}, + year = {2002} +} + +@conference{Richards03_ACC, + author = {Richards, A. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/acc20037.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2003.1240467}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + isbn = {0743-1619}, + keywords = {aircraft control; feedback; integer programming; linear programming; MILP; mobile robots; predictive control; remotely operated vehicles; space vehicles; stability; MPC; UAV; completion time; mixed-integer linear programming; model predictive control; nonconvex avoidance constraints; radial separation; robust feasibility; spacecraft rendezvous approach; steady-state conditions; trajectory optimization; unmanned aerial vehicles; vehicle maneuvers}, + month = {4-6 June}, + pages = {4034-4040 vol.5}, + title = {Model predictive control of vehicle maneuvers with guaranteed completion time and robust feasibility}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/acc20037.pdf}, + url-online = {10.1109/ACC.2003.1240467}, + vo = {5}, + volume = {5}, + year = {2003} +} + +@inproceedings{Richards03_GNC, + address = {Austin, TX}, + author = {A. Richards and Y. Kuwata and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAA-2003-5802.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + keywords = {MILP, UAV}, + month = {August}, + note = {AIAA Paper 2003-5635}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Experimental Demonstrations of Real-time {MILP} Control}, + url = {http://acl.mit.edu/papers/AIAA-2003-5802.pdf}, + year = {2003} +} + +@inproceedings{Richards03_GNC_MPC, + address = {Austin, TX}, + author = {A. Richards and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/2003_5507.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + keywords = {MILP, UAV, MPC}, + month = {August}, + title = {Performance Evaluation Of Rendezvous Using Model Predictive Control}, + url = {http://acl.mit.edu/papers/2003_5507.pdf}, + year = {2003} +} + +@inproceedings{Richards04_ACC, + address = {Boston, MA}, + author = {A. Richards and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/0761_FrA11.1.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + keywords = {RMPC, Decentralized, MPC, robust control}, + month = {30 June-2 July}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {A Decentralized Algorithm for Robust Constrained Model Predictive Control}, + url = {http://acl.mit.edu/papers/0761_FrA11.1.pdf}, + year = {2004} +} + +@inproceedings{Richards04_CDC, + address = {Paradise Island, Bahamas}, + author = {A. Richards and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/cdc04_1410_arthurr.pdf}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + keywords = {MILP, RMPC, Decentralized, UAV, MPC}, + month = {December}, + owner = {Brandon}, + pages = {4286-4291}, + timestamp = {2008.03.31}, + title = {Decentralized Model Predictive Control of Cooperating {UAV}s}, + url = {http://acl.mit.edu/papers/cdc04_1410_arthurr.pdf}, + year = {2004} +} + +@conference{Richards04_GNC, + address = {Providence, RI}, + author = {A. G. Richards and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAA-2004-5110.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {MPC; robust control}, + month = {August}, + title = {Analytical Performance Prediction for Robust Constrained Model Predictive Control}, + url = {http://acl.mit.edu/papers/AIAA-2004-5110.pdf}, + year = {2004} +} + +@inproceedings{Richards05_ACC, + address = {Portland, OR}, + author = {A. Richards and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/acc05_opfb.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + keywords = {RMPC; decision making; MPC; robust control}, + month = {June}, + owner = {Brandon}, + pages = {4034-4040}, + timestamp = {2008.03.31}, + title = {Robust Model Predictive Control with Imperfect Information}, + url = {http://acl.mit.edu/papers/acc05_opfb.pdf}, + year = {2005} +} + +@inproceedings{Richards05_ACC_MILP, + address = {Portland, OR}, + author = {Richards, A. and How, J.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/ACC.2005.1470372}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/ACC.2005.1470372}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + doi = {10.1109/ACC.2005.1470372}, + keywords = {MILP}, + month = {8-10 June}, + owner = {Jonathan P. How}, + pages = {2676-2683}, + timestamp = {2008.02.23}, + title = {Mixed-integer programming for control}, + url = {http://dx.doi.org/10.1109/ACC.2005.1470372}, + year = {2005} +} + +@inproceedings{Richards05_GNC, + address = {San Francisco, CA}, + author = {A. Richards and J. P. How}, + booktitle = {Proceedings of the AIAA Guidance, Navigation, and Control Conference}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2012-07-18 17:29:51 -0400}, + keywords = {MILP, RMPC, Decentralized; MPC}, + month = {August}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Implementation of Robust Decentralized Model Predictive Control}, + year = {2005} +} + +@phdthesis{Richards05_PhD, + address = {Cambridge MA}, + author = {Arthur G. Richards}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Richards_PhD.pdf}, + keywords = {MPC}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Robust Constrained Model Predictive Control}, + url = {http://www.mit.edu/people/jhow/papers/Richards_PhD.pdf}, + year = {2005} +} + +@inproceedings{Richards06_ACC, + address = {Minneapolis, MN}, + author = {A. G. Richards and J. P. How}, + booktitle = {Proceedings of the American Control Conference}, + date-added = {2011-04-02 08:26:37 -0400}, + date-modified = {2011-04-02 08:26:37 -0400}, + keywords = {RMPC; MPC; robust control}, + month = {June}, + owner = {Brandon}, + pages = {1557-1562}, + timestamp = {2008.03.31}, + title = {Robust Stable Model Predictive Control with Constraint Tightening}, + year = {2006} +} + +@article{Richards06_IJC, + author = {A. Richards and L. Breger and J. P. How}, + date-added = {2011-04-18 10:06:35 -0400}, + date-modified = {2011-04-18 10:06:35 -0400}, + journal = {{International Journal of Control}}, + keywords = {MILP, RMPC, MPC}, + month = {August}, + number = {8}, + pages = {877-894}, + title = {Analytical Performance Prediction for Robust Constrained Model Predictive Control}, + volume = {79}, + year = {2006} +} + +@article{Richards06_IJRNC, + author = {A. Richards and J. P. How}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + journal = {International Journal of Robust and Nonlinear Control}, + keywords = {MILP, RMPC, MPC}, + month = {February}, + owner = {Brandon}, + pages = {333-351}, + timestamp = {2008.03.31}, + title = {Robust Variable Horizon Model Predictive Control for Vehicle Maneuvering}, + volume = {16}, + year = {2006} +} + +@article{Richards07_IJC, + author = {A. Richards and J. P. How}, + date-added = {2011-04-18 09:48:09 -0400}, + date-modified = {2011-04-18 09:48:09 -0400}, + journal = {International Journal of Control}, + keywords = {MILP, RMPC, MPC}, + month = {Sept.}, + number = {9}, + owner = {Jonathan P. How}, + pages = {1517-1531}, + timestamp = {2008.07.19}, + title = {Robust Decentralized Model Predictive Control}, + volume = {80}, + year = {2007} +} + +@inproceedings{rober2022backward, + author = {Rober, Nicholas and Everett, Michael and How, Jonathan P}, + booktitle = {2022 IEEE 61st Conference on Decision and Control (CDC)}, + organization = {IEEE}, + pages = {2897--2904}, + title = {Backward reachability analysis for neural feedback loops}, + year = {2022} +} + +@article{rober2023backward, + author = {Rober, Nicholas and Katz, Sydney M and Sidrane, Chelsea and Yel, Esen and Everett, Michael and Kochenderfer, Mykel J and How, Jonathan P}, + journal = {IEEE Open Journal of Control Systems}, + publisher = {IEEE}, + title = {Backward reachability analysis of neural feedback loops: Techniques for linear and nonlinear systems}, + year = {2023} +} + +@inproceedings{rober2023hybrid, + author = {Rober, Nicholas and Everett, Michael and Zhang, Songan and How, Jonathan P}, + booktitle = {2023 American Control Conference (ACC)}, + organization = {IEEE}, + pages = {3523--3528}, + title = {A hybrid partitioning strategy for backward reachability of neural feedback loops}, + year = {2023} +} + +@article{rober2024constraint, + author = {Rober, Nicholas and How, Jonathan P}, + journal = {IEEE Control Systems Letters}, + publisher = {IEEE}, + title = {Constraint-Aware Refinement for Safety Verification of Neural Feedback Loops}, + year = {2024} +} + +@inproceedings{rober2024online, + author = {Rober, Nicholas and Mahesh, Karan and Paine, Tyler M and Greene, Max L and Lee, Steven and Monteiro, Sildomar T and Benjamin, Michael R and How, Jonathan P}, + booktitle = {2024 IEEE International Conference on Robotics and Automation (ICRA)}, + organization = {IEEE}, + pages = {9939--9945}, + title = {Online Data-Driven Safety Certification for Systems Subject to Unknown Disturbances}, + year = {2024} +} + +@article{rober2026guardian, + title={GUARDIAN: Safety Filtering for Systems with Perception Models Subject to Adversarial Attacks}, + author={Rober, Nicholas and Rose, Alex and How, Jonathan P}, + journal={arXiv preprint arXiv:2602.06026}, + year={2026} +} + +@article{roche2026coralauv, + author = {Roche, Steven and Van Mooy, Milo and McGuire, Nathan and Cai, Levi and How, Jonathan P. and Girdhar, Yogesh}, + journal = {arXiv preprint arXiv:2607.09557}, + title = {{CORAL-AUV: CFD Oriented Reinforcement Learning for Autonomous Underwater Vehicles}}, + url = {https://arxiv.org/abs/2607.09557}, + year = {2026} +} + +@phdthesis{Robertson01_PhD, + address = {Cambridge MA}, + author = {Andrew Robertson}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/ff_nmi.html}, + keywords = {formation flying}, + month = {June}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {Spacecraft Formation Flying: Theory and Experiment}, + url = {http://www.mit.edu/people/jhow/ff_nmi.html}, + year = {2001} +} + +@conference{Robertson98_ACC, + author = {Robertson, A. and Corazzini, T. and How, J. P.}, + bdsk-url-online-1 = {10.1109/ACC.1998.707271}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + keywords = {Global Positioning System; aerospace control; light interferometers; optical sensors; space vehicles; active vehicles; carrier differential-phase GPS measurements; formation control technologies; formation sensing; fully functional indoor GPS environment; global real-time relative position/orientation estimator; local optical sensor; multi-layer control design; separated spacecraft interferometer}, + month = {June}, + pages = {1574-1579}, + title = {Formation sensing and control technologies for a separated spacecraft interferometer}, + volume = {3}, + year = {1998} +} + +@inproceedings{Robertson99_ACC, + author = {Robertson, A. and Inalhan, G. and How, J. P.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/ACC.1999.786331}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/ACC.1999.786331}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + doi = {10.1109/ACC.1999.786331}, + keywords = {Global Positioning System, aerospace control, bang-bang control, interferometers, space vehicles, two-term control, GPS, formation control strategies, laser metrology, layered approach, low-level controllers, multi-vehicle fleets, precise control, precise sensing, rigid body maneuvers, separated spacecraft interferometer, space science missions, station-keeping}, + owner = {Jonathan P. How}, + pages = {4142-4147}, + timestamp = {2008.02.23}, + title = {Formation control strategies for a separated spacecraft interferometer}, + url = {http://dx.doi.org/10.1109/ACC.1999.786331}, + volume = {6}, + year = {1999} +} + +@conference{Rodrigues00_ACC, + author = {Rodrigues, L. and Hassibi, A. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/paperacc00.html}, + bdsk-url-online-1 = {10.1109/ACC.2000.879508}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:43 -0400}, + keywords = {Lyapunov methods; control system synthesis; feedback; iterative methods; matrix algebra; nonlinear systems; optimisation; stability; state estimation; Lyapunov function; bilinear matrix inequality; controller synthesis; convex optimization; equilibrium point; iterative method; output feedback; piecewise-affine systems; stability; state estimation; nonlinear control}, + pages = {1784-1789 vol.3}, + title = {Output feedback controller synthesis for piecewise-affine systems with multiple equilibria}, + ty = {CONF}, + url = {http://acl.mit.edu/paperacc00.html}, + url-online = {10.1109/ACC.2000.879508}, + vo = {3}, + volume = {3}, + year = {2000} +} + +@conference{Rodrigues01_ACC, + author = {Rodrigues, L. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/paperacc0.html}, + bdsk-url-online-1 = {10.1109/ACC.2001.946412}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:50:22 -0400}, + date-modified = {2011-04-18 09:50:22 -0400}, + keywords = {closed loop systems; controllers; feedback; nonlinear control systems; automated control design; closed loop equilibrium; nonlinear systems; optimization objective; output feedback controller; piecewise-affine approximation; polytopic cells; uniform rectangular grid}, + month = {June}, + pages = {3189-3194 vol.4}, + title = {Automated control design for a piecewise-affine approximation of a class of nonlinear systems}, + ty = {CONF}, + url = {http://acl.mit.edu/paperacc0.html}, + url-online = {10.1109/ACC.2001.946412}, + vo = {4}, + volume = {4}, + year = {2001} +} + +@conference{Rodrigues01_CDC, + author = {Rodrigues, L. and How, J. P.}, + bdsk-url-online-1 = {10.1109/.2001.981080}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + keywords = {closed loop systems; controllers; feedback; observers; optimisation; state feedback; closed-loop system; observer-based control; output feedback controller design; piecewise-affine systems; stability; state feedback controller design; nonlinear control}, + pages = {1366-1371 vol.2}, + title = {Observer-based control of piecewise-affine systems}, + ty = {CONF}, + url-online = {10.1109/.2001.981080}, + vo = {2}, + volume = {2}, + year = {2001} +} + +@phdthesis{Rodrigues02_PhD, + address = {Cambridge MA}, + author = {Luis Rodrigues}, + bdsk-url-1 = {http://acl.mit.edu/papers/Rodrigues_PhD.pdf}, + keywords = {nonlinear control; feedback control}, + month = {June}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {Dynamic Output Feedback Controller Synthesis for Piecewise-Affine Systems}, + url = {http://acl.mit.edu/papers/Rodrigues_PhD.pdf}, + year = {2002} +} + +@inproceedings{Rodrigues03_CDC, + author = {Rodrigues, L. and How, J. P.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/CDC.2003.1272922}, + bdsk-url-2 = {http://acl.mit.edu/papers/cdc03.pdf}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/CDC.2003.1272922}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 08:25:45 -0400}, + date-modified = {2011-04-02 08:25:45 -0400}, + doi = {10.1109/CDC.2003.1272922}, + issn = {0191-2216}, + keywords = {control system synthesis, nonlinear control systems, piecewise linear techniques, stability, differential inclusions, feedback interconnection, nonlinear plant, nonlinear systems stability, piecewise-affine approximation, piecewise-affine controllers, nonlinear control}, + month = {December}, + owner = {Jonathan P. How}, + pages = {2071-2076}, + timestamp = {2008.02.24}, + title = {Synthesis of piecewise-affine controllers for stabilization of nonlinear systems}, + url = {http://acl.mit.edu/papers/cdc03.pdf}, + volume = {3}, + year = {2003} +} + +@article{Rodrigues03_IJC, + author = {L. Rodrigues and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/pwa_synth.pdf}, + journal = {{International Journal of Control}}, + keywords = {nonlinear control}, + number = {5}, + pages = {459-477}, + title = {Observer-Based Control of Piecewise-Affine Systems}, + url = {http://acl.mit.edu/papers/pwa_synth.pdf}, + volume = {76}, + year = {2003} +} + +@article{Rodrigues06_NA, + author = {Rodrigues, L. and How, J. P.}, + date-added = {2011-07-08 11:24:33 -0400}, + date-modified = {2011-07-08 11:25:01 -0400}, + journal = {Nonlinear analysis}, + keywords = {robust control}, + number = {12}, + pages = {2216--2235}, + publisher = {Elsevier}, + title = {Toward unified analysis and controller synthesis for a class of hybrid systems}, + volume = {65}, + year = {2006} +} + +@article{rose2026robustsamplingbasedcovariancesteering, + title={Robust Sampling-Based Covariance Steering for Aerocapture Guidance}, + author={Alex Rose and Christopher Jewison and Jonathan P. How}, + year={2026}, + journal = {arXiv preprint arXiv:2606.14979} +} + +@conference{Sayyarrodsari00_ACC, + author = {Sayyarrodsari, B. and How, J. P. and Hassibi, B. and Carrier, A.}, + bdsk-url-online-1 = {10.1109/ACC.2000.879154}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:46:02 -0400}, + date-modified = {2011-04-02 08:46:02 -0400}, + keywords = {FIR filters; active noise control; adaptive control; adaptive filters; filtering theory; least mean squares methods; recursive estimation; state-space methods; vibration control; FxLMS algorithm; disturbance sources; estimation-based adaptive filtering algorithm; estimation-based multi-channel adaptive algorithm; filtered-LMS problems; multi-channel filtered-LMS problems; noise cancellation; one dimensional acoustic duct; steady-state performance; structural vibration control; transient behavior}, + pages = {3192-3197 vol.5}, + title = {Estimation-based multi-channel adaptive algorithm for filtered-LMS problems}, + ty = {CONF}, + url-online = {10.1109/ACC.2000.879154}, + vo = {5}, + volume = {5}, + year = {2000} +} + +@article{Sayyarrodsari01, + author = {Sayyarrodsari, B. and How, J. P. and Hassibi, B. and Carrier, A.}, + bdsk-url-1 = {http://acl.mit.edu/papers/bijan_ieee.pdf}, + bdsk-url-online-1 = {10.1109/78.890358}, + date-added = {2011-04-02 08:46:02 -0400}, + date-modified = {2011-07-08 11:19:04 -0400}, + isbn = {1053-587X}, + journal = {IEEE Transactions on Signal Processing}, + keywords = {adaptive control}, + month = {January}, + number = {1}, + pages = {164-178}, + title = {{Estimation-based synthesis of $\mathcal{H}_\infty$-optimal adaptive FIR filters for filtered-LMS problems}}, + url = {http://acl.mit.edu/papers/bijan_ieee.pdf}, + url-online = {10.1109/78.890358}, + volume = {49}, + year = {2001} +} + +@inproceedings{Sayyarrodsari97_ACC, + author = {Sayyarrodsari, B. and How, J. P. and Carrier, A.}, + bdsk-url-online-1 = {10.1109/ACC.1997.609111}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 06:36:35 -0400}, + keywords = {adaptive control}, + month = {4-6 June}, + pages = {2376-2378}, + title = {Robust adaptive control of linear systems with constant uncertain parameters}, + ty = {CONF}, + url-online = {10.1109/ACC.1997.609111}, + vo = {4}, + volume = {4}, + year = {1997} +} + +@inproceedings{Sayyarrodsari98_ACC, + author = {Sayyarrodsari, B. and How, J. P. and Hassibi, B. and Carrier, A.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/ACC.1998.703585}, + bdsk-url-2 = {http://acl.mit.edu/papers/hinf_fxlms.pdf}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/ACC.1998.703585}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 11:19:46 -0400}, + doi = {10.1109/ACC.1998.703585}, + keywords = {robust control}, + month = {24-26 June}, + owner = {Jonathan P. How}, + pages = {1116-1121}, + timestamp = {2008.02.23}, + title = {An $\mathcal{H}_\infty$ optimal alternative to the {FxLMS} algorithm}, + url = {http://acl.mit.edu/papers/hinf_fxlms.pdf}, + volume = {2}, + year = {1998} +} + +@conference{Sayyarrodsari98_ACC_adaptive, + author = {Sayyarrodsari, B. and How, J. P. and Hassibi, B. and Carrier, A.}, + bdsk-url-1 = {http://acl.mit.edu/papers/iir_ACC98.pdf}, + bdsk-url-online-1 = {10.1109/ACC.1998.688442}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-07-08 11:20:22 -0400}, + keywords = {adaptive control}, + month = {21-26 June}, + pages = {3148-3152 vol.5}, + title = {An estimation-based approach to the design of adaptive {IIR} filters}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/iir_ACC98.pdf}, + url-online = {10.1109/ACC.1998.688442}, + vo = {5}, + volume = {5}, + year = {1998} +} + +@inproceedings{Sayyarrodsari98_CDC, + author = {Sayyarrodsari, B. and How, J. P. and Hassibi, B. and Carrier, A.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/CDC.1998.760610}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/CDC.1998.760610}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + doi = {10.1109/CDC.1998.760610}, + keywords = {adaptive control}, + month = {16-18 Dec.}, + owner = {Jonathan P. How}, + pages = {158-160}, + timestamp = {2008.02.23}, + title = {An LMI formulation for the estimation-based approach to the design of adaptive filters}, + url = {http://dx.doi.org/10.1109/CDC.1998.760610}, + volume = {1}, + year = {1998} +} + +@phdthesis{Sayyarrodsari99_PhD, + address = {Cambridge MA}, + author = {Bijan Sayyar-Rodsari}, + bdsk-url-1 = {http://acl.mit.edu/papers/Bijan_PhD.pdf}, + keywords = {adaptive control}, + month = {July}, + school = {Stanford University, Department of Electrical Engineering}, + title = {Estimation-Based Adaptive Filtering and Control}, + url = {http://acl.mit.edu/papers/Bijan_PhD.pdf}, + year = {1999} +} + +@inproceedings{Schouwenaars01_ECC, + address = {Porto, Portugal}, + author = {T. Schouwenaars and B. de Moor and E. Feron and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/ECC2001.pdf}, + booktitle = {Proceedings of the European Control Conference}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + keywords = {MILP, UAV, path planning}, + month = {September}, + organization = {European Union Control Association}, + owner = {Brandon}, + pages = {2603-2608}, + timestamp = {2008.03.31}, + title = {Mixed Integer Programming for Multi-vehicle Path Planning}, + url = {http://acl.mit.edu/papers/ECC2001.pdf}, + year = {2001} +} + +@inproceedings{Schouwenaars02_ALL, + address = {Allerton Park, IL}, + author = {T. Schouwenaars and E. Feron and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/allerton_40_075.pdf}, + booktitle = {Proceedings of the 40th Allerton Conference on Communication, Control, and Computation}, + date-added = {2011-04-02 08:26:37 -0400}, + date-modified = {2011-08-24 06:23:26 -0400}, + keywords = {MILP, UAV, path planning}, + month = {October}, + title = {Safe Receding Horizon Path Planning for Autonomous Vehicles}, + url = {http://acl.mit.edu/papers/allerton_40_075.pdf}, + year = {2002} +} + +@conference{Schouwenaars03_ACC, + author = {Schouwenaars, T. and Mettler, B. and Feron, E. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC2003-AIAA0015.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2003.1243402}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:27:20 -0400}, + date-modified = {2011-04-02 08:27:20 -0400}, + isbn = {0743-1619}, + keywords = {aircraft navigation; closed loop systems; dynamic programming; helicopters; path planning; real-time systems; vehicle dynamics; autonomous X-Cell miniature helicopter; built-in uncertainties; closed loop guidance; dynamic programming; guidance system; high fidelity simulation model; maneuver automation; perturbations; real time planning policy; robust motion planning; suboptimal trajectories; vehicle dynamics}, + month = {4-6 June}, + pages = {2211-2216 vol.3}, + title = {Robust motion planning using a maneuver automation with built-in uncertainties}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/ACC2003-AIAA0015.pdf}, + url-online = {10.1109/ACC.2003.1243402}, + vo = {3}, + volume = {3}, + year = {2003} +} + +@inproceedings{Schouwenaars03_AHS, + address = {Phoenix, AZ}, + author = {T. Schouwenaars and B. Mettler and E. Feron and J. P. How}, + booktitle = {Proceedings of the American Helicopter Society Annual Forum}, + date-added = {2011-04-02 08:43:06 -0400}, + date-modified = {2011-04-02 08:43:06 -0400}, + keywords = {MILP, UAV, flight control}, + month = {May}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Hybrid Architecture for Full-Envelope Autonomous Rotorcraft Guidance}, + year = {2003} +} + +@inproceedings{Schouwenaars04_ACC, + address = {Boston, MA}, + author = {T. Schouwenaars and J. P. How and E. Feron}, + bdsk-url-1 = {http://acl.mit.edu/papers/0994_FrP12.4.pdf}, + booktitle = {Proceedings of the American Control Conference}, + date-added = {2011-04-02 08:36:26 -0400}, + date-modified = {2011-04-02 08:36:26 -0400}, + keywords = {MILP, UAV, path planning}, + month = {30 June-2 July}, + owner = {Brandon}, + pages = {5576-5581}, + timestamp = {2008.03.31}, + title = {Receding Horizon Path Planning with Implicit Safety Guarantees}, + url = {http://acl.mit.edu/papers/0994_FrP12.4.pdf}, + year = {2004} +} + +@inproceedings{Schouwenaars04_GNC, + address = {Providence, RI}, + author = {T. Schouwenaars and J. How and E. Feron}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAA-2004-5141.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:39:34 -0400}, + date-modified = {2011-04-02 08:39:34 -0400}, + keywords = {path planning}, + month = {August}, + title = {Decentralized Cooperative Trajectory Planning of Multiple Aircraft with Hard Safety Guarantees}, + url = {http://acl.mit.edu/papers/AIAA-2004-5141.pdf}, + year = {2004} +} + +@inproceedings{Schouwenaars04_IFAC, + address = {St. Petersburg, Russia}, + author = {T. Schouwenaars and E. Feron and J. P. How}, + booktitle = {Proceedings of the 16th IFAC Symposium on Automatic Control in Aerospace}, + date-added = {2011-04-02 08:43:06 -0400}, + date-modified = {2011-04-02 08:43:06 -0400}, + keywords = {MILP, UAV, flight control, trajectory optimization}, + month = {June}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Hybrid Model for Receding Horizon Guidance of Agile Autonomous Rotorcraft}, + year = {2004} +} + +@article{Schouwenaars04_JACIC, + author = {T. Schouwenaars and B. Mettler and E. Feron and J. P. How}, + date-added = {2011-04-02 08:43:06 -0400}, + date-modified = {2011-04-02 08:43:06 -0400}, + journal = {Journal of Aerospace Computing, Information, and Communication}, + keywords = {flight control, trajectory optimization}, + month = {December}, + number = {12}, + pages = {629-651}, + title = {Hybrid Model for Trajectory Planning of Agile Autonomous Vehicles}, + volume = {1}, + year = {2004} +} + +@inproceedings{Schouwenaars05_Aero, + address = {Big Sky, MT}, + author = {T. Schouwenaars and M. Valenti and E. Feron and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/IEEE_aerospace_1396.pdf}, + booktitle = {Proceedings of the IEEE Aerospace Conference}, + date-added = {2011-04-02 08:39:34 -0400}, + date-modified = {2011-04-02 08:39:34 -0400}, + keywords = {MILP, UAV, flight control}, + month = {March}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Implementation and Flight Test Results of {MILP}-Based {UAV} Guidance}, + url = {http://acl.mit.edu/papers/IEEE_aerospace_1396.pdf}, + year = {2005} +} + +@inproceedings{Schouwenaars06_ACC, + author = {Schouwenaars, T. and Feron, E. and How, J. P.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/ACC.2006.1657643}, + bdsk-url-2 = {http://acl.mit.edu/papers/ACC06_SchouwenaarsHow.pdf}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/ACC.2006.1657643}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + doi = {10.1109/ACC.2006.1657643}, + editor = {Feron, E.}, + keywords = {aerospace simulation, aircraft control, collision avoidance, helicopters, integer programming, linear programming, motion control, position control, autonomous helicopter, binary variables, centralized helicopter mission, centralized receding horizon planning, collision avoidance, distributed receding horizon planning, flight test, ground station, lead vehicle mission, line of sight connectivity, mixed integer linear programming, multivehicle path planning, multivehicle trajectory optimization, nonconvex obstacle, nonline of sight communication, online connectivity-constrained trajectory planning, relay helicopter, wireless line of sight communication, flight control}, + owner = {Jonathan P. How}, + pages = {6 pp.-}, + timestamp = {2008.02.24}, + title = {Multi-vehicle path planning for non-line of sight communication}, + url = {http://acl.mit.edu/papers/ACC06_SchouwenaarsHow.pdf}, + year = {2006} +} + +@article{Schouwenaars06_JGCD, + author = {T. Schouwenaars and M. Valenti and E. Feron and J. P. How and E. Roche}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {MILP, UAV}, + month = {March-April}, + number = {2}, + owner = {Brandon}, + pages = {303-313}, + timestamp = {2008.03.31}, + title = {Linear Programming and Language Processing for Human-{UAV} Team Mission Planning and Execution}, + volume = {29}, + year = {2006} +} + +@phdthesis{Schouwenaars06_PhD, + address = {Cambridge MA}, + author = {Tom Schouwenaars}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Schouwenaars_PhD.pdf}, + keywords = {path planning}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Safe Trajectory Planning of Autonomous Vehicles}, + url = {http://www.mit.edu/people/jhow/papers/Schouwenaars_PhD.pdf}, + year = {2006} +} + +@phdthesis{Schubert00_PhD, + address = {Cambridge MA}, + author = {Heidi Schubert}, + keywords = {feedback control}, + month = {December}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {Impedance Control of Flexible Macro/Mini Manipulators}, + year = {2000} +} + +@inproceedings{Schubert97_SPIE, + author = {Schubert, Heidi C. and How, Jonathan P.}, + bdsk-url-1 = {http://www.stanford.edu/group/arl/cgi-bin/drupal/sites/default/files/public/publications/Schubert%202000.pdf}, + booktitle = {Proceedings of the SPIE conference on Telemanipulator and Telepresence Technologies IV}, + date-added = {2011-07-09 20:27:46 -0400}, + date-modified = {2011-07-12 16:59:59 -0400}, + pages = {179-188}, + title = {Space construction: an experimental testbed to develop enabling technologies}, + url = {http://www.stanford.edu/group/arl/cgi-bin/drupal/sites/default/files/public/publications/Schubert 2000.pdf}, + volume = {3206}, + year = {1997} +} + +@inproceedings{Shaker10_ACC, + address = {Baltimore, MD}, + author = {H. R. Shaker and J. P. How}, + booktitle = {American Control Conference (ACC)}, + date-modified = {2011-07-31 12:22:15 -0400}, + keywords = {nonlinear control}, + month = {July}, + pages = {2517--2520}, + title = {Stability Analysis for Class of Switched Nonlinear Systems}, + year = {2010} +} + +@inproceedings{sharma2023ramp, + author = {Sharma, Lakshay and Everett, Michael and Lee, Donggun and Cai, Xiaoyi and Osteen, Philip and How, Jonathan P}, + booktitle = {2023 IEEE International Conference on Robotics and Automation (ICRA)}, + organization = {IEEE}, + pages = {5730--5736}, + title = {RAMP: A Risk-Aware Mapping and Planning Pipeline for Fast Off-Road Ground Robot Navigation}, + year = {2023} +} + +@inproceedings{sharma2024look, + author = {Sharma, Lakshay and Buono, Nicolaniello and Flather, Ashton and Cai, Xiaoyi and How, Jonathan P}, + booktitle = {2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + title = {{Look Before You Leap: Socially Acceptable High-Speed Ground Robot Navigation in Crowded Hallways}}, + year = {2024} +} + +@inproceedings{Shen18_trans_IROS, + author = {Macheng Shen and Golnaz Habibi and Jonathan P. How}, + bdsk-url-1 = {http://arxiv.org/abs/1804.00495}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + month = {October}, + title = {Transferable Pedestrian Motion Prediction Models at Intersections}, + url = {http://arxiv.org/abs/1804.00495}, + year = {2018} +} + +@conference{Shen19_ICRA, + address = {Montreal, Canada}, + author = {Shen, Macheng and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/abs/1902.05644}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2019-02-04 15:21:34 +0000}, + date-modified = {2019-02-04 15:21:34 +0000}, + month = {May}, + title = {Active Perception in Adversarial Scenarios using Maximum Entropy Deep Reinforcement Learning}, + url = {https://arxiv.org/abs/1902.05644}, + year = {2019} +} + +@conference{Sigurd03_GNC, + address = {Austin, TX}, + author = {K. Sigurd and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Field_gnc03.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:53:52 -0400}, + date-modified = {2011-04-02 08:53:52 -0400}, + keywords = {path planning}, + month = {August}, + title = {{UAV Trajectory Design Using Total Field Collision Avoidance}}, + url = {http://acl.mit.edu/papers/Field_gnc03.pdf}, + year = {2003} +} + +@inproceedings{Sobolic09_Info, + author = {F. Sobolic and J. P. How}, + booktitle = {AIAA Infotech@Aerospace Conference}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + keywords = {flight control}, + month = {April}, + title = {Nonlinear Agile Control Test Bed for a Fixed Wing Aircraft in a Constrained Environment}, + year = {2009} +} + +@mastersthesis{Sobolic09_Masters, + address = {Cambridge MA}, + author = {Sobolic, Frantisek M.}, + bdsk-url-1 = {http://acl.mit.edu/papers/SobolicSM.pdf}, + keywords = {flight control}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Agile Flight Control Techniques for a Fixed-Wing Aircraft}, + url = {http://acl.mit.edu/papers/SobolicSM.pdf}, + year = {2009} +} + +@article{soltoggio2024collective, + author = {Soltoggio, Andrea and Ben-Iwhiwhu, Eseoghene and Braverman, Vladimir and Eaton, Eric and Epstein, Benjamin and Ge, Yunhao and Halperin, Lucy and How, Jonathan and Itti, Laurent and Jacobs, Michael A and others}, + journal = {Nature Machine Intelligence}, + number = {3}, + pages = {251--264}, + publisher = {Nature Publishing Group UK London}, + title = {A collective AI via lifelong learning and sharing at the edge}, + volume = {6}, + year = {2024} +} + +@inproceedings{sonandres2025real, + author = {Sonandres, Kyle A and Palazzo, Thomas R and How, Jonathan P}, + booktitle = {AIAA SCITECH 2025 Forum}, + pages = {1709}, + title = {Real-Time Density Estimation for Uranus Aerocapture Using Deep Learning}, + year = {2025} +} + +@article{sonandres2026enhanced, +author = {Sonandres, Kyle A. and Palazzo, Thomas R. and How, Jonathan P.}, +title = {Enhanced Aerocapture Guidance Framework Using Augmented Bank Angle Modulation}, +journal = {Journal of Guidance, Control, and Dynamics}, +volume = {49}, +number = {6}, +pages = {1701-1717}, +year = {2026}, +doi = {10.2514/1.G009327} +} + + +@article{sonawalla2026robo, + title = {Overlapping Domain Decomposition for Distributed Pose Graph Optimization}, + author = {Aneesa Sonawalla and Yulun Tian and Jonathan P. How}, + journal = {arXiv preprint arXiv:2603.03499}, + year = {2026} +} + +@inproceedings{Stevens96_ASCE, + address = {Albuquerque, New Mexico}, + author = {Stevens, H. D. and How, J.}, + booktitle = {Proceedings of the 2nd ASCE Conference on Robotics for Challenging Environments}, + date-added = {2011-07-09 20:17:44 -0400}, + date-modified = {2011-07-09 20:18:40 -0400}, + keywords = {robotics}, + month = {June}, + pages = {93--99}, + title = {The limitations of independent controller design for a multiple-link flexible macro-manipulator carrying a rigid mini-manipulator}, + year = {1996} +} + +@phdthesis{Stevens97_PhD, + address = {Cambridge MA}, + author = {H. D. Stevens}, + keywords = {feedback control}, + month = {July}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {Manipulation of a Free-Floating Object Using A Macro/Mini-Manipulator With Structural Flexibility}, + year = {1997} +} + +@inproceedings{Straub15_CVPR, + author = {Straub, Julian and Campbell, Trevor and How, Jonathan P and Fisher, John W}, + booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition}, + date-added = {2015-10-10 18:25:06 +0000}, + date-modified = {2017-05-31 16:03:45 +0000}, + pages = {334--342}, + title = {Small-Variance Nonparametric Clustering on the Hypersphere}, + year = {2015} +} + +@conference{Straub17_CVPR, + author = {J. Straub and T. Campbell and J. P. How and J.~W.~Fisher}, + booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR),}, + date-added = {2017-05-31 16:38:48 +0000}, + date-modified = {2017-05-31 16:38:48 +0000}, + title = {{Efficient Global Point Cloud Alignment using Bayesian Nonparametric Mixtures}}, + year = {2017} +} + +@mastersthesis{Sugel13_Masters, + address = {Cambridge, MA}, + author = {Ian Sugel}, + keywords = {path planning, robust control}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Robust Planning for Autonomous Parafoil}, + year = {2013} +} + +@inproceedings{tagliabue2020lion, + author = {Tagliabue, Andrea and Tordesillas, Jesus and Cai, Xiaoyi and Santamaria-Navarro, Angel and How, Jonathan P and Carlone, Luca and Agha-mohammadi, Ali-akbar}, + booktitle = {International Symposium on Experimental Robotics}, + organization = {Springer}, + pages = {380--390}, + title = {{LION}: Lidar-inertial observability-aware navigator for vision-denied environments}, + year = {2020} +} + +@inproceedings{tagliabue2020touch, + author = {Tagliabue, Andrea and Paris, Aleix and Kim, Suhan and Kubicek, Regan and Bergbreiter, Sarah and How, Jonathan P}, + booktitle = {2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + title = {Touch the wind: Simultaneous airflow, drag and interaction sensing on a multirotor}, + year = {2020} +} + +@article{tagliabue2021airflow, + author = {Tagliabue, Andrea and How, Jonathan P}, + journal = {arXiv preprint arXiv:2105.13506}, + title = {Airflow-Inertial Odometry for Resilient State Estimation on Multirotors}, + year = {2021} +} + +@inproceedings{tagliabue2022efficient, + author = {Tagliabue, Andrea and Kim, Dong-Ki and Everett, Michael and How, Jonathan P}, + booktitle = {2022 International Conference on Robotics and Automation (ICRA)}, + organization = {IEEE}, + pages = {462--468}, + title = {Efficient guided policy search via imitation of robust tube MPC}, + year = {2022} +} + +@inproceedings{tagliabue2022output, + author = {Tagliabue, Andrea and How, Jonathan P}, + booktitle = {2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + organization = {IEEE}, + pages = {8644--8651}, + title = {Output Feedback Tube MPC-Guided Data Augmentation for Robust, Efficient Sensorimotor Policy Learning}, + year = {2022} +} + +@article{tagliabue2022robust, + author = {Tagliabue, Andrea and Hsiao, Yi-Hsuan and Fasel, Urban and Kutz, J Nathan and Brunton, Steven L and Chen, YuFeng and How, Jonathan P}, + booktitle = {2023 International Conference on Robotics and Automation (ICRA)}, + organization = {IEEE}, + title = {Robust, High-Rate Trajectory Tracking on Insect-Scale Soft-Actuated Aerial Robots with Deep-Learned Tube MPC}, + year = {2023} +} + +@article{tagliabue2023efficient, + author = {Tagliabue, Andrea and How, Jonathan P}, + journal = {arXiv preprint arXiv:2306.00286}, + title = {Efficient Deep Learning of Robust Policies from MPC using Imitation and Tube-Guided Data Augmentation}, + year = {2023} +} + +@article{tagliabue2024efficient, + author = {Tagliabue, Andrea and How, Jonathan P}, + journal = {IEEE Transactions on Robotics}, + publisher = {IEEE}, + title = {Efficient Deep Learning of Robust Policies from MPC using Imitation and Tube-Guided Data Augmentation}, + year = {2024} +} + +@article{tagliabue2024tube, + author = {Tagliabue, Andrea and How, Jonathan P}, + journal = {IEEE Robotics and Automation Letters}, + publisher = {IEEE}, + title = {Tube-NeRF: Efficient Imitation Learning of Visuomotor Policies from MPC via Tube-Guided Data Augmentation and NeRFs}, + year = {2024} +} + +@inproceedings{Tagliabue22_ICRA, + author = {Andrea Tagliabue and Dong-Ki Kim and Michael Everett and Jonathan P. How}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + pages = {(in review)}, + title = {Demonstration-Efficient Guided Policy Search via Imitation of Robust Tube-MPC}, + url = {https://arxiv.org/pdf/2109.09910.pdf}, + year = {2022} +} + +@inproceedings{Teague95_GNC, + author = {Teague, E. H. and How, J. P. and Lawson, L.G. and Parkinson, B.W.}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-07-09 20:11:26 -0400}, + date-modified = {2011-07-09 20:12:27 -0400}, + month = {Aug}, + pages = {787--795}, + title = {{GPS} as a structural deformation sensor}, + year = {1995} +} + +@inproceedings{Teague96_AAS, + author = {Teague, E. H. and How, J. P. and Lawson, L. G. and Boerjes, M. and Parkinson, B. W.}, + booktitle = {Proceedings of the Annual Rocky Mountain Guidance and Control Conference}, + date-added = {2011-07-08 06:57:23 -0400}, + date-modified = {2011-07-08 06:58:31 -0400}, + keywords = {GPS}, + month = {Feb}, + organization = {Amer Astronautical Society}, + pages = {429}, + title = {TECHNIQUES FOR REAL-TIME CONTROL OF FLEXIBLE STRUCTURES USING {GPS}}, + volume = {92}, + year = {1996} +} + +@inproceedings{Teague96_ION, + author = {Teague, E. H. and How, J. P. and Parkinson, B. W.}, + booktitle = {ION GPS-96}, + date-added = {2011-07-08 06:52:50 -0400}, + date-modified = {2011-07-08 06:53:17 -0400}, + keywords = {GPS}, + pages = {1355--1365}, + title = {Carrier differential GPS for real-time control of large flexible structures}, + year = {1996} +} + +@article{Teague97_NAV, + author = {Teague, E. H. and How, J. P. and Parkinson, B. W.}, + date-added = {2011-07-08 07:03:41 -0400}, + date-modified = {2011-07-08 07:04:17 -0400}, + journal = {Navigation}, + keywords = {GPS}, + number = {2}, + pages = {215--229}, + publisher = {Institute of Navigation}, + title = {Carrier differential GPS for real-time control of large flexible structures}, + volume = {44}, + year = {1997} +} + +@phdthesis{Teague97_PhD, + address = {Cambridge MA}, + author = {E. Harris Teague}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/harris/index.html}, + keywords = {GPS; estimation and tracking}, + month = {June}, + school = {Stanford University, Department of Aeronautics and Astronautics}, + title = {Flexible Structure Estimation and Control using the Global Positioning System}, + url = {http://www.mit.edu/people/jhow/harris/index.html}, + year = {1997} +} + +@article{Teague98_JGCD, + author = {Teague, E. H. and How, J. P. and Parkinson, B. W.}, + bdsk-url-1 = {http://acl.mit.edu/papers/teague_jgcd.pdf}, + date-modified = {2011-07-08 07:28:37 -0400}, + journal = {AIAA Journal on Guidance, Control, and Dynamics}, + keywords = {GPS}, + month = {September}, + number = {5}, + pages = {673-683}, + publisher = {Citeseer}, + title = {Control of flexible structures using {GPS}: methods and experimental results}, + url = {http://acl.mit.edu/papers/teague_jgcd.pdf}, + volume = {21}, + year = {1998} +} + +@techreport{techReportHAFIRM, + author = {Aliakbar Agha-mohammadi and Nazim Kemal Ure and Jonathan P. How and John Vian}, + bdsk-url-1 = {http://acl.mit.edu/papers/Proof.pdf}, + contact = {ure@mit.edu}, + institution = {Department of Aeronautics and Astronautics, Massachusetts Institute of Technology}, + month = {December}, + title = {Technical Report: Health Aware Planning in Belief Space For Partially Observable Motion Planning Problems}, + url = {http://acl.mit.edu/papers/HA_FIRM_TechReport.pdf}, + year = {2013} +} + +@inproceedings{Teller10_ICRA, + address = {Anchorage, AK}, + author = {Seth Teller and Matthew R. Walter and Matthew Antone and Andrew Correa and Randall Davis and Luke Fletcher and Emilio Frazzoli and Jim Glass and Jonathan P. How and Albert S. Huang and Jeong hwan Jeon and Sertac Karaman and Brandon Luders and Nicholas Roy and Tara Sainath}, + bdsk-url-1 = {http://acl.mit.edu/papers/Teller10_ICRA.pdf}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + keywords = {decision making, path planning}, + month = {May}, + title = {A Voice-Commanded Robotic Forklift Working Alongside Humans in Minimally-Prepared Outdoor Environments}, + url = {http://acl.mit.edu/papers/Teller10_ICRA.pdf}, + year = {2010} +} + +@conference{Teo08_CDC, + address = {Cancun, Mexico}, + author = {Teo, J. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/TeoCDC08.pdf}, + bdsk-url-online-1 = {10.1109/CDC.2008.4738850}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-18 10:00:48 -0400}, + date-modified = {2011-04-18 10:00:48 -0400}, + isbn = {0191-2216}, + keywords = {PI control; feedback control; linear systems; model reference adaptive control systems; nonlinear control systems; approximate dynamic inversion controller; feedback; linear proportional-integral model reference controller; nonaffine-in-control systems; nonlinear systems}, + month = {9-11 December}, + pages = {2179-2183}, + title = {Equivalence between Approximate Dynamic Inversion and Proportional-Integral control}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/TeoCDC08.pdf}, + url-online = {10.1109/CDC.2008.4738850}, + year = {2008} +} + +@techreport{Teo08_MITTR, + address = {Cambridge, MA}, + author = {J. Teo and J. P. How}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/42839}, + institution = {Massachusetts Institute of Technology}, + keywords = {nonlinear control}, + month = {September}, + note = {{Aerospace Controls Lab}}, + number = {ACL08-01}, + title = {Equivalence between Approximate Dynamic Inversion and Proportion-Integral Control}, + url = {http://dspace.mit.edu/handle/1721.1/42839}, + year = {2008} +} + +@conference{Teo09_ACC, + address = {St. Louis, MO}, + author = {Teo, J. and How, J. P. and Lavretsky, E.}, + bdsk-url-1 = {http://acl.mit.edu/papers/TeoACC09.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2009.5160598}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + isbn = {0743-1619}, + keywords = {PI control; approximation theory; closed loop systems; control system synthesis; linear systems; nonlinear control systems; nonlinear functions; transient response; approximate dynamic inversion; closed loop error dynamics; linear proportional-integral realization; minimum-phase system; nonlinear function; reference model dynamics; single-input nonaffine-in-control system; time response; transient response; nonlinear control}, + month = {10-12 June}, + pages = {1592-1597}, + title = {On Approximate Dynamic Inversion and Proportional-Integral control}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/TeoACC09.pdf}, + url-online = {10.1109/ACC.2009.5160598}, + year = {2009} +} + +@conference{Teo09_CDC, + address = {Shanghai, China}, + author = {Teo, J. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/TeoCDC09.pdf}, + bdsk-url-online-1 = {10.1109/CDC.2009.5400075}, + booktitle = {IEEE Conference on Decision and Control (CDC)}, + date-added = {2011-04-18 10:00:48 -0400}, + date-modified = {2011-04-18 10:00:48 -0400}, + isbn = {0191-2216}, + keywords = {MIMO systems; adaptive control; nonlinear control systems; nonlinear programming; stability; variable structure systems; adaptive control; adaptive sliding mode controller; antiwindup compensation; continuous-time case; control saturation; gradient projection method; hybrid controller; instability; multiinput multioutput nonlinear dynamic controllers; multiple nonlinear constraints; nonlinear programming; nonlinear systems; nonlinear two-link robot; performance degradation; practical control systems; state update law}, + month = {15-18 December}, + pages = {6910-6916}, + title = {Anti-windup compensation for nonlinear systems via gradient projection: Application to adaptive control}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/TeoCDC09.pdf}, + url-online = {10.1109/CDC.2009.5400075}, + year = {2009} +} + +@techreport{Teo09_MITTR, + address = {Cambridge, MA}, + author = {J. Teo and J. P. How}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/45514}, + bdsk-url-online-1 = {http://hdl.handle.net/1721.1/45514}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + institution = {Massachusetts Institute of Technology}, + keywords = {nonlinear control}, + month = {May}, + note = {{Aerospace Controls Lab}}, + number = {ACL09-01}, + owner = {oldman}, + timestamp = {2009.04.10}, + title = {On Approximate Dynamic Inversion}, + url = {http://dspace.mit.edu/handle/1721.1/45514}, + url-online = {http://hdl.handle.net/1721.1/45514}, + year = {2009} +} + +@inproceedings{Teo10_ACC, + address = {Baltimore, MD}, + author = {J. Teo and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/TeoACC10.pdf}, + booktitle = {American Control Conference (ACC)}, + keywords = {nonlinear control}, + month = {July}, + title = {Analysis of Gradient Projection Anti-windup Scheme}, + url = {http://acl.mit.edu/papers/TeoACC10.pdf}, + year = {2010} +} + +@inproceedings{Teo10_ACC_GPAW, + address = {Baltimore, MD}, + author = {J. Teo and J. P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/TeoACC10a.pdf}, + booktitle = {American Control Conference (ACC)}, + keywords = {nonlinear control}, + month = {July}, + title = {Geometric Properties of Gradient Projection Anti-windup Compensated Systems}, + url = {http://acl.mit.edu/papers/TeoACC10a.pdf}, + year = {2010} +} + +@techreport{Teo10_MITTR, + address = {Cambridge, MA}, + author = {J. Teo and J. P. How}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/52600}, + bdsk-url-online-1 = {http://hdl.handle.net/1721.1/52600}, + date-added = {2011-04-02 08:44:34 -0400}, + date-modified = {2011-04-02 08:44:34 -0400}, + institution = {Massachusetts Institute of Technology}, + keywords = {nonlinear control}, + month = {March}, + note = {{Aerospace Controls Lab}}, + number = {ACL10-01}, + owner = {oldman}, + timestamp = {2010.02.24}, + title = {Gradient Projection Anti-windup Scheme on Constrained Planar {LTI} Systems}, + url = {http://dspace.mit.edu/handle/1721.1/52600}, + url-online = {http://hdl.handle.net/1721.1/52600}, + year = {2010} +} + +@techreport{Teo10_MITTR_GPAW, + address = {Cambridge, MA}, + author = {J. Teo and J. P. How}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/56001}, + institution = {Massachusetts Institute of Technology}, + keywords = {nonlinear control}, + month = {June}, + note = {{Aerospace Controls Lab}}, + number = {ACL10-02}, + title = {Corrections to Geometric Properties of Gradient Projection Anti-windup Compensated Systems}, + url = {http://dspace.mit.edu/handle/1721.1/56001}, + year = {2010} +} + +@article{Teo10_TAC, + author = {Teo, J. and How, J. P. and Lavretsky, E.}, + bdsk-url-1 = {http://acl.mit.edu/papers/TeoTAC10.pdf}, + bdsk-url-online-1 = {10.1109/TAC.2010.2045693}, + booktitle = {IEEE Transactions on Automatic Control}, + date-added = {2011-04-02 08:36:26 -0400}, + date-modified = {2011-04-02 08:36:26 -0400}, + isbn = {0018-9286}, + journal = {IEEE Transactions on Automatic Control}, + keywords = {PI control; closed loop systems; linear systems; stability; time-varying systems; PI controller; closed loop robustness properties; dynamic inversion controller; minimum-phase nonaffine-in-control systems; stabilizing tracking proportional-integral controllers; unperturbed minimum-phase linear time invariant systems; nonlinear control}, + month = {June}, + number = {6}, + pages = {1477-1483}, + title = {Proportional-Integral Controllers for Minimum-Phase Nonaffine-in-Control Systems}, + ty = {JOUR}, + url = {http://acl.mit.edu/papers/TeoTAC10.pdf}, + url-online = {10.1109/TAC.2010.2045693}, + vo = {55}, + volume = {55}, + year = {2010} +} + +@phdthesis{Teo11_PhD, + address = {Cambridge MA}, + author = {Chun Sang Justin Teo}, + bdsk-url-1 = {http://acl.mit.edu/papers/TeoMITScD11.pdf}, + keywords = {nonlinear control}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Gradient Projection Anti-windup Scheme}, + url = {http://acl.mit.edu/papers/TeoMITScD11.pdf}, + year = {2011} +} + +@inproceedings{TeoCDC11, + abstract = {The gradient projection anti-windup (GPAW) scheme was recently proposed +for saturated multi-input-multi-output (MIMO) nonlinear systems driven +by MIMO nonlinear controllers, a topic recognized as an open problem +in a recent survey paper. Thus far, stability results for GPAW compensated +systems are restricted to the simple case of a saturated first order +linear time invariant (LTI) plant driven by a first order LTI controller. +Here, we present a region of attraction (ROA) comparison result for +general GPAW compensated regulatory systems. The ROA comparison result +is demonstrated on a simple planar nonlinear system, which also highlights +the limitations of existing state-of-the-art anti-windup results.}, + address = {Orlando, FL}, + author = {Justin~Teo and Jonathan~P.~How}, + bdsk-url-1 = {http://acl.mit.edu/papers/TeoCDC11.pdf}, + booktitle = {Proc. 50th IEEE Conf. Decision and Control {\&} European Control Conf.}, + month = {December}, + pages = {5509 -- 5515}, + title = {Region of Attraction Comparison for Gradient Projection Anti-windup Compensated Systems}, + url = {http://acl.mit.edu/papers/TeoCDC11.pdf}, + year = {2011} +} + +@article{thomas2024sosmatch, + author = {Thomas, Annika and Kinnari, Jouko and Lusk, Parker and Konda, Kota and How, Jonathan}, + journal = {arXiv preprint arXiv:2401.04791}, + title = {SOS-Match: Segmentation for Open-Set Robust Correspondence Search and Robot Localization in Unstructured Environments}, + year = {2024} +} + +@ARTICLE{thomas2025grandslam, + author={Thomas, Annika and Sonawalla, Aneesa and Rose, Alex and How, Jonathan P.}, + journal={IEEE Robotics and Automation Letters}, + title={GRAND-SLAM: Local Optimization for Globally Consistent Large-Scale Multi-Agent Gaussian SLAM}, + year={2025}, + volume={10}, + number={12}, + pages={13129-13136}, + doi={10.1109/LRA.2025.3623026} +} + +@inproceedings{thomas2026lunarloc, + author={Thomas, Annika and Garbuz, Aleksander and Johst, Trevor and Srinivasan, Keerthana and Thomas, Dami and O'Neill, Cormac and Galliath, Robaire and Lordos, George and How, Jonathan P.}, + booktitle={2026 IEEE Aerospace Conference}, + title={LunarLoc: Robust Global Localization for Autonomous Surface Operations on the Moon}, + year={2026}, + doi={10.1109/AERO66936.2026.11520075} +} + +@inproceedings{Tian18_ISER, + author = {Tian, Yulun and Liu, Katherine and Ok, Kyel and Tran, Loc and Allen, Danette and Roy, Nicholas and How, Jonathan P}, + booktitle = {Proceedings of the International Symposium on Experimental Robotics (ISER)}, + title = {Search and Rescue under the Forest Canopy using Multiple UAS}, + year = {2018} +} + +@conference{Tian18_RSS, + author = {Tian, Yulun and Khosoussi, Kasra and Giamou, Matthew and How, Jonathan P and Kelly, Jonathan}, + bdsk-url-1 = {https://arxiv.org/pdf/1806.00188.pdf}, + booktitle = {Robotics: Science and Systems}, + date-added = {2018-05-30 22:00:10 +0000}, + date-modified = {2018-05-30 22:01:48 +0000}, + title = {Near-Optimal Budgeted Data Exchange for Distributed Loop Closure Detection}, + url = {https://arxiv.org/pdf/1806.00188.pdf}, + year = {2018} +} + +@inproceedings{Tian18_WAFR, + author = {Tian, Yulun and Khosoussi, Kasra and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/pdf/1901.05925.pdf}, + booktitle = {Proceedings of the Workshop on the Algorithmic Foundations of Robotics (WAFR)}, + title = {Resource-Aware Algorithms for Distributed Loop Closure Detection with Provable Performance Guarantees}, + url = {https://arxiv.org/pdf/1901.05925.pdf}, + year = {2018} +} + +@article{Tian20_RAL, + author = {Tian, Yulun and Koppel, Alec and Bedi, Amrit Singh and How, Jonathan P.}, + doi = {10.1109/LRA.2020.3010216}, + journal = {IEEE Robotics and Automation Letters (RA-L)}, + number = {4}, + pages = {5819-5826}, + title = {Asynchronous and Parallel Distributed Pose Graph Optimization}, + url = {https://arxiv.org/pdf/2003.03281.pdf}, + volume = {5}, + year = {2020} +} + +@article{Tian21_TRO, + author = {Tian, Yulun and Khosoussi, Kasra and Rosen, David M. and How, Jonathan P.}, + doi = {10.1109/TRO.2021.3072346}, + journal = {IEEE Transactions on Robotics (TRO)}, + number = {6}, + pages = {2137-2156}, + title = {Distributed Certifiably Correct Pose-Graph Optimization}, + url = {https://arxiv.org/pdf/1911.03721.pdf}, + volume = {37}, + year = {2021} +} + +@article{Tian22_TRO, + author = {Yulun Tian and Yun Chang and Fernando Herrera Arias and Carlos Nieto-Granda and Jonathan P. How and Luca Carlone}, + journal = {IEEE Transactions on Robotics (TRO)}, + title = {Kimera-Multi: Robust, Distributed, Dense Metric-Semantic SLAM for Multi-Robot Systems}, + url = {https://arxiv.org/pdf/2106.14386.pdf}, + year = {2022} +} + +@inproceedings{Tian23_IROS, + author = {Tian, Yulun and Chang, Yun and Quang, Long and Schang, Arthur and Nieto-Granda, Carlos and How, Jonathan P and Carlone, Luca}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + title = {Resilient and Distributed Multi-Robot Visual {SLAM}: Datasets, Experiments, and Lessons Learned}, + year = {2023} +} + +@article{Tian23_TRO, + author = {Yulun Tian and Jonathan P. How}, + journal = {IEEE Transactions on Robotics (TRO)}, + title = {Spectral Sparsification for Communication-Efficient Collaborative Rotation and Translation Estimation}, + year = {2023 (To Appear)} +} + +@inproceedings{Tillerson01_GNC, + author = {Tillerson, M. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/gnc02.html}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + keywords = {formation flight}, + month = {August}, + title = {Formation flying control in eccentric orbits}, + url = {http://acl.mit.edu/gnc02.html}, + year = {2001} +} + +@conference{Tillerson02_ACC, + author = {Tillerson, M. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC02_AIAA1059.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2002.1025218}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:51:57 -0400}, + date-modified = {2011-04-18 09:51:57 -0400}, + isbn = {0743-1619}, + keywords = {formation flight; aerospace control; fuel optimal control; linear programming; robust control; advanced guidance algorithms; circular orbits; eccentric orbits; formation-keeping problem; fuel cost; fuel-optimal control inputs; guidance algorithms; linear programming; linearized models; modified linear dynamics; nonlinear simulations; passive aperture; robustness; spacecraft formation keeping; state trajectories}, + month = {May}, + pages = {2830-2835 vol.4}, + title = {Advanced guidance algorithms for spacecraft formation-keeping}, + url = {http://acl.mit.edu/papers/ACC02_AIAA1059.pdf}, + url-online = {10.1109/ACC.2002.1025218}, + vo = {4}, + volume = {4}, + year = {2002} +} + +@article{Tillerson02_JRNC, + author = {Tillerson, M. and Inalhan, G. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/How_IJRNC.pdf}, + journal = {International Journal of Robust and Nonlinear Control}, + keywords = {spacecraft maneuvers}, + month = {January}, + number = {2-3}, + pages = {207-242}, + publisher = {Wiley Online Library}, + title = {Co-ordination and control of distributed spacecraft systems using convex optimization techniques}, + url = {http://acl.mit.edu/papers/How_IJRNC.pdf}, + volume = {12}, + year = {2002} +} + +@mastersthesis{Tillerson02_Masters, + address = {Cambridge MA}, + author = {Michael J. Tillerson}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/Tillerson_SM.pdf}, + keywords = {formation flight; path planning}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Coordination and Control of Multiple Spacecraft using Convex Optimization Techniques}, + url = {http://www.mit.edu/people/jhow/Tillerson_SM.pdf}, + year = {2002} +} + +@conference{Tillerson03_ACC, + author = {Tillerson, M. and Breger, L. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC_finalsubmission.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 09:51:57 -0400}, + date-modified = {2011-04-18 09:51:57 -0400}, + isbn = {0743-1619}, + keywords = {formation flight}, + month = {June}, + pages = {1740-1745}, + title = {Distributed coordination and control of formation flying spacecraft}, + url = {http://acl.mit.edu/papers/ACC_finalsubmission.pdf}, + vo = {2}, + volume = {2}, + year = {2003} +} + +@mastersthesis{Tin04_Masters, + address = {Cambridge MA}, + author = {Chung Tin}, + bdsk-url-1 = {http://www.mit.edu/people/jhow/papers/Tin_SM.pdf}, + keywords = {decision making}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Mechanical Engineering}, + title = {{Robust Multi-UAV Planning in Dynamic and Uncertain Environments}}, + url = {http://www.mit.edu/people/jhow/papers/Tin_SM.pdf}, + year = {2004} +} + +@inproceedings{Toksoz11_Info, + author = {Tuna Toksoz and Joshua Redding and Matthew Michini and Bernard Michini and Jonathan P. How and Matthew Vavrina and John Vian}, + booktitle = {AIAA Infotech@Aerospace Conference}, + date-added = {2011-07-28 17:29:03 -0400}, + date-modified = {2012-02-29 20:18:01 -0500}, + keywords = {UAVs}, + month = {March}, + note = {(AIAA-2011-1405)}, + title = {{Automated Battery Swap and Recharge to Enable Persistent UAV Missions}}, + year = {2011} +} + +@mastersthesis{Toksoz12_Masters, + author = {Tuna Toksoz}, + month = {August}, + school = {Massachusetts Institute of Technology}, + title = {{Design and Implementation of an Automated Battery Management Platform}}, + year = {2012} +} + +@inproceedings{Tordesillas19_ICRA, + address = {Montreal, Canada}, + author = {Tordesillas, Jesus and Lopez, Brett T and Carter, John and Ware, John and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/abs/1810.01035}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-modified = {2019-03-27 17:17:17 -0400}, + month = {May}, + title = {Real-Time Planning with Multi-Fidelity Models for Agile Flights in Unknown Environments}, + url = {https://arxiv.org/abs/1810.01035}, + year = {2019} +} + +@inproceedings{Tordesillas19_IROS, + address = {Macau, China}, + author = {Tordesillas, Jesus and Lopez, Brett T and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/abs/1903.03558}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + date-modified = {2019-03-27 17:21:22 -0400}, + month = {November}, + title = {{FASTER}: Fast and Safe Trajectory Planner for Flights in Unknown Environments}, + url = {https://arxiv.org/abs/1903.03558}, + year = {2019} +} + +@article{tordesillas2020minvo, + author = {Tordesillas, Jesus and How, Jonathan P}, + journal = {Computer-Aided Design}, + pages = {103341}, + publisher = {Elsevier}, + title = {{MINVO} Basis: Finding Simplexes with Minimum Volume Enclosing Polynomial Curves}, + volume = {151}, + year = {2022} +} + +@article{tordesillas2021faster, + author = {Tordesillas, Jesus and Lopez, Brett T and Everett, Michael and How, Jonathan P}, + journal = {IEEE Transactions on Robotics}, + publisher = {IEEE}, + title = {{FASTER}: Fast and Safe Trajectory Planner for Navigation in Unknown Environments}, + year = {2021} +} + +@article{tordesillas2021mader, + author = {Tordesillas, Jesus and How, Jonathan P}, + journal = {IEEE Transactions on Robotics}, + publisher = {IEEE}, + title = {{MADER}: Trajectory planner in multiagent and dynamic environments}, + year = {2021} +} + +@article{tordesillas2021panther, + author = {Tordesillas, Jesus and How, Jonathan P}, + journal = {IEEE Access}, + pages = {22662--22677}, + publisher = {IEEE}, + title = {{PANTHER}: Perception-aware trajectory planner in dynamic environments}, + volume = {10}, + year = {2022} +} + +@article{tordesillas2023deep, + author = {Tordesillas, Jesus and How, Jonathan P}, + journal = {IEEE Robotics and Automation Letters}, + publisher = {IEEE}, + title = {{Deep-PANTHER}: Learning-based perception-aware trajectory planner in dynamic environments}, + year = {2023} +} + +@inproceedings{Toupet11_Infotech, + author = {Olivier Toupet and Jonathan How}, + booktitle = {AIAA Infotech@Aerospace Conference}, + date-added = {2011-08-22 16:34:38 -0400}, + date-modified = {2011-08-22 16:36:45 -0400}, + month = {March}, + note = {(AIAA-2011-1488)}, + title = {{Collaborative Sensor Fusion and Management for Multiple UAVs}}, + year = {2011} +} + +@inproceedings{Tournier06_GNC, + address = {Keystone, CO}, + author = {Tournier, G. P. and Valenti, M. and How, J. P. and Feron, E.}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC06_TournierHow.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-modified = {2011-07-27 18:55:11 -0400}, + keywords = {estimation and tracking; flight control}, + month = {August}, + pages = {21-24}, + title = {Estimation and control of a quadrotor vehicle using monocular vision and moire patterns}, + url = {http://acl.mit.edu/papers/GNC06_TournierHow.pdf}, + year = {2006} +} + +@inproceedings{Undurti10_GNC, + author = {Aditya Undurti and Jonathan P. How}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2012-03-30 10:39:31 -0400}, + date-modified = {2012-03-30 10:41:35 -0400}, + month = {August}, + note = {AIAA-2010-7731}, + title = {{A Cross-Entropy Based Approach for UAV Task Allocation with Nonlinear Reward}}, + year = {2010} +} + +@inproceedings{Undurti11_ICRA, + author = {Undurti, A. and How, J. P.}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2012-04-24 09:17:21 -0400}, + date-modified = {2012-04-24 09:17:42 -0400}, + organization = {IEEE}, + pages = {2534--2539}, + title = {A decentralized approach to multi-agent planning in the presence of constraints and uncertainty}, + year = {2011} +} + +@phdthesis{Undurti11_PhD, + author = {Aditya Undurti}, + date-added = {2011-08-19 14:24:21 -0400}, + date-modified = {2011-08-19 14:25:21 -0400}, + keywords = {Planning under uncertainty}, + month = {August}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Planning under Uncertainty and Constraints for Teams of Autonomous Agents}, + year = {2011} +} + +@inproceedings{Undurti11_SSRR, + author = {Aditya Undurti and Jonathan P. How}, + booktitle = {International Symposium on Safety, Security, and Rescue Robotics (SSRR)}, + date-added = {2011-08-17 14:58:18 -0400}, + date-modified = {2011-08-17 15:00:49 -0400}, + keywords = {decision making, decentralized algorithms}, + organization = {IEEE}, + pages = {290--295}, + title = {Decentralized Risk Sharing in Teams of Unmanned Vehicles}, + year = {2011} +} + +@conference{Undurti_ICRA2010, + author = {Aditya Undurti and Jonathan P. How}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2011-07-23 13:58:56 -0400}, + date-modified = {2011-07-23 13:58:56 -0400}, + owner = {Aditya}, + pages = {3966-3973}, + timestamp = {2010.09.09}, + title = {An Online Algorithm for Constrained {POMDP}s}, + year = {2010} +} + +@conference{Ure12_ECML, + author = {N. Kemal Ure and Alborz Geramifard and Girish Chowdhary and Jonathan P. How}, + bdsk-url-1 = {http://acl.mit.edu/papers/Ure12ECML.pdf}, + booktitle = {European Conference on Machine Learning (ECML)}, + date-modified = {2012-06-22 15:29:39 -0400}, + title = {{Adaptive Planning for Markov Decision Processes with Uncertain Transition Models via Incremental Feature Dependency Discovery}}, + url = {http://acl.mit.edu/papers/Ure12ECML.pdf}, + year = {2012} +} + +@inproceedings{Ure12_GNC, + address = {Minneapolis, MN}, + author = {Ure, N. K. and Chowdhary, G. and Redding, J. and Toksoz, T. and How, J. P. and Vavrina, M. and Vian, J.}, + booktitle = {Conference on Guidance Navigation and Control}, + date-modified = {2012-04-11 17:34:52 -0400}, + month = {August}, + organization = {AIAA}, + title = {Experimental demonstration of efficient multi-agent learning and planning for persistent missions in uncertain environments}, + year = {2012} +} + +@inbook{Ure13_BookChapter, + author = {Nazim Kemal Ure and Girish Chowdhary and Jonathan P How and John Vian}, + chapter = {{Multi-Agent Planning for Persistent Surveillance}}, + keywords = {UAV}, + publisher = {MIT Press}, + title = {{Planning Under Uncertainty}}, + year = {2013} +} + +@inproceedings{ure13_ECC, + address = {Zurich, Switzerland}, + author = {Nazim Kemal Ure and Girish Chowdhary and Jonathan P. How and Mathew Vavarina and John Vian}, + booktitle = {Proceedings of the European Control Conference}, + date-modified = {2013-05-08 19:11:29 +0000}, + month = {July}, + title = {Health Aware Planning Under Uncertainty for UAV Missions with Heterogeneous Teams}, + year = {2013} +} + +@inproceedings{Ure13_GNC, + address = {Washington DC}, + author = {Ure, Nazim Kemal and Chowdhary, Girish and Chen, Yu Fan and How, Jonathan P. and Vian, John}, + booktitle = {Conference on Guidance Navigation and Control}, + month = {August}, + organization = {AIAA}, + title = {Health-Aware Decentralized Planning and Learning for Large-scale Multiagent Missions}, + year = {2013} +} + +@inproceedings{Ure13_ICUAS, + address = {Atlanta GA}, + author = {Nazim Kemal Ure and Girish Chowdhary and Yu Fan Chen and Mark Cutler and Jonathan P. How and John Vian}, + booktitle = {International Conference on Unmanned Aircraft Systems}, + date-modified = {2014-01-03 21:03:38 +0000}, + month = {August}, + organization = {IEEE}, + title = {Decentralized Learning based Planning Multiagent Missions in Presence of Actuator Failures}, + year = {2013} +} + +@article{Ure13_JINT, + author = {Ure, N. Kemal and Chowdhary, Girish and Chen, Yu Fan and How, Jonathan P. and Vian, John}, + bdsk-url-1 = {http://dx.doi.org/10.1007/s10846-013-9980-x}, + doi = {10.1007/s10846-013-9980-x}, + issn = {0921-0296}, + journal = {Journal of Intelligent and Robotic Systems}, + pages = {1-16}, + publisher = {Springer Netherlands}, + title = {Distributed Learning for Planning Under Uncertainty Problems with Heterogeneous Teams}, + url = {http://dx.doi.org/10.1007/s10846-013-9980-x}, + year = {2013} +} + +@techreport{Ure13_Sup, + author = {Nazim Kemal Ure and Girish Chowdhary and Jonathan P. How and John Vian}, + bdsk-url-1 = {http://acl.mit.edu/papers/Proof.pdf}, + contact = {ure@mit.edu}, + institution = {Department of Aeronautics and Astronautics, Massachusetts Institute of Technology}, + month = {October}, + title = {Supplementary Document for:Health Aware Planning Under Uncertainty for Collaborating Heterogeneous Teams of Mobile Agents}, + url = {http://acl.mit.edu/papers/Proof.pdf}, + year = {2013} +} + +@inproceedings{Ure15_AAMAS, + author = {N. Kemal Ure and Joanthan P. How and and john Vian}, + booktitle = {Proceedings of the International Conference on Autonomous Agents and Multiagent Systems}, + date-modified = {2015-05-02 20:38:43 +0000}, + title = {{Randomized Coordination Search for Scalable Multiagent Planning}}, + year = {2015} +} + +@inproceedings{Ure15_IROS, + author = {Ure, N Kemal and Omidshafiei, Shayegan and Lopez, Brett Thomas and Agha-Mohammadi, Ali-akbar and How, Jonathan P and Vian, John}, + booktitle = {Intelligent Robots and Systems (IROS), 2015 IEEE/RSJ International Conference on}, + organization = {IEEE}, + pages = {5181--5188}, + title = {Online heterogeneous multiagent learning under limited communication with applications to forest fire management}, + year = {2015} +} + +@phdthesis{Ure15_PHD, + address = {Cambridge, MA}, + author = {N. Kemal Ure}, + month = {February}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Multiagent Planning and Learning Using Random Decompositions and Adaptive Representations}}, + year = {2015} +} + +@article{URE15_TRM, + author = {Ure, N Kemal and Chowdhary, Girish and Toksoz, Tuna and How, Jonathan P and Vavrina, Matthew A and Vian, John}, + date-added = {2015-05-02 20:40:07 +0000}, + date-modified = {2015-05-02 20:41:57 +0000}, + journal = {{IEEE/ASME Transactions on Mechatronics}}, + number = {1}, + pages = {275--286}, + publisher = {IEEE}, + title = {An automated battery management system to enable persistent missions with multiple aerial vehicles}, + volume = {20}, + year = {2015} +} + +@article{URE15_US, + author = {Ure, N Kemal and Chowdhary, Girish and How, Jonathan P and Vian, John}, + date-added = {2015-05-02 20:42:50 +0000}, + date-modified = {2015-05-02 20:43:06 +0000}, + journal = {Unmanned Systems}, + number = {02}, + pages = {89--107}, + publisher = {World Scientific}, + title = {Health Aware Planning Under Uncertainty for Collaborating Heterogeneous Teams of Mobile Agents}, + volume = {3}, + year = {2015} +} + +@inproceedings{Valenti04_GNC, + address = {Providence, RI}, + author = {M. Valenti and T. Schouwenaars and Y. Kuwata and E. Feron and J. P. How and J. Paunicka}, + bdsk-url-1 = {http://acl.mit.edu/papers/AIAA-2004-5142.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:39:34 -0400}, + date-modified = {2011-04-02 08:39:34 -0400}, + keywords = {UAV; decision making}, + month = {August}, + owner = {Brandon}, + timestamp = {2008.03.31}, + title = {Implementation of a Manned Vehicle-{UAV} Mission System}, + url = {http://acl.mit.edu/papers/AIAA-2004-5142.pdf}, + year = {2004} +} + +@inproceedings{Valenti06_GNC, + address = {Keystone, CO}, + author = {M. Valenti and B. Bethke and G. Fiore and J. P. How and E. Feron}, + bdsk-url-1 = {http://acl.mit.edu/papers/GNC06_ValentiHow.pdf}, + booktitle = {AIAA Guidance, Navigation, and Control Conference (GNC)}, + date-added = {2011-04-02 08:39:34 -0400}, + date-modified = {2011-04-02 08:39:34 -0400}, + keywords = {flight control; decision making}, + month = {August}, + pages = {1--18}, + title = {Indoor Multi-Vehicle Flight Testbed for Fault Detection, Isolation, and Recovery}, + url = {http://acl.mit.edu/papers/GNC06_ValentiHow.pdf}, + year = {2006} +} + +@conference{Valenti07_ACC, + address = {New York City, NY}, + author = {Valenti, M. and Bethke, B. and How, J. P. and de Farias, D. P. and Vian, J.}, + bdsk-url-1 = {10.1109/ACC.2007.4282719}, + bdsk-url-2 = {http://acl.mit.edu/papers/acc_hlth_mgmt_2007_mv_v0.pdf}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-12 09:36:31 -0400}, + date-modified = {2011-08-22 16:37:25 -0400}, + isbn = {0743-1619}, + keywords = {aircraft; condition monitoring; multi-robot systems; remotely operated vehicles; UAV teams; adaptive mission planning; autonomous multi-agent teams; coordinated multivehicle autonomous systems; embedding health management; mission tasking; mission-level functional reliability; decision making}, + month = {9-13 July}, + pages = {5777-5783}, + title = {{Embedding Health Management into Mission Tasking for UAV Teams}}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/acc_hlth_mgmt_2007_mv_v0.pdf}, + year = {2007} +} + +@inproceedings{Valenti07_GNC, + address = {Myrtle Beach, SC}, + author = {M. Valenti and D. Dale and J. How and J. Vian}, + booktitle = {Proceedings of the AIAA Guidance, Navigation, and Control Conference}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-04-02 08:38:42 -0400}, + keywords = {Optimization, Robustness, UAV, decision making}, + month = {August}, + owner = {Brandon}, + timestamp = {2009.01.26}, + title = {Mission Health Management for 24/7 Persistent Surveillance Operations}, + year = {2007} +} + +@inproceedings{Valenti07_ICRA, + author = {Valenti, M. and Bethke, B. and Dale, D. and Frank, A. and McGrew, J. and Ahrens, S. and How, J. P. and Vian, J.}, + bdsk-url-1 = {http://dx.doi.org/10.1109/ROBOT.2007.363882}, + bdsk-url-online-1 = {http://dx.doi.org/10.1109/ROBOT.2007.363882}, + booktitle = {IEEE International Conference on Robotics and Automation (ICRA)}, + date-added = {2011-04-02 08:23:07 -0400}, + date-modified = {2011-04-02 08:23:07 -0400}, + doi = {10.1109/ROBOT.2007.363882}, + keywords = {flight control, hardware}, + month = {10-14 April}, + owner = {Jonathan P. How}, + pages = {2758-2759}, + timestamp = {2008.02.23}, + title = {{The MIT Indoor Multi-Vehicle Flight Testbed}}, + url = {http://dx.doi.org/10.1109/ROBOT.2007.363882}, + year = {2007} +} + +@phdthesis{Valenti07_PhD, + address = {Cambridge MA}, + author = {Mario J. Valenti}, + bdsk-url-1 = {http://acl.mit.edu/papers/Valenti_PhD_2007.pdf}, + keywords = {UAV; decision making}, + month = {May}, + school = {Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science}, + title = {Approximate Dynamic Programming with Applications in Multi-Agent Systems}, + url = {http://acl.mit.edu/papers/Valenti_PhD_2007.pdf}, + year = {2007} +} + +@mastersthesis{VanderMey11_Masters, + address = {Cambridge MA}, + author = {Josiah T. VanderMey}, + bdsk-url-1 = {http://acl.mit.edu/papers/VanderMey_SM_Thesis.pdf}, + keywords = {flight control}, + month = {May}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{A Tilt Rotor UAV for Long Endurance Operations in Remote Environments}}, + url = {http://acl.mit.edu/papers/VanderMey_SM_Thesis.pdf}, + year = {2011} +} + +@inproceedings{Wadhwania19_IROS, + address = {Macau, China}, + author = {Wadhwania, Samir and Kim, Dong-Ki and Omidshafiei, Shayegan and How, Jonathan P}, + bdsk-url-1 = {https://arxiv.org/abs/1903.06592}, + booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + date-modified = {2019-03-18 06:27:00 -0400}, + month = {November}, + title = {Policy Distillation and Value Matching in Multiagent Reinforcement Learning}, + url = {https://arxiv.org/abs/1903.06592}, + year = {2019} +} + +@phdthesis{walsh2010efficient, + author = {Walsh, Thomas J}, + school = {Rutgers, The State University of New Jersey}, + title = {Efficient learning of relational models for sequential decision making}, + year = {2010} +} + +@article{Walter14_JFR, + author = {M. R. Walter and M. Antone and E. Chuangsuwanich and A. Correa and R. Davis and L. Fletcher and E. Frazzoli and Y. Friedman and J. Glass and J. P. How and J. Jeon and S. Karaman and B. Luders and N. Roy and S. Tellex and S. Teller}, + journal = {Journal of Field Robotics}, + title = {{A Situationally-Aware Voice-Commandable Robotic Forklift Working Alongside People in Unstructured Outdoor Environments}}, + year = {2014} +} + +@inproceedings{Wang19_ICML_WS, + address = {Long Beach, CA, USA}, + author = {Rose E Wang and Michael Everett and Jonathan P. How}, + bdsk-url-1 = {https://openreview.net/pdf?id=Ske_NJK2s4}, + booktitle = {ICML Workshop: Reinforcement Learning for Real Life}, + date-modified = {2019-06-22 06:18:08 -0400}, + month = {June}, + title = {R-MADDPG for Partially Observable Environments and Limited Communication}, + url = {https://openreview.net/pdf?id=Ske_NJK2s4}, + year = {2019} +} + +@conference{Wei17_TAC, + author = {Hongchuan Wei and Pingping Zhu and Miao Liu and Jonathan P. How and Silvia Ferrari}, + booktitle = {IEEE Transactions on Control}, + date-added = {2017-05-31 16:17:21 +0000}, + date-modified = {2018-05-16 14:13:27 +0000}, + title = {{Automatic Pan-tilt Camera Control for Learning Dirichlet Process Gaussian Process (DPGP) Mixture Models of Multiple Moving Targets}}, + year = {2017} +} + +@article{Wei2016_Auto, + author = {Wei, Hongchuan and Lu, Wenjie and Zhu, Pingping and Ferrari, Silvia and Liu, Miao and Klein, Robert H and Omidshafiei, Shayegan and How, Jonathan P}, + date-added = {2017-05-31 16:44:48 +0000}, + date-modified = {2017-05-31 16:44:48 +0000}, + journal = {Automatica}, + pages = {360--368}, + publisher = {Elsevier}, + title = {{Information value in nonparametric Dirichlet-process Gaussian-process (DPGP) mixture models}}, + volume = {74}, + year = {2016} +} + +@mastersthesis{Whitten10_Masters, + address = {Cambridge MA}, + author = {Andrew K. Whitten}, + bdsk-url-1 = {http://acl.mit.edu/papers/WhittenSM.pdf}, + keywords = {CBBA; task allocation}, + month = {September}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Decentralized Planning for Autonomous Agents Cooperating in Complex Missions}, + url = {http://acl.mit.edu/papers/WhittenSM.pdf}, + year = {2010} +} + +@inproceedings{Whitten11_ACC, + author = {A. K. Whitten and H.-L. Choi and L. Johnson and J. P. How}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 10:00:28 -0400}, + date-modified = {2011-11-08 19:20:46 -0500}, + keywords = {decision making}, + month = {June}, + pages = {1642 - 1649}, + title = {Decentralized Task Allocation with Coupled Constraints in Complex Missions}, + year = {2011} +} + +@mastersthesis{Wiken15_SM, + author = {James Neil Wiken}, + date-added = {2016-09-20 13:27:22 +0000}, + date-modified = {2016-09-20 13:27:22 +0000}, + month = {May}, + school = {Department of Aeronautics and Astronautics, Massachusetts Institute of Technology}, + title = {Analysis of a Quadrotor in Forward Flight}, + year = {2015} +} + +@inproceedings{Williams01ISAIRAS, + address = {St.~Hubert, Canada}, + author = {B.~Williams and P.~Kim and M.~Hofbaur and J.~How and J.~Kennell and J.~Loy and R.~Ragno and J.~Stedl and A.~Walcott}, + booktitle = {International Symposium on Artificial Intelligence and Robotics \& Atomation in Space}, + date-added = {2011-07-09 17:32:59 -0400}, + date-modified = {2011-07-09 17:33:28 -0400}, + keywords = {decision making}, + title = {{Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration}}, + year = {2001} +} + +@conference{Woodley01_ACC, + author = {Woodley, B. R. and How, J. P. and Kosut, R. L.}, + bdsk-url-online-1 = {10.1109/ACC.2001.946293}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 08:38:42 -0400}, + date-modified = {2011-07-08 11:15:50 -0400}, + keywords = {robust control}, + pages = {2712-2717}, + title = {Model free subspace based $\mathcal{H}_\infty$ control}, + ty = {CONF}, + url-online = {10.1109/ACC.2001.946293}, + vo = {4}, + volume = {4}, + year = {2001} +} + +@article{Woodley01_IJACSP, + author = {Woodley, B. R. and How, J. P. and Kosut, R. L.}, + date-added = {2011-07-08 08:56:01 -0400}, + date-modified = {2011-07-08 08:56:50 -0400}, + journal = {International Journal of Adaptive Control and Signal Processing}, + keywords = {adaptive control}, + number = {5}, + pages = {535--561}, + publisher = {Wiley Online Library}, + title = {Subspace based direct adaptive $\mathcal{H}_\infty$ control}, + volume = {15}, + year = {2001} +} + +@phdthesis{Woodley01_PhD, + address = {Cambridge MA}, + author = {Bruce R. Woodley}, + bdsk-url-1 = {http://acl.mit.edu/papers/Woodley_PhD.pdf}, + date-modified = {2011-07-08 11:20:09 -0400}, + keywords = {robust control}, + month = {January}, + school = {Stanford University, Department of Electrical Engineering}, + title = {Model Free Subspace Based $\mathcal{H}_{\infty}$ Control}, + url = {http://acl.mit.edu/papers/Woodley_PhD.pdf}, + year = {2001} +} + +@conference{Woodley98_ACC, + author = {Woodley, B. R. and Kosut, R. L. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/unfals.pdf}, + bdsk-url-online-1 = {10.1109/ACC.1998.688353}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + keywords = {adaptive control; control system synthesis; modelling; robust control; simulation; uncertain systems; adaptive control algorithms; disturbances; linear time-invariant dynamic uncertainty; prediction error modeling; robust control; sensor/process disturbances; simulation; tradeoff; uncertainty model unfalsification; unfalsified dynamic uncertainties}, + month = {21-26 June}, + pages = {2754-2755}, + title = {Uncertainty model unfalsification with simulation}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/unfals.pdf}, + url-online = {10.1109/ACC.1998.688353}, + vo = {5}, + volume = {5}, + year = {1998} +} + +@conference{Woodley99_ACC, + author = {Woodley, B. R. and How, J. P. and Kosut, R. L.}, + bdsk-url-1 = {http://acl.mit.edu/papers/woodley_ACC99.pdf}, + bdsk-url-online-1 = {10.1109/ACC.1999.782376}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-02 09:23:15 -0400}, + date-modified = {2011-04-02 09:23:15 -0400}, + keywords = {control system synthesis; discrete systems; feedback control; linear programming; linear systems; transfer functions; convex optimization; direct unfalsified controller design; global optimum; output feedback controllers; performance specification; plant input-output time history; time domain error}, + pages = {3302-3306}, + title = {Direct unfalsified controller design-solution via convex optimization}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/woodley_ACC99.pdf}, + url-online = {10.1109/ACC.1999.782376}, + vo = {5}, + volume = {5}, + year = {1999} +} + +@mastersthesis{Wu11_Masters, + address = {Cambridge MA}, + author = {Albert Wu}, + bdsk-url-1 = {http://acl.mit.edu/papers/WuSM.pdf}, + keywords = {path planning, decision making}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {{Guaranteed Avoidance of Unpredictable, Dynamically Constrained Obstacles using Velocity Obstacle Sets}}, + url = {http://acl.mit.edu/papers/WuSM.pdf}, + year = {2011} +} + +@article{Wu12_AR, + author = {Wu, Albert and How, Jonathan P}, + date-added = {2013-04-14 12:03:00 +0000}, + date-modified = {2013-04-14 12:03:10 +0000}, + journal = {Autonomous Robots}, + number = {3}, + pages = {227--242}, + publisher = {Springer}, + title = {Guaranteed infinite horizon avoidance of unpredictable, dynamically constrained obstacles}, + volume = {32}, + year = {2012} +} + +@conference{Xiao00_ACC, + author = {L. Xiao and Hassibi, A. and How, J. P.}, + bdsk-url-1 = {http://acl.mit.edu/papers/ACC2000.pdf}, + bdsk-url-online-1 = {10.1109/ACC.2000.879591}, + booktitle = {American Control Conference (ACC)}, + date-added = {2011-04-18 10:00:06 -0400}, + date-modified = {2011-07-23 13:27:47 -0400}, + keywords = {{M}arkov processes; control system synthesis; covariance matrices; digital control; discrete time systems; iterative methods; linear systems; multidimensional systems; stability; state feedback; V-K iteration algorithm; augmented state-space model; convex optimization problems; digital control systems; finite-dimensional discrete-time jump linear systems; finite-state {M}arkov chains; linear matrix inequalities; random communication delays; stochastic hybrid system; transition probability matrix; feedback control}, + pages = {2199-2204}, + title = {Control with random communication delays via a discrete-time jump system approach}, + ty = {CONF}, + url = {http://acl.mit.edu/papers/ACC2000.pdf}, + url-online = {10.1109/ACC.2000.879591}, + volume = {3}, + year = {2000} +} + +@mastersthesis{Yang03_Masters, + address = {Cambridge MA}, + author = {Yang, Trent}, + bdsk-url-1 = {http://dspace.mit.edu/handle/1721.1/26899}, + keywords = {formation flight}, + month = {June}, + school = {Massachusetts Institute of Technology, Department of Aeronautics and Astronautics}, + title = {Optimal Thruster Selection with Robust Estimation for Formation Flying Applications}, + url = {http://dspace.mit.edu/handle/1721.1/26899}, + year = {2003} +} + +@article{zhao2023efficient, + author = {Zhao, Tong and Tagliabue, Andrea and How, Jonathan P}, + journal = {2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + title = {Efficient Deep Learning of Robust, Adaptive Policies using Tube MPC-Guided Data Augmentation}, + year = {2023} +} diff --git a/bibliography/README.md b/bibliography/README.md new file mode 100644 index 0000000..ff4b3cb --- /dev/null +++ b/bibliography/README.md @@ -0,0 +1,16 @@ +# bibliography + +Definitive record of all ACL publications. This file should be updated regularly as new works are published. + +The website's Publications page and projects' "Related Publications" are built from `ACL_Publications.bib`, +formatted with `aiaa.csl`. (This directory used to be the separate +[mit-acl/bibliography](https://github.com/mit-acl/bibliography) repo; its history was merged in.) + + +## Test before you commit +Before committing run `./bibtex_test.py` to ensure you didn't introduce any typos to the file. + +At the time of writing, you can install the required library for `bibtex_test.py` with +```bash +pip install --pre bibtexparser +``` diff --git a/bibliography/aiaa.csl b/bibliography/aiaa.csl new file mode 100644 index 0000000..163858d --- /dev/null +++ b/bibliography/aiaa.csl @@ -0,0 +1,133 @@ + + diff --git a/bibliography/bibtex_test.py b/bibliography/bibtex_test.py new file mode 100755 index 0000000..5f008a7 --- /dev/null +++ b/bibliography/bibtex_test.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +import sys +import bibtexparser + +infile = 'ACL_Publications.bib' + +try: + with open(infile) as READ: + data = READ.read() + lib = bibtexparser.parse_string(data) + if len(lib.failed_blocks) > 0: + errors = True + for block in lib.failed_blocks: + print("Probably a duplicate:") + print(block.raw) + else: + errors = False +except Exception as e: + errors = False + print(type(e)) + print(e) + +if errors: + print('something is wrong!') + sys.exit(1) +else: + print('looks good!') diff --git a/bibliography/merge_pubs.py b/bibliography/merge_pubs.py new file mode 100644 index 0000000..a88336f --- /dev/null +++ b/bibliography/merge_pubs.py @@ -0,0 +1,33 @@ +import bibtexparser +import argparse + +# Parse command-line arguments +parser = argparse.ArgumentParser(description="Merge BibTeX files.") +parser.add_argument("new_bib_file", help="Path to the new BibTeX file.") +parser.add_argument("target_bib_file", help="Path to the target BibTeX file.") +args = parser.parse_args() + +# Load the new BibTeX file +with open(args.new_bib_file) as new_bib_file: + new_bib = bibtexparser.load(new_bib_file) + +# Load the target BibTeX file +try: + with open(args.target_bib_file) as target_bib_file: + target_bib = bibtexparser.load(target_bib_file) +except FileNotFoundError: + target_bib = bibtexparser.bibdatabase.BibDatabase() + +# Create a dictionary of existing entries for quick lookup +existing_entries = {entry['ID']: entry for entry in target_bib.entries} + +# Update or add entries +for entry in new_bib.entries: + existing_entries[entry['ID']] = entry + +# Write the updated BibTeX file +target_bib.entries = list(existing_entries.values()) +with open(args.target_bib_file, "w") as target_bib_file: + bibtexparser.dump(target_bib, target_bib_file) + +print(f"Updated {args.target_bib_file} with entries from {args.new_bib_file}") diff --git a/bibliography/update_pub.sh b/bibliography/update_pub.sh new file mode 100755 index 0000000..a508f2e --- /dev/null +++ b/bibliography/update_pub.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +set -e # Exit on error + +# Variables +REPO_DIR="$(pwd)" # Path to your local repository +NEW_BIB_FILE="$REPO_DIR/update.bib" # Path to the new BibTeX file +# Check if the new BibTeX file exists +if [ ! -f "$NEW_BIB_FILE" ]; then + echo "New BibTeX file not found: $NEW_BIB_FILE" + exit 1 +fi +TARGET_BIB="$REPO_DIR/ACL_Publications.bib" + +read -p "Enter your Kerberos: " KERB +BRANCH_NAME="update-bib-${KERB}-$(date +%Y%m%d)" +COMMIT_MSG="Update bibliography with new entries from $KERB" + +# Step 1: Update or append new entries +echo "Updating or appending entries in $TARGET_BIB" + +# Use a Python script to handle the merging of BibTeX files +python "$REPO_DIR/merge_pubs.py" "$NEW_BIB_FILE" "$TARGET_BIB" + +# Step 1.5: Run bibtex_test.py and check its exit code +echo "Running bibtex_test.py to validate the updated BibTeX file" +if ! python "$REPO_DIR/bibtex_test.py" "$TARGET_BIB"; then + echo "Error: bibtex_test.py reported an issue with the updated BibTeX file." + exit 1 +fi + +# Step 2: Git ops +# git checkout main +# git pull origin main +# git checkout -b "$BRANCH_NAME" +# git add "$TARGET_BIB" +# git commit -m "$COMMIT_MSG" +# git push origin "$BRANCH_NAME" + +# Step 3: Create PR +gh pr create --title "$COMMIT_MSG" --body "This PR adds new BibTeX entries from $KERB." --base main --head "$BRANCH_NAME" + +echo "Pull request created!" \ No newline at end of file diff --git a/css/style.scss b/css/style.scss deleted file mode 100644 index a7282df..0000000 --- a/css/style.scss +++ /dev/null @@ -1,174 +0,0 @@ ---- ---- - -// - - - - - - - - - - Foundations - -@import "_reset"; -@import "_mixins"; -@import "_plugins"; - -// - - - - - - - - - - Variables - - -// Colors - -$background-color: {{ site.data.settings.color_settings.background_color }}; -$background-alt-color: {{ site.data.settings.color_settings.background_alt_color }}; -$border-color: {{ site.data.settings.color_settings.border_color }}; - -$text-dark-color: {{ site.data.settings.color_settings.text_dark_color }}; -$text-medium-color: {{ site.data.settings.color_settings.text_medium_color }}; -$text-light-color: {{ site.data.settings.color_settings.text_light_color }}; - -$accent-color: {{ site.data.settings.color_settings.accent_color }}; - -$overlay-background-color: {{ site.data.settings.color_settings.overlay_background_color }}; -$overlay-background-color-one: {{ site.data.settings.color_settings.overlay_background_color_one }}; -$overlay-background-color-two: {{ site.data.settings.color_settings.overlay_background_color_two }}; -$overlay-background-color-three: {{ site.data.settings.color_settings.overlay_background_color_three }}; -$overlay-text-color: {{ site.data.settings.color_settings.overlay_text_color }}; -$overlay-accent-color: {{ site.data.settings.color_settings.overlay_accent_color }}; - -$error-color: {{ site.data.settings.color_settings.error_color }}; - - -// Fonts - -$body-font: {{ site.data.settings.font_settings.body_font }}; -$title-font: {{ site.data.settings.font_settings.title_font }}; - -$regular-weight: {{ site.data.settings.font_settings.regular_weight }}; -$bold-weight: {{ site.data.settings.font_settings.bold_weight }}; - - -// Typography - -$sitetitle-small: {{ site.data.settings.font_settings.site_title.small_size }}px; -$sitetitle-medium: {{ site.data.settings.font_settings.site_title.medium_size }}px; -$sitetitle-large: {{ site.data.settings.font_settings.site_title.large_size }}px; -$sitetitle-weight: {{ site.data.settings.font_settings.site_title.weight }}; -$sitetitle-spacing: {{ site.data.settings.font_settings.site_title.letter_spacing }}em; - -$sitetagline-small: {{ site.data.settings.font_settings.site_tagline.small_size }}px; -$sitetagline-medium: {{ site.data.settings.font_settings.site_tagline.medium_size }}px; -$sitetagline-large: {{ site.data.settings.font_settings.site_tagline.large_size }}px; -$sitetagline-weight: {{ site.data.settings.font_settings.site_tagline.weight }}; -$sitetagline-spacing: {{ site.data.settings.font_settings.site_tagline.letter_spacing }}em; -$sitetagline-lineheight: {{ site.data.settings.font_settings.site_tagline.line_height }}; - -$menu-small: {{ site.data.settings.font_settings.menu.small_size }}px; -$menu-medium: {{ site.data.settings.font_settings.menu.medium_size }}px; -$menu-large: {{ site.data.settings.font_settings.menu.large_size }}px; -$menu-weight: {{ site.data.settings.font_settings.menu.weight }}; -$menu-spacing: {{ site.data.settings.font_settings.menu.letter_spacing }}em; - -$grid-item-title-small: {{ site.data.settings.font_settings.grid_item_title.small_size }}px; -$grid-item-title-medium: {{ site.data.settings.font_settings.grid_item_title.medium_size }}px; -$grid-item-title-large: {{ site.data.settings.font_settings.grid_item_title.large_size }}px; -$grid-item-title-weight: {{ site.data.settings.font_settings.grid_item_title.weight }}; -$grid-item-title-spacing: {{ site.data.settings.font_settings.grid_item_title.letter_spacing }}em; - -$grid-item-subtitle-small: {{ site.data.settings.font_settings.grid_item_subtitle.small_size }}px; -$grid-item-subtitle-medium: {{ site.data.settings.font_settings.grid_item_subtitle.medium_size }}px; -$grid-item-subtitle-large: {{ site.data.settings.font_settings.grid_item_subtitle.large_size }}px; -$grid-item-subtitle-weight: {{ site.data.settings.font_settings.grid_item_subtitle.weight }}; -$grid-item-subtitle-spacing: {{ site.data.settings.font_settings.grid_item_subtitle.letter_spacing }}em; - -$h1-small: {{ site.data.settings.font_settings.h1.small_size }}px; -$h1-medium: {{ site.data.settings.font_settings.h1.medium_size }}px; -$h1-large: {{ site.data.settings.font_settings.h1.large_size }}px; -$h1-weight: {{ site.data.settings.font_settings.h1.weight }}; -$h1-spacing: {{ site.data.settings.font_settings.h1.letter_spacing }}em; -$h1-lineheight: {{ site.data.settings.font_settings.h1.line_height }}; - -$h2-small: {{ site.data.settings.font_settings.h2.small_size }}px; -$h2-medium: {{ site.data.settings.font_settings.h2.medium_size }}px; -$h2-large: {{ site.data.settings.font_settings.h2.large_size }}px; -$h2-weight: {{ site.data.settings.font_settings.h2.weight }}; -$h2-spacing: {{ site.data.settings.font_settings.h2.letter_spacing }}em; -$h2-lineheight: {{ site.data.settings.font_settings.h2.line_height }}; - -$h3-small: {{ site.data.settings.font_settings.h3.small_size }}px; -$h3-medium: {{ site.data.settings.font_settings.h3.medium_size }}px; -$h3-large: {{ site.data.settings.font_settings.h3.large_size }}px; -$h3-weight: {{ site.data.settings.font_settings.h3.weight }}; -$h3-spacing: {{ site.data.settings.font_settings.h3.letter_spacing }}em; -$h3-lineheight: {{ site.data.settings.font_settings.h3.line_height }}; - -$h4-small: {{ site.data.settings.font_settings.h4.small_size }}px; -$h4-medium: {{ site.data.settings.font_settings.h4.medium_size }}px; -$h4-large: {{ site.data.settings.font_settings.h4.large_size }}px; -$h4-weight: {{ site.data.settings.font_settings.h4.weight }}; -$h4-spacing: {{ site.data.settings.font_settings.h4.letter_spacing }}em; -$h4-lineheight: {{ site.data.settings.font_settings.h4.line_height }}; - -$h5-small: {{ site.data.settings.font_settings.h5.small_size }}px; -$h5-medium: {{ site.data.settings.font_settings.h5.medium_size }}px; -$h5-large: {{ site.data.settings.font_settings.h5.large_size }}px; -$h5-weight: {{ site.data.settings.font_settings.h5.weight }}; -$h5-spacing: {{ site.data.settings.font_settings.h5.letter_spacing }}em; -$h5-lineheight: {{ site.data.settings.font_settings.h5.line_height }}; - -$h6-small: {{ site.data.settings.font_settings.h6.small_size }}px; -$h6-medium: {{ site.data.settings.font_settings.h6.medium_size }}px; -$h6-large: {{ site.data.settings.font_settings.h6.large_size }}px; -$h6-weight: {{ site.data.settings.font_settings.h6.weight }}; -$h6-spacing: {{ site.data.settings.font_settings.h6.letter_spacing }}em; -$h6-lineheight: {{ site.data.settings.font_settings.h6.line_height }}; - -$p-small: {{ site.data.settings.font_settings.p.small_size }}px; -$p-medium: {{ site.data.settings.font_settings.p.medium_size }}px; -$p-large: {{ site.data.settings.font_settings.p.large_size }}px; -$p-weight: {{ site.data.settings.font_settings.p.weight }}; -$p-spacing: {{ site.data.settings.font_settings.p.letter_spacing }}em; -$p-lineheight: {{ site.data.settings.font_settings.p.line_height }}; - -$blockquote-small: {{ site.data.settings.font_settings.blockquote.small_size }}px; -$blockquote-medium: {{ site.data.settings.font_settings.blockquote.medium_size }}px; -$blockquote-large: {{ site.data.settings.font_settings.blockquote.large_size }}px; -$blockquote-weight: {{ site.data.settings.font_settings.blockquote.weight }}; -$blockquote-spacing: {{ site.data.settings.font_settings.blockquote.letter_spacing }}em; -$blockquote-lineheight: {{ site.data.settings.font_settings.blockquote.line_height }}; - -$button-weight: {{ site.data.settings.font_settings.buttons.weight }}; -$button-spacing: {{ site.data.settings.font_settings.buttons.letter_spacing }}em; - -$blogpost-small: {{ site.data.settings.font_settings.blogpost.small_size }}px; -$blogpost-medium: {{ site.data.settings.font_settings.blogpost.medium_size }}px; -$blogpost-large: {{ site.data.settings.font_settings.blogpost.large_size }}px; -$blogpost-weight: {{ site.data.settings.font_settings.blogpost.weight }}; -$blogpost-spacing: {{ site.data.settings.font_settings.blogpost.letter_spacing }}em; -$blogpost-lineheight: {{ site.data.settings.font_settings.blogpost.line_height }}; - -// Logo -$logo-width: {{ site.data.settings.header_settings.logo_width }}px; -$footer-logo-width: {{ site.data.settings.footer_settings.logo_width }}px; - - -// Grid item -$overlay-opacity: {{ site.data.settings.grid_settings.overlay_opacity }}; -$grid-spacing: {{ site.data.settings.grid_settings.grid_spacing }}px; - - - -// - - - - - - - - - - Global styles - -@import "_basic"; - -@import "_includes/_header"; -@import "_includes/_footer"; - -@import "_includes/_content"; -@import "_includes/_socials"; -@import "_includes/_gallery"; -@import "_includes/_syntax"; -@import "_includes/_contact-form"; - -// - - - - - - - - - - Section styles - -@import "_includes/_portfolio"; -@import "_includes/_blog"; -@import "_member"; -@import "_bib"; -@import "_posts"; -@import "_publications"; \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5619106 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,27 @@ +# Local development for the ACL website. +# ./serve.sh -> live dev server at http://localhost:4321 +# ./serve.sh build -> produce the static site into ./dist +# +# Nothing here deploys anywhere; this is purely for previewing changes locally +# before you commit them. +services: + web: + build: . + ports: + - "4321:4321" + volumes: + # Live-mount the project so edits to Markdown/components hot-reload. + # node_modules is populated on the host from the image (Linux/alpine + # build) and carried in via this bind mount. We previously shadowed it + # with an anonymous volume (`- /app/node_modules`), but this Docker + # Desktop version fails to auto-populate that volume from the image under + # `compose up` (astro: not found), so we rely on the bind mount instead. + - .:/app + # Astro deletes and recreates .astro/ on every run, which fails with + # ENOENT on Docker Desktop bind mounts; keep it inside the container. + - /app/.astro + environment: + # macOS bind mounts don't emit native fs events; poll so HMR works. + - CHOKIDAR_USEPOLLING=true + - CHOKIDAR_INTERVAL=300 + command: npm run dev diff --git a/index.html b/index.html deleted file mode 100644 index c2059fb..0000000 --- a/index.html +++ /dev/null @@ -1,90 +0,0 @@ ---- -layout: default -title: Massachusetts Institute of Technology -description: The Aerospace Controls Laboratory at MIT -featured_image: /images/social.jpg ---- - -
-
- - {% if paginator.page == 1 %} - - {% for post in site.pinned_posts %} - - - - - - - {% endfor %} -
-

- {{ post.title }} -

- {% if post.date %} - - {% endif %} -
- {{ post.content }} -
- {% endif %} -

Recent News

- - - - -
- - - {% for post in paginator.posts %} - - - - - {% if post.featured_image %} - - - {% else %} - - {% endif %} - - {% endfor %} -
-

- {{ post.title }} -

- -
- {{ post.content }} - - - - {{ post.content }} -
-
-
-
- -{% if paginator.total_pages > 1 %} - -
- - {% if paginator.previous_page %} - - {% endif %} - {% if paginator.next_page %} - - {% endif %} - -
- -{% endif %} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..50cbb3b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7046 @@ +{ + "name": "acl-website", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "acl-website", + "version": "1.0.0", + "dependencies": { + "@citation-js/core": "^0.7.14", + "@citation-js/plugin-bibtex": "^0.7.14", + "@citation-js/plugin-csl": "^0.7.14", + "astro": "^5.2.0", + "remark-smartypants": "^3.0.2", + "sass": "^1.83.0" + }, + "devDependencies": { + "@astrojs/check": "^0.9.4", + "@types/node": "^20.19.43", + "typescript": "^5.7.0" + } + }, + "node_modules/@astrojs/astro2tsx": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@astrojs/astro2tsx/-/astro2tsx-0.1.2.tgz", + "integrity": "sha512-Uj/M9zbrhu5cIZEvWAGTbQJRKSxXWJ/E59BZwt7F+chrKhbfttW+9rkS/l+1QxoJP1KU3UnpM62M7yszfAI0WA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "1.11.3", + "@napi-rs/wasm-runtime": "1.2.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/check": { + "version": "0.9.10", + "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.10.tgz", + "integrity": "sha512-zgx/UQMozdjOa3bOxjgeCFdtpE3c9rRX6xHwa+2QXvy8z8Akifu2AtubHyv/zzC2znO8dl8fFWL4K+Ba9kS8HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@astrojs/language-server": "^2.16.7", + "chokidar": "^4.0.3", + "kleur": "^4.1.5", + "yargs": "^18.0.0" + }, + "bin": { + "astro-check": "bin/astro-check.js" + }, + "peerDependencies": { + "typescript": "^5.0.0 || ^6.0.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz", + "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.6.tgz", + "integrity": "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==", + "license": "MIT" + }, + "node_modules/@astrojs/language-server": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.17.1.tgz", + "integrity": "sha512-gG7bvMVNIXgoSe1pM9dI1HsSDLU1EIc/dSAYQ0DuReLyLkOBjsiqvaRYgQltWaldLxh0bNEqjgreLfjd9OnUxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@astrojs/astro2tsx": "^0.1.0", + "@astrojs/yaml2ts": "^0.2.4", + "@volar/kit": "~2.4.28", + "@volar/language-core": "~2.4.28", + "@volar/language-server": "~2.4.28", + "@volar/language-service": "~2.4.28", + "muggle-string": "^0.4.1", + "tinyglobby": "^0.2.17", + "volar-service-css": "0.0.71", + "volar-service-emmet": "0.0.71", + "volar-service-html": "0.0.71", + "volar-service-prettier": "0.0.71", + "volar-service-typescript": "0.0.71", + "volar-service-typescript-twoslash-queries": "0.0.71", + "volar-service-yaml": "0.0.71", + "vscode-html-languageservice": "^5.6.2", + "vscode-uri": "^3.2.0" + }, + "bin": { + "astro-ls": "bin/nodeServer.js" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "prettier-plugin-astro": ">=0.11.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + } + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "6.3.11", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.11.tgz", + "integrity": "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", + "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", + "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.2.0", + "debug": "^4.4.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "is-docker": "^3.0.0", + "is-wsl": "^3.1.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/yaml2ts": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@astrojs/yaml2ts/-/yaml2ts-0.2.4.tgz", + "integrity": "sha512-8oddpOae35pJsXPQXhTkM0ypfKPskVsh2bCxRtbf7e+/Epw2nReakFYpLKjZMEr75CsoF203PMnCocpfz0s69A==", + "dev": true, + "license": "MIT", + "dependencies": { + "yaml": "^2.8.3" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.9.tgz", + "integrity": "sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz", + "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@citation-js/core": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/@citation-js/core/-/core-0.7.21.tgz", + "integrity": "sha512-Vobv2/Yfnn6C6BVO/pvj7madQ7Mfzl83/jAWwixbemGF6ZThhGMz8++FD9hWHyHXDMYuLGa6fK68c2VsolZmTA==", + "license": "MIT", + "dependencies": { + "@citation-js/date": "^0.5.0", + "@citation-js/name": "^0.4.2", + "fetch-ponyfill": "^7.1.0", + "sync-fetch": "^0.4.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@citation-js/date": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@citation-js/date/-/date-0.5.1.tgz", + "integrity": "sha512-1iDKAZ4ie48PVhovsOXQ+C6o55dWJloXqtznnnKy6CltJBQLIuLLuUqa8zlIvma0ZigjVjgDUhnVaNU1MErtZw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@citation-js/name": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@citation-js/name/-/name-0.4.2.tgz", + "integrity": "sha512-brSPsjs2fOVzSnARLKu0qncn6suWjHVQtrqSUrnqyaRH95r/Ad4wPF5EsoWr+Dx8HzkCGb/ogmoAzfCsqlTwTQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@citation-js/plugin-bibtex": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/@citation-js/plugin-bibtex/-/plugin-bibtex-0.7.21.tgz", + "integrity": "sha512-O008pSsJgiYKn4+7gAWrbNpNdUH++aMeYmZaJ2oFQ8X1tcY5jNBxJcr0zZojNtUi5CVOaXXHQ0yIifoUhuF2Vg==", + "license": "MIT", + "dependencies": { + "@citation-js/date": "^0.5.0", + "@citation-js/name": "^0.4.2", + "moo": "^0.5.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@citation-js/core": "^0.7.0" + } + }, + "node_modules/@citation-js/plugin-csl": { + "version": "0.7.22", + "resolved": "https://registry.npmjs.org/@citation-js/plugin-csl/-/plugin-csl-0.7.22.tgz", + "integrity": "sha512-/rGdtbeP3nS4uZDdEbQUHT8PrUcIs0da2t+sWMKYXoOhXQqfw3oJJ7p4tUD+R8lptyIR5Eq20/DFk/kQDdLpYg==", + "license": "MIT", + "dependencies": { + "@citation-js/date": "^0.5.0", + "citeproc": "^2.4.6" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@citation-js/core": "^0.7.0" + } + }, + "node_modules/@emmetio/abbreviation": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", + "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-abbreviation": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", + "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-parser": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.1.tgz", + "integrity": "sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/stream-reader": "^2.2.0", + "@emmetio/stream-reader-utils": "^0.1.0" + } + }, + "node_modules/@emmetio/html-matcher": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-1.3.0.tgz", + "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/scanner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz", + "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz", + "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emnapi/core": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.3.tgz", + "integrity": "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/wasi-threads": "1.2.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz", + "integrity": "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", + "license": "MIT" + }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.4.tgz", + "integrity": "sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.4", + "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.4" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@parcel/watcher": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.6.0.tgz", + "integrity": "sha512-7FNeNl8NCE7aINx7WXiKQrPYZWC/hvrTsmk6zmxbI7LTXE7hVek/n8AfVgpe2y82zl3w0HvCHN0bVKMBoJcC0w==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.6.0", + "@parcel/watcher-darwin-arm64": "2.6.0", + "@parcel/watcher-darwin-x64": "2.6.0", + "@parcel/watcher-freebsd-x64": "2.6.0", + "@parcel/watcher-linux-arm-glibc": "2.6.0", + "@parcel/watcher-linux-arm-musl": "2.6.0", + "@parcel/watcher-linux-arm64-glibc": "2.6.0", + "@parcel/watcher-linux-arm64-musl": "2.6.0", + "@parcel/watcher-linux-x64-glibc": "2.6.0", + "@parcel/watcher-linux-x64-musl": "2.6.0", + "@parcel/watcher-win32-arm64": "2.6.0", + "@parcel/watcher-win32-x64": "2.6.0" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.6.0.tgz", + "integrity": "sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.6.0.tgz", + "integrity": "sha512-Y3QV0gl7Q1zbfueunkWIERICbEojQFCgpyG7YqOGNFLsckXyI1xu9mAIUpKY9QBYzBtSkN8dBPwd3yiAO9ovMw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.6.0.tgz", + "integrity": "sha512-Ohv6OpzhUfKYD7Beb8kDvG0jbIxORCYY1JRdZnaBtnjjkJxgD7ZVL0nw2sCYd0yTMKTvz3nnTnOF3cDifK+kvw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.6.0.tgz", + "integrity": "sha512-5HmXvDgs8VK+74jF9y9/2FE3/OnlcKmc56tjmSrEuZjpSZOGL+fvAu+HKJBdPs9uwoP2hE6TlSUpXZ/C5jUFmQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.6.0.tgz", + "integrity": "sha512-Ps/hui3A+vMbjdqlqAowK2ZL8+BO8dBjxeWXj6npTBs3jx4wWmbPpaLuqwrQrSqIVMCnpWo238bJ1U37GhQOYg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.6.0.tgz", + "integrity": "sha512-9c6AUHgHoG+IY88MRIHupztQiQnrbqHYQjkM2btA+Bf/wQnQMuiD0Wfk1EVv3TlNT3x41uU71rn6E4xh/+zvkw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.6.0.tgz", + "integrity": "sha512-yHRqS2owEXe6Hic9z6Mh1ECsCd+ODVOGvZDyciqRd21+v+o+DnXMOrw50DSpIG2sb8GPEaPPmfeCAWKPJdq46g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.6.0.tgz", + "integrity": "sha512-WhB2e/V7rqdHHWZusBSPuy5Ei8S6lSz6FE5TKKQz5h3a0O+C+mhY7vxU9b/stqvMb8beLnPY82ZrFTLKs+SrKA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.6.0.tgz", + "integrity": "sha512-ulGE6x6Oz6iAwg75T8YQSoguBWasniIbX+QWpaYPcCnDOpdWX3k+4xbEYPZVLxOuoJI+svJJPD3sEj8G7lrQ3A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.6.0.tgz", + "integrity": "sha512-tkBYKt7YQrjIJWYDnto2YgO8MRkjlMTSNoRHzsXinBqbLdeOM3L32wPZJvIZxqaLMfSlS/4sUjH/6STVP/XDLw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.6.0.tgz", + "integrity": "sha512-gIZAP23jaHjGWasY/TY6yL7NHFClf0Ga7FN+iINvk+KN94rhm94lYZhFsbYFNcA04/onvGD9kKmiJLJB2HbNwQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.6.0.tgz", + "integrity": "sha512-cA+/pXV2YkfxlIcXOQ5fSWqAzzPyD78/x5qbK/I0vUkrlYHA8TIz+MXjAbGouguKVSI4bOmkTSJ1/poVSsgt+A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.4.0.tgz", + "integrity": "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.64.0.tgz", + "integrity": "sha512-FLLpX941CD/7aBvX3GqLGBM9OvY5PGXTryPJkG5r5/OuBpZpV5k45Uo3RxAvqd35tsyc3hH1bhtz921IKzoIzg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.64.0.tgz", + "integrity": "sha512-iI32XM/jnDYJsvx5ai/za/7gWO9XoSeFFtU06/ZCaRgyilfJOjaopD3nOpk2WrTCGOyeDt4hleUiGOAnd5tHNg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.64.0.tgz", + "integrity": "sha512-dRBZlbt2sEtF8Mn4MODThze9fIPdDoOhVSlXMAKy5dQbOYK9pOOoPY4Fat3OTtr0+8zbJo5TTZwlsfxY/kDNJg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.64.0.tgz", + "integrity": "sha512-Y3whrJOMucfkhgNkvcM93M6j8C53iEAMmPMYD99C6G1kUy4ELigLWk9ar2/4aCBSRgsql0zdlOemLgW2m5GZgQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.64.0.tgz", + "integrity": "sha512-S6S1GEzPjFF6IONYJX3AKt/799+8RgBgCcwRnUo+Ep1IvBxUbw5M51iU0TDdK2NWWVnSvCQ8yi6Em0fGASMOng==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.64.0.tgz", + "integrity": "sha512-Ed1DPoFENkXj4IGzSB12SesV40iP6LxCCrbTIkSGIQBpOOxpBM+0kj62lmaeIHfMWTDoddqTOtqc7s8LYfn+Pw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.64.0.tgz", + "integrity": "sha512-J/6xhutJPtFyIkmHdf4olOdHHKH5kOJNumojdWn+Elv5ICEYTVOa362Vw27TxsK0BLzb1le3EDlO3UbvFK1lnQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.64.0.tgz", + "integrity": "sha512-G4L/Nnx59d2LvDoV/P4S5lZ7oVLT6hodOHMacqjiq2LL2gts86KbkEBTYL53+fBt0odhf7XPIbIATGoYiJctxg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.64.0.tgz", + "integrity": "sha512-zF16pvJDEUksGYRbfnXne7pdklAyj2XDmJeYKgP93oq0cUyX9Y8O7lUo1R+IY1GagP/YBvCEDCe7eEcAKpw//g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.64.0.tgz", + "integrity": "sha512-nIggWn8n+w12+R5lsV+PYYoUY8vuObxPAQqJI7WES+9v0qspYuAHoZMfYM0yLxlipasT5BY9ht5W8t5c/rSCkg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.64.0.tgz", + "integrity": "sha512-WLOTiHPzszP0dxIMsHpFeDSOSB5I49Mj8K4+yKE3H1X/D0JRG5XZ5jrctJLMjnUc/LUzaKiwq6EHWNJ8pup8PA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.64.0.tgz", + "integrity": "sha512-35RK9aRhh7g7Pmeu5gQ01aCvrhXzj9LoBE6xtUcEH1ns+nyTaSzxSpADmBQINu4QiTDGvmQYwo1j5hlg1rRXFw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.64.0.tgz", + "integrity": "sha512-RqTfnpoTjuWfPAmqK5p2edt2AMCDJWm6oTn7sKfmyx+6tRga0ip05SJ977o6udTcIiDeF/CJMUfkaN4gtWt6Aw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.64.0.tgz", + "integrity": "sha512-RQjZPigjxFvFZDijG6rjlSXxhRaTf9zLYVpGK+lVcga64oMqP1GbgVqCb46eHTTceSIgp89Ja0y5aPe3GFBYHg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.64.0.tgz", + "integrity": "sha512-tjL58mgQcTRnDRpeky+Sth1MKQeYi2Ct6r3Luq9E5aTSjnM/i/JbozqZkKqp9thM5+oDSZxo+05f9kdQedfTGA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.64.0.tgz", + "integrity": "sha512-ictoRyVaoZ8C67myHef+8hhCa6IplXJJ/xUCkVCxziV4zxMZh+jvhkhGsPBLqj1S72fnqD0QH5zL4lcaa4X7DQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.64.0.tgz", + "integrity": "sha512-8aVvZ2hfr9RLFzBQkQNmYeHLDja8fLeQAmLt757zdKN/B+8L809KlLJKctQjS22wZotptV8G6o7fVPuAs8S1tQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.64.0.tgz", + "integrity": "sha512-2dEF8GAcDKwshUfydD+GhosppNyBzhVUHkdFF3CXd3FpOkzj/RZzF5aoEtzklujklT5qFVRU2GK/cFeLaTNKVg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.64.0.tgz", + "integrity": "sha512-3XHTvoo2hKkh0MiOfS7SkhHjMaaWF7P4F3drocZZaho/Z8w7h/jpnuBHm91BOQLfvrKHs1yR+zir4E8RI3XzTQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.64.0.tgz", + "integrity": "sha512-HKtkzodL4a3KFWDXDoO61cRynAWTR3LnAE0oGtfG9lcNFpNuVYUFOByxDgNqEvic9rvaQbAj+SFwTEWDptRaIw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.64.0.tgz", + "integrity": "sha512-JBsxqiY16uyyCujtoC3s7zL+SrYyNElptD7K4V+KUoJ2V8/XG3hPWpheK+SuPwNh1cikJvIZmIdsrYXvD6PLJw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.64.0.tgz", + "integrity": "sha512-S5Qrijh37qhnUYQ0ay8WN3LuWeKjow7wTUyCOPMZtnXiBXYXdsZETI6ZLfYnQAKovltckPLBFdNeD61P2rJc7g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.64.0.tgz", + "integrity": "sha512-zbZ6iMmLFEsCtTdc2/y1F/cDFVNNCPF7Ae8PCT/wdPE//hGwYp6r+MyCLMFX+kOeIe09Pz6ASfnnfpSTN1FJQQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.64.0.tgz", + "integrity": "sha512-L6Hw69oNpuYaOr1zCG30v0/DqKYCSRwodPGwIcVZ/6f8SOzq9rxtL/xNVI5MO4wjli+Ko0ErK9uHJL3mNPt8wQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.64.0.tgz", + "integrity": "sha512-nl+CTWIgOGszQmUz/kanfgrfFZ4qiwxKIfT/ryl3N3Ewk5tqizmYtNXiqb7Bu/fDtNgu1kyxdFiAUJNur3iysg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", + "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", + "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.4.tgz", + "integrity": "sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.4.0.tgz", + "integrity": "sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==", + "license": "ISC" + }, + "node_modules/@volar/kit": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.28.tgz", + "integrity": "sha512-cKX4vK9dtZvDRaAzeoUdaAJEew6IdxHNCRrdp5Kvcl6zZOqb6jTOfk3kXkIkG3T7oTFXguEMt5+9ptyqYR84Pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-service": "2.4.28", + "@volar/typescript": "2.4.28", + "typesafe-path": "^0.2.2", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz", + "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.28" + } + }, + "node_modules/@volar/language-server": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.28.tgz", + "integrity": "sha512-NqcLnE5gERKuS4PUFwlhMxf6vqYo7hXtbMFbViXcbVkbZ905AIVWhnSo0ZNBC2V127H1/2zP7RvVOVnyITFfBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "@volar/language-service": "2.4.28", + "@volar/typescript": "2.4.28", + "path-browserify": "^1.0.1", + "request-light": "^0.7.0", + "vscode-languageserver": "^9.0.1", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/language-service": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.28.tgz", + "integrity": "sha512-Rh/wYCZJrI5vCwMk9xyw/Z+MsWxlJY1rmMZPsxUoJKfzIRjS/NF1NmnuEcrMbEVGja00aVpCsInJfixQTMdvLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz", + "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz", + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/emmet-helper": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.11.0.tgz", + "integrity": "sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "emmet": "^2.4.3", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/l10n": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.19.0.tgz", + "integrity": "sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-i18n": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ajv-i18n/-/ajv-i18n-4.2.0.tgz", + "integrity": "sha512-v/ei2UkCEeuKNXh8RToiFsUclmU+G57LO1Oo22OagNMENIw+Yb8eMwvHu7Vn9fmkjJyv6XclhJ8TbuigSglPkg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.0.0-beta.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz", + "integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astro": { + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.2.tgz", + "integrity": "sha512-TnFwLnAXty5MXKPDGuKXqK4AMBXG+FH6RUdK7Oyc3gyfNoFIthT+4eRbzOK43bdRlLaZuxgciDSjgtggZ3OtGQ==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.13.0", + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/markdown-remark": "6.3.11", + "@astrojs/telemetry": "3.3.0", + "@capsizecss/unpack": "^4.0.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "acorn": "^8.15.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.3.1", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^1.1.1", + "cssesc": "^3.0.0", + "debug": "^4.4.3", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.6.2", + "diff": "^8.0.3", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.7.0", + "esbuild": "^0.27.3", + "estree-walker": "^3.0.3", + "flattie": "^1.1.1", + "fontace": "~0.4.0", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.1", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "p-limit": "^6.2.0", + "p-queue": "^8.1.1", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.3", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.7.3", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "svgo": "^4.0.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tsconfck": "^3.1.6", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.3", + "unist-util-visit": "^5.0.0", + "unstorage": "^1.17.4", + "vfile": "^6.0.3", + "vite": "^6.4.1", + "vitefu": "^1.1.1", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^21.1.1", + "yocto-spinner": "^0.2.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.25.1", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/citeproc": { + "version": "2.4.63", + "resolved": "https://registry.npmjs.org/citeproc/-/citeproc-2.4.63.tgz", + "integrity": "sha512-68F95Bp4UbgZU/DBUGQn0qV3HDZLCdI9+Bb2ByrTaNJDL5VEm9LqaiNaxljsvoaExSLEXe1/r6n2Z06SCzW3/Q==", + "license": "CPAL-1.0 OR AGPL-1.0" + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", + "license": "MIT" + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.9.4.tgz", + "integrity": "sha512-sPAT4pztbu6586/hrhOnMKS17IJrvg12mXiSPSS3W5qDeN2RGgvZ0diZCm31dBbnevfVmujNO3IM2wrS4Y2Rhg==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/emmet": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.11.tgz", + "integrity": "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==", + "dev": true, + "license": "MIT", + "workspaces": [ + "./packages/scanner", + "./packages/abbreviation", + "./packages/css-abbreviation", + "./" + ], + "dependencies": { + "@emmetio/abbreviation": "^2.3.3", + "@emmetio/css-abbreviation": "^2.1.8" + } + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz", + "integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fetch-ponyfill": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-7.1.0.tgz", + "integrity": "sha512-FhbbL55dj/qdVO3YNK7ZEkshvj3eQ7EuIGV2I6ic/2YiocvyWv+7jg2s4AyS0wdRU75s3tA8ZxI/xPigb0v5Aw==", + "license": "MIT", + "dependencies": { + "node-fetch": "~2.6.1" + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.7.0.tgz", + "integrity": "sha512-XjH1AECxf0giL2V1aU8vKyRR2ppRUb5c0EvT7zuJTokQ74bNo52zOtghqdWIqrhUD79fo3x0WfKZdOqxF6LG1Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/h3": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.3", + "crossws": "^0.3.5", + "defu": "^6.1.6", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.3.0.tgz", + "integrity": "sha512-M5t5LlJpS1UHMjvwRQVdFHvPISGeLAxNcrWuJkeGh0KxsqCHZ1O3NXZU/8x7cD0BDcGW8kapxMKTvwlqrNkHkA==", + "license": "BSD-2-Clause" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/immutable": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.9.tgz", + "integrity": "sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==", + "license": "MIT" + }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-yaml": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", + "dev": true, + "license": "MIT" + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "11.5.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", + "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.5.tgz", + "integrity": "sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.3.tgz", + "integrity": "sha512-xPgpDNl0/OXHsI7TlaIs22lWnH3KlpvZdXG1ET/m/YT2Hhdkx8lJV4kLphE6l9simyM4KPDFBwas08BgEob6Jw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.1.0.tgz", + "integrity": "sha512-KRLgmPaP2H1ul2bpoJkOS+9pAcDAAj9Nu1mqLnh8NLeJG5tlvj42TH80PIGBpROWlRXLk0lDrWNuZCFy/tsB4A==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.1.tgz", + "integrity": "sha512-OuJHqvr455pwu2OaOrir7dbzqs4jlWKOtlu9L6GjcIjjQwNyw02VntQsr/Ek6/A13vgnXfUhBekWRUP1OkNivw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.2.0.tgz", + "integrity": "sha512-2Jn/ADrHFFyyniBMi0bncTbJqU78K3/TEYvzvwrWWzD9MYPUa/Gm4r3nOeKFQg/PDM5BsbDYdc8ackW4NTY6NA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, + "node_modules/micromark": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.3.tgz", + "integrity": "sha512-oGYfQzHSG5dOMovQcJ3fyTmZlWAWpi0XA0sJwJs+i6OT88o1+Jtw/8z0CmdowSLxGhhFK89rQ/oXph/wN02PNw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-edit-map": "^1.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.4.tgz", + "integrity": "sha512-wxEeE8v8XVvOrxn1TZj74qYhAtTQsSqufHVS3uNVyT1MupXxhyaHk8/9xDNPh9BmL77QNDgWTkZ3RsYHB2ry7w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.1.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-edit-map": "^1.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.3" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.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-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.2.tgz", + "integrity": "sha512-pRzm4kDTu0MjlmBkxmS9yYhw60nncfcEwu9NNdPFSQEFXS95ZKyIIyTSHu/o3ReBUrLKYEq+7YaXCRn/bPB4MA==", + "license": "MIT", + "dependencies": { + "devlop": "^1.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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", + "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-edit-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-edit-map/-/micromark-util-edit-map-1.0.0.tgz", + "integrity": "sha512-Pa2ljlsEL6sVwFaYeyrOLSYbQt73JvGbPOYFq+9AElXiSnfI5Q4465RRZ1sHv7lDjDOnGRDDaqPXqClqWK/q1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.3.tgz", + "integrity": "sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/moo": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.3.tgz", + "integrity": "sha512-m2fmM2dDm7GZQsY7KK2cme8agi+AAljILjQnof7p1ZMDe6dQ4bdnSMx0cPppudoeNv5hEFQirN6u+O4fDE0IWA==", + "license": "BSD-3-Clause" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", + "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, + "node_modules/node-fetch": { + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", + "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.5.tgz", + "integrity": "sha512-KQyt/wLjG3TAc7DOUhpqWzgd4ERxR80JOlTK5VE5R1S12IaPVN5qkj4klBce9HPG1Njuup4Sb5bljaT34lIyjw==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.12.tgz", + "integrity": "sha512-65S/5gk9YSsaRjcyf7Nfa6h/d3E8/1gslpXfI4W7Dxn/oap8IKRuNT5VXkLQ1YFKIEg4apRY4Pj6aiwFzrDdmw==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.9.0.tgz", + "integrity": "sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.29", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.29.tgz", + "integrity": "sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.19", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prettier": { + "version": "3.9.9", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.9.tgz", + "integrity": "sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.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", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.3.tgz", + "integrity": "sha512-gCaK+ndZ0hYezlqFegHFCVh2CQemsi0Npdh1qVM9bxlUFknjkbP6VmojWhddOCrbK0PbbacmYLWfTULRiT1eWA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/request-light": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rollup": { + "version": "4.64.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.64.0.tgz", + "integrity": "sha512-gjA/kFeDfffII8COoPsvLPvE16hWDTEc1+0QKQNKUkuV8iJjqsC4xXs8/FzuL0v9EV39kuxTbAgcFoTRyy2TGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.64.0", + "@rollup/rollup-android-arm64": "4.64.0", + "@rollup/rollup-darwin-arm64": "4.64.0", + "@rollup/rollup-darwin-x64": "4.64.0", + "@rollup/rollup-freebsd-arm64": "4.64.0", + "@rollup/rollup-freebsd-x64": "4.64.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.64.0", + "@rollup/rollup-linux-arm-musleabihf": "4.64.0", + "@rollup/rollup-linux-arm64-gnu": "4.64.0", + "@rollup/rollup-linux-arm64-musl": "4.64.0", + "@rollup/rollup-linux-loong64-gnu": "4.64.0", + "@rollup/rollup-linux-loong64-musl": "4.64.0", + "@rollup/rollup-linux-ppc64-gnu": "4.64.0", + "@rollup/rollup-linux-ppc64-musl": "4.64.0", + "@rollup/rollup-linux-riscv64-gnu": "4.64.0", + "@rollup/rollup-linux-riscv64-musl": "4.64.0", + "@rollup/rollup-linux-s390x-gnu": "4.64.0", + "@rollup/rollup-linux-x64-gnu": "4.64.0", + "@rollup/rollup-linux-x64-musl": "4.64.0", + "@rollup/rollup-openbsd-x64": "4.64.0", + "@rollup/rollup-openharmony-arm64": "4.64.0", + "@rollup/rollup-win32-arm64-msvc": "4.64.0", + "@rollup/rollup-win32-ia32-msvc": "4.64.0", + "@rollup/rollup-win32-x64-gnu": "4.64.0", + "@rollup/rollup-win32-x64-msvc": "4.64.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/sass": { + "version": "1.105.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.105.1.tgz", + "integrity": "sha512-1CnAWPyrrnVQzXGB/DUep1vYCKCm1CIBr+YxjjiW6wk9qtzemnGP4qicH56T2F9S4Hjtv/Ne3jDz8JqfdDU4oA==", + "license": "MIT", + "dependencies": { + "chokidar": "^5.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=20.19.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sax": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz", + "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/shiki": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", + "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.23.0", + "@shikijs/engine-javascript": "3.23.0", + "@shikijs/engine-oniguruma": "3.23.0", + "@shikijs/langs": "3.23.0", + "@shikijs/themes": "3.23.0", + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/smol-toml": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.9.0.tgz", + "integrity": "sha512-hpd+HLON7HdZXqYchMM/+LaTTbdK0AU3NngIJ4KVyWbY9bfQqdL9cD+4yf6dUoU2Ap4VsU0JkQi6FxAI1B2mXQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map-js": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/svgo": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.1.0.tgz", + "integrity": "sha512-bkxnTg1kSU0guhIBmibA6UUhrQmPVA1XsQLN+ylCd+UWzbnLkySOcXpyk1mrl05f+pcaCx2eHb+sp6BgMZWX+Q==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^6.0.0", + "css-tree": "^3.0.1", + "css-what": "^7.0.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "1.6.1" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/sync-fetch": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.4.5.tgz", + "integrity": "sha512-esiWJ7ixSKGpd9DJPBTC4ckChqdOjIwJfYhVHkcQ2Gnm41323p1TRmEI+esTQ9ppD+b5opps2OTEGTCGX5kF+g==", + "license": "MIT", + "dependencies": { + "buffer": "^5.7.1", + "node-fetch": "^2.6.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz", + "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "deprecated": "unmaintained", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "devOptional": true, + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typesafe-path": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==", + "dev": true, + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-auto-import-cache": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.6.tgz", + "integrity": "sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.8" + } + }, + "node_modules/ufo": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.7.0.tgz", + "integrity": "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-8.11.2.tgz", + "integrity": "sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ==", + "license": "MIT", + "engines": { + "node": ">=22.19.0" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.5.tgz", + "integrity": "sha512-ULe/Cs+ZIsq+dcFofNkhqielCrUJnb5mr+Yc4EBM2VlL+6OZR6+cjtI2mT1bJvRBrVncqHAbLURxmPLcCXzWMg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ohash": "^2.0.11", + "undici": "^8.0.0" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "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", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz", + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.10", + "lru-cache": "^11.2.7", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/unstorage/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/unstorage/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/volar-service-css": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.71.tgz", + "integrity": "sha512-wRRFt9BpjMKCazcgOh67MSjUjiWUCAh99DyYSDIOTuxaRjEtDC7PpB0k1Y1wbJIW/pVtMUSVbpPo3UGSm0Byxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-css-languageservice": "^6.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-emmet": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.71.tgz", + "integrity": "sha512-zqjzt6bN95e3CUstBm0PBFAJnrfz0ZAARka87fart46/gNCLLuP3Vujy8V/J8HEziTFLnfkgIASLFYPUhonJcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/css-parser": "^0.4.1", + "@emmetio/html-matcher": "^1.3.0", + "@vscode/emmet-helper": "^2.9.3", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-html": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.71.tgz", + "integrity": "sha512-e8tHPhgQ7ooLfudAEIku+kgd9pWkq3SSz8RbnQDI1+Eb8wbenkLGHqoirLqz5ORLV6wIMr2Iv08RWBG5eOcgpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-html-languageservice": "^5.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-prettier": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.71.tgz", + "integrity": "sha512-Rz7JVH3qD108UCdmIEiZvOBNljMt2nLFdbN8AXcDfn7xD9F5I2aCIsDVqBbXw21PsnxG0b7MfwtNF+zPS/NKUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0", + "prettier": "^2.2 || ^3.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + }, + "prettier": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.71.tgz", + "integrity": "sha512-yTtM/BVT6hoyEYnDtaCyAtNhdNeS/mhTTABlBOdw3NNiRBUin3IznFJpgfjer4c6RYopiPjjQjc9VFhxVl1mLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-browserify": "^1.0.1", + "semver": "^7.6.2", + "typescript-auto-import-cache": "^0.3.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-nls": "^5.2.0", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript-twoslash-queries": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.71.tgz", + "integrity": "sha512-9K2k72s4n7rV9s4bX0MyjbX9iBribvKZbBJKuEmTCZfeWJXs6Yh7bGpY4eoc7UufAjvpheBqwyZCOIPBvxCv0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-yaml": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-yaml/-/volar-service-yaml-0.0.71.tgz", + "integrity": "sha512-qYGWGuVpUTnZGu5P/CR4KLK4aIR8RrcVnmfZ2eRcj9q/I8VZCoC5yy9FtEvfNvnDp4MU17yhdJcvpQPIqhJS2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8", + "yaml-language-server": "~1.23.0" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/vscode-css-languageservice": { + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.10.tgz", + "integrity": "sha512-eq5N9Er3fC4vA9zd9EFhyBG90wtCCuXgRSpAndaOgXMh1Wgep5lBgRIeDgjZBW9pa+332yC9+49cZMW8jcL3MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "3.17.5", + "vscode-uri": "^3.1.0" + } + }, + "node_modules/vscode-css-languageservice/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-html-languageservice": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.6.2.tgz", + "integrity": "sha512-ulCrSnFnfQ16YzvwnYUgEbUEl/ZG7u2eV27YhvLObSHKkb8fw1Z9cgsnUwjTEeDIdJDoTDTDpxuhQwoenoLNMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.1.0" + } + }, + "node_modules/vscode-json-languageservice": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz", + "integrity": "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + }, + "engines": { + "npm": ">=7.0.0" + } + }, + "node_modules/vscode-json-languageservice/node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-jsonrpc": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.3.tgz", + "integrity": "sha512-qETYf9PCl1lVfwR+oBmMfc4vP2nqLNA35ABxorw3j06+xlKRgDVxbLgKm4Y/xPL0YWdeDjLoI4ImICIT3nB0zQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.18.4", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.18.4.tgz", + "integrity": "sha512-CCXbyr99dafRJzJH/0Ryk7ly5T8XPmSR0//OuF2w4m+9JiOin7zcAT5iET8GRE7Z9taFBejb3GbM0a0mbjdbrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "9.0.3", + "vscode-languageserver-types": "3.18.4" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.15.tgz", + "integrity": "sha512-Gsfr9S8LU3S6885cS+NaleasJ0n3V5y/SOTqHCifQiXWFw3G9w9/YItDfwHrlCz+dSZWWZ8ilYVMcJe7Sz7Sxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.18.4", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.18.4.tgz", + "integrity": "sha512-nQsacoiijvl0fRf2q28uFDrAVwRhdCa3QveiF7/CX0r18mLR5FU/1WskSsCKOjmEbtteKUnY8x8Yzxop+k0zwg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-languageserver/node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver/node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.2.0.tgz", + "integrity": "sha512-m2gXo3bn0G1kT9InzMf07fTbqMbGtyckj3bH5ktLO+1Ssv+yiATZ4dhwaQv9UZWxJh6E9IFGnQyjgWVDWVBDrg==", + "dev": true, + "license": "MIT" + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz", + "integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==", + "devOptional": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yaml-language-server": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.23.0.tgz", + "integrity": "sha512-3qVyCOexLCWw06PQa5kRPwvMWMZ/eZeCRWUvgD6a0OkqL/4iCnxy2WumbWifa937Uo5xhyWJ0uxlU39ljhNh7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "ajv": "^8.17.1", + "ajv-draft-04": "^1.0.0", + "ajv-i18n": "^4.2.0", + "prettier": "^3.8.1", + "request-light": "^0.5.7", + "vscode-json-languageservice": "4.1.8", + "vscode-languageserver": "^9.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-uri": "^3.0.2", + "yaml": "2.8.3" + }, + "bin": { + "yaml-language-server": "bin/yaml-language-server" + } + }, + "node_modules/yaml-language-server/node_modules/request-light": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz", + "integrity": "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==", + "dev": true, + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/yaml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.2.0.tgz", + "integrity": "sha512-9OpKOLeaoNFecEp7P6iYbzze/5CqWoH7N3SMs/6y1XF4nMvFMspEGZzJ6uFi9MmQwXhyzqYoSEKO3tvA3Z/o2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^8.2.1", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.3.0.tgz", + "integrity": "sha512-ZbmZM0JCihQN91dWnxoipT2KOEyHqEyfRXUyjuRhW8b/xnqPDoq4gWEVApTVa9db2wN8mmoikgFBbjh71+cGeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-spinner": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", + "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", + "license": "MIT", + "dependencies": { + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18.19" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.2.0.tgz", + "integrity": "sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25.28 || ^4" + } + }, + "node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b3058b7 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "acl-website", + "type": "module", + "version": "1.0.0", + "private": true, + "description": "Aerospace Controls Laboratory (MIT) website", + "scripts": { + "dev": "astro dev --host 0.0.0.0", + "start": "astro dev --host 0.0.0.0", + "build": "astro build", + "preview": "astro preview --host 0.0.0.0", + "check": "astro check" + }, + "dependencies": { + "@citation-js/core": "^0.7.14", + "@citation-js/plugin-bibtex": "^0.7.14", + "@citation-js/plugin-csl": "^0.7.14", + "astro": "^5.2.0", + "remark-smartypants": "^3.0.2", + "sass": "^1.83.0" + }, + "devDependencies": { + "@astrojs/check": "^0.9.4", + "@types/node": "^20.19.43", + "typescript": "^5.7.0" + } +} diff --git a/CNAME b/public/CNAME similarity index 100% rename from CNAME rename to public/CNAME diff --git a/files/CBBA_MATLAB_ACLMIT_July13_2010.zip b/public/files/CBBA_MATLAB_ACLMIT_July13_2010.zip similarity index 100% rename from files/CBBA_MATLAB_ACLMIT_July13_2010.zip rename to public/files/CBBA_MATLAB_ACLMIT_July13_2010.zip diff --git a/images/demo/demo-landscape-2.jpg b/public/images/demo/demo-landscape-2.jpg similarity index 100% rename from images/demo/demo-landscape-2.jpg rename to public/images/demo/demo-landscape-2.jpg diff --git a/images/demo/demo-landscape.jpg b/public/images/demo/demo-landscape.jpg similarity index 100% rename from images/demo/demo-landscape.jpg rename to public/images/demo/demo-landscape.jpg diff --git a/images/demo/demo-portrait.jpg b/public/images/demo/demo-portrait.jpg similarity index 100% rename from images/demo/demo-portrait.jpg rename to public/images/demo/demo-portrait.jpg diff --git a/images/demo/demo-square.jpg b/public/images/demo/demo-square.jpg similarity index 100% rename from images/demo/demo-square.jpg rename to public/images/demo/demo-square.jpg diff --git a/images/favicons/acl_favicon.svg b/public/images/favicons/acl_favicon.svg similarity index 100% rename from images/favicons/acl_favicon.svg rename to public/images/favicons/acl_favicon.svg diff --git a/images/favicons/android-chrome-192x192.png b/public/images/favicons/android-chrome-192x192.png similarity index 100% rename from images/favicons/android-chrome-192x192.png rename to public/images/favicons/android-chrome-192x192.png diff --git a/images/favicons/android-chrome-512x512.png b/public/images/favicons/android-chrome-512x512.png similarity index 100% rename from images/favicons/android-chrome-512x512.png rename to public/images/favicons/android-chrome-512x512.png diff --git a/images/favicons/apple-touch-icon.png b/public/images/favicons/apple-touch-icon.png similarity index 100% rename from images/favicons/apple-touch-icon.png rename to public/images/favicons/apple-touch-icon.png diff --git a/images/favicons/browserconfig.xml b/public/images/favicons/browserconfig.xml similarity index 100% rename from images/favicons/browserconfig.xml rename to public/images/favicons/browserconfig.xml diff --git a/images/favicons/favicon-16x16.png b/public/images/favicons/favicon-16x16.png similarity index 100% rename from images/favicons/favicon-16x16.png rename to public/images/favicons/favicon-16x16.png diff --git a/images/favicons/favicon-32x32.png b/public/images/favicons/favicon-32x32.png similarity index 100% rename from images/favicons/favicon-32x32.png rename to public/images/favicons/favicon-32x32.png diff --git a/images/favicons/favicon.ico b/public/images/favicons/favicon.ico similarity index 100% rename from images/favicons/favicon.ico rename to public/images/favicons/favicon.ico diff --git a/images/favicons/mstile-144x144.png b/public/images/favicons/mstile-144x144.png similarity index 100% rename from images/favicons/mstile-144x144.png rename to public/images/favicons/mstile-144x144.png diff --git a/images/favicons/mstile-150x150.png b/public/images/favicons/mstile-150x150.png similarity index 100% rename from images/favicons/mstile-150x150.png rename to public/images/favicons/mstile-150x150.png diff --git a/images/favicons/mstile-310x150.png b/public/images/favicons/mstile-310x150.png similarity index 100% rename from images/favicons/mstile-310x150.png rename to public/images/favicons/mstile-310x150.png diff --git a/images/favicons/mstile-310x310.png b/public/images/favicons/mstile-310x310.png similarity index 100% rename from images/favicons/mstile-310x310.png rename to public/images/favicons/mstile-310x310.png diff --git a/images/favicons/mstile-70x70.png b/public/images/favicons/mstile-70x70.png similarity index 100% rename from images/favicons/mstile-70x70.png rename to public/images/favicons/mstile-70x70.png diff --git a/images/favicons/safari-pinned-tab.svg b/public/images/favicons/safari-pinned-tab.svg similarity index 100% rename from images/favicons/safari-pinned-tab.svg rename to public/images/favicons/safari-pinned-tab.svg diff --git a/images/favicons/site.webmanifest b/public/images/favicons/site.webmanifest similarity index 100% rename from images/favicons/site.webmanifest rename to public/images/favicons/site.webmanifest diff --git a/images/logos/acl_logo.svg b/public/images/logos/acl_logo.svg similarity index 100% rename from images/logos/acl_logo.svg rename to public/images/logos/acl_logo.svg diff --git a/images/logos/aeroastro_logo.svg b/public/images/logos/aeroastro_logo.svg similarity index 100% rename from images/logos/aeroastro_logo.svg rename to public/images/logos/aeroastro_logo.svg diff --git a/images/logos/lids_logo.png b/public/images/logos/lids_logo.png similarity index 100% rename from images/logos/lids_logo.png rename to public/images/logos/lids_logo.png diff --git a/images/logos/mit_logo.svg b/public/images/logos/mit_logo.svg similarity index 100% rename from images/logos/mit_logo.svg rename to public/images/logos/mit_logo.svg diff --git a/images/members/aleix.jpg b/public/images/members/aleix.jpg similarity index 100% rename from images/members/aleix.jpg rename to public/images/members/aleix.jpg diff --git a/images/members/aliagha.jpg b/public/images/members/aliagha.jpg similarity index 100% rename from images/members/aliagha.jpg rename to public/images/members/aliagha.jpg diff --git a/images/members/ameredit.jpg b/public/images/members/ameredit.jpg similarity index 100% rename from images/members/ameredit.jpg rename to public/images/members/ameredit.jpg diff --git a/images/members/aneesa.jpg b/public/images/members/aneesa.jpg similarity index 100% rename from images/members/aneesa.jpg rename to public/images/members/aneesa.jpg diff --git a/images/members/annikat.jpg b/public/images/members/annikat.jpg similarity index 100% rename from images/members/annikat.jpg rename to public/images/members/annikat.jpg diff --git a/images/members/atagliab.jpg b/public/images/members/atagliab.jpg similarity index 100% rename from images/members/atagliab.jpg rename to public/images/members/atagliab.jpg diff --git a/images/members/blakete.jpg b/public/images/members/blakete.jpg similarity index 100% rename from images/members/blakete.jpg rename to public/images/members/blakete.jpg diff --git a/images/members/brossano.jpg b/public/images/members/brossano.jpg similarity index 100% rename from images/members/brossano.jpg rename to public/images/members/brossano.jpg diff --git a/images/members/bryt.jpg b/public/images/members/bryt.jpg similarity index 100% rename from images/members/bryt.jpg rename to public/images/members/bryt.jpg diff --git a/images/members/btlopez.jpg b/public/images/members/btlopez.jpg similarity index 100% rename from images/members/btlopez.jpg rename to public/images/members/btlopez.jpg diff --git a/images/members/canpu.png b/public/images/members/canpu.png similarity index 100% rename from images/members/canpu.png rename to public/images/members/canpu.png diff --git a/images/members/cfullana.png b/public/images/members/cfullana.png similarity index 100% rename from images/members/cfullana.png rename to public/images/members/cfullana.png diff --git a/images/members/codrin.jpg b/public/images/members/codrin.jpg similarity index 100% rename from images/members/codrin.jpg rename to public/images/members/codrin.jpg diff --git a/images/members/connora.jpg b/public/images/members/connora.jpg similarity index 100% rename from images/members/connora.jpg rename to public/images/members/connora.jpg diff --git a/images/members/croshank.jpg b/public/images/members/croshank.jpg similarity index 100% rename from images/members/croshank.jpg rename to public/images/members/croshank.jpg diff --git a/images/members/default.jpg b/public/images/members/default.jpg similarity index 100% rename from images/members/default.jpg rename to public/images/members/default.jpg diff --git a/images/members/default.png b/public/images/members/default.png similarity index 100% rename from images/members/default.png rename to public/images/members/default.png diff --git a/images/members/dkkim93.jpg b/public/images/members/dkkim93.jpg similarity index 100% rename from images/members/dkkim93.jpg rename to public/images/members/dkkim93.jpg diff --git a/images/members/donggun.jpg b/public/images/members/donggun.jpg similarity index 100% rename from images/members/donggun.jpg rename to public/images/members/donggun.jpg diff --git a/images/members/eelias.jpg b/public/images/members/eelias.jpg similarity index 100% rename from images/members/eelias.jpg rename to public/images/members/eelias.jpg diff --git a/images/members/eruff.jpg b/public/images/members/eruff.jpg similarity index 100% rename from images/members/eruff.jpg rename to public/images/members/eruff.jpg diff --git a/images/members/fbaldan.jpg b/public/images/members/fbaldan.jpg similarity index 100% rename from images/members/fbaldan.jpg rename to public/images/members/fbaldan.jpg diff --git a/images/members/fishberg.jpg b/public/images/members/fishberg.jpg similarity index 100% rename from images/members/fishberg.jpg rename to public/images/members/fishberg.jpg diff --git a/images/members/gaoude.jpg b/public/images/members/gaoude.jpg similarity index 100% rename from images/members/gaoude.jpg rename to public/images/members/gaoude.jpg diff --git a/images/members/golnaz.jpg b/public/images/members/golnaz.jpg similarity index 100% rename from images/members/golnaz.jpg rename to public/images/members/golnaz.jpg diff --git a/images/members/hchunton.jpg b/public/images/members/hchunton.jpg similarity index 100% rename from images/members/hchunton.jpg rename to public/images/members/hchunton.jpg diff --git a/images/members/hshaff.jpg b/public/images/members/hshaff.jpg similarity index 100% rename from images/members/hshaff.jpg rename to public/images/members/hshaff.jpg diff --git a/images/members/jonik.jpg b/public/images/members/jonik.jpg similarity index 100% rename from images/members/jonik.jpg rename to public/images/members/jonik.jpg diff --git a/images/members/jpedlow.jpg b/public/images/members/jpedlow.jpg similarity index 100% rename from images/members/jpedlow.jpg rename to public/images/members/jpedlow.jpg diff --git a/images/members/jpedlow.png b/public/images/members/jpedlow.png similarity index 100% rename from images/members/jpedlow.png rename to public/images/members/jpedlow.png diff --git a/images/members/jrached.jpg b/public/images/members/jrached.jpg similarity index 100% rename from images/members/jrached.jpg rename to public/images/members/jrached.jpg diff --git a/images/members/jtorde.jpg b/public/images/members/jtorde.jpg similarity index 100% rename from images/members/jtorde.jpg rename to public/images/members/jtorde.jpg diff --git a/images/members/julianp.jpg b/public/images/members/julianp.jpg similarity index 100% rename from images/members/julianp.jpg rename to public/images/members/julianp.jpg diff --git a/images/members/kavehf.jpg b/public/images/members/kavehf.jpg similarity index 100% rename from images/members/kavehf.jpg rename to public/images/members/kavehf.jpg diff --git a/images/members/kfrey.jpg b/public/images/members/kfrey.jpg similarity index 100% rename from images/members/kfrey.jpg rename to public/images/members/kfrey.jpg diff --git a/images/members/kkondo.jpg b/public/images/members/kkondo.jpg similarity index 100% rename from images/members/kkondo.jpg rename to public/images/members/kkondo.jpg diff --git a/images/members/kyles7.jpg b/public/images/members/kyles7.jpg similarity index 100% rename from images/members/kyles7.jpg rename to public/images/members/kyles7.jpg diff --git a/images/members/lakshays.jpg b/public/images/members/lakshays.jpg similarity index 100% rename from images/members/lakshays.jpg rename to public/images/members/lakshays.jpg diff --git a/images/members/lhalperin.jpg b/public/images/members/lhalperin.jpg similarity index 100% rename from images/members/lhalperin.jpg rename to public/images/members/lhalperin.jpg diff --git a/images/members/lilisun.jpg b/public/images/members/lilisun.jpg similarity index 100% rename from images/members/lilisun.jpg rename to public/images/members/lilisun.jpg diff --git a/images/members/lmdownes.jpg b/public/images/members/lmdownes.jpg similarity index 100% rename from images/members/lmdownes.jpg rename to public/images/members/lmdownes.jpg diff --git a/images/members/lutjens.jpg b/public/images/members/lutjens.jpg similarity index 100% rename from images/members/lutjens.jpg rename to public/images/members/lutjens.jpg diff --git a/images/members/macshen.jpg b/public/images/members/macshen.jpg similarity index 100% rename from images/members/macshen.jpg rename to public/images/members/macshen.jpg diff --git a/images/members/masonbp.jpg b/public/images/members/masonbp.jpg similarity index 100% rename from images/members/masonbp.jpg rename to public/images/members/masonbp.jpg diff --git a/images/members/mehdi_a.jpg b/public/images/members/mehdi_a.jpg similarity index 100% rename from images/members/mehdi_a.jpg rename to public/images/members/mehdi_a.jpg diff --git a/images/members/mfe.png b/public/images/members/mfe.png similarity index 100% rename from images/members/mfe.png rename to public/images/members/mfe.png diff --git a/images/members/mrrobot.jpg b/public/images/members/mrrobot.jpg similarity index 100% rename from images/members/mrrobot.jpg rename to public/images/members/mrrobot.jpg diff --git a/images/members/namanagg.jpg b/public/images/members/namanagg.jpg similarity index 100% rename from images/members/namanagg.jpg rename to public/images/members/namanagg.jpg diff --git a/images/members/nrober.jpg b/public/images/members/nrober.jpg similarity index 100% rename from images/members/nrober.jpg rename to public/images/members/nrober.jpg diff --git a/images/members/omatt431.jpg b/public/images/members/omatt431.jpg similarity index 100% rename from images/members/omatt431.jpg rename to public/images/members/omatt431.jpg diff --git a/images/members/paul.jpg b/public/images/members/paul.jpg similarity index 100% rename from images/members/paul.jpg rename to public/images/members/paul.jpg diff --git a/images/members/plusk.jpg b/public/images/members/plusk.jpg similarity index 100% rename from images/members/plusk.jpg rename to public/images/members/plusk.jpg diff --git a/images/members/queeney.jpg b/public/images/members/queeney.jpg similarity index 100% rename from images/members/queeney.jpg rename to public/images/members/queeney.jpg diff --git a/images/members/rochesh.jpg b/public/images/members/rochesh.jpg similarity index 100% rename from images/members/rochesh.jpg rename to public/images/members/rochesh.jpg diff --git a/images/members/rsharan.jpg b/public/images/members/rsharan.jpg similarity index 100% rename from images/members/rsharan.jpg rename to public/images/members/rsharan.jpg diff --git a/images/members/s_jon2.gif b/public/images/members/s_jon2.gif similarity index 100% rename from images/members/s_jon2.gif rename to public/images/members/s_jon2.gif diff --git a/images/members/sahrens.jpg b/public/images/members/sahrens.jpg similarity index 100% rename from images/members/sahrens.jpg rename to public/images/members/sahrens.jpg diff --git a/images/members/samirw.jpg b/public/images/members/samirw.jpg similarity index 100% rename from images/members/samirw.jpg rename to public/images/members/samirw.jpg diff --git a/images/members/seras.jpg b/public/images/members/seras.jpg similarity index 100% rename from images/members/seras.jpg rename to public/images/members/seras.jpg diff --git a/images/members/shayegan.jpg b/public/images/members/shayegan.jpg similarity index 100% rename from images/members/shayegan.jpg rename to public/images/members/shayegan.jpg diff --git a/images/members/sjamieso.jpg b/public/images/members/sjamieso.jpg similarity index 100% rename from images/members/sjamieso.jpg rename to public/images/members/sjamieso.jpg diff --git a/images/members/slcot.jpg b/public/images/members/slcot.jpg similarity index 100% rename from images/members/slcot.jpg rename to public/images/members/slcot.jpg diff --git a/images/members/sni.jpeg b/public/images/members/sni.jpeg similarity index 100% rename from images/members/sni.jpeg rename to public/images/members/sni.jpeg diff --git a/images/members/suchitha.jpg b/public/images/members/suchitha.jpg similarity index 100% rename from images/members/suchitha.jpg rename to public/images/members/suchitha.jpg diff --git a/images/members/thiagojv.jpg b/public/images/members/thiagojv.jpg similarity index 100% rename from images/members/thiagojv.jpg rename to public/images/members/thiagojv.jpg diff --git a/images/members/timcave.jpg b/public/images/members/timcave.jpg similarity index 100% rename from images/members/timcave.jpg rename to public/images/members/timcave.jpg diff --git a/images/members/torgesen.png b/public/images/members/torgesen.png similarity index 100% rename from images/members/torgesen.png rename to public/images/members/torgesen.png diff --git a/images/members/tzhao.jpg b/public/images/members/tzhao.jpg similarity index 100% rename from images/members/tzhao.jpg rename to public/images/members/tzhao.jpg diff --git a/images/members/vivh.jpg b/public/images/members/vivh.jpg similarity index 100% rename from images/members/vivh.jpg rename to public/images/members/vivh.jpg diff --git a/images/members/xyc.jpg b/public/images/members/xyc.jpg similarity index 100% rename from images/members/xyc.jpg rename to public/images/members/xyc.jpg diff --git a/images/members/yixuany.jpg b/public/images/members/yixuany.jpg similarity index 100% rename from images/members/yixuany.jpg rename to public/images/members/yixuany.jpg diff --git a/images/members/yulun.jpg b/public/images/members/yulun.jpg similarity index 100% rename from images/members/yulun.jpg rename to public/images/members/yulun.jpg diff --git a/images/posts/advice-youtube.png b/public/images/posts/advice-youtube.png similarity index 100% rename from images/posts/advice-youtube.png rename to public/images/posts/advice-youtube.png diff --git a/images/posts/auvsi_logo.png b/public/images/posts/auvsi_logo.png similarity index 100% rename from images/posts/auvsi_logo.png rename to public/images/posts/auvsi_logo.png diff --git a/images/posts/chris_shannon_f35.jpg b/public/images/posts/chris_shannon_f35.jpg similarity index 100% rename from images/posts/chris_shannon_f35.jpg rename to public/images/posts/chris_shannon_f35.jpg diff --git a/images/posts/forest.jpg b/public/images/posts/forest.jpg similarity index 100% rename from images/posts/forest.jpg rename to public/images/posts/forest.jpg diff --git a/images/posts/icra_2018.png b/public/images/posts/icra_2018.png similarity index 100% rename from images/posts/icra_2018.png rename to public/images/posts/icra_2018.png diff --git a/images/posts/ieee-css_small.jpg b/public/images/posts/ieee-css_small.jpg similarity index 100% rename from images/posts/ieee-css_small.jpg rename to public/images/posts/ieee-css_small.jpg diff --git a/images/posts/jamieson_icra_2019.jpg b/public/images/posts/jamieson_icra_2019.jpg similarity index 100% rename from images/posts/jamieson_icra_2019.jpg rename to public/images/posts/jamieson_icra_2019.jpg diff --git a/images/posts/logo-iros-2019.png b/public/images/posts/logo-iros-2019.png similarity index 100% rename from images/posts/logo-iros-2019.png rename to public/images/posts/logo-iros-2019.png diff --git a/images/posts/mfe_defense.png b/public/images/posts/mfe_defense.png similarity index 100% rename from images/posts/mfe_defense.png rename to public/images/posts/mfe_defense.png diff --git a/images/posts/nae_logo.png b/public/images/posts/nae_logo.png similarity index 100% rename from images/posts/nae_logo.png rename to public/images/posts/nae_logo.png diff --git a/images/posts/re_mars_how.jpg b/public/images/posts/re_mars_how.jpg similarity index 100% rename from images/posts/re_mars_how.jpg rename to public/images/posts/re_mars_how.jpg diff --git a/images/posts/re_mars_how.jpg_original b/public/images/posts/re_mars_how.jpg_original similarity index 100% rename from images/posts/re_mars_how.jpg_original rename to public/images/posts/re_mars_how.jpg_original diff --git a/images/posts/red-arrows-1.jpg b/public/images/posts/red-arrows-1.jpg similarity index 100% rename from images/posts/red-arrows-1.jpg rename to public/images/posts/red-arrows-1.jpg diff --git a/images/posts/red-arrows-2.jpg b/public/images/posts/red-arrows-2.jpg similarity index 100% rename from images/posts/red-arrows-2.jpg rename to public/images/posts/red-arrows-2.jpg diff --git a/images/posts/stewart_icra_2020.png b/public/images/posts/stewart_icra_2020.png similarity index 100% rename from images/posts/stewart_icra_2020.png rename to public/images/posts/stewart_icra_2020.png diff --git a/images/posts/welcome/draper_car.jpg b/public/images/posts/welcome/draper_car.jpg similarity index 100% rename from images/posts/welcome/draper_car.jpg rename to public/images/posts/welcome/draper_car.jpg diff --git a/images/posts/welcome/global_localization.jpg b/public/images/posts/welcome/global_localization.jpg similarity index 100% rename from images/posts/welcome/global_localization.jpg rename to public/images/posts/welcome/global_localization.jpg diff --git a/images/posts/welcome/jackal.jpg b/public/images/posts/welcome/jackal.jpg similarity index 100% rename from images/posts/welcome/jackal.jpg rename to public/images/posts/welcome/jackal.jpg diff --git a/images/posts/welcome/jackal_figure.jpg b/public/images/posts/welcome/jackal_figure.jpg similarity index 100% rename from images/posts/welcome/jackal_figure.jpg rename to public/images/posts/welcome/jackal_figure.jpg diff --git a/images/posts/welcome/kimera_fleet.jpg b/public/images/posts/welcome/kimera_fleet.jpg similarity index 100% rename from images/posts/welcome/kimera_fleet.jpg rename to public/images/posts/welcome/kimera_fleet.jpg diff --git a/images/posts/welcome/object_matching.jpg b/public/images/posts/welcome/object_matching.jpg similarity index 100% rename from images/posts/welcome/object_matching.jpg rename to public/images/posts/welcome/object_matching.jpg diff --git a/images/posts/welcome/object_tracking.png b/public/images/posts/welcome/object_tracking.png similarity index 100% rename from images/posts/welcome/object_tracking.png rename to public/images/posts/welcome/object_tracking.png diff --git a/images/posts/welcome/old/MITVariablePitchQuad.jpg b/public/images/posts/welcome/old/MITVariablePitchQuad.jpg similarity index 100% rename from images/posts/welcome/old/MITVariablePitchQuad.jpg rename to public/images/posts/welcome/old/MITVariablePitchQuad.jpg diff --git a/images/posts/welcome/old/decposmdp_hardware.png b/public/images/posts/welcome/old/decposmdp_hardware.png similarity index 100% rename from images/posts/welcome/old/decposmdp_hardware.png rename to public/images/posts/welcome/old/decposmdp_hardware.png diff --git a/images/posts/welcome/old/fleet.jpg b/public/images/posts/welcome/old/fleet.jpg similarity index 100% rename from images/posts/welcome/old/fleet.jpg rename to public/images/posts/welcome/old/fleet.jpg diff --git a/images/posts/welcome/old/raven.jpg b/public/images/posts/welcome/old/raven.jpg similarity index 100% rename from images/posts/welcome/old/raven.jpg rename to public/images/posts/welcome/old/raven.jpg diff --git a/images/posts/wired_logo.svg b/public/images/posts/wired_logo.svg similarity index 100% rename from images/posts/wired_logo.svg rename to public/images/posts/wired_logo.svg diff --git a/images/projects/2024_evora.png b/public/images/projects/2024_evora.png similarity index 100% rename from images/projects/2024_evora.png rename to public/images/projects/2024_evora.png diff --git a/images/projects/2025_pietra.png b/public/images/projects/2025_pietra.png similarity index 100% rename from images/projects/2025_pietra.png rename to public/images/projects/2025_pietra.png diff --git a/images/projects/CARV.png b/public/images/projects/CARV.png similarity index 100% rename from images/projects/CARV.png rename to public/images/projects/CARV.png diff --git a/images/projects/aerowake-project-banner.png b/public/images/projects/aerowake-project-banner.png similarity index 100% rename from images/projects/aerowake-project-banner.png rename to public/images/projects/aerowake-project-banner.png diff --git a/images/projects/asymmetric_madrl.jpg b/public/images/projects/asymmetric_madrl.jpg similarity index 100% rename from images/projects/asymmetric_madrl.jpg rename to public/images/projects/asymmetric_madrl.jpg diff --git a/images/projects/automated_battery_management_charger.png b/public/images/projects/automated_battery_management_charger.png similarity index 100% rename from images/projects/automated_battery_management_charger.png rename to public/images/projects/automated_battery_management_charger.png diff --git a/images/projects/autonomous_air_combat.jpg b/public/images/projects/autonomous_air_combat.jpg similarity index 100% rename from images/projects/autonomous_air_combat.jpg rename to public/images/projects/autonomous_air_combat.jpg diff --git a/images/projects/backward_reach_nfls.png b/public/images/projects/backward_reach_nfls.png similarity index 100% rename from images/projects/backward_reach_nfls.png rename to public/images/projects/backward_reach_nfls.png diff --git a/images/projects/carv.gif b/public/images/projects/carv.gif similarity index 100% rename from images/projects/carv.gif rename to public/images/projects/carv.gif diff --git a/images/projects/cbba.png b/public/images/projects/cbba.png similarity index 100% rename from images/projects/cbba.png rename to public/images/projects/cbba.png diff --git a/images/projects/certified_adversarial_robustness.png b/public/images/projects/certified_adversarial_robustness.png similarity index 100% rename from images/projects/certified_adversarial_robustness.png rename to public/images/projects/certified_adversarial_robustness.png diff --git a/images/projects/clipper.png b/public/images/projects/clipper.png similarity index 100% rename from images/projects/clipper.png rename to public/images/projects/clipper.png diff --git a/images/projects/clipper_d435i.png b/public/images/projects/clipper_d435i.png similarity index 100% rename from images/projects/clipper_d435i.png rename to public/images/projects/clipper_d435i.png diff --git a/images/projects/collaborative_slam_exchange_graph.jpeg b/public/images/projects/collaborative_slam_exchange_graph.jpeg similarity index 100% rename from images/projects/collaborative_slam_exchange_graph.jpeg rename to public/images/projects/collaborative_slam_exchange_graph.jpeg diff --git a/images/projects/cooperative_marl.jpg b/public/images/projects/cooperative_marl.jpg similarity index 100% rename from images/projects/cooperative_marl.jpg rename to public/images/projects/cooperative_marl.jpg diff --git a/images/projects/crossmodal.png b/public/images/projects/crossmodal.png similarity index 100% rename from images/projects/crossmodal.png rename to public/images/projects/crossmodal.png diff --git a/images/projects/csat_1.jpg b/public/images/projects/csat_1.jpg similarity index 100% rename from images/projects/csat_1.jpg rename to public/images/projects/csat_1.jpg diff --git a/images/projects/csat_2.jpg b/public/images/projects/csat_2.jpg similarity index 100% rename from images/projects/csat_2.jpg rename to public/images/projects/csat_2.jpg diff --git a/images/projects/cslam_radsearch_architectures.png b/public/images/projects/cslam_radsearch_architectures.png similarity index 100% rename from images/projects/cslam_radsearch_architectures.png rename to public/images/projects/cslam_radsearch_architectures.png diff --git a/images/projects/curee_auv_on_reef.png b/public/images/projects/curee_auv_on_reef.png similarity index 100% rename from images/projects/curee_auv_on_reef.png rename to public/images/projects/curee_auv_on_reef.png diff --git a/images/projects/dc2pgo.png b/public/images/projects/dc2pgo.png similarity index 100% rename from images/projects/dc2pgo.png rename to public/images/projects/dc2pgo.png diff --git a/images/projects/dec_multi.png b/public/images/projects/dec_multi.png similarity index 100% rename from images/projects/dec_multi.png rename to public/images/projects/dec_multi.png diff --git a/images/projects/dec_multi2.png b/public/images/projects/dec_multi2.png similarity index 100% rename from images/projects/dec_multi2.png rename to public/images/projects/dec_multi2.png diff --git a/images/projects/decposmdp_hardware.png b/public/images/projects/decposmdp_hardware.png similarity index 100% rename from images/projects/decposmdp_hardware.png rename to public/images/projects/decposmdp_hardware.png diff --git a/images/projects/decposmdp_overview.png b/public/images/projects/decposmdp_overview.png similarity index 100% rename from images/projects/decposmdp_overview.png rename to public/images/projects/decposmdp_overview.png diff --git a/images/projects/detection_depth_map_3D.png b/public/images/projects/detection_depth_map_3D.png similarity index 100% rename from images/projects/detection_depth_map_3D.png rename to public/images/projects/detection_depth_map_3D.png diff --git a/images/projects/drone_truck.png b/public/images/projects/drone_truck.png similarity index 100% rename from images/projects/drone_truck.png rename to public/images/projects/drone_truck.png diff --git a/images/projects/drone_zed.jpg b/public/images/projects/drone_zed.jpg similarity index 100% rename from images/projects/drone_zed.jpg rename to public/images/projects/drone_zed.jpg diff --git a/images/projects/dvm/distillation_overview.jpg b/public/images/projects/dvm/distillation_overview.jpg similarity index 100% rename from images/projects/dvm/distillation_overview.jpg rename to public/images/projects/dvm/distillation_overview.jpg diff --git a/images/projects/dvm/distillation_overview.png b/public/images/projects/dvm/distillation_overview.png similarity index 100% rename from images/projects/dvm/distillation_overview.png rename to public/images/projects/dvm/distillation_overview.png diff --git a/images/projects/efficient_rtmpc_learning_approach.png b/public/images/projects/efficient_rtmpc_learning_approach.png similarity index 100% rename from images/projects/efficient_rtmpc_learning_approach.png rename to public/images/projects/efficient_rtmpc_learning_approach.png diff --git a/images/projects/efficient_rtmpc_learning_cover_img.png b/public/images/projects/efficient_rtmpc_learning_cover_img.png similarity index 100% rename from images/projects/efficient_rtmpc_learning_cover_img.png rename to public/images/projects/efficient_rtmpc_learning_cover_img.png diff --git a/images/projects/efficient_rtmpc_learning_experiment.jpg b/public/images/projects/efficient_rtmpc_learning_experiment.jpg similarity index 100% rename from images/projects/efficient_rtmpc_learning_experiment.jpg rename to public/images/projects/efficient_rtmpc_learning_experiment.jpg diff --git a/images/projects/efficient_rtmpc_learning_sensorimotor.png b/public/images/projects/efficient_rtmpc_learning_sensorimotor.png similarity index 100% rename from images/projects/efficient_rtmpc_learning_sensorimotor.png rename to public/images/projects/efficient_rtmpc_learning_sensorimotor.png diff --git a/images/projects/flightmare_sensors.png b/public/images/projects/flightmare_sensors.png similarity index 100% rename from images/projects/flightmare_sensors.png rename to public/images/projects/flightmare_sensors.png diff --git a/images/projects/global_loc_obj_map.png b/public/images/projects/global_loc_obj_map.png similarity index 100% rename from images/projects/global_loc_obj_map.png rename to public/images/projects/global_loc_obj_map.png diff --git a/images/projects/gpaw_1.png b/public/images/projects/gpaw_1.png similarity index 100% rename from images/projects/gpaw_1.png rename to public/images/projects/gpaw_1.png diff --git a/images/projects/gpaw_2.png b/public/images/projects/gpaw_2.png similarity index 100% rename from images/projects/gpaw_2.png rename to public/images/projects/gpaw_2.png diff --git a/images/projects/gpaw_3.png b/public/images/projects/gpaw_3.png similarity index 100% rename from images/projects/gpaw_3.png rename to public/images/projects/gpaw_3.png diff --git a/images/projects/graffmatchfig.png b/public/images/projects/graffmatchfig.png similarity index 100% rename from images/projects/graffmatchfig.png rename to public/images/projects/graffmatchfig.png diff --git a/images/projects/graffmatchkitti.png b/public/images/projects/graffmatchkitti.png similarity index 100% rename from images/projects/graffmatchkitti.png rename to public/images/projects/graffmatchkitti.png diff --git a/images/projects/gram_overview.png b/public/images/projects/gram_overview.png similarity index 100% rename from images/projects/gram_overview.png rename to public/images/projects/gram_overview.png diff --git a/images/projects/gram_thumbnail.png b/public/images/projects/gram_thumbnail.png similarity index 100% rename from images/projects/gram_thumbnail.png rename to public/images/projects/gram_thumbnail.png diff --git a/images/projects/guardian_cover.png b/public/images/projects/guardian_cover.png similarity index 100% rename from images/projects/guardian_cover.png rename to public/images/projects/guardian_cover.png diff --git a/images/projects/guardian_trajectory.gif b/public/images/projects/guardian_trajectory.gif similarity index 100% rename from images/projects/guardian_trajectory.gif rename to public/images/projects/guardian_trajectory.gif diff --git a/images/projects/heron_reachability.png b/public/images/projects/heron_reachability.png similarity index 100% rename from images/projects/heron_reachability.png rename to public/images/projects/heron_reachability.png diff --git a/images/projects/heron_reachability_icon.png b/public/images/projects/heron_reachability_icon.png similarity index 100% rename from images/projects/heron_reachability_icon.png rename to public/images/projects/heron_reachability_icon.png diff --git a/images/projects/hex.png b/public/images/projects/hex.png similarity index 100% rename from images/projects/hex.png rename to public/images/projects/hex.png diff --git a/images/projects/highway_threat.jpeg b/public/images/projects/highway_threat.jpeg similarity index 100% rename from images/projects/highway_threat.jpeg rename to public/images/projects/highway_threat.jpeg diff --git a/images/projects/impact_of_sensing_noise_formation_flying.jpg b/public/images/projects/impact_of_sensing_noise_formation_flying.jpg similarity index 100% rename from images/projects/impact_of_sensing_noise_formation_flying.jpg rename to public/images/projects/impact_of_sensing_noise_formation_flying.jpg diff --git a/images/projects/infogathering_hwexp.png b/public/images/projects/infogathering_hwexp.png similarity index 100% rename from images/projects/infogathering_hwexp.png rename to public/images/projects/infogathering_hwexp.png diff --git a/images/projects/infogathering_hwexp_HX19.png b/public/images/projects/infogathering_hwexp_HX19.png similarity index 100% rename from images/projects/infogathering_hwexp_HX19.png rename to public/images/projects/infogathering_hwexp_HX19.png diff --git a/images/projects/infogathering_hwexp_TB02.png b/public/images/projects/infogathering_hwexp_TB02.png similarity index 100% rename from images/projects/infogathering_hwexp_TB02.png rename to public/images/projects/infogathering_hwexp_TB02.png diff --git a/images/projects/information_rich_path_planning_1.jpg b/public/images/projects/information_rich_path_planning_1.jpg similarity index 100% rename from images/projects/information_rich_path_planning_1.jpg rename to public/images/projects/information_rich_path_planning_1.jpg diff --git a/images/projects/information_rich_path_planning_2.jpg b/public/images/projects/information_rich_path_planning_2.jpg similarity index 100% rename from images/projects/information_rich_path_planning_2.jpg rename to public/images/projects/information_rich_path_planning_2.jpg diff --git a/images/projects/information_rich_path_planning_3.jpg b/public/images/projects/information_rich_path_planning_3.jpg similarity index 100% rename from images/projects/information_rich_path_planning_3.jpg rename to public/images/projects/information_rich_path_planning_3.jpg diff --git a/images/projects/information_rich_path_planning_4.jpg b/public/images/projects/information_rich_path_planning_4.jpg similarity index 100% rename from images/projects/information_rich_path_planning_4.jpg rename to public/images/projects/information_rich_path_planning_4.jpg diff --git a/images/projects/information_rich_path_planning_5.jpg b/public/images/projects/information_rich_path_planning_5.jpg similarity index 100% rename from images/projects/information_rich_path_planning_5.jpg rename to public/images/projects/information_rich_path_planning_5.jpg diff --git a/images/projects/jackal.jpg b/public/images/projects/jackal.jpg similarity index 100% rename from images/projects/jackal.jpg rename to public/images/projects/jackal.jpg diff --git a/images/projects/kimera_multi_camp_reconstruction.png b/public/images/projects/kimera_multi_camp_reconstruction.png similarity index 100% rename from images/projects/kimera_multi_camp_reconstruction.png rename to public/images/projects/kimera_multi_camp_reconstruction.png diff --git a/images/projects/lion.jpg b/public/images/projects/lion.jpg similarity index 100% rename from images/projects/lion.jpg rename to public/images/projects/lion.jpg diff --git a/images/projects/mader.png b/public/images/projects/mader.png similarity index 100% rename from images/projects/mader.png rename to public/images/projects/mader.png diff --git a/images/projects/mar_cps_fleet.jpg b/public/images/projects/mar_cps_fleet.jpg similarity index 100% rename from images/projects/mar_cps_fleet.jpg rename to public/images/projects/mar_cps_fleet.jpg diff --git a/images/projects/mfrl.png b/public/images/projects/mfrl.png similarity index 100% rename from images/projects/mfrl.png rename to public/images/projects/mfrl.png diff --git a/images/projects/milp_traj_optimization.jpg b/public/images/projects/milp_traj_optimization.jpg similarity index 100% rename from images/projects/milp_traj_optimization.jpg rename to public/images/projects/milp_traj_optimization.jpg diff --git a/images/projects/minvo.png b/public/images/projects/minvo.png similarity index 100% rename from images/projects/minvo.png rename to public/images/projects/minvo.png diff --git a/images/projects/mobility-on-demand-fleet-app.png b/public/images/projects/mobility-on-demand-fleet-app.png similarity index 100% rename from images/projects/mobility-on-demand-fleet-app.png rename to public/images/projects/mobility-on-demand-fleet-app.png diff --git a/images/projects/multi_uav.jpg b/public/images/projects/multi_uav.jpg similarity index 100% rename from images/projects/multi_uav.jpg rename to public/images/projects/multi_uav.jpg diff --git a/images/projects/multiagent_pplaning.JPG b/public/images/projects/multiagent_pplaning.JPG similarity index 100% rename from images/projects/multiagent_pplaning.JPG rename to public/images/projects/multiagent_pplaning.JPG diff --git a/images/projects/nasa_srtc_flight.png b/public/images/projects/nasa_srtc_flight.png similarity index 100% rename from images/projects/nasa_srtc_flight.png rename to public/images/projects/nasa_srtc_flight.png diff --git a/images/projects/nasa_srtc_merged_map.png b/public/images/projects/nasa_srtc_merged_map.png similarity index 100% rename from images/projects/nasa_srtc_merged_map.png rename to public/images/projects/nasa_srtc_merged_map.png diff --git a/images/projects/newarch_v2.png b/public/images/projects/newarch_v2.png similarity index 100% rename from images/projects/newarch_v2.png rename to public/images/projects/newarch_v2.png diff --git a/images/projects/object_matching.jpg b/public/images/projects/object_matching.jpg similarity index 100% rename from images/projects/object_matching.jpg rename to public/images/projects/object_matching.jpg diff --git a/images/projects/ocean_exploration.jpg b/public/images/projects/ocean_exploration.jpg similarity index 100% rename from images/projects/ocean_exploration.jpg rename to public/images/projects/ocean_exploration.jpg diff --git a/images/projects/panther.png b/public/images/projects/panther.png similarity index 100% rename from images/projects/panther.png rename to public/images/projects/panther.png diff --git a/images/projects/pedestrian_intent_recognition_traffic_results.png b/public/images/projects/pedestrian_intent_recognition_traffic_results.png similarity index 100% rename from images/projects/pedestrian_intent_recognition_traffic_results.png rename to public/images/projects/pedestrian_intent_recognition_traffic_results.png diff --git a/images/projects/planning_comms.png b/public/images/projects/planning_comms.png similarity index 100% rename from images/projects/planning_comms.png rename to public/images/projects/planning_comms.png diff --git a/images/projects/predictive_motion_modeling_dict_atoms.png b/public/images/projects/predictive_motion_modeling_dict_atoms.png similarity index 100% rename from images/projects/predictive_motion_modeling_dict_atoms.png rename to public/images/projects/predictive_motion_modeling_dict_atoms.png diff --git a/images/projects/predictive_motion_modeling_hardware.png b/public/images/projects/predictive_motion_modeling_hardware.png similarity index 100% rename from images/projects/predictive_motion_modeling_hardware.png rename to public/images/projects/predictive_motion_modeling_hardware.png diff --git a/images/projects/puma-pipeline.png b/public/images/projects/puma-pipeline.png similarity index 100% rename from images/projects/puma-pipeline.png rename to public/images/projects/puma-pipeline.png diff --git a/images/projects/puma.png b/public/images/projects/puma.png similarity index 100% rename from images/projects/puma.png rename to public/images/projects/puma.png diff --git a/images/projects/ramp.png b/public/images/projects/ramp.png similarity index 100% rename from images/projects/ramp.png rename to public/images/projects/ramp.png diff --git a/images/projects/real_time_obstacle_avoidance_uavs_comparison.png b/public/images/projects/real_time_obstacle_avoidance_uavs_comparison.png similarity index 100% rename from images/projects/real_time_obstacle_avoidance_uavs_comparison.png rename to public/images/projects/real_time_obstacle_avoidance_uavs_comparison.png diff --git a/images/projects/redbull_aerobatics.jpg b/public/images/projects/redbull_aerobatics.jpg similarity index 100% rename from images/projects/redbull_aerobatics.jpg rename to public/images/projects/redbull_aerobatics.jpg diff --git a/images/projects/rmader-mit-news.png b/public/images/projects/rmader-mit-news.png similarity index 100% rename from images/projects/rmader-mit-news.png rename to public/images/projects/rmader-mit-news.png diff --git a/images/projects/rmader.png b/public/images/projects/rmader.png similarity index 100% rename from images/projects/rmader.png rename to public/images/projects/rmader.png diff --git a/images/projects/safe_rl.jpg b/public/images/projects/safe_rl.jpg similarity index 100% rename from images/projects/safe_rl.jpg rename to public/images/projects/safe_rl.jpg diff --git a/images/projects/sara_husky_in_woods.jpg b/public/images/projects/sara_husky_in_woods.jpg similarity index 100% rename from images/projects/sara_husky_in_woods.jpg rename to public/images/projects/sara_husky_in_woods.jpg diff --git a/images/projects/sara_iros22_architecture.png b/public/images/projects/sara_iros22_architecture.png similarity index 100% rename from images/projects/sara_iros22_architecture.png rename to public/images/projects/sara_iros22_architecture.png diff --git a/images/projects/sara_iros22_unity_and_test_goals.png b/public/images/projects/sara_iros22_unity_and_test_goals.png similarity index 100% rename from images/projects/sara_iros22_unity_and_test_goals.png rename to public/images/projects/sara_iros22_unity_and_test_goals.png diff --git a/images/projects/self_driving_delivery_robot.png b/public/images/projects/self_driving_delivery_robot.png similarity index 100% rename from images/projects/self_driving_delivery_robot.png rename to public/images/projects/self_driving_delivery_robot.png diff --git a/images/projects/similar_dictionary_ames_vass.png b/public/images/projects/similar_dictionary_ames_vass.png similarity index 100% rename from images/projects/similar_dictionary_ames_vass.png rename to public/images/projects/similar_dictionary_ames_vass.png diff --git a/images/projects/spheres.jpg b/public/images/projects/spheres.jpg similarity index 100% rename from images/projects/spheres.jpg rename to public/images/projects/spheres.jpg diff --git a/images/projects/star_hallway.png b/public/images/projects/star_hallway.png similarity index 100% rename from images/projects/star_hallway.png rename to public/images/projects/star_hallway.png diff --git a/images/projects/star_robot.jpg b/public/images/projects/star_robot.jpg similarity index 100% rename from images/projects/star_robot.jpg rename to public/images/projects/star_robot.jpg diff --git a/images/projects/traj_optim_active_sensing.jpg b/public/images/projects/traj_optim_active_sensing.jpg similarity index 100% rename from images/projects/traj_optim_active_sensing.jpg rename to public/images/projects/traj_optim_active_sensing.jpg diff --git a/images/projects/transferable_ped_pred.jpg b/public/images/projects/transferable_ped_pred.jpg similarity index 100% rename from images/projects/transferable_ped_pred.jpg rename to public/images/projects/transferable_ped_pred.jpg diff --git a/images/projects/trunc_bp.png b/public/images/projects/trunc_bp.png similarity index 100% rename from images/projects/trunc_bp.png rename to public/images/projects/trunc_bp.png diff --git a/images/projects/uav_planning_drone.jpg b/public/images/projects/uav_planning_drone.jpg similarity index 100% rename from images/projects/uav_planning_drone.jpg rename to public/images/projects/uav_planning_drone.jpg diff --git a/images/projects/uberquad1.jpeg b/public/images/projects/uberquad1.jpeg similarity index 100% rename from images/projects/uberquad1.jpeg rename to public/images/projects/uberquad1.jpeg diff --git a/images/projects/uncertain_motion_planning.png b/public/images/projects/uncertain_motion_planning.png similarity index 100% rename from images/projects/uncertain_motion_planning.png rename to public/images/projects/uncertain_motion_planning.png diff --git a/images/social.jpg b/public/images/social.jpg similarity index 100% rename from images/social.jpg rename to public/images/social.jpg diff --git a/js/index-min-original.js b/public/js/index-min-original.js similarity index 100% rename from js/index-min-original.js rename to public/js/index-min-original.js diff --git a/js/index-min.js b/public/js/index-min.js similarity index 100% rename from js/index-min.js rename to public/js/index-min.js diff --git a/js/index.js b/public/js/index.js similarity index 100% rename from js/index.js rename to public/js/index.js diff --git a/js/plugins/debounce.js b/public/js/plugins/debounce.js similarity index 100% rename from js/plugins/debounce.js rename to public/js/plugins/debounce.js diff --git a/js/plugins/flowtype.js b/public/js/plugins/flowtype.js similarity index 100% rename from js/plugins/flowtype.js rename to public/js/plugins/flowtype.js diff --git a/js/plugins/fluidbox.js b/public/js/plugins/fluidbox.js similarity index 100% rename from js/plugins/fluidbox.js rename to public/js/plugins/fluidbox.js diff --git a/js/plugins/history.js b/public/js/plugins/history.js similarity index 100% rename from js/plugins/history.js rename to public/js/plugins/history.js diff --git a/js/plugins/imagesloaded.js b/public/js/plugins/imagesloaded.js similarity index 100% rename from js/plugins/imagesloaded.js rename to public/js/plugins/imagesloaded.js diff --git a/js/plugins/masonry.js b/public/js/plugins/masonry.js similarity index 100% rename from js/plugins/masonry.js rename to public/js/plugins/masonry.js diff --git a/js/plugins/owl.js b/public/js/plugins/owl.js similarity index 100% rename from js/plugins/owl.js rename to public/js/plugins/owl.js diff --git a/js/plugins/waypoints.js b/public/js/plugins/waypoints.js similarity index 100% rename from js/plugins/waypoints.js rename to public/js/plugins/waypoints.js diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..cf4d3dd --- /dev/null +++ b/public/robots.txt @@ -0,0 +1 @@ +Sitemap: https://acl.mit.edu/sitemap.xml diff --git a/serve.sh b/serve.sh new file mode 100755 index 0000000..224a4c9 --- /dev/null +++ b/serve.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +# +# One command to work on the ACL website locally. No Node needed on your host — +# everything runs inside Docker. +# +# ./serve.sh Start the live dev server at http://localhost:4321 +# (edit any Markdown/component and the browser reloads). +# +# ./serve.sh build Build the static production site into ./dist +# (what you'd deploy — nothing is deployed automatically). +# +# ./serve.sh preview Build, then serve the production output at :4321 +# to preview exactly what would ship. +# +# ./serve.sh stop Stop and remove the dev container. +# +set -euo pipefail +cd "$(dirname "$0")" + +cmd="${1:-dev}" + +# Production builds run on a copy of the project inside the container: Astro +# deletes and recreates directories under dist/ as it builds, which fails +# intermittently (ENOENT) on Docker Desktop's bind mounts. +IN_CONTAINER_COPY="mkdir -p /tmp/site && tar -C /app -cf - --exclude=./dist --exclude=./.astro \\ + --exclude=./.git --exclude=./_site --exclude=./node_modules . | tar -C /tmp/site -xf - \\ + && ln -s /app/node_modules /tmp/site/node_modules && cd /tmp/site" + +case "$cmd" in + dev|"") + echo "==> Starting ACL website dev server..." + echo "==> Open http://localhost:4321 (Ctrl-C to stop)" + docker compose up --build + ;; + build) + echo "==> Building static site into ./dist ..." + rm -rf dist + docker compose run --rm --no-deps web sh -c "$IN_CONTAINER_COPY && npm run build && cp -R dist /app/dist" + echo "==> Done. Static site is in ./dist" + ;; + preview) + echo "==> Building, then previewing production output at http://localhost:4321" + docker compose run --rm --service-ports --no-deps web sh -c "$IN_CONTAINER_COPY && npm run build && npm run preview" + ;; + stop) + docker compose down + ;; + *) + echo "Usage: ./serve.sh [dev|build|preview|stop]" >&2 + exit 1 + ;; +esac diff --git a/src/components/BibEntry.astro b/src/components/BibEntry.astro new file mode 100644 index 0000000..8b94dc3 --- /dev/null +++ b/src/components/BibEntry.astro @@ -0,0 +1,20 @@ +--- +// One publication: the formatted citation, a [PDF] link if the entry has a +// `url`, and a [BibTeX] toggle (toggleInfo() lives in public/js/index-min.js). +import type { Publication } from '../lib/bibtex'; +import { formatCitation } from '../lib/citations'; + +interface Props { + pub: Publication; +} + +const { pub } = Astro.props; +const url = pub.fields.url; +--- + +
  • + + {url && [PDF]} + [BibTeX] +
    {pub.raw}
    +
  • diff --git a/src/components/Footer.astro b/src/components/Footer.astro new file mode 100644 index 0000000..1430f7a --- /dev/null +++ b/src/components/Footer.astro @@ -0,0 +1,25 @@ +--- +import { site } from '../data/site'; +import Socials from './Socials.astro'; + +const { header } = site; +const year = new Date().getFullYear(); +--- + + diff --git a/src/components/Header.astro b/src/components/Header.astro new file mode 100644 index 0000000..2a61e0c --- /dev/null +++ b/src/components/Header.astro @@ -0,0 +1,67 @@ +--- +import { site } from '../data/site'; +import Socials from './Socials.astro'; + +const { header } = site; +const year = new Date().getFullYear(); +--- + +
    +
    + + +

    {site.title}

    + + + +
    + +
    + +
    + + + + + + + + + +
    +
    +
    diff --git a/src/components/Home.astro b/src/components/Home.astro new file mode 100644 index 0000000..8256aa8 --- /dev/null +++ b/src/components/Home.astro @@ -0,0 +1,113 @@ +--- +// The home page (and its older-news pages /page2/, /page3/, ...): pinned posts +// on the first page, then the news posts for page `page`. +import { getCollection, render } from 'astro:content'; +import Default from '../layouts/Default.astro'; +import { getNewsPages, longDate, newsPagePath } from '../lib/news'; + +interface Props { + page: number; +} + +const { page } = Astro.props; +const newsPages = await getNewsPages(); +const pinned = page === 1 ? (await getCollection('pinned')).sort((a, b) => a.id.localeCompare(b.id)) : []; +const pinnedRendered = await Promise.all(pinned.map(async (p) => ({ post: p, Content: (await render(p)).Content }))); +const posts = await Promise.all( + newsPages[page - 1].map(async (p) => ({ post: p, Content: (await render(p)).Content })), +); +const prev = page > 1 ? newsPagePath(page - 1) : null; +const next = page < newsPages.length ? newsPagePath(page + 1) : null; +--- + + +
    +
    + { + page === 1 && ( + + {pinnedRendered.map(({ post, Content }) => ( + <> + + + + + + + + ))} +
    +

    {post.data.title}

    + {post.data.date && ( + + )} +
    + +
    + ) + } +

    Recent News

    + + + + +
    + + { + posts.map(({ post, Content }) => ( + <> + + + + + {post.data.featured_image ? ( + <> + + + + ) : ( + + )} + + + )) + } +
    +

    {post.data.title}

    + +
    + + + + + +
    +
    +
    +
    + + { + (prev || next) && ( +
    + {prev && ( +